diff --git a/dist/bulma-carousel.js b/dist/bulma-carousel.js index 9500727..698077a 100644 --- a/dist/bulma-carousel.js +++ b/dist/bulma-carousel.js @@ -30,6 +30,18 @@ class Carousel { this.previousControl = this.element.querySelector('.carousel-nav-left'); this.nextControl = this.element.querySelector('.carousel-nav-right'); + if (this.items.length <= 1) { + const carouselContainer = this.element.querySelector('.carousel-container'); + if (carouselContainer) { + carouselContainer.style.left = '0'; + } + if (this.previousControl) { + this.previousControl.style.display = 'none'; + } + if (this.nextControl) { + this.nextControl.style.display = 'none'; + } + } this._bindEvents(); this._initOrder(); @@ -89,6 +101,10 @@ class Carousel { */ _initOrder() { const currentActiveItem = this.element.querySelector('.carousel-item.is-active'); + if (!currentActiveItem) { + this.items[0].classList.add('is-active'); + currentActiveItem = this.items[0]; + } const currentActiveItemPos = this.items.indexOf(currentActiveItem); if (currentActiveItemPos) { this.items.push(this.items.splice(0, currentActiveItemPos)); diff --git a/dist/bulma-carousel.min.js b/dist/bulma-carousel.min.js index 9afac4a..ed1e5cd 100644 --- a/dist/bulma-carousel.min.js +++ b/dist/bulma-carousel.min.js @@ -1,2 +1,2 @@ -var bulmaCarousel=function(){'use strict';class a{constructor(a){if(this._clickEvent='ontouchstart'in window?'touchstart':'click',this.element='string'==typeof a?document.querySelector(a):a,!this.element)throw new Error('An invalid selector or non-DOM node has been provided.');this.init()}init(){this.items=Array.from(this.element.querySelectorAll('.carousel-item')),this.items.forEach((a)=>{let b=a.querySelector('img');b.setAttribute('draggable',!1)}),this.computedStyle=window.getComputedStyle(this.element),this.previousControl=this.element.querySelector('.carousel-nav-left'),this.nextControl=this.element.querySelector('.carousel-nav-right'),this._bindEvents(),this._initOrder(),this.element.dataset.autoplay&&'true'==this.element.dataset.autoplay&&this._autoPlay(this.element.dataset.delay||5e3)}_bindEvents(){this.previousControl&&this.previousControl.addEventListener(this._clickEvent,(a)=>{a.preventDefault(),this._slide('previous'),this._autoPlayInterval&&(clearInterval(this._autoPlayInterval),this._autoPlay(this.element.dataset.delay||5e3))},!1),this.nextControl&&this.nextControl.addEventListener(this._clickEvent,(a)=>{a.preventDefault(),this._slide('next'),this._autoPlayInterval&&(clearInterval(this._autoPlayInterval),this._autoPlay(this.element.dataset.delay||5e3))},!1),this.element.addEventListener('touchstart',(a)=>{this._swipeStart(a)}),this.element.addEventListener('mousedown',(a)=>{this._swipeStart(a)}),this.element.addEventListener('touchend',(a)=>{this._swipeEnd(a)}),this.element.addEventListener('mouseup',(a)=>{this._swipeEnd(a)})}_initOrder(){const a=this.element.querySelector('.carousel-item.is-active'),b=this.items.indexOf(a);b?this.items.push(this.items.splice(0,b)):this.items.unshift(this.items.pop()),this._setOrder()}_setOrder(){this.items.forEach((a,b)=>{a.style['z-index']=1===b?'1':'0',a.style.order=b})}_swipeStart(a){this._touch={start:{x:a.clientX,y:a.clientY},end:{x:a.clientX,y:a.clientY}}}_swipeEnd(a){this._touch.end={x:a.clientX,y:a.clientY},this._handleGesture()}_handleGesture(){const a={horizontal:(this._touch.end.x-this._touch.start.x)/parseInt(this.computedStyle.getPropertyValue('width')),vertical:(this._touch.end.y-this._touch.start.y)/parseInt(this.computedStyle.getPropertyValue('height'))};a.horizontal>a.vertical&&.25a.horizontal&&this._slide('next')}_slide(a='next'){if(this.items.length){const b=this.element.querySelector('.carousel-item.is-active');let c;b.classList.remove('is-active'),'previous'===a?(this.items.unshift(this.items.pop()),this.element.classList.add('is-reversing')):(this.items.push(this.items.shift()),this.element.classList.remove('is-reversing')),c=1<=this.items.length?this.items[1]:this.items[0],c.classList.add('is-active'),this._setOrder(),this.element.classList.toggle('carousel-animated'),setTimeout(()=>{this.element.classList.toggle('carousel-animated')},50)}}_autoPlay(a=5e3){this._autoPlayInterval=setInterval(()=>{this._slide('next')},a)}}return document.addEventListener('DOMContentLoaded',function(){var b=document.querySelectorAll('.carousel, .hero-carousel');[].forEach.call(b,function(b){new a(b)})}),a}(); -//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFBUSxXQUFFLENBQzVDLEFBQUksQUFBUSxBQUFDLEFBQVEsQUFBQyxBQUFDLFFBQ3hCLEFBQUMsQUFBQyxFQUNKLEFBQUMsQUFBQyIsImZpbGUiOiJidWxtYS1jYXJvdXNlbC5taW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBjbGFzcyBDYXJvdXNlbCB7XHJcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IpIHtcclxuICAgIC8vIERldGVybWluZSBjbGljayBldmVudCBkZXBlbmRpbmcgb24gaWYgd2UgYXJlIG9uIFRvdWNoIGRldmljZSBvciBub3RcclxuICAgIHRoaXMuX2NsaWNrRXZlbnQgPSAoJ29udG91Y2hzdGFydCcgaW4gd2luZG93KSA/ICd0b3VjaHN0YXJ0JyA6ICdjbGljayc7XHJcblxyXG4gICAgdGhpcy5lbGVtZW50ID0gdHlwZW9mIHNlbGVjdG9yID09PSAnc3RyaW5nJyA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIDogc2VsZWN0b3I7XHJcbiAgICAvLyBBbiBpbnZhbGlkIHNlbGVjdG9yIG9yIG5vbi1ET00gbm9kZSBoYXMgYmVlbiBwcm92aWRlZC5cclxuICAgIGlmICghdGhpcy5lbGVtZW50KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW4gaW52YWxpZCBzZWxlY3RvciBvciBub24tRE9NIG5vZGUgaGFzIGJlZW4gcHJvdmlkZWQuJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWF0ZSBwbHVnaW5cclxuICAgKiBAbWV0aG9kIGluaXRcclxuICAgKiBAcmV0dXJuIHt2b2lkfVxyXG4gICAqL1xyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLml0ZW1zID0gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNhcm91c2VsLWl0ZW0nKSk7XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IGltZyA9IGl0ZW0ucXVlcnlTZWxlY3RvcignaW1nJyk7XHJcbiAgICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2RyYWdnYWJsZScsIGZhbHNlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnByZXZpb3VzQ29udHJvbCA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtbmF2LWxlZnQnKTtcclxuICAgIHRoaXMubmV4dENvbnRyb2wgPSB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNhcm91c2VsLW5hdi1yaWdodCcpO1xyXG5cclxuICAgIHRoaXMuX2JpbmRFdmVudHMoKTtcclxuICAgIHRoaXMuX2luaXRPcmRlcigpO1xyXG5cclxuICAgIGlmICh0aGlzLmVsZW1lbnQuZGF0YXNldC5hdXRvcGxheSAmJiB0aGlzLmVsZW1lbnQuZGF0YXNldC5hdXRvcGxheSA9PSAndHJ1ZScpIHtcclxuICAgICAgdGhpcy5fYXV0b1BsYXkodGhpcy5lbGVtZW50LmRhdGFzZXQuZGVsYXkgfHwgNTAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kIGFsbCBldmVudHNcclxuICAgKiBAbWV0aG9kIF9iaW5kRXZlbnRzXHJcbiAgICogQHJldHVybiB7dm9pZH1cclxuICAgKi9cclxuICBfYmluZEV2ZW50cygpIHtcclxuICAgIGlmICh0aGlzLnByZXZpb3VzQ29udHJvbCkge1xyXG4gICAgICB0aGlzLnByZXZpb3VzQ29udHJvbC5hZGRFdmVudExpc3RlbmVyKHRoaXMuX2NsaWNrRXZlbnQsIChlKSA9PiB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuX3NsaWRlKCdwcmV2aW91cycpO1xyXG4gICAgICAgIGlmICh0aGlzLl9hdXRvUGxheUludGVydmFsKSB7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuX2F1dG9QbGF5SW50ZXJ2YWwpO1xyXG4gICAgICAgICAgdGhpcy5fYXV0b1BsYXkodGhpcy5lbGVtZW50LmRhdGFzZXQuZGVsYXkgfHwgNTAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5uZXh0Q29udHJvbCkge1xyXG4gICAgICB0aGlzLm5leHRDb250cm9sLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5fY2xpY2tFdmVudCwgKGUpID0+IHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5fc2xpZGUoJ25leHQnKTtcclxuICAgICAgICBpZiAodGhpcy5fYXV0b1BsYXlJbnRlcnZhbCkge1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9hdXRvUGxheUludGVydmFsKTtcclxuICAgICAgICAgIHRoaXMuX2F1dG9QbGF5KHRoaXMuZWxlbWVudC5kYXRhc2V0LmRlbGF5IHx8IDUwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJpbmQgc3dpcGUgZXZlbnRzXHJcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuX3N3aXBlU3RhcnQoZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAoZSkgPT4ge1xyXG4gICAgICB0aGlzLl9zd2lwZVN0YXJ0KGUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5fc3dpcGVFbmQoZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5fc3dpcGVFbmQoZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYXRlIHNsaWRlcyBvcmRlclxyXG4gICAqIEBtZXRob2QgX2luaXRPcmRlclxyXG4gICAqIEByZXR1cm4ge3ZvaWR9XHJcbiAgICovXHJcbiAgX2luaXRPcmRlcigpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRBY3RpdmVJdGVtID0gdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jYXJvdXNlbC1pdGVtLmlzLWFjdGl2ZScpO1xyXG4gICAgY29uc3QgY3VycmVudEFjdGl2ZUl0ZW1Qb3MgPSB0aGlzLml0ZW1zLmluZGV4T2YoY3VycmVudEFjdGl2ZUl0ZW0pO1xyXG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5pdGVtcy5sZW5ndGg7XHJcblxyXG4gICAgaWYgKGN1cnJlbnRBY3RpdmVJdGVtUG9zKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMucHVzaCh0aGlzLml0ZW1zLnNwbGljZSgwLCBjdXJyZW50QWN0aXZlSXRlbVBvcykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pdGVtcy51bnNoaWZ0KHRoaXMuaXRlbXMucG9wKCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc2V0T3JkZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBlYWNoIHNsaWRlIG9yZGVyXHJcbiAgICogQG1ldGhvZCBfc2V0T3JkZXJcclxuICAgKi9cclxuICBfc2V0T3JkZXIoKSB7XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmIChpbmRleCAhPT0gMSkge1xyXG4gICAgICAgIGl0ZW0uc3R5bGVbJ3otaW5kZXgnXSA9ICcwJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdGVtLnN0eWxlWyd6LWluZGV4J10gPSAnMSc7XHJcbiAgICAgIH1cclxuICAgICAgaXRlbS5zdHlsZS5vcmRlciA9IGluZGV4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTYXZlIGN1cnJlbnQgcG9zaXRpb24gb24gc3RhcnQgc3dpcGluZ1xyXG4gICAqIEBtZXRob2QgX3N3aXBlU3RhcnRcclxuICAgKiBAcGFyYW0gIHtFdmVudH0gICAgZSBTd2lwZSBldmVudFxyXG4gICAqIEByZXR1cm4ge3ZvaWR9XHJcbiAgICovXHJcbiAgX3N3aXBlU3RhcnQoZSkge1xyXG4gICAgdGhpcy5fdG91Y2ggPSB7XHJcbiAgICAgIHN0YXJ0OiB7XHJcbiAgICAgICAgeDogZS5jbGllbnRYLFxyXG4gICAgICAgIHk6IGUuY2xpZW50WVxyXG4gICAgICB9LFxyXG4gICAgICBlbmQ6IHtcclxuICAgICAgICB4OiBlLmNsaWVudFgsXHJcbiAgICAgICAgeTogZS5jbGllbnRZXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhdmUgY3VycmVudCBwb3NpdGlvbiBvbiBlbmQgc3dpcGluZ1xyXG4gICAqIEBtZXRob2QgX3N3aXBlRW5kXHJcbiAgICogQHBhcmFtICB7RXZlbnR9ICBlIHN3aXBlIGV2ZW50XHJcbiAgICogQHJldHVybiB7dm9pZH1cclxuICAgKi9cclxuICBfc3dpcGVFbmQoZSkge1xyXG4gICAgdGhpcy5fdG91Y2guZW5kID0ge1xyXG4gICAgICB4OiBlLmNsaWVudFgsXHJcbiAgICAgIHk6IGUuY2xpZW50WVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2hhbmRsZUdlc3R1cmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElkZW50aWZ5IHRoZSBnZXN0dXJlYW5kIHNsaWRlIGlmIG5lY2Vzc2FyeVxyXG4gICAqIEBtZXRob2QgX2hhbmRsZUdlc3R1cmVcclxuICAgKiBAcmV0dXJuIHt2b2lkfVxyXG4gICAqL1xyXG4gIF9oYW5kbGVHZXN0dXJlKCkge1xyXG4gICAgY29uc3QgcmF0aW8gPSB7XHJcbiAgICAgIGhvcml6b250YWw6ICh0aGlzLl90b3VjaC5lbmQueCAtIHRoaXMuX3RvdWNoLnN0YXJ0LngpIC8gcGFyc2VJbnQodGhpcy5jb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3dpZHRoJykpLFxyXG4gICAgICB2ZXJ0aWNhbDogKHRoaXMuX3RvdWNoLmVuZC55IC0gdGhpcy5fdG91Y2guc3RhcnQueSkgLyBwYXJzZUludCh0aGlzLmNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnaGVpZ2h0JykpXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChyYXRpby5ob3Jpem9udGFsID4gcmF0aW8udmVydGljYWwgJiYgcmF0aW8uaG9yaXpvbnRhbCA+IDAuMjUpIHtcclxuICAgICAgdGhpcy5fc2xpZGUoJ3ByZXZpb3VzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJhdGlvLmhvcml6b250YWwgPCByYXRpby52ZXJ0aWNhbCAmJiByYXRpby5ob3Jpem9udGFsIDwgLTAuMjUpIHtcclxuICAgICAgdGhpcy5fc2xpZGUoJ25leHQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBzbGlkZXMgdG8gZGlzcGxheSB0aGUgd2FudGVkIG9uZVxyXG4gICAqIEBtZXRob2QgX3NsaWRlXHJcbiAgICogQHBhcmFtICB7U3RyaW5nfSBbZGlyZWN0aW9uPSduZXh0J10gRGlyZWN0aW9uIGluIHdoaWNoIHNsaWRlIG5lZWRzIHRvIG1vdmVcclxuICAgKiBAcmV0dXJuIHt2b2lkfVxyXG4gICAqL1xyXG4gIF9zbGlkZShkaXJlY3Rpb24gPSAnbmV4dCcpIHtcclxuICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBjdXJyZW50QWN0aXZlSXRlbSA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtaXRlbS5pcy1hY3RpdmUnKTtcclxuICAgICAgbGV0IG5ld0FjdGl2ZUl0ZW07XHJcblxyXG4gICAgICBjdXJyZW50QWN0aXZlSXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdpcy1hY3RpdmUnKTtcclxuXHJcbiAgICAgIC8vIGluaXRpYWxpemUgZGlyZWN0aW9uIHRvIGNoYW5nZSBvcmRlclxyXG4gICAgICBpZiAoZGlyZWN0aW9uID09PSAncHJldmlvdXMnKSB7XHJcbiAgICAgICAgLy8gUmVvcmRlciBpdGVtc1xyXG4gICAgICAgIHRoaXMuaXRlbXMudW5zaGlmdCh0aGlzLml0ZW1zLnBvcCgpKTtcclxuICAgICAgICAvLyBhZGQgcmV2ZXJzZSBjbGFzc1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdpcy1yZXZlcnNpbmcnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBSZW9yZGVyIGl0ZW1zXHJcbiAgICAgICAgdGhpcy5pdGVtcy5wdXNoKHRoaXMuaXRlbXMuc2hpZnQoKSk7XHJcbiAgICAgICAgLy8gcmVfc2xpZGUgcmV2ZXJzZSBjbGFzc1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1yZXZlcnNpbmcnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoID49IDEpIHtcclxuICAgICAgICBuZXdBY3RpdmVJdGVtID0gdGhpcy5pdGVtc1sxXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdBY3RpdmVJdGVtID0gdGhpcy5pdGVtc1swXTtcclxuICAgICAgfVxyXG4gICAgICBuZXdBY3RpdmVJdGVtLmNsYXNzTGlzdC5hZGQoJ2lzLWFjdGl2ZScpO1xyXG4gICAgICB0aGlzLl9zZXRPcmRlcigpO1xyXG5cclxuICAgICAgLy8gRGlzYWJsZSB0cmFuc2l0aW9uIHRvIGluc3RhbnQgY2hhbmdlIG9yZGVyXHJcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCdjYXJvdXNlbC1hbmltYXRlZCcpO1xyXG4gICAgICAvLyBFbmFibGUgdHJhbnNpdGlvbiB0byBhbmltYXRlIG9yZGVyIDEgdG8gb3JkZXIgMlxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnY2Fyb3VzZWwtYW5pbWF0ZWQnKTtcclxuICAgICAgfSwgNTApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhdGUgYXV0b3BsYXkgc3lzdGVtXHJcbiAgICogQG1ldGhvZCBfYXV0b1BsYXlcclxuICAgKiBAcGFyYW0gIHtOdW1iZXJ9ICBbZGVsYXk9NTAwMF0gRGVsYXkgYmV0d2VlbiBzbGlkZXMgaW4gbWlsbGlzZWNvbmRzXHJcbiAgICogQHJldHVybiB7dm9pZH1cclxuICAgKi9cclxuICBfYXV0b1BsYXkoZGVsYXkgPSA1MDAwKSB7XHJcbiAgICB0aGlzLl9hdXRvUGxheUludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9zbGlkZSgnbmV4dCcpO1xyXG4gICAgfSwgZGVsYXkpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEluaXRpYXRlIGFsbCBET00gZWxlbWVudCBjb250YWluaW5nIGNhcm91c2VsIGNsYXNzXHJcbiAqIEBtZXRob2RcclxuICogQHJldHVybiB7W3R5cGVdfSBbZGVzY3JpcHRpb25dXHJcbiAqL1xyXG5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7XHJcbiAgdmFyIGNhcm91c2VscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJvdXNlbCwgLmhlcm8tY2Fyb3VzZWwnKTtcclxuICBbXS5mb3JFYWNoLmNhbGwoY2Fyb3VzZWxzLCBmdW5jdGlvbihjYXJvdXNlbCkge1xyXG4gICAgbmV3IENhcm91c2VsKGNhcm91c2VsKTtcclxuICB9KTtcclxufSk7XHJcbiJdfQ== +var bulmaCarousel=function(){'use strict';class a{constructor(a){if(this._clickEvent='ontouchstart'in window?'touchstart':'click',this.element='string'==typeof a?document.querySelector(a):a,!this.element)throw new Error('An invalid selector or non-DOM node has been provided.');this.init()}init(){if(this.items=Array.from(this.element.querySelectorAll('.carousel-item')),this.items.forEach((a)=>{let b=a.querySelector('img');b.setAttribute('draggable',!1)}),this.computedStyle=window.getComputedStyle(this.element),this.previousControl=this.element.querySelector('.carousel-nav-left'),this.nextControl=this.element.querySelector('.carousel-nav-right'),1>=this.items.length){const a=this.element.querySelector('.carousel-container');a&&(a.style.left='0'),this.previousControl&&(this.previousControl.style.display='none'),this.nextControl&&(this.nextControl.style.display='none')}this._bindEvents(),this._initOrder(),this.element.dataset.autoplay&&'true'==this.element.dataset.autoplay&&this._autoPlay(this.element.dataset.delay||5e3)}_bindEvents(){this.previousControl&&this.previousControl.addEventListener(this._clickEvent,(a)=>{a.preventDefault(),this._slide('previous'),this._autoPlayInterval&&(clearInterval(this._autoPlayInterval),this._autoPlay(this.element.dataset.delay||5e3))},!1),this.nextControl&&this.nextControl.addEventListener(this._clickEvent,(a)=>{a.preventDefault(),this._slide('next'),this._autoPlayInterval&&(clearInterval(this._autoPlayInterval),this._autoPlay(this.element.dataset.delay||5e3))},!1),this.element.addEventListener('touchstart',(a)=>{this._swipeStart(a)}),this.element.addEventListener('mousedown',(a)=>{this._swipeStart(a)}),this.element.addEventListener('touchend',(a)=>{this._swipeEnd(a)}),this.element.addEventListener('mouseup',(a)=>{this._swipeEnd(a)})}_initOrder(){const a=this.element.querySelector('.carousel-item.is-active');a||(this.items[0].classList.add('is-active'),a=this.items[0]);const b=this.items.indexOf(a);b?this.items.push(this.items.splice(0,b)):this.items.unshift(this.items.pop()),this._setOrder()}_setOrder(){this.items.forEach((a,b)=>{a.style['z-index']=1===b?'1':'0',a.style.order=b})}_swipeStart(a){this._touch={start:{x:a.clientX,y:a.clientY},end:{x:a.clientX,y:a.clientY}}}_swipeEnd(a){this._touch.end={x:a.clientX,y:a.clientY},this._handleGesture()}_handleGesture(){const a={horizontal:(this._touch.end.x-this._touch.start.x)/parseInt(this.computedStyle.getPropertyValue('width')),vertical:(this._touch.end.y-this._touch.start.y)/parseInt(this.computedStyle.getPropertyValue('height'))};a.horizontal>a.vertical&&.25a.horizontal&&this._slide('next')}_slide(a='next'){if(this.items.length){const b=this.element.querySelector('.carousel-item.is-active');let c;b.classList.remove('is-active'),'previous'===a?(this.items.unshift(this.items.pop()),this.element.classList.add('is-reversing')):(this.items.push(this.items.shift()),this.element.classList.remove('is-reversing')),c=1<=this.items.length?this.items[1]:this.items[0],c.classList.add('is-active'),this._setOrder(),this.element.classList.toggle('carousel-animated'),setTimeout(()=>{this.element.classList.toggle('carousel-animated')},50)}}_autoPlay(a=5e3){this._autoPlayInterval=setInterval(()=>{this._slide('next')},a)}}return document.addEventListener('DOMContentLoaded',function(){var b=document.querySelectorAll('.carousel, .hero-carousel');[].forEach.call(b,function(b){new a(b)})}),a}(); +//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUcsSUFBQyxBQUFXLEFBQUMsQUFBQyxhQUN6QyxBQUFJLEtBQUMsQUFBUyxBQUFFLEFBQUMsWUFHakIsQUFBSSxLQUFDLEFBQU8sUUFBQyxBQUFTLFVBQUMsQUFBTSxPQUFDLEFBQW1CLEFBQUMsQUFBQyxxQkFFbkQsQUFBVSxXQUFDLElBQU0sQ0FDZixBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQVMsVUFBQyxBQUFNLE9BQUMsQUFBbUIsQUFBQyxBQUFDLG9CQUNwRCxFQUFFLEFBQUUsQUFBQyxBQUFDLEdBQ1IsQ0FDRixDQVFELEFBQVMsVUFBQyxBQUFLLEVBQUcsQUFBSSxJQUFFLENBQ3RCLEFBQUksS0FBQyxBQUFpQixrQkFBRyxBQUFXLFlBQUMsSUFBTSxDQUN6QyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQU0sQUFBQyxBQUFDLE9BQ3JCLEFBQUUsQUFBSyxBQUFDLEFBQUMsSUFDWCxBQUNGLFFBT0QsQUFBUSxVQUFDLEFBQWdCLGlCQUFDLEFBQWtCLG1CQUFFLFVBQVcsQ0FDdkQsR0FBSSxBQUFTLEdBQUcsQUFBUSxTQUFDLEFBQWdCLGlCQUFDLEFBQTJCLEFBQUMsQUFBQyw2QkFDdkUsQUFBRSxHQUFDLEFBQU8sUUFBQyxBQUFJLEFBQUMsQUFBUyxPQUFFLEFBQVMsQUFBUSxXQUFFLENBQzVDLEFBQUksQUFBUSxBQUFDLEFBQVEsQUFBQyxBQUFDLFFBQ3hCLEFBQUMsQUFBQyxFQUNKLEFBQUMsQUFBQyIsImZpbGUiOiJidWxtYS1jYXJvdXNlbC5taW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBjbGFzcyBDYXJvdXNlbCB7XHJcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IpIHtcclxuICAgIC8vIERldGVybWluZSBjbGljayBldmVudCBkZXBlbmRpbmcgb24gaWYgd2UgYXJlIG9uIFRvdWNoIGRldmljZSBvciBub3RcclxuICAgIHRoaXMuX2NsaWNrRXZlbnQgPSAoJ29udG91Y2hzdGFydCcgaW4gd2luZG93KSA/ICd0b3VjaHN0YXJ0JyA6ICdjbGljayc7XHJcblxyXG4gICAgdGhpcy5lbGVtZW50ID0gdHlwZW9mIHNlbGVjdG9yID09PSAnc3RyaW5nJyA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIDogc2VsZWN0b3I7XHJcbiAgICAvLyBBbiBpbnZhbGlkIHNlbGVjdG9yIG9yIG5vbi1ET00gbm9kZSBoYXMgYmVlbiBwcm92aWRlZC5cclxuICAgIGlmICghdGhpcy5lbGVtZW50KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW4gaW52YWxpZCBzZWxlY3RvciBvciBub24tRE9NIG5vZGUgaGFzIGJlZW4gcHJvdmlkZWQuJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWF0ZSBwbHVnaW5cclxuICAgKiBAbWV0aG9kIGluaXRcclxuICAgKiBAcmV0dXJuIHt2b2lkfVxyXG4gICAqL1xyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLml0ZW1zID0gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNhcm91c2VsLWl0ZW0nKSk7XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IGltZyA9IGl0ZW0ucXVlcnlTZWxlY3RvcignaW1nJyk7XHJcbiAgICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2RyYWdnYWJsZScsIGZhbHNlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnByZXZpb3VzQ29udHJvbCA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtbmF2LWxlZnQnKTtcclxuICAgIHRoaXMubmV4dENvbnRyb2wgPSB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNhcm91c2VsLW5hdi1yaWdodCcpO1xyXG4gICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoIDw9IDEpIHtcclxuICAgICAgY29uc3QgY2Fyb3VzZWxDb250YWluZXIgPSB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNhcm91c2VsLWNvbnRhaW5lcicpO1xyXG4gICAgICBpZiAoY2Fyb3VzZWxDb250YWluZXIpIHtcclxuICAgICAgICBjYXJvdXNlbENvbnRhaW5lci5zdHlsZS5sZWZ0ID0gJzAnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzQ29udHJvbCkge1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNDb250cm9sLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubmV4dENvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLm5leHRDb250cm9sLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9iaW5kRXZlbnRzKCk7XHJcbiAgICB0aGlzLl9pbml0T3JkZXIoKTtcclxuXHJcbiAgICBpZiAodGhpcy5lbGVtZW50LmRhdGFzZXQuYXV0b3BsYXkgJiYgdGhpcy5lbGVtZW50LmRhdGFzZXQuYXV0b3BsYXkgPT0gJ3RydWUnKSB7XHJcbiAgICAgIHRoaXMuX2F1dG9QbGF5KHRoaXMuZWxlbWVudC5kYXRhc2V0LmRlbGF5IHx8IDUwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCBhbGwgZXZlbnRzXHJcbiAgICogQG1ldGhvZCBfYmluZEV2ZW50c1xyXG4gICAqIEByZXR1cm4ge3ZvaWR9XHJcbiAgICovXHJcbiAgX2JpbmRFdmVudHMoKSB7XHJcbiAgICBpZiAodGhpcy5wcmV2aW91c0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5wcmV2aW91c0NvbnRyb2wuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl9jbGlja0V2ZW50LCAoZSkgPT4ge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLl9zbGlkZSgncHJldmlvdXMnKTtcclxuICAgICAgICBpZiAodGhpcy5fYXV0b1BsYXlJbnRlcnZhbCkge1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9hdXRvUGxheUludGVydmFsKTtcclxuICAgICAgICAgIHRoaXMuX2F1dG9QbGF5KHRoaXMuZWxlbWVudC5kYXRhc2V0LmRlbGF5IHx8IDUwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dENvbnRyb2wpIHtcclxuICAgICAgdGhpcy5uZXh0Q29udHJvbC5hZGRFdmVudExpc3RlbmVyKHRoaXMuX2NsaWNrRXZlbnQsIChlKSA9PiB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuX3NsaWRlKCduZXh0Jyk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2F1dG9QbGF5SW50ZXJ2YWwpIHtcclxuICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fYXV0b1BsYXlJbnRlcnZhbCk7XHJcbiAgICAgICAgICB0aGlzLl9hdXRvUGxheSh0aGlzLmVsZW1lbnQuZGF0YXNldC5kZWxheSB8fCA1MDAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBCaW5kIHN3aXBlIGV2ZW50c1xyXG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCAoZSkgPT4ge1xyXG4gICAgICB0aGlzLl9zd2lwZVN0YXJ0KGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5fc3dpcGVTdGFydChlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuX3N3aXBlRW5kKGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuX3N3aXBlRW5kKGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWF0ZSBzbGlkZXMgb3JkZXJcclxuICAgKiBAbWV0aG9kIF9pbml0T3JkZXJcclxuICAgKiBAcmV0dXJuIHt2b2lkfVxyXG4gICAqL1xyXG4gIF9pbml0T3JkZXIoKSB7XHJcbiAgICBjb25zdCBjdXJyZW50QWN0aXZlSXRlbSA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtaXRlbS5pcy1hY3RpdmUnKTtcclxuICAgIGlmICghY3VycmVudEFjdGl2ZUl0ZW0pIHtcclxuICAgICAgdGhpcy5pdGVtc1swXS5jbGFzc0xpc3QuYWRkKCdpcy1hY3RpdmUnKTtcclxuICAgICAgY3VycmVudEFjdGl2ZUl0ZW0gPSB0aGlzLml0ZW1zWzBdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3VycmVudEFjdGl2ZUl0ZW1Qb3MgPSB0aGlzLml0ZW1zLmluZGV4T2YoY3VycmVudEFjdGl2ZUl0ZW0pO1xyXG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5pdGVtcy5sZW5ndGg7XHJcblxyXG4gICAgaWYgKGN1cnJlbnRBY3RpdmVJdGVtUG9zKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMucHVzaCh0aGlzLml0ZW1zLnNwbGljZSgwLCBjdXJyZW50QWN0aXZlSXRlbVBvcykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pdGVtcy51bnNoaWZ0KHRoaXMuaXRlbXMucG9wKCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc2V0T3JkZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBlYWNoIHNsaWRlIG9yZGVyXHJcbiAgICogQG1ldGhvZCBfc2V0T3JkZXJcclxuICAgKi9cclxuICBfc2V0T3JkZXIoKSB7XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmIChpbmRleCAhPT0gMSkge1xyXG4gICAgICAgIGl0ZW0uc3R5bGVbJ3otaW5kZXgnXSA9ICcwJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdGVtLnN0eWxlWyd6LWluZGV4J10gPSAnMSc7XHJcbiAgICAgIH1cclxuICAgICAgaXRlbS5zdHlsZS5vcmRlciA9IGluZGV4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTYXZlIGN1cnJlbnQgcG9zaXRpb24gb24gc3RhcnQgc3dpcGluZ1xyXG4gICAqIEBtZXRob2QgX3N3aXBlU3RhcnRcclxuICAgKiBAcGFyYW0gIHtFdmVudH0gICAgZSBTd2lwZSBldmVudFxyXG4gICAqIEByZXR1cm4ge3ZvaWR9XHJcbiAgICovXHJcbiAgX3N3aXBlU3RhcnQoZSkge1xyXG4gICAgdGhpcy5fdG91Y2ggPSB7XHJcbiAgICAgIHN0YXJ0OiB7XHJcbiAgICAgICAgeDogZS5jbGllbnRYLFxyXG4gICAgICAgIHk6IGUuY2xpZW50WVxyXG4gICAgICB9LFxyXG4gICAgICBlbmQ6IHtcclxuICAgICAgICB4OiBlLmNsaWVudFgsXHJcbiAgICAgICAgeTogZS5jbGllbnRZXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhdmUgY3VycmVudCBwb3NpdGlvbiBvbiBlbmQgc3dpcGluZ1xyXG4gICAqIEBtZXRob2QgX3N3aXBlRW5kXHJcbiAgICogQHBhcmFtICB7RXZlbnR9ICBlIHN3aXBlIGV2ZW50XHJcbiAgICogQHJldHVybiB7dm9pZH1cclxuICAgKi9cclxuICBfc3dpcGVFbmQoZSkge1xyXG4gICAgdGhpcy5fdG91Y2guZW5kID0ge1xyXG4gICAgICB4OiBlLmNsaWVudFgsXHJcbiAgICAgIHk6IGUuY2xpZW50WVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2hhbmRsZUdlc3R1cmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElkZW50aWZ5IHRoZSBnZXN0dXJlYW5kIHNsaWRlIGlmIG5lY2Vzc2FyeVxyXG4gICAqIEBtZXRob2QgX2hhbmRsZUdlc3R1cmVcclxuICAgKiBAcmV0dXJuIHt2b2lkfVxyXG4gICAqL1xyXG4gIF9oYW5kbGVHZXN0dXJlKCkge1xyXG4gICAgY29uc3QgcmF0aW8gPSB7XHJcbiAgICAgIGhvcml6b250YWw6ICh0aGlzLl90b3VjaC5lbmQueCAtIHRoaXMuX3RvdWNoLnN0YXJ0LngpIC8gcGFyc2VJbnQodGhpcy5jb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3dpZHRoJykpLFxyXG4gICAgICB2ZXJ0aWNhbDogKHRoaXMuX3RvdWNoLmVuZC55IC0gdGhpcy5fdG91Y2guc3RhcnQueSkgLyBwYXJzZUludCh0aGlzLmNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnaGVpZ2h0JykpXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChyYXRpby5ob3Jpem9udGFsID4gcmF0aW8udmVydGljYWwgJiYgcmF0aW8uaG9yaXpvbnRhbCA+IDAuMjUpIHtcclxuICAgICAgdGhpcy5fc2xpZGUoJ3ByZXZpb3VzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJhdGlvLmhvcml6b250YWwgPCByYXRpby52ZXJ0aWNhbCAmJiByYXRpby5ob3Jpem9udGFsIDwgLTAuMjUpIHtcclxuICAgICAgdGhpcy5fc2xpZGUoJ25leHQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBzbGlkZXMgdG8gZGlzcGxheSB0aGUgd2FudGVkIG9uZVxyXG4gICAqIEBtZXRob2QgX3NsaWRlXHJcbiAgICogQHBhcmFtICB7U3RyaW5nfSBbZGlyZWN0aW9uPSduZXh0J10gRGlyZWN0aW9uIGluIHdoaWNoIHNsaWRlIG5lZWRzIHRvIG1vdmVcclxuICAgKiBAcmV0dXJuIHt2b2lkfVxyXG4gICAqL1xyXG4gIF9zbGlkZShkaXJlY3Rpb24gPSAnbmV4dCcpIHtcclxuICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBjdXJyZW50QWN0aXZlSXRlbSA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtaXRlbS5pcy1hY3RpdmUnKTtcclxuICAgICAgbGV0IG5ld0FjdGl2ZUl0ZW07XHJcblxyXG4gICAgICBjdXJyZW50QWN0aXZlSXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdpcy1hY3RpdmUnKTtcclxuXHJcbiAgICAgIC8vIGluaXRpYWxpemUgZGlyZWN0aW9uIHRvIGNoYW5nZSBvcmRlclxyXG4gICAgICBpZiAoZGlyZWN0aW9uID09PSAncHJldmlvdXMnKSB7XHJcbiAgICAgICAgLy8gUmVvcmRlciBpdGVtc1xyXG4gICAgICAgIHRoaXMuaXRlbXMudW5zaGlmdCh0aGlzLml0ZW1zLnBvcCgpKTtcclxuICAgICAgICAvLyBhZGQgcmV2ZXJzZSBjbGFzc1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdpcy1yZXZlcnNpbmcnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBSZW9yZGVyIGl0ZW1zXHJcbiAgICAgICAgdGhpcy5pdGVtcy5wdXNoKHRoaXMuaXRlbXMuc2hpZnQoKSk7XHJcbiAgICAgICAgLy8gcmVfc2xpZGUgcmV2ZXJzZSBjbGFzc1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1yZXZlcnNpbmcnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoID49IDEpIHtcclxuICAgICAgICBuZXdBY3RpdmVJdGVtID0gdGhpcy5pdGVtc1sxXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdBY3RpdmVJdGVtID0gdGhpcy5pdGVtc1swXTtcclxuICAgICAgfVxyXG4gICAgICBuZXdBY3RpdmVJdGVtLmNsYXNzTGlzdC5hZGQoJ2lzLWFjdGl2ZScpO1xyXG4gICAgICB0aGlzLl9zZXRPcmRlcigpO1xyXG5cclxuICAgICAgLy8gRGlzYWJsZSB0cmFuc2l0aW9uIHRvIGluc3RhbnQgY2hhbmdlIG9yZGVyXHJcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCdjYXJvdXNlbC1hbmltYXRlZCcpO1xyXG4gICAgICAvLyBFbmFibGUgdHJhbnNpdGlvbiB0byBhbmltYXRlIG9yZGVyIDEgdG8gb3JkZXIgMlxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnY2Fyb3VzZWwtYW5pbWF0ZWQnKTtcclxuICAgICAgfSwgNTApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhdGUgYXV0b3BsYXkgc3lzdGVtXHJcbiAgICogQG1ldGhvZCBfYXV0b1BsYXlcclxuICAgKiBAcGFyYW0gIHtOdW1iZXJ9ICBbZGVsYXk9NTAwMF0gRGVsYXkgYmV0d2VlbiBzbGlkZXMgaW4gbWlsbGlzZWNvbmRzXHJcbiAgICogQHJldHVybiB7dm9pZH1cclxuICAgKi9cclxuICBfYXV0b1BsYXkoZGVsYXkgPSA1MDAwKSB7XHJcbiAgICB0aGlzLl9hdXRvUGxheUludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9zbGlkZSgnbmV4dCcpO1xyXG4gICAgfSwgZGVsYXkpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEluaXRpYXRlIGFsbCBET00gZWxlbWVudCBjb250YWluaW5nIGNhcm91c2VsIGNsYXNzXHJcbiAqIEBtZXRob2RcclxuICogQHJldHVybiB7W3R5cGVdfSBbZGVzY3JpcHRpb25dXHJcbiAqL1xyXG5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7XHJcbiAgdmFyIGNhcm91c2VscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJvdXNlbCwgLmhlcm8tY2Fyb3VzZWwnKTtcclxuICBbXS5mb3JFYWNoLmNhbGwoY2Fyb3VzZWxzLCBmdW5jdGlvbihjYXJvdXNlbCkge1xyXG4gICAgbmV3IENhcm91c2VsKGNhcm91c2VsKTtcclxuICB9KTtcclxufSk7XHJcbiJdfQ== diff --git a/src/extension.js b/src/extension.js index ae3de52..c5f742a 100644 --- a/src/extension.js +++ b/src/extension.js @@ -27,6 +27,18 @@ export default class Carousel { this.previousControl = this.element.querySelector('.carousel-nav-left'); this.nextControl = this.element.querySelector('.carousel-nav-right'); + if (this.items.length <= 1) { + const carouselContainer = this.element.querySelector('.carousel-container'); + if (carouselContainer) { + carouselContainer.style.left = '0'; + } + if (this.previousControl) { + this.previousControl.style.display = 'none'; + } + if (this.nextControl) { + this.nextControl.style.display = 'none'; + } + } this._bindEvents(); this._initOrder(); @@ -86,6 +98,10 @@ export default class Carousel { */ _initOrder() { const currentActiveItem = this.element.querySelector('.carousel-item.is-active'); + if (!currentActiveItem) { + this.items[0].classList.add('is-active'); + currentActiveItem = this.items[0]; + } const currentActiveItemPos = this.items.indexOf(currentActiveItem); const length = this.items.length;