{"version":3,"sources":["core/base.js","components/slideshow.js","transitions/fade.js","transitions/slide.js"],"names":["dmx","slideshow","transitions","Transition","options","this","Object","assign","requires3d","setup","noop","createTile","execute","finished","bind","after","prototype","constructor","hasFinished","run","index","prevSlide","slides","data","nextSlide","width","slidesContainer","offsetWidth","height","offsetHeight","call","$node","requestAnimationFrame","transitionEnd","style","removeProperty","effectsContainer","innerHTML","random","arguments","Math","floor","length","createTiles","cols","rows","colWidth","colRemainder","colAddPerLoop","ceil","round","rowHeight","rowRemainder","rowAddPerLoop","offsetLeft","fragment","document","createDocumentFragment","x","remainder","offsetTop","add","y","tile","createElement","setProperty","appendChild","default","duration","slider","setTimeout","Component","initialData","running","attributes","type","Array","slideUrl","String","slideTitle","slideDescription","slideLink","delay","Number","showNav","Boolean","showPaging","pauseOnHover","startRandom","noAutostart","methods","start","stop","prev","effect","next","show","render","node","moveListener","touchMove","endListener","touchEnd","className","classList","id","name","parentNode","replaceChild","textboxContainer","navContainer","pagingContainer","textboxElm","titleElm","descriptionElm","prevElm","nextElm","pagesElm","props","addEventListener","pause","continue","touchStart","self","event","stopPropagation","hasChildNodes","i","childNodes","childNode","parseAttribute","forEach","attr","argument","modifiers","tagName","push","url","getAttribute","title","description","link","custom","keys","performUpdate","Map","updatedProps","has","map","scope","DataScope","slide","loaded","parse","image","Image","onload","nextTick","filter","src","remove","showText","showImage","pageElm","img","setAttribute","set","animating","targetTouches","moved","moveStart","pointer","pageX","last","removeEventListener","window","delta","abs","hideText","location","paused","clearTimeout","timer","def","transition","effects","attrName","re","RegExp","nodeType","attribute","specified","test","split","part","pos","indexOf","substr","fullName","value","fade","slide1","slide2","direction","image1","image2","cloneNode"],"mappings":"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","file":"dmxSlideshow.js","sourcesContent":["dmx.slideshow = {};\r\ndmx.slideshow.transitions = {};\r\n\r\ndmx.slideshow.Transition = function (slideshow, options) {\r\n this.slideshow = slideshow;\r\n this.options = Object.assign(\r\n {\r\n requires3d: false,\r\n setup: dmx.noop,\r\n createTile: dmx.noop,\r\n execute: this.finished.bind(this),\r\n after: dmx.noop,\r\n },\r\n options\r\n );\r\n};\r\n\r\ndmx.slideshow.Transition.prototype = {\r\n constructor: dmx.slideshow.Transition,\r\n\r\n hasFinished: false,\r\n\r\n run: function (index) {\r\n this.index = index;\r\n this.prevSlide = this.slideshow.slides[this.slideshow.data.index];\r\n this.nextSlide = this.slideshow.slides[index];\r\n this.width = this.slideshow.slidesContainer.offsetWidth;\r\n this.height = this.slideshow.slidesContainer.offsetHeight;\r\n // run setup\r\n this.options.setup.call(this);\r\n // force redraw (bugfix for firefox)\r\n this.slideshow.$node.offsetWidth;\r\n // execute on next cycle\r\n requestAnimationFrame(this.options.execute.bind(this));\r\n },\r\n\r\n finished: function () {\r\n if (this.hasFinished) return;\r\n this.hasFinished = true;\r\n this.options.after.call(this);\r\n this.slideshow.transitionEnd();\r\n this.slideshow.slidesContainer.style.removeProperty(\"display\");\r\n this.slideshow.effectsContainer.style.removeProperty(\"overflow\");\r\n this.slideshow.effectsContainer.style.removeProperty(\"perspective\");\r\n this.slideshow.effectsContainer.style.removeProperty(\"perspective-origin\");\r\n this.slideshow.effectsContainer.style.removeProperty(\"transform-style\");\r\n this.slideshow.effectsContainer.innerHTML = \"\";\r\n },\r\n\r\n random: function () {\r\n return arguments[Math.floor(Math.random() * arguments.length)];\r\n },\r\n\r\n createTiles: function (cols, rows) {\r\n var colWidth = Math.floor(this.width / cols);\r\n var colRemainder = this.width - cols * colWidth;\r\n var colAddPerLoop = Math.ceil(colRemainder / cols);\r\n\r\n if (rows == \"auto\") {\r\n rows = Math.round(this.height / colWidth);\r\n }\r\n\r\n var rowHeight = Math.floor(this.height / rows);\r\n var rowRemainder = this.height - rows * rowHeight;\r\n var rowAddPerLoop = Math.ceil(rowRemainder / rows);\r\n\r\n var offsetLeft = 0;\r\n\r\n var fragment = document.createDocumentFragment();\r\n\r\n for (var x = 0; x < cols; x++) {\r\n var width = colWidth;\r\n var remainder = rowRemainder;\r\n var offsetTop = 0;\r\n\r\n if (colRemainder > 0) {\r\n var add = colRemainder > colAddPerLoop ? colAddPerLoop : colRemainder;\r\n width += add;\r\n colRemainder -= add;\r\n }\r\n\r\n for (var y = 0; y < rows; y++) {\r\n var height = rowHeight;\r\n\r\n if (remainder > 0) {\r\n var add = remainder > rowAddPerLoop ? rowAddPerLoop : remainder;\r\n height += add;\r\n remainder -= add;\r\n }\r\n\r\n var tile = document.createElement(\"div\");\r\n tile.style.setProperty(\"position\", \"absolute\");\r\n tile.style.setProperty(\"width\", width + \"px\");\r\n tile.style.setProperty(\"height\", height + \"px\");\r\n tile.style.setProperty(\"left\", offsetLeft + \"px\");\r\n tile.style.setProperty(\"top\", offsetTop + \"px\");\r\n\r\n this.options.createTile.call(\r\n this,\r\n tile,\r\n x,\r\n y,\r\n width,\r\n height,\r\n offsetLeft,\r\n offsetTop\r\n );\r\n\r\n fragment.appendChild(tile);\r\n\r\n offsetTop += height;\r\n }\r\n\r\n offsetLeft += width;\r\n }\r\n\r\n return fragment;\r\n },\r\n};\r\n\r\ndmx.slideshow.transitions.default = function (slideshow, options) {\r\n return new dmx.slideshow.Transition(\r\n slideshow,\r\n Object.assign(\r\n {\r\n duration: 400,\r\n\r\n setup: function () {\r\n this.slideshow.slider.style.setProperty(\r\n \"transition\",\r\n \"left \" + this.options.duration + \"ms ease-out\"\r\n );\r\n },\r\n\r\n execute: function () {\r\n this.slideshow.slider.style.setProperty(\r\n \"left\",\r\n \"-\" + this.index * 100 + \"%\"\r\n );\r\n setTimeout(this.finished.bind(this), this.options.duration);\r\n },\r\n },\r\n options\r\n )\r\n );\r\n};\r\n","dmx.Component(\"slideshow\", {\r\n\r\n initialData: {\r\n running: false,\r\n index: 0,\r\n },\r\n\r\n attributes: {\r\n slides: {\r\n type: Array,\r\n default: [],\r\n },\r\n\r\n slideUrl: {\r\n type: String, // expression\r\n default: \"url\",\r\n },\r\n\r\n slideTitle: {\r\n type: String, // expression\r\n default: \"title\",\r\n },\r\n\r\n slideDescription: {\r\n type: String, // expression\r\n default: \"description\",\r\n },\r\n\r\n slideLink: {\r\n type: String, // expression\r\n default: \"link\",\r\n },\r\n\r\n transitions: {\r\n type: Object,\r\n default: { default: {} },\r\n },\r\n\r\n delay: {\r\n type: Number,\r\n default: 4000,\r\n },\r\n\r\n showNav: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n showPaging: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n pauseOnHover: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n startRandom: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n noAutostart: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n\r\n methods: {\r\n start () {\r\n this.start();\r\n },\r\n\r\n stop () {\r\n this.stop();\r\n },\r\n\r\n prev (effect, options) {\r\n this.prev(effect, options);\r\n },\r\n\r\n next (effect, options) {\r\n this.next(effect, options);\r\n },\r\n\r\n show (index, effect, options) {\r\n this.show(index, false, effect, options);\r\n },\r\n },\r\n\r\n render (node) {\r\n this.moveListener = this.touchMove.bind(this);\r\n this.endListener = this.touchEnd.bind(this);\r\n\r\n this.$node = document.createElement(\"div\");\r\n this.$node.className = node.className;\r\n this.$node.classList.add(\"dmx-slideshow\", \"dmx-slideshow-loading\");\r\n this.$node.id = this.name;\r\n this.$node.style.width = node.style.width;\r\n this.$node.style.height = node.style.height;\r\n node.parentNode.replaceChild(this.$node, node);\r\n\r\n this.slidesContainer = document.createElement(\"div\");\r\n this.slidesContainer.classList.add(\"dmx-slideshow-slides-container\");\r\n\r\n this.slider = document.createElement(\"div\");\r\n this.slider.className = \"dmx-slideshow-slider\";\r\n this.slider.style.setProperty(\"position\", \"relative\");\r\n\r\n this.effectsContainer = document.createElement(\"div\");\r\n this.effectsContainer.classList.add(\"dmx-slideshow-effects-container\");\r\n\r\n this.textboxContainer = document.createElement(\"div\");\r\n this.textboxContainer.classList.add(\"dmx-slideshow-textbox-container\");\r\n\r\n this.navContainer = document.createElement(\"div\");\r\n this.navContainer.classList.add(\"dmx-slideshow-nav-container\");\r\n\r\n this.pagingContainer = document.createElement(\"div\");\r\n this.pagingContainer.classList.add(\"dmx-slideshow-paging-container\");\r\n\r\n this.textboxElm = document.createElement(\"div\");\r\n this.textboxElm.classList.add(\"dmx-slideshow-textbox\");\r\n\r\n this.titleElm = document.createElement(\"div\");\r\n this.titleElm.classList.add(\"dmx-slideshow-title\");\r\n\r\n this.descriptionElm = document.createElement(\"div\");\r\n this.descriptionElm.classList.add(\"dmx-slideshow-description\");\r\n\r\n this.prevElm = document.createElement(\"div\");\r\n this.prevElm.classList.add(\"dmx-slideshow-prev\");\r\n\r\n this.nextElm = document.createElement(\"div\");\r\n this.nextElm.classList.add(\"dmx-slideshow-next\");\r\n\r\n this.pagesElm = document.createElement(\"ul\");\r\n\r\n this.textboxElm.appendChild(this.titleElm);\r\n this.textboxElm.appendChild(this.descriptionElm);\r\n this.textboxContainer.appendChild(this.textboxElm);\r\n this.navContainer.appendChild(this.prevElm);\r\n this.navContainer.appendChild(this.nextElm);\r\n this.pagingContainer.appendChild(this.pagesElm);\r\n this.slidesContainer.appendChild(this.slider);\r\n this.$node.appendChild(this.slidesContainer);\r\n this.$node.appendChild(this.effectsContainer);\r\n this.$node.appendChild(this.textboxContainer);\r\n this.$node.appendChild(this.navContainer);\r\n this.$node.appendChild(this.pagingContainer);\r\n\r\n if (this.props.pauseOnHover) {\r\n this.$node.addEventListener(\"mouseenter\", this.pause.bind(this));\r\n this.$node.addEventListener(\"mouseleave\", this.continue.bind(this));\r\n }\r\n\r\n this.$node.addEventListener(\"mousedown\", this.touchStart.bind(this));\r\n this.$node.addEventListener(\"touchstart\", this.touchStart.bind(this));\r\n\r\n var self = this;\r\n\r\n this.prevElm.addEventListener(\"mousedown\", function (event) {\r\n event.stopPropagation();\r\n });\r\n\r\n this.prevElm.addEventListener(\"touchstart\", function (event) {\r\n event.stopPropagation();\r\n });\r\n\r\n this.prevElm.addEventListener(\"click\", function (event) {\r\n event.stopPropagation();\r\n self.prev();\r\n });\r\n\r\n this.nextElm.addEventListener(\"mousedown\", function (event) {\r\n event.stopPropagation();\r\n });\r\n\r\n this.nextElm.addEventListener(\"touchstart\", function (event) {\r\n event.stopPropagation();\r\n });\r\n\r\n this.nextElm.addEventListener(\"click\", function (event) {\r\n event.stopPropagation();\r\n self.next();\r\n });\r\n\r\n //this.transitions = Object.keys(dmx.slideshow.transitions);\r\n this.slides = [];\r\n\r\n if (node.hasChildNodes()) {\r\n for (var i = 0; i < node.childNodes.length; i++) {\r\n var childNode = node.childNodes[i];\r\n var transitions = {};\r\n\r\n this.parseAttribute(childNode, \"transition\").forEach(function (\r\n attr,\r\n i\r\n ) {\r\n if (dmx.slideshow.transitions[attr.argument]) {\r\n transitions[attr.argument] = attr.modifiers;\r\n }\r\n },\r\n this);\r\n\r\n if (childNode.tagName == \"DMX-SLIDE\") {\r\n this.props.slides.push({\r\n url: childNode.getAttribute(\"url\"),\r\n title: childNode.getAttribute(\"title\"),\r\n description: childNode.getAttribute(\"description\"),\r\n link: childNode.getAttribute(\"link\"),\r\n transitions: transitions,\r\n });\r\n }\r\n }\r\n }\r\n\r\n var custom = false;\r\n this.parseAttribute(node, \"transition\").forEach(function (attr, i) {\r\n if (attr.argument == \"all\") {\r\n Object.keys(dmx.slideshow.transitions).forEach(function (effect) {\r\n this.props.transitions[effect] = {};\r\n }, this);\r\n }\r\n if (dmx.slideshow.transitions[attr.argument]) {\r\n if (!custom) {\r\n delete this.props.transitions.default;\r\n custom = true;\r\n }\r\n this.props.transitions[attr.argument] = attr.modifiers; //dmx.parse(attr.value || '{}', this);\r\n }\r\n }, this);\r\n\r\n this.performUpdate(new Map([\r\n ['showNav', 1],\r\n ['showPaging', 1],\r\n ['slides', 1],\r\n ]));\r\n },\r\n\r\n performUpdate (updatedProps) {\r\n if (updatedProps.has('showNav')) {\r\n if (this.props.showNav) {\r\n this.navContainer.style.removeProperty('display');\r\n } else {\r\n this.navContainer.style.setProperty('display', 'none');\r\n }\r\n }\r\n\r\n if (updatedProps.has('showPaging')) {\r\n if (this.props.showPaging) {\r\n this.pagingContainer.style.removeProperty('display');\r\n } else {\r\n this.pagingContainer.style.setProperty('display', 'none');\r\n }\r\n }\r\n\r\n if (updatedProps.has('slides')) {\r\n this.stop();\r\n //this.slidesContainer.innerHTML = '';\r\n this.slider.innerHTML = \"\";\r\n this.effectsContainer.innerHTML = \"\";\r\n this.titleElm.innerHTML = \"\";\r\n this.descriptionElm.innerHTML = \"\";\r\n this.pagesElm.innerHTML = \"\";\r\n this.slides = this.props.slides.map(data => {\r\n var scope = dmx.DataScope(data, this);\r\n var slide = {\r\n loaded: false,\r\n url: dmx.parse(this.props.slideUrl, scope),\r\n width: 0,\r\n height: 0,\r\n title: dmx.parse(this.props.slideTitle, scope),\r\n description: dmx.parse(this.props.slideDescription, scope),\r\n link: dmx.parse(this.props.slideLink, scope),\r\n transitions: data.transitions || {},\r\n };\r\n var self = this;\r\n var image = new Image();\r\n image.onload = function () {\r\n slide.loaded = true;\r\n slide.width = this.width;\r\n slide.height = this.height;\r\n dmx.nextTick(function () {\r\n if (\r\n !this.slides.filter(function (slide) {\r\n return !slide.loaded;\r\n }).length\r\n ) {\r\n this.setup();\r\n }\r\n }, self);\r\n };\r\n image.src = slide.url;\r\n return slide;\r\n });\r\n }\r\n },\r\n\r\n setup () {\r\n var index = 0;\r\n\r\n this.slider.innerHTML = \"\";\r\n this.effectsContainer.innerHTML = \"\";\r\n this.titleElm.innerHTML = \"\";\r\n this.descriptionElm.innerHTML = \"\";\r\n this.pagesElm.innerHTML = \"\";\r\n\r\n this.$node.classList.remove(\"dmx-slideshow-loading\");\r\n\r\n if (this.slides.length) {\r\n if (!this.$node.style.height) {\r\n this.$node.style.setProperty(\r\n \"padding-top\",\r\n (this.slides[0].height * 100) / this.slides[0].width + \"%\"\r\n );\r\n }\r\n\r\n if (this.props.startRandom) {\r\n index = Math.floor(Math.random() * this.slides.length);\r\n }\r\n\r\n this.showText(index);\r\n this.showImage(index);\r\n\r\n this.pagesElm.innerHTML = \"\";\r\n this.slides.forEach(function (slide, i) {\r\n var self = this;\r\n var pageElm = document.createElement(\"li\");\r\n //pageElm.innerText = i;\r\n pageElm.addEventListener(\"mousedown\", function (event) {\r\n event.stopPropagation();\r\n });\r\n\r\n pageElm.addEventListener(\"touchstart\", function (event) {\r\n event.stopPropagation();\r\n });\r\n pageElm.addEventListener(\"click\", function (event) {\r\n event.stopPropagation();\r\n self.show(i);\r\n });\r\n if (index == i) {\r\n pageElm.className = \"current\";\r\n }\r\n this.pagesElm.appendChild(pageElm);\r\n\r\n var img = document.createElement(\"img\");\r\n img.setAttribute(\"src\", slide.url);\r\n img.setAttribute(\"alt\", slide.title || \"\");\r\n img.style.setProperty(\"position\", \"absolute\");\r\n img.style.setProperty(\"width\", \"100%\");\r\n img.style.setProperty(\"left\", i * 100 + \"%\");\r\n this.slider.appendChild(img);\r\n }, this);\r\n }\r\n\r\n this.set(\"index\", index);\r\n\r\n if (!this.props.noAutostart) {\r\n this.start();\r\n }\r\n },\r\n\r\n touchStart: function (event) {\r\n if (this.animating) return;\r\n if (event.targetTouches && event.targetTouches.length > 1) return;\r\n\r\n this.moved = false;\r\n this.moveStart = {\r\n pointer: event.targetTouches ? event.targetTouches[0].pageX : event.pageX,\r\n slider: this.slider.offsetLeft,\r\n last: this.slider.offsetLeft,\r\n };\r\n\r\n // remove any old listeners\r\n document.removeEventListener(\"mousemove\", this.moveListener);\r\n window.removeEventListener(\"mouseup\", this.endListener);\r\n this.$node.removeEventListener(\"touchmove\", this.moveListener);\r\n this.$node.removeEventListener(\"touchend\", this.endListener);\r\n\r\n if (event.type == \"touchstart\") {\r\n this.$node.addEventListener(\"touchmove\", this.moveListener);\r\n this.$node.addEventListener(\"touchend\", this.endListener);\r\n } else {\r\n document.addEventListener(\"mousemove\", this.moveListener);\r\n window.addEventListener(\"mouseup\", this.endListener);\r\n }\r\n },\r\n\r\n touchMove: function (event) {\r\n if (event.targetTouches && event.targetTouches.length > 1) return;\r\n\r\n var delta =\r\n (event.targetTouches ? event.targetTouches[0].pageX : event.pageX) -\r\n this.moveStart.pointer;\r\n var x = this.moveStart.slider + delta;\r\n\r\n if (\r\n Math.abs(delta) > 10 &&\r\n x < 0 &&\r\n x > -(this.slides.length - 1) * this.$node.offsetWidth\r\n ) {\r\n this.slider.style.setProperty(\"left\", x + \"px\");\r\n if (!this.moved) {\r\n this.hideText();\r\n this.moved = true;\r\n }\r\n }\r\n },\r\n\r\n touchEnd: function (event) {\r\n if (this.moved) {\r\n var round =\r\n this.moveStart.last < this.slider.offsetLeft ? \"ceil\" : \"floor\";\r\n var index = Math.abs(\r\n Math[round](this.slider.offsetLeft / this.$node.offsetWidth)\r\n );\r\n this.show(index, true);\r\n } else {\r\n var slide = this.slides[this.data.index];\r\n if (slide.link) {\r\n document.location = slide.link;\r\n }\r\n }\r\n\r\n document.removeEventListener(\"mousemove\", this.moveListener);\r\n window.removeEventListener(\"mouseup\", this.endListener);\r\n this.$node.removeEventListener(\"touchmove\", this.moveListener);\r\n this.$node.removeEventListener(\"touchend\", this.endListener);\r\n },\r\n\r\n pause: function () {\r\n this.paused = true;\r\n clearTimeout(this.timer);\r\n },\r\n\r\n continue: function () {\r\n this.paused = false;\r\n if (this.data.running) {\r\n this.start();\r\n }\r\n },\r\n\r\n start: function () {\r\n clearTimeout(this.timer);\r\n this.timer = setTimeout(\r\n this.show.bind(this, this.data.index + 1),\r\n this.props.delay\r\n );\r\n this.set(\"running\", true);\r\n },\r\n\r\n stop: function () {\r\n clearTimeout(this.timer);\r\n this.set(\"running\", false);\r\n },\r\n\r\n prev: function (effect, options) {\r\n this.show(this.data.index - 1, false, effect, options);\r\n },\r\n\r\n next: function (effect, options) {\r\n this.show(this.data.index + 1, false, effect, options);\r\n },\r\n\r\n show: function (index, def, effect, options) {\r\n if (this.animating) return;\r\n\r\n if (index == null) {\r\n index = this.data.index + 1;\r\n }\r\n\r\n if (index >= this.slides.length) {\r\n index = 0;\r\n }\r\n\r\n if (index < 0) {\r\n index = this.slides.length - 1;\r\n }\r\n\r\n if (def) {\r\n this.animating = true;\r\n dmx.slideshow.transitions[\"default\"](this).run(index);\r\n } else {\r\n this.transition(index, effect, options);\r\n }\r\n\r\n this.hideText();\r\n this.set(\"index\", index);\r\n\r\n for (var i = 0; i < this.pagesElm.childNodes.length; i++) {\r\n this.pagesElm.childNodes[i].className = index == i ? \"current\" : \"\";\r\n }\r\n },\r\n\r\n showText: function (index) {\r\n this.titleElm.innerHTML = this.slides[index].title || \"\";\r\n this.descriptionElm.innerHTML = this.slides[index].description || \"\";\r\n if (this.slides[index].title || this.slides[index].description) {\r\n this.textboxElm.classList.add(\"dmx-slideshow-textbox-show\");\r\n }\r\n },\r\n\r\n hideText: function () {\r\n this.textboxElm.classList.remove(\"dmx-slideshow-textbox-show\");\r\n },\r\n\r\n showImage: function (index) {\r\n this.slider.style.setProperty(\"left\", \"-\" + index * 100 + \"%\");\r\n },\r\n\r\n transition: function (index, effect, options) {\r\n if (!effect) {\r\n var transitions = this.slides[index].transitions;\r\n var effects = Object.keys(transitions);\r\n\r\n if (!effects.length) {\r\n transitions = this.props.transitions;\r\n effects = Object.keys(transitions);\r\n }\r\n\r\n effect = effects[Math.floor(Math.random() * effects.length)];\r\n options = transitions[effect];\r\n }\r\n\r\n this.animating = true;\r\n\r\n dmx.slideshow.transitions[effect](this, options).run(index);\r\n },\r\n\r\n transitionEnd: function () {\r\n this.animating = false;\r\n this.showImage(this.data.index);\r\n this.showText(this.data.index);\r\n this.slider.style.removeProperty(\"transition\");\r\n if (this.data.running && !this.paused) {\r\n this.start();\r\n }\r\n },\r\n\r\n parseAttribute: function (node, attrName) {\r\n var attributes = [];\r\n var re = new RegExp(\"^\" + attrName, \"i\");\r\n\r\n if (node.nodeType == 1) {\r\n for (var i = 0; i < node.attributes.length; i++) {\r\n var attribute = node.attributes[i];\r\n\r\n if (attribute && attribute.specified && re.test(attribute.name)) {\r\n var name = attribute.name;\r\n var argument = null;\r\n var modifiers = {};\r\n\r\n name.split(\".\").forEach(function (part, i) {\r\n if (i === 0) {\r\n name = part;\r\n } else {\r\n var pos = part.indexOf(\":\");\r\n if (pos > 0) {\r\n modifiers[part.substr(0, pos)] = part.substr(pos + 1);\r\n } else {\r\n modifiers[part] = true;\r\n }\r\n }\r\n });\r\n\r\n var pos = name.indexOf(\":\");\r\n if (pos > 0) {\r\n argument = name.substr(pos + 1);\r\n name = name.substr(0, pos);\r\n }\r\n\r\n attributes.push({\r\n name: name,\r\n fullName: attribute.name,\r\n value: attribute.value,\r\n argument: argument,\r\n modifiers: modifiers,\r\n });\r\n }\r\n }\r\n }\r\n\r\n return attributes;\r\n },\r\n\r\n});\r\n","dmx.slideshow.transitions.fade = function(slideshow, options) {\r\n return new dmx.slideshow.Transition(slideshow, Object.assign({\r\n duration: 800,\r\n\r\n setup: function() {\r\n this.slide1 = document.createElement('div');\r\n this.slide1.style.setProperty('position', 'absolute');\r\n this.slide1.style.setProperty('width', '100%');\r\n this.slide1.style.setProperty('height', '100%');\r\n this.slide1.style.setProperty('background-size', this.width + 'px');\r\n this.slide1.style.setProperty('background-image', 'url(\"' + this.prevSlide.url + '\")');\r\n\r\n this.slide2 = document.createElement('div');\r\n this.slide2.style.setProperty('position', 'absolute');\r\n this.slide2.style.setProperty('width', '100%');\r\n this.slide2.style.setProperty('height', '100%');\r\n this.slide2.style.setProperty('opacity', 0);\r\n this.slide2.style.setProperty('transition', 'opacity ' + this.options.duration + 'ms ease-in');\r\n this.slide2.style.setProperty('background-size', this.width + 'px');\r\n this.slide2.style.setProperty('background-image', 'url(\"' + this.nextSlide.url + '\")');\r\n\r\n slideshow.effectsContainer.appendChild(this.slide1);\r\n slideshow.effectsContainer.appendChild(this.slide2);\r\n },\r\n\r\n execute: function() {\r\n this.slide2.addEventListener('transitionend', this.finished.bind(this));\r\n this.slide2.style.setProperty('opacity', 1);\r\n setTimeout(this.finished.bind(this), this.options.duration);\r\n },\r\n\r\n after: function() {\r\n }\r\n }, options));\r\n};\r\n","dmx.slideshow.transitions.slide = function(slideshow, options) {\r\n return new dmx.slideshow.Transition(slideshow, Object.assign({\r\n direction: 'random',\r\n\r\n duration: 600,\r\n\r\n setup: function() {\r\n this.slider = document.createElement('div');\r\n this.slider.style.setProperty('position', 'absolute');\r\n this.slider.style.setProperty('width', '100%');\r\n this.slider.style.setProperty('height', '100%');\r\n this.slider.style.setProperty('transition', 'transform ' + this.options.duration + 'ms ease-in');\r\n\r\n this.image1 = document.createElement('div');\r\n this.image1.style.setProperty('position', 'absolute');\r\n this.image1.style.setProperty('width', '100%');\r\n this.image1.style.setProperty('height', '100%');\r\n\r\n this.image2 = this.image1.cloneNode();\r\n\r\n this.image1.style.setProperty('background-size', this.width + 'px');\r\n this.image1.style.setProperty('background-image', 'url(\"' + this.prevSlide.url + '\")');\r\n this.image2.style.setProperty('background-size', this.width + 'px');\r\n this.image2.style.setProperty('background-image', 'url(\"' + this.nextSlide.url + '\")');\r\n\r\n if (this.options.direction === 'random') {\r\n this.options.direction = ['left', 'right', 'up', 'down'][Math.floor(Math.random() * 4)];\r\n }\r\n\r\n switch (this.options.direction) {\r\n case 'left': this.image2.style.setProperty('left', '100%'); break;\r\n case 'right': this.image2.style.setProperty('left', '-100%'); break;\r\n case 'up': this.image2.style.setProperty('top', '100%'); break;\r\n case 'down': this.image2.style.setProperty('top', '-100%'); break;\r\n }\r\n\r\n this.slider.appendChild(this.image1);\r\n this.slider.appendChild(this.image2);\r\n slideshow.effectsContainer.style.setProperty('overflow', 'hidden');\r\n slideshow.effectsContainer.appendChild(this.slider);\r\n },\r\n\r\n execute: function() {\r\n this.slider.addEventListener('transitionend', this.finished.bind(this));\r\n switch (this.options.direction) {\r\n case 'left': this.slider.style.setProperty('transform', 'translate(-100%, 0)'); break;\r\n case 'right': this.slider.style.setProperty('transform', 'translate(100%, 0)'); break;\r\n case 'up': this.slider.style.setProperty('transform', 'translate(0, -100%)'); break;\r\n case 'down': this.slider.style.setProperty('transform', 'translate(0, 100%)'); break;\r\n }\r\n setTimeout(this.finished.bind(this), this.options.duration);\r\n },\r\n\r\n after: function() {\r\n slideshow.effectsContainer.style.removeProperty('overflow');\r\n }\r\n }, options));\r\n};\r\n"]}