{"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","initial-slide","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","initialSlide","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'initial-slide': {\r\n\t\t\ttype: Number,\r\n default: null\r\n\t\t},\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\t\t\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\t\t\t\tinitialSlide: this.props['initial-slide']\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"]}