{"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","tag","attributes","type","Array","String","delay","Number","Boolean","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","update","JSON","stringify","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/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 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 }, options);\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(this, tile, x, y, width, height, offsetLeft, offsetTop);\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(slideshow, Object.assign({\r\n duration: 400,\r\n\r\n setup: function() {\r\n this.slideshow.slider.style.setProperty('transition', 'left ' + this.options.duration + 'ms ease-out');\r\n },\r\n\r\n execute: function() {\r\n this.slideshow.slider.style.setProperty('left', '-' + (this.index * 100) + '%');\r\n setTimeout(this.finished.bind(this), this.options.duration);\r\n }\r\n }, options));\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 tag: 'div',\r\n\r\n attributes: {\r\n slides: {\r\n type: Array,\r\n default: []\r\n },\r\n\r\n 'slide-url': {\r\n type: String,\r\n default: 'url'\r\n },\r\n\r\n 'slide-title': {\r\n type: String,\r\n default: 'title'\r\n },\r\n\r\n 'slide-description': {\r\n type: String,\r\n default: 'description'\r\n },\r\n\r\n 'slide-link': {\r\n type: String,\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 'show-nav': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n 'show-paging': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n 'pause-on-hover': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n 'start-random': {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n 'no-autostart': {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n methods: {\r\n start: function() {\r\n this.start();\r\n },\r\n\r\n stop: function() {\r\n this.stop();\r\n },\r\n\r\n prev: function(effect, options) {\r\n this.prev(effect, options);\r\n },\r\n\r\n next: function(effect, options) {\r\n this.next(effect, options);\r\n },\r\n\r\n show: function(index, effect, options) {\r\n this.show(index, false, effect, options);\r\n }\r\n },\r\n\r\n render: function(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['pause-on-hover']) {\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(attr, i) {\r\n if (dmx.slideshow.transitions[attr.argument]) {\r\n transitions[attr.argument] = attr.modifiers;\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.update({});\r\n },\r\n\r\n update: function(props) {\r\n if (this.props['show-nav'] != props['show-nav']) {\r\n if (this.props['show-nav']) {\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 (this.props['show-paging'] != props['show-paging']) {\r\n if (this.props['show-paging']) {\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 (JSON.stringify(this.props.slides) != JSON.stringify(props.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(function(data) {\r\n var scope = new dmx.DataScope(data, this);\r\n var slide = {\r\n loaded: false,\r\n url: dmx.parse(this.props['slide-url'], scope),\r\n width: 0,\r\n height: 0,\r\n title: dmx.parse(this.props['slide-title'], scope),\r\n description: dmx.parse(this.props['slide-description'], scope),\r\n link: dmx.parse(this.props['slide-link'], 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 (!this.slides.filter(function(slide) { return !slide.loaded; }).length) {\r\n this.setup();\r\n }\r\n }, self);\r\n };\r\n image.src = slide.url;\r\n return slide;\r\n }, this);\r\n }\r\n },\r\n\r\n setup: function() {\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('padding-top', (this.slides[0].height * 100 / this.slides[0].width) + '%');\r\n }\r\n\r\n if (this.props['start-random']) {\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['no-autostart']) {\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 = (event.targetTouches ? event.targetTouches[0].pageX : event.pageX) - this.moveStart.pointer;\r\n var x = this.moveStart.slider + delta;\r\n\r\n if (Math.abs(delta) > 10 && x < 0 && x > -(this.slides.length - 1) * this.$node.offsetWidth) {\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 = this.moveStart.last < this.slider.offsetLeft ? 'ceil' : 'floor';\r\n var index = Math.abs(Math[round](this.slider.offsetLeft / this.$node.offsetWidth));\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(this.show.bind(this, this.data.index + 1), this.props.delay);\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"]}