{"version":3,"sources":["embla-carousel-autoplay.js"],"names":["defaultOptions","active","breakpoints","delay","jump","playOnInit","stopOnInteraction","stopOnMouseEnter","stopOnLastSnap","rootNode","EmblaAutoplay","userOptions","timer","interaction","optionsHandler","EmblaCarousel","optionsBase","merge","globalOptions","init","carousel","destroy","off","options","reset","stop","play","jumpOverride","setTimeout","next","window","canScrollNext","index","scrollNext","get","max","scrollTo","name","embla","eventStore","atMedia","internalEngine","emblaRoot","root","add","document","visibilityState","event","persisted","self","undefined","module","exports"],"mappings":"CAAA,wBAGE,IAAIA,EAAiB,CACnBC,QAAQ,EACRC,YAAa,GACbC,MAAO,IACPC,MAAM,EACNC,YAAY,EACZC,mBAAmB,EACnBC,kBAAkB,EAClBC,gBAAgB,EAChBC,SAAU,MAGZ,SAASC,EAAcC,GACrB,IAQIC,EACAR,EAFAS,EAPAC,EAAiBC,cAAcD,iBAC/BE,EAAcF,EAAeG,MAIjCjB,EACAU,EAAAQ,eAKAN,EAASO,EACPC,GAAQ,EA0BV,SAIOC,IACND,EAAAE,IAAA,cAAAT,GAHMU,EAAQjB,mBAAmBc,EAASE,IAAI,YAAaE,GAK5DC,IACEA,EAAI,EAGL,SAAAC,EAAAC,GAHCF,SAKc,IAAhBE,IAAgBvB,EAAAuB,GACdf,EAAKA,OAAOgB,WAAAC,EAAAN,EAAApB,OADd,SAASsB,IAKTb,GACEkB,OAAKlB,aAAOA,GAGb,SAAAY,IAHMZ,IAKPa,IACEC,KADF,SAASG,IAKP,IAAIT,EAAQA,EAACW,iBAAiBC,MAE7B,GADUC,EAAAA,gBAATD,EAAAE,QAAAF,EAAAG,IACK,OAAAd,IAEND,EAAAW,gBAHCX,EAASa,WAAW7B,GAMvBgB,EAAAgB,SAAA,EAAAhC,GAGCiC,IADF,IAIEhB,EAASA,CACTK,KAAMA,WACND,QAAMA,EANGR,MAAAD,EAAAL,GAOTa,KAxEF,SAGSD,GACPV,EAAWyB,EACXf,EAAIgB,EAAqBC,QAACC,EAAAA,SAC1BrC,EAAIsC,EAAStC,KACbS,EAAYU,EAAQd,kBAAoBA,EAASiC,EACjDtB,IAAAA,EAAYA,EAAZqB,iBAAAF,WACIG,EAASpC,EAAAA,WAFTqC,EAAQpB,EAAQd,UAAYc,EAAQd,SAASiC,IAAeA,EAIhEtB,EAAIG,GAAQhB,cAAAA,GACVgC,EAAWK,mBAAUxB,EAAcP,GAAAA,YAAnCW,GAGDD,EAAAhB,mBAHCgC,EAAWK,IAAID,EAAM,aAAc9B,GAKrC0B,EAAeM,mBACbN,EAAaO,IAAAA,EAAAA,aAAoBtB,IAGnCe,EAAWK,IAAId,SAAQ,mBAAsBiB,WAC3C,GAAyB,WAArBA,SAAMC,gBAAe,OAAAvB,IAD3BD,MAIDe,EAAAK,IAAAd,OAAA,WAAA,SAAAiB,GAHOA,EAAMC,WAAWvB,MAMvBL,EAAAf,YAAaqB,KAqCfL,QAAAA,EASAK,KAAOuB,EACRxB,KAAAA,EAHGD,MAAOA,GAET,OAAOyB,EAORvC,EAAMQ,mBAAAgC,EAEN,oBAAAC,aAAA,IAAAA,OAAAC,QA9GHD,OAAAC,QAAA1C,EA6GIoB,OAAOpB,cAAgBA,EA7G3B","file":"../embla-carousel-autoplay.min.js","sourcesContent":["(function () {\n 'use strict';\n\n var defaultOptions = {\n active: true,\n breakpoints: {},\n delay: 4000,\n jump: false,\n playOnInit: true,\n stopOnInteraction: true,\n stopOnMouseEnter: false,\n stopOnLastSnap: false,\n rootNode: null,\n };\n\n function EmblaAutoplay(userOptions) {\n var optionsHandler = EmblaCarousel.optionsHandler();\n var optionsBase = optionsHandler.merge(\n defaultOptions,\n EmblaAutoplay.globalOptions\n );\n var options;\n var carousel;\n var interaction;\n var timer = 0;\n var jump = false;\n\n function init(embla) {\n carousel = embla;\n options = optionsHandler.atMedia(self.options);\n jump = options.jump;\n interaction = options.stopOnInteraction ? destroy : stop;\n var eventStore = carousel.internalEngine().eventStore;\n var emblaRoot = carousel.rootNode();\n var root = (options.rootNode && options.rootNode(emblaRoot)) || emblaRoot;\n carousel.on('pointerDown', interaction);\n if (!options.stopOnInteraction) carousel.on('pointerUp', reset);\n\n if (options.stopOnMouseEnter) {\n eventStore.add(root, 'mouseenter', interaction);\n if (!options.stopOnInteraction)\n eventStore.add(root, 'mouseleave', reset);\n }\n\n eventStore.add(document, 'visibilitychange', function () {\n if (document.visibilityState === 'hidden') return stop();\n reset();\n });\n eventStore.add(window, 'pagehide', function (event) {\n if (event.persisted) stop();\n });\n if (options.playOnInit) play();\n }\n\n function destroy() {\n carousel.off('pointerDown', interaction);\n if (!options.stopOnInteraction) carousel.off('pointerUp', reset);\n stop();\n timer = 0;\n }\n\n function play(jumpOverride) {\n stop();\n if (typeof jumpOverride !== 'undefined') jump = jumpOverride;\n timer = window.setTimeout(next, options.delay);\n }\n\n function stop() {\n if (!timer) return;\n window.clearTimeout(timer);\n }\n\n function reset() {\n if (!timer) return;\n stop();\n play();\n }\n\n function next() {\n var index = carousel.internalEngine().index;\n var kill = options.stopOnLastSnap && index.get() === index.max;\n if (kill) return destroy();\n\n if (carousel.canScrollNext()) {\n carousel.scrollNext(jump);\n } else {\n carousel.scrollTo(0, jump);\n }\n\n play();\n }\n\n var self = {\n name: 'autoplay',\n options: optionsHandler.merge(optionsBase, userOptions),\n init: init,\n destroy: destroy,\n play: play,\n stop: stop,\n reset: reset,\n };\n return self;\n }\n\n EmblaAutoplay.globalOptions = undefined;\n\n if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = EmblaAutoplay;\n } else {\n window.EmblaAutoplay = EmblaAutoplay;\n }\n})();\n"]}