{"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","slide-url","String","slide-title","slide-description","slide-link","delay","Number","show-nav","Boolean","show-paging","pause-on-hover","start-random","no-autostart","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":";;;;;;AAAAA,IAAAC,UAAA,GACAD,IAAAC,UAAAC,YAAA,GAEAF,IAAAC,UAAAE,WAAA,SAAAF,EAAAG,GACAC,KAAAJ,UAAAA,EACAI,KAAAD,QAAAE,OAAAC,OAAA,CACAC,YAAA,EACAC,MAAAT,IAAAU,KACAC,WAAAX,IAAAU,KACAE,QAAAP,KAAAQ,SAAAC,KAAAT,MACAU,MAAAf,IAAAU,MACAN,IAGAJ,IAAAC,UAAAE,WAAAa,UAAA,CACAC,YAAAjB,IAAAC,UAAAE,WAEAe,aAAA,EAEAC,IAAA,SAAAC,GACAf,KAAAe,MAAAA,EACAf,KAAAgB,UAAAhB,KAAAJ,UAAAqB,OAAAjB,KAAAJ,UAAAsB,KAAAH,OACAf,KAAAmB,UAAAnB,KAAAJ,UAAAqB,OAAAF,GACAf,KAAAoB,MAAApB,KAAAJ,UAAAyB,gBAAAC,YACAtB,KAAAuB,OAAAvB,KAAAJ,UAAAyB,gBAAAG,aAEAxB,KAAAD,QAAAK,MAAAqB,KAAAzB,MAEAA,KAAAJ,UAAA8B,MAAAJ,YAEAK,sBAAA3B,KAAAD,QAAAQ,QAAAE,KAAAT,QAGAQ,SAAA,WACAR,KAAAa,cACAb,KAAAa,aAAA,EACAb,KAAAD,QAAAW,MAAAe,KAAAzB,MACAA,KAAAJ,UAAAgC,gBACA5B,KAAAJ,UAAAyB,gBAAAQ,MAAAC,eAAA,WACA9B,KAAAJ,UAAAmC,iBAAAF,MAAAC,eAAA,YACA9B,KAAAJ,UAAAmC,iBAAAF,MAAAC,eAAA,eACA9B,KAAAJ,UAAAmC,iBAAAF,MAAAC,eAAA,sBACA9B,KAAAJ,UAAAmC,iBAAAF,MAAAC,eAAA,mBACA9B,KAAAJ,UAAAmC,iBAAAC,UAAA,KAGAC,OAAA,WACA,OAAAC,UAAAC,KAAAC,MAAAD,KAAAF,SAAAC,UAAAG,UAGAC,YAAA,SAAAC,EAAAC,GACA,IAAAC,EAAAN,KAAAC,MAAApC,KAAAoB,MAAAmB,GACAG,EAAA1C,KAAAoB,MAAAmB,EAAAE,EACAE,EAAAR,KAAAS,KAAAF,EAAAH,GAEA,QAAAC,IACAA,EAAAL,KAAAU,MAAA7C,KAAAuB,OAAAkB,IAWA,IARA,IAAAK,EAAAX,KAAAC,MAAApC,KAAAuB,OAAAiB,GACAO,EAAA/C,KAAAuB,OAAAiB,EAAAM,EACAE,EAAAb,KAAAS,KAAAG,EAAAP,GAEAS,EAAA,EAEAC,EAAAC,SAAAC,yBAEAC,EAAA,EAAAA,EAAAd,EAAAc,IAAA,CACA,IAAAjC,EAAAqB,EACAa,EAAAP,EACAQ,EAAA,EAEA,GAAA,EAAAb,EAEAtB,GADAoC,EAAAb,EAAAD,EAAAC,EAAAD,EAEAA,GAAAc,EAGA,IAAA,IAAAC,EAAA,EAAAA,EAAAjB,EAAAiB,IAAA,CACA,IAGAD,EAHAjC,EAAAuB,EAEA,GAAA,EAAAQ,EAEA/B,GADAiC,EAAAR,EAAAM,EAAAN,EAAAM,EAEAA,GAAAE,EAGA,IAAAE,EAAAP,SAAAQ,cAAA,OACAD,EAAA7B,MAAA+B,YAAA,WAAA,YACAF,EAAA7B,MAAA+B,YAAA,QAAAxC,EAAA,MACAsC,EAAA7B,MAAA+B,YAAA,SAAArC,EAAA,MACAmC,EAAA7B,MAAA+B,YAAA,OAAAX,EAAA,MACAS,EAAA7B,MAAA+B,YAAA,MAAAL,EAAA,MAEAvD,KAAAD,QAAAO,WAAAmB,KAAAzB,KAAA0D,EAAAL,EAAAI,EAAArC,EAAAG,EAAA0B,EAAAM,GAEAL,EAAAW,YAAAH,GAEAH,GAAAhC,EAGA0B,GAAA7B,EAGA,OAAA8B,IAIAvD,IAAAC,UAAAC,YAAAiE,QAAA,SAAAlE,EAAAG,GACA,OAAA,IAAAJ,IAAAC,UAAAE,WAAAF,EAAAK,OAAAC,OAAA,CACA6D,SAAA,IAEA3D,MAAA,WACAJ,KAAAJ,UAAAoE,OAAAnC,MAAA+B,YAAA,aAAA,QAAA5D,KAAAD,QAAAgE,SAAA,gBAGAxD,QAAA,WACAP,KAAAJ,UAAAoE,OAAAnC,MAAA+B,YAAA,OAAA,IAAA,IAAA5D,KAAAe,MAAA,KACAkD,WAAAjE,KAAAQ,SAAAC,KAAAT,MAAAA,KAAAD,QAAAgE,YAEAhE,KCxHAJ,IAAAuE,UAAA,YAAA,CAEAC,YAAA,CACAC,SAAA,EACArD,MAAA,GAGAsD,IAAA,MAEAC,WAAA,CACArD,OAAA,CACAsD,KAAAC,MACAV,QAAA,IAGAW,YAAA,CACAF,KAAAG,OACAZ,QAAA,OAGAa,cAAA,CACAJ,KAAAG,OACAZ,QAAA,SAGAc,oBAAA,CACAL,KAAAG,OACAZ,QAAA,eAGAe,aAAA,CACAN,KAAAG,OACAZ,QAAA,QAGAjE,YAAA,CACA0E,KAAAtE,OACA6D,QAAA,CAAAA,QAAA,KAGAgB,MAAA,CACAP,KAAAQ,OACAjB,QAAA,KAGAkB,WAAA,CACAT,KAAAU,QACAnB,SAAA,GAGAoB,cAAA,CACAX,KAAAU,QACAnB,SAAA,GAGAqB,iBAAA,CACAZ,KAAAU,QACAnB,SAAA,GAGAsB,eAAA,CACAb,KAAAU,QACAnB,SAAA,GAGAuB,eAAA,CACAd,KAAAU,QACAnB,SAAA,IAIAwB,QAAA,CACAC,MAAA,WACAvF,KAAAuF,SAGAC,KAAA,WACAxF,KAAAwF,QAGAC,KAAA,SAAAC,EAAA3F,GACAC,KAAAyF,KAAAC,EAAA3F,IAGA4F,KAAA,SAAAD,EAAA3F,GACAC,KAAA2F,KAAAD,EAAA3F,IAGA6F,KAAA,SAAA7E,EAAA2E,EAAA3F,GACAC,KAAA4F,KAAA7E,GAAA,EAAA2E,EAAA3F,KAIA8F,OAAA,SAAAC,GACA9F,KAAA+F,aAAA/F,KAAAgG,UAAAvF,KAAAT,MACAA,KAAAiG,YAAAjG,KAAAkG,SAAAzF,KAAAT,MAEAA,KAAA0B,MAAAyB,SAAAQ,cAAA,OACA3D,KAAA0B,MAAAyE,UAAAL,EAAAK,UACAnG,KAAA0B,MAAA0E,UAAA5C,IAAA,gBAAA,yBACAxD,KAAA0B,MAAA2E,GAAArG,KAAAsG,KACAtG,KAAA0B,MAAAG,MAAAT,MAAA0E,EAAAjE,MAAAT,MACApB,KAAA0B,MAAAG,MAAAN,OAAAuE,EAAAjE,MAAAN,OACAuE,EAAAS,WAAAC,aAAAxG,KAAA0B,MAAAoE,GAEA9F,KAAAqB,gBAAA8B,SAAAQ,cAAA,OACA3D,KAAAqB,gBAAA+E,UAAA5C,IAAA,kCAEAxD,KAAAgE,OAAAb,SAAAQ,cAAA,OACA3D,KAAAgE,OAAAmC,UAAA,uBACAnG,KAAAgE,OAAAnC,MAAA+B,YAAA,WAAA,YAEA5D,KAAA+B,iBAAAoB,SAAAQ,cAAA,OACA3D,KAAA+B,iBAAAqE,UAAA5C,IAAA,mCAEAxD,KAAAyG,iBAAAtD,SAAAQ,cAAA,OACA3D,KAAAyG,iBAAAL,UAAA5C,IAAA,mCAEAxD,KAAA0G,aAAAvD,SAAAQ,cAAA,OACA3D,KAAA0G,aAAAN,UAAA5C,IAAA,+BAEAxD,KAAA2G,gBAAAxD,SAAAQ,cAAA,OACA3D,KAAA2G,gBAAAP,UAAA5C,IAAA,kCAEAxD,KAAA4G,WAAAzD,SAAAQ,cAAA,OACA3D,KAAA4G,WAAAR,UAAA5C,IAAA,yBAEAxD,KAAA6G,SAAA1D,SAAAQ,cAAA,OACA3D,KAAA6G,SAAAT,UAAA5C,IAAA,uBAEAxD,KAAA8G,eAAA3D,SAAAQ,cAAA,OACA3D,KAAA8G,eAAAV,UAAA5C,IAAA,6BAEAxD,KAAA+G,QAAA5D,SAAAQ,cAAA,OACA3D,KAAA+G,QAAAX,UAAA5C,IAAA,sBAEAxD,KAAAgH,QAAA7D,SAAAQ,cAAA,OACA3D,KAAAgH,QAAAZ,UAAA5C,IAAA,sBAEAxD,KAAAiH,SAAA9D,SAAAQ,cAAA,MAEA3D,KAAA4G,WAAA/C,YAAA7D,KAAA6G,UACA7G,KAAA4G,WAAA/C,YAAA7D,KAAA8G,gBACA9G,KAAAyG,iBAAA5C,YAAA7D,KAAA4G,YACA5G,KAAA0G,aAAA7C,YAAA7D,KAAA+G,SACA/G,KAAA0G,aAAA7C,YAAA7D,KAAAgH,SACAhH,KAAA2G,gBAAA9C,YAAA7D,KAAAiH,UACAjH,KAAAqB,gBAAAwC,YAAA7D,KAAAgE,QACAhE,KAAA0B,MAAAmC,YAAA7D,KAAAqB,iBACArB,KAAA0B,MAAAmC,YAAA7D,KAAA+B,kBACA/B,KAAA0B,MAAAmC,YAAA7D,KAAAyG,kBACAzG,KAAA0B,MAAAmC,YAAA7D,KAAA0G,cACA1G,KAAA0B,MAAAmC,YAAA7D,KAAA2G,iBAEA3G,KAAAkH,MAAA,oBACAlH,KAAA0B,MAAAyF,iBAAA,aAAAnH,KAAAoH,MAAA3G,KAAAT,OACAA,KAAA0B,MAAAyF,iBAAA,aAAAnH,KAAAqH,SAAA5G,KAAAT,QAGAA,KAAA0B,MAAAyF,iBAAA,YAAAnH,KAAAsH,WAAA7G,KAAAT,OACAA,KAAA0B,MAAAyF,iBAAA,aAAAnH,KAAAsH,WAAA7G,KAAAT,OAEA,IAAAuH,EAAAvH,KA+BA,GA7BAA,KAAA+G,QAAAI,iBAAA,YAAA,SAAAK,GACAA,EAAAC,oBAGAzH,KAAA+G,QAAAI,iBAAA,aAAA,SAAAK,GACAA,EAAAC,oBAGAzH,KAAA+G,QAAAI,iBAAA,QAAA,SAAAK,GACAA,EAAAC,kBACAF,EAAA9B,SAGAzF,KAAAgH,QAAAG,iBAAA,YAAA,SAAAK,GACAA,EAAAC,oBAGAzH,KAAAgH,QAAAG,iBAAA,aAAA,SAAAK,GACAA,EAAAC,oBAGAzH,KAAAgH,QAAAG,iBAAA,QAAA,SAAAK,GACAA,EAAAC,kBACAF,EAAA5B,SAIA3F,KAAAiB,OAAA,GAEA6E,EAAA4B,gBACA,IAAA,IAAAC,EAAA,EAAAA,EAAA7B,EAAA8B,WAAAvF,OAAAsF,IAAA,CACA,IAAAE,EAAA/B,EAAA8B,WAAAD,GACA9H,EAAA,GAEAG,KAAA8H,eAAAD,EAAA,cAAAE,QAAA,SAAAC,EAAAL,GACAhI,IAAAC,UAAAC,YAAAmI,EAAAC,YACApI,EAAAmI,EAAAC,UAAAD,EAAAE,YAEAlI,MAEA,aAAA6H,EAAAM,SACAnI,KAAAkH,MAAAjG,OAAAmH,KAAA,CACAC,IAAAR,EAAAS,aAAA,OACAC,MAAAV,EAAAS,aAAA,SACAE,YAAAX,EAAAS,aAAA,eACAG,KAAAZ,EAAAS,aAAA,QACAzI,YAAAA,IAMA,IAAA6I,GAAA,EACA1I,KAAA8H,eAAAhC,EAAA,cAAAiC,QAAA,SAAAC,EAAAL,GACA,OAAAK,EAAAC,UACAhI,OAAA0I,KAAAhJ,IAAAC,UAAAC,aAAAkI,QAAA,SAAArC,GACA1F,KAAAkH,MAAArH,YAAA6F,GAAA,IACA1F,MAEAL,IAAAC,UAAAC,YAAAmI,EAAAC,YACAS,WACA1I,KAAAkH,MAAArH,YAAAiE,QACA4E,GAAA,GAEA1I,KAAAkH,MAAArH,YAAAmI,EAAAC,UAAAD,EAAAE,YAEAlI,MAEAA,KAAA4I,OAAA,KAGAA,OAAA,SAAA1B,GACAlH,KAAAkH,MAAA,aAAAA,EAAA,cACAlH,KAAAkH,MAAA,YACAlH,KAAA0G,aAAA7E,MAAAC,eAAA,WAEA9B,KAAA0G,aAAA7E,MAAA+B,YAAA,UAAA,SAIA5D,KAAAkH,MAAA,gBAAAA,EAAA,iBACAlH,KAAAkH,MAAA,eACAlH,KAAA2G,gBAAA9E,MAAAC,eAAA,WAEA9B,KAAA2G,gBAAA9E,MAAA+B,YAAA,UAAA,SAIAiF,KAAAC,UAAA9I,KAAAkH,MAAAjG,SAAA4H,KAAAC,UAAA5B,EAAAjG,UACAjB,KAAAwF,OAEAxF,KAAAgE,OAAAhC,UAAA,GACAhC,KAAA+B,iBAAAC,UAAA,GACAhC,KAAA6G,SAAA7E,UAAA,GACAhC,KAAA8G,eAAA9E,UAAA,GACAhC,KAAAiH,SAAAjF,UAAA,GACAhC,KAAAiB,OAAAjB,KAAAkH,MAAAjG,OAAA8H,IAAA,SAAA7H,GACA,IAAA8H,EAAA,IAAArJ,IAAAsJ,UAAA/H,EAAAlB,MACAkJ,EAAA,CACAC,QAAA,EACAd,IAAA1I,IAAAyJ,MAAApJ,KAAAkH,MAAA,aAAA8B,GACA5H,MAAA,EACAG,OAAA,EACAgH,MAAA5I,IAAAyJ,MAAApJ,KAAAkH,MAAA,eAAA8B,GACAR,YAAA7I,IAAAyJ,MAAApJ,KAAAkH,MAAA,qBAAA8B,GACAP,KAAA9I,IAAAyJ,MAAApJ,KAAAkH,MAAA,cAAA8B,GACAnJ,YAAAqB,EAAArB,aAAA,IAEA0H,EAAAvH,KACAqJ,EAAA,IAAAC,MAYA,OAXAD,EAAAE,OAAA,WACAL,EAAAC,QAAA,EACAD,EAAA9H,MAAApB,KAAAoB,MACA8H,EAAA3H,OAAAvB,KAAAuB,OACA5B,IAAA6J,SAAA,WACAxJ,KAAAiB,OAAAwI,OAAA,SAAAP,GAAA,OAAAA,EAAAC,SAAA9G,QACArC,KAAAI,SAEAmH,IAEA8B,EAAAK,IAAAR,EAAAb,IACAa,GACAlJ,QAIAI,MAAA,WACA,IAAAW,EAAA,EAEAf,KAAAgE,OAAAhC,UAAA,GACAhC,KAAA+B,iBAAAC,UAAA,GACAhC,KAAA6G,SAAA7E,UAAA,GACAhC,KAAA8G,eAAA9E,UAAA,GACAhC,KAAAiH,SAAAjF,UAAA,GAEAhC,KAAA0B,MAAA0E,UAAAuD,OAAA,yBAEA3J,KAAAiB,OAAAoB,SACArC,KAAA0B,MAAAG,MAAAN,QACAvB,KAAA0B,MAAAG,MAAA+B,YAAA,cAAA,IAAA5D,KAAAiB,OAAA,GAAAM,OAAAvB,KAAAiB,OAAA,GAAAG,MAAA,KAGApB,KAAAkH,MAAA,kBACAnG,EAAAoB,KAAAC,MAAAD,KAAAF,SAAAjC,KAAAiB,OAAAoB,SAGArC,KAAA4J,SAAA7I,GACAf,KAAA6J,UAAA9I,GAEAf,KAAAiH,SAAAjF,UAAA,GACAhC,KAAAiB,OAAA8G,QAAA,SAAAmB,EAAAvB,GACA,IAAAJ,EAAAvH,KACA8J,EAAA3G,SAAAQ,cAAA,MAEAmG,EAAA3C,iBAAA,YAAA,SAAAK,GACAA,EAAAC,oBAGAqC,EAAA3C,iBAAA,aAAA,SAAAK,GACAA,EAAAC,oBAEAqC,EAAA3C,iBAAA,QAAA,SAAAK,GACAA,EAAAC,kBACAF,EAAA3B,KAAA+B,KAEA5G,GAAA4G,IACAmC,EAAA3D,UAAA,WAEAnG,KAAAiH,SAAApD,YAAAiG,GAEA,IAAAC,EAAA5G,SAAAQ,cAAA,OACAoG,EAAAC,aAAA,MAAAd,EAAAb,KACA0B,EAAAlI,MAAA+B,YAAA,WAAA,YACAmG,EAAAlI,MAAA+B,YAAA,QAAA,QACAmG,EAAAlI,MAAA+B,YAAA,OAAA,IAAA+D,EAAA,KACA3H,KAAAgE,OAAAH,YAAAkG,IACA/J,OAGAA,KAAAiK,IAAA,QAAAlJ,GAEAf,KAAAkH,MAAA,iBACAlH,KAAAuF,SAIA+B,WAAA,SAAAE,GACAxH,KAAAkK,WACA1C,EAAA2C,eAAA,EAAA3C,EAAA2C,cAAA9H,SAEArC,KAAAoK,OAAA,EACApK,KAAAqK,UAAA,CACAC,QAAA9C,EAAA2C,cAAA3C,EAAA2C,cAAA,GAAAI,MAAA/C,EAAA+C,MACAvG,OAAAhE,KAAAgE,OAAAf,WACAuH,KAAAxK,KAAAgE,OAAAf,YAIAE,SAAAsH,oBAAA,YAAAzK,KAAA+F,cACA2E,OAAAD,oBAAA,UAAAzK,KAAAiG,aACAjG,KAAA0B,MAAA+I,oBAAA,YAAAzK,KAAA+F,cACA/F,KAAA0B,MAAA+I,oBAAA,WAAAzK,KAAAiG,aAEA,cAAAuB,EAAAjD,MACAvE,KAAA0B,MAAAyF,iBAAA,YAAAnH,KAAA+F,cACA/F,KAAA0B,MAAAyF,iBAAA,WAAAnH,KAAAiG,eAEA9C,SAAAgE,iBAAA,YAAAnH,KAAA+F,cACA2E,OAAAvD,iBAAA,UAAAnH,KAAAiG,gBAIAD,UAAA,SAAAwB,GACA,KAAAA,EAAA2C,eAAA,EAAA3C,EAAA2C,cAAA9H,QAAA,CAEA,IAAAsI,GAAAnD,EAAA2C,cAAA3C,EAAA2C,cAAA,GAAAI,MAAA/C,EAAA+C,OAAAvK,KAAAqK,UAAAC,QACAjH,EAAArD,KAAAqK,UAAArG,OAAA2G,EAEA,GAAAxI,KAAAyI,IAAAD,IAAAtH,EAAA,GAAAA,IAAArD,KAAAiB,OAAAoB,OAAA,GAAArC,KAAA0B,MAAAJ,cACAtB,KAAAgE,OAAAnC,MAAA+B,YAAA,OAAAP,EAAA,MACArD,KAAAoK,QACApK,KAAA6K,WACA7K,KAAAoK,OAAA,MAKAlE,SAAA,SAAAsB,GACA,GAAAxH,KAAAoK,MAAA,CACA,IAAAvH,EAAA7C,KAAAqK,UAAAG,KAAAxK,KAAAgE,OAAAf,WAAA,OAAA,QACAlC,EAAAoB,KAAAyI,IAAAzI,KAAAU,GAAA7C,KAAAgE,OAAAf,WAAAjD,KAAA0B,MAAAJ,cACAtB,KAAA4F,KAAA7E,GAAA,OACA,CACA,IAAAmI,EAAAlJ,KAAAiB,OAAAjB,KAAAkB,KAAAH,OACAmI,EAAAT,OACAtF,SAAA2H,SAAA5B,EAAAT,MAIAtF,SAAAsH,oBAAA,YAAAzK,KAAA+F,cACA2E,OAAAD,oBAAA,UAAAzK,KAAAiG,aACAjG,KAAA0B,MAAA+I,oBAAA,YAAAzK,KAAA+F,cACA/F,KAAA0B,MAAA+I,oBAAA,WAAAzK,KAAAiG,cAGAmB,MAAA,WACApH,KAAA+K,QAAA,EACAC,aAAAhL,KAAAiL,QAGA5D,SAAA,WACArH,KAAA+K,QAAA,EACA/K,KAAAkB,KAAAkD,SACApE,KAAAuF,SAIAA,MAAA,WACAyF,aAAAhL,KAAAiL,OACAjL,KAAAiL,MAAAhH,WAAAjE,KAAA4F,KAAAnF,KAAAT,KAAAA,KAAAkB,KAAAH,MAAA,GAAAf,KAAAkH,MAAApC,OACA9E,KAAAiK,IAAA,WAAA,IAGAzE,KAAA,WACAwF,aAAAhL,KAAAiL,OACAjL,KAAAiK,IAAA,WAAA,IAGAxE,KAAA,SAAAC,EAAA3F,GACAC,KAAA4F,KAAA5F,KAAAkB,KAAAH,MAAA,GAAA,EAAA2E,EAAA3F,IAGA4F,KAAA,SAAAD,EAAA3F,GACAC,KAAA4F,KAAA5F,KAAAkB,KAAAH,MAAA,GAAA,EAAA2E,EAAA3F,IAGA6F,KAAA,SAAA7E,EAAAmK,EAAAxF,EAAA3F,GACA,IAAAC,KAAAkK,UAAA,CAEA,MAAAnJ,IACAA,EAAAf,KAAAkB,KAAAH,MAAA,GAGAA,GAAAf,KAAAiB,OAAAoB,SACAtB,EAAA,GAGAA,EAAA,IACAA,EAAAf,KAAAiB,OAAAoB,OAAA,GAGA6I,GACAlL,KAAAkK,WAAA,EACAvK,IAAAC,UAAAC,YAAA,QAAAG,MAAAc,IAAAC,IAEAf,KAAAmL,WAAApK,EAAA2E,EAAA3F,GAGAC,KAAA6K,WACA7K,KAAAiK,IAAA,QAAAlJ,GAEA,IAAA,IAAA4G,EAAA,EAAAA,EAAA3H,KAAAiH,SAAAW,WAAAvF,OAAAsF,IACA3H,KAAAiH,SAAAW,WAAAD,GAAAxB,UAAApF,GAAA4G,EAAA,UAAA,KAIAiC,SAAA,SAAA7I,GACAf,KAAA6G,SAAA7E,UAAAhC,KAAAiB,OAAAF,GAAAwH,OAAA,GACAvI,KAAA8G,eAAA9E,UAAAhC,KAAAiB,OAAAF,GAAAyH,aAAA,IACAxI,KAAAiB,OAAAF,GAAAwH,OAAAvI,KAAAiB,OAAAF,GAAAyH,cACAxI,KAAA4G,WAAAR,UAAA5C,IAAA,+BAIAqH,SAAA,WACA7K,KAAA4G,WAAAR,UAAAuD,OAAA,+BAGAE,UAAA,SAAA9I,GACAf,KAAAgE,OAAAnC,MAAA+B,YAAA,OAAA,IAAA,IAAA7C,EAAA,MAGAoK,WAAA,SAAApK,EAAA2E,EAAA3F,GACA,IAAA2F,EAAA,CACA,IAAA7F,EAAAG,KAAAiB,OAAAF,GAAAlB,YACAuL,EAAAnL,OAAA0I,KAAA9I,GAEAuL,EAAA/I,SACAxC,EAAAG,KAAAkH,MAAArH,YACAuL,EAAAnL,OAAA0I,KAAA9I,IAIAE,EAAAF,EADA6F,EAAA0F,EAAAjJ,KAAAC,MAAAD,KAAAF,SAAAmJ,EAAA/I,UAIArC,KAAAkK,WAAA,EAEAvK,IAAAC,UAAAC,YAAA6F,GAAA1F,KAAAD,GAAAe,IAAAC,IAGAa,cAAA,WACA5B,KAAAkK,WAAA,EACAlK,KAAA6J,UAAA7J,KAAAkB,KAAAH,OACAf,KAAA4J,SAAA5J,KAAAkB,KAAAH,OACAf,KAAAgE,OAAAnC,MAAAC,eAAA,cACA9B,KAAAkB,KAAAkD,UAAApE,KAAA+K,QACA/K,KAAAuF,SAIAuC,eAAA,SAAAhC,EAAAuF,GACA,IAAA/G,EAAA,GACAgH,EAAA,IAAAC,OAAA,IAAAF,EAAA,KAEA,GAAA,GAAAvF,EAAA0F,SACA,IAAA,IAAA7D,EAAA,EAAAA,EAAA7B,EAAAxB,WAAAjC,OAAAsF,IAAA,CACA,IAAA8D,EAAA3F,EAAAxB,WAAAqD,GAEA,GAAA8D,GAAAA,EAAAC,WAAAJ,EAAAK,KAAAF,EAAAnF,MAAA,CACA,IAAAA,EAAAmF,EAAAnF,KACA2B,EAAA,KACAC,EAAA,GAEA5B,EAAAsF,MAAA,KAAA7D,QAAA,SAAA8D,EAAAlE,GACA,GAAA,IAAAA,EACArB,EAAAuF,MACA,CACA,IAAAC,EAAAD,EAAAE,QAAA,KACA,EAAAD,EACA5D,EAAA2D,EAAAG,OAAA,EAAAF,IAAAD,EAAAG,OAAAF,EAAA,GAEA5D,EAAA2D,IAAA,KAKA,IAAAC,EAAAxF,EAAAyF,QAAA,KACA,EAAAD,IACA7D,EAAA3B,EAAA0F,OAAAF,EAAA,GACAxF,EAAAA,EAAA0F,OAAA,EAAAF,IAGAxH,EAAA8D,KAAA,CACA9B,KAAAA,EACA2F,SAAAR,EAAAnF,KACA4F,MAAAT,EAAAS,MACAjE,SAAAA,EACAC,UAAAA,KAMA,OAAA5D,KC9iBA3E,IAAAC,UAAAC,YAAAsM,KAAA,SAAAvM,EAAAG,GACA,OAAA,IAAAJ,IAAAC,UAAAE,WAAAF,EAAAK,OAAAC,OAAA,CACA6D,SAAA,IAEA3D,MAAA,WACAJ,KAAAoM,OAAAjJ,SAAAQ,cAAA,OACA3D,KAAAoM,OAAAvK,MAAA+B,YAAA,WAAA,YACA5D,KAAAoM,OAAAvK,MAAA+B,YAAA,QAAA,QACA5D,KAAAoM,OAAAvK,MAAA+B,YAAA,SAAA,QACA5D,KAAAoM,OAAAvK,MAAA+B,YAAA,kBAAA5D,KAAAoB,MAAA,MACApB,KAAAoM,OAAAvK,MAAA+B,YAAA,mBAAA,QAAA5D,KAAAgB,UAAAqH,IAAA,MAEArI,KAAAqM,OAAAlJ,SAAAQ,cAAA,OACA3D,KAAAqM,OAAAxK,MAAA+B,YAAA,WAAA,YACA5D,KAAAqM,OAAAxK,MAAA+B,YAAA,QAAA,QACA5D,KAAAqM,OAAAxK,MAAA+B,YAAA,SAAA,QACA5D,KAAAqM,OAAAxK,MAAA+B,YAAA,UAAA,GACA5D,KAAAqM,OAAAxK,MAAA+B,YAAA,aAAA,WAAA5D,KAAAD,QAAAgE,SAAA,cACA/D,KAAAqM,OAAAxK,MAAA+B,YAAA,kBAAA5D,KAAAoB,MAAA,MACApB,KAAAqM,OAAAxK,MAAA+B,YAAA,mBAAA,QAAA5D,KAAAmB,UAAAkH,IAAA,MAEAzI,EAAAmC,iBAAA8B,YAAA7D,KAAAoM,QACAxM,EAAAmC,iBAAA8B,YAAA7D,KAAAqM,SAGA9L,QAAA,WACAP,KAAAqM,OAAAlF,iBAAA,gBAAAnH,KAAAQ,SAAAC,KAAAT,OACAA,KAAAqM,OAAAxK,MAAA+B,YAAA,UAAA,GACAK,WAAAjE,KAAAQ,SAAAC,KAAAT,MAAAA,KAAAD,QAAAgE,WAGArD,MAAA,cAEAX,KCjCAJ,IAAAC,UAAAC,YAAAqJ,MAAA,SAAAtJ,EAAAG,GACA,OAAA,IAAAJ,IAAAC,UAAAE,WAAAF,EAAAK,OAAAC,OAAA,CACAoM,UAAA,SAEAvI,SAAA,IAEA3D,MAAA,WAuBA,OAtBAJ,KAAAgE,OAAAb,SAAAQ,cAAA,OACA3D,KAAAgE,OAAAnC,MAAA+B,YAAA,WAAA,YACA5D,KAAAgE,OAAAnC,MAAA+B,YAAA,QAAA,QACA5D,KAAAgE,OAAAnC,MAAA+B,YAAA,SAAA,QACA5D,KAAAgE,OAAAnC,MAAA+B,YAAA,aAAA,aAAA5D,KAAAD,QAAAgE,SAAA,cAEA/D,KAAAuM,OAAApJ,SAAAQ,cAAA,OACA3D,KAAAuM,OAAA1K,MAAA+B,YAAA,WAAA,YACA5D,KAAAuM,OAAA1K,MAAA+B,YAAA,QAAA,QACA5D,KAAAuM,OAAA1K,MAAA+B,YAAA,SAAA,QAEA5D,KAAAwM,OAAAxM,KAAAuM,OAAAE,YAEAzM,KAAAuM,OAAA1K,MAAA+B,YAAA,kBAAA5D,KAAAoB,MAAA,MACApB,KAAAuM,OAAA1K,MAAA+B,YAAA,mBAAA,QAAA5D,KAAAgB,UAAAqH,IAAA,MACArI,KAAAwM,OAAA3K,MAAA+B,YAAA,kBAAA5D,KAAAoB,MAAA,MACApB,KAAAwM,OAAA3K,MAAA+B,YAAA,mBAAA,QAAA5D,KAAAmB,UAAAkH,IAAA,MAEA,WAAArI,KAAAD,QAAAuM,YACAtM,KAAAD,QAAAuM,UAAA,CAAA,OAAA,QAAA,KAAA,QAAAnK,KAAAC,MAAA,EAAAD,KAAAF,YAGAjC,KAAAD,QAAAuM,WACA,IAAA,OAAAtM,KAAAwM,OAAA3K,MAAA+B,YAAA,OAAA,QAAA,MACA,IAAA,QAAA5D,KAAAwM,OAAA3K,MAAA+B,YAAA,OAAA,SAAA,MACA,IAAA,KAAA5D,KAAAwM,OAAA3K,MAAA+B,YAAA,MAAA,QAAA,MACA,IAAA,OAAA5D,KAAAwM,OAAA3K,MAAA+B,YAAA,MAAA,SAGA5D,KAAAgE,OAAAH,YAAA7D,KAAAuM,QACAvM,KAAAgE,OAAAH,YAAA7D,KAAAwM,QACA5M,EAAAmC,iBAAAF,MAAA+B,YAAA,WAAA,UACAhE,EAAAmC,iBAAA8B,YAAA7D,KAAAgE,SAGAzD,QAAA,WAEA,OADAP,KAAAgE,OAAAmD,iBAAA,gBAAAnH,KAAAQ,SAAAC,KAAAT,OACAA,KAAAD,QAAAuM,WACA,IAAA,OAAAtM,KAAAgE,OAAAnC,MAAA+B,YAAA,YAAA,uBAAA,MACA,IAAA,QAAA5D,KAAAgE,OAAAnC,MAAA+B,YAAA,YAAA,sBAAA,MACA,IAAA,KAAA5D,KAAAgE,OAAAnC,MAAA+B,YAAA,YAAA,uBAAA,MACA,IAAA,OAAA5D,KAAAgE,OAAAnC,MAAA+B,YAAA,YAAA,sBAEAK,WAAAjE,KAAAQ,SAAAC,KAAAT,MAAAA,KAAAD,QAAAgE,WAGArD,MAAA,WACAd,EAAAmC,iBAAAF,MAAAC,eAAA,cAEA/B","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.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"]}