{"version":3,"sources":["components/swiper.js"],"names":["dmx","Component","constructor","node","parent","this","dynamic","hasAttribute","updateData","bind","BaseComponent","call","initialData","index","total","isBeginning","isEnd","attributes","vertical","type","Boolean","default","speed","Number","auto-height","effect","String","space-between","slides-per-view","slides-per-group","space-between-sm","slides-per-view-sm","slides-per-group-sm","space-between-md","slides-per-view-md","slides-per-group-md","space-between-lg","slides-per-view-lg","slides-per-group-lg","space-between-xl","slides-per-view-xl","slides-per-group-xl","centered-slides","slides-offset-before","slides-offset-after","grab-cursor","free-mode","free-mode-sticky","loop","loop-fill","pagination","navigation","scrollbar","autoplay","parallax","keyboard","mousewheel","observer","slides","Array","methods","slideNext","runCallbacks","swiper","slidePrev","slideTo","slideToLoop","slideReset","slideToClosest","autoplayStart","start","autoplayStop","stop","update","events","change","Event","render","template","innerHTML","container","$node","classList","add","wrapper","document","createElement","className","buttonPrev","buttonNext","appendChild","props","JSON","stringify","children","splice","forEach","child","$destroy","repeatItems","length","RepeatItem","fragment","createDocumentFragment","i","cloneNode","$nodes","$parse","push","dom","remove","params","direction","autoHeight","spaceBetween","slidesPerView","slidesPerGroup","centeredSlides","slidesOffsetBefore","slidesOffsetAfter","grabCursor","freeMode","freeModeSticky","loopFillGroupWithBlank","el","clickable","prevEl","nextEl","draggable","snapOnRelease","breakpointsInverse","breakpoints","observeParents","getBreakpointProps","window","wapplerDesignView","simulateTouch","self","requestAnimationFrame","destroy","Swiper","on","dispatchEvent","updated","destroyed","updateSize","suffix","loopedSlides","set","realIndex"],"mappings":"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","file":"../dmxSwiper/dmxSwiper.js","sourcesContent":["dmx.Component('swiper', {\r\n\r\n constructor: function(node, parent) {\r\n this.dynamic = node.hasAttribute('dmx-bind:slides');\r\n this.updateData = this.updateData.bind(this)\r\n dmx.BaseComponent.call(this, node, parent);\r\n },\r\n\r\n initialData: {\r\n index: 0,\r\n total: 0,\r\n isBeginning: false,\r\n isEnd: false\r\n },\r\n\r\n attributes: {\r\n\r\n // General\r\n\r\n vertical: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n speed: {\r\n type: Number,\r\n default: 300 // Duration of transition between slides (in ms)\r\n },\r\n\r\n 'auto-height': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n effect: {\r\n type: String,\r\n default: 'slide' // slide, fade, cube, coverflow, flip\r\n },\r\n\r\n // Slides Grid\r\n\r\n 'space-between': {\r\n type: Number,\r\n default: 0\r\n },\r\n\r\n 'slides-per-view': {\r\n type: String,\r\n default: 1\r\n },\r\n\r\n 'slides-per-group': {\r\n type: Number,\r\n default: 1\r\n },\r\n\r\n 'space-between-sm': {\r\n type: Number,\r\n default: null\r\n },\r\n\r\n 'slides-per-view-sm': {\r\n type: String,\r\n default: null\r\n },\r\n\r\n 'slides-per-group-sm': {\r\n type: Number,\r\n default: null\r\n },\r\n\r\n 'space-between-md': {\r\n type: Number,\r\n default: null\r\n },\r\n\r\n 'slides-per-view-md': {\r\n type: String,\r\n default: null\r\n },\r\n\r\n 'slides-per-group-md': {\r\n type: Number,\r\n default: null\r\n },\r\n\r\n 'space-between-lg': {\r\n type: Number,\r\n default: null\r\n },\r\n\r\n 'slides-per-view-lg': {\r\n type: String,\r\n default: null\r\n },\r\n\r\n 'slides-per-group-lg': {\r\n type: Number,\r\n default: null\r\n },\r\n\r\n 'space-between-xl': {\r\n type: Number,\r\n default: null\r\n },\r\n\r\n 'slides-per-view-xl': {\r\n type: String,\r\n default: null\r\n },\r\n\r\n 'slides-per-group-xl': {\r\n type: Number,\r\n default: null\r\n },\r\n\r\n 'centered-slides': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n 'slides-offset-before': {\r\n type: Number,\r\n default: 0\r\n },\r\n\r\n 'slides-offset-after': {\r\n type: Number,\r\n default: 0\r\n },\r\n\r\n // Grab Cursor\r\n\r\n 'grab-cursor': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n // Freemode\r\n\r\n 'free-mode': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n 'free-mode-sticky': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n // Loop\r\n\r\n loop: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n 'loop-fill': { // loopFillGroupWithBlank\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n // Components\r\n\r\n pagination: {\r\n type: String,\r\n default: null // bullets, fraction, progressbar\r\n },\r\n\r\n navigation: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n scrollbar: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n autoplay: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n parallax: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n keyboard: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n mousewheel: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n observer: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n // Dynamic Data\r\n\r\n slides: {\r\n type: Array,\r\n default: false\r\n }\r\n },\r\n\r\n methods: {\r\n slideNext: function(speed, runCallbacks) {\r\n this.swiper.slideNext(speed, runCallbacks);\r\n },\r\n\r\n slidePrev: function(speed, runCallbacks) {\r\n this.swiper.slidePrev(speed, runCallbacks);\r\n },\r\n\r\n slideTo: function(index, speed, runCallbacks) {\r\n this.swiper.slideTo(index, speed, runCallbacks);\r\n },\r\n\r\n slideToLoop: function(index, speed, runCallbacks) {\r\n this.swiper.slideToLoop(index, speed, runCallbacks);\r\n },\r\n\r\n slideReset: function(speed, runCallbacks) {\r\n this.swiper.slideReset(speed, runCallbacks);\r\n },\r\n\r\n slideToClosest: function(speed, runCallbacks) {\r\n this.swiper.slideToClosest(speed, runCallbacks);\r\n },\r\n\r\n autoplayStart: function() {\r\n this.swiper.autoplay.start();\r\n },\r\n\r\n autoplayStop: function() {\r\n this.swiper.autoplay.stop();\r\n },\r\n\r\n update: function() {\r\n this.update({});\r\n }\r\n },\r\n\r\n events: {\r\n change: Event,\r\n },\r\n\r\n render: function(node) {\r\n this.template = node.innerHTML;\r\n\r\n this.container = this.$node = node;\r\n this.container.classList.add('swiper-container');\r\n this.container.innerHTML = '';\r\n\r\n this.wrapper = document.createElement('div');\r\n this.wrapper.className = 'swiper-wrapper';\r\n\r\n this.pagination = document.createElement('div');\r\n this.pagination.className = 'swiper-pagination';\r\n\r\n this.buttonPrev = document.createElement('div');\r\n this.buttonPrev.className = 'swiper-button-prev';\r\n\r\n this.buttonNext = document.createElement('div');\r\n this.buttonNext.className = 'swiper-button-next';\r\n\r\n this.scrollbar = document.createElement('div');\r\n this.scrollbar.className = 'swiper-scrollbar';\r\n\r\n this.container.appendChild(this.wrapper);\r\n\r\n this.update({});\r\n },\r\n\r\n update: function(props) {\r\n if (JSON.stringify(props) != JSON.stringify(this.props)) {\r\n if (!this.dynamic) {\r\n this.wrapper.innerHTML = this.template;\r\n this.$parse(this.wrapper);\r\n } else {\r\n if (JSON.stringify(props.slides) != JSON.stringify(this.props.slides)) {\r\n this.wrapper.innerHTML = '';\r\n this.children.splice(0).forEach(function(child) {\r\n child.$destroy();\r\n });\r\n\r\n var slides = dmx.repeatItems(this.props.slides);\r\n\r\n if (slides.length) {\r\n var template = document.createElement('div');\r\n template.innerHTML = this.template;\r\n\r\n var RepeatItem = dmx.Component('repeat-item');\r\n var fragment = document.createDocumentFragment();\r\n\r\n for (var i = 0; i < slides.length; i++) {\r\n var child = new RepeatItem(template.cloneNode(true), this, slides[i]);\r\n child.$nodes.forEach(function(node) {\r\n fragment.appendChild(node);\r\n child.$parse(node);\r\n });\r\n this.children.push(child);\r\n }\r\n\r\n this.wrapper.appendChild(fragment);\r\n }\r\n }\r\n }\r\n\r\n if (this.props.pagination) {\r\n this.container.appendChild(this.pagination);\r\n } else {\r\n dmx.dom.remove(this.pagination);\r\n }\r\n\r\n if (this.props.navigation) {\r\n this.container.appendChild(this.buttonPrev);\r\n this.container.appendChild(this.buttonNext);\r\n } else {\r\n dmx.dom.remove([this.buttonPrev, this.buttonNext]);\r\n }\r\n\r\n if (this.props.scrollbar) {\r\n this.container.appendChild(this.scrollbar);\r\n } else {\r\n dmx.dom.remove(this.scrollbar);\r\n }\r\n\r\n var params = {\r\n direction: this.props.vertical ? 'vertical' : 'horizontal',\r\n speed: this.props.speed,\r\n autoHeight: this.props['auto-height'],\r\n effect: this.props.effect,\r\n spaceBetween: this.props['space-between'],\r\n slidesPerView: this.props['slides-per-view'],\r\n slidesPerGroup: this.props['slides-per-group'],\r\n centeredSlides: this.props['centered-slides'],\r\n slidesOffsetBefore: this.props['slides-offset-before'],\r\n slidesOffsetAfter: this.props['slides-offset-after'],\r\n grabCursor: this.props['grab-cursor'],\r\n freeMode: this.props['free-mode'],\r\n freeModeSticky: this.props['free-mode-sticky'],\r\n loop: this.props.loop,\r\n loopFillGroupWithBlank: this.props['loop-fill'],\r\n pagination: {\r\n el: this.props.pagination ? '.swiper-pagination' : null,\r\n type: this.props.pagination,\r\n clickable: true\r\n },\r\n navigation: {\r\n prevEl: this.props.navigation ? '.swiper-button-prev' : null,\r\n nextEl: this.props.navigation ? '.swiper-button-next' : null\r\n },\r\n scrollbar: {\r\n el: this.props.scrollbar ? '.swiper-scrollbar' : null,\r\n draggable: true,\r\n snapOnRelease: true\r\n },\r\n autoplay: this.props.autoplay,\r\n parallax: this.props.parallax,\r\n keyboard: this.props.keyboard,\r\n mousewheel: this.props.mousewheel,\r\n breakpointsInverse: true,\r\n breakpoints: {},\r\n observer: this.props.observer,\r\n observeParents: this.props.observer\r\n };\r\n\r\n this.spaceBetween = this.props['space-between'];\r\n this.slidesPerView = this.props['slides-per-view'];\r\n this.slidesPerGroup = this.props['slides-per-group'];\r\n\r\n params.breakpoints[576] = this.getBreakpointProps('sm');\r\n params.breakpoints[768] = this.getBreakpointProps('md');\r\n params.breakpoints[992] = this.getBreakpointProps('lg');\r\n params.breakpoints[1200] = this.getBreakpointProps('xl');\r\n\r\n if (window.wapplerDesignView) {\r\n params.simulateTouch = false;\r\n }\r\n\r\n // Delayed init, let App Connect first update the slides\r\n var self = this;\r\n requestAnimationFrame(function() {\r\n if (self.swiper) self.swiper.destroy();\r\n var swiper = self.swiper = new Swiper(self.container, params);\r\n swiper.on('observerUpdate', self.updateData);\r\n swiper.on('slideChange', self.updateData);\r\n swiper.on('slideChange', self.dispatchEvent.bind(self, 'change'));\r\n self.updateData();\r\n });\r\n }\r\n },\r\n\r\n updated: function() {\r\n if (this.swiper && !this.swiper.destroyed) {\r\n this.swiper.updateSize();\r\n }\r\n },\r\n\r\n getBreakpointProps: function(suffix) {\r\n if (this.props['space-between-' + suffix] != null) {\r\n this.spaceBetween = this.props['space-between-' + suffix];\r\n }\r\n\r\n if (this.props['slides-per-view-' + suffix] != null) {\r\n this.slidesPerView = this.props['slides-per-view-' + suffix];\r\n }\r\n\r\n if (this.props['slides-per-group-' + suffix] != null) {\r\n this.slidesPerGroup = this.props['slides-per-group-' + suffix];\r\n }\r\n\r\n return {\r\n spaceBetween: this.spaceBetween,\r\n slidesPerView: this.slidesPerView,\r\n slidesPerGroup: this.slidesPerGroup\r\n };\r\n },\r\n\r\n updateData: function() {\r\n if (this.swiper && !this.swiper.destroyed) {\r\n var total = this.swiper.loopedSlides || this.swiper.slides.length;\r\n\r\n this.set('index', total > 0 ? this.swiper.realIndex % total : 0);\r\n this.set('total', total);\r\n this.set('isBeginning', this.swiper.isBeginning);\r\n this.set('isEnd', this.swiper.isEnd);\r\n }\r\n }\r\n\r\n});\r\n"]}