-
-
Notifications
You must be signed in to change notification settings - Fork 197
/
Copy path3602-1df978a2563465b2ac92.js.map
1 lines (1 loc) · 32 KB
/
3602-1df978a2563465b2ac92.js.map
1
{"version":3,"file":"3602-1df978a2563465b2ac92.js","mappings":"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","sources":["webpack://embla-carousel-docs/./src/components/Sandbox/React/SandboxFilesSrc/CarouselGenerator/EmblaCarouselDotButton.tsx","webpack://embla-carousel-docs/./src/components/Sandbox/React/SandboxFilesSrc/CarouselGenerator/EmblaCarouselArrowButtons.tsx","webpack://embla-carousel-docs/./src/components/Sandbox/React/SandboxFilesSrc/CarouselGenerator/EmblaCarouselSelectedSnapDisplay.tsx","webpack://embla-carousel-docs/./src/components/Sandbox/React/SandboxFilesSrc/CarouselGenerator/EmblaCarousel.tsx","webpack://embla-carousel-docs/../src/components/Options.ts","webpack://embla-carousel-docs/../src/components/Autoplay.ts","webpack://embla-carousel-docs/../src/components/utils.ts","webpack://embla-carousel-docs/../src/components/ClassNames.ts"],"sourcesContent":["import React, {\n PropsWithChildren,\n useCallback,\n useEffect,\n useState\n} from 'react'\nimport { EmblaCarouselType } from 'embla-carousel'\n\ntype UseDotButtonType = {\n selectedIndex: number\n scrollSnaps: number[]\n onDotButtonClick: (index: number) => void\n}\n\nexport const useDotButton = (\n emblaApi: EmblaCarouselType | undefined,\n /*__NAV_AUTOPLAY_REPLACE_START__*/\n onButtonClick?: (emblaApi: EmblaCarouselType) => void\n /*__NAV_AUTOPLAY_REPLACE_END__*/\n): UseDotButtonType => {\n const [selectedIndex, setSelectedIndex] = useState(0)\n const [scrollSnaps, setScrollSnaps] = useState<number[]>([])\n\n const onDotButtonClick = useCallback(\n (index: number) => {\n if (!emblaApi) return\n emblaApi.scrollTo(index)\n /*__NAV_AUTOPLAY_REPLACE_START__*/\n if (onButtonClick) onButtonClick(emblaApi)\n /*__NAV_AUTOPLAY_REPLACE_END__*/\n },\n [\n emblaApi,\n /*__NAV_AUTOPLAY_REPLACE_START__*/ onButtonClick /*__NAV_AUTOPLAY_REPLACE_END__*/\n ]\n )\n\n const onInit = useCallback((emblaApi: EmblaCarouselType) => {\n setScrollSnaps(emblaApi.scrollSnapList())\n }, [])\n\n const onSelect = useCallback((emblaApi: EmblaCarouselType) => {\n setSelectedIndex(emblaApi.selectedScrollSnap())\n }, [])\n\n useEffect(() => {\n if (!emblaApi) return\n\n onInit(emblaApi)\n onSelect(emblaApi)\n emblaApi.on('reInit', onInit).on('reInit', onSelect).on('select', onSelect)\n }, [emblaApi, onInit, onSelect])\n\n return {\n selectedIndex,\n scrollSnaps,\n onDotButtonClick\n }\n}\n\ntype PropType = PropsWithChildren<\n React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n>\n\nexport const DotButton: React.FC<PropType> = (props) => {\n const { children, ...restProps } = props\n\n return (\n <button type=\"button\" {...restProps}>\n {children}\n </button>\n )\n}\n","import React, {\n PropsWithChildren,\n useCallback,\n useEffect,\n useState\n} from 'react'\nimport { EmblaCarouselType } from 'embla-carousel'\n\ntype UsePrevNextButtonsType = {\n prevBtnDisabled: boolean\n nextBtnDisabled: boolean\n onPrevButtonClick: () => void\n onNextButtonClick: () => void\n}\n\nexport const usePrevNextButtons = (\n emblaApi: EmblaCarouselType | undefined,\n /*__NAV_AUTOPLAY_REPLACE_START__*/\n onButtonClick?: (emblaApi: EmblaCarouselType) => void\n /*__NAV_AUTOPLAY_REPLACE_END__*/\n): UsePrevNextButtonsType => {\n const [prevBtnDisabled, setPrevBtnDisabled] = useState(true)\n const [nextBtnDisabled, setNextBtnDisabled] = useState(true)\n\n const onPrevButtonClick = useCallback(() => {\n if (!emblaApi) return\n emblaApi.scrollPrev()\n /*__NAV_AUTOPLAY_REPLACE_START__*/\n if (onButtonClick) onButtonClick(emblaApi)\n /*__NAV_AUTOPLAY_REPLACE_END__*/\n }, [\n emblaApi,\n /*__NAV_AUTOPLAY_REPLACE_START__*/ onButtonClick /*__NAV_AUTOPLAY_REPLACE_END__*/\n ])\n\n const onNextButtonClick = useCallback(() => {\n if (!emblaApi) return\n emblaApi.scrollNext()\n /*__NAV_AUTOPLAY_REPLACE_START__*/\n if (onButtonClick) onButtonClick(emblaApi)\n /*__NAV_AUTOPLAY_REPLACE_END__*/\n }, [\n emblaApi,\n /*__NAV_AUTOPLAY_REPLACE_START__*/ onButtonClick /*__NAV_AUTOPLAY_REPLACE_END__*/\n ])\n\n const onSelect = useCallback((emblaApi: EmblaCarouselType) => {\n setPrevBtnDisabled(!emblaApi.canScrollPrev())\n setNextBtnDisabled(!emblaApi.canScrollNext())\n }, [])\n\n useEffect(() => {\n if (!emblaApi) return\n\n onSelect(emblaApi)\n emblaApi.on('reInit', onSelect).on('select', onSelect)\n }, [emblaApi, onSelect])\n\n return {\n prevBtnDisabled,\n nextBtnDisabled,\n onPrevButtonClick,\n onNextButtonClick\n }\n}\n\ntype PropType = PropsWithChildren<\n React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n>\n\nexport const PrevButton: React.FC<PropType> = (props) => {\n const { children, ...restProps } = props\n\n return (\n <button\n className=\"embla__button embla__button--prev\"\n type=\"button\"\n {...restProps}\n >\n <svg className=\"embla__button__svg\" viewBox=\"0 0 532 532\">\n {/*__PREV_NEXT_BUTTONS_RTL_REPLACE_START__*/}\n <path\n fill=\"currentColor\"\n d=\"M176.34 520.646c-13.793 13.805-36.208 13.805-50.001 0-13.785-13.804-13.785-36.238 0-50.034L330.78 266 126.34 61.391c-13.785-13.805-13.785-36.239 0-50.044 13.793-13.796 36.208-13.796 50.002 0 22.928 22.947 206.395 206.507 229.332 229.454a35.065 35.065 0 0 1 10.326 25.126c0 9.2-3.393 18.26-10.326 25.2-45.865 45.901-206.404 206.564-229.332 229.52Z\"\n />\n {/*__PREV_NEXT_BUTTONS_RTL_REPLACE_END__*/}\n {/*__PREV_NEXT_BUTTONS_LTR_REPLACE_START__*/}\n <path\n fill=\"currentColor\"\n d=\"M355.66 11.354c13.793-13.805 36.208-13.805 50.001 0 13.785 13.804 13.785 36.238 0 50.034L201.22 266l204.442 204.61c13.785 13.805 13.785 36.239 0 50.044-13.793 13.796-36.208 13.796-50.002 0a5994246.277 5994246.277 0 0 0-229.332-229.454 35.065 35.065 0 0 1-10.326-25.126c0-9.2 3.393-18.26 10.326-25.2C172.192 194.973 332.731 34.31 355.66 11.354Z\"\n />\n {/*__PREV_NEXT_BUTTONS_LTR_REPLACE_END__*/}\n {/*__PREV_NEXT_BUTTONS_VERTICAL_REPLACE_START__*/}\n <path\n fill=\"currentColor\"\n d=\"M520.646 355.66c13.805 13.793 13.805 36.208 0 50.001-13.804 13.785-36.238 13.785-50.034 0L266 201.22 61.391 405.66c-13.805 13.785-36.239 13.785-50.044 0-13.796-13.793-13.796-36.208 0-50.002 22.947-22.928 206.507-206.395 229.454-229.332a35.065 35.065 0 0 1 25.126-10.326c9.2 0 18.26 3.393 25.2 10.326 45.901 45.865 206.564 206.404 229.52 229.332Z\"\n />\n {/*__PREV_NEXT_BUTTONS_VERTICAL_REPLACE_END__*/}\n </svg>\n {children}\n </button>\n )\n}\n\nexport const NextButton: React.FC<PropType> = (props) => {\n const { children, ...restProps } = props\n\n return (\n <button\n className=\"embla__button embla__button--next\"\n type=\"button\"\n {...restProps}\n >\n <svg className=\"embla__button__svg\" viewBox=\"0 0 532 532\">\n {/*__PREV_NEXT_BUTTONS_RTL_REPLACE_START__*/}\n <path\n fill=\"currentColor\"\n d=\"M355.66 11.354c13.793-13.805 36.208-13.805 50.001 0 13.785 13.804 13.785 36.238 0 50.034L201.22 266l204.442 204.61c13.785 13.805 13.785 36.239 0 50.044-13.793 13.796-36.208 13.796-50.002 0a5994246.277 5994246.277 0 0 0-229.332-229.454 35.065 35.065 0 0 1-10.326-25.126c0-9.2 3.393-18.26 10.326-25.2C172.192 194.973 332.731 34.31 355.66 11.354Z\"\n />\n {/*__PREV_NEXT_BUTTONS_RTL_REPLACE_END__*/}\n {/*__PREV_NEXT_BUTTONS_LTR_REPLACE_START__*/}\n <path\n fill=\"currentColor\"\n d=\"M176.34 520.646c-13.793 13.805-36.208 13.805-50.001 0-13.785-13.804-13.785-36.238 0-50.034L330.78 266 126.34 61.391c-13.785-13.805-13.785-36.239 0-50.044 13.793-13.796 36.208-13.796 50.002 0 22.928 22.947 206.395 206.507 229.332 229.454a35.065 35.065 0 0 1 10.326 25.126c0 9.2-3.393 18.26-10.326 25.2-45.865 45.901-206.404 206.564-229.332 229.52Z\"\n />\n {/*__PREV_NEXT_BUTTONS_LTR_REPLACE_END__*/}\n {/*__PREV_NEXT_BUTTONS_VERTICAL_REPLACE_START__*/}\n <path\n fill=\"currentColor\"\n d=\"M11.354 176.34c-13.805-13.793-13.805-36.208 0-50.001 13.804-13.785 36.238-13.785 50.034 0L266 330.78l204.61-204.442c13.805-13.785 36.239-13.785 50.044 0 13.796 13.793 13.796 36.208 0 50.002a5994246.277 5994246.277 0 0 0-229.454 229.332 35.065 35.065 0 0 1-25.126 10.326c-9.2 0-18.26-3.393-25.2-10.326C194.973 359.808 34.31 199.269 11.354 176.34Z\"\n />\n {/*__PREV_NEXT_BUTTONS_VERTICAL_REPLACE_END__*/}\n </svg>\n {children}\n </button>\n )\n}\n","import React, { useCallback, useEffect, useState } from 'react'\nimport { EmblaCarouselType } from 'embla-carousel'\n\ntype UseSelectedSnapDisplayType = {\n selectedSnap: number\n snapCount: number\n}\n\nexport const useSelectedSnapDisplay = (\n emblaApi: EmblaCarouselType | undefined\n): UseSelectedSnapDisplayType => {\n const [selectedSnap, setSelectedSnap] = useState(0)\n const [snapCount, setSnapCount] = useState(0)\n\n const updateScrollSnapState = useCallback((emblaApi: EmblaCarouselType) => {\n setSnapCount(emblaApi.scrollSnapList().length)\n setSelectedSnap(emblaApi.selectedScrollSnap())\n }, [])\n\n useEffect(() => {\n if (!emblaApi) return\n\n updateScrollSnapState(emblaApi)\n emblaApi.on('select', updateScrollSnapState)\n emblaApi.on('reInit', updateScrollSnapState)\n }, [emblaApi, updateScrollSnapState])\n\n return {\n selectedSnap,\n snapCount\n }\n}\n\ntype PropType = {\n selectedSnap: number\n snapCount: number\n}\n\nexport const SelectedSnapDisplay: React.FC<PropType> = (props) => {\n const { selectedSnap, snapCount } = props\n\n return (\n <div className=\"embla__selected-snap-display\">\n {selectedSnap + 1} / {snapCount}\n </div>\n )\n}\n","import React, {\n /*__NAV_AUTOPLAY_REPLACE_START__*/ useCallback /*__NAV_AUTOPLAY_REPLACE_END__*/\n} from 'react'\nimport {\n EmblaOptionsType,\n /*__NAV_AUTOPLAY_REPLACE_START__*/ EmblaCarouselType /*__NAV_AUTOPLAY_REPLACE_END__*/\n} from 'embla-carousel'\n/*__DOT_BUTTONS_REPLACE_START__*/\nimport { DotButton, useDotButton } from './EmblaCarouselDotButton'\n/*__DOT_BUTTONS_REPLACE_END__*/\n/*__PREV_NEXT_BUTTONS_REPLACE_START__*/\nimport {\n PrevButton,\n NextButton,\n usePrevNextButtons\n} from './EmblaCarouselArrowButtons'\n/*__PREV_NEXT_BUTTONS_REPLACE_END__*/\n/*__SELECTED_SNAP_DISPLAY_REPLACE_START__*/\nimport {\n SelectedSnapDisplay,\n useSelectedSnapDisplay\n} from './EmblaCarouselSelectedSnapDisplay'\n/*__SELECTED_SNAP_DISPLAY_REPLACE_END__*/\n/*__AUTOPLAY_REPLACE_START__*/\nimport Autoplay from 'embla-carousel-autoplay'\n/*__AUTOPLAY_REPLACE_END__*/\n/*__CLASS_NAMES_REPLACE_START__*/\nimport ClassNames from 'embla-carousel-class-names'\n/*__CLASS_NAMES_REPLACE_END__*/\nimport useEmblaCarousel from 'embla-carousel-react'\n\ntype PropType = {\n slides: number[]\n options?: EmblaOptionsType\n}\n\nconst EmblaCarousel: React.FC<PropType> = (props) => {\n const { slides, options } = props\n const [emblaRef, emblaApi] = useEmblaCarousel(\n options,\n /*__PLUGINS_REPLACE_START__*/\n [\n /*__AUTOPLAY_REPLACE_START__*/\n Autoplay(),\n /*__AUTOPLAY_REPLACE_END__*/\n\n /*__CLASS_NAMES_REPLACE_START__*/\n ClassNames()\n /*__CLASS_NAMES_REPLACE_END__*/\n ]\n /*__PLUGINS_REPLACE_END__*/\n )\n\n /*__NAV_AUTOPLAY_REPLACE_START__*/\n const onNavButtonClick = useCallback((emblaApi: EmblaCarouselType) => {\n const autoplay = emblaApi?.plugins()?.autoplay\n if (!autoplay) return\n\n const resetOrStop =\n autoplay.options.stopOnInteraction === false\n ? autoplay.reset\n : autoplay.stop\n\n resetOrStop()\n }, [])\n /*__NAV_AUTOPLAY_REPLACE_END__*/\n\n /*__DOT_BUTTONS_REPLACE_START__*/\n const { selectedIndex, scrollSnaps, onDotButtonClick } = useDotButton(\n emblaApi,\n /*__NAV_AUTOPLAY_REPLACE_START__*/ onNavButtonClick /*__NAV_AUTOPLAY_REPLACE_END__*/\n )\n /*__DOT_BUTTONS_REPLACE_END__*/\n\n /*__PREV_NEXT_BUTTONS_REPLACE_START__*/\n const {\n prevBtnDisabled,\n nextBtnDisabled,\n onPrevButtonClick,\n onNextButtonClick\n } = usePrevNextButtons(\n emblaApi,\n /*__NAV_AUTOPLAY_REPLACE_START__*/ onNavButtonClick /*__NAV_AUTOPLAY_REPLACE_END__*/\n )\n /*__PREV_NEXT_BUTTONS_REPLACE_END__*/\n\n /*__SELECTED_SNAP_DISPLAY_REPLACE_START__*/\n const { selectedSnap, snapCount } = useSelectedSnapDisplay(emblaApi)\n /*__SELECTED_SNAP_DISPLAY_REPLACE_END__*/\n\n return (\n <section\n className=\"embla\"\n /*__DIRECTION_RTL_REPLACE_START__*/ dir=\"rtl\" /*__DIRECTION_RTL_REPLACE_END__*/\n >\n <div className=\"embla__viewport\" ref={emblaRef}>\n <div className=\"embla__container\">\n {slides.map((index) => (\n <div className=\"embla__slide\" key={index}>\n <div className=\"embla__slide__number\">{index + 1}</div>\n </div>\n ))}\n </div>\n </div>\n\n {/*__CONTROLS_REPLACE_START__*/}\n <div className=\"embla__controls\">\n {/*__PREV_NEXT_BUTTONS_REPLACE_START__*/}\n <div className=\"embla__buttons\">\n <PrevButton onClick={onPrevButtonClick} disabled={prevBtnDisabled} />\n <NextButton onClick={onNextButtonClick} disabled={nextBtnDisabled} />\n </div>\n {/*__PREV_NEXT_BUTTONS_REPLACE_END__*/}\n\n {/*__DOT_BUTTONS_REPLACE_START__*/}\n <div className=\"embla__dots\">\n {scrollSnaps.map((_, index) => (\n <DotButton\n key={index}\n onClick={() => onDotButtonClick(index)}\n className={'embla__dot'.concat(\n index === selectedIndex ? ' embla__dot--selected' : ''\n )}\n />\n ))}\n </div>\n {/*__DOT_BUTTONS_REPLACE_END__*/}\n\n {/*__SELECTED_SNAP_DISPLAY_REPLACE_START__*/}\n <SelectedSnapDisplay\n selectedSnap={selectedSnap}\n snapCount={snapCount}\n />\n {/*__SELECTED_SNAP_DISPLAY_REPLACE_END__*/}\n </div>\n {/*__CONTROLS_REPLACE_END__*/}\n </section>\n )\n}\n\nexport default EmblaCarousel\n","import { CreateOptionsType } from 'embla-carousel'\n\nexport type OptionsType = CreateOptionsType<{\n delay: number\n jump: boolean\n playOnInit: boolean\n stopOnFocusIn: boolean\n stopOnInteraction: boolean\n stopOnMouseEnter: boolean\n stopOnLastSnap: boolean\n rootNode: ((emblaRoot: HTMLElement) => HTMLElement | null) | null\n}>\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 { OptionsType, defaultOptions } from './Options'\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 }\n}\n\nexport type AutoplayType = CreatePluginType<\n {\n play: (jump?: boolean) => void\n stop: () => void\n reset: () => void\n isPlaying: () => boolean\n },\n OptionsType\n>\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 playing = false\n let resume = true\n let jump = false\n let timer = 0\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 <= 1) return\n\n jump = options.jump\n destroyed = false\n\n const { eventStore, ownerDocument } = emblaApi.internalEngine()\n const emblaRoot = emblaApi.rootNode()\n const root = (options.rootNode && options.rootNode(emblaRoot)) || emblaRoot\n const container = emblaApi.containerNode()\n\n emblaApi.on('pointerDown', stopTimer)\n\n if (!options.stopOnInteraction) {\n emblaApi.on('pointerUp', startTimer)\n }\n\n if (options.stopOnMouseEnter) {\n eventStore.add(root, 'mouseenter', () => {\n resume = false\n stopTimer()\n })\n\n if (!options.stopOnInteraction) {\n eventStore.add(root, 'mouseleave', () => {\n resume = true\n startTimer()\n })\n }\n }\n\n if (options.stopOnFocusIn) {\n eventStore.add(container, 'focusin', stopTimer)\n\n if (!options.stopOnInteraction) {\n eventStore.add(container, 'focusout', startTimer)\n }\n }\n\n eventStore.add(ownerDocument, 'visibilitychange', visibilityChange)\n\n if (options.playOnInit && !documentIsHidden()) startTimer()\n }\n\n function destroy(): void {\n emblaApi.off('pointerDown', stopTimer).off('pointerUp', startTimer)\n stopTimer()\n destroyed = true\n playing = false\n }\n\n function startTimer(): void {\n if (destroyed) return\n if (!resume) return\n if (!playing) emblaApi.emit('autoplay:play')\n const { ownerWindow } = emblaApi.internalEngine()\n ownerWindow.clearInterval(timer)\n timer = ownerWindow.setInterval(next, options.delay)\n playing = true\n }\n\n function stopTimer(): void {\n if (destroyed) return\n if (playing) emblaApi.emit('autoplay:stop')\n const { ownerWindow } = emblaApi.internalEngine()\n ownerWindow.clearInterval(timer)\n timer = 0\n playing = false\n }\n\n function visibilityChange(): void {\n if (documentIsHidden()) {\n resume = playing\n return stopTimer()\n }\n\n if (resume) startTimer()\n }\n\n function documentIsHidden(): boolean {\n const { ownerDocument } = emblaApi.internalEngine()\n return ownerDocument.visibilityState === 'hidden'\n }\n\n function play(jumpOverride?: boolean): void {\n if (typeof jumpOverride !== 'undefined') jump = jumpOverride\n resume = true\n startTimer()\n }\n\n function stop(): void {\n if (playing) stopTimer()\n }\n\n function reset(): void {\n if (playing) play()\n }\n\n function isPlaying(): boolean {\n return playing\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 && nextIndex === lastIndex\n\n if (kill) stopTimer()\n\n if (emblaApi.canScrollNext()) {\n emblaApi.scrollNext(jump)\n } else {\n emblaApi.scrollTo(0, jump)\n }\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 }\n return self\n}\n\ndeclare namespace Autoplay {\n let globalOptions: AutoplayOptionsType | undefined\n}\n\nAutoplay.globalOptions = undefined\n\nexport default Autoplay\n","export function removeClass(node: HTMLElement, className: string): void {\n if (!node || !className) return\n const { classList } = node\n if (classList.contains(className)) classList.remove(className)\n}\n\nexport function addClass(node: HTMLElement, className: string): void {\n if (!node || !className) return\n const { classList } = node\n if (!classList.contains(className)) classList.add(className)\n}\n\nexport function nodeListToArray(nodeList: NodeListOf<Element>): HTMLElement[] {\n return <HTMLElement[]>Array.from(nodeList)\n}\n","import { defaultOptions, OptionsType } from './Options'\nimport { nodeListToArray, addClass, removeClass } from './utils'\nimport {\n CreatePluginType,\n OptionsHandlerType,\n EmblaCarouselType,\n EmblaEventType\n} from 'embla-carousel'\n\ndeclare module 'embla-carousel' {\n interface EmblaPluginsType {\n classNames: ClassNamesType\n }\n}\n\nexport type ClassNamesType = CreatePluginType<{}, OptionsType>\n\nexport type ClassNamesOptionsType = ClassNamesType['options']\n\nfunction ClassNames(userOptions: ClassNamesOptionsType = {}): ClassNamesType {\n let options: OptionsType\n let emblaApi: EmblaCarouselType\n let root: HTMLElement\n let slides: HTMLElement[]\n const selectedEvents: EmblaEventType[] = ['select']\n const draggingEvents: EmblaEventType[] = ['pointerDown', 'pointerUp']\n const inViewEvents: EmblaEventType[] = ['slidesInView']\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, ClassNames.globalOptions)\n const allOptions = mergeOptions(optionsBase, userOptions)\n options = optionsAtMedia(allOptions)\n\n root = emblaApi.rootNode()\n slides = emblaApi.slideNodes()\n const isDraggable = !!emblaApi.internalEngine().options.watchDrag\n\n if (isDraggable) {\n addClass(root, options.draggable)\n }\n if (options.dragging) {\n draggingEvents.forEach((evt) => emblaApi.on(evt, toggleDraggingClass))\n }\n if (options.snapped) {\n selectedEvents.forEach((evt) => emblaApi.on(evt, toggleSnappedClasses))\n toggleSnappedClasses()\n }\n if (options.inView) {\n inViewEvents.forEach((evt) => emblaApi.on(evt, toggleInViewClasses))\n toggleInViewClasses()\n }\n }\n\n function destroy(): void {\n removeClass(root, options.draggable)\n draggingEvents.forEach((evt) => emblaApi.off(evt, toggleDraggingClass))\n selectedEvents.forEach((evt) => emblaApi.off(evt, toggleSnappedClasses))\n inViewEvents.forEach((evt) => emblaApi.off(evt, toggleInViewClasses))\n slides.forEach((slide) => removeClass(slide, options.snapped))\n }\n\n function toggleDraggingClass(\n _: EmblaCarouselType,\n evt: EmblaEventType\n ): void {\n if (evt === 'pointerDown') addClass(root, options.dragging)\n else removeClass(root, options.dragging)\n }\n\n function toggleSlideClasses(slideIndexes: number[], className: string): void {\n const container = emblaApi.containerNode()\n const slideNodeList = container.querySelectorAll(`.${className}`)\n const removeClassSlides = nodeListToArray(slideNodeList)\n\n removeClassSlides.forEach((slide) => removeClass(slide, className))\n slideIndexes.forEach((index) => addClass(slides[index], className))\n }\n\n function toggleSnappedClasses(): void {\n const { slideRegistry } = emblaApi.internalEngine()\n const slideIndexes = slideRegistry[emblaApi.selectedScrollSnap()]\n toggleSlideClasses(slideIndexes, options.snapped)\n }\n\n function toggleInViewClasses(): void {\n const slideIndexes = emblaApi.slidesInView()\n toggleSlideClasses(slideIndexes, options.inView)\n }\n\n const self: ClassNamesType = {\n name: 'classNames',\n options: userOptions,\n init,\n destroy\n }\n return self\n}\n\ndeclare namespace ClassNames {\n let globalOptions: ClassNamesOptionsType | undefined\n}\n\nClassNames.globalOptions = undefined\n\nexport default ClassNames\n"],"names":["DotButton","props","children","restProps","React","Object","assign","type","PrevButton","className","viewBox","fill","d","NextButton","SelectedSnapDisplay","selectedSnap","snapCount","slides","options","emblaRef","emblaApi","useEmblaCarousel","Autoplay","ClassNames","onNavButtonClick","useCallback","_emblaApi$plugins","autoplay","plugins","stopOnInteraction","reset","stop","selectedIndex","scrollSnaps","onDotButtonClick","useDotButton","onButtonClick","setSelectedIndex","useState","setScrollSnaps","index","scrollTo","onInit","scrollSnapList","onSelect","selectedScrollSnap","useEffect","on","prevBtnDisabled","nextBtnDisabled","onPrevButtonClick","onNextButtonClick","usePrevNextButtons","setPrevBtnDisabled","setNextBtnDisabled","scrollPrev","scrollNext","canScrollPrev","canScrollNext","setSelectedSnap","setSnapCount","updateScrollSnapState","length","useSelectedSnapDisplay","dir","ref","map","key","onClick","disabled","_","concat","defaultOptions","active","breakpoints","delay","jump","playOnInit","stopOnFocusIn","stopOnMouseEnter","stopOnLastSnap","rootNode","userOptions","destroyed","playing","resume","timer","startTimer","emit","ownerWindow","internalEngine","clearInterval","setInterval","next","stopTimer","visibilityChange","documentIsHidden","ownerDocument","visibilityState","play","jumpOverride","nextIndex","clone","add","get","lastIndex","name","init","emblaApiInstance","optionsHandler","mergeOptions","optionsAtMedia","optionsBase","globalOptions","allOptions","eventStore","emblaRoot","root","container","containerNode","destroy","off","isPlaying","undefined","snapped","inView","draggable","dragging","removeClass","node","classList","contains","remove","addClass","selectedEvents","draggingEvents","inViewEvents","toggleDraggingClass","evt","toggleSlideClasses","slideIndexes","slideNodeList","querySelectorAll","nodeList","Array","from","forEach","slide","toggleSnappedClasses","slideRegistry","toggleInViewClasses","slidesInView","slideNodes","watchDrag"],"sourceRoot":""}