{"version":3,"sources":["embla-carousel-autoplay.js"],"names":["defaultOptions","active","breakpoints","delay","jump","playOnInit","stopOnInteraction","stopOnMouseEnter","stopOnLastSnap","rootNode","optionsHandler","EmblaCarousel","carousel","optionsBase","merge","options","EmblaAutoplay","globalOptions","destroy","off","interaction","reset","stop","window","clearTimeout","timer","jumpOverride","setTimeout","next","kill","canScrollNext","play","init","index","internalEngine","get","max","scrollNext","scrollTo","module","self","name","userOptions","eventStore","emblaRoot","on","root","add","persisted","document","visibilityState","event","undefined","exports"],"mappings":"AAAA,CAAA,WACE,aAEA,IAAIA,EAAiB,CACnBC,OAAQ,CAAA,EACRC,YAAa,GACbC,MAAO,IACPC,KAAM,CAAA,EACNC,WAAY,CAAA,EACZC,kBAAmB,CAAA,EACnBC,iBAAkB,CAAA,EAClBC,eAAgB,CAAA,EAChBC,SAAU,IACZ,EAEA,SACMC,EAAiBC,GACrB,IAQIP,EAEJQ,EACEA,EAXEC,EAAcH,cAAeI,eAC/Bd,EAGEe,EAAOL,EAAAI,MACXd,EACAgB,EAAeC,aAAA,EAMbF,EAAUL,EACVN,EAAOW,CAAAA,EAwBT,SAUOG,IACPN,EAAAO,IAAA,cAAAC,CAAA,EAEAL,EAAaT,mBAAGM,EAAAO,IAAA,YAAAE,CAAA,EACdC,EAAI,EACJC,EAAOC,CACT,CATA,SAYOC,EAAOC,GACZJ,EAAI,EACE,KAAA,IAAAI,IAAAtB,EAAAsB,GACRD,EAAAF,OAAAI,WAAAC,EAAAb,EAAAZ,KAAA,CAEA,CAXA,SAaM0B,IACAA,GAEJN,OAAIX,aAASkB,CAAAA,CAbf,CAEA,SAcIlB,IACFa,IAEAM,EAAI,EACNA,EAAA,EAEA,CAdA,SAgBSH,IACPI,IAAIC,EAAMrB,EAAAsB,eAAA,EAAAD,MAEVF,GADSb,EAAOV,gBAAAyB,EAAAE,IAAA,IAAAF,EAAAG,IACN,OAAAlB,EAAA,EAEVG,EAAOA,cAAAA,EACRT,EAAAyB,WAAAjC,CAAA,EAEHQ,EAAA0B,SAAA,EAAAlC,CAAA,EAKEmC,EAAM,CACP,CAED,IAAAC,EAAA,CACEC,KAAA,WAjBE1B,QAASL,EAAeI,MAAMD,EAAa6B,CAAW,EACtDV,KApEF,SAKMW,GACJ/B,EAAIgC,EACJ7B,EAAQL,EAAYD,QAAYM,EAAOA,OAACN,EACxCG,EAAAA,EAAYR,KACZgB,EAAad,EAAAA,kBAA4BuC,EAAGvB,EAE5C,IAAIP,EAAQR,EAAAA,eAAkB,EAAAoC,WAC5BA,EAAc/B,EAAOH,SAAA,EACrBqC,EAAK/B,EAAQT,UAAiBS,EAC5B4B,SAAeG,CAAM,GAAAF,EACzBhC,EAAAiC,GAAA,cAAAzB,CAAA,EAEAuB,EAAWI,mBAAcnC,EAAAiC,GAAkB,YAAcxB,CAAA,EAEvDA,EAAOd,mBACPoC,EAAAI,IAAAD,EAAA,aAAA1B,CAAA,EACFuB,EAAepB,mBACboB,EAAUK,IAAAA,EAAW1B,aAAMD,CAAA,GAG/BsB,EAAAI,IAAAE,SAAA,mBAAA,WAEA,GAAmB,WAAnBA,SAAgBC,gBAAG,OAAA5B,EAAA,EACjBV,EAAAA,CACA,CAAA,EACAU,EAAMyB,IAAAxB,OAAA,WAAA,SAAA4B,GACDA,EAAIH,WAAA1B,EAAA,CACX,CAAA,EAEAP,EAAcW,YAAYK,EAAE,CAT5B,EA4CEb,QAASA,EACTa,KAAMA,EACNT,KAAMA,EACND,MAAOA,CACT,EACA,OAAOmB,CACT,CAEAxB,EAAcC,cAAgBmC,KAAAA,EAER,aAAlB,OAAOb,QAAoD,KAAA,IAAnBA,OAAOc,QACjDd,OAAOc,QAAUrC,EAEjBO,OAAOP,cAAgBA,CAE1B,EAAA","file":"../embla-carousel-autoplay.min.js","sourcesContent":["(function () {\r\n 'use strict';\r\n\r\n var defaultOptions = {\r\n active: true,\r\n breakpoints: {},\r\n delay: 4000,\r\n jump: false,\r\n playOnInit: true,\r\n stopOnInteraction: true,\r\n stopOnMouseEnter: false,\r\n stopOnLastSnap: false,\r\n rootNode: null,\r\n };\r\n\r\n function EmblaAutoplay(userOptions) {\r\n var optionsHandler = EmblaCarousel.optionsHandler();\r\n var optionsBase = optionsHandler.merge(\r\n defaultOptions,\r\n EmblaAutoplay.globalOptions\r\n );\r\n var options;\r\n var carousel;\r\n var interaction;\r\n var timer = 0;\r\n var jump = false;\r\n\r\n function init(embla) {\r\n carousel = embla;\r\n options = optionsHandler.atMedia(self.options);\r\n jump = options.jump;\r\n interaction = options.stopOnInteraction ? destroy : stop;\r\n var eventStore = carousel.internalEngine().eventStore;\r\n var emblaRoot = carousel.rootNode();\r\n var root = (options.rootNode && options.rootNode(emblaRoot)) || emblaRoot;\r\n carousel.on('pointerDown', interaction);\r\n if (!options.stopOnInteraction) carousel.on('pointerUp', reset);\r\n\r\n if (options.stopOnMouseEnter) {\r\n eventStore.add(root, 'mouseenter', interaction);\r\n if (!options.stopOnInteraction)\r\n eventStore.add(root, 'mouseleave', reset);\r\n }\r\n\r\n eventStore.add(document, 'visibilitychange', function () {\r\n if (document.visibilityState === 'hidden') return stop();\r\n reset();\r\n });\r\n eventStore.add(window, 'pagehide', function (event) {\r\n if (event.persisted) stop();\r\n });\r\n if (options.playOnInit) play();\r\n }\r\n\r\n function destroy() {\r\n carousel.off('pointerDown', interaction);\r\n if (!options.stopOnInteraction) carousel.off('pointerUp', reset);\r\n stop();\r\n timer = 0;\r\n }\r\n\r\n function play(jumpOverride) {\r\n stop();\r\n if (typeof jumpOverride !== 'undefined') jump = jumpOverride;\r\n timer = window.setTimeout(next, options.delay);\r\n }\r\n\r\n function stop() {\r\n if (!timer) return;\r\n window.clearTimeout(timer);\r\n }\r\n\r\n function reset() {\r\n if (!timer) return;\r\n stop();\r\n play();\r\n }\r\n\r\n function next() {\r\n var index = carousel.internalEngine().index;\r\n var kill = options.stopOnLastSnap && index.get() === index.max;\r\n if (kill) return destroy();\r\n\r\n if (carousel.canScrollNext()) {\r\n carousel.scrollNext(jump);\r\n } else {\r\n carousel.scrollTo(0, jump);\r\n }\r\n\r\n play();\r\n }\r\n\r\n var self = {\r\n name: 'autoplay',\r\n options: optionsHandler.merge(optionsBase, userOptions),\r\n init: init,\r\n destroy: destroy,\r\n play: play,\r\n stop: stop,\r\n reset: reset,\r\n };\r\n return self;\r\n }\r\n\r\n EmblaAutoplay.globalOptions = undefined;\r\n\r\n if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = EmblaAutoplay;\r\n } else {\r\n window.EmblaAutoplay = EmblaAutoplay;\r\n }\r\n})();\r\n"]}