{"mappings":"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","names":["defaultOptions","active","breakpoints","delay","jump","playOnInit","stopOnFocusIn","stopOnInteraction","stopOnMouseEnter","stopOnLastSnap","rootNode","normalizeDelay","emblaApi","scrollSnaps","scrollSnapList","map","getAutoplayRootNode","emblaRootNode","Autoplay","userOptions","options","destroyed","timerStartTime","timerId","autoplayActive","mouseIsOver","playOnDocumentVisible","init","emblaApiInstance","optionsHandler","mergeOptions","optionsAtMedia","optionsBase","globalOptions","allOptions","length","eventStore","ownerDocument","internalEngine","isDraggable","watchDrag","root","add","visibilityChange","on","pointerDown","pointerUp","mouseEnter","mouseLeave","stopAutoplay","containerNode","startAutoplay","destroy","off","setTimer","ownerWindow","clearTimeout","setTimeout","next","selectedScrollSnap","Date","getTime","emit","clearTimer","documentIsHidden","visibilityState","play","jumpOverride","stop","reset","isPlaying","index","nextIndex","clone","get","lastIndex","kill","canScrollNext","scrollNext","scrollTo","timeUntilNext","currentDelay","timePastSinceStart","name","undefined"],"sources":["../esm/npm/embla-carousel-autoplay@8.6.0/node_modules/embla-carousel-autoplay/src/components/Options.ts","../esm/npm/embla-carousel-autoplay@8.6.0/node_modules/embla-carousel-autoplay/src/components/utils.ts","../esm/npm/embla-carousel-autoplay@8.6.0/node_modules/embla-carousel-autoplay/src/components/Autoplay.ts"],"sourcesContent":["import { CreateOptionsType, EmblaCarouselType } from 'embla-carousel'\n\nexport type DelayOptionType =\n  | number\n  | ((scrollSnaps: number[], emblaApi: EmblaCarouselType) =\u003e number[])\n\nexport type RootNodeType =\n  | null\n  | ((emblaRoot: HTMLElement) =\u003e HTMLElement | null)\n\nexport type OptionsType = CreateOptionsType\u003c{\n  delay: DelayOptionType\n  jump: boolean\n  playOnInit: boolean\n  stopOnFocusIn: boolean\n  stopOnInteraction: boolean\n  stopOnMouseEnter: boolean\n  stopOnLastSnap: boolean\n  rootNode: RootNodeType\n}\u003e\n\nexport const defaultOptions: OptionsType = {\n  active: true,\n  breakpoints: {},\n  delay: 4000,\n  jump: false,\n  playOnInit: true,\n  stopOnFocusIn: true,\n  stopOnInteraction: true,\n  stopOnMouseEnter: false,\n  stopOnLastSnap: false,\n  rootNode: null\n}\n","import { EmblaCarouselType } from 'embla-carousel/components/EmblaCarousel'\nimport { DelayOptionType, RootNodeType } from './Options'\n\nexport function normalizeDelay(\n  emblaApi: EmblaCarouselType,\n  delay: DelayOptionType\n): number[] {\n  const scrollSnaps = emblaApi.scrollSnapList()\n\n  if (typeof delay === 'number') {\n    return scrollSnaps.map(() =\u003e delay)\n  }\n  return delay(scrollSnaps, emblaApi)\n}\n\nexport function getAutoplayRootNode(\n  emblaApi: EmblaCarouselType,\n  rootNode: RootNodeType\n): HTMLElement {\n  const emblaRootNode = emblaApi.rootNode()\n  return (rootNode \u0026\u0026 rootNode(emblaRootNode)) || emblaRootNode\n}\n","import { OptionsType, defaultOptions } from './Options'\nimport { getAutoplayRootNode, normalizeDelay } from './utils'\nimport {\n  CreatePluginType,\n  OptionsHandlerType,\n  EmblaCarouselType\n} from 'embla-carousel'\n\ndeclare module 'embla-carousel' {\n  interface EmblaPluginsType {\n    autoplay: AutoplayType\n  }\n\n  interface EmblaEventListType {\n    autoplayPlay: 'autoplay:play'\n    autoplayStop: 'autoplay:stop'\n    autoplaySelect: 'autoplay:select'\n    autoplayTimerSet: 'autoplay:timerset'\n    autoplayTimerStopped: 'autoplay:timerstopped'\n  }\n}\n\nexport type AutoplayType = CreatePluginType\u003c\n  {\n    play: (jump?: boolean) =\u003e void\n    stop: () =\u003e void\n    reset: () =\u003e void\n    isPlaying: () =\u003e boolean\n    timeUntilNext: () =\u003e number | null\n  },\n  OptionsType\n\u003e\n\nexport type AutoplayOptionsType = AutoplayType['options']\n\nfunction Autoplay(userOptions: AutoplayOptionsType = {}): AutoplayType {\n  let options: OptionsType\n  let emblaApi: EmblaCarouselType\n  let destroyed: boolean\n  let delay: ReturnType\u003cEmblaCarouselType['scrollSnapList']\u003e\n  let timerStartTime: null | number = null\n  let timerId = 0\n  let autoplayActive = false\n  let mouseIsOver = false\n  let playOnDocumentVisible = false\n  let jump = false\n\n  function init(\n    emblaApiInstance: EmblaCarouselType,\n    optionsHandler: OptionsHandlerType\n  ): void {\n    emblaApi = emblaApiInstance\n\n    const { mergeOptions, optionsAtMedia } = optionsHandler\n    const optionsBase = mergeOptions(defaultOptions, Autoplay.globalOptions)\n    const allOptions = mergeOptions(optionsBase, userOptions)\n    options = optionsAtMedia(allOptions)\n\n    if (emblaApi.scrollSnapList().length \u003c= 1) return\n\n    jump = options.jump\n    destroyed = false\n    delay = normalizeDelay(emblaApi, options.delay)\n\n    const { eventStore, ownerDocument } = emblaApi.internalEngine()\n    const isDraggable = !!emblaApi.internalEngine().options.watchDrag\n    const root = getAutoplayRootNode(emblaApi, options.rootNode)\n\n    eventStore.add(ownerDocument, 'visibilitychange', visibilityChange)\n\n    if (isDraggable) {\n      emblaApi.on('pointerDown', pointerDown)\n    }\n\n    if (isDraggable \u0026\u0026 !options.stopOnInteraction) {\n      emblaApi.on('pointerUp', pointerUp)\n    }\n\n    if (options.stopOnMouseEnter) {\n      eventStore.add(root, 'mouseenter', mouseEnter)\n    }\n\n    if (options.stopOnMouseEnter \u0026\u0026 !options.stopOnInteraction) {\n      eventStore.add(root, 'mouseleave', mouseLeave)\n    }\n\n    if (options.stopOnFocusIn) {\n      emblaApi.on('slideFocusStart', stopAutoplay)\n    }\n\n    if (options.stopOnFocusIn \u0026\u0026 !options.stopOnInteraction) {\n      eventStore.add(emblaApi.containerNode(), 'focusout', startAutoplay)\n    }\n\n    if (options.playOnInit) startAutoplay()\n  }\n\n  function destroy(): void {\n    emblaApi\n      .off('pointerDown', pointerDown)\n      .off('pointerUp', pointerUp)\n      .off('slideFocusStart', stopAutoplay)\n\n    stopAutoplay()\n    destroyed = true\n    autoplayActive = false\n  }\n\n  function setTimer(): void {\n    const { ownerWindow } = emblaApi.internalEngine()\n    ownerWindow.clearTimeout(timerId)\n    timerId = ownerWindow.setTimeout(next, delay[emblaApi.selectedScrollSnap()])\n    timerStartTime = new Date().getTime()\n    emblaApi.emit('autoplay:timerset')\n  }\n\n  function clearTimer(): void {\n    const { ownerWindow } = emblaApi.internalEngine()\n    ownerWindow.clearTimeout(timerId)\n    timerId = 0\n    timerStartTime = null\n    emblaApi.emit('autoplay:timerstopped')\n  }\n\n  function startAutoplay(): void {\n    if (destroyed) return\n    if (documentIsHidden()) {\n      playOnDocumentVisible = true\n      return\n    }\n    if (!autoplayActive) emblaApi.emit('autoplay:play')\n\n    setTimer()\n    autoplayActive = true\n  }\n\n  function stopAutoplay(): void {\n    if (destroyed) return\n    if (autoplayActive) emblaApi.emit('autoplay:stop')\n\n    clearTimer()\n    autoplayActive = false\n  }\n\n  function visibilityChange(): void {\n    if (documentIsHidden()) {\n      playOnDocumentVisible = autoplayActive\n      return stopAutoplay()\n    }\n\n    if (playOnDocumentVisible) startAutoplay()\n  }\n\n  function documentIsHidden(): boolean {\n    const { ownerDocument } = emblaApi.internalEngine()\n    return ownerDocument.visibilityState === 'hidden'\n  }\n\n  function pointerDown(): void {\n    if (!mouseIsOver) stopAutoplay()\n  }\n\n  function pointerUp(): void {\n    if (!mouseIsOver) startAutoplay()\n  }\n\n  function mouseEnter(): void {\n    mouseIsOver = true\n    stopAutoplay()\n  }\n\n  function mouseLeave(): void {\n    mouseIsOver = false\n    startAutoplay()\n  }\n\n  function play(jumpOverride?: boolean): void {\n    if (typeof jumpOverride !== 'undefined') jump = jumpOverride\n    startAutoplay()\n  }\n\n  function stop(): void {\n    if (autoplayActive) stopAutoplay()\n  }\n\n  function reset(): void {\n    if (autoplayActive) startAutoplay()\n  }\n\n  function isPlaying(): boolean {\n    return autoplayActive\n  }\n\n  function next(): void {\n    const { index } = emblaApi.internalEngine()\n    const nextIndex = index.clone().add(1).get()\n    const lastIndex = emblaApi.scrollSnapList().length - 1\n    const kill = options.stopOnLastSnap \u0026\u0026 nextIndex === lastIndex\n\n    if (emblaApi.canScrollNext()) {\n      emblaApi.scrollNext(jump)\n    } else {\n      emblaApi.scrollTo(0, jump)\n    }\n\n    emblaApi.emit('autoplay:select')\n\n    if (kill) return stopAutoplay()\n    startAutoplay()\n  }\n\n  function timeUntilNext(): number | null {\n    if (!timerStartTime) return null\n    const currentDelay = delay[emblaApi.selectedScrollSnap()]\n    const timePastSinceStart = new Date().getTime() - timerStartTime\n    return currentDelay - timePastSinceStart\n  }\n\n  const self: AutoplayType = {\n    name: 'autoplay',\n    options: userOptions,\n    init,\n    destroy,\n    play,\n    stop,\n    reset,\n    isPlaying,\n    timeUntilNext\n  }\n  return self\n}\n\ndeclare namespace Autoplay {\n  let globalOptions: AutoplayOptionsType | undefined\n}\n\nAutoplay.globalOptions = undefined\n\nexport default Autoplay\n"],"version":3}
