{"version":3,"file":"scripts/chunks/_app_app_scripts_framework_slider_ts.3a4f807c9ae36374a2f0.mjs","mappings":"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","sources":["webpack://rockworld/./app/scripts/framework/transition-end.ts","webpack://rockworld/./app/scripts/framework/slider.ts"],"sourcesContent":["/**\r\n * Transition End\r\n *\r\n * @author Daniel Kvistgaard \r\n */\r\n\r\nclass Instance {\r\n constructor(el, callback, once) {\r\n if (!el || !(el instanceof HTMLElement)) {\r\n throw Error('You need to pass an element as the first parameter!');\r\n }\r\n\r\n this.el = el;\r\n this.callback = callback;\r\n\r\n if (once) {\r\n this.callback = (event) => {\r\n this.unbind();\r\n callback.call(this, event);\r\n };\r\n }\r\n\r\n this.setTransitionEnd();\r\n\r\n this.bind();\r\n }\r\n\r\n setTransitionEnd() {\r\n const transitions = {\r\n transition: 'transitionend',\r\n WebkitTransition: 'webkitTransitionEnd',\r\n MozTransition: 'transitionend',\r\n OTransition: 'oTransitionEnd otransitionend',\r\n };\r\n\r\n Object.keys(transitions).forEach((transition) => {\r\n if (!this.transitionEnd && this.el.style[transition] !== undefined) {\r\n this.transitionEnd = transitions[transition];\r\n }\r\n });\r\n }\r\n\r\n bind() {\r\n this.el.addEventListener(this.transitionEnd, this.callback, false);\r\n }\r\n\r\n unbind() {\r\n this.el.removeEventListener(this.transitionEnd, this.callback, false);\r\n }\r\n}\r\n\r\nclass TransitionEnd {\r\n constructor(el, callback, once) {\r\n if (el instanceof HTMLElement) {\r\n return new Instance(el, callback, once);\r\n } else if (el instanceof NodeList) {\r\n const instances = [];\r\n\r\n [].forEach.call(el, (item) => {\r\n instances.push(new Instance(item, callback, once));\r\n });\r\n\r\n return instances;\r\n }\r\n\r\n const elems = document.querySelectorAll(el);\r\n const instances = [];\r\n\r\n [].forEach.call(elems, (elem) => {\r\n instances.push(new Instance(elem, callback, once));\r\n });\r\n\r\n return instances;\r\n }\r\n}\r\n\r\nexport default TransitionEnd;","/**\r\n * Slider functionality\r\n *\r\n * @author Daniel Kvistgaard \r\n */\r\n\r\nimport EventEmitter from 'events';\r\nimport Hammer from 'hammerjs';\r\n\r\nimport TransitionEnd from './transition-end';\r\n\r\nconst defaults = {\r\n hideDraggableElemnts:false,\r\n perSlide: 1,\r\n startSlide: 0,\r\n sensitivity: 8,\r\n\r\n bpMaxSize: false,\r\n bpMinSize: false,\r\n drag: true,\r\n noDragBpMin: false,\r\n noDragBpMax: false,\r\n initOneSlideControl: false,\r\n\r\n classPrefix: 'slider',\r\n inner: '.slider__inner',\r\n slide: '.slider__slide',\r\n\r\n carousel: false,\r\n fade: false,\r\n\r\n thumbnails: false,\r\n thumbnailsParent: false,\r\n\r\n controls: true,\r\n controlsBefore: false,\r\n controlsType: 'arrow',\r\n pageNumbers: true,\r\n next: '.js-slider__next',\r\n prev: '.js-slider__prev',\r\n\r\n // time to change slides in miliseconds\r\n changeSlideInterval: null,\r\n\r\n isStatic: false,\r\n};\r\n\r\nclass Slider extends EventEmitter {\r\n constructor(options) {\r\n super();\r\n\r\n this.options = Object.assign({}, defaults, options);\r\n\r\n if (!options.el) {\r\n console.warn('Slider: An element (el) must be defined in the options.');\r\n return;\r\n }\r\n\r\n const { userAgent } = window.navigator;\r\n this.isIE = userAgent.indexOf('MSIE ') >= 0 || userAgent.indexOf('Trident/') >= 0;\r\n this.el = options.el instanceof HTMLElement ? options.el : document.querySelector(options.el);\r\n this.sliderContainer = this.el.querySelector(this.options.inner) || this.el;\r\n this.origSlides = this.getSlides();\r\n this.slides = this.origSlides;\r\n this.sliderActive = false;\r\n this.perSlide = this.getPerSlide();\r\n this.totalSlides = this.options.carousel ? this.slides.length : Math.ceil(this.slides.length / this.perSlide);\r\n this.slideCount = this.options.carousel ? this.origSlides.length : Math.ceil(this.slides.length / this.perSlide);\r\n this.connectedSliders = this.options.connectedSliders || [];\r\n\r\n // if we do not have to associate slider logic then don't do it\r\n if (!this.checkIfSliderShouldBeCreated()) {\r\n return;\r\n }\r\n\r\n if (!this.options.isStatic) {\r\n this.prepareForTouch();\r\n }\r\n\r\n window.addEventListener('resize', this.resize.bind(this));\r\n this.resize();\r\n\r\n if (this.options.isStatic) {\r\n return;\r\n }\r\n\r\n this.initSlideChangeTimer();\r\n }\r\n\r\n prepareForTouch() {\r\n this.hasTouchPrepared = true;\r\n\r\n // Disable drag to better enable HammerJS panning\r\n if (!this.options.hideDraggableElemnts) {\r\n const elems = this.el.querySelectorAll('a, img');\r\n [].forEach.call(elems, (elem) => {\r\n elem.setAttribute('draggable', false);\r\n elem.setAttribute('ondragstart', 'return false;');\r\n });\r\n }\r\n // Preventing click if the slider is animating.\r\n // This prevents native clicks on slides after panning, as HammerJS\r\n // wouldn't prevent the native click on the end of panning.\r\n [].forEach.call(this.slides, (slide) => {\r\n slide.addEventListener('click', (e) => {\r\n if (this.isAnimating) {\r\n e.preventDefault();\r\n }\r\n });\r\n });\r\n }\r\n\r\n setup() {\r\n if (!this.checkIfSliderShouldBeCreated()) {\r\n return;\r\n }\r\n\r\n if (this.sliderActive) {\r\n if (this.options.carousel) {\r\n this.checkClones();\r\n }\r\n\r\n const oldPerSlide = this.perSlide;\r\n this.perSlide = this.getPerSlide();\r\n\r\n if (oldPerSlide !== this.perSlide) {\r\n this.slideCount = this.options.carousel\r\n ? this.origSlides.length\r\n : Math.ceil(this.slides.length / this.perSlide);\r\n\r\n if (!this.options.carousel) {\r\n this.totalSlides = Math.ceil(this.slides.length / this.perSlide);\r\n this.totalEl.innerText = this.slideCount;\r\n this.current = 0;\r\n }\r\n }\r\n\r\n if (!this.options.fade) {\r\n this.setSlideWidth();\r\n }\r\n\r\n this.goToSlide(this.current, true);\r\n\r\n return;\r\n }\r\n\r\n this.sliderActive = true;\r\n this.current = this.options.startSlide;\r\n\r\n if (this.sliderContainer) {\r\n this.sliderContainer.style.transition = '';\r\n this.sliderContainer.classList.add('has-slider');\r\n }\r\n\r\n if (this.options.carousel) {\r\n this.setupClones();\r\n }\r\n\r\n if (!this.options.fade) {\r\n this.setSlideWidth();\r\n }\r\n // we do not need controls if there is only one slide\r\n if (this.options.controls && this.slides.length > this.perSlide && !this.options.isStatic) {\r\n this.setupControls();\r\n }\r\n\r\n if (this.options.thumbnails) {\r\n this.setupThumbnails();\r\n }\r\n\r\n this.goToSlide(this.options.carousel ? this.perSlide + this.current : this.current, true);\r\n this.events();\r\n\r\n if (this.options.drag) {\r\n this.setupTouch();\r\n }\r\n\r\n this.el.classList.add(`${this.options.classPrefix}--initialized`);\r\n }\r\n\r\n setupTouch() {\r\n // Set up HammerJS\r\n this.hammerManager = new Hammer(this.sliderContainer, {\r\n touchAction: 'pan-y',\r\n domEvents: false,\r\n });\r\n this.hammerManager.add(\r\n new Hammer.Pan({\r\n threshold: 0,\r\n pointers: 0,\r\n })\r\n );\r\n\r\n let startTranslateX = null;\r\n const connectedTranslate = [];\r\n\r\n [].forEach.call(this.connectedSliders, (connectedSlider) => {\r\n connectedTranslate.push({\r\n el: connectedSlider.sliderContainer,\r\n });\r\n });\r\n\r\n // HammerJS panstart event listener\r\n this.hammerManager.on('panstart', (e) => {\r\n if (\r\n (this.options.noDragBpMin && Modernizr.mq(`(min-width: ${App.mq[this.options.noDragBpMin]}px)`)) ||\r\n (this.options.noDragBpMax && Modernizr.mq(`(max-width: ${App.mq[this.options.noDragBpMax] - 1}px)`))\r\n ) {\r\n return;\r\n }\r\n\r\n if (this.isAnimating && this.options.carousel) {\r\n return;\r\n }\r\n\r\n startTranslateX = Slider.getTranslateX(this.sliderContainer) + e.deltaX;\r\n\r\n connectedTranslate.forEach((connected) => {\r\n connected.startTranslateX = Slider.getTranslateX(connected.el) + e.deltaX;\r\n });\r\n });\r\n\r\n // HammerJS pan event listener\r\n this.hammerManager.on('pan', (e) => {\r\n if (\r\n (this.options.noDragBpMin && Modernizr.mq(`(min-width: ${App.mq[this.options.noDragBpMin]}px)`)) ||\r\n (this.options.noDragBpMax && Modernizr.mq(`(max-width: ${App.mq[this.options.noDragBpMax] - 1}px)`))\r\n ) {\r\n return;\r\n }\r\n\r\n if (startTranslateX === null || (this.isAnimating && this.options.carousel)) {\r\n return;\r\n }\r\n\r\n const currentTranslateX = Slider.getTranslateX(this.sliderContainer);\r\n\r\n if (e.additionalEvent === 'panup' || e.additionalEvent === 'pandown' || e.velocity === 0) {\r\n if (e.isFinal && Math.abs(startTranslateX - currentTranslateX) > 0) {\r\n let slideIndex = this.current;\r\n\r\n if (Math.abs(startTranslateX - currentTranslateX) < 20) {\r\n slideIndex = this.current;\r\n } else if (currentTranslateX > startTranslateX) {\r\n slideIndex = Math.max(0, this.current - 1);\r\n } else if (currentTranslateX < startTranslateX) {\r\n slideIndex = Math.min(this.totalSlides - 1, this.current + 1);\r\n }\r\n\r\n this.goToSlide(slideIndex, e.distance < 20, true);\r\n } else if (e.isFinal) {\r\n this.goToSlide(this.current);\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Calculate pixel movements into 1:1 screen percents so gestures track with motion\r\n const percentage = ((100 / this.perSlide) * e.deltaX) / window.innerWidth;\r\n const deltaX = this.options.carousel ? e.deltaX / this.perSlide : e.deltaX;\r\n\r\n // Apply transformation\r\n this.sliderContainer.style.transition = 'none';\r\n\r\n if (!this.options.fade) {\r\n this.sliderContainer.style.transform = this.isIE\r\n ? `translate(${startTranslateX + deltaX}px, 0)`\r\n : `translate3d(${startTranslateX + deltaX}px, 0, 0)`;\r\n }\r\n\r\n connectedTranslate.forEach((connected) => {\r\n const newTranslateX = connected.startTranslateX + deltaX;\r\n connected.el.style.transition = 'none';\r\n\r\n if (!this.options.fade) {\r\n connected.el.style.transform = this.isIE\r\n ? `translate(${newTranslateX}px, 0)`\r\n : `translate3d(${newTranslateX}px, 0, 0)`;\r\n }\r\n });\r\n\r\n // Snap to slide when done\r\n if (e.isFinal) {\r\n startTranslateX = null;\r\n\r\n if (!this.options.fade && Math.abs(startTranslateX - currentTranslateX) < 20) {\r\n this.goToSlide(this.current);\r\n return;\r\n }\r\n\r\n let newSlide = this.current;\r\n\r\n if (e.velocityX > 1) {\r\n newSlide = this.options.fade ? this.current - 1 : Math.max(0, this.current - 1);\r\n } else if (e.velocityX < -1) {\r\n newSlide = this.options.fade ? this.current + 1 : Math.min(this.totalSlides - 1, this.current + 1);\r\n } else if (percentage <= -(this.options.sensitivity / this.totalSlides)) {\r\n newSlide = this.options.fade ? this.current + 1 : Math.min(this.totalSlides - 1, this.current + 1);\r\n } else if (percentage >= this.options.sensitivity / this.totalSlides) {\r\n newSlide = this.options.fade ? this.current - 1 : Math.max(0, this.current - 1);\r\n }\r\n\r\n if (this.options.fade && newSlide < 0) {\r\n newSlide = this.totalSlides - 1;\r\n } else if (this.options.fade && newSlide >= this.totalSlides) {\r\n newSlide = 0;\r\n }\r\n\r\n this.goToSlide(newSlide);\r\n }\r\n });\r\n }\r\n\r\n break() {\r\n if (!this.sliderActive) {\r\n return;\r\n }\r\n\r\n this.sliderActive = false;\r\n\r\n if (this.options.carousel) {\r\n [].forEach.call(this.slides, (slide) => {\r\n if (slide.classList.contains('is-clone')) {\r\n slide.parentNode.removeChild(slide);\r\n }\r\n });\r\n\r\n this.slides = this.origSlides;\r\n }\r\n\r\n if (this.options.controls) {\r\n const controls = this.el.querySelector(`.${this.options.classPrefix}__controls`);\r\n\r\n if (controls) {\r\n this.el.removeChild(controls);\r\n }\r\n }\r\n\r\n if (this.sliderContainer) {\r\n this.sliderContainer.classList.add('no-transition');\r\n this.sliderContainer.style.transition = 'none';\r\n this.sliderContainer.style.transform = '';\r\n this.sliderContainer.style.touchAction = '';\r\n this.sliderContainer.classList.remove('has-slider');\r\n }\r\n\r\n [].forEach.call(this.el.querySelectorAll(this.options.slide), (slide) => {\r\n slide.style.width = '';\r\n slide.classList.remove('is-active');\r\n });\r\n\r\n this.el.classList.remove(`${this.options.classPrefix}--initialized`);\r\n\r\n if (this.hammerManager) {\r\n this.hammerManager.destroy();\r\n }\r\n\r\n // Remove events\r\n this.transitionEnd.unbind();\r\n }\r\n\r\n events() {\r\n if (!this.options.isStatic) {\r\n if (this.nextEl) {\r\n this.nextEl.addEventListener('click', this.slideNext.bind(this), false);\r\n }\r\n\r\n if (this.prevEl) {\r\n this.prevEl.addEventListener('click', this.slidePrev.bind(this), false);\r\n }\r\n\r\n if (this.thumbnails) {\r\n this.thumbnails.forEach((thumbnail) => {\r\n thumbnail.addEventListener('click', this.clickThumbanil.bind(this), false);\r\n });\r\n }\r\n\r\n this.transitionEnd = new TransitionEnd(this.sliderContainer, this.onTransitionEnd.bind(this));\r\n }\r\n }\r\n\r\n resize() {\r\n if (\r\n (this.options.bpMaxSize && App.mq[this.options.bpMaxSize]) ||\r\n (this.options.bpMinSize && App.mq[this.options.bpMinSize])\r\n ) {\r\n const maxMin = this.options.bpMaxSize ? 'max' : 'min';\r\n const size = this.options.bpMaxSize ? App.mq[this.options.bpMaxSize] - 1 : App.mq[this.options.bpMinSize];\r\n\r\n if (Modernizr.mq(`(${maxMin}-width: ${size}px)`)) {\r\n this.setup();\r\n } else {\r\n this.break();\r\n }\r\n } else {\r\n this.setup();\r\n }\r\n }\r\n\r\n getSlides(getClones) {\r\n const allSlides = this.el.querySelectorAll(this.options.slide);\r\n const slides = [];\r\n\r\n [].forEach.call(allSlides, (slide) => {\r\n const notHidden = !slide.classList.contains('is-hidden') && slide.style.display !== 'none';\r\n const notEmpty = slide.innerHTML.trim() !== '';\r\n\r\n if (\r\n (getClones && notHidden && notEmpty) ||\r\n (!getClones && !slide.classList.contains('is-clone') && notHidden && notEmpty)\r\n ) {\r\n slides.push(slide);\r\n }\r\n });\r\n\r\n return slides;\r\n }\r\n\r\n checkSlides() {\r\n const wasActive = this.sliderActive;\r\n this.break();\r\n\r\n const prevSlides = this.origSlides;\r\n this.origSlides = this.getSlides();\r\n this.slides = this.origSlides;\r\n this.totalSlides = this.options.carousel ? this.slides.length : Math.ceil(this.slides.length / this.perSlide);\r\n this.slideCount = this.options.carousel ? this.origSlides.length : Math.ceil(this.slides.length / this.perSlide);\r\n\r\n if (wasActive || (prevSlides < 2 && this.origSlides.length > 1)) {\r\n this.setup();\r\n }\r\n }\r\n\r\n setupClones() {\r\n if (!this.options.carousel || this.slides.length <= 1) {\r\n return;\r\n }\r\n\r\n const maxPerSlide = this.getMaxPerSlide();\r\n const parent = this.slides[0].parentNode;\r\n const firstSlides = [].slice.call(this.slides, 0, maxPerSlide);\r\n const lastSlides = [].slice.call(this.slides, this.slides.length - maxPerSlide, this.slides.length);\r\n\r\n lastSlides.reverse();\r\n\r\n [].forEach.call(lastSlides, (slide) => {\r\n const clone = slide.cloneNode(true);\r\n clone.classList.add('is-clone');\r\n\r\n parent.insertBefore(clone, parent.firstChild);\r\n });\r\n\r\n [].forEach.call(firstSlides, (slide) => {\r\n const clone = slide.cloneNode(true);\r\n clone.classList.add('is-clone');\r\n\r\n parent.appendChild(clone);\r\n });\r\n\r\n this.slides = this.getSlides(true);\r\n this.totalSlides = this.slides.length;\r\n\r\n this.checkClones(true);\r\n }\r\n\r\n checkClones(force) {\r\n if (!this.options.carousel || typeof this.options.perSlide === 'number') {\r\n return;\r\n }\r\n\r\n const perSlide = this.getPerSlide();\r\n\r\n if (!force && perSlide === this.perSlide) {\r\n return;\r\n }\r\n\r\n const slides = this.getSlides(true);\r\n const slideDiff = Math.abs(this.perSlide - perSlide);\r\n const firstSlides = [].slice.call(slides, 0, slideDiff);\r\n const lastSlides = [].slice.call(slides, slides.length - slideDiff, slides.length);\r\n const slidesArr = [].concat(firstSlides, lastSlides);\r\n\r\n [].forEach.call(slidesArr, (slide) => {\r\n if (this.perSlide < perSlide) {\r\n slide.style.display = '';\r\n slide.classList.remove('is-hidden');\r\n } else {\r\n slide.style.display = 'none';\r\n slide.classList.add('is-hidden');\r\n }\r\n });\r\n\r\n if (this.current) {\r\n this.current = this.perSlide < perSlide ? this.current + slideDiff : this.current - slideDiff;\r\n }\r\n\r\n this.perSlide = perSlide;\r\n this.slides = this.el.querySelectorAll(`${this.options.slide}:not(.is-hidden)`);\r\n this.totalSlides = this.slides.length;\r\n }\r\n\r\n setSlideWidth() {\r\n [].forEach.call(this.slides, (slide) => {\r\n slide.style.width = '';\r\n });\r\n\r\n const parentWidth = this.el.getBoundingClientRect().width;\r\n this.slideWidth = Math.ceil(parentWidth / this.perSlide);\r\n\r\n [].forEach.call(this.slides, (slide) => {\r\n const marginRight = parseInt(window.getComputedStyle(slide).getPropertyValue('margin-right'), 10);\r\n const newWidth = this.slideWidth - (marginRight / this.perSlide) * (this.perSlide - 1);\r\n\r\n slide.style.width = `${newWidth}px`;\r\n });\r\n }\r\n\r\n setupControls() {\r\n if (!this.options.controls) {\r\n return;\r\n }\r\n\r\n const prefix = this.options.classPrefix;\r\n const controls = document.createElement('div');\r\n let prevIcon =\r\n '';\r\n let nextIcon =\r\n '';\r\n controls.classList.add(`${prefix}__controls`);\r\n\r\n // Choose type of controls\r\n switch (this.options.controlsType) {\r\n default:\r\n case 'arrow':\r\n prevIcon =\r\n '';\r\n nextIcon =\r\n '';\r\n break;\r\n case 'angle':\r\n prevIcon =\r\n '';\r\n nextIcon =\r\n '';\r\n break;\r\n }\r\n\r\n // Include page numbering or not\r\n if (this.options.pageNumbers) {\r\n controls.innerHTML = `\r\n\t\t\t\t\r\n\t\t\t\t${this.current}/${this.slideCount}\r\n\t\t\t\t`;\r\n } else {\r\n controls.innerHTML = `\r\n\t\t\t\t\r\n\t\t\t\t`;\r\n }\r\n\r\n if (this.options.controlsBefore) {\r\n controls.classList.add('is-before');\r\n this.el.insertBefore(controls, this.el.firstChild);\r\n } else {\r\n this.el.appendChild(controls);\r\n }\r\n\r\n // Control elements\r\n this.currentEl = controls.querySelector(`.js-${prefix}__current`);\r\n this.totalEl = controls.querySelector(`.js-${prefix}__total`);\r\n this.nextEl = controls.querySelector(this.options.next);\r\n this.prevEl = controls.querySelector(this.options.prev);\r\n }\r\n\r\n slideNext(e) {\r\n if (this.isAnimating || (e && e.currentTarget.classList.contains('is-disabled'))) {\r\n return;\r\n }\r\n\r\n let nextSlide = this.current + 1;\r\n\r\n if (this.options.fade && nextSlide >= this.totalSlides) {\r\n nextSlide = 0;\r\n }\r\n\r\n this.goToSlide(nextSlide);\r\n }\r\n\r\n slidePrev(e) {\r\n if (this.isAnimating || e.currentTarget.classList.contains('is-disabled')) {\r\n return;\r\n }\r\n\r\n let prevSlide = this.current - 1;\r\n\r\n if (this.options.fade && prevSlide < 0) {\r\n prevSlide = this.totalSlides - 1;\r\n }\r\n\r\n this.goToSlide(prevSlide);\r\n }\r\n\r\n setupThumbnails() {\r\n if (!this.options.thumbnails) {\r\n return;\r\n }\r\n\r\n const prefix = this.options.classPrefix;\r\n const thumbnails = document.createElement('nav');\r\n thumbnails.classList.add(`${prefix}__thumbnails`);\r\n\r\n if (this.options.isStatic) {\r\n thumbnails.classList.add('static-thumbnails');\r\n } else {\r\n thumbnails.classList.add('not-static-thumbnails');\r\n }\r\n\r\n if (this.options.thumbnailsParent) {\r\n this.options.thumbnailsParent.appendChild(thumbnails);\r\n } else {\r\n this.sliderContainer.insertAdjacentHTML('afterend', thumbnails.outerHTML);\r\n }\r\n\r\n this.thumbnailsEl = this.el.querySelector(`.${prefix}__thumbnails`);\r\n this.thumbnails = [];\r\n\r\n [].forEach.call(this.origSlides, this.createThumbnail.bind(this));\r\n }\r\n\r\n createThumbnail(slide, index) {\r\n if (slide.classList.contains('static-slide')) {\r\n return;\r\n }\r\n\r\n const slideImg = slide.querySelector('img');\r\n\r\n if (!slideImg) {\r\n return;\r\n }\r\n\r\n const squareSrc = slideImg.getAttribute('data-1-1');\r\n let imgUrl = slideImg.src;\r\n\r\n if (squareSrc) {\r\n imgUrl = squareSrc;\r\n }\r\n\r\n const prefix = this.options.classPrefix;\r\n const thumbnail = document.createElement('figure');\r\n thumbnail.classList.add(`${prefix}__thumbnails__item`);\r\n thumbnail.style.backgroundImage = `url(${imgUrl})`;\r\n\r\n if (index === this.current) {\r\n thumbnail.classList.add('is-active');\r\n }\r\n\r\n this.thumbnails.push(thumbnail);\r\n this.thumbnailsEl.appendChild(thumbnail);\r\n }\r\n\r\n clickThumbanil(event) {\r\n event.preventDefault();\r\n\r\n const thumbnail = event.currentTarget;\r\n const newSlide = this.thumbnails.indexOf(thumbnail);\r\n\r\n this.goToSlide(newSlide);\r\n }\r\n\r\n initSlideChangeTimer() {\r\n clearTimeout(this.changeSlideTimer);\r\n if (this.options.changeSlideInterval && this.totalSlides > 1) {\r\n this.changeSlideTimer = setTimeout(this.slideNext.bind(this), this.options.changeSlideInterval);\r\n }\r\n }\r\n\r\n goToSlide(slideIndex, noTransition, triggerConnected) {\r\n if (!this.sliderActive) {\r\n return;\r\n }\r\n\r\n if (slideIndex < 0 || slideIndex > this.totalSlides - 1 || (this.isAnimating && !this.isAnimating)) {\r\n return;\r\n }\r\n\r\n if (this.prevEl) {\r\n this.prevEl.classList.remove('is-disabled');\r\n }\r\n\r\n if (this.nextEl) {\r\n this.nextEl.classList.remove('is-disabled');\r\n }\r\n\r\n const direction = this.current < slideIndex ? 'next' : 'prev';\r\n const prevIndex = this.current;\r\n\r\n if (!noTransition || triggerConnected) {\r\n this.emit('slide', direction, slideIndex, prevIndex, noTransition);\r\n }\r\n\r\n this.sliderContainer.style.transition = '';\r\n\r\n this.isAnimating = true;\r\n this.current = slideIndex;\r\n let actualCurrentSlide = this.options.carousel ? this.current - (this.perSlide - 1) : this.current + 1;\r\n\r\n if (actualCurrentSlide > this.origSlides.length) {\r\n actualCurrentSlide = 1;\r\n } else if (actualCurrentSlide < 1) {\r\n actualCurrentSlide = this.origSlides.length + actualCurrentSlide;\r\n }\r\n\r\n if (this.currentEl) {\r\n this.currentEl.innerHTML = actualCurrentSlide;\r\n }\r\n\r\n [].forEach.call(this.slides, (slide) => {\r\n slide.classList.remove('is-active');\r\n });\r\n\r\n if (this.perSlide > 1) {\r\n let remainingSlides = this.perSlide;\r\n\r\n do {\r\n const slideItemIndex = this.current * this.perSlide + (remainingSlides - 1);\r\n\r\n if (this.slides[slideItemIndex]) {\r\n this.slides[slideItemIndex].classList.add('is-active');\r\n }\r\n\r\n remainingSlides -= 1;\r\n } while (remainingSlides);\r\n } else {\r\n this.slides[this.current].classList.add('is-active');\r\n }\r\n\r\n if (this.thumbnails) {\r\n [].forEach.call(this.thumbnails, (thumbnail) => {\r\n thumbnail.classList.remove('is-active');\r\n });\r\n\r\n this.thumbnails[this.current].classList.add('is-active');\r\n }\r\n\r\n if (noTransition) {\r\n this.sliderContainer.classList.add('no-transition');\r\n }\r\n\r\n const { transform } = this.sliderContainer.style;\r\n const transformSplitted = transform ? transform.split('(')[1].split(',') : [0];\r\n const oldTranslateX = parseFloat(transformSplitted[0]);\r\n const translateX = this.getTranslateSize(slideIndex);\r\n\r\n if (!noTransition && oldTranslateX * -1 === translateX) {\r\n this.emit('slide:complete');\r\n this.isAnimating = false;\r\n this.sliderContainer.classList.remove('no-transition');\r\n\r\n return;\r\n }\r\n\r\n if (!this.options.fade) {\r\n this.sliderContainer.style.transform = this.isIE\r\n ? `translate(-${translateX}px, 0)`\r\n : `translate3d(-${translateX}px, 0, 0)`;\r\n }\r\n\r\n if (noTransition) {\r\n const isDone = this.checkSlide(this.current);\r\n\r\n if (isDone) {\r\n setTimeout(() => {\r\n this.sliderContainer.classList.remove('no-transition');\r\n\r\n setTimeout(() => {\r\n this.emit('slide:complete');\r\n this.isAnimating = false;\r\n }, 10);\r\n }, 20);\r\n }\r\n }\r\n }\r\n\r\n getTranslateSize(slideIndex) {\r\n const firstSlide = this.slides[0];\r\n const marginRight = parseInt(window.getComputedStyle(firstSlide).getPropertyValue('margin-right'), 10);\r\n\r\n let slideSize = this.slideWidth + marginRight / this.perSlide;\r\n\r\n if (this.options.carousel) {\r\n slideSize = this.slideWidth;\r\n }\r\n\r\n let totalSlideSize = slideSize * slideIndex;\r\n\r\n if (!this.options.carousel) {\r\n const slideEndIndex = slideIndex * this.perSlide + (this.perSlide - 1);\r\n const remaining = this.slides.length - 1 - slideEndIndex;\r\n totalSlideSize = this.options.carousel ? slideSize * slideIndex : slideSize * this.perSlide * slideIndex;\r\n\r\n if (remaining < 0) {\r\n totalSlideSize += slideSize * remaining;\r\n }\r\n }\r\n\r\n return totalSlideSize;\r\n }\r\n\r\n checkSlide(slide) {\r\n if (!this.options.carousel && !this.options.fade) {\r\n if (slide >= this.totalSlides - 1 && this.nextEl) {\r\n this.nextEl.classList.add('is-disabled');\r\n }\r\n\r\n if (slide <= 0 && this.prevEl) {\r\n this.prevEl.classList.add('is-disabled');\r\n }\r\n\r\n return true;\r\n }\r\n\r\n if (this.options.fade) {\r\n return true;\r\n }\r\n\r\n if (slide <= 0) {\r\n this.goToSlide(this.slides.length - this.perSlide * 2, true);\r\n\r\n return false;\r\n } else if (slide >= this.slides.length - this.perSlide) {\r\n this.goToSlide(this.perSlide, true);\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n onTransitionEnd(event) {\r\n const propertyName = this.options.fade ? 'opacity' : 'transform';\r\n const animatingEl = this.options.fade ? this.options.slide : this.options.inner;\r\n\r\n if (\r\n event.propertyName.indexOf(propertyName) >= 0 &&\r\n event.target &&\r\n event.target.classList &&\r\n event.target.classList.contains(animatingEl.replace(/\\./g, ''))\r\n ) {\r\n setTimeout(() => {\r\n const isDone = this.checkSlide(this.current);\r\n\r\n if (isDone) {\r\n this.emit('slide:complete');\r\n this.isAnimating = false;\r\n }\r\n }, 10);\r\n }\r\n\r\n this.initSlideChangeTimer();\r\n }\r\n\r\n getMaxPerSlide() {\r\n let max = this.options.perSlide;\r\n\r\n if (typeof max === 'object') {\r\n const values = Object.values(max);\r\n max = Math.max(...values);\r\n }\r\n\r\n return max;\r\n }\r\n\r\n getPerSlide() {\r\n let { perSlide } = this.options;\r\n\r\n if (typeof perSlide === 'object') {\r\n const obj = perSlide;\r\n const bpKeys = Object.keys(App.mq);\r\n\r\n [].forEach.call(bpKeys, (key) => {\r\n if (obj[key] && (key === 'mobile' || Modernizr.mq(`(min-width: ${App.mq[key]}px)`))) {\r\n perSlide = obj[key];\r\n }\r\n });\r\n }\r\n\r\n return perSlide;\r\n }\r\n\r\n static getTranslateX(el) {\r\n const { transform } = el.style;\r\n const transformSplitted = transform ? transform.split('(')[1].split(',') : [0];\r\n\r\n return parseFloat(transformSplitted[0]);\r\n }\r\n\r\n checkIfSliderShouldBeCreated() {\r\n if (\r\n this.slides.length < this.perSlide ||\r\n (this.slides.length === this.perSlide && !this.options.initOneSlideControl)\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n\r\nexport default Slider;\r\n"],"names":["Instance","constructor","el","callback","once","HTMLElement","Error","this","event","unbind","call","setTransitionEnd","bind","transitions","transition","WebkitTransition","MozTransition","OTransition","Object","keys","forEach","transitionEnd","undefined","style","addEventListener","removeEventListener","NodeList","instances","item","push","elems","document","querySelectorAll","elem","defaults","hideDraggableElemnts","perSlide","startSlide","sensitivity","bpMaxSize","bpMinSize","drag","noDragBpMin","noDragBpMax","initOneSlideControl","classPrefix","inner","slide","carousel","fade","thumbnails","thumbnailsParent","controls","controlsBefore","controlsType","pageNumbers","next","prev","changeSlideInterval","isStatic","Slider","EventEmitter","options","super","_extends","console","warn","userAgent","window","navigator","isIE","indexOf","querySelector","sliderContainer","origSlides","getSlides","slides","sliderActive","getPerSlide","totalSlides","length","Math","ceil","slideCount","connectedSliders","checkIfSliderShouldBeCreated","prepareForTouch","resize","initSlideChangeTimer","hasTouchPrepared","setAttribute","e","isAnimating","preventDefault","setup","checkClones","oldPerSlide","totalEl","innerText","current","setSlideWidth","goToSlide","classList","add","setupClones","setupControls","setupThumbnails","events","setupTouch","hammerManager","Hammer","touchAction","domEvents","threshold","pointers","startTranslateX","connectedTranslate","connectedSlider","on","Modernizr","mq","App","getTranslateX","deltaX","connected","currentTranslateX","additionalEvent","velocity","isFinal","abs","slideIndex","max","min","distance","percentage","innerWidth","transform","newTranslateX","newSlide","velocityX","break","contains","parentNode","removeChild","remove","width","destroy","nextEl","slideNext","prevEl","slidePrev","thumbnail","clickThumbanil","TransitionEnd","onTransitionEnd","maxMin","size","getClones","allSlides","notHidden","display","notEmpty","innerHTML","trim","checkSlides","wasActive","prevSlides","maxPerSlide","getMaxPerSlide","parent","firstSlides","slice","lastSlides","reverse","clone","cloneNode","insertBefore","firstChild","appendChild","force","slideDiff","slidesArr","concat","parentWidth","getBoundingClientRect","slideWidth","marginRight","parseInt","getComputedStyle","getPropertyValue","newWidth","prefix","createElement","prevIcon","nextIcon","replace","currentEl","currentTarget","nextSlide","prevSlide","insertAdjacentHTML","outerHTML","thumbnailsEl","createThumbnail","index","slideImg","squareSrc","getAttribute","imgUrl","src","backgroundImage","clearTimeout","changeSlideTimer","setTimeout","noTransition","triggerConnected","direction","prevIndex","emit","actualCurrentSlide","remainingSlides","slideItemIndex","transformSplitted","split","oldTranslateX","parseFloat","translateX","getTranslateSize","checkSlide","firstSlide","slideSize","totalSlideSize","slideEndIndex","remaining","propertyName","animatingEl","target","values","obj","bpKeys","key"],"sourceRoot":""}