{"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","effect","String","undefined","loop","pagination","navigation","scrollbar","autoplay","parallax","keyboard","mousewheel","observer","rewind","slides","Array","methods","slideNext","runCallbacks","swiper","slidePrev","slideTo","slideToLoop","slideReset","slideToClosest","autoplayStart","start","autoplayStop","stop","update","events","change","Event","rendered","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","enabled","sticky","loopFillGroupWithBlank","el","clickable","dynamicBullets","prevEl","nextEl","draggable","snapOnRelease","breakpointsInverse","breakpoints","observeParents","hashNavigation","watchState","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.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, cards, creative\r\n },\r\n\r\n 'initial-slide': {\r\n\t\t\ttype: Number,\r\n default: 0\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: undefined\r\n },\r\n\r\n 'slides-per-view-sm': {\r\n type: String,\r\n default: undefined\r\n },\r\n\r\n 'slides-per-group-sm': {\r\n type: Number,\r\n default: undefined\r\n },\r\n\r\n 'space-between-md': {\r\n type: Number,\r\n default: undefined\r\n },\r\n\r\n 'slides-per-view-md': {\r\n type: String,\r\n default: undefined\r\n },\r\n\r\n 'slides-per-group-md': {\r\n type: Number,\r\n default: undefined\r\n },\r\n\r\n 'space-between-lg': {\r\n type: Number,\r\n default: undefined\r\n },\r\n\r\n 'slides-per-view-lg': {\r\n type: String,\r\n default: undefined\r\n },\r\n\r\n 'slides-per-group-lg': {\r\n type: Number,\r\n default: undefined\r\n },\r\n\r\n 'space-between-xl': {\r\n type: Number,\r\n default: undefined\r\n },\r\n\r\n 'slides-per-view-xl': {\r\n type: String,\r\n default: undefined\r\n },\r\n\r\n 'slides-per-group-xl': {\r\n type: Number,\r\n default: undefined\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\r\n // Components\r\n\r\n pagination: {\r\n type: String,\r\n default: undefined // bullets, fraction, progressbar\r\n },\r\n\r\n navigation: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\t\t\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-bullets': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n rewind: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\t\t\r\n\t\t'hash-navigation': {\r\n\t\t\ttype: Boolean,\r\n default: false\r\n\t\t},\r\n\t\t\r\n\t\t'watch-state': {\r\n\t\t\ttype: Boolean,\r\n default: false\r\n\t\t},\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 rendered: 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');\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: {\r\n enabled: this.props['free-mode'],\r\n sticky: this.props['free-mode-sticky']\r\n },\r\n loop: this.props.loop,\r\n loopFillGroupWithBlank: this.props['loop-fill'], // not an option anymore?\r\n pagination: {\r\n el: this.props.pagination ? '.swiper-pagination' : null,\r\n type: this.props.pagination,\r\n clickable: true,\r\n dynamicBullets: this.props['dynamic-bullets']\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\t\t\t\t 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, // not an option anymore?\r\n breakpoints: {},\r\n observer: this.props.observer,\r\n observeParents: this.props.observer,\r\n rewind: this.props.rewind,\r\n\t\t\t\thashNavigation: {\r\n\t\t\t\t\tenabled: this.props['hash-navigation'],\r\n\t\t\t\t\twatchState: this.props['watch-state']\r\n\t\t\t\t},\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('realIndexChange', self.updateData);\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 self.dispatchEvent('rendered');\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"]}