From 67bb14d3ee8add4e800e7cfa7f72cc8e9f7f24fe Mon Sep 17 00:00:00 2001 From: CodingOnStar Date: Tue, 14 Oct 2025 15:51:07 +0800 Subject: [PATCH] chore: update dependencies and improve explore page banner --- node_modules/.modules.yaml | 27 - node_modules/.pnpm-workspace-state.json | 25 - .../node_modules/embla-carousel | 1 - .../embla-carousel-autoplay/README.md | 233 --- .../cjs/components/Autoplay.d.ts | 27 - .../cjs/components/Options.d.ts | 14 - .../cjs/components/utils.d.ts | 4 - .../cjs/embla-carousel-autoplay.cjs.js | 197 -- .../cjs/embla-carousel-autoplay.cjs.js.map | 1 - .../embla-carousel-autoplay/cjs/index.d.ts | 2 - .../embla-carousel-autoplay/cjs/package.json | 55 - .../components/Autoplay.d.ts | 27 - .../components/Options.d.ts | 14 - .../components/utils.d.ts | 4 - .../embla-carousel-autoplay.umd.js | 1 - .../esm/components/Autoplay.d.ts | 27 - .../esm/components/Options.d.ts | 14 - .../esm/components/utils.d.ts | 4 - .../esm/embla-carousel-autoplay.esm.js | 195 -- .../esm/embla-carousel-autoplay.esm.js.map | 1 - .../embla-carousel-autoplay/esm/index.d.ts | 2 - .../embla-carousel-autoplay/esm/package.json | 55 - .../embla-carousel-autoplay/index.d.ts | 2 - .../embla-carousel-autoplay/package.json | 77 - .../node_modules/embla-carousel | 1 - .../embla-carousel-react/README.md | 233 --- .../cjs/components/useEmblaCarousel.d.ts | 11 - .../cjs/embla-carousel-react.cjs.js | 40 - .../cjs/embla-carousel-react.cjs.js.map | 1 - .../embla-carousel-react/cjs/index.d.ts | 2 - .../embla-carousel-react/cjs/package.json | 60 - .../components/useEmblaCarousel.d.ts | 11 - .../embla-carousel-react.umd.js | 1 - .../esm/components/useEmblaCarousel.d.ts | 11 - .../esm/embla-carousel-react.esm.js | 38 - .../esm/embla-carousel-react.esm.js.map | 1 - .../embla-carousel-react/esm/index.d.ts | 2 - .../embla-carousel-react/esm/package.json | 60 - .../embla-carousel-react/index.d.ts | 2 - .../embla-carousel-react/package.json | 82 - .../embla-carousel-reactive-utils | 1 - .../node_modules/react | 1 - .../node_modules/embla-carousel | 1 - .../embla-carousel-reactive-utils/README.md | 233 --- .../cjs/components/utils.d.ts | 7 - .../cjs/embla-carousel-reactive-utils.cjs.js | 44 - .../embla-carousel-reactive-utils.cjs.js.map | 1 - .../cjs/index.d.ts | 1 - .../cjs/package.json | 55 - .../components/utils.d.ts | 7 - .../embla-carousel-reactive-utils.umd.js | 1 - .../esm/components/utils.d.ts | 7 - .../esm/embla-carousel-reactive-utils.esm.js | 39 - .../embla-carousel-reactive-utils.esm.js.map | 1 - .../esm/index.d.ts | 1 - .../esm/package.json | 55 - .../embla-carousel-reactive-utils/index.d.ts | 1 - .../package.json | 77 - .../node_modules/embla-carousel/README.md | 233 --- .../cjs/components/Alignment.d.ts | 5 - .../cjs/components/Animations.d.ts | 13 - .../embla-carousel/cjs/components/Axis.d.ts | 14 - .../cjs/components/Counter.d.ts | 7 - .../cjs/components/DragHandler.d.ts | 21 - .../cjs/components/DragTracker.d.ts | 10 - .../cjs/components/EmblaCarousel.d.ts | 32 - .../embla-carousel/cjs/components/Engine.d.ts | 64 - .../cjs/components/EventHandler.d.ts | 27 - .../cjs/components/EventStore.d.ts | 9 - .../embla-carousel/cjs/components/Limit.d.ts | 11 - .../cjs/components/NodeRects.d.ts | 12 - .../cjs/components/Options.d.ts | 40 - .../cjs/components/OptionsHandler.d.ts | 10 - .../cjs/components/PercentOfView.d.ts | 4 - .../cjs/components/Plugins.d.ts | 16 - .../cjs/components/PluginsHandler.d.ts | 8 - .../cjs/components/ResizeHandler.d.ts | 13 - .../cjs/components/ScrollBody.d.ts | 13 - .../cjs/components/ScrollBounds.d.ts | 10 - .../cjs/components/ScrollContain.d.ts | 7 - .../cjs/components/ScrollLimit.d.ts | 5 - .../cjs/components/ScrollLooper.d.ts | 6 - .../cjs/components/ScrollProgress.d.ts | 5 - .../cjs/components/ScrollSnaps.d.ts | 9 - .../cjs/components/ScrollTarget.d.ts | 12 - .../cjs/components/ScrollTo.d.ts | 11 - .../cjs/components/SlideFocus.d.ts | 13 - .../cjs/components/SlideLooper.d.ts | 18 - .../cjs/components/SlideRegistry.d.ts | 7 - .../cjs/components/SlideSizes.d.ts | 10 - .../cjs/components/SlidesHandler.d.ts | 10 - .../cjs/components/SlidesInView.d.ts | 8 - .../cjs/components/SlidesToScroll.d.ts | 7 - .../cjs/components/Translate.d.ts | 7 - .../cjs/components/Vector1d.d.ts | 7 - .../embla-carousel/cjs/components/utils.d.ts | 19 - .../embla-carousel/cjs/embla-carousel.cjs.js | 1672 ----------------- .../cjs/embla-carousel.cjs.js.map | 1 - .../embla-carousel/cjs/index.d.ts | 11 - .../embla-carousel/cjs/package.json | 52 - .../embla-carousel/components/Alignment.d.ts | 5 - .../embla-carousel/components/Animations.d.ts | 13 - .../embla-carousel/components/Axis.d.ts | 14 - .../embla-carousel/components/Counter.d.ts | 7 - .../components/DragHandler.d.ts | 21 - .../components/DragTracker.d.ts | 10 - .../components/EmblaCarousel.d.ts | 32 - .../embla-carousel/components/Engine.d.ts | 64 - .../components/EventHandler.d.ts | 27 - .../embla-carousel/components/EventStore.d.ts | 9 - .../embla-carousel/components/Limit.d.ts | 11 - .../embla-carousel/components/NodeRects.d.ts | 12 - .../embla-carousel/components/Options.d.ts | 40 - .../components/OptionsHandler.d.ts | 10 - .../components/PercentOfView.d.ts | 4 - .../embla-carousel/components/Plugins.d.ts | 16 - .../components/PluginsHandler.d.ts | 8 - .../components/ResizeHandler.d.ts | 13 - .../embla-carousel/components/ScrollBody.d.ts | 13 - .../components/ScrollBounds.d.ts | 10 - .../components/ScrollContain.d.ts | 7 - .../components/ScrollLimit.d.ts | 5 - .../components/ScrollLooper.d.ts | 6 - .../components/ScrollProgress.d.ts | 5 - .../components/ScrollSnaps.d.ts | 9 - .../components/ScrollTarget.d.ts | 12 - .../embla-carousel/components/ScrollTo.d.ts | 11 - .../embla-carousel/components/SlideFocus.d.ts | 13 - .../components/SlideLooper.d.ts | 18 - .../components/SlideRegistry.d.ts | 7 - .../embla-carousel/components/SlideSizes.d.ts | 10 - .../components/SlidesHandler.d.ts | 10 - .../components/SlidesInView.d.ts | 8 - .../components/SlidesToScroll.d.ts | 7 - .../embla-carousel/components/Translate.d.ts | 7 - .../embla-carousel/components/Vector1d.d.ts | 7 - .../embla-carousel/components/utils.d.ts | 19 - .../embla-carousel/embla-carousel.umd.js | 1 - .../esm/components/Alignment.d.ts | 5 - .../esm/components/Animations.d.ts | 13 - .../embla-carousel/esm/components/Axis.d.ts | 14 - .../esm/components/Counter.d.ts | 7 - .../esm/components/DragHandler.d.ts | 21 - .../esm/components/DragTracker.d.ts | 10 - .../esm/components/EmblaCarousel.d.ts | 32 - .../embla-carousel/esm/components/Engine.d.ts | 64 - .../esm/components/EventHandler.d.ts | 27 - .../esm/components/EventStore.d.ts | 9 - .../embla-carousel/esm/components/Limit.d.ts | 11 - .../esm/components/NodeRects.d.ts | 12 - .../esm/components/Options.d.ts | 40 - .../esm/components/OptionsHandler.d.ts | 10 - .../esm/components/PercentOfView.d.ts | 4 - .../esm/components/Plugins.d.ts | 16 - .../esm/components/PluginsHandler.d.ts | 8 - .../esm/components/ResizeHandler.d.ts | 13 - .../esm/components/ScrollBody.d.ts | 13 - .../esm/components/ScrollBounds.d.ts | 10 - .../esm/components/ScrollContain.d.ts | 7 - .../esm/components/ScrollLimit.d.ts | 5 - .../esm/components/ScrollLooper.d.ts | 6 - .../esm/components/ScrollProgress.d.ts | 5 - .../esm/components/ScrollSnaps.d.ts | 9 - .../esm/components/ScrollTarget.d.ts | 12 - .../esm/components/ScrollTo.d.ts | 11 - .../esm/components/SlideFocus.d.ts | 13 - .../esm/components/SlideLooper.d.ts | 18 - .../esm/components/SlideRegistry.d.ts | 7 - .../esm/components/SlideSizes.d.ts | 10 - .../esm/components/SlidesHandler.d.ts | 10 - .../esm/components/SlidesInView.d.ts | 8 - .../esm/components/SlidesToScroll.d.ts | 7 - .../esm/components/Translate.d.ts | 7 - .../esm/components/Vector1d.d.ts | 7 - .../embla-carousel/esm/components/utils.d.ts | 19 - .../embla-carousel/esm/embla-carousel.esm.js | 1670 ---------------- .../esm/embla-carousel.esm.js.map | 1 - .../embla-carousel/esm/index.d.ts | 11 - .../embla-carousel/esm/package.json | 52 - .../node_modules/embla-carousel/index.d.ts | 11 - .../node_modules/embla-carousel/package.json | 74 - node_modules/.pnpm/lock.yaml | 60 - .../.pnpm/node_modules/embla-carousel | 1 - .../embla-carousel-reactive-utils | 1 - node_modules/.pnpm/node_modules/react | 1 - .../react@19.2.0/node_modules/react/LICENSE | 21 - .../react@19.2.0/node_modules/react/README.md | 37 - .../cjs/react-compiler-runtime.development.js | 24 - .../cjs/react-compiler-runtime.production.js | 16 - .../cjs/react-compiler-runtime.profiling.js | 16 - .../cjs/react-jsx-dev-runtime.development.js | 338 ---- .../cjs/react-jsx-dev-runtime.production.js | 14 - .../cjs/react-jsx-dev-runtime.profiling.js | 14 - ...sx-dev-runtime.react-server.development.js | 370 ---- ...jsx-dev-runtime.react-server.production.js | 40 - .../cjs/react-jsx-runtime.development.js | 352 ---- .../react/cjs/react-jsx-runtime.production.js | 34 - .../react/cjs/react-jsx-runtime.profiling.js | 34 - ...ct-jsx-runtime.react-server.development.js | 370 ---- ...act-jsx-runtime.react-server.production.js | 40 - .../react/cjs/react.development.js | 1284 ------------- .../react/cjs/react.production.js | 542 ------ .../cjs/react.react-server.development.js | 848 --------- .../cjs/react.react-server.production.js | 423 ----- .../node_modules/react/compiler-runtime.js | 14 - .../react@19.2.0/node_modules/react/index.js | 7 - .../node_modules/react/jsx-dev-runtime.js | 7 - .../react/jsx-dev-runtime.react-server.js | 7 - .../node_modules/react/jsx-runtime.js | 7 - .../react/jsx-runtime.react-server.js | 7 - .../node_modules/react/package.json | 51 - .../node_modules/react/react.react-server.js | 7 - node_modules/embla-carousel-autoplay | 1 - node_modules/embla-carousel-react | 1 - package.json | 6 - pnpm-lock.yaml | 60 - web/app/components/explore/banner/banner.tsx | 6 +- web/package.json | 2 + web/pnpm-lock.yaml | 40 + 219 files changed, 45 insertions(+), 12445 deletions(-) delete mode 100644 node_modules/.modules.yaml delete mode 100644 node_modules/.pnpm-workspace-state.json delete mode 120000 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/README.md delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/Autoplay.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/Options.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/embla-carousel-autoplay.cjs.js delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/embla-carousel-autoplay.cjs.js.map delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/package.json delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/Autoplay.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/Options.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/embla-carousel-autoplay.umd.js delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/Autoplay.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/Options.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js.map delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/package.json delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/package.json delete mode 120000 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/README.md delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/components/useEmblaCarousel.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js.map delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/package.json delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/components/useEmblaCarousel.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/embla-carousel-react.umd.js delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/components/useEmblaCarousel.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js.map delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/package.json delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/package.json delete mode 120000 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-reactive-utils delete mode 120000 node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/react delete mode 120000 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/README.md delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/embla-carousel-reactive-utils.cjs.js delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/embla-carousel-reactive-utils.cjs.js.map delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/package.json delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/embla-carousel-reactive-utils.umd.js delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/package.json delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/package.json delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/README.md delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Alignment.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Animations.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Axis.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Counter.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/DragHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/DragTracker.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EmblaCarousel.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Engine.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EventHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EventStore.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Limit.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/NodeRects.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Options.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/OptionsHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/PercentOfView.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Plugins.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/PluginsHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ResizeHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollBody.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollBounds.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollContain.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollLimit.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollLooper.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollProgress.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollSnaps.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollTarget.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollTo.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideFocus.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideLooper.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideRegistry.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideSizes.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesInView.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesToScroll.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Translate.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Vector1d.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js.map delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/package.json delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Alignment.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Animations.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Axis.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Counter.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/DragHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/DragTracker.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EmblaCarousel.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Engine.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EventHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EventStore.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Limit.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/NodeRects.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Options.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/OptionsHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/PercentOfView.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Plugins.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/PluginsHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ResizeHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollBody.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollBounds.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollContain.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollLimit.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollLooper.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollProgress.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollSnaps.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollTarget.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollTo.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideFocus.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideLooper.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideRegistry.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideSizes.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesInView.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesToScroll.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Translate.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Vector1d.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/embla-carousel.umd.js delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PluginsHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLimit.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollSnaps.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideSizes.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/package.json delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/index.d.ts delete mode 100644 node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/package.json delete mode 100644 node_modules/.pnpm/lock.yaml delete mode 120000 node_modules/.pnpm/node_modules/embla-carousel delete mode 120000 node_modules/.pnpm/node_modules/embla-carousel-reactive-utils delete mode 120000 node_modules/.pnpm/node_modules/react delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/LICENSE delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/README.md delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.development.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.production.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.profiling.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.development.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.production.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.profiling.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.react-server.development.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.react-server.production.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.development.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.production.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.profiling.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.react-server.development.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.react-server.production.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.development.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.production.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.react-server.development.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.react-server.production.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/compiler-runtime.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/index.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-dev-runtime.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-dev-runtime.react-server.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.react-server.js delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/package.json delete mode 100644 node_modules/.pnpm/react@19.2.0/node_modules/react/react.react-server.js delete mode 120000 node_modules/embla-carousel-autoplay delete mode 120000 node_modules/embla-carousel-react delete mode 100644 package.json delete mode 100644 pnpm-lock.yaml diff --git a/node_modules/.modules.yaml b/node_modules/.modules.yaml deleted file mode 100644 index 2e2c8bf5ee..0000000000 --- a/node_modules/.modules.yaml +++ /dev/null @@ -1,27 +0,0 @@ -hoistPattern: - - '*' -hoistedDependencies: - embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): - embla-carousel-reactive-utils: private - embla-carousel@8.6.0: - embla-carousel: private - react@19.2.0: - react: private -included: - dependencies: true - devDependencies: true - optionalDependencies: true -injectedDeps: {} -layoutVersion: 5 -nodeLinker: isolated -packageManager: pnpm@10.11.0 -pendingBuilds: [] -prunedAt: Mon, 13 Oct 2025 02:31:23 GMT -publicHoistPattern: [] -registries: - '@jsr': https://npm.jsr.io/ - default: https://mirrors.cloud.tencent.com/npm/ -skipped: [] -storeDir: /Users/hanxujiang/Library/pnpm/store/v10 -virtualStoreDir: .pnpm -virtualStoreDirMaxLength: 120 diff --git a/node_modules/.pnpm-workspace-state.json b/node_modules/.pnpm-workspace-state.json deleted file mode 100644 index aaa6a3c2cd..0000000000 --- a/node_modules/.pnpm-workspace-state.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "lastValidatedTimestamp": 1760322690770, - "projects": {}, - "pnpmfileExists": false, - "settings": { - "autoInstallPeers": true, - "dedupeDirectDeps": false, - "dedupeInjectedDeps": true, - "dedupePeerDependents": true, - "dev": true, - "excludeLinksFromLockfile": false, - "hoistPattern": [ - "*" - ], - "hoistWorkspacePackages": true, - "injectWorkspacePackages": false, - "linkWorkspacePackages": false, - "nodeLinker": "isolated", - "optional": true, - "preferWorkspacePackages": false, - "production": true, - "publicHoistPattern": [] - }, - "filteredInstall": false -} diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel deleted file mode 120000 index ba29366a8c..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel +++ /dev/null @@ -1 +0,0 @@ -../../embla-carousel@8.6.0/node_modules/embla-carousel \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/README.md b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/README.md deleted file mode 100644 index 5b5f7e5cea..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/README.md +++ /dev/null @@ -1,233 +0,0 @@ -
-
-

- Embla Carousel - -

- -

- - - - - - -

- - -

Embla Carousel Autoplay

-
- -

- Embla Carousel is a bare bones carousel library with great fluid motion and awesome swipe precision. It's library agnostic, dependency free and 100% open source. -

- -
- -

- -  Examples  - -

- -

- -  Generator  - -

- -

- -  Installation  - -

-
- -
- -
- -

Ready for

-
- -

- - - - - - - - - - - - - - - - - - - - - -

-
- -
- -
- -

Contributors

-
-

- Thank you to all contributors for making Embla Carousel awesome! Contributions are welcome. -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-
- -
- -
- -

Special Thanks

-
-

- - gunnarx2 - React wrapper useEmblaCarousel. - -
- - LiamMartens - Solid wrapper createEmblaCarousel. - -
- - donaldxdonald, zip-fa, JeanMeche - Angular wrapper EmblaCarouselDirective. - -
- - xiel - Plugin Embla Carousel Wheel Gestures. - -
- - zaaakher - Contributing guidelines. - -
- - sarussss - Answering questions. - -

-
- -
- -

Open Source

- -

- Embla is MIT licensed 💖.

- Embla Carousel - Copyright © 2019-present.
- Package created by David Jerleke. -

- -

- · · · -

- -

- Thanks BrowserStack. -

- -

- - - -

diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/Autoplay.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/Autoplay.d.ts deleted file mode 100644 index d03a504e20..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/Autoplay.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { OptionsType } from './Options'; -import { CreatePluginType } from 'embla-carousel'; -declare module 'embla-carousel' { - interface EmblaPluginsType { - autoplay: AutoplayType; - } - interface EmblaEventListType { - autoplayPlay: 'autoplay:play'; - autoplayStop: 'autoplay:stop'; - autoplaySelect: 'autoplay:select'; - autoplayTimerSet: 'autoplay:timerset'; - autoplayTimerStopped: 'autoplay:timerstopped'; - } -} -export type AutoplayType = CreatePluginType<{ - play: (jump?: boolean) => void; - stop: () => void; - reset: () => void; - isPlaying: () => boolean; - timeUntilNext: () => number | null; -}, OptionsType>; -export type AutoplayOptionsType = AutoplayType['options']; -declare function Autoplay(userOptions?: AutoplayOptionsType): AutoplayType; -declare namespace Autoplay { - let globalOptions: AutoplayOptionsType | undefined; -} -export default Autoplay; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/Options.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/Options.d.ts deleted file mode 100644 index 533b7cda56..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/Options.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { CreateOptionsType, EmblaCarouselType } from 'embla-carousel'; -export type DelayOptionType = number | ((scrollSnaps: number[], emblaApi: EmblaCarouselType) => number[]); -export type RootNodeType = null | ((emblaRoot: HTMLElement) => HTMLElement | null); -export type OptionsType = CreateOptionsType<{ - delay: DelayOptionType; - jump: boolean; - playOnInit: boolean; - stopOnFocusIn: boolean; - stopOnInteraction: boolean; - stopOnMouseEnter: boolean; - stopOnLastSnap: boolean; - rootNode: RootNodeType; -}>; -export declare const defaultOptions: OptionsType; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/utils.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/utils.d.ts deleted file mode 100644 index de04c2ed52..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/components/utils.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { EmblaCarouselType } from 'embla-carousel/components/EmblaCarousel'; -import { DelayOptionType, RootNodeType } from './Options'; -export declare function normalizeDelay(emblaApi: EmblaCarouselType, delay: DelayOptionType): number[]; -export declare function getAutoplayRootNode(emblaApi: EmblaCarouselType, rootNode: RootNodeType): HTMLElement; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/embla-carousel-autoplay.cjs.js b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/embla-carousel-autoplay.cjs.js deleted file mode 100644 index 24d7f19754..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/embla-carousel-autoplay.cjs.js +++ /dev/null @@ -1,197 +0,0 @@ -'use strict'; - -const defaultOptions = { - active: true, - breakpoints: {}, - delay: 4000, - jump: false, - playOnInit: true, - stopOnFocusIn: true, - stopOnInteraction: true, - stopOnMouseEnter: false, - stopOnLastSnap: false, - rootNode: null -}; - -function normalizeDelay(emblaApi, delay) { - const scrollSnaps = emblaApi.scrollSnapList(); - if (typeof delay === 'number') { - return scrollSnaps.map(() => delay); - } - return delay(scrollSnaps, emblaApi); -} -function getAutoplayRootNode(emblaApi, rootNode) { - const emblaRootNode = emblaApi.rootNode(); - return rootNode && rootNode(emblaRootNode) || emblaRootNode; -} - -function Autoplay(userOptions = {}) { - let options; - let emblaApi; - let destroyed; - let delay; - let timerStartTime = null; - let timerId = 0; - let autoplayActive = false; - let mouseIsOver = false; - let playOnDocumentVisible = false; - let jump = false; - function init(emblaApiInstance, optionsHandler) { - emblaApi = emblaApiInstance; - const { - mergeOptions, - optionsAtMedia - } = optionsHandler; - const optionsBase = mergeOptions(defaultOptions, Autoplay.globalOptions); - const allOptions = mergeOptions(optionsBase, userOptions); - options = optionsAtMedia(allOptions); - if (emblaApi.scrollSnapList().length <= 1) return; - jump = options.jump; - destroyed = false; - delay = normalizeDelay(emblaApi, options.delay); - const { - eventStore, - ownerDocument - } = emblaApi.internalEngine(); - const isDraggable = !!emblaApi.internalEngine().options.watchDrag; - const root = getAutoplayRootNode(emblaApi, options.rootNode); - eventStore.add(ownerDocument, 'visibilitychange', visibilityChange); - if (isDraggable) { - emblaApi.on('pointerDown', pointerDown); - } - if (isDraggable && !options.stopOnInteraction) { - emblaApi.on('pointerUp', pointerUp); - } - if (options.stopOnMouseEnter) { - eventStore.add(root, 'mouseenter', mouseEnter); - } - if (options.stopOnMouseEnter && !options.stopOnInteraction) { - eventStore.add(root, 'mouseleave', mouseLeave); - } - if (options.stopOnFocusIn) { - emblaApi.on('slideFocusStart', stopAutoplay); - } - if (options.stopOnFocusIn && !options.stopOnInteraction) { - eventStore.add(emblaApi.containerNode(), 'focusout', startAutoplay); - } - if (options.playOnInit) startAutoplay(); - } - function destroy() { - emblaApi.off('pointerDown', pointerDown).off('pointerUp', pointerUp).off('slideFocusStart', stopAutoplay); - stopAutoplay(); - destroyed = true; - autoplayActive = false; - } - function setTimer() { - const { - ownerWindow - } = emblaApi.internalEngine(); - ownerWindow.clearTimeout(timerId); - timerId = ownerWindow.setTimeout(next, delay[emblaApi.selectedScrollSnap()]); - timerStartTime = new Date().getTime(); - emblaApi.emit('autoplay:timerset'); - } - function clearTimer() { - const { - ownerWindow - } = emblaApi.internalEngine(); - ownerWindow.clearTimeout(timerId); - timerId = 0; - timerStartTime = null; - emblaApi.emit('autoplay:timerstopped'); - } - function startAutoplay() { - if (destroyed) return; - if (documentIsHidden()) { - playOnDocumentVisible = true; - return; - } - if (!autoplayActive) emblaApi.emit('autoplay:play'); - setTimer(); - autoplayActive = true; - } - function stopAutoplay() { - if (destroyed) return; - if (autoplayActive) emblaApi.emit('autoplay:stop'); - clearTimer(); - autoplayActive = false; - } - function visibilityChange() { - if (documentIsHidden()) { - playOnDocumentVisible = autoplayActive; - return stopAutoplay(); - } - if (playOnDocumentVisible) startAutoplay(); - } - function documentIsHidden() { - const { - ownerDocument - } = emblaApi.internalEngine(); - return ownerDocument.visibilityState === 'hidden'; - } - function pointerDown() { - if (!mouseIsOver) stopAutoplay(); - } - function pointerUp() { - if (!mouseIsOver) startAutoplay(); - } - function mouseEnter() { - mouseIsOver = true; - stopAutoplay(); - } - function mouseLeave() { - mouseIsOver = false; - startAutoplay(); - } - function play(jumpOverride) { - if (typeof jumpOverride !== 'undefined') jump = jumpOverride; - startAutoplay(); - } - function stop() { - if (autoplayActive) stopAutoplay(); - } - function reset() { - if (autoplayActive) startAutoplay(); - } - function isPlaying() { - return autoplayActive; - } - function next() { - const { - index - } = emblaApi.internalEngine(); - const nextIndex = index.clone().add(1).get(); - const lastIndex = emblaApi.scrollSnapList().length - 1; - const kill = options.stopOnLastSnap && nextIndex === lastIndex; - if (emblaApi.canScrollNext()) { - emblaApi.scrollNext(jump); - } else { - emblaApi.scrollTo(0, jump); - } - emblaApi.emit('autoplay:select'); - if (kill) return stopAutoplay(); - startAutoplay(); - } - function timeUntilNext() { - if (!timerStartTime) return null; - const currentDelay = delay[emblaApi.selectedScrollSnap()]; - const timePastSinceStart = new Date().getTime() - timerStartTime; - return currentDelay - timePastSinceStart; - } - const self = { - name: 'autoplay', - options: userOptions, - init, - destroy, - play, - stop, - reset, - isPlaying, - timeUntilNext - }; - return self; -} -Autoplay.globalOptions = undefined; - -module.exports = Autoplay; -//# sourceMappingURL=embla-carousel-autoplay.cjs.js.map diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/embla-carousel-autoplay.cjs.js.map b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/embla-carousel-autoplay.cjs.js.map deleted file mode 100644 index 9b1cc8e4d8..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/embla-carousel-autoplay.cjs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"embla-carousel-autoplay.cjs.js","sources":["../src/components/Options.ts","../src/components/utils.ts","../src/components/Autoplay.ts"],"sourcesContent":["import { CreateOptionsType, EmblaCarouselType } from 'embla-carousel'\n\nexport type DelayOptionType =\n | number\n | ((scrollSnaps: number[], emblaApi: EmblaCarouselType) => number[])\n\nexport type RootNodeType =\n | null\n | ((emblaRoot: HTMLElement) => HTMLElement | null)\n\nexport type OptionsType = CreateOptionsType<{\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}>\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(() => 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 && 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<\n {\n play: (jump?: boolean) => void\n stop: () => void\n reset: () => void\n isPlaying: () => boolean\n timeUntilNext: () => number | null\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 delay: ReturnType\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 <= 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 && !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 && !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 && !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 && 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"],"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","self","name","undefined"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/index.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/index.d.ts deleted file mode 100644 index ee2bc3b587..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { AutoplayType, AutoplayOptionsType } from './components/Autoplay'; -export { default } from './components/Autoplay'; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/package.json b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/package.json deleted file mode 100644 index c1f690b498..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/cjs/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "embla-carousel-autoplay", - "version": "8.6.0", - "author": "David Jerleke", - "description": "An autoplay plugin for Embla Carousel", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-autoplay*", - "components/**/*", - "index.d.ts" - ], - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "peerDependencies": { - "embla-carousel": "8.6.0" - }, - "main": "embla-carousel-autoplay.cjs.js", - "type": "commonjs" -} diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/Autoplay.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/Autoplay.d.ts deleted file mode 100644 index d03a504e20..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/Autoplay.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { OptionsType } from './Options'; -import { CreatePluginType } from 'embla-carousel'; -declare module 'embla-carousel' { - interface EmblaPluginsType { - autoplay: AutoplayType; - } - interface EmblaEventListType { - autoplayPlay: 'autoplay:play'; - autoplayStop: 'autoplay:stop'; - autoplaySelect: 'autoplay:select'; - autoplayTimerSet: 'autoplay:timerset'; - autoplayTimerStopped: 'autoplay:timerstopped'; - } -} -export type AutoplayType = CreatePluginType<{ - play: (jump?: boolean) => void; - stop: () => void; - reset: () => void; - isPlaying: () => boolean; - timeUntilNext: () => number | null; -}, OptionsType>; -export type AutoplayOptionsType = AutoplayType['options']; -declare function Autoplay(userOptions?: AutoplayOptionsType): AutoplayType; -declare namespace Autoplay { - let globalOptions: AutoplayOptionsType | undefined; -} -export default Autoplay; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/Options.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/Options.d.ts deleted file mode 100644 index 533b7cda56..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/Options.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { CreateOptionsType, EmblaCarouselType } from 'embla-carousel'; -export type DelayOptionType = number | ((scrollSnaps: number[], emblaApi: EmblaCarouselType) => number[]); -export type RootNodeType = null | ((emblaRoot: HTMLElement) => HTMLElement | null); -export type OptionsType = CreateOptionsType<{ - delay: DelayOptionType; - jump: boolean; - playOnInit: boolean; - stopOnFocusIn: boolean; - stopOnInteraction: boolean; - stopOnMouseEnter: boolean; - stopOnLastSnap: boolean; - rootNode: RootNodeType; -}>; -export declare const defaultOptions: OptionsType; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/utils.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/utils.d.ts deleted file mode 100644 index de04c2ed52..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/components/utils.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { EmblaCarouselType } from 'embla-carousel/components/EmblaCarousel'; -import { DelayOptionType, RootNodeType } from './Options'; -export declare function normalizeDelay(emblaApi: EmblaCarouselType, delay: DelayOptionType): number[]; -export declare function getAutoplayRootNode(emblaApi: EmblaCarouselType, rootNode: RootNodeType): HTMLElement; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/embla-carousel-autoplay.umd.js b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/embla-carousel-autoplay.umd.js deleted file mode 100644 index ddccbd5a98..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/embla-carousel-autoplay.umd.js +++ /dev/null @@ -1 +0,0 @@ -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).EmblaCarouselAutoplay=t()}(this,(function(){"use strict";const n={active:!0,breakpoints:{},delay:4e3,jump:!1,playOnInit:!0,stopOnFocusIn:!0,stopOnInteraction:!0,stopOnMouseEnter:!1,stopOnLastSnap:!1,rootNode:null};function t(o={}){let e,i,s,l,r=null,u=0,a=!1,c=!1,p=!1,f=!1;function d(){s||(g()?p=!0:(a||i.emit("autoplay:play"),function(){const{ownerWindow:n}=i.internalEngine();n.clearTimeout(u),u=n.setTimeout(E,l[i.selectedScrollSnap()]),r=(new Date).getTime(),i.emit("autoplay:timerset")}(),a=!0))}function m(){s||(a&&i.emit("autoplay:stop"),function(){const{ownerWindow:n}=i.internalEngine();n.clearTimeout(u),u=0,r=null,i.emit("autoplay:timerstopped")}(),a=!1)}function y(){if(g())return p=a,m();p&&d()}function g(){const{ownerDocument:n}=i.internalEngine();return"hidden"===n.visibilityState}function O(){c||m()}function S(){c||d()}function w(){c=!0,m()}function b(){c=!1,d()}function E(){const{index:n}=i.internalEngine(),t=n.clone().add(1).get(),o=i.scrollSnapList().length-1,s=e.stopOnLastSnap&&t===o;if(i.canScrollNext()?i.scrollNext(f):i.scrollTo(0,f),i.emit("autoplay:select"),s)return m();d()}return{name:"autoplay",options:o,init:function(r,u){i=r;const{mergeOptions:a,optionsAtMedia:c}=u,p=a(n,t.globalOptions),g=a(p,o);if(e=c(g),i.scrollSnapList().length<=1)return;f=e.jump,s=!1,l=function(n,t){const o=n.scrollSnapList();return"number"==typeof t?o.map((()=>t)):t(o,n)}(i,e.delay);const{eventStore:E,ownerDocument:I}=i.internalEngine(),h=!!i.internalEngine().options.watchDrag,T=function(n,t){const o=n.rootNode();return t&&t(o)||o}(i,e.rootNode);E.add(I,"visibilitychange",y),h&&i.on("pointerDown",O),h&&!e.stopOnInteraction&&i.on("pointerUp",S),e.stopOnMouseEnter&&E.add(T,"mouseenter",w),e.stopOnMouseEnter&&!e.stopOnInteraction&&E.add(T,"mouseleave",b),e.stopOnFocusIn&&i.on("slideFocusStart",m),e.stopOnFocusIn&&!e.stopOnInteraction&&E.add(i.containerNode(),"focusout",d),e.playOnInit&&d()},destroy:function(){i.off("pointerDown",O).off("pointerUp",S).off("slideFocusStart",m),m(),s=!0,a=!1},play:function(n){void 0!==n&&(f=n),d()},stop:function(){a&&m()},reset:function(){a&&d()},isPlaying:function(){return a},timeUntilNext:function(){return r?l[i.selectedScrollSnap()]-((new Date).getTime()-r):null}}}return t.globalOptions=void 0,t})); diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/Autoplay.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/Autoplay.d.ts deleted file mode 100644 index 67de09301f..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/Autoplay.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { OptionsType } from './Options.js'; -import { CreatePluginType } from 'embla-carousel'; -declare module 'embla-carousel' { - interface EmblaPluginsType { - autoplay: AutoplayType; - } - interface EmblaEventListType { - autoplayPlay: 'autoplay:play'; - autoplayStop: 'autoplay:stop'; - autoplaySelect: 'autoplay:select'; - autoplayTimerSet: 'autoplay:timerset'; - autoplayTimerStopped: 'autoplay:timerstopped'; - } -} -export type AutoplayType = CreatePluginType<{ - play: (jump?: boolean) => void; - stop: () => void; - reset: () => void; - isPlaying: () => boolean; - timeUntilNext: () => number | null; -}, OptionsType>; -export type AutoplayOptionsType = AutoplayType['options']; -declare function Autoplay(userOptions?: AutoplayOptionsType): AutoplayType; -declare namespace Autoplay { - let globalOptions: AutoplayOptionsType | undefined; -} -export default Autoplay; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/Options.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/Options.d.ts deleted file mode 100644 index 533b7cda56..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/Options.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { CreateOptionsType, EmblaCarouselType } from 'embla-carousel'; -export type DelayOptionType = number | ((scrollSnaps: number[], emblaApi: EmblaCarouselType) => number[]); -export type RootNodeType = null | ((emblaRoot: HTMLElement) => HTMLElement | null); -export type OptionsType = CreateOptionsType<{ - delay: DelayOptionType; - jump: boolean; - playOnInit: boolean; - stopOnFocusIn: boolean; - stopOnInteraction: boolean; - stopOnMouseEnter: boolean; - stopOnLastSnap: boolean; - rootNode: RootNodeType; -}>; -export declare const defaultOptions: OptionsType; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/utils.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/utils.d.ts deleted file mode 100644 index 74c23227aa..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/components/utils.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { EmblaCarouselType } from 'embla-carousel/components/EmblaCarousel'; -import { DelayOptionType, RootNodeType } from './Options.js'; -export declare function normalizeDelay(emblaApi: EmblaCarouselType, delay: DelayOptionType): number[]; -export declare function getAutoplayRootNode(emblaApi: EmblaCarouselType, rootNode: RootNodeType): HTMLElement; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js deleted file mode 100644 index e8e1560cac..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js +++ /dev/null @@ -1,195 +0,0 @@ -const defaultOptions = { - active: true, - breakpoints: {}, - delay: 4000, - jump: false, - playOnInit: true, - stopOnFocusIn: true, - stopOnInteraction: true, - stopOnMouseEnter: false, - stopOnLastSnap: false, - rootNode: null -}; - -function normalizeDelay(emblaApi, delay) { - const scrollSnaps = emblaApi.scrollSnapList(); - if (typeof delay === 'number') { - return scrollSnaps.map(() => delay); - } - return delay(scrollSnaps, emblaApi); -} -function getAutoplayRootNode(emblaApi, rootNode) { - const emblaRootNode = emblaApi.rootNode(); - return rootNode && rootNode(emblaRootNode) || emblaRootNode; -} - -function Autoplay(userOptions = {}) { - let options; - let emblaApi; - let destroyed; - let delay; - let timerStartTime = null; - let timerId = 0; - let autoplayActive = false; - let mouseIsOver = false; - let playOnDocumentVisible = false; - let jump = false; - function init(emblaApiInstance, optionsHandler) { - emblaApi = emblaApiInstance; - const { - mergeOptions, - optionsAtMedia - } = optionsHandler; - const optionsBase = mergeOptions(defaultOptions, Autoplay.globalOptions); - const allOptions = mergeOptions(optionsBase, userOptions); - options = optionsAtMedia(allOptions); - if (emblaApi.scrollSnapList().length <= 1) return; - jump = options.jump; - destroyed = false; - delay = normalizeDelay(emblaApi, options.delay); - const { - eventStore, - ownerDocument - } = emblaApi.internalEngine(); - const isDraggable = !!emblaApi.internalEngine().options.watchDrag; - const root = getAutoplayRootNode(emblaApi, options.rootNode); - eventStore.add(ownerDocument, 'visibilitychange', visibilityChange); - if (isDraggable) { - emblaApi.on('pointerDown', pointerDown); - } - if (isDraggable && !options.stopOnInteraction) { - emblaApi.on('pointerUp', pointerUp); - } - if (options.stopOnMouseEnter) { - eventStore.add(root, 'mouseenter', mouseEnter); - } - if (options.stopOnMouseEnter && !options.stopOnInteraction) { - eventStore.add(root, 'mouseleave', mouseLeave); - } - if (options.stopOnFocusIn) { - emblaApi.on('slideFocusStart', stopAutoplay); - } - if (options.stopOnFocusIn && !options.stopOnInteraction) { - eventStore.add(emblaApi.containerNode(), 'focusout', startAutoplay); - } - if (options.playOnInit) startAutoplay(); - } - function destroy() { - emblaApi.off('pointerDown', pointerDown).off('pointerUp', pointerUp).off('slideFocusStart', stopAutoplay); - stopAutoplay(); - destroyed = true; - autoplayActive = false; - } - function setTimer() { - const { - ownerWindow - } = emblaApi.internalEngine(); - ownerWindow.clearTimeout(timerId); - timerId = ownerWindow.setTimeout(next, delay[emblaApi.selectedScrollSnap()]); - timerStartTime = new Date().getTime(); - emblaApi.emit('autoplay:timerset'); - } - function clearTimer() { - const { - ownerWindow - } = emblaApi.internalEngine(); - ownerWindow.clearTimeout(timerId); - timerId = 0; - timerStartTime = null; - emblaApi.emit('autoplay:timerstopped'); - } - function startAutoplay() { - if (destroyed) return; - if (documentIsHidden()) { - playOnDocumentVisible = true; - return; - } - if (!autoplayActive) emblaApi.emit('autoplay:play'); - setTimer(); - autoplayActive = true; - } - function stopAutoplay() { - if (destroyed) return; - if (autoplayActive) emblaApi.emit('autoplay:stop'); - clearTimer(); - autoplayActive = false; - } - function visibilityChange() { - if (documentIsHidden()) { - playOnDocumentVisible = autoplayActive; - return stopAutoplay(); - } - if (playOnDocumentVisible) startAutoplay(); - } - function documentIsHidden() { - const { - ownerDocument - } = emblaApi.internalEngine(); - return ownerDocument.visibilityState === 'hidden'; - } - function pointerDown() { - if (!mouseIsOver) stopAutoplay(); - } - function pointerUp() { - if (!mouseIsOver) startAutoplay(); - } - function mouseEnter() { - mouseIsOver = true; - stopAutoplay(); - } - function mouseLeave() { - mouseIsOver = false; - startAutoplay(); - } - function play(jumpOverride) { - if (typeof jumpOverride !== 'undefined') jump = jumpOverride; - startAutoplay(); - } - function stop() { - if (autoplayActive) stopAutoplay(); - } - function reset() { - if (autoplayActive) startAutoplay(); - } - function isPlaying() { - return autoplayActive; - } - function next() { - const { - index - } = emblaApi.internalEngine(); - const nextIndex = index.clone().add(1).get(); - const lastIndex = emblaApi.scrollSnapList().length - 1; - const kill = options.stopOnLastSnap && nextIndex === lastIndex; - if (emblaApi.canScrollNext()) { - emblaApi.scrollNext(jump); - } else { - emblaApi.scrollTo(0, jump); - } - emblaApi.emit('autoplay:select'); - if (kill) return stopAutoplay(); - startAutoplay(); - } - function timeUntilNext() { - if (!timerStartTime) return null; - const currentDelay = delay[emblaApi.selectedScrollSnap()]; - const timePastSinceStart = new Date().getTime() - timerStartTime; - return currentDelay - timePastSinceStart; - } - const self = { - name: 'autoplay', - options: userOptions, - init, - destroy, - play, - stop, - reset, - isPlaying, - timeUntilNext - }; - return self; -} -Autoplay.globalOptions = undefined; - -export { Autoplay as default }; -//# sourceMappingURL=embla-carousel-autoplay.esm.js.map diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js.map b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js.map deleted file mode 100644 index 4f6917d9e3..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"embla-carousel-autoplay.esm.js","sources":["../src/components/Options.ts","../src/components/utils.ts","../src/components/Autoplay.ts"],"sourcesContent":["import { CreateOptionsType, EmblaCarouselType } from 'embla-carousel'\n\nexport type DelayOptionType =\n | number\n | ((scrollSnaps: number[], emblaApi: EmblaCarouselType) => number[])\n\nexport type RootNodeType =\n | null\n | ((emblaRoot: HTMLElement) => HTMLElement | null)\n\nexport type OptionsType = CreateOptionsType<{\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}>\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(() => 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 && 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<\n {\n play: (jump?: boolean) => void\n stop: () => void\n reset: () => void\n isPlaying: () => boolean\n timeUntilNext: () => number | null\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 delay: ReturnType\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 <= 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 && !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 && !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 && !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 && 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"],"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","self","name","undefined"],"mappings":"AAqBO,MAAMA,cAAc,GAAgB;AACzCC,EAAAA,MAAM,EAAE,IAAI;EACZC,WAAW,EAAE,EAAE;AACfC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,IAAI,EAAE,KAAK;AACXC,EAAAA,UAAU,EAAE,IAAI;AAChBC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,gBAAgB,EAAE,KAAK;AACvBC,EAAAA,cAAc,EAAE,KAAK;AACrBC,EAAAA,QAAQ,EAAE;CACX;;AC7Be,SAAAC,cAAcA,CAC5BC,QAA2B,EAC3BT,KAAsB,EAAA;AAEtB,EAAA,MAAMU,WAAW,GAAGD,QAAQ,CAACE,cAAc,EAAE;AAE7C,EAAA,IAAI,OAAOX,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,OAAOU,WAAW,CAACE,GAAG,CAAC,MAAMZ,KAAK,CAAC;AACrC;AACA,EAAA,OAAOA,KAAK,CAACU,WAAW,EAAED,QAAQ,CAAC;AACrC;AAEgB,SAAAI,mBAAmBA,CACjCJ,QAA2B,EAC3BF,QAAsB,EAAA;AAEtB,EAAA,MAAMO,aAAa,GAAGL,QAAQ,CAACF,QAAQ,EAAE;AACzC,EAAA,OAAQA,QAAQ,IAAIA,QAAQ,CAACO,aAAa,CAAC,IAAKA,aAAa;AAC/D;;ACcA,SAASC,QAAQA,CAACC,WAAA,GAAmC,EAAE,EAAA;AACrD,EAAA,IAAIC,OAAoB;AACxB,EAAA,IAAIR,QAA2B;AAC/B,EAAA,IAAIS,SAAkB;AACtB,EAAA,IAAIlB,KAAsD;EAC1D,IAAImB,cAAc,GAAkB,IAAI;EACxC,IAAIC,OAAO,GAAG,CAAC;EACf,IAAIC,cAAc,GAAG,KAAK;EAC1B,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIC,qBAAqB,GAAG,KAAK;EACjC,IAAItB,IAAI,GAAG,KAAK;AAEhB,EAAA,SAASuB,IAAIA,CACXC,gBAAmC,EACnCC,cAAkC,EAAA;AAElCjB,IAAAA,QAAQ,GAAGgB,gBAAgB;IAE3B,MAAM;MAAEE,YAAY;AAAEC,MAAAA;AAAgB,KAAA,GAAGF,cAAc;IACvD,MAAMG,WAAW,GAAGF,YAAY,CAAC9B,cAAc,EAAEkB,QAAQ,CAACe,aAAa,CAAC;AACxE,IAAA,MAAMC,UAAU,GAAGJ,YAAY,CAACE,WAAW,EAAEb,WAAW,CAAC;AACzDC,IAAAA,OAAO,GAAGW,cAAc,CAACG,UAAU,CAAC;IAEpC,IAAItB,QAAQ,CAACE,cAAc,EAAE,CAACqB,MAAM,IAAI,CAAC,EAAE;IAE3C/B,IAAI,GAAGgB,OAAO,CAAChB,IAAI;AACnBiB,IAAAA,SAAS,GAAG,KAAK;IACjBlB,KAAK,GAAGQ,cAAc,CAACC,QAAQ,EAAEQ,OAAO,CAACjB,KAAK,CAAC;IAE/C,MAAM;MAAEiC,UAAU;AAAEC,MAAAA;AAAa,KAAE,GAAGzB,QAAQ,CAAC0B,cAAc,EAAE;AAC/D,IAAA,MAAMC,WAAW,GAAG,CAAC,CAAC3B,QAAQ,CAAC0B,cAAc,EAAE,CAAClB,OAAO,CAACoB,SAAS;IACjE,MAAMC,IAAI,GAAGzB,mBAAmB,CAACJ,QAAQ,EAAEQ,OAAO,CAACV,QAAQ,CAAC;IAE5D0B,UAAU,CAACM,GAAG,CAACL,aAAa,EAAE,kBAAkB,EAAEM,gBAAgB,CAAC;AAEnE,IAAA,IAAIJ,WAAW,EAAE;AACf3B,MAAAA,QAAQ,CAACgC,EAAE,CAAC,aAAa,EAAEC,WAAW,CAAC;AACzC;AAEA,IAAA,IAAIN,WAAW,IAAI,CAACnB,OAAO,CAACb,iBAAiB,EAAE;AAC7CK,MAAAA,QAAQ,CAACgC,EAAE,CAAC,WAAW,EAAEE,SAAS,CAAC;AACrC;IAEA,IAAI1B,OAAO,CAACZ,gBAAgB,EAAE;MAC5B4B,UAAU,CAACM,GAAG,CAACD,IAAI,EAAE,YAAY,EAAEM,UAAU,CAAC;AAChD;IAEA,IAAI3B,OAAO,CAACZ,gBAAgB,IAAI,CAACY,OAAO,CAACb,iBAAiB,EAAE;MAC1D6B,UAAU,CAACM,GAAG,CAACD,IAAI,EAAE,YAAY,EAAEO,UAAU,CAAC;AAChD;IAEA,IAAI5B,OAAO,CAACd,aAAa,EAAE;AACzBM,MAAAA,QAAQ,CAACgC,EAAE,CAAC,iBAAiB,EAAEK,YAAY,CAAC;AAC9C;IAEA,IAAI7B,OAAO,CAACd,aAAa,IAAI,CAACc,OAAO,CAACb,iBAAiB,EAAE;AACvD6B,MAAAA,UAAU,CAACM,GAAG,CAAC9B,QAAQ,CAACsC,aAAa,EAAE,EAAE,UAAU,EAAEC,aAAa,CAAC;AACrE;AAEA,IAAA,IAAI/B,OAAO,CAACf,UAAU,EAAE8C,aAAa,EAAE;AACzC;EAEA,SAASC,OAAOA,GAAA;IACdxC,QAAQ,CACLyC,GAAG,CAAC,aAAa,EAAER,WAAW,CAAC,CAC/BQ,GAAG,CAAC,WAAW,EAAEP,SAAS,CAAC,CAC3BO,GAAG,CAAC,iBAAiB,EAAEJ,YAAY,CAAC;AAEvCA,IAAAA,YAAY,EAAE;AACd5B,IAAAA,SAAS,GAAG,IAAI;AAChBG,IAAAA,cAAc,GAAG,KAAK;AACxB;EAEA,SAAS8B,QAAQA,GAAA;IACf,MAAM;AAAEC,MAAAA;AAAa,KAAA,GAAG3C,QAAQ,CAAC0B,cAAc,EAAE;AACjDiB,IAAAA,WAAW,CAACC,YAAY,CAACjC,OAAO,CAAC;AACjCA,IAAAA,OAAO,GAAGgC,WAAW,CAACE,UAAU,CAACC,IAAI,EAAEvD,KAAK,CAACS,QAAQ,CAAC+C,kBAAkB,EAAE,CAAC,CAAC;IAC5ErC,cAAc,GAAG,IAAIsC,IAAI,EAAE,CAACC,OAAO,EAAE;AACrCjD,IAAAA,QAAQ,CAACkD,IAAI,CAAC,mBAAmB,CAAC;AACpC;EAEA,SAASC,UAAUA,GAAA;IACjB,MAAM;AAAER,MAAAA;AAAa,KAAA,GAAG3C,QAAQ,CAAC0B,cAAc,EAAE;AACjDiB,IAAAA,WAAW,CAACC,YAAY,CAACjC,OAAO,CAAC;AACjCA,IAAAA,OAAO,GAAG,CAAC;AACXD,IAAAA,cAAc,GAAG,IAAI;AACrBV,IAAAA,QAAQ,CAACkD,IAAI,CAAC,uBAAuB,CAAC;AACxC;EAEA,SAASX,aAAaA,GAAA;AACpB,IAAA,IAAI9B,SAAS,EAAE;IACf,IAAI2C,gBAAgB,EAAE,EAAE;AACtBtC,MAAAA,qBAAqB,GAAG,IAAI;AAC5B,MAAA;AACF;IACA,IAAI,CAACF,cAAc,EAAEZ,QAAQ,CAACkD,IAAI,CAAC,eAAe,CAAC;AAEnDR,IAAAA,QAAQ,EAAE;AACV9B,IAAAA,cAAc,GAAG,IAAI;AACvB;EAEA,SAASyB,YAAYA,GAAA;AACnB,IAAA,IAAI5B,SAAS,EAAE;AACf,IAAA,IAAIG,cAAc,EAAEZ,QAAQ,CAACkD,IAAI,CAAC,eAAe,CAAC;AAElDC,IAAAA,UAAU,EAAE;AACZvC,IAAAA,cAAc,GAAG,KAAK;AACxB;EAEA,SAASmB,gBAAgBA,GAAA;IACvB,IAAIqB,gBAAgB,EAAE,EAAE;AACtBtC,MAAAA,qBAAqB,GAAGF,cAAc;MACtC,OAAOyB,YAAY,EAAE;AACvB;AAEA,IAAA,IAAIvB,qBAAqB,EAAEyB,aAAa,EAAE;AAC5C;EAEA,SAASa,gBAAgBA,GAAA;IACvB,MAAM;AAAE3B,MAAAA;AAAe,KAAA,GAAGzB,QAAQ,CAAC0B,cAAc,EAAE;AACnD,IAAA,OAAOD,aAAa,CAAC4B,eAAe,KAAK,QAAQ;AACnD;EAEA,SAASpB,WAAWA,GAAA;AAClB,IAAA,IAAI,CAACpB,WAAW,EAAEwB,YAAY,EAAE;AAClC;EAEA,SAASH,SAASA,GAAA;AAChB,IAAA,IAAI,CAACrB,WAAW,EAAE0B,aAAa,EAAE;AACnC;EAEA,SAASJ,UAAUA,GAAA;AACjBtB,IAAAA,WAAW,GAAG,IAAI;AAClBwB,IAAAA,YAAY,EAAE;AAChB;EAEA,SAASD,UAAUA,GAAA;AACjBvB,IAAAA,WAAW,GAAG,KAAK;AACnB0B,IAAAA,aAAa,EAAE;AACjB;EAEA,SAASe,IAAIA,CAACC,YAAsB,EAAA;AAClC,IAAA,IAAI,OAAOA,YAAY,KAAK,WAAW,EAAE/D,IAAI,GAAG+D,YAAY;AAC5DhB,IAAAA,aAAa,EAAE;AACjB;EAEA,SAASiB,IAAIA,GAAA;AACX,IAAA,IAAI5C,cAAc,EAAEyB,YAAY,EAAE;AACpC;EAEA,SAASoB,KAAKA,GAAA;AACZ,IAAA,IAAI7C,cAAc,EAAE2B,aAAa,EAAE;AACrC;EAEA,SAASmB,SAASA,GAAA;AAChB,IAAA,OAAO9C,cAAc;AACvB;EAEA,SAASkC,IAAIA,GAAA;IACX,MAAM;AAAEa,MAAAA;AAAO,KAAA,GAAG3D,QAAQ,CAAC0B,cAAc,EAAE;AAC3C,IAAA,MAAMkC,SAAS,GAAGD,KAAK,CAACE,KAAK,EAAE,CAAC/B,GAAG,CAAC,CAAC,CAAC,CAACgC,GAAG,EAAE;IAC5C,MAAMC,SAAS,GAAG/D,QAAQ,CAACE,cAAc,EAAE,CAACqB,MAAM,GAAG,CAAC;IACtD,MAAMyC,IAAI,GAAGxD,OAAO,CAACX,cAAc,IAAI+D,SAAS,KAAKG,SAAS;AAE9D,IAAA,IAAI/D,QAAQ,CAACiE,aAAa,EAAE,EAAE;AAC5BjE,MAAAA,QAAQ,CAACkE,UAAU,CAAC1E,IAAI,CAAC;AAC3B,KAAC,MAAM;AACLQ,MAAAA,QAAQ,CAACmE,QAAQ,CAAC,CAAC,EAAE3E,IAAI,CAAC;AAC5B;AAEAQ,IAAAA,QAAQ,CAACkD,IAAI,CAAC,iBAAiB,CAAC;AAEhC,IAAA,IAAIc,IAAI,EAAE,OAAO3B,YAAY,EAAE;AAC/BE,IAAAA,aAAa,EAAE;AACjB;EAEA,SAAS6B,aAAaA,GAAA;AACpB,IAAA,IAAI,CAAC1D,cAAc,EAAE,OAAO,IAAI;IAChC,MAAM2D,YAAY,GAAG9E,KAAK,CAACS,QAAQ,CAAC+C,kBAAkB,EAAE,CAAC;IACzD,MAAMuB,kBAAkB,GAAG,IAAItB,IAAI,EAAE,CAACC,OAAO,EAAE,GAAGvC,cAAc;IAChE,OAAO2D,YAAY,GAAGC,kBAAkB;AAC1C;AAEA,EAAA,MAAMC,IAAI,GAAiB;AACzBC,IAAAA,IAAI,EAAE,UAAU;AAChBhE,IAAAA,OAAO,EAAED,WAAW;IACpBQ,IAAI;IACJyB,OAAO;IACPc,IAAI;IACJE,IAAI;IACJC,KAAK;IACLC,SAAS;AACTU,IAAAA;GACD;AACD,EAAA,OAAOG,IAAI;AACb;AAMAjE,QAAQ,CAACe,aAAa,GAAGoD,SAAS;;;;"} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/index.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/index.d.ts deleted file mode 100644 index c3cb09c391..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { AutoplayType, AutoplayOptionsType } from './components/Autoplay.js'; -export { default } from './components/Autoplay.js'; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/package.json b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/package.json deleted file mode 100644 index 4b01e65195..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "embla-carousel-autoplay", - "version": "8.6.0", - "author": "David Jerleke", - "description": "An autoplay plugin for Embla Carousel", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-autoplay*", - "components/**/*", - "index.d.ts" - ], - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "peerDependencies": { - "embla-carousel": "8.6.0" - }, - "module": "embla-carousel-autoplay.esm.js", - "type": "module" -} diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/index.d.ts b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/index.d.ts deleted file mode 100644 index ee2bc3b587..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { AutoplayType, AutoplayOptionsType } from './components/Autoplay'; -export { default } from './components/Autoplay'; diff --git a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/package.json b/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/package.json deleted file mode 100644 index 58a61edb0a..0000000000 --- a/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "embla-carousel-autoplay", - "version": "8.6.0", - "author": "David Jerleke", - "description": "An autoplay plugin for Embla Carousel", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "main": "embla-carousel-autoplay.umd.js", - "unpkg": "embla-carousel-autoplay.umd.js", - "module": "./esm/embla-carousel-autoplay.esm.js", - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-autoplay*", - "components/**/*", - "index.d.ts", - "esm/**/*", - "cjs/**/*" - ], - "scripts": { - "test": "echo \"Info: no tests specified\" && exit 0", - "build": "rollup --bundleConfigAsCjs -c", - "start": "rollup --bundleConfigAsCjs -c --watch --environment BUILD:development", - "eslint:report": "eslint \"src/**/*.{js,tsx,ts}\"" - }, - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "peerDependencies": { - "embla-carousel": "8.6.0" - }, - "exports": { - "./package.json": "./package.json", - ".": { - "import": { - "types": "./esm/index.d.ts", - "default": "./esm/embla-carousel-autoplay.esm.js" - }, - "require": { - "types": "./cjs/index.d.ts", - "default": "./cjs/embla-carousel-autoplay.cjs.js" - } - } - } -} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel deleted file mode 120000 index ba29366a8c..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel +++ /dev/null @@ -1 +0,0 @@ -../../embla-carousel@8.6.0/node_modules/embla-carousel \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/README.md b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/README.md deleted file mode 100644 index e343178cde..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/README.md +++ /dev/null @@ -1,233 +0,0 @@ -
-
-

- Embla Carousel - -

- -

- - - - - - -

- - -

Embla Carousel React

-
- -

- Embla Carousel is a bare bones carousel library with great fluid motion and awesome swipe precision. It's library agnostic, dependency free and 100% open source. -

- -
- -

- -  Examples  - -

- -

- -  Generator  - -

- -

- -  Installation  - -

-
- -
- -
- -

Ready for

-
- -

- - - - - - - - - - - - - - - - - - - - - -

-
- -
- -
- -

Contributors

-
-

- Thank you to all contributors for making Embla Carousel awesome! Contributions are welcome. -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-
- -
- -
- -

Special Thanks

-
-

- - gunnarx2 - React wrapper useEmblaCarousel. - -
- - LiamMartens - Solid wrapper createEmblaCarousel. - -
- - donaldxdonald, zip-fa, JeanMeche - Angular wrapper EmblaCarouselDirective. - -
- - xiel - Plugin Embla Carousel Wheel Gestures. - -
- - zaaakher - Contributing guidelines. - -
- - sarussss - Answering questions. - -

-
- -
- -

Open Source

- -

- Embla is MIT licensed 💖.

- Embla Carousel - Copyright © 2019-present.
- Package created by David Jerleke. -

- -

- · · · -

- -

- Thanks BrowserStack. -

- -

- - - -

diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/components/useEmblaCarousel.d.ts b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/components/useEmblaCarousel.d.ts deleted file mode 100644 index e23b160c11..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/components/useEmblaCarousel.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { EmblaCarouselType, EmblaOptionsType, EmblaPluginType } from 'embla-carousel'; -export type EmblaViewportRefType = (instance: ViewportElement | null) => void; -export type UseEmblaCarouselType = [ - EmblaViewportRefType, - EmblaCarouselType | undefined -]; -declare function useEmblaCarousel(options?: EmblaOptionsType, plugins?: EmblaPluginType[]): UseEmblaCarouselType; -declare namespace useEmblaCarousel { - let globalOptions: EmblaOptionsType | undefined; -} -export default useEmblaCarousel; diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js deleted file mode 100644 index 263b35416c..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var react = require('react'); -var emblaCarouselReactiveUtils = require('embla-carousel-reactive-utils'); -var EmblaCarousel = require('embla-carousel'); - -function useEmblaCarousel(options = {}, plugins = []) { - const storedOptions = react.useRef(options); - const storedPlugins = react.useRef(plugins); - const [emblaApi, setEmblaApi] = react.useState(); - const [viewport, setViewport] = react.useState(); - const reInit = react.useCallback(() => { - if (emblaApi) emblaApi.reInit(storedOptions.current, storedPlugins.current); - }, [emblaApi]); - react.useEffect(() => { - if (emblaCarouselReactiveUtils.areOptionsEqual(storedOptions.current, options)) return; - storedOptions.current = options; - reInit(); - }, [options, reInit]); - react.useEffect(() => { - if (emblaCarouselReactiveUtils.arePluginsEqual(storedPlugins.current, plugins)) return; - storedPlugins.current = plugins; - reInit(); - }, [plugins, reInit]); - react.useEffect(() => { - if (emblaCarouselReactiveUtils.canUseDOM() && viewport) { - EmblaCarousel.globalOptions = useEmblaCarousel.globalOptions; - const newEmblaApi = EmblaCarousel(viewport, storedOptions.current, storedPlugins.current); - setEmblaApi(newEmblaApi); - return () => newEmblaApi.destroy(); - } else { - setEmblaApi(undefined); - } - }, [viewport, setEmblaApi]); - return [setViewport, emblaApi]; -} -useEmblaCarousel.globalOptions = undefined; - -module.exports = useEmblaCarousel; -//# sourceMappingURL=embla-carousel-react.cjs.js.map diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js.map b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js.map deleted file mode 100644 index ae9cf4cace..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"embla-carousel-react.cjs.js","sources":["../src/components/useEmblaCarousel.ts"],"sourcesContent":["import { useRef, useEffect, useState, useCallback } from 'react'\nimport {\n areOptionsEqual,\n arePluginsEqual,\n canUseDOM\n} from 'embla-carousel-reactive-utils'\nimport EmblaCarousel, {\n EmblaCarouselType,\n EmblaOptionsType,\n EmblaPluginType\n} from 'embla-carousel'\n\nexport type EmblaViewportRefType = (\n instance: ViewportElement | null\n) => void\n\nexport type UseEmblaCarouselType = [\n EmblaViewportRefType,\n EmblaCarouselType | undefined\n]\n\nfunction useEmblaCarousel(\n options: EmblaOptionsType = {},\n plugins: EmblaPluginType[] = []\n): UseEmblaCarouselType {\n const storedOptions = useRef(options)\n const storedPlugins = useRef(plugins)\n const [emblaApi, setEmblaApi] = useState()\n const [viewport, setViewport] = useState()\n\n const reInit = useCallback(() => {\n if (emblaApi) emblaApi.reInit(storedOptions.current, storedPlugins.current)\n }, [emblaApi])\n\n useEffect(() => {\n if (areOptionsEqual(storedOptions.current, options)) return\n storedOptions.current = options\n reInit()\n }, [options, reInit])\n\n useEffect(() => {\n if (arePluginsEqual(storedPlugins.current, plugins)) return\n storedPlugins.current = plugins\n reInit()\n }, [plugins, reInit])\n\n useEffect(() => {\n if (canUseDOM() && viewport) {\n EmblaCarousel.globalOptions = useEmblaCarousel.globalOptions\n const newEmblaApi = EmblaCarousel(\n viewport,\n storedOptions.current,\n storedPlugins.current\n )\n setEmblaApi(newEmblaApi)\n return () => newEmblaApi.destroy()\n } else {\n setEmblaApi(undefined)\n }\n }, [viewport, setEmblaApi])\n\n return [setViewport, emblaApi]\n}\n\ndeclare namespace useEmblaCarousel {\n let globalOptions: EmblaOptionsType | undefined\n}\n\nuseEmblaCarousel.globalOptions = undefined\n\nexport default useEmblaCarousel\n"],"names":["useEmblaCarousel","options","plugins","storedOptions","useRef","storedPlugins","emblaApi","setEmblaApi","useState","viewport","setViewport","reInit","useCallback","current","useEffect","areOptionsEqual","arePluginsEqual","canUseDOM","EmblaCarousel","globalOptions","newEmblaApi","destroy","undefined"],"mappings":";;;;;;AAqBA,SAASA,gBAAgBA,CACvBC,OAAA,GAA4B,EAAE,EAC9BC,UAA6B,EAAE,EAAA;AAE/B,EAAA,MAAMC,aAAa,GAAGC,YAAM,CAACH,OAAO,CAAC;AACrC,EAAA,MAAMI,aAAa,GAAGD,YAAM,CAACF,OAAO,CAAC;EACrC,MAAM,CAACI,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAQ,EAAqB;EAC7D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGF,cAAQ,EAAe;AAEvD,EAAA,MAAMG,MAAM,GAAGC,iBAAW,CAAC,MAAK;AAC9B,IAAA,IAAIN,QAAQ,EAAEA,QAAQ,CAACK,MAAM,CAACR,aAAa,CAACU,OAAO,EAAER,aAAa,CAACQ,OAAO,CAAC;AAC7E,GAAC,EAAE,CAACP,QAAQ,CAAC,CAAC;AAEdQ,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIC,0CAAe,CAACZ,aAAa,CAACU,OAAO,EAAEZ,OAAO,CAAC,EAAE;IACrDE,aAAa,CAACU,OAAO,GAAGZ,OAAO;AAC/BU,IAAAA,MAAM,EAAE;AACV,GAAC,EAAE,CAACV,OAAO,EAAEU,MAAM,CAAC,CAAC;AAErBG,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIE,0CAAe,CAACX,aAAa,CAACQ,OAAO,EAAEX,OAAO,CAAC,EAAE;IACrDG,aAAa,CAACQ,OAAO,GAAGX,OAAO;AAC/BS,IAAAA,MAAM,EAAE;AACV,GAAC,EAAE,CAACT,OAAO,EAAES,MAAM,CAAC,CAAC;AAErBG,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,IAAIG,oCAAS,EAAE,IAAIR,QAAQ,EAAE;AAC3BS,MAAAA,aAAa,CAACC,aAAa,GAAGnB,gBAAgB,CAACmB,aAAa;AAC5D,MAAA,MAAMC,WAAW,GAAGF,aAAa,CAC/BT,QAAQ,EACRN,aAAa,CAACU,OAAO,EACrBR,aAAa,CAACQ,OAAO,CACtB;MACDN,WAAW,CAACa,WAAW,CAAC;AACxB,MAAA,OAAO,MAAMA,WAAW,CAACC,OAAO,EAAE;AACpC,KAAC,MAAM;MACLd,WAAW,CAACe,SAAS,CAAC;AACxB;AACF,GAAC,EAAE,CAACb,QAAQ,EAAEF,WAAW,CAAC,CAAC;AAE3B,EAAA,OAAO,CAAuBG,WAAW,EAAEJ,QAAQ,CAAC;AACtD;AAMAN,gBAAgB,CAACmB,aAAa,GAAGG,SAAS;;;;"} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/index.d.ts b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/index.d.ts deleted file mode 100644 index 8ce0b23390..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { UseEmblaCarouselType, EmblaViewportRefType } from './components/useEmblaCarousel'; -export { default } from './components/useEmblaCarousel'; diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/package.json b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/package.json deleted file mode 100644 index a31b7748af..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/cjs/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "embla-carousel-react", - "version": "8.6.0", - "author": "David Jerleke", - "description": "A lightweight carousel library with fluid motion and great swipe precision", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-react*", - "components/**/*", - "index.d.ts" - ], - "devDependencies": { - "@types/jest": "^29.5.6", - "@types/react": "^18.0.8", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "dependencies": { - "embla-carousel": "8.6.0", - "embla-carousel-reactive-utils": "8.6.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "main": "embla-carousel-react.cjs.js", - "type": "commonjs" -} diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/components/useEmblaCarousel.d.ts b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/components/useEmblaCarousel.d.ts deleted file mode 100644 index e23b160c11..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/components/useEmblaCarousel.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { EmblaCarouselType, EmblaOptionsType, EmblaPluginType } from 'embla-carousel'; -export type EmblaViewportRefType = (instance: ViewportElement | null) => void; -export type UseEmblaCarouselType = [ - EmblaViewportRefType, - EmblaCarouselType | undefined -]; -declare function useEmblaCarousel(options?: EmblaOptionsType, plugins?: EmblaPluginType[]): UseEmblaCarouselType; -declare namespace useEmblaCarousel { - let globalOptions: EmblaOptionsType | undefined; -} -export default useEmblaCarousel; diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/embla-carousel-react.umd.js b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/embla-carousel-react.umd.js deleted file mode 100644 index f9e88046de..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/embla-carousel-react.umd.js +++ /dev/null @@ -1 +0,0 @@ -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(n="undefined"!=typeof globalThis?globalThis:n||self).EmblaCarouselReact=t(n.React)}(this,(function(n){"use strict";function t(n){return function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)||Array.isArray(n)}function e(n,r){const o=Object.keys(n),i=Object.keys(r);if(o.length!==i.length)return!1;return JSON.stringify(Object.keys(n.breakpoints||{}))===JSON.stringify(Object.keys(r.breakpoints||{}))&&o.every((o=>{const i=n[o],c=r[o];return"function"==typeof i?`${i}`==`${c}`:t(i)&&t(c)?e(i,c):i===c}))}function r(n){return n.concat().sort(((n,t)=>n.name>t.name?1:-1)).map((n=>n.options))}function o(n){return"number"==typeof n}function i(n){return"string"==typeof n}function c(n){return"boolean"==typeof n}function u(n){return"[object Object]"===Object.prototype.toString.call(n)}function s(n){return Math.abs(n)}function a(n){return Math.sign(n)}function d(n,t){return s(n-t)}function f(n){return h(n).map(Number)}function l(n){return n[p(n)]}function p(n){return Math.max(0,n.length-1)}function g(n,t){return t===p(n)}function m(n,t=0){return Array.from(Array(n),((n,e)=>t+e))}function h(n){return Object.keys(n)}function y(n,t){return[n,t].reduce(((n,t)=>(h(t).forEach((e=>{const r=n[e],o=t[e],i=u(r)&&u(o);n[e]=i?y(r,o):o})),n)),{})}function x(n,t){return void 0!==t.MouseEvent&&n instanceof t.MouseEvent}function b(){let n=[];const t={add:function(e,r,o,i={passive:!0}){let c;if("addEventListener"in e)e.addEventListener(r,o,i),c=()=>e.removeEventListener(r,o,i);else{const n=e;n.addListener(o),c=()=>n.removeListener(o)}return n.push(c),t},clear:function(){n=n.filter((n=>n()))}};return t}function v(n,t,e,r){const o=b(),i=1e3/60;let c=null,u=0,s=0;function a(n){if(!s)return;c||(c=n,e(),e());const o=n-c;for(c=n,u+=o;u>=i;)e(),u-=i;r(u/i),s&&(s=t.requestAnimationFrame(a))}function d(){t.cancelAnimationFrame(s),c=null,u=0,s=0}return{init:function(){o.add(n,"visibilitychange",(()=>{n.hidden&&(c=null,u=0)}))},destroy:function(){d(),o.clear()},start:function(){s||(s=t.requestAnimationFrame(a))},stop:d,update:e,render:r}}function S(n=0,t=0){const e=s(n-t);function r(t){return tt}function i(n){return r(n)||o(n)}return{length:e,max:t,min:n,constrain:function(e){return i(e)?r(e)?n:t:e},reachedAny:i,reachedMax:o,reachedMin:r,removeOffset:function(n){return e?n-e*Math.ceil((n-t)/e):n}}}function w(n,t,e){const{constrain:r}=S(0,n),o=n+1;let i=c(t);function c(n){return e?s((o+n)%o):r(n)}function u(){return i}function a(){return w(n,u(),e)}const d={get:u,set:function(n){return i=c(n),d},add:function(n){return a().set(u()+n)},clone:a};return d}function E(n,t,e,r,o,i,u,f,l,p,g,m,h,y,v,w,E,L,O){const{cross:D,direction:I}=n,A=["INPUT","SELECT","TEXTAREA"],M={passive:!1},F=b(),T=b(),k=S(50,225).constrain(y.measure(20)),P={mouse:300,touch:400},z={mouse:500,touch:600},H=v?43:25;let j=!1,R=0,V=0,B=!1,C=!1,N=!1,q=!1;function G(n){if(!x(n,r)&&n.touches.length>=2)return $(n);const t=i.readPoint(n),e=i.readPoint(n,D),c=d(t,R),u=d(e,V);if(!C&&!q){if(!n.cancelable)return $(n);if(C=c>u,!C)return $(n)}const s=i.pointerMove(n);c>w&&(N=!0),p.useFriction(.3).useDuration(.75),f.start(),o.add(I(s)),n.preventDefault()}function $(n){const t=g.byDistance(0,!1).index!==m.get(),e=i.pointerUp(n)*(v?z:P)[q?"mouse":"touch"],r=function(n,t){const e=m.add(-1*a(n)),r=g.byDistance(n,!v).distance;return v||s(n)=2,c&&0!==n.button)return;if(function(n){const t=n.nodeName||"";return A.includes(t)}(n.target))return;B=!0,i.pointerDown(n),p.useFriction(0).useDuration(0),o.set(u),function(){const n=q?e:t;T.add(n,"touchmove",G,M).add(n,"touchend",$).add(n,"mousemove",G,M).add(n,"mouseup",$)}(),R=i.readPoint(n),V=i.readPoint(n,D),h.emit("pointerDown")}(s)}const a=t;F.add(a,"dragstart",(n=>n.preventDefault()),M).add(a,"touchmove",(()=>{}),M).add(a,"touchend",(()=>{})).add(a,"touchstart",s).add(a,"mousedown",s).add(a,"touchcancel",$).add(a,"contextmenu",$).add(a,"click",U,!0)},destroy:function(){F.clear(),T.clear()},pointerDown:function(){return B}}}function L(n,t){let e,r;function o(n){return n.timeStamp}function i(e,r){const o="client"+("x"===(r||n.scroll)?"X":"Y");return(x(e,t)?e:e.touches[0])[o]}return{pointerDown:function(n){return e=n,r=n,i(n)},pointerMove:function(n){const t=i(n)-i(r),c=o(n)-o(e)>170;return r=n,c&&(e=n),t},pointerUp:function(n){if(!e||!r)return 0;const t=i(r)-i(e),c=o(n)-o(e),u=o(n)-o(r)>170,a=t/c;return c&&!u&&s(a)>.1?a:0},readPoint:i}}function O(n,t,e,r,o,i,u){const a=[n].concat(r);let d,f,l=[],p=!1;function g(n){return o.measureSize(u.measure(n))}return{init:function(o){i&&(f=g(n),l=r.map(g),d=new ResizeObserver((e=>{(c(i)||i(o,e))&&function(e){for(const i of e){if(p)return;const e=i.target===n,c=r.indexOf(i.target),u=e?f:l[c];if(s(g(e?n:r[c])-u)>=.5){o.reInit(),t.emit("resize");break}}}(e)})),e.requestAnimationFrame((()=>{a.forEach((n=>d.observe(n)))})))},destroy:function(){p=!0,d&&d.disconnect()}}}function D(n,t,e,r,o){const i=o.measure(10),c=o.measure(50),u=S(.1,.99);let a=!1;function d(){return!a&&(!!n.reachedAny(e.get())&&!!n.reachedAny(t.get()))}return{shouldConstrain:d,constrain:function(o){if(!d())return;const a=n.reachedMin(t.get())?"min":"max",f=s(n[a]-t.get()),l=e.get()-t.get(),p=u.constrain(f/c);e.subtract(l*p),!o&&s(l)n.add(o)))}}}function A(n,t,e,r,o){const{reachedAny:i,removeOffset:c,constrain:u}=r;function d(n){return n.concat().sort(((n,t)=>s(n)-s(t)))[0]}function f(t,r){const o=[t,t+e,t-e];if(!n)return t;if(!r)return d(o);const i=o.filter((n=>a(n)===r));return i.length?d(i):l(o)-e}return{byDistance:function(e,r){const a=o.get()+e,{index:d,distance:l}=function(e){const r=n?c(e):u(e),o=t.map(((n,t)=>({diff:f(n-r,0),index:t}))).sort(((n,t)=>s(n.diff)-s(t.diff))),{index:i}=o[0];return{index:i,distance:r}}(a),p=!n&&i(a);return!r||p?{index:d,distance:e}:{index:d,distance:e+f(t[d]-l,0)}},byIndex:function(n,e){return{index:n,distance:f(t[n]-o.get(),e)}},shortcut:f}}function M(n,t,e,r,i,u,s,a){const d={passive:!0,capture:!0};let f=0;function l(n){"Tab"===n.code&&(f=(new Date).getTime())}return{init:function(p){a&&(u.add(document,"keydown",l,!1),t.forEach(((t,l)=>{u.add(t,"focus",(t=>{(c(a)||a(p,t))&&function(t){if((new Date).getTime()-f>10)return;s.emit("slideFocusStart"),n.scrollLeft=0;const c=e.findIndex((n=>n.includes(t)));o(c)&&(i.useDuration(0),r.index(c,0),s.emit("slideFocus"))}(l)}),d)})))}}}function F(n){let t=n;function e(n){return o(n)?n:n.get()}return{get:function(){return t},set:function(n){t=e(n)},add:function(n){t+=e(n)},subtract:function(n){t-=e(n)}}}function T(n,t){const e="x"===n.scroll?function(n){return`translate3d(${n}px,0px,0px)`}:function(n){return`translate3d(0px,${n}px,0px)`},r=t.style;let o=null,i=!1;return{clear:function(){i||(r.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){if(i)return;const c=(u=n.direction(t),Math.round(100*u)/100);var u;c!==o&&(r.transform=e(c),o=c)},toggleActive:function(n){i=!n}}}function k(n,t,e,r,o,i,c,u,s){const a=.5,d=f(o),l=f(o).reverse(),p=function(){const n=c[0];return h(m(l,n),e,!1)}().concat(function(){const n=t-c[0]-1;return h(m(d,n),-e,!0)}());function g(n,t){return n.reduce(((n,t)=>n-o[t]),t)}function m(n,t){return n.reduce(((n,e)=>g(n,t)>0?n.concat([e]):n),[])}function h(o,c,d){const f=function(n){return i.map(((e,o)=>({start:e-r[o]+a+n,end:e+t-a+n})))}(c);return o.map((t=>{const r=d?0:-e,o=d?e:0,i=d?"end":"start",c=f[t][i];return{index:t,loopPoint:c,slideLocation:F(-1),translate:T(n,s[t]),target:()=>u.get()>c?r:o}}))}return{canLoop:function(){return p.every((({index:n})=>g(d.filter((t=>t!==n)),t)<=.1))},clear:function(){p.forEach((n=>n.translate.clear()))},loop:function(){p.forEach((n=>{const{target:t,translate:e,slideLocation:r}=n,o=t();o!==r.get()&&(e.to(o),r.set(o))}))},loopPoints:p}}function P(n,t,e){let r,o=!1;return{init:function(i){e&&(r=new MutationObserver((n=>{o||(c(e)||e(i,n))&&function(n){for(const e of n)if("childList"===e.type){i.reInit(),t.emit("slidesChanged");break}}(n)})),r.observe(n,{childList:!0}))},destroy:function(){r&&r.disconnect(),o=!0}}}function z(n,t,e,r){const o={};let i,c=null,u=null,s=!1;return{init:function(){i=new IntersectionObserver((n=>{s||(n.forEach((n=>{const e=t.indexOf(n.target);o[e]=n})),c=null,u=null,e.emit("slidesInView"))}),{root:n.parentElement,threshold:r}),t.forEach((n=>i.observe(n)))},destroy:function(){i&&i.disconnect(),s=!0},get:function(n=!0){if(n&&c)return c;if(!n&&u)return u;const t=function(n){return h(o).reduce(((t,e)=>{const r=parseInt(e),{isIntersecting:i}=o[r];return(n&&i||!n&&!i)&&t.push(r),t}),[])}(n);return n&&(c=t),n||(u=t),t}}}function H(n,t,e,r,i,c,u,a,d){const{startEdge:g,endEdge:m,direction:h}=n,y=o(e);return{groupSlides:function(n){return y?function(n,t){return f(n).filter((n=>n%t==0)).map((e=>n.slice(e,e+t)))}(n,e):function(n){return n.length?f(n).reduce(((e,o,f)=>{const y=l(e)||0,x=0===y,b=o===p(n),v=i[g]-c[y][g],S=i[g]-c[o][m],w=!r&&x?h(u):0,E=s(S-(!r&&b?h(a):0)-(v+w));return f&&E>t+d&&e.push(o),b&&e.push(n.length),e}),[]).map(((t,e,r)=>{const o=Math.max(r[e-1]||0);return n.slice(o,t)})):[]}(n)}}}function j(n,t,e,r,o,c,u){const{align:h,axis:y,direction:x,startIndex:j,loop:R,duration:V,dragFree:B,dragThreshold:C,inViewThreshold:N,slidesToScroll:q,skipSnaps:G,containScroll:$,watchResize:U,watchSlides:W,watchDrag:J,watchFocus:Q}=c,X={measure:function(n){const{offsetTop:t,offsetLeft:e,offsetWidth:r,offsetHeight:o}=n;return{top:t,right:e+r,bottom:t+o,left:e,width:r,height:o}}},Y=X.measure(t),K=e.map(X.measure),Z=function(n,t){const e="rtl"===t,r="y"===n,o=!r&&e?-1:1;return{scroll:r?"y":"x",cross:r?"x":"y",startEdge:r?"top":e?"right":"left",endEdge:r?"bottom":e?"left":"right",measureSize:function(n){const{height:t,width:e}=n;return r?t:e},direction:function(n){return n*o}}}(y,x),_=Z.measureSize(Y),nn=function(n){return{measure:function(t){return n*(t/100)}}}(_),tn=function(n,t){const e={start:function(){return 0},center:function(n){return r(n)/2},end:r};function r(n){return t-n}return{measure:function(r,o){return i(n)?e[n](r):n(t,r,o)}}}(h,_),en=!R&&!!$,rn=R||!!$,{slideSizes:on,slideSizesWithGaps:cn,startGap:un,endGap:sn}=function(n,t,e,r,o,i){const{measureSize:c,startEdge:u,endEdge:a}=n,d=e[0]&&o,f=function(){if(!d)return 0;const n=e[0];return s(t[u]-n[u])}(),p=function(){if(!d)return 0;const n=i.getComputedStyle(l(r));return parseFloat(n.getPropertyValue(`margin-${a}`))}(),m=e.map(c),h=e.map(((n,t,e)=>{const r=!t,o=g(e,t);return r?m[t]+f:o?m[t]+p:e[t+1][u]-n[u]})).map(s);return{slideSizes:m,slideSizesWithGaps:h,startGap:f,endGap:p}}(Z,Y,K,e,rn,o),an=H(Z,_,q,R,Y,K,un,sn,2),{snaps:dn,snapsAligned:fn}=function(n,t,e,r,o){const{startEdge:i,endEdge:c}=n,{groupSlides:u}=o,a=u(r).map((n=>l(n)[c]-n[0][i])).map(s).map(t.measure),d=r.map((n=>e[i]-n[i])).map((n=>-s(n))),f=u(d).map((n=>n[0])).map(((n,t)=>n+a[t]));return{snaps:d,snapsAligned:f}}(Z,tn,Y,K,an),ln=-l(dn)+l(cn),{snapsContained:pn,scrollContainLimit:gn}=function(n,t,e,r,o){const i=S(-t+n,0),c=e.map(((n,t)=>{const{min:r,max:o}=i,c=i.constrain(n),u=!t,a=g(e,t);return u?o:a||s(r,c)?r:s(o,c)?o:c})).map((n=>parseFloat(n.toFixed(3)))),u=function(){const n=c[0],t=l(c);return S(c.lastIndexOf(n),c.indexOf(t)+1)}();function s(n,t){return d(n,t)<=1}return{snapsContained:function(){if(t<=n+o)return[i.max];if("keepSnaps"===r)return c;const{min:e,max:s}=u;return c.slice(e,s)}(),scrollContainLimit:u}}(_,ln,fn,$,2),mn=en?pn:fn,{limit:hn}=function(n,t,e){const r=t[0];return{limit:S(e?r-n:l(t),r)}}(ln,mn,R),yn=w(p(mn),j,R),xn=yn.clone(),bn=f(e),vn=v(r,o,(()=>(({dragHandler:n,scrollBody:t,scrollBounds:e,options:{loop:r}})=>{r||e.constrain(n.pointerDown()),t.seek()})(zn)),(n=>(({scrollBody:n,translate:t,location:e,offsetLocation:r,previousLocation:o,scrollLooper:i,slideLooper:c,dragHandler:u,animation:s,eventHandler:a,scrollBounds:d,options:{loop:f}},l)=>{const p=n.settled(),g=!d.shouldConstrain(),m=f?p:p&&g,h=m&&!u.pointerDown();h&&s.stop();const y=e.get()*l+o.get()*(1-l);r.set(y),f&&(i.loop(n.direction()),c.loop()),t.to(r.get()),h&&a.emit("settle"),m||a.emit("scroll")})(zn,n))),Sn=mn[yn.get()],wn=F(Sn),En=F(Sn),Ln=F(Sn),On=F(Sn),Dn=function(n,t,e,r,o,i){let c=0,u=0,d=o,f=i,l=n.get(),p=0;function g(n){return d=n,h}function m(n){return f=n,h}const h={direction:function(){return u},duration:function(){return d},velocity:function(){return c},seek:function(){const t=r.get()-n.get();let o=0;return d?(e.set(n),c+=t/d,c*=f,l+=c,n.add(c),o=l-p):(c=0,e.set(r),n.set(r),o=t),u=a(o),p=l,h},settled:function(){return s(r.get()-t.get())<.001},useBaseFriction:function(){return m(i)},useBaseDuration:function(){return g(o)},useFriction:m,useDuration:g};return h}(wn,Ln,En,On,V,.68),In=A(R,mn,ln,hn,On),An=function(n,t,e,r,o,i,c){function u(o){const u=o.distance,s=o.index!==t.get();i.add(u),u&&(r.duration()?n.start():(n.update(),n.render(1),n.update())),s&&(e.set(t.get()),t.set(o.index),c.emit("select"))}return{distance:function(n,t){u(o.byDistance(n,t))},index:function(n,e){const r=t.clone().set(n);u(o.byIndex(r.get(),e))}}}(vn,yn,xn,Dn,In,On,u),Mn=function(n){const{max:t,length:e}=n;return{get:function(n){return e?(n-t)/-e:0}}}(hn),Fn=b(),Tn=z(t,e,u,N),{slideRegistry:kn}=function(n,t,e,r,o,i){const{groupSlides:c}=o,{min:u,max:s}=r;return{slideRegistry:function(){const r=c(i),o=!n||"keepSnaps"===t;return 1===e.length?[i]:o?r:r.slice(u,s).map(((n,t,e)=>{const r=!t,o=g(e,t);return r?m(l(e[0])+1):o?m(p(i)-l(e)[0]+1,l(e)[0]):n}))}()}}(en,$,mn,gn,an,bn),Pn=M(n,e,kn,An,Dn,Fn,u,Q),zn={ownerDocument:r,ownerWindow:o,eventHandler:u,containerRect:Y,slideRects:K,animation:vn,axis:Z,dragHandler:E(Z,n,r,o,On,L(Z,o),wn,vn,An,Dn,In,yn,u,nn,B,C,G,.68,J),eventStore:Fn,percentOfView:nn,index:yn,indexPrevious:xn,limit:hn,location:wn,offsetLocation:Ln,previousLocation:En,options:c,resizeHandler:O(t,u,o,e,Z,U,X),scrollBody:Dn,scrollBounds:D(hn,Ln,On,Dn,nn),scrollLooper:I(ln,hn,Ln,[wn,Ln,En,On]),scrollProgress:Mn,scrollSnapList:mn.map(Mn.get),scrollSnaps:mn,scrollTarget:In,scrollTo:An,slideLooper:k(Z,_,ln,on,cn,dn,mn,Ln,e),slideFocus:Pn,slidesHandler:P(t,u,W),slidesInView:Tn,slideIndexes:bn,slideRegistry:kn,slidesToScroll:an,target:On,translate:T(Z,t)};return zn}const R={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function V(n){function t(n,t){return y(n,t||{})}const e={mergeOptions:t,optionsAtMedia:function(e){const r=e.breakpoints||{},o=h(r).filter((t=>n.matchMedia(t).matches)).map((n=>r[n])).reduce(((n,e)=>t(n,e)),{});return t(e,o)},optionsMediaQueries:function(t){return t.map((n=>h(n.breakpoints||{}))).reduce(((n,t)=>n.concat(t)),[]).map(n.matchMedia)}};return e}function B(n,t,e){const r=n.ownerDocument,o=r.defaultView,c=V(o),u=function(n){let t=[];return{init:function(e,r){return t=r.filter((({options:t})=>!1!==n.optionsAtMedia(t).active)),t.forEach((t=>t.init(e,n))),r.reduce(((n,t)=>Object.assign(n,{[t.name]:t})),{})},destroy:function(){t=t.filter((n=>n.destroy()))}}}(c),s=b(),a=function(){let n,t={};function e(n){return t[n]||[]}const r={init:function(t){n=t},emit:function(t){return e(t).forEach((e=>e(n,t))),r},off:function(n,o){return t[n]=e(n).filter((n=>n!==o)),r},on:function(n,o){return t[n]=e(n).concat([o]),r},clear:function(){t={}}};return r}(),{mergeOptions:d,optionsAtMedia:f,optionsMediaQueries:l}=c,{on:p,off:g,emit:m}=a,h=A;let y,x,v,S,w=!1,E=d(R,B.globalOptions),L=d(E),O=[];function D(t){const e=j(n,v,S,r,o,t,a);if(t.loop&&!e.slideLooper.canLoop()){return D(Object.assign({},t,{loop:!1}))}return e}function I(t,e){w||(E=d(E,t),L=f(E),O=e||O,function(){const{container:t,slides:e}=L,r=i(t)?n.querySelector(t):t;v=r||n.children[0];const o=i(e)?v.querySelectorAll(e):e;S=[].slice.call(o||v.children)}(),y=D(L),l([E,...O.map((({options:n})=>n))]).forEach((n=>s.add(n,"change",A))),L.active&&(y.translate.to(y.location.get()),y.animation.init(),y.slidesInView.init(),y.slideFocus.init(k),y.eventHandler.init(k),y.resizeHandler.init(k),y.slidesHandler.init(k),y.options.loop&&y.slideLooper.loop(),v.offsetParent&&S.length&&y.dragHandler.init(k),x=u.init(k,O)))}function A(n,t){const e=T();M(),I(d({startIndex:e},n),t),a.emit("reInit")}function M(){y.dragHandler.destroy(),y.eventStore.clear(),y.translate.clear(),y.slideLooper.clear(),y.resizeHandler.destroy(),y.slidesHandler.destroy(),y.slidesInView.destroy(),y.animation.destroy(),u.destroy(),s.clear()}function F(n,t,e){L.active&&!w&&(y.scrollBody.useBaseFriction().useDuration(!0===t?0:L.duration),y.scrollTo.index(n,e||0))}function T(){return y.index.get()}const k={canScrollNext:function(){return y.index.add(1).get()!==T()},canScrollPrev:function(){return y.index.add(-1).get()!==T()},containerNode:function(){return v},internalEngine:function(){return y},destroy:function(){w||(w=!0,s.clear(),M(),a.emit("destroy"),a.clear())},off:g,on:p,emit:m,plugins:function(){return x},previousScrollSnap:function(){return y.indexPrevious.get()},reInit:h,rootNode:function(){return n},scrollNext:function(n){F(y.index.add(1).get(),n,-1)},scrollPrev:function(n){F(y.index.add(-1).get(),n,1)},scrollProgress:function(){return y.scrollProgress.get(y.offsetLocation.get())},scrollSnapList:function(){return y.scrollSnapList},scrollTo:F,selectedScrollSnap:T,slideNodes:function(){return S},slidesInView:function(){return y.slidesInView.get()},slidesNotInView:function(){return y.slidesInView.get(!1)}};return I(t,e),setTimeout((()=>a.emit("init")),0),k}function C(t={},o=[]){const i=n.useRef(t),c=n.useRef(o),[u,s]=n.useState(),[a,d]=n.useState(),f=n.useCallback((()=>{u&&u.reInit(i.current,c.current)}),[u]);return n.useEffect((()=>{e(i.current,t)||(i.current=t,f())}),[t,f]),n.useEffect((()=>{(function(n,t){if(n.length!==t.length)return!1;const o=r(n),i=r(t);return o.every(((n,t)=>e(n,i[t])))})(c.current,o)||(c.current=o,f())}),[o,f]),n.useEffect((()=>{if("undefined"!=typeof window&&window.document&&window.document.createElement&&a){B.globalOptions=C.globalOptions;const n=B(a,i.current,c.current);return s(n),()=>n.destroy()}s(void 0)}),[a,s]),[d,u]}return B.globalOptions=void 0,C.globalOptions=void 0,C})); diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/components/useEmblaCarousel.d.ts b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/components/useEmblaCarousel.d.ts deleted file mode 100644 index e23b160c11..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/components/useEmblaCarousel.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { EmblaCarouselType, EmblaOptionsType, EmblaPluginType } from 'embla-carousel'; -export type EmblaViewportRefType = (instance: ViewportElement | null) => void; -export type UseEmblaCarouselType = [ - EmblaViewportRefType, - EmblaCarouselType | undefined -]; -declare function useEmblaCarousel(options?: EmblaOptionsType, plugins?: EmblaPluginType[]): UseEmblaCarouselType; -declare namespace useEmblaCarousel { - let globalOptions: EmblaOptionsType | undefined; -} -export default useEmblaCarousel; diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js deleted file mode 100644 index 9be497027f..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js +++ /dev/null @@ -1,38 +0,0 @@ -import { useRef, useState, useCallback, useEffect } from 'react'; -import { areOptionsEqual, arePluginsEqual, canUseDOM } from 'embla-carousel-reactive-utils'; -import EmblaCarousel from 'embla-carousel'; - -function useEmblaCarousel(options = {}, plugins = []) { - const storedOptions = useRef(options); - const storedPlugins = useRef(plugins); - const [emblaApi, setEmblaApi] = useState(); - const [viewport, setViewport] = useState(); - const reInit = useCallback(() => { - if (emblaApi) emblaApi.reInit(storedOptions.current, storedPlugins.current); - }, [emblaApi]); - useEffect(() => { - if (areOptionsEqual(storedOptions.current, options)) return; - storedOptions.current = options; - reInit(); - }, [options, reInit]); - useEffect(() => { - if (arePluginsEqual(storedPlugins.current, plugins)) return; - storedPlugins.current = plugins; - reInit(); - }, [plugins, reInit]); - useEffect(() => { - if (canUseDOM() && viewport) { - EmblaCarousel.globalOptions = useEmblaCarousel.globalOptions; - const newEmblaApi = EmblaCarousel(viewport, storedOptions.current, storedPlugins.current); - setEmblaApi(newEmblaApi); - return () => newEmblaApi.destroy(); - } else { - setEmblaApi(undefined); - } - }, [viewport, setEmblaApi]); - return [setViewport, emblaApi]; -} -useEmblaCarousel.globalOptions = undefined; - -export { useEmblaCarousel as default }; -//# sourceMappingURL=embla-carousel-react.esm.js.map diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js.map b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js.map deleted file mode 100644 index 49d3ed0c08..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"embla-carousel-react.esm.js","sources":["../src/components/useEmblaCarousel.ts"],"sourcesContent":["import { useRef, useEffect, useState, useCallback } from 'react'\nimport {\n areOptionsEqual,\n arePluginsEqual,\n canUseDOM\n} from 'embla-carousel-reactive-utils'\nimport EmblaCarousel, {\n EmblaCarouselType,\n EmblaOptionsType,\n EmblaPluginType\n} from 'embla-carousel'\n\nexport type EmblaViewportRefType = (\n instance: ViewportElement | null\n) => void\n\nexport type UseEmblaCarouselType = [\n EmblaViewportRefType,\n EmblaCarouselType | undefined\n]\n\nfunction useEmblaCarousel(\n options: EmblaOptionsType = {},\n plugins: EmblaPluginType[] = []\n): UseEmblaCarouselType {\n const storedOptions = useRef(options)\n const storedPlugins = useRef(plugins)\n const [emblaApi, setEmblaApi] = useState()\n const [viewport, setViewport] = useState()\n\n const reInit = useCallback(() => {\n if (emblaApi) emblaApi.reInit(storedOptions.current, storedPlugins.current)\n }, [emblaApi])\n\n useEffect(() => {\n if (areOptionsEqual(storedOptions.current, options)) return\n storedOptions.current = options\n reInit()\n }, [options, reInit])\n\n useEffect(() => {\n if (arePluginsEqual(storedPlugins.current, plugins)) return\n storedPlugins.current = plugins\n reInit()\n }, [plugins, reInit])\n\n useEffect(() => {\n if (canUseDOM() && viewport) {\n EmblaCarousel.globalOptions = useEmblaCarousel.globalOptions\n const newEmblaApi = EmblaCarousel(\n viewport,\n storedOptions.current,\n storedPlugins.current\n )\n setEmblaApi(newEmblaApi)\n return () => newEmblaApi.destroy()\n } else {\n setEmblaApi(undefined)\n }\n }, [viewport, setEmblaApi])\n\n return [setViewport, emblaApi]\n}\n\ndeclare namespace useEmblaCarousel {\n let globalOptions: EmblaOptionsType | undefined\n}\n\nuseEmblaCarousel.globalOptions = undefined\n\nexport default useEmblaCarousel\n"],"names":["useEmblaCarousel","options","plugins","storedOptions","useRef","storedPlugins","emblaApi","setEmblaApi","useState","viewport","setViewport","reInit","useCallback","current","useEffect","areOptionsEqual","arePluginsEqual","canUseDOM","EmblaCarousel","globalOptions","newEmblaApi","destroy","undefined"],"mappings":";;;;AAqBA,SAASA,gBAAgBA,CACvBC,OAAA,GAA4B,EAAE,EAC9BC,UAA6B,EAAE,EAAA;AAE/B,EAAA,MAAMC,aAAa,GAAGC,MAAM,CAACH,OAAO,CAAC;AACrC,EAAA,MAAMI,aAAa,GAAGD,MAAM,CAACF,OAAO,CAAC;EACrC,MAAM,CAACI,QAAQ,EAAEC,WAAW,CAAC,GAAGC,QAAQ,EAAqB;EAC7D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGF,QAAQ,EAAe;AAEvD,EAAA,MAAMG,MAAM,GAAGC,WAAW,CAAC,MAAK;AAC9B,IAAA,IAAIN,QAAQ,EAAEA,QAAQ,CAACK,MAAM,CAACR,aAAa,CAACU,OAAO,EAAER,aAAa,CAACQ,OAAO,CAAC;AAC7E,GAAC,EAAE,CAACP,QAAQ,CAAC,CAAC;AAEdQ,EAAAA,SAAS,CAAC,MAAK;IACb,IAAIC,eAAe,CAACZ,aAAa,CAACU,OAAO,EAAEZ,OAAO,CAAC,EAAE;IACrDE,aAAa,CAACU,OAAO,GAAGZ,OAAO;AAC/BU,IAAAA,MAAM,EAAE;AACV,GAAC,EAAE,CAACV,OAAO,EAAEU,MAAM,CAAC,CAAC;AAErBG,EAAAA,SAAS,CAAC,MAAK;IACb,IAAIE,eAAe,CAACX,aAAa,CAACQ,OAAO,EAAEX,OAAO,CAAC,EAAE;IACrDG,aAAa,CAACQ,OAAO,GAAGX,OAAO;AAC/BS,IAAAA,MAAM,EAAE;AACV,GAAC,EAAE,CAACT,OAAO,EAAES,MAAM,CAAC,CAAC;AAErBG,EAAAA,SAAS,CAAC,MAAK;AACb,IAAA,IAAIG,SAAS,EAAE,IAAIR,QAAQ,EAAE;AAC3BS,MAAAA,aAAa,CAACC,aAAa,GAAGnB,gBAAgB,CAACmB,aAAa;AAC5D,MAAA,MAAMC,WAAW,GAAGF,aAAa,CAC/BT,QAAQ,EACRN,aAAa,CAACU,OAAO,EACrBR,aAAa,CAACQ,OAAO,CACtB;MACDN,WAAW,CAACa,WAAW,CAAC;AACxB,MAAA,OAAO,MAAMA,WAAW,CAACC,OAAO,EAAE;AACpC,KAAC,MAAM;MACLd,WAAW,CAACe,SAAS,CAAC;AACxB;AACF,GAAC,EAAE,CAACb,QAAQ,EAAEF,WAAW,CAAC,CAAC;AAE3B,EAAA,OAAO,CAAuBG,WAAW,EAAEJ,QAAQ,CAAC;AACtD;AAMAN,gBAAgB,CAACmB,aAAa,GAAGG,SAAS;;;;"} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/index.d.ts b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/index.d.ts deleted file mode 100644 index ccec99221c..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { UseEmblaCarouselType, EmblaViewportRefType } from './components/useEmblaCarousel.js'; -export { default } from './components/useEmblaCarousel.js'; diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/package.json b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/package.json deleted file mode 100644 index f4604c2f56..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "embla-carousel-react", - "version": "8.6.0", - "author": "David Jerleke", - "description": "A lightweight carousel library with fluid motion and great swipe precision", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-react*", - "components/**/*", - "index.d.ts" - ], - "devDependencies": { - "@types/jest": "^29.5.6", - "@types/react": "^18.0.8", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "dependencies": { - "embla-carousel": "8.6.0", - "embla-carousel-reactive-utils": "8.6.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "module": "embla-carousel-react.esm.js", - "type": "module" -} diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/index.d.ts b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/index.d.ts deleted file mode 100644 index 8ce0b23390..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { UseEmblaCarouselType, EmblaViewportRefType } from './components/useEmblaCarousel'; -export { default } from './components/useEmblaCarousel'; diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/package.json b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/package.json deleted file mode 100644 index 25bd77cfd5..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "embla-carousel-react", - "version": "8.6.0", - "author": "David Jerleke", - "description": "A lightweight carousel library with fluid motion and great swipe precision", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "main": "embla-carousel-react.umd.js", - "unpkg": "embla-carousel-react.umd.js", - "module": "./esm/embla-carousel-react.esm.js", - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-react*", - "components/**/*", - "index.d.ts", - "esm/**/*", - "cjs/**/*" - ], - "scripts": { - "test": "echo \"Info: no tests specified\" && exit 0", - "build": "rollup --bundleConfigAsCjs -c", - "start": "rollup --bundleConfigAsCjs -c --watch --environment BUILD:development", - "eslint:report": "eslint \"src/**/*.{js,tsx,ts}\"" - }, - "devDependencies": { - "@types/jest": "^29.5.6", - "@types/react": "^18.0.8", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "dependencies": { - "embla-carousel": "8.6.0", - "embla-carousel-reactive-utils": "8.6.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "exports": { - "./package.json": "./package.json", - ".": { - "import": { - "types": "./esm/index.d.ts", - "default": "./esm/embla-carousel-react.esm.js" - }, - "require": { - "types": "./cjs/index.d.ts", - "default": "./cjs/embla-carousel-react.cjs.js" - } - } - } -} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-reactive-utils b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-reactive-utils deleted file mode 120000 index 1ec418d92e..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-reactive-utils +++ /dev/null @@ -1 +0,0 @@ -../../embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/react b/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/react deleted file mode 120000 index b1f1fdd058..0000000000 --- a/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/react +++ /dev/null @@ -1 +0,0 @@ -../../react@19.2.0/node_modules/react \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel deleted file mode 120000 index ba29366a8c..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel +++ /dev/null @@ -1 +0,0 @@ -../../embla-carousel@8.6.0/node_modules/embla-carousel \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/README.md b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/README.md deleted file mode 100644 index 45e32dbfe5..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/README.md +++ /dev/null @@ -1,233 +0,0 @@ -
-
-

- Embla Carousel - -

- -

- - - - - - -

- - -

Embla Carousel Reactive Utils

-
- -

- Embla Carousel is a bare bones carousel library with great fluid motion and awesome swipe precision. It's library agnostic, dependency free and 100% open source. -

- -
- -

- -  Examples  - -

- -

- -  Generator  - -

- -

- -  Installation  - -

-
- -
- -
- -

Ready for

-
- -

- - - - - - - - - - - - - - - - - - - - - -

-
- -
- - - -
- -
- -

Special Thanks

-
-

- - gunnarx2 - React wrapper useEmblaCarousel. - -
- - LiamMartens - Solid wrapper createEmblaCarousel. - -
- - donaldxdonald, zip-fa, JeanMeche - Angular wrapper EmblaCarouselDirective. - -
- - xiel - Plugin Embla Carousel Wheel Gestures. - -
- - zaaakher - Contributing guidelines. - -
- - sarussss - Answering questions. - -

-
- -
- -

Open Source

- -

- Embla is MIT licensed 💖.

- Embla Carousel - Copyright © 2019-present.
- Package created by David Jerleke. -

- -

- · · · -

- -

- Thanks BrowserStack. -

- -

- - - -

diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/components/utils.d.ts b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/components/utils.d.ts deleted file mode 100644 index 0b6c3b6af9..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/components/utils.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { EmblaPluginType } from 'embla-carousel'; -export declare function isObject(subject: unknown): subject is Record; -export declare function isRecord(subject: unknown): subject is Record; -export declare function canUseDOM(): boolean; -export declare function areOptionsEqual(optionsA: Record, optionsB: Record): boolean; -export declare function sortAndMapPluginToOptions(plugins: EmblaPluginType[]): EmblaPluginType['options'][]; -export declare function arePluginsEqual(pluginsA: EmblaPluginType[], pluginsB: EmblaPluginType[]): boolean; diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/embla-carousel-reactive-utils.cjs.js b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/embla-carousel-reactive-utils.cjs.js deleted file mode 100644 index 98a6ab3788..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/embla-carousel-reactive-utils.cjs.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -function isObject(subject) { - return Object.prototype.toString.call(subject) === '[object Object]'; -} -function isRecord(subject) { - return isObject(subject) || Array.isArray(subject); -} -function canUseDOM() { - return !!(typeof window !== 'undefined' && window.document && window.document.createElement); -} -function areOptionsEqual(optionsA, optionsB) { - const optionsAKeys = Object.keys(optionsA); - const optionsBKeys = Object.keys(optionsB); - if (optionsAKeys.length !== optionsBKeys.length) return false; - const breakpointsA = JSON.stringify(Object.keys(optionsA.breakpoints || {})); - const breakpointsB = JSON.stringify(Object.keys(optionsB.breakpoints || {})); - if (breakpointsA !== breakpointsB) return false; - return optionsAKeys.every(key => { - const valueA = optionsA[key]; - const valueB = optionsB[key]; - if (typeof valueA === 'function') return `${valueA}` === `${valueB}`; - if (!isRecord(valueA) || !isRecord(valueB)) return valueA === valueB; - return areOptionsEqual(valueA, valueB); - }); -} -function sortAndMapPluginToOptions(plugins) { - return plugins.concat().sort((a, b) => a.name > b.name ? 1 : -1).map(plugin => plugin.options); -} -function arePluginsEqual(pluginsA, pluginsB) { - if (pluginsA.length !== pluginsB.length) return false; - const optionsA = sortAndMapPluginToOptions(pluginsA); - const optionsB = sortAndMapPluginToOptions(pluginsB); - return optionsA.every((optionA, index) => { - const optionB = optionsB[index]; - return areOptionsEqual(optionA, optionB); - }); -} - -exports.areOptionsEqual = areOptionsEqual; -exports.arePluginsEqual = arePluginsEqual; -exports.canUseDOM = canUseDOM; -exports.sortAndMapPluginToOptions = sortAndMapPluginToOptions; -//# sourceMappingURL=embla-carousel-reactive-utils.cjs.js.map diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/embla-carousel-reactive-utils.cjs.js.map b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/embla-carousel-reactive-utils.cjs.js.map deleted file mode 100644 index 4441c57fc3..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/embla-carousel-reactive-utils.cjs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"embla-carousel-reactive-utils.cjs.js","sources":["../src/components/utils.ts"],"sourcesContent":["import { EmblaPluginType } from 'embla-carousel'\n\nexport function isObject(subject: unknown): subject is Record {\n return Object.prototype.toString.call(subject) === '[object Object]'\n}\n\nexport function isRecord(\n subject: unknown\n): subject is Record {\n return isObject(subject) || Array.isArray(subject)\n}\n\nexport function canUseDOM(): boolean {\n return !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n )\n}\n\nexport function areOptionsEqual(\n optionsA: Record,\n optionsB: Record\n): boolean {\n const optionsAKeys = Object.keys(optionsA)\n const optionsBKeys = Object.keys(optionsB)\n\n if (optionsAKeys.length !== optionsBKeys.length) return false\n\n const breakpointsA = JSON.stringify(Object.keys(optionsA.breakpoints || {}))\n const breakpointsB = JSON.stringify(Object.keys(optionsB.breakpoints || {}))\n\n if (breakpointsA !== breakpointsB) return false\n\n return optionsAKeys.every((key) => {\n const valueA = optionsA[key]\n const valueB = optionsB[key]\n if (typeof valueA === 'function') return `${valueA}` === `${valueB}`\n if (!isRecord(valueA) || !isRecord(valueB)) return valueA === valueB\n return areOptionsEqual(valueA, valueB)\n })\n}\n\nexport function sortAndMapPluginToOptions(\n plugins: EmblaPluginType[]\n): EmblaPluginType['options'][] {\n return plugins\n .concat()\n .sort((a, b) => (a.name > b.name ? 1 : -1))\n .map((plugin) => plugin.options)\n}\n\nexport function arePluginsEqual(\n pluginsA: EmblaPluginType[],\n pluginsB: EmblaPluginType[]\n): boolean {\n if (pluginsA.length !== pluginsB.length) return false\n\n const optionsA = sortAndMapPluginToOptions(pluginsA)\n const optionsB = sortAndMapPluginToOptions(pluginsB)\n\n return optionsA.every((optionA, index) => {\n const optionB = optionsB[index]\n return areOptionsEqual(optionA, optionB)\n })\n}\n"],"names":["isObject","subject","Object","prototype","toString","call","isRecord","Array","isArray","canUseDOM","window","document","createElement","areOptionsEqual","optionsA","optionsB","optionsAKeys","keys","optionsBKeys","length","breakpointsA","JSON","stringify","breakpoints","breakpointsB","every","key","valueA","valueB","sortAndMapPluginToOptions","plugins","concat","sort","a","b","name","map","plugin","options","arePluginsEqual","pluginsA","pluginsB","optionA","index","optionB"],"mappings":";;AAEM,SAAUA,QAAQA,CAACC,OAAgB,EAAA;EACvC,OAAOC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,OAAO,CAAC,KAAK,iBAAiB;AACtE;AAEM,SAAUK,QAAQA,CACtBL,OAAgB,EAAA;EAEhB,OAAOD,QAAQ,CAACC,OAAO,CAAC,IAAIM,KAAK,CAACC,OAAO,CAACP,OAAO,CAAC;AACpD;SAEgBQ,SAASA,GAAA;AACvB,EAAA,OAAO,CAAC,EACN,OAAOC,MAAM,KAAK,WAAW,IAC7BA,MAAM,CAACC,QAAQ,IACfD,MAAM,CAACC,QAAQ,CAACC,aAAa,CAC9B;AACH;AAEgB,SAAAC,eAAeA,CAC7BC,QAAiC,EACjCC,QAAiC,EAAA;AAEjC,EAAA,MAAMC,YAAY,GAAGd,MAAM,CAACe,IAAI,CAACH,QAAQ,CAAC;AAC1C,EAAA,MAAMI,YAAY,GAAGhB,MAAM,CAACe,IAAI,CAACF,QAAQ,CAAC;EAE1C,IAAIC,YAAY,CAACG,MAAM,KAAKD,YAAY,CAACC,MAAM,EAAE,OAAO,KAAK;AAE7D,EAAA,MAAMC,YAAY,GAAGC,IAAI,CAACC,SAAS,CAACpB,MAAM,CAACe,IAAI,CAACH,QAAQ,CAACS,WAAW,IAAI,EAAE,CAAC,CAAC;AAC5E,EAAA,MAAMC,YAAY,GAAGH,IAAI,CAACC,SAAS,CAACpB,MAAM,CAACe,IAAI,CAACF,QAAQ,CAACQ,WAAW,IAAI,EAAE,CAAC,CAAC;AAE5E,EAAA,IAAIH,YAAY,KAAKI,YAAY,EAAE,OAAO,KAAK;AAE/C,EAAA,OAAOR,YAAY,CAACS,KAAK,CAAEC,GAAG,IAAI;AAChC,IAAA,MAAMC,MAAM,GAAGb,QAAQ,CAACY,GAAG,CAAC;AAC5B,IAAA,MAAME,MAAM,GAAGb,QAAQ,CAACW,GAAG,CAAC;AAC5B,IAAA,IAAI,OAAOC,MAAM,KAAK,UAAU,EAAE,OAAO,CAAGA,EAAAA,MAAM,CAAE,CAAA,KAAK,CAAGC,EAAAA,MAAM,CAAE,CAAA;AACpE,IAAA,IAAI,CAACtB,QAAQ,CAACqB,MAAM,CAAC,IAAI,CAACrB,QAAQ,CAACsB,MAAM,CAAC,EAAE,OAAOD,MAAM,KAAKC,MAAM;AACpE,IAAA,OAAOf,eAAe,CAACc,MAAM,EAAEC,MAAM,CAAC;AACxC,GAAC,CAAC;AACJ;AAEM,SAAUC,yBAAyBA,CACvCC,OAA0B,EAAA;AAE1B,EAAA,OAAOA,OAAO,CACXC,MAAM,EAAE,CACRC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,IAAI,GAAGD,CAAC,CAACC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAE,CAAC,CAC1CC,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,OAAO,CAAC;AACpC;AAEgB,SAAAC,eAAeA,CAC7BC,QAA2B,EAC3BC,QAA2B,EAAA;EAE3B,IAAID,QAAQ,CAACrB,MAAM,KAAKsB,QAAQ,CAACtB,MAAM,EAAE,OAAO,KAAK;AAErD,EAAA,MAAML,QAAQ,GAAGe,yBAAyB,CAACW,QAAQ,CAAC;AACpD,EAAA,MAAMzB,QAAQ,GAAGc,yBAAyB,CAACY,QAAQ,CAAC;EAEpD,OAAO3B,QAAQ,CAACW,KAAK,CAAC,CAACiB,OAAO,EAAEC,KAAK,KAAI;AACvC,IAAA,MAAMC,OAAO,GAAG7B,QAAQ,CAAC4B,KAAK,CAAC;AAC/B,IAAA,OAAO9B,eAAe,CAAC6B,OAAO,EAAEE,OAAO,CAAC;AAC1C,GAAC,CAAC;AACJ;;;;;;;"} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/index.d.ts b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/index.d.ts deleted file mode 100644 index c83a671e3b..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { canUseDOM, areOptionsEqual, sortAndMapPluginToOptions, arePluginsEqual } from './components/utils'; diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/package.json b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/package.json deleted file mode 100644 index 944df3ae8f..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/cjs/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "embla-carousel-reactive-utils", - "version": "8.6.0", - "author": "David Jerleke", - "description": "Reactive utilities for Embla Carousel", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-reactive-utils*", - "components/**/*", - "index.d.ts" - ], - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "peerDependencies": { - "embla-carousel": "8.6.0" - }, - "main": "embla-carousel-reactive-utils.cjs.js", - "type": "commonjs" -} diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/components/utils.d.ts b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/components/utils.d.ts deleted file mode 100644 index 0b6c3b6af9..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/components/utils.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { EmblaPluginType } from 'embla-carousel'; -export declare function isObject(subject: unknown): subject is Record; -export declare function isRecord(subject: unknown): subject is Record; -export declare function canUseDOM(): boolean; -export declare function areOptionsEqual(optionsA: Record, optionsB: Record): boolean; -export declare function sortAndMapPluginToOptions(plugins: EmblaPluginType[]): EmblaPluginType['options'][]; -export declare function arePluginsEqual(pluginsA: EmblaPluginType[], pluginsB: EmblaPluginType[]): boolean; diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/embla-carousel-reactive-utils.umd.js b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/embla-carousel-reactive-utils.umd.js deleted file mode 100644 index 2c9dea247e..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/embla-carousel-reactive-utils.umd.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).EmblaCarouselReactiveUtils={})}(this,(function(e){"use strict";function n(e){return function(e){return"[object Object]"===Object.prototype.toString.call(e)}(e)||Array.isArray(e)}function t(e,o){const i=Object.keys(e),r=Object.keys(o);if(i.length!==r.length)return!1;return JSON.stringify(Object.keys(e.breakpoints||{}))===JSON.stringify(Object.keys(o.breakpoints||{}))&&i.every((i=>{const r=e[i],u=o[i];return"function"==typeof r?`${r}`==`${u}`:n(r)&&n(u)?t(r,u):r===u}))}function o(e){return e.concat().sort(((e,n)=>e.name>n.name?1:-1)).map((e=>e.options))}e.areOptionsEqual=t,e.arePluginsEqual=function(e,n){if(e.length!==n.length)return!1;const i=o(e),r=o(n);return i.every(((e,n)=>t(e,r[n])))},e.canUseDOM=function(){return!("undefined"==typeof window||!window.document||!window.document.createElement)},e.sortAndMapPluginToOptions=o})); diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/components/utils.d.ts b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/components/utils.d.ts deleted file mode 100644 index 0b6c3b6af9..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/components/utils.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { EmblaPluginType } from 'embla-carousel'; -export declare function isObject(subject: unknown): subject is Record; -export declare function isRecord(subject: unknown): subject is Record; -export declare function canUseDOM(): boolean; -export declare function areOptionsEqual(optionsA: Record, optionsB: Record): boolean; -export declare function sortAndMapPluginToOptions(plugins: EmblaPluginType[]): EmblaPluginType['options'][]; -export declare function arePluginsEqual(pluginsA: EmblaPluginType[], pluginsB: EmblaPluginType[]): boolean; diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js deleted file mode 100644 index 3ebfc4e715..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js +++ /dev/null @@ -1,39 +0,0 @@ -function isObject(subject) { - return Object.prototype.toString.call(subject) === '[object Object]'; -} -function isRecord(subject) { - return isObject(subject) || Array.isArray(subject); -} -function canUseDOM() { - return !!(typeof window !== 'undefined' && window.document && window.document.createElement); -} -function areOptionsEqual(optionsA, optionsB) { - const optionsAKeys = Object.keys(optionsA); - const optionsBKeys = Object.keys(optionsB); - if (optionsAKeys.length !== optionsBKeys.length) return false; - const breakpointsA = JSON.stringify(Object.keys(optionsA.breakpoints || {})); - const breakpointsB = JSON.stringify(Object.keys(optionsB.breakpoints || {})); - if (breakpointsA !== breakpointsB) return false; - return optionsAKeys.every(key => { - const valueA = optionsA[key]; - const valueB = optionsB[key]; - if (typeof valueA === 'function') return `${valueA}` === `${valueB}`; - if (!isRecord(valueA) || !isRecord(valueB)) return valueA === valueB; - return areOptionsEqual(valueA, valueB); - }); -} -function sortAndMapPluginToOptions(plugins) { - return plugins.concat().sort((a, b) => a.name > b.name ? 1 : -1).map(plugin => plugin.options); -} -function arePluginsEqual(pluginsA, pluginsB) { - if (pluginsA.length !== pluginsB.length) return false; - const optionsA = sortAndMapPluginToOptions(pluginsA); - const optionsB = sortAndMapPluginToOptions(pluginsB); - return optionsA.every((optionA, index) => { - const optionB = optionsB[index]; - return areOptionsEqual(optionA, optionB); - }); -} - -export { areOptionsEqual, arePluginsEqual, canUseDOM, sortAndMapPluginToOptions }; -//# sourceMappingURL=embla-carousel-reactive-utils.esm.js.map diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map deleted file mode 100644 index a731792af4..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"embla-carousel-reactive-utils.esm.js","sources":["../src/components/utils.ts"],"sourcesContent":["import { EmblaPluginType } from 'embla-carousel'\n\nexport function isObject(subject: unknown): subject is Record {\n return Object.prototype.toString.call(subject) === '[object Object]'\n}\n\nexport function isRecord(\n subject: unknown\n): subject is Record {\n return isObject(subject) || Array.isArray(subject)\n}\n\nexport function canUseDOM(): boolean {\n return !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n )\n}\n\nexport function areOptionsEqual(\n optionsA: Record,\n optionsB: Record\n): boolean {\n const optionsAKeys = Object.keys(optionsA)\n const optionsBKeys = Object.keys(optionsB)\n\n if (optionsAKeys.length !== optionsBKeys.length) return false\n\n const breakpointsA = JSON.stringify(Object.keys(optionsA.breakpoints || {}))\n const breakpointsB = JSON.stringify(Object.keys(optionsB.breakpoints || {}))\n\n if (breakpointsA !== breakpointsB) return false\n\n return optionsAKeys.every((key) => {\n const valueA = optionsA[key]\n const valueB = optionsB[key]\n if (typeof valueA === 'function') return `${valueA}` === `${valueB}`\n if (!isRecord(valueA) || !isRecord(valueB)) return valueA === valueB\n return areOptionsEqual(valueA, valueB)\n })\n}\n\nexport function sortAndMapPluginToOptions(\n plugins: EmblaPluginType[]\n): EmblaPluginType['options'][] {\n return plugins\n .concat()\n .sort((a, b) => (a.name > b.name ? 1 : -1))\n .map((plugin) => plugin.options)\n}\n\nexport function arePluginsEqual(\n pluginsA: EmblaPluginType[],\n pluginsB: EmblaPluginType[]\n): boolean {\n if (pluginsA.length !== pluginsB.length) return false\n\n const optionsA = sortAndMapPluginToOptions(pluginsA)\n const optionsB = sortAndMapPluginToOptions(pluginsB)\n\n return optionsA.every((optionA, index) => {\n const optionB = optionsB[index]\n return areOptionsEqual(optionA, optionB)\n })\n}\n"],"names":["isObject","subject","Object","prototype","toString","call","isRecord","Array","isArray","canUseDOM","window","document","createElement","areOptionsEqual","optionsA","optionsB","optionsAKeys","keys","optionsBKeys","length","breakpointsA","JSON","stringify","breakpoints","breakpointsB","every","key","valueA","valueB","sortAndMapPluginToOptions","plugins","concat","sort","a","b","name","map","plugin","options","arePluginsEqual","pluginsA","pluginsB","optionA","index","optionB"],"mappings":"AAEM,SAAUA,QAAQA,CAACC,OAAgB,EAAA;EACvC,OAAOC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,OAAO,CAAC,KAAK,iBAAiB;AACtE;AAEM,SAAUK,QAAQA,CACtBL,OAAgB,EAAA;EAEhB,OAAOD,QAAQ,CAACC,OAAO,CAAC,IAAIM,KAAK,CAACC,OAAO,CAACP,OAAO,CAAC;AACpD;SAEgBQ,SAASA,GAAA;AACvB,EAAA,OAAO,CAAC,EACN,OAAOC,MAAM,KAAK,WAAW,IAC7BA,MAAM,CAACC,QAAQ,IACfD,MAAM,CAACC,QAAQ,CAACC,aAAa,CAC9B;AACH;AAEgB,SAAAC,eAAeA,CAC7BC,QAAiC,EACjCC,QAAiC,EAAA;AAEjC,EAAA,MAAMC,YAAY,GAAGd,MAAM,CAACe,IAAI,CAACH,QAAQ,CAAC;AAC1C,EAAA,MAAMI,YAAY,GAAGhB,MAAM,CAACe,IAAI,CAACF,QAAQ,CAAC;EAE1C,IAAIC,YAAY,CAACG,MAAM,KAAKD,YAAY,CAACC,MAAM,EAAE,OAAO,KAAK;AAE7D,EAAA,MAAMC,YAAY,GAAGC,IAAI,CAACC,SAAS,CAACpB,MAAM,CAACe,IAAI,CAACH,QAAQ,CAACS,WAAW,IAAI,EAAE,CAAC,CAAC;AAC5E,EAAA,MAAMC,YAAY,GAAGH,IAAI,CAACC,SAAS,CAACpB,MAAM,CAACe,IAAI,CAACF,QAAQ,CAACQ,WAAW,IAAI,EAAE,CAAC,CAAC;AAE5E,EAAA,IAAIH,YAAY,KAAKI,YAAY,EAAE,OAAO,KAAK;AAE/C,EAAA,OAAOR,YAAY,CAACS,KAAK,CAAEC,GAAG,IAAI;AAChC,IAAA,MAAMC,MAAM,GAAGb,QAAQ,CAACY,GAAG,CAAC;AAC5B,IAAA,MAAME,MAAM,GAAGb,QAAQ,CAACW,GAAG,CAAC;AAC5B,IAAA,IAAI,OAAOC,MAAM,KAAK,UAAU,EAAE,OAAO,CAAGA,EAAAA,MAAM,CAAE,CAAA,KAAK,CAAGC,EAAAA,MAAM,CAAE,CAAA;AACpE,IAAA,IAAI,CAACtB,QAAQ,CAACqB,MAAM,CAAC,IAAI,CAACrB,QAAQ,CAACsB,MAAM,CAAC,EAAE,OAAOD,MAAM,KAAKC,MAAM;AACpE,IAAA,OAAOf,eAAe,CAACc,MAAM,EAAEC,MAAM,CAAC;AACxC,GAAC,CAAC;AACJ;AAEM,SAAUC,yBAAyBA,CACvCC,OAA0B,EAAA;AAE1B,EAAA,OAAOA,OAAO,CACXC,MAAM,EAAE,CACRC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,IAAI,GAAGD,CAAC,CAACC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAE,CAAC,CAC1CC,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,OAAO,CAAC;AACpC;AAEgB,SAAAC,eAAeA,CAC7BC,QAA2B,EAC3BC,QAA2B,EAAA;EAE3B,IAAID,QAAQ,CAACrB,MAAM,KAAKsB,QAAQ,CAACtB,MAAM,EAAE,OAAO,KAAK;AAErD,EAAA,MAAML,QAAQ,GAAGe,yBAAyB,CAACW,QAAQ,CAAC;AACpD,EAAA,MAAMzB,QAAQ,GAAGc,yBAAyB,CAACY,QAAQ,CAAC;EAEpD,OAAO3B,QAAQ,CAACW,KAAK,CAAC,CAACiB,OAAO,EAAEC,KAAK,KAAI;AACvC,IAAA,MAAMC,OAAO,GAAG7B,QAAQ,CAAC4B,KAAK,CAAC;AAC/B,IAAA,OAAO9B,eAAe,CAAC6B,OAAO,EAAEE,OAAO,CAAC;AAC1C,GAAC,CAAC;AACJ;;;;"} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/index.d.ts b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/index.d.ts deleted file mode 100644 index 85b20d2283..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { canUseDOM, areOptionsEqual, sortAndMapPluginToOptions, arePluginsEqual } from './components/utils.js'; diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/package.json b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/package.json deleted file mode 100644 index 3510133d58..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "embla-carousel-reactive-utils", - "version": "8.6.0", - "author": "David Jerleke", - "description": "Reactive utilities for Embla Carousel", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-reactive-utils*", - "components/**/*", - "index.d.ts" - ], - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "peerDependencies": { - "embla-carousel": "8.6.0" - }, - "module": "embla-carousel-reactive-utils.esm.js", - "type": "module" -} diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/index.d.ts b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/index.d.ts deleted file mode 100644 index c83a671e3b..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { canUseDOM, areOptionsEqual, sortAndMapPluginToOptions, arePluginsEqual } from './components/utils'; diff --git a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/package.json b/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/package.json deleted file mode 100644 index 7b8f542fe2..0000000000 --- a/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "embla-carousel-reactive-utils", - "version": "8.6.0", - "author": "David Jerleke", - "description": "Reactive utilities for Embla Carousel", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "main": "embla-carousel-reactive-utils.umd.js", - "unpkg": "embla-carousel-reactive-utils.umd.js", - "module": "./esm/embla-carousel-reactive-utils.esm.js", - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel-reactive-utils*", - "components/**/*", - "index.d.ts", - "esm/**/*", - "cjs/**/*" - ], - "scripts": { - "test": "jest --config jest.config.js", - "build": "rollup --bundleConfigAsCjs -c", - "start": "rollup --bundleConfigAsCjs -c --watch --environment BUILD:development", - "eslint:report": "eslint \"src/**/*.{js,tsx,ts}\"" - }, - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "peerDependencies": { - "embla-carousel": "8.6.0" - }, - "exports": { - "./package.json": "./package.json", - ".": { - "import": { - "types": "./esm/index.d.ts", - "default": "./esm/embla-carousel-reactive-utils.esm.js" - }, - "require": { - "types": "./cjs/index.d.ts", - "default": "./cjs/embla-carousel-reactive-utils.cjs.js" - } - } - } -} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/README.md b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/README.md deleted file mode 100644 index 62de8785df..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/README.md +++ /dev/null @@ -1,233 +0,0 @@ -
-
-

- Embla Carousel - -

- -

- - - - - - -

- - -

Embla Carousel

-
- -

- Embla Carousel is a bare bones carousel library with great fluid motion and awesome swipe precision. It's library agnostic, dependency free and 100% open source. -

- -
- -

- -  Examples  - -

- -

- -  Generator  - -

- -

- -  Installation  - -

-
- -
- -
- -

Ready for

-
- -

- - - - - - - - - - - - - - - - - - - - - -

-
- -
- - - -
- -
- -

Special Thanks

-
-

- - gunnarx2 - React wrapper useEmblaCarousel. - -
- - LiamMartens - Solid wrapper createEmblaCarousel. - -
- - donaldxdonald, zip-fa, JeanMeche - Angular wrapper EmblaCarouselDirective. - -
- - xiel - Plugin Embla Carousel Wheel Gestures. - -
- - zaaakher - Contributing guidelines. - -
- - sarussss - Answering questions. - -

-
- -
- -

Open Source

- -

- Embla is MIT licensed 💖.

- Embla Carousel - Copyright © 2019-present.
- Package created by David Jerleke. -

- -

- · · · -

- -

- Thanks BrowserStack. -

- -

- - - -

diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Alignment.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Alignment.d.ts deleted file mode 100644 index 72f1015b7b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Alignment.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type AlignmentOptionType = 'start' | 'center' | 'end' | ((viewSize: number, snapSize: number, index: number) => number); -export type AlignmentType = { - measure: (n: number, index: number) => number; -}; -export declare function Alignment(align: AlignmentOptionType, viewSize: number): AlignmentType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Animations.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Animations.d.ts deleted file mode 100644 index 693defa7e7..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Animations.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { EngineType } from './Engine'; -import { WindowType } from './utils'; -export type AnimationsUpdateType = (engine: EngineType) => void; -export type AnimationsRenderType = (engine: EngineType, alpha: number) => void; -export type AnimationsType = { - init: () => void; - destroy: () => void; - start: () => void; - stop: () => void; - update: () => void; - render: (alpha: number) => void; -}; -export declare function Animations(ownerDocument: Document, ownerWindow: WindowType, update: () => void, render: (alpha: number) => void): AnimationsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Axis.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Axis.d.ts deleted file mode 100644 index a0735f7e04..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Axis.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NodeRectType } from './NodeRects'; -export type AxisOptionType = 'x' | 'y'; -export type AxisDirectionOptionType = 'ltr' | 'rtl'; -type AxisEdgeType = 'top' | 'right' | 'bottom' | 'left'; -export type AxisType = { - scroll: AxisOptionType; - cross: AxisOptionType; - startEdge: AxisEdgeType; - endEdge: AxisEdgeType; - measureSize: (nodeRect: NodeRectType) => number; - direction: (n: number) => number; -}; -export declare function Axis(axis: AxisOptionType, contentDirection: AxisDirectionOptionType): AxisType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Counter.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Counter.d.ts deleted file mode 100644 index 964a47d838..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Counter.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type CounterType = { - get: () => number; - set: (n: number) => CounterType; - add: (n: number) => CounterType; - clone: () => CounterType; -}; -export declare function Counter(max: number, start: number, loop: boolean): CounterType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/DragHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/DragHandler.d.ts deleted file mode 100644 index 0685db222c..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/DragHandler.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -import { AnimationsType } from './Animations'; -import { CounterType } from './Counter'; -import { DragTrackerType, PointerEventType } from './DragTracker'; -import { EventHandlerType } from './EventHandler'; -import { AxisType } from './Axis'; -import { ScrollBodyType } from './ScrollBody'; -import { ScrollTargetType } from './ScrollTarget'; -import { ScrollToType } from './ScrollTo'; -import { Vector1DType } from './Vector1d'; -import { PercentOfViewType } from './PercentOfView'; -import { WindowType } from './utils'; -type DragHandlerCallbackType = (emblaApi: EmblaCarouselType, evt: PointerEventType) => boolean | void; -export type DragHandlerOptionType = boolean | DragHandlerCallbackType; -export type DragHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; - pointerDown: () => boolean; -}; -export declare function DragHandler(axis: AxisType, rootNode: HTMLElement, ownerDocument: Document, ownerWindow: WindowType, target: Vector1DType, dragTracker: DragTrackerType, location: Vector1DType, animation: AnimationsType, scrollTo: ScrollToType, scrollBody: ScrollBodyType, scrollTarget: ScrollTargetType, index: CounterType, eventHandler: EventHandlerType, percentOfView: PercentOfViewType, dragFree: boolean, dragThreshold: number, skipSnaps: boolean, baseFriction: number, watchDrag: DragHandlerOptionType): DragHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/DragTracker.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/DragTracker.d.ts deleted file mode 100644 index 0f4b4cb4a0..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/DragTracker.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AxisOptionType, AxisType } from './Axis'; -import { WindowType } from './utils'; -export type PointerEventType = TouchEvent | MouseEvent; -export type DragTrackerType = { - pointerDown: (evt: PointerEventType) => number; - pointerMove: (evt: PointerEventType) => number; - pointerUp: (evt: PointerEventType) => number; - readPoint: (evt: PointerEventType, evtAxis?: AxisOptionType) => number; -}; -export declare function DragTracker(axis: AxisType, ownerWindow: WindowType): DragTrackerType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EmblaCarousel.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EmblaCarousel.d.ts deleted file mode 100644 index 5ad21c978a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EmblaCarousel.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { EngineType } from './Engine'; -import { EventHandlerType } from './EventHandler'; -import { EmblaOptionsType } from './Options'; -import { EmblaPluginsType, EmblaPluginType } from './Plugins'; -export type EmblaCarouselType = { - canScrollNext: () => boolean; - canScrollPrev: () => boolean; - containerNode: () => HTMLElement; - internalEngine: () => EngineType; - destroy: () => void; - off: EventHandlerType['off']; - on: EventHandlerType['on']; - emit: EventHandlerType['emit']; - plugins: () => EmblaPluginsType; - previousScrollSnap: () => number; - reInit: (options?: EmblaOptionsType, plugins?: EmblaPluginType[]) => void; - rootNode: () => HTMLElement; - scrollNext: (jump?: boolean) => void; - scrollPrev: (jump?: boolean) => void; - scrollProgress: () => number; - scrollSnapList: () => number[]; - scrollTo: (index: number, jump?: boolean) => void; - selectedScrollSnap: () => number; - slideNodes: () => HTMLElement[]; - slidesInView: () => number[]; - slidesNotInView: () => number[]; -}; -declare function EmblaCarousel(root: HTMLElement, userOptions?: EmblaOptionsType, userPlugins?: EmblaPluginType[]): EmblaCarouselType; -declare namespace EmblaCarousel { - let globalOptions: EmblaOptionsType | undefined; -} -export default EmblaCarousel; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Engine.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Engine.d.ts deleted file mode 100644 index 18071b0136..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Engine.d.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { AnimationsType } from './Animations'; -import { AxisType } from './Axis'; -import { CounterType } from './Counter'; -import { DragHandlerType } from './DragHandler'; -import { EventHandlerType } from './EventHandler'; -import { EventStoreType } from './EventStore'; -import { LimitType } from './Limit'; -import { NodeRectType } from './NodeRects'; -import { OptionsType } from './Options'; -import { PercentOfViewType } from './PercentOfView'; -import { ResizeHandlerType } from './ResizeHandler'; -import { ScrollBodyType } from './ScrollBody'; -import { ScrollBoundsType } from './ScrollBounds'; -import { ScrollLooperType } from './ScrollLooper'; -import { ScrollProgressType } from './ScrollProgress'; -import { SlideRegistryType } from './SlideRegistry'; -import { ScrollTargetType } from './ScrollTarget'; -import { ScrollToType } from './ScrollTo'; -import { SlideFocusType } from './SlideFocus'; -import { SlideLooperType } from './SlideLooper'; -import { SlidesHandlerType } from './SlidesHandler'; -import { SlidesInViewType } from './SlidesInView'; -import { SlidesToScrollType } from './SlidesToScroll'; -import { TranslateType } from './Translate'; -import { WindowType } from './utils'; -import { Vector1DType } from './Vector1d'; -export type EngineType = { - ownerDocument: Document; - ownerWindow: WindowType; - eventHandler: EventHandlerType; - axis: AxisType; - animation: AnimationsType; - scrollBounds: ScrollBoundsType; - scrollLooper: ScrollLooperType; - scrollProgress: ScrollProgressType; - index: CounterType; - indexPrevious: CounterType; - limit: LimitType; - location: Vector1DType; - offsetLocation: Vector1DType; - previousLocation: Vector1DType; - options: OptionsType; - percentOfView: PercentOfViewType; - scrollBody: ScrollBodyType; - dragHandler: DragHandlerType; - eventStore: EventStoreType; - slideLooper: SlideLooperType; - slidesInView: SlidesInViewType; - slidesToScroll: SlidesToScrollType; - target: Vector1DType; - translate: TranslateType; - resizeHandler: ResizeHandlerType; - slidesHandler: SlidesHandlerType; - scrollTo: ScrollToType; - scrollTarget: ScrollTargetType; - scrollSnapList: number[]; - scrollSnaps: number[]; - slideIndexes: number[]; - slideFocus: SlideFocusType; - slideRegistry: SlideRegistryType['slideRegistry']; - containerRect: NodeRectType; - slideRects: NodeRectType[]; -}; -export declare function Engine(root: HTMLElement, container: HTMLElement, slides: HTMLElement[], ownerDocument: Document, ownerWindow: WindowType, options: OptionsType, eventHandler: EventHandlerType): EngineType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EventHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EventHandler.d.ts deleted file mode 100644 index 4c8159f16e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EventHandler.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -type CallbackType = (emblaApi: EmblaCarouselType, evt: EmblaEventType) => void; -export type EmblaEventType = EmblaEventListType[keyof EmblaEventListType]; -export interface EmblaEventListType { - init: 'init'; - pointerDown: 'pointerDown'; - pointerUp: 'pointerUp'; - slidesChanged: 'slidesChanged'; - slidesInView: 'slidesInView'; - scroll: 'scroll'; - select: 'select'; - settle: 'settle'; - destroy: 'destroy'; - reInit: 'reInit'; - resize: 'resize'; - slideFocusStart: 'slideFocusStart'; - slideFocus: 'slideFocus'; -} -export type EventHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - emit: (evt: EmblaEventType) => EventHandlerType; - on: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType; - off: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType; - clear: () => void; -}; -export declare function EventHandler(): EventHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EventStore.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EventStore.d.ts deleted file mode 100644 index 8b0f89ed6a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/EventStore.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -type EventNameType = keyof DocumentEventMap | keyof WindowEventMap; -type EventHandlerType = (evt: any) => void; -type EventOptionsType = boolean | AddEventListenerOptions | undefined; -export type EventStoreType = { - add: (node: EventTarget, type: EventNameType, handler: EventHandlerType, options?: EventOptionsType) => EventStoreType; - clear: () => void; -}; -export declare function EventStore(): EventStoreType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Limit.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Limit.d.ts deleted file mode 100644 index b6499b04a8..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Limit.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type LimitType = { - min: number; - max: number; - length: number; - constrain: (n: number) => number; - reachedAny: (n: number) => boolean; - reachedMax: (n: number) => boolean; - reachedMin: (n: number) => boolean; - removeOffset: (n: number) => number; -}; -export declare function Limit(min?: number, max?: number): LimitType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/NodeRects.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/NodeRects.d.ts deleted file mode 100644 index c76623b8e7..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/NodeRects.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type NodeRectType = { - top: number; - right: number; - bottom: number; - left: number; - width: number; - height: number; -}; -export type NodeRectsType = { - measure: (node: HTMLElement) => NodeRectType; -}; -export declare function NodeRects(): NodeRectsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Options.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Options.d.ts deleted file mode 100644 index 168867d04a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Options.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { AlignmentOptionType } from './Alignment'; -import { AxisDirectionOptionType, AxisOptionType } from './Axis'; -import { SlidesToScrollOptionType } from './SlidesToScroll'; -import { ScrollContainOptionType } from './ScrollContain'; -import { DragHandlerOptionType } from './DragHandler'; -import { ResizeHandlerOptionType } from './ResizeHandler'; -import { SlidesHandlerOptionType } from './SlidesHandler'; -import { SlidesInViewOptionsType } from './SlidesInView'; -import { FocusHandlerOptionType } from './SlideFocus'; -export type LooseOptionsType = { - [key: string]: unknown; -}; -export type CreateOptionsType = Type & { - active: boolean; - breakpoints: { - [key: string]: Omit>, 'breakpoints'>; - }; -}; -export type OptionsType = CreateOptionsType<{ - align: AlignmentOptionType; - axis: AxisOptionType; - container: string | HTMLElement | null; - slides: string | HTMLElement[] | NodeListOf | null; - containScroll: ScrollContainOptionType; - direction: AxisDirectionOptionType; - slidesToScroll: SlidesToScrollOptionType; - dragFree: boolean; - dragThreshold: number; - inViewThreshold: SlidesInViewOptionsType; - loop: boolean; - skipSnaps: boolean; - duration: number; - startIndex: number; - watchDrag: DragHandlerOptionType; - watchResize: ResizeHandlerOptionType; - watchSlides: SlidesHandlerOptionType; - watchFocus: FocusHandlerOptionType; -}>; -export declare const defaultOptions: OptionsType; -export type EmblaOptionsType = Partial; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/OptionsHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/OptionsHandler.d.ts deleted file mode 100644 index 54ed8aa7ac..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/OptionsHandler.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LooseOptionsType, CreateOptionsType } from './Options'; -import { WindowType } from './utils'; -type OptionsType = Partial>; -export type OptionsHandlerType = { - mergeOptions: (optionsA: TypeA, optionsB?: TypeB) => TypeA; - optionsAtMedia: (options: Type) => Type; - optionsMediaQueries: (optionsList: OptionsType[]) => MediaQueryList[]; -}; -export declare function OptionsHandler(ownerWindow: WindowType): OptionsHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/PercentOfView.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/PercentOfView.d.ts deleted file mode 100644 index b51b35a13b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/PercentOfView.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type PercentOfViewType = { - measure: (n: number) => number; -}; -export declare function PercentOfView(viewSize: number): PercentOfViewType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Plugins.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Plugins.d.ts deleted file mode 100644 index 9518557993..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Plugins.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { CreateOptionsType, LooseOptionsType } from './Options'; -import { EmblaCarouselType } from './EmblaCarousel'; -import { OptionsHandlerType } from './OptionsHandler'; -export type LoosePluginType = { - [key: string]: unknown; -}; -export type CreatePluginType = TypeA & { - name: string; - options: Partial>; - init: (embla: EmblaCarouselType, OptionsHandler: OptionsHandlerType) => void; - destroy: () => void; -}; -export interface EmblaPluginsType { - [key: string]: CreatePluginType; -} -export type EmblaPluginType = EmblaPluginsType[keyof EmblaPluginsType]; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/PluginsHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/PluginsHandler.d.ts deleted file mode 100644 index da2688d0b4..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/PluginsHandler.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -import { OptionsHandlerType } from './OptionsHandler'; -import { EmblaPluginsType, EmblaPluginType } from './Plugins'; -export type PluginsHandlerType = { - init: (emblaApi: EmblaCarouselType, plugins: EmblaPluginType[]) => EmblaPluginsType; - destroy: () => void; -}; -export declare function PluginsHandler(optionsHandler: OptionsHandlerType): PluginsHandlerType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ResizeHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ResizeHandler.d.ts deleted file mode 100644 index 111a58d053..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ResizeHandler.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { AxisType } from './Axis'; -import { EmblaCarouselType } from './EmblaCarousel'; -import { EventHandlerType } from './EventHandler'; -import { NodeRectsType } from './NodeRects'; -import { WindowType } from './utils'; -type ResizeHandlerCallbackType = (emblaApi: EmblaCarouselType, entries: ResizeObserverEntry[]) => boolean | void; -export type ResizeHandlerOptionType = boolean | ResizeHandlerCallbackType; -export type ResizeHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; -}; -export declare function ResizeHandler(container: HTMLElement, eventHandler: EventHandlerType, ownerWindow: WindowType, slides: HTMLElement[], axis: AxisType, watchResize: ResizeHandlerOptionType, nodeRects: NodeRectsType): ResizeHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollBody.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollBody.d.ts deleted file mode 100644 index d7dc7d5e57..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollBody.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Vector1DType } from './Vector1d'; -export type ScrollBodyType = { - direction: () => number; - duration: () => number; - velocity: () => number; - seek: () => ScrollBodyType; - settled: () => boolean; - useBaseFriction: () => ScrollBodyType; - useBaseDuration: () => ScrollBodyType; - useFriction: (n: number) => ScrollBodyType; - useDuration: (n: number) => ScrollBodyType; -}; -export declare function ScrollBody(location: Vector1DType, offsetLocation: Vector1DType, previousLocation: Vector1DType, target: Vector1DType, baseDuration: number, baseFriction: number): ScrollBodyType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollBounds.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollBounds.d.ts deleted file mode 100644 index d040f09a2d..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollBounds.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LimitType } from './Limit'; -import { ScrollBodyType } from './ScrollBody'; -import { Vector1DType } from './Vector1d'; -import { PercentOfViewType } from './PercentOfView'; -export type ScrollBoundsType = { - shouldConstrain: () => boolean; - constrain: (pointerDown: boolean) => void; - toggleActive: (active: boolean) => void; -}; -export declare function ScrollBounds(limit: LimitType, location: Vector1DType, target: Vector1DType, scrollBody: ScrollBodyType, percentOfView: PercentOfViewType): ScrollBoundsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollContain.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollContain.d.ts deleted file mode 100644 index 66f5907b81..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollContain.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { LimitType } from './Limit'; -export type ScrollContainOptionType = false | 'trimSnaps' | 'keepSnaps'; -export type ScrollContainType = { - snapsContained: number[]; - scrollContainLimit: LimitType; -}; -export declare function ScrollContain(viewSize: number, contentSize: number, snapsAligned: number[], containScroll: ScrollContainOptionType, pixelTolerance: number): ScrollContainType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollLimit.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollLimit.d.ts deleted file mode 100644 index 3d417cca34..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollLimit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { LimitType } from './Limit'; -export type ScrollLimitType = { - limit: LimitType; -}; -export declare function ScrollLimit(contentSize: number, scrollSnaps: number[], loop: boolean): ScrollLimitType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollLooper.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollLooper.d.ts deleted file mode 100644 index 97b1b1ba38..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollLooper.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { LimitType } from './Limit'; -import { Vector1DType } from './Vector1d'; -export type ScrollLooperType = { - loop: (direction: number) => void; -}; -export declare function ScrollLooper(contentSize: number, limit: LimitType, location: Vector1DType, vectors: Vector1DType[]): ScrollLooperType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollProgress.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollProgress.d.ts deleted file mode 100644 index 224e4d385e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollProgress.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { LimitType } from './Limit'; -export type ScrollProgressType = { - get: (n: number) => number; -}; -export declare function ScrollProgress(limit: LimitType): ScrollProgressType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollSnaps.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollSnaps.d.ts deleted file mode 100644 index 55e7bac4f0..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollSnaps.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AlignmentType } from './Alignment'; -import { AxisType } from './Axis'; -import { NodeRectType } from './NodeRects'; -import { SlidesToScrollType } from './SlidesToScroll'; -export type ScrollSnapsType = { - snaps: number[]; - snapsAligned: number[]; -}; -export declare function ScrollSnaps(axis: AxisType, alignment: AlignmentType, containerRect: NodeRectType, slideRects: NodeRectType[], slidesToScroll: SlidesToScrollType): ScrollSnapsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollTarget.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollTarget.d.ts deleted file mode 100644 index 3d26624f0e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollTarget.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { LimitType } from './Limit'; -import { Vector1DType } from './Vector1d'; -export type TargetType = { - distance: number; - index: number; -}; -export type ScrollTargetType = { - byIndex: (target: number, direction: number) => TargetType; - byDistance: (force: number, snap: boolean) => TargetType; - shortcut: (target: number, direction: number) => number; -}; -export declare function ScrollTarget(loop: boolean, scrollSnaps: number[], contentSize: number, limit: LimitType, targetVector: Vector1DType): ScrollTargetType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollTo.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollTo.d.ts deleted file mode 100644 index 1291ed8628..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/ScrollTo.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { AnimationsType } from './Animations'; -import { CounterType } from './Counter'; -import { EventHandlerType } from './EventHandler'; -import { ScrollBodyType } from './ScrollBody'; -import { ScrollTargetType } from './ScrollTarget'; -import { Vector1DType } from './Vector1d'; -export type ScrollToType = { - distance: (n: number, snap: boolean) => void; - index: (n: number, direction: number) => void; -}; -export declare function ScrollTo(animation: AnimationsType, indexCurrent: CounterType, indexPrevious: CounterType, scrollBody: ScrollBodyType, scrollTarget: ScrollTargetType, targetVector: Vector1DType, eventHandler: EventHandlerType): ScrollToType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideFocus.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideFocus.d.ts deleted file mode 100644 index 6f962aae8a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideFocus.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -import { EventHandlerType } from './EventHandler'; -import { EventStoreType } from './EventStore'; -import { ScrollBodyType } from './ScrollBody'; -import { ScrollToType } from './ScrollTo'; -import { SlideRegistryType } from './SlideRegistry'; -type FocusHandlerCallbackType = (emblaApi: EmblaCarouselType, evt: FocusEvent) => boolean | void; -export type FocusHandlerOptionType = boolean | FocusHandlerCallbackType; -export type SlideFocusType = { - init: (emblaApi: EmblaCarouselType) => void; -}; -export declare function SlideFocus(root: HTMLElement, slides: HTMLElement[], slideRegistry: SlideRegistryType['slideRegistry'], scrollTo: ScrollToType, scrollBody: ScrollBodyType, eventStore: EventStoreType, eventHandler: EventHandlerType, watchFocus: FocusHandlerOptionType): SlideFocusType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideLooper.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideLooper.d.ts deleted file mode 100644 index bb10e7df3c..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideLooper.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { AxisType } from './Axis'; -import { Vector1DType } from './Vector1d'; -import { TranslateType } from './Translate'; -type LoopPointType = { - loopPoint: number; - index: number; - translate: TranslateType; - slideLocation: Vector1DType; - target: () => number; -}; -export type SlideLooperType = { - canLoop: () => boolean; - clear: () => void; - loop: () => void; - loopPoints: LoopPointType[]; -}; -export declare function SlideLooper(axis: AxisType, viewSize: number, contentSize: number, slideSizes: number[], slideSizesWithGaps: number[], snaps: number[], scrollSnaps: number[], location: Vector1DType, slides: HTMLElement[]): SlideLooperType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideRegistry.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideRegistry.d.ts deleted file mode 100644 index d339b15eaa..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideRegistry.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { LimitType } from './Limit'; -import { ScrollContainOptionType } from './ScrollContain'; -import { SlidesToScrollType } from './SlidesToScroll'; -export type SlideRegistryType = { - slideRegistry: number[][]; -}; -export declare function SlideRegistry(containSnaps: boolean, containScroll: ScrollContainOptionType, scrollSnaps: number[], scrollContainLimit: LimitType, slidesToScroll: SlidesToScrollType, slideIndexes: number[]): SlideRegistryType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideSizes.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideSizes.d.ts deleted file mode 100644 index 86961805cb..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlideSizes.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AxisType } from './Axis'; -import { NodeRectType } from './NodeRects'; -import { WindowType } from './utils'; -export type SlideSizesType = { - slideSizes: number[]; - slideSizesWithGaps: number[]; - startGap: number; - endGap: number; -}; -export declare function SlideSizes(axis: AxisType, containerRect: NodeRectType, slideRects: NodeRectType[], slides: HTMLElement[], readEdgeGap: boolean, ownerWindow: WindowType): SlideSizesType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesHandler.d.ts deleted file mode 100644 index 6115d5f30e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesHandler.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -import { EventHandlerType } from './EventHandler'; -type SlidesHandlerCallbackType = (emblaApi: EmblaCarouselType, mutations: MutationRecord[]) => boolean | void; -export type SlidesHandlerOptionType = boolean | SlidesHandlerCallbackType; -export type SlidesHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; -}; -export declare function SlidesHandler(container: HTMLElement, eventHandler: EventHandlerType, watchSlides: SlidesHandlerOptionType): SlidesHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesInView.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesInView.d.ts deleted file mode 100644 index 943d05cd2b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesInView.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { EventHandlerType } from './EventHandler'; -export type SlidesInViewOptionsType = IntersectionObserverInit['threshold']; -export type SlidesInViewType = { - init: () => void; - destroy: () => void; - get: (inView?: boolean) => number[]; -}; -export declare function SlidesInView(container: HTMLElement, slides: HTMLElement[], eventHandler: EventHandlerType, threshold: SlidesInViewOptionsType): SlidesInViewType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesToScroll.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesToScroll.d.ts deleted file mode 100644 index 129460e4af..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/SlidesToScroll.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { AxisType } from './Axis'; -import { NodeRectType } from './NodeRects'; -export type SlidesToScrollOptionType = 'auto' | number; -export type SlidesToScrollType = { - groupSlides: (array: Type[]) => Type[][]; -}; -export declare function SlidesToScroll(axis: AxisType, viewSize: number, slidesToScroll: SlidesToScrollOptionType, loop: boolean, containerRect: NodeRectType, slideRects: NodeRectType[], startGap: number, endGap: number, pixelTolerance: number): SlidesToScrollType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Translate.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Translate.d.ts deleted file mode 100644 index 2d9c96118f..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Translate.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { AxisType } from './Axis'; -export type TranslateType = { - clear: () => void; - to: (target: number) => void; - toggleActive: (active: boolean) => void; -}; -export declare function Translate(axis: AxisType, container: HTMLElement): TranslateType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Vector1d.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Vector1d.d.ts deleted file mode 100644 index 9ff303c96b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/Vector1d.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type Vector1DType = { - get: () => number; - set: (n: Vector1DType | number) => void; - add: (n: Vector1DType | number) => void; - subtract: (n: Vector1DType | number) => void; -}; -export declare function Vector1D(initialValue: number): Vector1DType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/utils.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/utils.d.ts deleted file mode 100644 index 367767d6e8..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/components/utils.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { PointerEventType } from './DragTracker'; -export type WindowType = Window & typeof globalThis; -export declare function isNumber(subject: unknown): subject is number; -export declare function isString(subject: unknown): subject is string; -export declare function isBoolean(subject: unknown): subject is boolean; -export declare function isObject(subject: unknown): subject is Record; -export declare function mathAbs(n: number): number; -export declare function mathSign(n: number): number; -export declare function deltaAbs(valueB: number, valueA: number): number; -export declare function factorAbs(valueB: number, valueA: number): number; -export declare function roundToTwoDecimals(num: number): number; -export declare function arrayKeys(array: Type[]): number[]; -export declare function arrayLast(array: Type[]): Type; -export declare function arrayLastIndex(array: Type[]): number; -export declare function arrayIsLastIndex(array: Type[], index: number): boolean; -export declare function arrayFromNumber(n: number, startAt?: number): number[]; -export declare function objectKeys(object: Type): string[]; -export declare function objectsMergeDeep(objectA: Record, objectB: Record): Record; -export declare function isMouseEvent(evt: PointerEventType, ownerWindow: WindowType): evt is MouseEvent; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js deleted file mode 100644 index 03e30fa6eb..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js +++ /dev/null @@ -1,1672 +0,0 @@ -'use strict'; - -function isNumber(subject) { - return typeof subject === 'number'; -} -function isString(subject) { - return typeof subject === 'string'; -} -function isBoolean(subject) { - return typeof subject === 'boolean'; -} -function isObject(subject) { - return Object.prototype.toString.call(subject) === '[object Object]'; -} -function mathAbs(n) { - return Math.abs(n); -} -function mathSign(n) { - return Math.sign(n); -} -function deltaAbs(valueB, valueA) { - return mathAbs(valueB - valueA); -} -function factorAbs(valueB, valueA) { - if (valueB === 0 || valueA === 0) return 0; - if (mathAbs(valueB) <= mathAbs(valueA)) return 0; - const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA)); - return mathAbs(diff / valueB); -} -function roundToTwoDecimals(num) { - return Math.round(num * 100) / 100; -} -function arrayKeys(array) { - return objectKeys(array).map(Number); -} -function arrayLast(array) { - return array[arrayLastIndex(array)]; -} -function arrayLastIndex(array) { - return Math.max(0, array.length - 1); -} -function arrayIsLastIndex(array, index) { - return index === arrayLastIndex(array); -} -function arrayFromNumber(n, startAt = 0) { - return Array.from(Array(n), (_, i) => startAt + i); -} -function objectKeys(object) { - return Object.keys(object); -} -function objectsMergeDeep(objectA, objectB) { - return [objectA, objectB].reduce((mergedObjects, currentObject) => { - objectKeys(currentObject).forEach(key => { - const valueA = mergedObjects[key]; - const valueB = currentObject[key]; - const areObjects = isObject(valueA) && isObject(valueB); - mergedObjects[key] = areObjects ? objectsMergeDeep(valueA, valueB) : valueB; - }); - return mergedObjects; - }, {}); -} -function isMouseEvent(evt, ownerWindow) { - return typeof ownerWindow.MouseEvent !== 'undefined' && evt instanceof ownerWindow.MouseEvent; -} - -function Alignment(align, viewSize) { - const predefined = { - start, - center, - end - }; - function start() { - return 0; - } - function center(n) { - return end(n) / 2; - } - function end(n) { - return viewSize - n; - } - function measure(n, index) { - if (isString(align)) return predefined[align](n); - return align(viewSize, n, index); - } - const self = { - measure - }; - return self; -} - -function EventStore() { - let listeners = []; - function add(node, type, handler, options = { - passive: true - }) { - let removeListener; - if ('addEventListener' in node) { - node.addEventListener(type, handler, options); - removeListener = () => node.removeEventListener(type, handler, options); - } else { - const legacyMediaQueryList = node; - legacyMediaQueryList.addListener(handler); - removeListener = () => legacyMediaQueryList.removeListener(handler); - } - listeners.push(removeListener); - return self; - } - function clear() { - listeners = listeners.filter(remove => remove()); - } - const self = { - add, - clear - }; - return self; -} - -function Animations(ownerDocument, ownerWindow, update, render) { - const documentVisibleHandler = EventStore(); - const fixedTimeStep = 1000 / 60; - let lastTimeStamp = null; - let accumulatedTime = 0; - let animationId = 0; - function init() { - documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => { - if (ownerDocument.hidden) reset(); - }); - } - function destroy() { - stop(); - documentVisibleHandler.clear(); - } - function animate(timeStamp) { - if (!animationId) return; - if (!lastTimeStamp) { - lastTimeStamp = timeStamp; - update(); - update(); - } - const timeElapsed = timeStamp - lastTimeStamp; - lastTimeStamp = timeStamp; - accumulatedTime += timeElapsed; - while (accumulatedTime >= fixedTimeStep) { - update(); - accumulatedTime -= fixedTimeStep; - } - const alpha = accumulatedTime / fixedTimeStep; - render(alpha); - if (animationId) { - animationId = ownerWindow.requestAnimationFrame(animate); - } - } - function start() { - if (animationId) return; - animationId = ownerWindow.requestAnimationFrame(animate); - } - function stop() { - ownerWindow.cancelAnimationFrame(animationId); - lastTimeStamp = null; - accumulatedTime = 0; - animationId = 0; - } - function reset() { - lastTimeStamp = null; - accumulatedTime = 0; - } - const self = { - init, - destroy, - start, - stop, - update, - render - }; - return self; -} - -function Axis(axis, contentDirection) { - const isRightToLeft = contentDirection === 'rtl'; - const isVertical = axis === 'y'; - const scroll = isVertical ? 'y' : 'x'; - const cross = isVertical ? 'x' : 'y'; - const sign = !isVertical && isRightToLeft ? -1 : 1; - const startEdge = getStartEdge(); - const endEdge = getEndEdge(); - function measureSize(nodeRect) { - const { - height, - width - } = nodeRect; - return isVertical ? height : width; - } - function getStartEdge() { - if (isVertical) return 'top'; - return isRightToLeft ? 'right' : 'left'; - } - function getEndEdge() { - if (isVertical) return 'bottom'; - return isRightToLeft ? 'left' : 'right'; - } - function direction(n) { - return n * sign; - } - const self = { - scroll, - cross, - startEdge, - endEdge, - measureSize, - direction - }; - return self; -} - -function Limit(min = 0, max = 0) { - const length = mathAbs(min - max); - function reachedMin(n) { - return n < min; - } - function reachedMax(n) { - return n > max; - } - function reachedAny(n) { - return reachedMin(n) || reachedMax(n); - } - function constrain(n) { - if (!reachedAny(n)) return n; - return reachedMin(n) ? min : max; - } - function removeOffset(n) { - if (!length) return n; - return n - length * Math.ceil((n - max) / length); - } - const self = { - length, - max, - min, - constrain, - reachedAny, - reachedMax, - reachedMin, - removeOffset - }; - return self; -} - -function Counter(max, start, loop) { - const { - constrain - } = Limit(0, max); - const loopEnd = max + 1; - let counter = withinLimit(start); - function withinLimit(n) { - return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd); - } - function get() { - return counter; - } - function set(n) { - counter = withinLimit(n); - return self; - } - function add(n) { - return clone().set(get() + n); - } - function clone() { - return Counter(max, get(), loop); - } - const self = { - get, - set, - add, - clone - }; - return self; -} - -function DragHandler(axis, rootNode, ownerDocument, ownerWindow, target, dragTracker, location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, baseFriction, watchDrag) { - const { - cross: crossAxis, - direction - } = axis; - const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA']; - const nonPassiveEvent = { - passive: false - }; - const initEvents = EventStore(); - const dragEvents = EventStore(); - const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20)); - const snapForceBoost = { - mouse: 300, - touch: 400 - }; - const freeForceBoost = { - mouse: 500, - touch: 600 - }; - const baseSpeed = dragFree ? 43 : 25; - let isMoving = false; - let startScroll = 0; - let startCross = 0; - let pointerIsDown = false; - let preventScroll = false; - let preventClick = false; - let isMouse = false; - function init(emblaApi) { - if (!watchDrag) return; - function downIfAllowed(evt) { - if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt); - } - const node = rootNode; - initEvents.add(node, 'dragstart', evt => evt.preventDefault(), nonPassiveEvent).add(node, 'touchmove', () => undefined, nonPassiveEvent).add(node, 'touchend', () => undefined).add(node, 'touchstart', downIfAllowed).add(node, 'mousedown', downIfAllowed).add(node, 'touchcancel', up).add(node, 'contextmenu', up).add(node, 'click', click, true); - } - function destroy() { - initEvents.clear(); - dragEvents.clear(); - } - function addDragEvents() { - const node = isMouse ? ownerDocument : rootNode; - dragEvents.add(node, 'touchmove', move, nonPassiveEvent).add(node, 'touchend', up).add(node, 'mousemove', move, nonPassiveEvent).add(node, 'mouseup', up); - } - function isFocusNode(node) { - const nodeName = node.nodeName || ''; - return focusNodes.includes(nodeName); - } - function forceBoost() { - const boost = dragFree ? freeForceBoost : snapForceBoost; - const type = isMouse ? 'mouse' : 'touch'; - return boost[type]; - } - function allowedForce(force, targetChanged) { - const next = index.add(mathSign(force) * -1); - const baseForce = scrollTarget.byDistance(force, !dragFree).distance; - if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce; - if (skipSnaps && targetChanged) return baseForce * 0.5; - return scrollTarget.byIndex(next.get(), 0).distance; - } - function down(evt) { - const isMouseEvt = isMouseEvent(evt, ownerWindow); - isMouse = isMouseEvt; - preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving; - isMoving = deltaAbs(target.get(), location.get()) >= 2; - if (isMouseEvt && evt.button !== 0) return; - if (isFocusNode(evt.target)) return; - pointerIsDown = true; - dragTracker.pointerDown(evt); - scrollBody.useFriction(0).useDuration(0); - target.set(location); - addDragEvents(); - startScroll = dragTracker.readPoint(evt); - startCross = dragTracker.readPoint(evt, crossAxis); - eventHandler.emit('pointerDown'); - } - function move(evt) { - const isTouchEvt = !isMouseEvent(evt, ownerWindow); - if (isTouchEvt && evt.touches.length >= 2) return up(evt); - const lastScroll = dragTracker.readPoint(evt); - const lastCross = dragTracker.readPoint(evt, crossAxis); - const diffScroll = deltaAbs(lastScroll, startScroll); - const diffCross = deltaAbs(lastCross, startCross); - if (!preventScroll && !isMouse) { - if (!evt.cancelable) return up(evt); - preventScroll = diffScroll > diffCross; - if (!preventScroll) return up(evt); - } - const diff = dragTracker.pointerMove(evt); - if (diffScroll > dragThreshold) preventClick = true; - scrollBody.useFriction(0.3).useDuration(0.75); - animation.start(); - target.add(direction(diff)); - evt.preventDefault(); - } - function up(evt) { - const currentLocation = scrollTarget.byDistance(0, false); - const targetChanged = currentLocation.index !== index.get(); - const rawForce = dragTracker.pointerUp(evt) * forceBoost(); - const force = allowedForce(direction(rawForce), targetChanged); - const forceFactor = factorAbs(rawForce, force); - const speed = baseSpeed - 10 * forceFactor; - const friction = baseFriction + forceFactor / 50; - preventScroll = false; - pointerIsDown = false; - dragEvents.clear(); - scrollBody.useDuration(speed).useFriction(friction); - scrollTo.distance(force, !dragFree); - isMouse = false; - eventHandler.emit('pointerUp'); - } - function click(evt) { - if (preventClick) { - evt.stopPropagation(); - evt.preventDefault(); - preventClick = false; - } - } - function pointerDown() { - return pointerIsDown; - } - const self = { - init, - destroy, - pointerDown - }; - return self; -} - -function DragTracker(axis, ownerWindow) { - const logInterval = 170; - let startEvent; - let lastEvent; - function readTime(evt) { - return evt.timeStamp; - } - function readPoint(evt, evtAxis) { - const property = evtAxis || axis.scroll; - const coord = `client${property === 'x' ? 'X' : 'Y'}`; - return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord]; - } - function pointerDown(evt) { - startEvent = evt; - lastEvent = evt; - return readPoint(evt); - } - function pointerMove(evt) { - const diff = readPoint(evt) - readPoint(lastEvent); - const expired = readTime(evt) - readTime(startEvent) > logInterval; - lastEvent = evt; - if (expired) startEvent = evt; - return diff; - } - function pointerUp(evt) { - if (!startEvent || !lastEvent) return 0; - const diffDrag = readPoint(lastEvent) - readPoint(startEvent); - const diffTime = readTime(evt) - readTime(startEvent); - const expired = readTime(evt) - readTime(lastEvent) > logInterval; - const force = diffDrag / diffTime; - const isFlick = diffTime && !expired && mathAbs(force) > 0.1; - return isFlick ? force : 0; - } - const self = { - pointerDown, - pointerMove, - pointerUp, - readPoint - }; - return self; -} - -function NodeRects() { - function measure(node) { - const { - offsetTop, - offsetLeft, - offsetWidth, - offsetHeight - } = node; - const offset = { - top: offsetTop, - right: offsetLeft + offsetWidth, - bottom: offsetTop + offsetHeight, - left: offsetLeft, - width: offsetWidth, - height: offsetHeight - }; - return offset; - } - const self = { - measure - }; - return self; -} - -function PercentOfView(viewSize) { - function measure(n) { - return viewSize * (n / 100); - } - const self = { - measure - }; - return self; -} - -function ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects) { - const observeNodes = [container].concat(slides); - let resizeObserver; - let containerSize; - let slideSizes = []; - let destroyed = false; - function readSize(node) { - return axis.measureSize(nodeRects.measure(node)); - } - function init(emblaApi) { - if (!watchResize) return; - containerSize = readSize(container); - slideSizes = slides.map(readSize); - function defaultCallback(entries) { - for (const entry of entries) { - if (destroyed) return; - const isContainer = entry.target === container; - const slideIndex = slides.indexOf(entry.target); - const lastSize = isContainer ? containerSize : slideSizes[slideIndex]; - const newSize = readSize(isContainer ? container : slides[slideIndex]); - const diffSize = mathAbs(newSize - lastSize); - if (diffSize >= 0.5) { - emblaApi.reInit(); - eventHandler.emit('resize'); - break; - } - } - } - resizeObserver = new ResizeObserver(entries => { - if (isBoolean(watchResize) || watchResize(emblaApi, entries)) { - defaultCallback(entries); - } - }); - ownerWindow.requestAnimationFrame(() => { - observeNodes.forEach(node => resizeObserver.observe(node)); - }); - } - function destroy() { - destroyed = true; - if (resizeObserver) resizeObserver.disconnect(); - } - const self = { - init, - destroy - }; - return self; -} - -function ScrollBody(location, offsetLocation, previousLocation, target, baseDuration, baseFriction) { - let scrollVelocity = 0; - let scrollDirection = 0; - let scrollDuration = baseDuration; - let scrollFriction = baseFriction; - let rawLocation = location.get(); - let rawLocationPrevious = 0; - function seek() { - const displacement = target.get() - location.get(); - const isInstant = !scrollDuration; - let scrollDistance = 0; - if (isInstant) { - scrollVelocity = 0; - previousLocation.set(target); - location.set(target); - scrollDistance = displacement; - } else { - previousLocation.set(location); - scrollVelocity += displacement / scrollDuration; - scrollVelocity *= scrollFriction; - rawLocation += scrollVelocity; - location.add(scrollVelocity); - scrollDistance = rawLocation - rawLocationPrevious; - } - scrollDirection = mathSign(scrollDistance); - rawLocationPrevious = rawLocation; - return self; - } - function settled() { - const diff = target.get() - offsetLocation.get(); - return mathAbs(diff) < 0.001; - } - function duration() { - return scrollDuration; - } - function direction() { - return scrollDirection; - } - function velocity() { - return scrollVelocity; - } - function useBaseDuration() { - return useDuration(baseDuration); - } - function useBaseFriction() { - return useFriction(baseFriction); - } - function useDuration(n) { - scrollDuration = n; - return self; - } - function useFriction(n) { - scrollFriction = n; - return self; - } - const self = { - direction, - duration, - velocity, - seek, - settled, - useBaseFriction, - useBaseDuration, - useFriction, - useDuration - }; - return self; -} - -function ScrollBounds(limit, location, target, scrollBody, percentOfView) { - const pullBackThreshold = percentOfView.measure(10); - const edgeOffsetTolerance = percentOfView.measure(50); - const frictionLimit = Limit(0.1, 0.99); - let disabled = false; - function shouldConstrain() { - if (disabled) return false; - if (!limit.reachedAny(target.get())) return false; - if (!limit.reachedAny(location.get())) return false; - return true; - } - function constrain(pointerDown) { - if (!shouldConstrain()) return; - const edge = limit.reachedMin(location.get()) ? 'min' : 'max'; - const diffToEdge = mathAbs(limit[edge] - location.get()); - const diffToTarget = target.get() - location.get(); - const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance); - target.subtract(diffToTarget * friction); - if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) { - target.set(limit.constrain(target.get())); - scrollBody.useDuration(25).useBaseFriction(); - } - } - function toggleActive(active) { - disabled = !active; - } - const self = { - shouldConstrain, - constrain, - toggleActive - }; - return self; -} - -function ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance) { - const scrollBounds = Limit(-contentSize + viewSize, 0); - const snapsBounded = measureBounded(); - const scrollContainLimit = findScrollContainLimit(); - const snapsContained = measureContained(); - function usePixelTolerance(bound, snap) { - return deltaAbs(bound, snap) <= 1; - } - function findScrollContainLimit() { - const startSnap = snapsBounded[0]; - const endSnap = arrayLast(snapsBounded); - const min = snapsBounded.lastIndexOf(startSnap); - const max = snapsBounded.indexOf(endSnap) + 1; - return Limit(min, max); - } - function measureBounded() { - return snapsAligned.map((snapAligned, index) => { - const { - min, - max - } = scrollBounds; - const snap = scrollBounds.constrain(snapAligned); - const isFirst = !index; - const isLast = arrayIsLastIndex(snapsAligned, index); - if (isFirst) return max; - if (isLast) return min; - if (usePixelTolerance(min, snap)) return min; - if (usePixelTolerance(max, snap)) return max; - return snap; - }).map(scrollBound => parseFloat(scrollBound.toFixed(3))); - } - function measureContained() { - if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max]; - if (containScroll === 'keepSnaps') return snapsBounded; - const { - min, - max - } = scrollContainLimit; - return snapsBounded.slice(min, max); - } - const self = { - snapsContained, - scrollContainLimit - }; - return self; -} - -function ScrollLimit(contentSize, scrollSnaps, loop) { - const max = scrollSnaps[0]; - const min = loop ? max - contentSize : arrayLast(scrollSnaps); - const limit = Limit(min, max); - const self = { - limit - }; - return self; -} - -function ScrollLooper(contentSize, limit, location, vectors) { - const jointSafety = 0.1; - const min = limit.min + jointSafety; - const max = limit.max + jointSafety; - const { - reachedMin, - reachedMax - } = Limit(min, max); - function shouldLoop(direction) { - if (direction === 1) return reachedMax(location.get()); - if (direction === -1) return reachedMin(location.get()); - return false; - } - function loop(direction) { - if (!shouldLoop(direction)) return; - const loopDistance = contentSize * (direction * -1); - vectors.forEach(v => v.add(loopDistance)); - } - const self = { - loop - }; - return self; -} - -function ScrollProgress(limit) { - const { - max, - length - } = limit; - function get(n) { - const currentLocation = n - max; - return length ? currentLocation / -length : 0; - } - const self = { - get - }; - return self; -} - -function ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll) { - const { - startEdge, - endEdge - } = axis; - const { - groupSlides - } = slidesToScroll; - const alignments = measureSizes().map(alignment.measure); - const snaps = measureUnaligned(); - const snapsAligned = measureAligned(); - function measureSizes() { - return groupSlides(slideRects).map(rects => arrayLast(rects)[endEdge] - rects[0][startEdge]).map(mathAbs); - } - function measureUnaligned() { - return slideRects.map(rect => containerRect[startEdge] - rect[startEdge]).map(snap => -mathAbs(snap)); - } - function measureAligned() { - return groupSlides(snaps).map(g => g[0]).map((snap, index) => snap + alignments[index]); - } - const self = { - snaps, - snapsAligned - }; - return self; -} - -function SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes) { - const { - groupSlides - } = slidesToScroll; - const { - min, - max - } = scrollContainLimit; - const slideRegistry = createSlideRegistry(); - function createSlideRegistry() { - const groupedSlideIndexes = groupSlides(slideIndexes); - const doNotContain = !containSnaps || containScroll === 'keepSnaps'; - if (scrollSnaps.length === 1) return [slideIndexes]; - if (doNotContain) return groupedSlideIndexes; - return groupedSlideIndexes.slice(min, max).map((group, index, groups) => { - const isFirst = !index; - const isLast = arrayIsLastIndex(groups, index); - if (isFirst) { - const range = arrayLast(groups[0]) + 1; - return arrayFromNumber(range); - } - if (isLast) { - const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1; - return arrayFromNumber(range, arrayLast(groups)[0]); - } - return group; - }); - } - const self = { - slideRegistry - }; - return self; -} - -function ScrollTarget(loop, scrollSnaps, contentSize, limit, targetVector) { - const { - reachedAny, - removeOffset, - constrain - } = limit; - function minDistance(distances) { - return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0]; - } - function findTargetSnap(target) { - const distance = loop ? removeOffset(target) : constrain(target); - const ascDiffsToSnaps = scrollSnaps.map((snap, index) => ({ - diff: shortcut(snap - distance, 0), - index - })).sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff)); - const { - index - } = ascDiffsToSnaps[0]; - return { - index, - distance - }; - } - function shortcut(target, direction) { - const targets = [target, target + contentSize, target - contentSize]; - if (!loop) return target; - if (!direction) return minDistance(targets); - const matchingTargets = targets.filter(t => mathSign(t) === direction); - if (matchingTargets.length) return minDistance(matchingTargets); - return arrayLast(targets) - contentSize; - } - function byIndex(index, direction) { - const diffToSnap = scrollSnaps[index] - targetVector.get(); - const distance = shortcut(diffToSnap, direction); - return { - index, - distance - }; - } - function byDistance(distance, snap) { - const target = targetVector.get() + distance; - const { - index, - distance: targetSnapDistance - } = findTargetSnap(target); - const reachedBound = !loop && reachedAny(target); - if (!snap || reachedBound) return { - index, - distance - }; - const diffToSnap = scrollSnaps[index] - targetSnapDistance; - const snapDistance = distance + shortcut(diffToSnap, 0); - return { - index, - distance: snapDistance - }; - } - const self = { - byDistance, - byIndex, - shortcut - }; - return self; -} - -function ScrollTo(animation, indexCurrent, indexPrevious, scrollBody, scrollTarget, targetVector, eventHandler) { - function scrollTo(target) { - const distanceDiff = target.distance; - const indexDiff = target.index !== indexCurrent.get(); - targetVector.add(distanceDiff); - if (distanceDiff) { - if (scrollBody.duration()) { - animation.start(); - } else { - animation.update(); - animation.render(1); - animation.update(); - } - } - if (indexDiff) { - indexPrevious.set(indexCurrent.get()); - indexCurrent.set(target.index); - eventHandler.emit('select'); - } - } - function distance(n, snap) { - const target = scrollTarget.byDistance(n, snap); - scrollTo(target); - } - function index(n, direction) { - const targetIndex = indexCurrent.clone().set(n); - const target = scrollTarget.byIndex(targetIndex.get(), direction); - scrollTo(target); - } - const self = { - distance, - index - }; - return self; -} - -function SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus) { - const focusListenerOptions = { - passive: true, - capture: true - }; - let lastTabPressTime = 0; - function init(emblaApi) { - if (!watchFocus) return; - function defaultCallback(index) { - const nowTime = new Date().getTime(); - const diffTime = nowTime - lastTabPressTime; - if (diffTime > 10) return; - eventHandler.emit('slideFocusStart'); - root.scrollLeft = 0; - const group = slideRegistry.findIndex(group => group.includes(index)); - if (!isNumber(group)) return; - scrollBody.useDuration(0); - scrollTo.index(group, 0); - eventHandler.emit('slideFocus'); - } - eventStore.add(document, 'keydown', registerTabPress, false); - slides.forEach((slide, slideIndex) => { - eventStore.add(slide, 'focus', evt => { - if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) { - defaultCallback(slideIndex); - } - }, focusListenerOptions); - }); - } - function registerTabPress(event) { - if (event.code === 'Tab') lastTabPressTime = new Date().getTime(); - } - const self = { - init - }; - return self; -} - -function Vector1D(initialValue) { - let value = initialValue; - function get() { - return value; - } - function set(n) { - value = normalizeInput(n); - } - function add(n) { - value += normalizeInput(n); - } - function subtract(n) { - value -= normalizeInput(n); - } - function normalizeInput(n) { - return isNumber(n) ? n : n.get(); - } - const self = { - get, - set, - add, - subtract - }; - return self; -} - -function Translate(axis, container) { - const translate = axis.scroll === 'x' ? x : y; - const containerStyle = container.style; - let previousTarget = null; - let disabled = false; - function x(n) { - return `translate3d(${n}px,0px,0px)`; - } - function y(n) { - return `translate3d(0px,${n}px,0px)`; - } - function to(target) { - if (disabled) return; - const newTarget = roundToTwoDecimals(axis.direction(target)); - if (newTarget === previousTarget) return; - containerStyle.transform = translate(newTarget); - previousTarget = newTarget; - } - function toggleActive(active) { - disabled = !active; - } - function clear() { - if (disabled) return; - containerStyle.transform = ''; - if (!container.getAttribute('style')) container.removeAttribute('style'); - } - const self = { - clear, - to, - toggleActive - }; - return self; -} - -function SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, location, slides) { - const roundingSafety = 0.5; - const ascItems = arrayKeys(slideSizesWithGaps); - const descItems = arrayKeys(slideSizesWithGaps).reverse(); - const loopPoints = startPoints().concat(endPoints()); - function removeSlideSizes(indexes, from) { - return indexes.reduce((a, i) => { - return a - slideSizesWithGaps[i]; - }, from); - } - function slidesInGap(indexes, gap) { - return indexes.reduce((a, i) => { - const remainingGap = removeSlideSizes(a, gap); - return remainingGap > 0 ? a.concat([i]) : a; - }, []); - } - function findSlideBounds(offset) { - return snaps.map((snap, index) => ({ - start: snap - slideSizes[index] + roundingSafety + offset, - end: snap + viewSize - roundingSafety + offset - })); - } - function findLoopPoints(indexes, offset, isEndEdge) { - const slideBounds = findSlideBounds(offset); - return indexes.map(index => { - const initial = isEndEdge ? 0 : -contentSize; - const altered = isEndEdge ? contentSize : 0; - const boundEdge = isEndEdge ? 'end' : 'start'; - const loopPoint = slideBounds[index][boundEdge]; - return { - index, - loopPoint, - slideLocation: Vector1D(-1), - translate: Translate(axis, slides[index]), - target: () => location.get() > loopPoint ? initial : altered - }; - }); - } - function startPoints() { - const gap = scrollSnaps[0]; - const indexes = slidesInGap(descItems, gap); - return findLoopPoints(indexes, contentSize, false); - } - function endPoints() { - const gap = viewSize - scrollSnaps[0] - 1; - const indexes = slidesInGap(ascItems, gap); - return findLoopPoints(indexes, -contentSize, true); - } - function canLoop() { - return loopPoints.every(({ - index - }) => { - const otherIndexes = ascItems.filter(i => i !== index); - return removeSlideSizes(otherIndexes, viewSize) <= 0.1; - }); - } - function loop() { - loopPoints.forEach(loopPoint => { - const { - target, - translate, - slideLocation - } = loopPoint; - const shiftLocation = target(); - if (shiftLocation === slideLocation.get()) return; - translate.to(shiftLocation); - slideLocation.set(shiftLocation); - }); - } - function clear() { - loopPoints.forEach(loopPoint => loopPoint.translate.clear()); - } - const self = { - canLoop, - clear, - loop, - loopPoints - }; - return self; -} - -function SlidesHandler(container, eventHandler, watchSlides) { - let mutationObserver; - let destroyed = false; - function init(emblaApi) { - if (!watchSlides) return; - function defaultCallback(mutations) { - for (const mutation of mutations) { - if (mutation.type === 'childList') { - emblaApi.reInit(); - eventHandler.emit('slidesChanged'); - break; - } - } - } - mutationObserver = new MutationObserver(mutations => { - if (destroyed) return; - if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) { - defaultCallback(mutations); - } - }); - mutationObserver.observe(container, { - childList: true - }); - } - function destroy() { - if (mutationObserver) mutationObserver.disconnect(); - destroyed = true; - } - const self = { - init, - destroy - }; - return self; -} - -function SlidesInView(container, slides, eventHandler, threshold) { - const intersectionEntryMap = {}; - let inViewCache = null; - let notInViewCache = null; - let intersectionObserver; - let destroyed = false; - function init() { - intersectionObserver = new IntersectionObserver(entries => { - if (destroyed) return; - entries.forEach(entry => { - const index = slides.indexOf(entry.target); - intersectionEntryMap[index] = entry; - }); - inViewCache = null; - notInViewCache = null; - eventHandler.emit('slidesInView'); - }, { - root: container.parentElement, - threshold - }); - slides.forEach(slide => intersectionObserver.observe(slide)); - } - function destroy() { - if (intersectionObserver) intersectionObserver.disconnect(); - destroyed = true; - } - function createInViewList(inView) { - return objectKeys(intersectionEntryMap).reduce((list, slideIndex) => { - const index = parseInt(slideIndex); - const { - isIntersecting - } = intersectionEntryMap[index]; - const inViewMatch = inView && isIntersecting; - const notInViewMatch = !inView && !isIntersecting; - if (inViewMatch || notInViewMatch) list.push(index); - return list; - }, []); - } - function get(inView = true) { - if (inView && inViewCache) return inViewCache; - if (!inView && notInViewCache) return notInViewCache; - const slideIndexes = createInViewList(inView); - if (inView) inViewCache = slideIndexes; - if (!inView) notInViewCache = slideIndexes; - return slideIndexes; - } - const self = { - init, - destroy, - get - }; - return self; -} - -function SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow) { - const { - measureSize, - startEdge, - endEdge - } = axis; - const withEdgeGap = slideRects[0] && readEdgeGap; - const startGap = measureStartGap(); - const endGap = measureEndGap(); - const slideSizes = slideRects.map(measureSize); - const slideSizesWithGaps = measureWithGaps(); - function measureStartGap() { - if (!withEdgeGap) return 0; - const slideRect = slideRects[0]; - return mathAbs(containerRect[startEdge] - slideRect[startEdge]); - } - function measureEndGap() { - if (!withEdgeGap) return 0; - const style = ownerWindow.getComputedStyle(arrayLast(slides)); - return parseFloat(style.getPropertyValue(`margin-${endEdge}`)); - } - function measureWithGaps() { - return slideRects.map((rect, index, rects) => { - const isFirst = !index; - const isLast = arrayIsLastIndex(rects, index); - if (isFirst) return slideSizes[index] + startGap; - if (isLast) return slideSizes[index] + endGap; - return rects[index + 1][startEdge] - rect[startEdge]; - }).map(mathAbs); - } - const self = { - slideSizes, - slideSizesWithGaps, - startGap, - endGap - }; - return self; -} - -function SlidesToScroll(axis, viewSize, slidesToScroll, loop, containerRect, slideRects, startGap, endGap, pixelTolerance) { - const { - startEdge, - endEdge, - direction - } = axis; - const groupByNumber = isNumber(slidesToScroll); - function byNumber(array, groupSize) { - return arrayKeys(array).filter(i => i % groupSize === 0).map(i => array.slice(i, i + groupSize)); - } - function bySize(array) { - if (!array.length) return []; - return arrayKeys(array).reduce((groups, rectB, index) => { - const rectA = arrayLast(groups) || 0; - const isFirst = rectA === 0; - const isLast = rectB === arrayLastIndex(array); - const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge]; - const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge]; - const gapA = !loop && isFirst ? direction(startGap) : 0; - const gapB = !loop && isLast ? direction(endGap) : 0; - const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA)); - if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB); - if (isLast) groups.push(array.length); - return groups; - }, []).map((currentSize, index, groups) => { - const previousSize = Math.max(groups[index - 1] || 0); - return array.slice(previousSize, currentSize); - }); - } - function groupSlides(array) { - return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array); - } - const self = { - groupSlides - }; - return self; -} - -function Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler) { - // Options - const { - align, - axis: scrollAxis, - direction, - startIndex, - loop, - duration, - dragFree, - dragThreshold, - inViewThreshold, - slidesToScroll: groupSlides, - skipSnaps, - containScroll, - watchResize, - watchSlides, - watchDrag, - watchFocus - } = options; - // Measurements - const pixelTolerance = 2; - const nodeRects = NodeRects(); - const containerRect = nodeRects.measure(container); - const slideRects = slides.map(nodeRects.measure); - const axis = Axis(scrollAxis, direction); - const viewSize = axis.measureSize(containerRect); - const percentOfView = PercentOfView(viewSize); - const alignment = Alignment(align, viewSize); - const containSnaps = !loop && !!containScroll; - const readEdgeGap = loop || !!containScroll; - const { - slideSizes, - slideSizesWithGaps, - startGap, - endGap - } = SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow); - const slidesToScroll = SlidesToScroll(axis, viewSize, groupSlides, loop, containerRect, slideRects, startGap, endGap, pixelTolerance); - const { - snaps, - snapsAligned - } = ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll); - const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps); - const { - snapsContained, - scrollContainLimit - } = ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance); - const scrollSnaps = containSnaps ? snapsContained : snapsAligned; - const { - limit - } = ScrollLimit(contentSize, scrollSnaps, loop); - // Indexes - const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop); - const indexPrevious = index.clone(); - const slideIndexes = arrayKeys(slides); - // Animation - const update = ({ - dragHandler, - scrollBody, - scrollBounds, - options: { - loop - } - }) => { - if (!loop) scrollBounds.constrain(dragHandler.pointerDown()); - scrollBody.seek(); - }; - const render = ({ - scrollBody, - translate, - location, - offsetLocation, - previousLocation, - scrollLooper, - slideLooper, - dragHandler, - animation, - eventHandler, - scrollBounds, - options: { - loop - } - }, alpha) => { - const shouldSettle = scrollBody.settled(); - const withinBounds = !scrollBounds.shouldConstrain(); - const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds; - const hasSettledAndIdle = hasSettled && !dragHandler.pointerDown(); - if (hasSettledAndIdle) animation.stop(); - const interpolatedLocation = location.get() * alpha + previousLocation.get() * (1 - alpha); - offsetLocation.set(interpolatedLocation); - if (loop) { - scrollLooper.loop(scrollBody.direction()); - slideLooper.loop(); - } - translate.to(offsetLocation.get()); - if (hasSettledAndIdle) eventHandler.emit('settle'); - if (!hasSettled) eventHandler.emit('scroll'); - }; - const animation = Animations(ownerDocument, ownerWindow, () => update(engine), alpha => render(engine, alpha)); - // Shared - const friction = 0.68; - const startLocation = scrollSnaps[index.get()]; - const location = Vector1D(startLocation); - const previousLocation = Vector1D(startLocation); - const offsetLocation = Vector1D(startLocation); - const target = Vector1D(startLocation); - const scrollBody = ScrollBody(location, offsetLocation, previousLocation, target, duration, friction); - const scrollTarget = ScrollTarget(loop, scrollSnaps, contentSize, limit, target); - const scrollTo = ScrollTo(animation, index, indexPrevious, scrollBody, scrollTarget, target, eventHandler); - const scrollProgress = ScrollProgress(limit); - const eventStore = EventStore(); - const slidesInView = SlidesInView(container, slides, eventHandler, inViewThreshold); - const { - slideRegistry - } = SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes); - const slideFocus = SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus); - // Engine - const engine = { - ownerDocument, - ownerWindow, - eventHandler, - containerRect, - slideRects, - animation, - axis, - dragHandler: DragHandler(axis, root, ownerDocument, ownerWindow, target, DragTracker(axis, ownerWindow), location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, friction, watchDrag), - eventStore, - percentOfView, - index, - indexPrevious, - limit, - location, - offsetLocation, - previousLocation, - options, - resizeHandler: ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects), - scrollBody, - scrollBounds: ScrollBounds(limit, offsetLocation, target, scrollBody, percentOfView), - scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [location, offsetLocation, previousLocation, target]), - scrollProgress, - scrollSnapList: scrollSnaps.map(scrollProgress.get), - scrollSnaps, - scrollTarget, - scrollTo, - slideLooper: SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, offsetLocation, slides), - slideFocus, - slidesHandler: SlidesHandler(container, eventHandler, watchSlides), - slidesInView, - slideIndexes, - slideRegistry, - slidesToScroll, - target, - translate: Translate(axis, container) - }; - return engine; -} - -function EventHandler() { - let listeners = {}; - let api; - function init(emblaApi) { - api = emblaApi; - } - function getListeners(evt) { - return listeners[evt] || []; - } - function emit(evt) { - getListeners(evt).forEach(e => e(api, evt)); - return self; - } - function on(evt, cb) { - listeners[evt] = getListeners(evt).concat([cb]); - return self; - } - function off(evt, cb) { - listeners[evt] = getListeners(evt).filter(e => e !== cb); - return self; - } - function clear() { - listeners = {}; - } - const self = { - init, - emit, - off, - on, - clear - }; - return self; -} - -const defaultOptions = { - align: 'center', - axis: 'x', - container: null, - slides: null, - containScroll: 'trimSnaps', - direction: 'ltr', - slidesToScroll: 1, - inViewThreshold: 0, - breakpoints: {}, - dragFree: false, - dragThreshold: 10, - loop: false, - skipSnaps: false, - duration: 25, - startIndex: 0, - active: true, - watchDrag: true, - watchResize: true, - watchSlides: true, - watchFocus: true -}; - -function OptionsHandler(ownerWindow) { - function mergeOptions(optionsA, optionsB) { - return objectsMergeDeep(optionsA, optionsB || {}); - } - function optionsAtMedia(options) { - const optionsAtMedia = options.breakpoints || {}; - const matchedMediaOptions = objectKeys(optionsAtMedia).filter(media => ownerWindow.matchMedia(media).matches).map(media => optionsAtMedia[media]).reduce((a, mediaOption) => mergeOptions(a, mediaOption), {}); - return mergeOptions(options, matchedMediaOptions); - } - function optionsMediaQueries(optionsList) { - return optionsList.map(options => objectKeys(options.breakpoints || {})).reduce((acc, mediaQueries) => acc.concat(mediaQueries), []).map(ownerWindow.matchMedia); - } - const self = { - mergeOptions, - optionsAtMedia, - optionsMediaQueries - }; - return self; -} - -function PluginsHandler(optionsHandler) { - let activePlugins = []; - function init(emblaApi, plugins) { - activePlugins = plugins.filter(({ - options - }) => optionsHandler.optionsAtMedia(options).active !== false); - activePlugins.forEach(plugin => plugin.init(emblaApi, optionsHandler)); - return plugins.reduce((map, plugin) => Object.assign(map, { - [plugin.name]: plugin - }), {}); - } - function destroy() { - activePlugins = activePlugins.filter(plugin => plugin.destroy()); - } - const self = { - init, - destroy - }; - return self; -} - -function EmblaCarousel(root, userOptions, userPlugins) { - const ownerDocument = root.ownerDocument; - const ownerWindow = ownerDocument.defaultView; - const optionsHandler = OptionsHandler(ownerWindow); - const pluginsHandler = PluginsHandler(optionsHandler); - const mediaHandlers = EventStore(); - const eventHandler = EventHandler(); - const { - mergeOptions, - optionsAtMedia, - optionsMediaQueries - } = optionsHandler; - const { - on, - off, - emit - } = eventHandler; - const reInit = reActivate; - let destroyed = false; - let engine; - let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions); - let options = mergeOptions(optionsBase); - let pluginList = []; - let pluginApis; - let container; - let slides; - function storeElements() { - const { - container: userContainer, - slides: userSlides - } = options; - const customContainer = isString(userContainer) ? root.querySelector(userContainer) : userContainer; - container = customContainer || root.children[0]; - const customSlides = isString(userSlides) ? container.querySelectorAll(userSlides) : userSlides; - slides = [].slice.call(customSlides || container.children); - } - function createEngine(options) { - const engine = Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler); - if (options.loop && !engine.slideLooper.canLoop()) { - const optionsWithoutLoop = Object.assign({}, options, { - loop: false - }); - return createEngine(optionsWithoutLoop); - } - return engine; - } - function activate(withOptions, withPlugins) { - if (destroyed) return; - optionsBase = mergeOptions(optionsBase, withOptions); - options = optionsAtMedia(optionsBase); - pluginList = withPlugins || pluginList; - storeElements(); - engine = createEngine(options); - optionsMediaQueries([optionsBase, ...pluginList.map(({ - options - }) => options)]).forEach(query => mediaHandlers.add(query, 'change', reActivate)); - if (!options.active) return; - engine.translate.to(engine.location.get()); - engine.animation.init(); - engine.slidesInView.init(); - engine.slideFocus.init(self); - engine.eventHandler.init(self); - engine.resizeHandler.init(self); - engine.slidesHandler.init(self); - if (engine.options.loop) engine.slideLooper.loop(); - if (container.offsetParent && slides.length) engine.dragHandler.init(self); - pluginApis = pluginsHandler.init(self, pluginList); - } - function reActivate(withOptions, withPlugins) { - const startIndex = selectedScrollSnap(); - deActivate(); - activate(mergeOptions({ - startIndex - }, withOptions), withPlugins); - eventHandler.emit('reInit'); - } - function deActivate() { - engine.dragHandler.destroy(); - engine.eventStore.clear(); - engine.translate.clear(); - engine.slideLooper.clear(); - engine.resizeHandler.destroy(); - engine.slidesHandler.destroy(); - engine.slidesInView.destroy(); - engine.animation.destroy(); - pluginsHandler.destroy(); - mediaHandlers.clear(); - } - function destroy() { - if (destroyed) return; - destroyed = true; - mediaHandlers.clear(); - deActivate(); - eventHandler.emit('destroy'); - eventHandler.clear(); - } - function scrollTo(index, jump, direction) { - if (!options.active || destroyed) return; - engine.scrollBody.useBaseFriction().useDuration(jump === true ? 0 : options.duration); - engine.scrollTo.index(index, direction || 0); - } - function scrollNext(jump) { - const next = engine.index.add(1).get(); - scrollTo(next, jump, -1); - } - function scrollPrev(jump) { - const prev = engine.index.add(-1).get(); - scrollTo(prev, jump, 1); - } - function canScrollNext() { - const next = engine.index.add(1).get(); - return next !== selectedScrollSnap(); - } - function canScrollPrev() { - const prev = engine.index.add(-1).get(); - return prev !== selectedScrollSnap(); - } - function scrollSnapList() { - return engine.scrollSnapList; - } - function scrollProgress() { - return engine.scrollProgress.get(engine.offsetLocation.get()); - } - function selectedScrollSnap() { - return engine.index.get(); - } - function previousScrollSnap() { - return engine.indexPrevious.get(); - } - function slidesInView() { - return engine.slidesInView.get(); - } - function slidesNotInView() { - return engine.slidesInView.get(false); - } - function plugins() { - return pluginApis; - } - function internalEngine() { - return engine; - } - function rootNode() { - return root; - } - function containerNode() { - return container; - } - function slideNodes() { - return slides; - } - const self = { - canScrollNext, - canScrollPrev, - containerNode, - internalEngine, - destroy, - off, - on, - emit, - plugins, - previousScrollSnap, - reInit, - rootNode, - scrollNext, - scrollPrev, - scrollProgress, - scrollSnapList, - scrollTo, - selectedScrollSnap, - slideNodes, - slidesInView, - slidesNotInView - }; - activate(userOptions, userPlugins); - setTimeout(() => eventHandler.emit('init'), 0); - return self; -} -EmblaCarousel.globalOptions = undefined; - -module.exports = EmblaCarousel; -//# sourceMappingURL=embla-carousel.cjs.js.map diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js.map b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js.map deleted file mode 100644 index 9e0ec95bce..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"embla-carousel.cjs.js","sources":["../src/components/utils.ts","../src/components/Alignment.ts","../src/components/EventStore.ts","../src/components/Animations.ts","../src/components/Axis.ts","../src/components/Limit.ts","../src/components/Counter.ts","../src/components/DragHandler.ts","../src/components/DragTracker.ts","../src/components/NodeRects.ts","../src/components/PercentOfView.ts","../src/components/ResizeHandler.ts","../src/components/ScrollBody.ts","../src/components/ScrollBounds.ts","../src/components/ScrollContain.ts","../src/components/ScrollLimit.ts","../src/components/ScrollLooper.ts","../src/components/ScrollProgress.ts","../src/components/ScrollSnaps.ts","../src/components/SlideRegistry.ts","../src/components/ScrollTarget.ts","../src/components/ScrollTo.ts","../src/components/SlideFocus.ts","../src/components/Vector1d.ts","../src/components/Translate.ts","../src/components/SlideLooper.ts","../src/components/SlidesHandler.ts","../src/components/SlidesInView.ts","../src/components/SlideSizes.ts","../src/components/SlidesToScroll.ts","../src/components/Engine.ts","../src/components/EventHandler.ts","../src/components/Options.ts","../src/components/OptionsHandler.ts","../src/components/PluginsHandler.ts","../src/components/EmblaCarousel.ts"],"sourcesContent":["import { PointerEventType } from './DragTracker'\n\nexport type WindowType = Window & typeof globalThis\n\nexport function isNumber(subject: unknown): subject is number {\n return typeof subject === 'number'\n}\n\nexport function isString(subject: unknown): subject is string {\n return typeof subject === 'string'\n}\n\nexport function isBoolean(subject: unknown): subject is boolean {\n return typeof subject === 'boolean'\n}\n\nexport function isObject(subject: unknown): subject is Record {\n return Object.prototype.toString.call(subject) === '[object Object]'\n}\n\nexport function mathAbs(n: number): number {\n return Math.abs(n)\n}\n\nexport function mathSign(n: number): number {\n return Math.sign(n)\n}\n\nexport function deltaAbs(valueB: number, valueA: number): number {\n return mathAbs(valueB - valueA)\n}\n\nexport function factorAbs(valueB: number, valueA: number): number {\n if (valueB === 0 || valueA === 0) return 0\n if (mathAbs(valueB) <= mathAbs(valueA)) return 0\n const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA))\n return mathAbs(diff / valueB)\n}\n\nexport function roundToTwoDecimals(num: number): number {\n return Math.round(num * 100) / 100\n}\n\nexport function arrayKeys(array: Type[]): number[] {\n return objectKeys(array).map(Number)\n}\n\nexport function arrayLast(array: Type[]): Type {\n return array[arrayLastIndex(array)]\n}\n\nexport function arrayLastIndex(array: Type[]): number {\n return Math.max(0, array.length - 1)\n}\n\nexport function arrayIsLastIndex(array: Type[], index: number): boolean {\n return index === arrayLastIndex(array)\n}\n\nexport function arrayFromNumber(n: number, startAt: number = 0): number[] {\n return Array.from(Array(n), (_, i) => startAt + i)\n}\n\nexport function objectKeys(object: Type): string[] {\n return Object.keys(object)\n}\n\nexport function objectsMergeDeep(\n objectA: Record,\n objectB: Record\n): Record {\n return [objectA, objectB].reduce((mergedObjects, currentObject) => {\n objectKeys(currentObject).forEach((key) => {\n const valueA = mergedObjects[key]\n const valueB = currentObject[key]\n const areObjects = isObject(valueA) && isObject(valueB)\n\n mergedObjects[key] = areObjects\n ? objectsMergeDeep(valueA, valueB)\n : valueB\n })\n return mergedObjects\n }, {})\n}\n\nexport function isMouseEvent(\n evt: PointerEventType,\n ownerWindow: WindowType\n): evt is MouseEvent {\n return (\n typeof ownerWindow.MouseEvent !== 'undefined' &&\n evt instanceof ownerWindow.MouseEvent\n )\n}\n","import { isString } from './utils'\n\nexport type AlignmentOptionType =\n | 'start'\n | 'center'\n | 'end'\n | ((viewSize: number, snapSize: number, index: number) => number)\n\nexport type AlignmentType = {\n measure: (n: number, index: number) => number\n}\n\nexport function Alignment(\n align: AlignmentOptionType,\n viewSize: number\n): AlignmentType {\n const predefined = { start, center, end }\n\n function start(): number {\n return 0\n }\n\n function center(n: number): number {\n return end(n) / 2\n }\n\n function end(n: number): number {\n return viewSize - n\n }\n\n function measure(n: number, index: number): number {\n if (isString(align)) return predefined[align](n)\n return align(viewSize, n, index)\n }\n\n const self: AlignmentType = {\n measure\n }\n return self\n}\n","type EventNameType = keyof DocumentEventMap | keyof WindowEventMap\ntype EventHandlerType = (evt: any) => void\ntype EventOptionsType = boolean | AddEventListenerOptions | undefined\ntype EventRemoverType = () => void\n\nexport type EventStoreType = {\n add: (\n node: EventTarget,\n type: EventNameType,\n handler: EventHandlerType,\n options?: EventOptionsType\n ) => EventStoreType\n clear: () => void\n}\n\nexport function EventStore(): EventStoreType {\n let listeners: EventRemoverType[] = []\n\n function add(\n node: EventTarget,\n type: EventNameType,\n handler: EventHandlerType,\n options: EventOptionsType = { passive: true }\n ): EventStoreType {\n let removeListener: EventRemoverType\n\n if ('addEventListener' in node) {\n node.addEventListener(type, handler, options)\n removeListener = () => node.removeEventListener(type, handler, options)\n } else {\n const legacyMediaQueryList = node\n legacyMediaQueryList.addListener(handler)\n removeListener = () => legacyMediaQueryList.removeListener(handler)\n }\n\n listeners.push(removeListener)\n return self\n }\n\n function clear(): void {\n listeners = listeners.filter((remove) => remove())\n }\n\n const self: EventStoreType = {\n add,\n clear\n }\n return self\n}\n","import { EngineType } from './Engine'\nimport { EventStore } from './EventStore'\nimport { WindowType } from './utils'\n\nexport type AnimationsUpdateType = (engine: EngineType) => void\nexport type AnimationsRenderType = (engine: EngineType, alpha: number) => void\n\nexport type AnimationsType = {\n init: () => void\n destroy: () => void\n start: () => void\n stop: () => void\n update: () => void\n render: (alpha: number) => void\n}\n\nexport function Animations(\n ownerDocument: Document,\n ownerWindow: WindowType,\n update: () => void,\n render: (alpha: number) => void\n): AnimationsType {\n const documentVisibleHandler = EventStore()\n const fixedTimeStep = 1000 / 60\n\n let lastTimeStamp: number | null = null\n let accumulatedTime = 0\n let animationId = 0\n\n function init(): void {\n documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => {\n if (ownerDocument.hidden) reset()\n })\n }\n\n function destroy(): void {\n stop()\n documentVisibleHandler.clear()\n }\n\n function animate(timeStamp: DOMHighResTimeStamp): void {\n if (!animationId) return\n if (!lastTimeStamp) {\n lastTimeStamp = timeStamp\n update()\n update()\n }\n\n const timeElapsed = timeStamp - lastTimeStamp\n lastTimeStamp = timeStamp\n accumulatedTime += timeElapsed\n\n while (accumulatedTime >= fixedTimeStep) {\n update()\n accumulatedTime -= fixedTimeStep\n }\n\n const alpha = accumulatedTime / fixedTimeStep\n render(alpha)\n\n if (animationId) {\n animationId = ownerWindow.requestAnimationFrame(animate)\n }\n }\n\n function start(): void {\n if (animationId) return\n animationId = ownerWindow.requestAnimationFrame(animate)\n }\n\n function stop(): void {\n ownerWindow.cancelAnimationFrame(animationId)\n lastTimeStamp = null\n accumulatedTime = 0\n animationId = 0\n }\n\n function reset(): void {\n lastTimeStamp = null\n accumulatedTime = 0\n }\n\n const self: AnimationsType = {\n init,\n destroy,\n start,\n stop,\n update,\n render\n }\n return self\n}\n","import { NodeRectType } from './NodeRects'\n\nexport type AxisOptionType = 'x' | 'y'\nexport type AxisDirectionOptionType = 'ltr' | 'rtl'\ntype AxisEdgeType = 'top' | 'right' | 'bottom' | 'left'\n\nexport type AxisType = {\n scroll: AxisOptionType\n cross: AxisOptionType\n startEdge: AxisEdgeType\n endEdge: AxisEdgeType\n measureSize: (nodeRect: NodeRectType) => number\n direction: (n: number) => number\n}\n\nexport function Axis(\n axis: AxisOptionType,\n contentDirection: AxisDirectionOptionType\n): AxisType {\n const isRightToLeft = contentDirection === 'rtl'\n const isVertical = axis === 'y'\n const scroll = isVertical ? 'y' : 'x'\n const cross = isVertical ? 'x' : 'y'\n const sign = !isVertical && isRightToLeft ? -1 : 1\n const startEdge = getStartEdge()\n const endEdge = getEndEdge()\n\n function measureSize(nodeRect: NodeRectType): number {\n const { height, width } = nodeRect\n return isVertical ? height : width\n }\n\n function getStartEdge(): AxisEdgeType {\n if (isVertical) return 'top'\n return isRightToLeft ? 'right' : 'left'\n }\n\n function getEndEdge(): AxisEdgeType {\n if (isVertical) return 'bottom'\n return isRightToLeft ? 'left' : 'right'\n }\n\n function direction(n: number): number {\n return n * sign\n }\n\n const self: AxisType = {\n scroll,\n cross,\n startEdge,\n endEdge,\n measureSize,\n direction\n }\n return self\n}\n","import { mathAbs } from './utils'\n\nexport type LimitType = {\n min: number\n max: number\n length: number\n constrain: (n: number) => number\n reachedAny: (n: number) => boolean\n reachedMax: (n: number) => boolean\n reachedMin: (n: number) => boolean\n removeOffset: (n: number) => number\n}\n\nexport function Limit(min: number = 0, max: number = 0): LimitType {\n const length = mathAbs(min - max)\n\n function reachedMin(n: number): boolean {\n return n < min\n }\n\n function reachedMax(n: number): boolean {\n return n > max\n }\n\n function reachedAny(n: number): boolean {\n return reachedMin(n) || reachedMax(n)\n }\n\n function constrain(n: number): number {\n if (!reachedAny(n)) return n\n return reachedMin(n) ? min : max\n }\n\n function removeOffset(n: number): number {\n if (!length) return n\n return n - length * Math.ceil((n - max) / length)\n }\n\n const self: LimitType = {\n length,\n max,\n min,\n constrain,\n reachedAny,\n reachedMax,\n reachedMin,\n removeOffset\n }\n return self\n}\n","import { Limit } from './Limit'\nimport { mathAbs } from './utils'\n\nexport type CounterType = {\n get: () => number\n set: (n: number) => CounterType\n add: (n: number) => CounterType\n clone: () => CounterType\n}\n\nexport function Counter(\n max: number,\n start: number,\n loop: boolean\n): CounterType {\n const { constrain } = Limit(0, max)\n const loopEnd = max + 1\n let counter = withinLimit(start)\n\n function withinLimit(n: number): number {\n return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd)\n }\n\n function get(): number {\n return counter\n }\n\n function set(n: number): CounterType {\n counter = withinLimit(n)\n return self\n }\n\n function add(n: number): CounterType {\n return clone().set(get() + n)\n }\n\n function clone(): CounterType {\n return Counter(max, get(), loop)\n }\n\n const self: CounterType = {\n get,\n set,\n add,\n clone\n }\n return self\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\nimport { AnimationsType } from './Animations'\nimport { CounterType } from './Counter'\nimport { DragTrackerType, PointerEventType } from './DragTracker'\nimport { EventHandlerType } from './EventHandler'\nimport { AxisType } from './Axis'\nimport { EventStore } from './EventStore'\nimport { ScrollBodyType } from './ScrollBody'\nimport { ScrollTargetType } from './ScrollTarget'\nimport { ScrollToType } from './ScrollTo'\nimport { Vector1DType } from './Vector1d'\nimport { PercentOfViewType } from './PercentOfView'\nimport { Limit } from './Limit'\nimport {\n deltaAbs,\n factorAbs,\n isBoolean,\n isMouseEvent,\n mathAbs,\n mathSign,\n WindowType\n} from './utils'\n\ntype DragHandlerCallbackType = (\n emblaApi: EmblaCarouselType,\n evt: PointerEventType\n) => boolean | void\n\nexport type DragHandlerOptionType = boolean | DragHandlerCallbackType\n\nexport type DragHandlerType = {\n init: (emblaApi: EmblaCarouselType) => void\n destroy: () => void\n pointerDown: () => boolean\n}\n\nexport function DragHandler(\n axis: AxisType,\n rootNode: HTMLElement,\n ownerDocument: Document,\n ownerWindow: WindowType,\n target: Vector1DType,\n dragTracker: DragTrackerType,\n location: Vector1DType,\n animation: AnimationsType,\n scrollTo: ScrollToType,\n scrollBody: ScrollBodyType,\n scrollTarget: ScrollTargetType,\n index: CounterType,\n eventHandler: EventHandlerType,\n percentOfView: PercentOfViewType,\n dragFree: boolean,\n dragThreshold: number,\n skipSnaps: boolean,\n baseFriction: number,\n watchDrag: DragHandlerOptionType\n): DragHandlerType {\n const { cross: crossAxis, direction } = axis\n const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA']\n const nonPassiveEvent = { passive: false }\n const initEvents = EventStore()\n const dragEvents = EventStore()\n const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20))\n const snapForceBoost = { mouse: 300, touch: 400 }\n const freeForceBoost = { mouse: 500, touch: 600 }\n const baseSpeed = dragFree ? 43 : 25\n\n let isMoving = false\n let startScroll = 0\n let startCross = 0\n let pointerIsDown = false\n let preventScroll = false\n let preventClick = false\n let isMouse = false\n\n function init(emblaApi: EmblaCarouselType): void {\n if (!watchDrag) return\n\n function downIfAllowed(evt: PointerEventType): void {\n if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt)\n }\n\n const node = rootNode\n initEvents\n .add(node, 'dragstart', (evt) => evt.preventDefault(), nonPassiveEvent)\n .add(node, 'touchmove', () => undefined, nonPassiveEvent)\n .add(node, 'touchend', () => undefined)\n .add(node, 'touchstart', downIfAllowed)\n .add(node, 'mousedown', downIfAllowed)\n .add(node, 'touchcancel', up)\n .add(node, 'contextmenu', up)\n .add(node, 'click', click, true)\n }\n\n function destroy(): void {\n initEvents.clear()\n dragEvents.clear()\n }\n\n function addDragEvents(): void {\n const node = isMouse ? ownerDocument : rootNode\n dragEvents\n .add(node, 'touchmove', move, nonPassiveEvent)\n .add(node, 'touchend', up)\n .add(node, 'mousemove', move, nonPassiveEvent)\n .add(node, 'mouseup', up)\n }\n\n function isFocusNode(node: Element): boolean {\n const nodeName = node.nodeName || ''\n return focusNodes.includes(nodeName)\n }\n\n function forceBoost(): number {\n const boost = dragFree ? freeForceBoost : snapForceBoost\n const type = isMouse ? 'mouse' : 'touch'\n return boost[type]\n }\n\n function allowedForce(force: number, targetChanged: boolean): number {\n const next = index.add(mathSign(force) * -1)\n const baseForce = scrollTarget.byDistance(force, !dragFree).distance\n\n if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce\n if (skipSnaps && targetChanged) return baseForce * 0.5\n\n return scrollTarget.byIndex(next.get(), 0).distance\n }\n\n function down(evt: PointerEventType): void {\n const isMouseEvt = isMouseEvent(evt, ownerWindow)\n isMouse = isMouseEvt\n preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving\n isMoving = deltaAbs(target.get(), location.get()) >= 2\n\n if (isMouseEvt && evt.button !== 0) return\n if (isFocusNode(evt.target as Element)) return\n\n pointerIsDown = true\n dragTracker.pointerDown(evt)\n scrollBody.useFriction(0).useDuration(0)\n target.set(location)\n addDragEvents()\n startScroll = dragTracker.readPoint(evt)\n startCross = dragTracker.readPoint(evt, crossAxis)\n eventHandler.emit('pointerDown')\n }\n\n function move(evt: PointerEventType): void {\n const isTouchEvt = !isMouseEvent(evt, ownerWindow)\n if (isTouchEvt && evt.touches.length >= 2) return up(evt)\n\n const lastScroll = dragTracker.readPoint(evt)\n const lastCross = dragTracker.readPoint(evt, crossAxis)\n const diffScroll = deltaAbs(lastScroll, startScroll)\n const diffCross = deltaAbs(lastCross, startCross)\n\n if (!preventScroll && !isMouse) {\n if (!evt.cancelable) return up(evt)\n preventScroll = diffScroll > diffCross\n if (!preventScroll) return up(evt)\n }\n const diff = dragTracker.pointerMove(evt)\n if (diffScroll > dragThreshold) preventClick = true\n\n scrollBody.useFriction(0.3).useDuration(0.75)\n animation.start()\n target.add(direction(diff))\n evt.preventDefault()\n }\n\n function up(evt: PointerEventType): void {\n const currentLocation = scrollTarget.byDistance(0, false)\n const targetChanged = currentLocation.index !== index.get()\n const rawForce = dragTracker.pointerUp(evt) * forceBoost()\n const force = allowedForce(direction(rawForce), targetChanged)\n const forceFactor = factorAbs(rawForce, force)\n const speed = baseSpeed - 10 * forceFactor\n const friction = baseFriction + forceFactor / 50\n\n preventScroll = false\n pointerIsDown = false\n dragEvents.clear()\n scrollBody.useDuration(speed).useFriction(friction)\n scrollTo.distance(force, !dragFree)\n isMouse = false\n eventHandler.emit('pointerUp')\n }\n\n function click(evt: MouseEvent): void {\n if (preventClick) {\n evt.stopPropagation()\n evt.preventDefault()\n preventClick = false\n }\n }\n\n function pointerDown(): boolean {\n return pointerIsDown\n }\n\n const self: DragHandlerType = {\n init,\n destroy,\n pointerDown\n }\n return self\n}\n","import { AxisOptionType, AxisType } from './Axis'\nimport { isMouseEvent, mathAbs, WindowType } from './utils'\n\ntype PointerCoordType = keyof Touch | keyof MouseEvent\nexport type PointerEventType = TouchEvent | MouseEvent\n\nexport type DragTrackerType = {\n pointerDown: (evt: PointerEventType) => number\n pointerMove: (evt: PointerEventType) => number\n pointerUp: (evt: PointerEventType) => number\n readPoint: (evt: PointerEventType, evtAxis?: AxisOptionType) => number\n}\n\nexport function DragTracker(\n axis: AxisType,\n ownerWindow: WindowType\n): DragTrackerType {\n const logInterval = 170\n\n let startEvent: PointerEventType\n let lastEvent: PointerEventType\n\n function readTime(evt: PointerEventType): number {\n return evt.timeStamp\n }\n\n function readPoint(evt: PointerEventType, evtAxis?: AxisOptionType): number {\n const property = evtAxis || axis.scroll\n const coord: PointerCoordType = `client${property === 'x' ? 'X' : 'Y'}`\n return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord]\n }\n\n function pointerDown(evt: PointerEventType): number {\n startEvent = evt\n lastEvent = evt\n return readPoint(evt)\n }\n\n function pointerMove(evt: PointerEventType): number {\n const diff = readPoint(evt) - readPoint(lastEvent)\n const expired = readTime(evt) - readTime(startEvent) > logInterval\n\n lastEvent = evt\n if (expired) startEvent = evt\n return diff\n }\n\n function pointerUp(evt: PointerEventType): number {\n if (!startEvent || !lastEvent) return 0\n const diffDrag = readPoint(lastEvent) - readPoint(startEvent)\n const diffTime = readTime(evt) - readTime(startEvent)\n const expired = readTime(evt) - readTime(lastEvent) > logInterval\n const force = diffDrag / diffTime\n const isFlick = diffTime && !expired && mathAbs(force) > 0.1\n\n return isFlick ? force : 0\n }\n\n const self: DragTrackerType = {\n pointerDown,\n pointerMove,\n pointerUp,\n readPoint\n }\n return self\n}\n","export type NodeRectType = {\n top: number\n right: number\n bottom: number\n left: number\n width: number\n height: number\n}\n\nexport type NodeRectsType = {\n measure: (node: HTMLElement) => NodeRectType\n}\n\nexport function NodeRects(): NodeRectsType {\n function measure(node: HTMLElement): NodeRectType {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = node\n const offset: NodeRectType = {\n top: offsetTop,\n right: offsetLeft + offsetWidth,\n bottom: offsetTop + offsetHeight,\n left: offsetLeft,\n width: offsetWidth,\n height: offsetHeight\n }\n\n return offset\n }\n\n const self: NodeRectsType = {\n measure\n }\n return self\n}\n","export type PercentOfViewType = {\n measure: (n: number) => number\n}\n\nexport function PercentOfView(viewSize: number): PercentOfViewType {\n function measure(n: number): number {\n return viewSize * (n / 100)\n }\n\n const self: PercentOfViewType = {\n measure\n }\n return self\n}\n","import { AxisType } from './Axis'\nimport { EmblaCarouselType } from './EmblaCarousel'\nimport { EventHandlerType } from './EventHandler'\nimport { NodeRectsType } from './NodeRects'\nimport { isBoolean, mathAbs, WindowType } from './utils'\n\ntype ResizeHandlerCallbackType = (\n emblaApi: EmblaCarouselType,\n entries: ResizeObserverEntry[]\n) => boolean | void\n\nexport type ResizeHandlerOptionType = boolean | ResizeHandlerCallbackType\n\nexport type ResizeHandlerType = {\n init: (emblaApi: EmblaCarouselType) => void\n destroy: () => void\n}\n\nexport function ResizeHandler(\n container: HTMLElement,\n eventHandler: EventHandlerType,\n ownerWindow: WindowType,\n slides: HTMLElement[],\n axis: AxisType,\n watchResize: ResizeHandlerOptionType,\n nodeRects: NodeRectsType\n): ResizeHandlerType {\n const observeNodes = [container].concat(slides)\n let resizeObserver: ResizeObserver\n let containerSize: number\n let slideSizes: number[] = []\n let destroyed = false\n\n function readSize(node: HTMLElement): number {\n return axis.measureSize(nodeRects.measure(node))\n }\n\n function init(emblaApi: EmblaCarouselType): void {\n if (!watchResize) return\n\n containerSize = readSize(container)\n slideSizes = slides.map(readSize)\n\n function defaultCallback(entries: ResizeObserverEntry[]): void {\n for (const entry of entries) {\n if (destroyed) return\n\n const isContainer = entry.target === container\n const slideIndex = slides.indexOf(entry.target)\n const lastSize = isContainer ? containerSize : slideSizes[slideIndex]\n const newSize = readSize(isContainer ? container : slides[slideIndex])\n const diffSize = mathAbs(newSize - lastSize)\n\n if (diffSize >= 0.5) {\n emblaApi.reInit()\n eventHandler.emit('resize')\n\n break\n }\n }\n }\n\n resizeObserver = new ResizeObserver((entries) => {\n if (isBoolean(watchResize) || watchResize(emblaApi, entries)) {\n defaultCallback(entries)\n }\n })\n\n ownerWindow.requestAnimationFrame(() => {\n observeNodes.forEach((node) => resizeObserver.observe(node))\n })\n }\n\n function destroy(): void {\n destroyed = true\n if (resizeObserver) resizeObserver.disconnect()\n }\n\n const self: ResizeHandlerType = {\n init,\n destroy\n }\n return self\n}\n","import { mathSign, mathAbs } from './utils'\nimport { Vector1DType } from './Vector1d'\n\nexport type ScrollBodyType = {\n direction: () => number\n duration: () => number\n velocity: () => number\n seek: () => ScrollBodyType\n settled: () => boolean\n useBaseFriction: () => ScrollBodyType\n useBaseDuration: () => ScrollBodyType\n useFriction: (n: number) => ScrollBodyType\n useDuration: (n: number) => ScrollBodyType\n}\n\nexport function ScrollBody(\n location: Vector1DType,\n offsetLocation: Vector1DType,\n previousLocation: Vector1DType,\n target: Vector1DType,\n baseDuration: number,\n baseFriction: number\n): ScrollBodyType {\n let scrollVelocity = 0\n let scrollDirection = 0\n let scrollDuration = baseDuration\n let scrollFriction = baseFriction\n let rawLocation = location.get()\n let rawLocationPrevious = 0\n\n function seek(): ScrollBodyType {\n const displacement = target.get() - location.get()\n const isInstant = !scrollDuration\n let scrollDistance = 0\n\n if (isInstant) {\n scrollVelocity = 0\n previousLocation.set(target)\n location.set(target)\n\n scrollDistance = displacement\n } else {\n previousLocation.set(location)\n\n scrollVelocity += displacement / scrollDuration\n scrollVelocity *= scrollFriction\n rawLocation += scrollVelocity\n location.add(scrollVelocity)\n\n scrollDistance = rawLocation - rawLocationPrevious\n }\n\n scrollDirection = mathSign(scrollDistance)\n rawLocationPrevious = rawLocation\n return self\n }\n\n function settled(): boolean {\n const diff = target.get() - offsetLocation.get()\n return mathAbs(diff) < 0.001\n }\n\n function duration(): number {\n return scrollDuration\n }\n\n function direction(): number {\n return scrollDirection\n }\n\n function velocity(): number {\n return scrollVelocity\n }\n\n function useBaseDuration(): ScrollBodyType {\n return useDuration(baseDuration)\n }\n\n function useBaseFriction(): ScrollBodyType {\n return useFriction(baseFriction)\n }\n\n function useDuration(n: number): ScrollBodyType {\n scrollDuration = n\n return self\n }\n\n function useFriction(n: number): ScrollBodyType {\n scrollFriction = n\n return self\n }\n\n const self: ScrollBodyType = {\n direction,\n duration,\n velocity,\n seek,\n settled,\n useBaseFriction,\n useBaseDuration,\n useFriction,\n useDuration\n }\n return self\n}\n","import { Limit, LimitType } from './Limit'\nimport { ScrollBodyType } from './ScrollBody'\nimport { Vector1DType } from './Vector1d'\nimport { mathAbs } from './utils'\nimport { PercentOfViewType } from './PercentOfView'\n\nexport type ScrollBoundsType = {\n shouldConstrain: () => boolean\n constrain: (pointerDown: boolean) => void\n toggleActive: (active: boolean) => void\n}\n\nexport function ScrollBounds(\n limit: LimitType,\n location: Vector1DType,\n target: Vector1DType,\n scrollBody: ScrollBodyType,\n percentOfView: PercentOfViewType\n): ScrollBoundsType {\n const pullBackThreshold = percentOfView.measure(10)\n const edgeOffsetTolerance = percentOfView.measure(50)\n const frictionLimit = Limit(0.1, 0.99)\n let disabled = false\n\n function shouldConstrain(): boolean {\n if (disabled) return false\n if (!limit.reachedAny(target.get())) return false\n if (!limit.reachedAny(location.get())) return false\n return true\n }\n\n function constrain(pointerDown: boolean): void {\n if (!shouldConstrain()) return\n const edge = limit.reachedMin(location.get()) ? 'min' : 'max'\n const diffToEdge = mathAbs(limit[edge] - location.get())\n const diffToTarget = target.get() - location.get()\n const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance)\n\n target.subtract(diffToTarget * friction)\n\n if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) {\n target.set(limit.constrain(target.get()))\n scrollBody.useDuration(25).useBaseFriction()\n }\n }\n\n function toggleActive(active: boolean): void {\n disabled = !active\n }\n\n const self: ScrollBoundsType = {\n shouldConstrain,\n constrain,\n toggleActive\n }\n return self\n}\n","import { Limit, LimitType } from './Limit'\nimport { arrayIsLastIndex, arrayLast, deltaAbs } from './utils'\n\nexport type ScrollContainOptionType = false | 'trimSnaps' | 'keepSnaps'\n\nexport type ScrollContainType = {\n snapsContained: number[]\n scrollContainLimit: LimitType\n}\n\nexport function ScrollContain(\n viewSize: number,\n contentSize: number,\n snapsAligned: number[],\n containScroll: ScrollContainOptionType,\n pixelTolerance: number\n): ScrollContainType {\n const scrollBounds = Limit(-contentSize + viewSize, 0)\n const snapsBounded = measureBounded()\n const scrollContainLimit = findScrollContainLimit()\n const snapsContained = measureContained()\n\n function usePixelTolerance(bound: number, snap: number): boolean {\n return deltaAbs(bound, snap) <= 1\n }\n\n function findScrollContainLimit(): LimitType {\n const startSnap = snapsBounded[0]\n const endSnap = arrayLast(snapsBounded)\n const min = snapsBounded.lastIndexOf(startSnap)\n const max = snapsBounded.indexOf(endSnap) + 1\n return Limit(min, max)\n }\n\n function measureBounded(): number[] {\n return snapsAligned\n .map((snapAligned, index) => {\n const { min, max } = scrollBounds\n const snap = scrollBounds.constrain(snapAligned)\n const isFirst = !index\n const isLast = arrayIsLastIndex(snapsAligned, index)\n if (isFirst) return max\n if (isLast) return min\n if (usePixelTolerance(min, snap)) return min\n if (usePixelTolerance(max, snap)) return max\n return snap\n })\n .map((scrollBound) => parseFloat(scrollBound.toFixed(3)))\n }\n\n function measureContained(): number[] {\n if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max]\n if (containScroll === 'keepSnaps') return snapsBounded\n const { min, max } = scrollContainLimit\n return snapsBounded.slice(min, max)\n }\n\n const self: ScrollContainType = {\n snapsContained,\n scrollContainLimit\n }\n return self\n}\n","import { Limit, LimitType } from './Limit'\nimport { arrayLast } from './utils'\n\nexport type ScrollLimitType = {\n limit: LimitType\n}\n\nexport function ScrollLimit(\n contentSize: number,\n scrollSnaps: number[],\n loop: boolean\n): ScrollLimitType {\n const max = scrollSnaps[0]\n const min = loop ? max - contentSize : arrayLast(scrollSnaps)\n const limit = Limit(min, max)\n\n const self: ScrollLimitType = {\n limit\n }\n return self\n}\n","import { Limit, LimitType } from './Limit'\nimport { Vector1DType } from './Vector1d'\n\nexport type ScrollLooperType = {\n loop: (direction: number) => void\n}\n\nexport function ScrollLooper(\n contentSize: number,\n limit: LimitType,\n location: Vector1DType,\n vectors: Vector1DType[]\n): ScrollLooperType {\n const jointSafety = 0.1\n const min = limit.min + jointSafety\n const max = limit.max + jointSafety\n const { reachedMin, reachedMax } = Limit(min, max)\n\n function shouldLoop(direction: number): boolean {\n if (direction === 1) return reachedMax(location.get())\n if (direction === -1) return reachedMin(location.get())\n return false\n }\n\n function loop(direction: number): void {\n if (!shouldLoop(direction)) return\n\n const loopDistance = contentSize * (direction * -1)\n vectors.forEach((v) => v.add(loopDistance))\n }\n\n const self: ScrollLooperType = {\n loop\n }\n return self\n}\n","import { LimitType } from './Limit'\n\nexport type ScrollProgressType = {\n get: (n: number) => number\n}\n\nexport function ScrollProgress(limit: LimitType): ScrollProgressType {\n const { max, length } = limit\n\n function get(n: number): number {\n const currentLocation = n - max\n return length ? currentLocation / -length : 0\n }\n\n const self: ScrollProgressType = {\n get\n }\n return self\n}\n","import { AlignmentType } from './Alignment'\nimport { AxisType } from './Axis'\nimport { NodeRectType } from './NodeRects'\nimport { SlidesToScrollType } from './SlidesToScroll'\nimport { arrayLast, mathAbs } from './utils'\n\nexport type ScrollSnapsType = {\n snaps: number[]\n snapsAligned: number[]\n}\n\nexport function ScrollSnaps(\n axis: AxisType,\n alignment: AlignmentType,\n containerRect: NodeRectType,\n slideRects: NodeRectType[],\n slidesToScroll: SlidesToScrollType\n): ScrollSnapsType {\n const { startEdge, endEdge } = axis\n const { groupSlides } = slidesToScroll\n const alignments = measureSizes().map(alignment.measure)\n const snaps = measureUnaligned()\n const snapsAligned = measureAligned()\n\n function measureSizes(): number[] {\n return groupSlides(slideRects)\n .map((rects) => arrayLast(rects)[endEdge] - rects[0][startEdge])\n .map(mathAbs)\n }\n\n function measureUnaligned(): number[] {\n return slideRects\n .map((rect) => containerRect[startEdge] - rect[startEdge])\n .map((snap) => -mathAbs(snap))\n }\n\n function measureAligned(): number[] {\n return groupSlides(snaps)\n .map((g) => g[0])\n .map((snap, index) => snap + alignments[index])\n }\n\n const self: ScrollSnapsType = {\n snaps,\n snapsAligned\n }\n return self\n}\n","import { LimitType } from './Limit'\nimport { ScrollContainOptionType } from './ScrollContain'\nimport { SlidesToScrollType } from './SlidesToScroll'\nimport {\n arrayFromNumber,\n arrayIsLastIndex,\n arrayLast,\n arrayLastIndex\n} from './utils'\n\nexport type SlideRegistryType = {\n slideRegistry: number[][]\n}\n\nexport function SlideRegistry(\n containSnaps: boolean,\n containScroll: ScrollContainOptionType,\n scrollSnaps: number[],\n scrollContainLimit: LimitType,\n slidesToScroll: SlidesToScrollType,\n slideIndexes: number[]\n): SlideRegistryType {\n const { groupSlides } = slidesToScroll\n const { min, max } = scrollContainLimit\n const slideRegistry = createSlideRegistry()\n\n function createSlideRegistry(): number[][] {\n const groupedSlideIndexes = groupSlides(slideIndexes)\n const doNotContain = !containSnaps || containScroll === 'keepSnaps'\n\n if (scrollSnaps.length === 1) return [slideIndexes]\n if (doNotContain) return groupedSlideIndexes\n\n return groupedSlideIndexes.slice(min, max).map((group, index, groups) => {\n const isFirst = !index\n const isLast = arrayIsLastIndex(groups, index)\n\n if (isFirst) {\n const range = arrayLast(groups[0]) + 1\n return arrayFromNumber(range)\n }\n if (isLast) {\n const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1\n return arrayFromNumber(range, arrayLast(groups)[0])\n }\n return group\n })\n }\n\n const self: SlideRegistryType = {\n slideRegistry\n }\n return self\n}\n","import { LimitType } from './Limit'\nimport { Vector1DType } from './Vector1d'\nimport { arrayLast, mathAbs, mathSign } from './utils'\n\nexport type TargetType = {\n distance: number\n index: number\n}\n\nexport type ScrollTargetType = {\n byIndex: (target: number, direction: number) => TargetType\n byDistance: (force: number, snap: boolean) => TargetType\n shortcut: (target: number, direction: number) => number\n}\n\nexport function ScrollTarget(\n loop: boolean,\n scrollSnaps: number[],\n contentSize: number,\n limit: LimitType,\n targetVector: Vector1DType\n): ScrollTargetType {\n const { reachedAny, removeOffset, constrain } = limit\n\n function minDistance(distances: number[]): number {\n return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0]\n }\n\n function findTargetSnap(target: number): TargetType {\n const distance = loop ? removeOffset(target) : constrain(target)\n const ascDiffsToSnaps = scrollSnaps\n .map((snap, index) => ({ diff: shortcut(snap - distance, 0), index }))\n .sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff))\n\n const { index } = ascDiffsToSnaps[0]\n return { index, distance }\n }\n\n function shortcut(target: number, direction: number): number {\n const targets = [target, target + contentSize, target - contentSize]\n\n if (!loop) return target\n if (!direction) return minDistance(targets)\n\n const matchingTargets = targets.filter((t) => mathSign(t) === direction)\n if (matchingTargets.length) return minDistance(matchingTargets)\n return arrayLast(targets) - contentSize\n }\n\n function byIndex(index: number, direction: number): TargetType {\n const diffToSnap = scrollSnaps[index] - targetVector.get()\n const distance = shortcut(diffToSnap, direction)\n return { index, distance }\n }\n\n function byDistance(distance: number, snap: boolean): TargetType {\n const target = targetVector.get() + distance\n const { index, distance: targetSnapDistance } = findTargetSnap(target)\n const reachedBound = !loop && reachedAny(target)\n\n if (!snap || reachedBound) return { index, distance }\n\n const diffToSnap = scrollSnaps[index] - targetSnapDistance\n const snapDistance = distance + shortcut(diffToSnap, 0)\n\n return { index, distance: snapDistance }\n }\n\n const self: ScrollTargetType = {\n byDistance,\n byIndex,\n shortcut\n }\n return self\n}\n","import { AnimationsType } from './Animations'\nimport { CounterType } from './Counter'\nimport { EventHandlerType } from './EventHandler'\nimport { ScrollBodyType } from './ScrollBody'\nimport { ScrollTargetType, TargetType } from './ScrollTarget'\nimport { Vector1DType } from './Vector1d'\n\nexport type ScrollToType = {\n distance: (n: number, snap: boolean) => void\n index: (n: number, direction: number) => void\n}\n\nexport function ScrollTo(\n animation: AnimationsType,\n indexCurrent: CounterType,\n indexPrevious: CounterType,\n scrollBody: ScrollBodyType,\n scrollTarget: ScrollTargetType,\n targetVector: Vector1DType,\n eventHandler: EventHandlerType\n): ScrollToType {\n function scrollTo(target: TargetType): void {\n const distanceDiff = target.distance\n const indexDiff = target.index !== indexCurrent.get()\n\n targetVector.add(distanceDiff)\n\n if (distanceDiff) {\n if (scrollBody.duration()) {\n animation.start()\n } else {\n animation.update()\n animation.render(1)\n animation.update()\n }\n }\n\n if (indexDiff) {\n indexPrevious.set(indexCurrent.get())\n indexCurrent.set(target.index)\n eventHandler.emit('select')\n }\n }\n\n function distance(n: number, snap: boolean): void {\n const target = scrollTarget.byDistance(n, snap)\n scrollTo(target)\n }\n\n function index(n: number, direction: number): void {\n const targetIndex = indexCurrent.clone().set(n)\n const target = scrollTarget.byIndex(targetIndex.get(), direction)\n scrollTo(target)\n }\n\n const self: ScrollToType = {\n distance,\n index\n }\n return self\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\nimport { EventHandlerType } from './EventHandler'\nimport { EventStoreType } from './EventStore'\nimport { ScrollBodyType } from './ScrollBody'\nimport { ScrollToType } from './ScrollTo'\nimport { SlideRegistryType } from './SlideRegistry'\nimport { isBoolean, isNumber } from './utils'\n\ntype FocusHandlerCallbackType = (\n emblaApi: EmblaCarouselType,\n evt: FocusEvent\n) => boolean | void\n\nexport type FocusHandlerOptionType = boolean | FocusHandlerCallbackType\n\nexport type SlideFocusType = {\n init: (emblaApi: EmblaCarouselType) => void\n}\n\nexport function SlideFocus(\n root: HTMLElement,\n slides: HTMLElement[],\n slideRegistry: SlideRegistryType['slideRegistry'],\n scrollTo: ScrollToType,\n scrollBody: ScrollBodyType,\n eventStore: EventStoreType,\n eventHandler: EventHandlerType,\n watchFocus: FocusHandlerOptionType\n): SlideFocusType {\n const focusListenerOptions = { passive: true, capture: true }\n let lastTabPressTime = 0\n\n function init(emblaApi: EmblaCarouselType): void {\n if (!watchFocus) return\n\n function defaultCallback(index: number): void {\n const nowTime = new Date().getTime()\n const diffTime = nowTime - lastTabPressTime\n\n if (diffTime > 10) return\n\n eventHandler.emit('slideFocusStart')\n root.scrollLeft = 0\n\n const group = slideRegistry.findIndex((group) => group.includes(index))\n\n if (!isNumber(group)) return\n\n scrollBody.useDuration(0)\n scrollTo.index(group, 0)\n\n eventHandler.emit('slideFocus')\n }\n\n eventStore.add(document, 'keydown', registerTabPress, false)\n\n slides.forEach((slide, slideIndex) => {\n eventStore.add(\n slide,\n 'focus',\n (evt: FocusEvent) => {\n if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) {\n defaultCallback(slideIndex)\n }\n },\n focusListenerOptions\n )\n })\n }\n\n function registerTabPress(event: KeyboardEvent): void {\n if (event.code === 'Tab') lastTabPressTime = new Date().getTime()\n }\n\n const self: SlideFocusType = {\n init\n }\n return self\n}\n","import { isNumber } from './utils'\n\nexport type Vector1DType = {\n get: () => number\n set: (n: Vector1DType | number) => void\n add: (n: Vector1DType | number) => void\n subtract: (n: Vector1DType | number) => void\n}\n\nexport function Vector1D(initialValue: number): Vector1DType {\n let value = initialValue\n\n function get(): number {\n return value\n }\n\n function set(n: Vector1DType | number): void {\n value = normalizeInput(n)\n }\n\n function add(n: Vector1DType | number): void {\n value += normalizeInput(n)\n }\n\n function subtract(n: Vector1DType | number): void {\n value -= normalizeInput(n)\n }\n\n function normalizeInput(n: Vector1DType | number): number {\n return isNumber(n) ? n : n.get()\n }\n\n const self: Vector1DType = {\n get,\n set,\n add,\n subtract\n }\n return self\n}\n","import { AxisType } from './Axis'\nimport { roundToTwoDecimals } from './utils'\n\nexport type TranslateType = {\n clear: () => void\n to: (target: number) => void\n toggleActive: (active: boolean) => void\n}\n\nexport function Translate(\n axis: AxisType,\n container: HTMLElement\n): TranslateType {\n const translate = axis.scroll === 'x' ? x : y\n const containerStyle = container.style\n let previousTarget: number | null = null\n let disabled = false\n\n function x(n: number): string {\n return `translate3d(${n}px,0px,0px)`\n }\n\n function y(n: number): string {\n return `translate3d(0px,${n}px,0px)`\n }\n\n function to(target: number): void {\n if (disabled) return\n\n const newTarget = roundToTwoDecimals(axis.direction(target))\n if (newTarget === previousTarget) return\n\n containerStyle.transform = translate(newTarget)\n previousTarget = newTarget\n }\n\n function toggleActive(active: boolean): void {\n disabled = !active\n }\n\n function clear(): void {\n if (disabled) return\n containerStyle.transform = ''\n if (!container.getAttribute('style')) container.removeAttribute('style')\n }\n\n const self: TranslateType = {\n clear,\n to,\n toggleActive\n }\n return self\n}\n","import { AxisType } from './Axis'\nimport { arrayKeys } from './utils'\nimport { Vector1D, Vector1DType } from './Vector1d'\nimport { Translate, TranslateType } from './Translate'\n\ntype SlideBoundType = {\n start: number\n end: number\n}\n\ntype LoopPointType = {\n loopPoint: number\n index: number\n translate: TranslateType\n slideLocation: Vector1DType\n target: () => number\n}\n\nexport type SlideLooperType = {\n canLoop: () => boolean\n clear: () => void\n loop: () => void\n loopPoints: LoopPointType[]\n}\n\nexport function SlideLooper(\n axis: AxisType,\n viewSize: number,\n contentSize: number,\n slideSizes: number[],\n slideSizesWithGaps: number[],\n snaps: number[],\n scrollSnaps: number[],\n location: Vector1DType,\n slides: HTMLElement[]\n): SlideLooperType {\n const roundingSafety = 0.5\n const ascItems = arrayKeys(slideSizesWithGaps)\n const descItems = arrayKeys(slideSizesWithGaps).reverse()\n const loopPoints = startPoints().concat(endPoints())\n\n function removeSlideSizes(indexes: number[], from: number): number {\n return indexes.reduce((a: number, i) => {\n return a - slideSizesWithGaps[i]\n }, from)\n }\n\n function slidesInGap(indexes: number[], gap: number): number[] {\n return indexes.reduce((a: number[], i) => {\n const remainingGap = removeSlideSizes(a, gap)\n return remainingGap > 0 ? a.concat([i]) : a\n }, [])\n }\n\n function findSlideBounds(offset: number): SlideBoundType[] {\n return snaps.map((snap, index) => ({\n start: snap - slideSizes[index] + roundingSafety + offset,\n end: snap + viewSize - roundingSafety + offset\n }))\n }\n\n function findLoopPoints(\n indexes: number[],\n offset: number,\n isEndEdge: boolean\n ): LoopPointType[] {\n const slideBounds = findSlideBounds(offset)\n\n return indexes.map((index) => {\n const initial = isEndEdge ? 0 : -contentSize\n const altered = isEndEdge ? contentSize : 0\n const boundEdge = isEndEdge ? 'end' : 'start'\n const loopPoint = slideBounds[index][boundEdge]\n\n return {\n index,\n loopPoint,\n slideLocation: Vector1D(-1),\n translate: Translate(axis, slides[index]),\n target: () => (location.get() > loopPoint ? initial : altered)\n }\n })\n }\n\n function startPoints(): LoopPointType[] {\n const gap = scrollSnaps[0]\n const indexes = slidesInGap(descItems, gap)\n return findLoopPoints(indexes, contentSize, false)\n }\n\n function endPoints(): LoopPointType[] {\n const gap = viewSize - scrollSnaps[0] - 1\n const indexes = slidesInGap(ascItems, gap)\n return findLoopPoints(indexes, -contentSize, true)\n }\n\n function canLoop(): boolean {\n return loopPoints.every(({ index }) => {\n const otherIndexes = ascItems.filter((i) => i !== index)\n return removeSlideSizes(otherIndexes, viewSize) <= 0.1\n })\n }\n\n function loop(): void {\n loopPoints.forEach((loopPoint) => {\n const { target, translate, slideLocation } = loopPoint\n const shiftLocation = target()\n if (shiftLocation === slideLocation.get()) return\n translate.to(shiftLocation)\n slideLocation.set(shiftLocation)\n })\n }\n\n function clear(): void {\n loopPoints.forEach((loopPoint) => loopPoint.translate.clear())\n }\n\n const self: SlideLooperType = {\n canLoop,\n clear,\n loop,\n loopPoints\n }\n return self\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\nimport { EventHandlerType } from './EventHandler'\nimport { isBoolean } from './utils'\n\ntype SlidesHandlerCallbackType = (\n emblaApi: EmblaCarouselType,\n mutations: MutationRecord[]\n) => boolean | void\n\nexport type SlidesHandlerOptionType = boolean | SlidesHandlerCallbackType\n\nexport type SlidesHandlerType = {\n init: (emblaApi: EmblaCarouselType) => void\n destroy: () => void\n}\n\nexport function SlidesHandler(\n container: HTMLElement,\n eventHandler: EventHandlerType,\n watchSlides: SlidesHandlerOptionType\n): SlidesHandlerType {\n let mutationObserver: MutationObserver\n let destroyed = false\n\n function init(emblaApi: EmblaCarouselType): void {\n if (!watchSlides) return\n\n function defaultCallback(mutations: MutationRecord[]): void {\n for (const mutation of mutations) {\n if (mutation.type === 'childList') {\n emblaApi.reInit()\n eventHandler.emit('slidesChanged')\n break\n }\n }\n }\n\n mutationObserver = new MutationObserver((mutations) => {\n if (destroyed) return\n if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) {\n defaultCallback(mutations)\n }\n })\n\n mutationObserver.observe(container, { childList: true })\n }\n\n function destroy(): void {\n if (mutationObserver) mutationObserver.disconnect()\n destroyed = true\n }\n\n const self: SlidesHandlerType = {\n init,\n destroy\n }\n return self\n}\n","import { EventHandlerType } from './EventHandler'\nimport { objectKeys } from './utils'\n\ntype IntersectionEntryMapType = {\n [key: number]: IntersectionObserverEntry\n}\n\nexport type SlidesInViewOptionsType = IntersectionObserverInit['threshold']\n\nexport type SlidesInViewType = {\n init: () => void\n destroy: () => void\n get: (inView?: boolean) => number[]\n}\n\nexport function SlidesInView(\n container: HTMLElement,\n slides: HTMLElement[],\n eventHandler: EventHandlerType,\n threshold: SlidesInViewOptionsType\n): SlidesInViewType {\n const intersectionEntryMap: IntersectionEntryMapType = {}\n let inViewCache: number[] | null = null\n let notInViewCache: number[] | null = null\n let intersectionObserver: IntersectionObserver\n let destroyed = false\n\n function init(): void {\n intersectionObserver = new IntersectionObserver(\n (entries) => {\n if (destroyed) return\n\n entries.forEach((entry) => {\n const index = slides.indexOf(entry.target)\n intersectionEntryMap[index] = entry\n })\n\n inViewCache = null\n notInViewCache = null\n eventHandler.emit('slidesInView')\n },\n {\n root: container.parentElement,\n threshold\n }\n )\n\n slides.forEach((slide) => intersectionObserver.observe(slide))\n }\n\n function destroy(): void {\n if (intersectionObserver) intersectionObserver.disconnect()\n destroyed = true\n }\n\n function createInViewList(inView: boolean): number[] {\n return objectKeys(intersectionEntryMap).reduce(\n (list: number[], slideIndex) => {\n const index = parseInt(slideIndex)\n const { isIntersecting } = intersectionEntryMap[index]\n const inViewMatch = inView && isIntersecting\n const notInViewMatch = !inView && !isIntersecting\n\n if (inViewMatch || notInViewMatch) list.push(index)\n return list\n },\n []\n )\n }\n\n function get(inView: boolean = true): number[] {\n if (inView && inViewCache) return inViewCache\n if (!inView && notInViewCache) return notInViewCache\n\n const slideIndexes = createInViewList(inView)\n\n if (inView) inViewCache = slideIndexes\n if (!inView) notInViewCache = slideIndexes\n\n return slideIndexes\n }\n\n const self: SlidesInViewType = {\n init,\n destroy,\n get\n }\n\n return self\n}\n","import { AxisType } from './Axis'\nimport { NodeRectType } from './NodeRects'\nimport { arrayIsLastIndex, arrayLast, mathAbs, WindowType } from './utils'\n\nexport type SlideSizesType = {\n slideSizes: number[]\n slideSizesWithGaps: number[]\n startGap: number\n endGap: number\n}\n\nexport function SlideSizes(\n axis: AxisType,\n containerRect: NodeRectType,\n slideRects: NodeRectType[],\n slides: HTMLElement[],\n readEdgeGap: boolean,\n ownerWindow: WindowType\n): SlideSizesType {\n const { measureSize, startEdge, endEdge } = axis\n const withEdgeGap = slideRects[0] && readEdgeGap\n const startGap = measureStartGap()\n const endGap = measureEndGap()\n const slideSizes = slideRects.map(measureSize)\n const slideSizesWithGaps = measureWithGaps()\n\n function measureStartGap(): number {\n if (!withEdgeGap) return 0\n const slideRect = slideRects[0]\n return mathAbs(containerRect[startEdge] - slideRect[startEdge])\n }\n\n function measureEndGap(): number {\n if (!withEdgeGap) return 0\n const style = ownerWindow.getComputedStyle(arrayLast(slides))\n return parseFloat(style.getPropertyValue(`margin-${endEdge}`))\n }\n\n function measureWithGaps(): number[] {\n return slideRects\n .map((rect, index, rects) => {\n const isFirst = !index\n const isLast = arrayIsLastIndex(rects, index)\n if (isFirst) return slideSizes[index] + startGap\n if (isLast) return slideSizes[index] + endGap\n return rects[index + 1][startEdge] - rect[startEdge]\n })\n .map(mathAbs)\n }\n\n const self: SlideSizesType = {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n }\n return self\n}\n","import { AxisType } from './Axis'\nimport { NodeRectType } from './NodeRects'\nimport {\n arrayKeys,\n arrayLast,\n arrayLastIndex,\n isNumber,\n mathAbs\n} from './utils'\n\nexport type SlidesToScrollOptionType = 'auto' | number\n\nexport type SlidesToScrollType = {\n groupSlides: (array: Type[]) => Type[][]\n}\n\nexport function SlidesToScroll(\n axis: AxisType,\n viewSize: number,\n slidesToScroll: SlidesToScrollOptionType,\n loop: boolean,\n containerRect: NodeRectType,\n slideRects: NodeRectType[],\n startGap: number,\n endGap: number,\n pixelTolerance: number\n): SlidesToScrollType {\n const { startEdge, endEdge, direction } = axis\n const groupByNumber = isNumber(slidesToScroll)\n\n function byNumber(array: Type[], groupSize: number): Type[][] {\n return arrayKeys(array)\n .filter((i) => i % groupSize === 0)\n .map((i) => array.slice(i, i + groupSize))\n }\n\n function bySize(array: Type[]): Type[][] {\n if (!array.length) return []\n\n return arrayKeys(array)\n .reduce((groups: number[], rectB, index) => {\n const rectA = arrayLast(groups) || 0\n const isFirst = rectA === 0\n const isLast = rectB === arrayLastIndex(array)\n\n const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge]\n const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge]\n const gapA = !loop && isFirst ? direction(startGap) : 0\n const gapB = !loop && isLast ? direction(endGap) : 0\n const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA))\n\n if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB)\n if (isLast) groups.push(array.length)\n return groups\n }, [])\n .map((currentSize, index, groups) => {\n const previousSize = Math.max(groups[index - 1] || 0)\n return array.slice(previousSize, currentSize)\n })\n }\n\n function groupSlides(array: Type[]): Type[][] {\n return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array)\n }\n\n const self: SlidesToScrollType = {\n groupSlides\n }\n return self\n}\n","import { Alignment } from './Alignment'\nimport {\n Animations,\n AnimationsType,\n AnimationsUpdateType,\n AnimationsRenderType\n} from './Animations'\nimport { Axis, AxisType } from './Axis'\nimport { Counter, CounterType } from './Counter'\nimport { DragHandler, DragHandlerType } from './DragHandler'\nimport { DragTracker } from './DragTracker'\nimport { EventHandlerType } from './EventHandler'\nimport { EventStore, EventStoreType } from './EventStore'\nimport { LimitType } from './Limit'\nimport { NodeRectType, NodeRects } from './NodeRects'\nimport { OptionsType } from './Options'\nimport { PercentOfView, PercentOfViewType } from './PercentOfView'\nimport { ResizeHandler, ResizeHandlerType } from './ResizeHandler'\nimport { ScrollBody, ScrollBodyType } from './ScrollBody'\nimport { ScrollBounds, ScrollBoundsType } from './ScrollBounds'\nimport { ScrollContain } from './ScrollContain'\nimport { ScrollLimit } from './ScrollLimit'\nimport { ScrollLooper, ScrollLooperType } from './ScrollLooper'\nimport { ScrollProgress, ScrollProgressType } from './ScrollProgress'\nimport { ScrollSnaps } from './ScrollSnaps'\nimport { SlideRegistry, SlideRegistryType } from './SlideRegistry'\nimport { ScrollTarget, ScrollTargetType } from './ScrollTarget'\nimport { ScrollTo, ScrollToType } from './ScrollTo'\nimport { SlideFocus, SlideFocusType } from './SlideFocus'\nimport { SlideLooper, SlideLooperType } from './SlideLooper'\nimport { SlidesHandler, SlidesHandlerType } from './SlidesHandler'\nimport { SlidesInView, SlidesInViewType } from './SlidesInView'\nimport { SlideSizes } from './SlideSizes'\nimport { SlidesToScroll, SlidesToScrollType } from './SlidesToScroll'\nimport { Translate, TranslateType } from './Translate'\nimport { arrayKeys, arrayLast, arrayLastIndex, WindowType } from './utils'\nimport { Vector1D, Vector1DType } from './Vector1d'\n\nexport type EngineType = {\n ownerDocument: Document\n ownerWindow: WindowType\n eventHandler: EventHandlerType\n axis: AxisType\n animation: AnimationsType\n scrollBounds: ScrollBoundsType\n scrollLooper: ScrollLooperType\n scrollProgress: ScrollProgressType\n index: CounterType\n indexPrevious: CounterType\n limit: LimitType\n location: Vector1DType\n offsetLocation: Vector1DType\n previousLocation: Vector1DType\n options: OptionsType\n percentOfView: PercentOfViewType\n scrollBody: ScrollBodyType\n dragHandler: DragHandlerType\n eventStore: EventStoreType\n slideLooper: SlideLooperType\n slidesInView: SlidesInViewType\n slidesToScroll: SlidesToScrollType\n target: Vector1DType\n translate: TranslateType\n resizeHandler: ResizeHandlerType\n slidesHandler: SlidesHandlerType\n scrollTo: ScrollToType\n scrollTarget: ScrollTargetType\n scrollSnapList: number[]\n scrollSnaps: number[]\n slideIndexes: number[]\n slideFocus: SlideFocusType\n slideRegistry: SlideRegistryType['slideRegistry']\n containerRect: NodeRectType\n slideRects: NodeRectType[]\n}\n\nexport function Engine(\n root: HTMLElement,\n container: HTMLElement,\n slides: HTMLElement[],\n ownerDocument: Document,\n ownerWindow: WindowType,\n options: OptionsType,\n eventHandler: EventHandlerType\n): EngineType {\n // Options\n const {\n align,\n axis: scrollAxis,\n direction,\n startIndex,\n loop,\n duration,\n dragFree,\n dragThreshold,\n inViewThreshold,\n slidesToScroll: groupSlides,\n skipSnaps,\n containScroll,\n watchResize,\n watchSlides,\n watchDrag,\n watchFocus\n } = options\n\n // Measurements\n const pixelTolerance = 2\n const nodeRects = NodeRects()\n const containerRect = nodeRects.measure(container)\n const slideRects = slides.map(nodeRects.measure)\n const axis = Axis(scrollAxis, direction)\n const viewSize = axis.measureSize(containerRect)\n const percentOfView = PercentOfView(viewSize)\n const alignment = Alignment(align, viewSize)\n const containSnaps = !loop && !!containScroll\n const readEdgeGap = loop || !!containScroll\n const { slideSizes, slideSizesWithGaps, startGap, endGap } = SlideSizes(\n axis,\n containerRect,\n slideRects,\n slides,\n readEdgeGap,\n ownerWindow\n )\n const slidesToScroll = SlidesToScroll(\n axis,\n viewSize,\n groupSlides,\n loop,\n containerRect,\n slideRects,\n startGap,\n endGap,\n pixelTolerance\n )\n const { snaps, snapsAligned } = ScrollSnaps(\n axis,\n alignment,\n containerRect,\n slideRects,\n slidesToScroll\n )\n const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps)\n const { snapsContained, scrollContainLimit } = ScrollContain(\n viewSize,\n contentSize,\n snapsAligned,\n containScroll,\n pixelTolerance\n )\n const scrollSnaps = containSnaps ? snapsContained : snapsAligned\n const { limit } = ScrollLimit(contentSize, scrollSnaps, loop)\n\n // Indexes\n const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop)\n const indexPrevious = index.clone()\n const slideIndexes = arrayKeys(slides)\n\n // Animation\n const update: AnimationsUpdateType = ({\n dragHandler,\n scrollBody,\n scrollBounds,\n options: { loop }\n }) => {\n if (!loop) scrollBounds.constrain(dragHandler.pointerDown())\n scrollBody.seek()\n }\n\n const render: AnimationsRenderType = (\n {\n scrollBody,\n translate,\n location,\n offsetLocation,\n previousLocation,\n scrollLooper,\n slideLooper,\n dragHandler,\n animation,\n eventHandler,\n scrollBounds,\n options: { loop }\n },\n alpha\n ) => {\n const shouldSettle = scrollBody.settled()\n const withinBounds = !scrollBounds.shouldConstrain()\n const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds\n const hasSettledAndIdle = hasSettled && !dragHandler.pointerDown()\n\n if (hasSettledAndIdle) animation.stop()\n\n const interpolatedLocation =\n location.get() * alpha + previousLocation.get() * (1 - alpha)\n\n offsetLocation.set(interpolatedLocation)\n\n if (loop) {\n scrollLooper.loop(scrollBody.direction())\n slideLooper.loop()\n }\n\n translate.to(offsetLocation.get())\n\n if (hasSettledAndIdle) eventHandler.emit('settle')\n if (!hasSettled) eventHandler.emit('scroll')\n }\n\n const animation = Animations(\n ownerDocument,\n ownerWindow,\n () => update(engine),\n (alpha: number) => render(engine, alpha)\n )\n\n // Shared\n const friction = 0.68\n const startLocation = scrollSnaps[index.get()]\n const location = Vector1D(startLocation)\n const previousLocation = Vector1D(startLocation)\n const offsetLocation = Vector1D(startLocation)\n const target = Vector1D(startLocation)\n const scrollBody = ScrollBody(\n location,\n offsetLocation,\n previousLocation,\n target,\n duration,\n friction\n )\n const scrollTarget = ScrollTarget(\n loop,\n scrollSnaps,\n contentSize,\n limit,\n target\n )\n const scrollTo = ScrollTo(\n animation,\n index,\n indexPrevious,\n scrollBody,\n scrollTarget,\n target,\n eventHandler\n )\n const scrollProgress = ScrollProgress(limit)\n const eventStore = EventStore()\n const slidesInView = SlidesInView(\n container,\n slides,\n eventHandler,\n inViewThreshold\n )\n const { slideRegistry } = SlideRegistry(\n containSnaps,\n containScroll,\n scrollSnaps,\n scrollContainLimit,\n slidesToScroll,\n slideIndexes\n )\n const slideFocus = SlideFocus(\n root,\n slides,\n slideRegistry,\n scrollTo,\n scrollBody,\n eventStore,\n eventHandler,\n watchFocus\n )\n\n // Engine\n const engine: EngineType = {\n ownerDocument,\n ownerWindow,\n eventHandler,\n containerRect,\n slideRects,\n animation,\n axis,\n dragHandler: DragHandler(\n axis,\n root,\n ownerDocument,\n ownerWindow,\n target,\n DragTracker(axis, ownerWindow),\n location,\n animation,\n scrollTo,\n scrollBody,\n scrollTarget,\n index,\n eventHandler,\n percentOfView,\n dragFree,\n dragThreshold,\n skipSnaps,\n friction,\n watchDrag\n ),\n eventStore,\n percentOfView,\n index,\n indexPrevious,\n limit,\n location,\n offsetLocation,\n previousLocation,\n options,\n resizeHandler: ResizeHandler(\n container,\n eventHandler,\n ownerWindow,\n slides,\n axis,\n watchResize,\n nodeRects\n ),\n scrollBody,\n scrollBounds: ScrollBounds(\n limit,\n offsetLocation,\n target,\n scrollBody,\n percentOfView\n ),\n scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [\n location,\n offsetLocation,\n previousLocation,\n target\n ]),\n scrollProgress,\n scrollSnapList: scrollSnaps.map(scrollProgress.get),\n scrollSnaps,\n scrollTarget,\n scrollTo,\n slideLooper: SlideLooper(\n axis,\n viewSize,\n contentSize,\n slideSizes,\n slideSizesWithGaps,\n snaps,\n scrollSnaps,\n offsetLocation,\n slides\n ),\n slideFocus,\n slidesHandler: SlidesHandler(container, eventHandler, watchSlides),\n slidesInView,\n slideIndexes,\n slideRegistry,\n slidesToScroll,\n target,\n translate: Translate(axis, container)\n }\n\n return engine\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\n\ntype CallbackType = (emblaApi: EmblaCarouselType, evt: EmblaEventType) => void\ntype ListenersType = Partial<{ [key in EmblaEventType]: CallbackType[] }>\n\nexport type EmblaEventType = EmblaEventListType[keyof EmblaEventListType]\n\nexport interface EmblaEventListType {\n init: 'init'\n pointerDown: 'pointerDown'\n pointerUp: 'pointerUp'\n slidesChanged: 'slidesChanged'\n slidesInView: 'slidesInView'\n scroll: 'scroll'\n select: 'select'\n settle: 'settle'\n destroy: 'destroy'\n reInit: 'reInit'\n resize: 'resize'\n slideFocusStart: 'slideFocusStart'\n slideFocus: 'slideFocus'\n}\n\nexport type EventHandlerType = {\n init: (emblaApi: EmblaCarouselType) => void\n emit: (evt: EmblaEventType) => EventHandlerType\n on: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType\n off: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType\n clear: () => void\n}\n\nexport function EventHandler(): EventHandlerType {\n let listeners: ListenersType = {}\n let api: EmblaCarouselType\n\n function init(emblaApi: EmblaCarouselType): void {\n api = emblaApi\n }\n\n function getListeners(evt: EmblaEventType): CallbackType[] {\n return listeners[evt] || []\n }\n\n function emit(evt: EmblaEventType): EventHandlerType {\n getListeners(evt).forEach((e) => e(api, evt))\n return self\n }\n\n function on(evt: EmblaEventType, cb: CallbackType): EventHandlerType {\n listeners[evt] = getListeners(evt).concat([cb])\n return self\n }\n\n function off(evt: EmblaEventType, cb: CallbackType): EventHandlerType {\n listeners[evt] = getListeners(evt).filter((e) => e !== cb)\n return self\n }\n\n function clear(): void {\n listeners = {}\n }\n\n const self: EventHandlerType = {\n init,\n emit,\n off,\n on,\n clear\n }\n return self\n}\n","import { AlignmentOptionType } from './Alignment'\nimport { AxisDirectionOptionType, AxisOptionType } from './Axis'\nimport { SlidesToScrollOptionType } from './SlidesToScroll'\nimport { ScrollContainOptionType } from './ScrollContain'\nimport { DragHandlerOptionType } from './DragHandler'\nimport { ResizeHandlerOptionType } from './ResizeHandler'\nimport { SlidesHandlerOptionType } from './SlidesHandler'\nimport { SlidesInViewOptionsType } from './SlidesInView'\nimport { FocusHandlerOptionType } from './SlideFocus'\n\nexport type LooseOptionsType = {\n [key: string]: unknown\n}\n\nexport type CreateOptionsType = Type & {\n active: boolean\n breakpoints: {\n [key: string]: Omit>, 'breakpoints'>\n }\n}\n\nexport type OptionsType = CreateOptionsType<{\n align: AlignmentOptionType\n axis: AxisOptionType\n container: string | HTMLElement | null\n slides: string | HTMLElement[] | NodeListOf | null\n containScroll: ScrollContainOptionType\n direction: AxisDirectionOptionType\n slidesToScroll: SlidesToScrollOptionType\n dragFree: boolean\n dragThreshold: number\n inViewThreshold: SlidesInViewOptionsType\n loop: boolean\n skipSnaps: boolean\n duration: number\n startIndex: number\n watchDrag: DragHandlerOptionType\n watchResize: ResizeHandlerOptionType\n watchSlides: SlidesHandlerOptionType\n watchFocus: FocusHandlerOptionType\n}>\n\nexport const defaultOptions: OptionsType = {\n align: 'center',\n axis: 'x',\n container: null,\n slides: null,\n containScroll: 'trimSnaps',\n direction: 'ltr',\n slidesToScroll: 1,\n inViewThreshold: 0,\n breakpoints: {},\n dragFree: false,\n dragThreshold: 10,\n loop: false,\n skipSnaps: false,\n duration: 25,\n startIndex: 0,\n active: true,\n watchDrag: true,\n watchResize: true,\n watchSlides: true,\n watchFocus: true\n}\n\nexport type EmblaOptionsType = Partial\n","import { LooseOptionsType, CreateOptionsType } from './Options'\nimport { objectKeys, objectsMergeDeep, WindowType } from './utils'\n\ntype OptionsType = Partial>\n\nexport type OptionsHandlerType = {\n mergeOptions: (\n optionsA: TypeA,\n optionsB?: TypeB\n ) => TypeA\n optionsAtMedia: (options: Type) => Type\n optionsMediaQueries: (optionsList: OptionsType[]) => MediaQueryList[]\n}\n\nexport function OptionsHandler(ownerWindow: WindowType): OptionsHandlerType {\n function mergeOptions(\n optionsA: TypeA,\n optionsB?: TypeB\n ): TypeA {\n return objectsMergeDeep(optionsA, optionsB || {})\n }\n\n function optionsAtMedia(options: Type): Type {\n const optionsAtMedia = options.breakpoints || {}\n const matchedMediaOptions = objectKeys(optionsAtMedia)\n .filter((media) => ownerWindow.matchMedia(media).matches)\n .map((media) => optionsAtMedia[media])\n .reduce((a, mediaOption) => mergeOptions(a, mediaOption), {})\n\n return mergeOptions(options, matchedMediaOptions)\n }\n\n function optionsMediaQueries(optionsList: OptionsType[]): MediaQueryList[] {\n return optionsList\n .map((options) => objectKeys(options.breakpoints || {}))\n .reduce((acc, mediaQueries) => acc.concat(mediaQueries), [])\n .map(ownerWindow.matchMedia)\n }\n\n const self: OptionsHandlerType = {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n }\n return self\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\nimport { OptionsHandlerType } from './OptionsHandler'\nimport { EmblaPluginsType, EmblaPluginType } from './Plugins'\n\nexport type PluginsHandlerType = {\n init: (\n emblaApi: EmblaCarouselType,\n plugins: EmblaPluginType[]\n ) => EmblaPluginsType\n destroy: () => void\n}\n\nexport function PluginsHandler(\n optionsHandler: OptionsHandlerType\n): PluginsHandlerType {\n let activePlugins: EmblaPluginType[] = []\n\n function init(\n emblaApi: EmblaCarouselType,\n plugins: EmblaPluginType[]\n ): EmblaPluginsType {\n activePlugins = plugins.filter(\n ({ options }) => optionsHandler.optionsAtMedia(options).active !== false\n )\n activePlugins.forEach((plugin) => plugin.init(emblaApi, optionsHandler))\n\n return plugins.reduce(\n (map, plugin) => Object.assign(map, { [plugin.name]: plugin }),\n {}\n )\n }\n\n function destroy(): void {\n activePlugins = activePlugins.filter((plugin) => plugin.destroy())\n }\n\n const self: PluginsHandlerType = {\n init,\n destroy\n }\n return self\n}\n","import { Engine, EngineType } from './Engine'\nimport { EventStore } from './EventStore'\nimport { EventHandler, EventHandlerType } from './EventHandler'\nimport { defaultOptions, EmblaOptionsType, OptionsType } from './Options'\nimport { OptionsHandler } from './OptionsHandler'\nimport { PluginsHandler } from './PluginsHandler'\nimport { EmblaPluginsType, EmblaPluginType } from './Plugins'\nimport { isString, WindowType } from './utils'\n\nexport type EmblaCarouselType = {\n canScrollNext: () => boolean\n canScrollPrev: () => boolean\n containerNode: () => HTMLElement\n internalEngine: () => EngineType\n destroy: () => void\n off: EventHandlerType['off']\n on: EventHandlerType['on']\n emit: EventHandlerType['emit']\n plugins: () => EmblaPluginsType\n previousScrollSnap: () => number\n reInit: (options?: EmblaOptionsType, plugins?: EmblaPluginType[]) => void\n rootNode: () => HTMLElement\n scrollNext: (jump?: boolean) => void\n scrollPrev: (jump?: boolean) => void\n scrollProgress: () => number\n scrollSnapList: () => number[]\n scrollTo: (index: number, jump?: boolean) => void\n selectedScrollSnap: () => number\n slideNodes: () => HTMLElement[]\n slidesInView: () => number[]\n slidesNotInView: () => number[]\n}\n\nfunction EmblaCarousel(\n root: HTMLElement,\n userOptions?: EmblaOptionsType,\n userPlugins?: EmblaPluginType[]\n): EmblaCarouselType {\n const ownerDocument = root.ownerDocument\n const ownerWindow = ownerDocument.defaultView\n const optionsHandler = OptionsHandler(ownerWindow)\n const pluginsHandler = PluginsHandler(optionsHandler)\n const mediaHandlers = EventStore()\n const eventHandler = EventHandler()\n const { mergeOptions, optionsAtMedia, optionsMediaQueries } = optionsHandler\n const { on, off, emit } = eventHandler\n const reInit = reActivate\n\n let destroyed = false\n let engine: EngineType\n let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions)\n let options = mergeOptions(optionsBase)\n let pluginList: EmblaPluginType[] = []\n let pluginApis: EmblaPluginsType\n\n let container: HTMLElement\n let slides: HTMLElement[]\n\n function storeElements(): void {\n const { container: userContainer, slides: userSlides } = options\n\n const customContainer = isString(userContainer)\n ? root.querySelector(userContainer)\n : userContainer\n container = (customContainer || root.children[0])\n\n const customSlides = isString(userSlides)\n ? container.querySelectorAll(userSlides)\n : userSlides\n slides = [].slice.call(customSlides || container.children)\n }\n\n function createEngine(options: OptionsType): EngineType {\n const engine = Engine(\n root,\n container,\n slides,\n ownerDocument,\n ownerWindow,\n options,\n eventHandler\n )\n\n if (options.loop && !engine.slideLooper.canLoop()) {\n const optionsWithoutLoop = Object.assign({}, options, { loop: false })\n return createEngine(optionsWithoutLoop)\n }\n return engine\n }\n\n function activate(\n withOptions?: EmblaOptionsType,\n withPlugins?: EmblaPluginType[]\n ): void {\n if (destroyed) return\n\n optionsBase = mergeOptions(optionsBase, withOptions)\n options = optionsAtMedia(optionsBase)\n pluginList = withPlugins || pluginList\n\n storeElements()\n\n engine = createEngine(options)\n\n optionsMediaQueries([\n optionsBase,\n ...pluginList.map(({ options }) => options)\n ]).forEach((query) => mediaHandlers.add(query, 'change', reActivate))\n\n if (!options.active) return\n\n engine.translate.to(engine.location.get())\n engine.animation.init()\n engine.slidesInView.init()\n engine.slideFocus.init(self)\n engine.eventHandler.init(self)\n engine.resizeHandler.init(self)\n engine.slidesHandler.init(self)\n\n if (engine.options.loop) engine.slideLooper.loop()\n if (container.offsetParent && slides.length) engine.dragHandler.init(self)\n\n pluginApis = pluginsHandler.init(self, pluginList)\n }\n\n function reActivate(\n withOptions?: EmblaOptionsType,\n withPlugins?: EmblaPluginType[]\n ): void {\n const startIndex = selectedScrollSnap()\n deActivate()\n activate(mergeOptions({ startIndex }, withOptions), withPlugins)\n eventHandler.emit('reInit')\n }\n\n function deActivate(): void {\n engine.dragHandler.destroy()\n engine.eventStore.clear()\n engine.translate.clear()\n engine.slideLooper.clear()\n engine.resizeHandler.destroy()\n engine.slidesHandler.destroy()\n engine.slidesInView.destroy()\n engine.animation.destroy()\n pluginsHandler.destroy()\n mediaHandlers.clear()\n }\n\n function destroy(): void {\n if (destroyed) return\n destroyed = true\n mediaHandlers.clear()\n deActivate()\n eventHandler.emit('destroy')\n eventHandler.clear()\n }\n\n function scrollTo(index: number, jump?: boolean, direction?: number): void {\n if (!options.active || destroyed) return\n engine.scrollBody\n .useBaseFriction()\n .useDuration(jump === true ? 0 : options.duration)\n engine.scrollTo.index(index, direction || 0)\n }\n\n function scrollNext(jump?: boolean): void {\n const next = engine.index.add(1).get()\n scrollTo(next, jump, -1)\n }\n\n function scrollPrev(jump?: boolean): void {\n const prev = engine.index.add(-1).get()\n scrollTo(prev, jump, 1)\n }\n\n function canScrollNext(): boolean {\n const next = engine.index.add(1).get()\n return next !== selectedScrollSnap()\n }\n\n function canScrollPrev(): boolean {\n const prev = engine.index.add(-1).get()\n return prev !== selectedScrollSnap()\n }\n\n function scrollSnapList(): number[] {\n return engine.scrollSnapList\n }\n\n function scrollProgress(): number {\n return engine.scrollProgress.get(engine.offsetLocation.get())\n }\n\n function selectedScrollSnap(): number {\n return engine.index.get()\n }\n\n function previousScrollSnap(): number {\n return engine.indexPrevious.get()\n }\n\n function slidesInView(): number[] {\n return engine.slidesInView.get()\n }\n\n function slidesNotInView(): number[] {\n return engine.slidesInView.get(false)\n }\n\n function plugins(): EmblaPluginsType {\n return pluginApis\n }\n\n function internalEngine(): EngineType {\n return engine\n }\n\n function rootNode(): HTMLElement {\n return root\n }\n\n function containerNode(): HTMLElement {\n return container\n }\n\n function slideNodes(): HTMLElement[] {\n return slides\n }\n\n const self: EmblaCarouselType = {\n canScrollNext,\n canScrollPrev,\n containerNode,\n internalEngine,\n destroy,\n off,\n on,\n emit,\n plugins,\n previousScrollSnap,\n reInit,\n rootNode,\n scrollNext,\n scrollPrev,\n scrollProgress,\n scrollSnapList,\n scrollTo,\n selectedScrollSnap,\n slideNodes,\n slidesInView,\n slidesNotInView\n }\n\n activate(userOptions, userPlugins)\n setTimeout(() => eventHandler.emit('init'), 0)\n return self\n}\n\ndeclare namespace EmblaCarousel {\n let globalOptions: EmblaOptionsType | undefined\n}\n\nEmblaCarousel.globalOptions = undefined\n\nexport default EmblaCarousel\n"],"names":["isNumber","subject","isString","isBoolean","isObject","Object","prototype","toString","call","mathAbs","n","Math","abs","mathSign","sign","deltaAbs","valueB","valueA","factorAbs","diff","roundToTwoDecimals","num","round","arrayKeys","array","objectKeys","map","Number","arrayLast","arrayLastIndex","max","length","arrayIsLastIndex","index","arrayFromNumber","startAt","Array","from","_","i","object","keys","objectsMergeDeep","objectA","objectB","reduce","mergedObjects","currentObject","forEach","key","areObjects","isMouseEvent","evt","ownerWindow","MouseEvent","Alignment","align","viewSize","predefined","start","center","end","measure","self","EventStore","listeners","add","node","type","handler","options","passive","removeListener","addEventListener","removeEventListener","legacyMediaQueryList","addListener","push","clear","filter","remove","Animations","ownerDocument","update","render","documentVisibleHandler","fixedTimeStep","lastTimeStamp","accumulatedTime","animationId","init","hidden","reset","destroy","stop","animate","timeStamp","timeElapsed","alpha","requestAnimationFrame","cancelAnimationFrame","Axis","axis","contentDirection","isRightToLeft","isVertical","scroll","cross","startEdge","getStartEdge","endEdge","getEndEdge","measureSize","nodeRect","height","width","direction","Limit","min","reachedMin","reachedMax","reachedAny","constrain","removeOffset","ceil","Counter","loop","loopEnd","counter","withinLimit","get","set","clone","DragHandler","rootNode","target","dragTracker","location","animation","scrollTo","scrollBody","scrollTarget","eventHandler","percentOfView","dragFree","dragThreshold","skipSnaps","baseFriction","watchDrag","crossAxis","focusNodes","nonPassiveEvent","initEvents","dragEvents","goToNextThreshold","snapForceBoost","mouse","touch","freeForceBoost","baseSpeed","isMoving","startScroll","startCross","pointerIsDown","preventScroll","preventClick","isMouse","emblaApi","downIfAllowed","down","preventDefault","undefined","up","click","addDragEvents","move","isFocusNode","nodeName","includes","forceBoost","boost","allowedForce","force","targetChanged","next","baseForce","byDistance","distance","byIndex","isMouseEvt","buttons","button","pointerDown","useFriction","useDuration","readPoint","emit","isTouchEvt","touches","lastScroll","lastCross","diffScroll","diffCross","cancelable","pointerMove","currentLocation","rawForce","pointerUp","forceFactor","speed","friction","stopPropagation","DragTracker","logInterval","startEvent","lastEvent","readTime","evtAxis","property","coord","expired","diffDrag","diffTime","isFlick","NodeRects","offsetTop","offsetLeft","offsetWidth","offsetHeight","offset","top","right","bottom","left","PercentOfView","ResizeHandler","container","slides","watchResize","nodeRects","observeNodes","concat","resizeObserver","containerSize","slideSizes","destroyed","readSize","defaultCallback","entries","entry","isContainer","slideIndex","indexOf","lastSize","newSize","diffSize","reInit","ResizeObserver","observe","disconnect","ScrollBody","offsetLocation","previousLocation","baseDuration","scrollVelocity","scrollDirection","scrollDuration","scrollFriction","rawLocation","rawLocationPrevious","seek","displacement","isInstant","scrollDistance","settled","duration","velocity","useBaseDuration","useBaseFriction","ScrollBounds","limit","pullBackThreshold","edgeOffsetTolerance","frictionLimit","disabled","shouldConstrain","edge","diffToEdge","diffToTarget","subtract","toggleActive","active","ScrollContain","contentSize","snapsAligned","containScroll","pixelTolerance","scrollBounds","snapsBounded","measureBounded","scrollContainLimit","findScrollContainLimit","snapsContained","measureContained","usePixelTolerance","bound","snap","startSnap","endSnap","lastIndexOf","snapAligned","isFirst","isLast","scrollBound","parseFloat","toFixed","slice","ScrollLimit","scrollSnaps","ScrollLooper","vectors","jointSafety","shouldLoop","loopDistance","v","ScrollProgress","ScrollSnaps","alignment","containerRect","slideRects","slidesToScroll","groupSlides","alignments","measureSizes","snaps","measureUnaligned","measureAligned","rects","rect","g","SlideRegistry","containSnaps","slideIndexes","slideRegistry","createSlideRegistry","groupedSlideIndexes","doNotContain","group","groups","range","ScrollTarget","targetVector","minDistance","distances","sort","a","b","findTargetSnap","ascDiffsToSnaps","shortcut","d1","d2","targets","matchingTargets","t","diffToSnap","targetSnapDistance","reachedBound","snapDistance","ScrollTo","indexCurrent","indexPrevious","distanceDiff","indexDiff","targetIndex","SlideFocus","root","eventStore","watchFocus","focusListenerOptions","capture","lastTabPressTime","nowTime","Date","getTime","scrollLeft","findIndex","document","registerTabPress","slide","event","code","Vector1D","initialValue","value","normalizeInput","Translate","translate","x","y","containerStyle","style","previousTarget","to","newTarget","transform","getAttribute","removeAttribute","SlideLooper","slideSizesWithGaps","roundingSafety","ascItems","descItems","reverse","loopPoints","startPoints","endPoints","removeSlideSizes","indexes","slidesInGap","gap","remainingGap","findSlideBounds","findLoopPoints","isEndEdge","slideBounds","initial","altered","boundEdge","loopPoint","slideLocation","canLoop","every","otherIndexes","shiftLocation","SlidesHandler","watchSlides","mutationObserver","mutations","mutation","MutationObserver","childList","SlidesInView","threshold","intersectionEntryMap","inViewCache","notInViewCache","intersectionObserver","IntersectionObserver","parentElement","createInViewList","inView","list","parseInt","isIntersecting","inViewMatch","notInViewMatch","SlideSizes","readEdgeGap","withEdgeGap","startGap","measureStartGap","endGap","measureEndGap","measureWithGaps","slideRect","getComputedStyle","getPropertyValue","SlidesToScroll","groupByNumber","byNumber","groupSize","bySize","rectB","rectA","edgeA","edgeB","gapA","gapB","chunkSize","currentSize","previousSize","Engine","scrollAxis","startIndex","inViewThreshold","dragHandler","scrollLooper","slideLooper","shouldSettle","withinBounds","hasSettled","hasSettledAndIdle","interpolatedLocation","engine","startLocation","scrollProgress","slidesInView","slideFocus","resizeHandler","scrollSnapList","slidesHandler","EventHandler","api","getListeners","e","on","cb","off","defaultOptions","breakpoints","OptionsHandler","mergeOptions","optionsA","optionsB","optionsAtMedia","matchedMediaOptions","media","matchMedia","matches","mediaOption","optionsMediaQueries","optionsList","acc","mediaQueries","PluginsHandler","optionsHandler","activePlugins","plugins","plugin","assign","name","EmblaCarousel","userOptions","userPlugins","defaultView","pluginsHandler","mediaHandlers","reActivate","optionsBase","globalOptions","pluginList","pluginApis","storeElements","userContainer","userSlides","customContainer","querySelector","children","customSlides","querySelectorAll","createEngine","optionsWithoutLoop","activate","withOptions","withPlugins","query","offsetParent","selectedScrollSnap","deActivate","jump","scrollNext","scrollPrev","prev","canScrollNext","canScrollPrev","previousScrollSnap","slidesNotInView","internalEngine","containerNode","slideNodes","setTimeout"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/index.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/index.d.ts deleted file mode 100644 index aab7131a9f..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export { EmblaOptionsType } from './components/Options'; -export { EmblaEventType } from './components/EventHandler'; -export { EmblaPluginType } from './components/Plugins'; -export { EmblaCarouselType } from './components/EmblaCarousel'; -export { default } from './components/EmblaCarousel'; -export { CreatePluginType, EmblaPluginsType } from './components/Plugins'; -export { CreateOptionsType } from './components/Options'; -export { OptionsHandlerType } from './components/OptionsHandler'; -export { EmblaEventListType } from './components/EventHandler'; -export { EngineType } from './components/Engine'; -export { ScrollBodyType } from './components/ScrollBody'; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/package.json b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/package.json deleted file mode 100644 index 91c98da6cb..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "embla-carousel", - "version": "8.6.0", - "author": "David Jerleke", - "description": "A lightweight carousel library with fluid motion and great swipe precision", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel*", - "components/**/*", - "index.d.ts" - ], - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "main": "embla-carousel.cjs.js", - "type": "commonjs" -} diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Alignment.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Alignment.d.ts deleted file mode 100644 index 72f1015b7b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Alignment.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type AlignmentOptionType = 'start' | 'center' | 'end' | ((viewSize: number, snapSize: number, index: number) => number); -export type AlignmentType = { - measure: (n: number, index: number) => number; -}; -export declare function Alignment(align: AlignmentOptionType, viewSize: number): AlignmentType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Animations.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Animations.d.ts deleted file mode 100644 index 693defa7e7..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Animations.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { EngineType } from './Engine'; -import { WindowType } from './utils'; -export type AnimationsUpdateType = (engine: EngineType) => void; -export type AnimationsRenderType = (engine: EngineType, alpha: number) => void; -export type AnimationsType = { - init: () => void; - destroy: () => void; - start: () => void; - stop: () => void; - update: () => void; - render: (alpha: number) => void; -}; -export declare function Animations(ownerDocument: Document, ownerWindow: WindowType, update: () => void, render: (alpha: number) => void): AnimationsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Axis.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Axis.d.ts deleted file mode 100644 index a0735f7e04..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Axis.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NodeRectType } from './NodeRects'; -export type AxisOptionType = 'x' | 'y'; -export type AxisDirectionOptionType = 'ltr' | 'rtl'; -type AxisEdgeType = 'top' | 'right' | 'bottom' | 'left'; -export type AxisType = { - scroll: AxisOptionType; - cross: AxisOptionType; - startEdge: AxisEdgeType; - endEdge: AxisEdgeType; - measureSize: (nodeRect: NodeRectType) => number; - direction: (n: number) => number; -}; -export declare function Axis(axis: AxisOptionType, contentDirection: AxisDirectionOptionType): AxisType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Counter.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Counter.d.ts deleted file mode 100644 index 964a47d838..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Counter.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type CounterType = { - get: () => number; - set: (n: number) => CounterType; - add: (n: number) => CounterType; - clone: () => CounterType; -}; -export declare function Counter(max: number, start: number, loop: boolean): CounterType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/DragHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/DragHandler.d.ts deleted file mode 100644 index 0685db222c..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/DragHandler.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -import { AnimationsType } from './Animations'; -import { CounterType } from './Counter'; -import { DragTrackerType, PointerEventType } from './DragTracker'; -import { EventHandlerType } from './EventHandler'; -import { AxisType } from './Axis'; -import { ScrollBodyType } from './ScrollBody'; -import { ScrollTargetType } from './ScrollTarget'; -import { ScrollToType } from './ScrollTo'; -import { Vector1DType } from './Vector1d'; -import { PercentOfViewType } from './PercentOfView'; -import { WindowType } from './utils'; -type DragHandlerCallbackType = (emblaApi: EmblaCarouselType, evt: PointerEventType) => boolean | void; -export type DragHandlerOptionType = boolean | DragHandlerCallbackType; -export type DragHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; - pointerDown: () => boolean; -}; -export declare function DragHandler(axis: AxisType, rootNode: HTMLElement, ownerDocument: Document, ownerWindow: WindowType, target: Vector1DType, dragTracker: DragTrackerType, location: Vector1DType, animation: AnimationsType, scrollTo: ScrollToType, scrollBody: ScrollBodyType, scrollTarget: ScrollTargetType, index: CounterType, eventHandler: EventHandlerType, percentOfView: PercentOfViewType, dragFree: boolean, dragThreshold: number, skipSnaps: boolean, baseFriction: number, watchDrag: DragHandlerOptionType): DragHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/DragTracker.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/DragTracker.d.ts deleted file mode 100644 index 0f4b4cb4a0..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/DragTracker.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AxisOptionType, AxisType } from './Axis'; -import { WindowType } from './utils'; -export type PointerEventType = TouchEvent | MouseEvent; -export type DragTrackerType = { - pointerDown: (evt: PointerEventType) => number; - pointerMove: (evt: PointerEventType) => number; - pointerUp: (evt: PointerEventType) => number; - readPoint: (evt: PointerEventType, evtAxis?: AxisOptionType) => number; -}; -export declare function DragTracker(axis: AxisType, ownerWindow: WindowType): DragTrackerType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EmblaCarousel.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EmblaCarousel.d.ts deleted file mode 100644 index 5ad21c978a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EmblaCarousel.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { EngineType } from './Engine'; -import { EventHandlerType } from './EventHandler'; -import { EmblaOptionsType } from './Options'; -import { EmblaPluginsType, EmblaPluginType } from './Plugins'; -export type EmblaCarouselType = { - canScrollNext: () => boolean; - canScrollPrev: () => boolean; - containerNode: () => HTMLElement; - internalEngine: () => EngineType; - destroy: () => void; - off: EventHandlerType['off']; - on: EventHandlerType['on']; - emit: EventHandlerType['emit']; - plugins: () => EmblaPluginsType; - previousScrollSnap: () => number; - reInit: (options?: EmblaOptionsType, plugins?: EmblaPluginType[]) => void; - rootNode: () => HTMLElement; - scrollNext: (jump?: boolean) => void; - scrollPrev: (jump?: boolean) => void; - scrollProgress: () => number; - scrollSnapList: () => number[]; - scrollTo: (index: number, jump?: boolean) => void; - selectedScrollSnap: () => number; - slideNodes: () => HTMLElement[]; - slidesInView: () => number[]; - slidesNotInView: () => number[]; -}; -declare function EmblaCarousel(root: HTMLElement, userOptions?: EmblaOptionsType, userPlugins?: EmblaPluginType[]): EmblaCarouselType; -declare namespace EmblaCarousel { - let globalOptions: EmblaOptionsType | undefined; -} -export default EmblaCarousel; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Engine.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Engine.d.ts deleted file mode 100644 index 18071b0136..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Engine.d.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { AnimationsType } from './Animations'; -import { AxisType } from './Axis'; -import { CounterType } from './Counter'; -import { DragHandlerType } from './DragHandler'; -import { EventHandlerType } from './EventHandler'; -import { EventStoreType } from './EventStore'; -import { LimitType } from './Limit'; -import { NodeRectType } from './NodeRects'; -import { OptionsType } from './Options'; -import { PercentOfViewType } from './PercentOfView'; -import { ResizeHandlerType } from './ResizeHandler'; -import { ScrollBodyType } from './ScrollBody'; -import { ScrollBoundsType } from './ScrollBounds'; -import { ScrollLooperType } from './ScrollLooper'; -import { ScrollProgressType } from './ScrollProgress'; -import { SlideRegistryType } from './SlideRegistry'; -import { ScrollTargetType } from './ScrollTarget'; -import { ScrollToType } from './ScrollTo'; -import { SlideFocusType } from './SlideFocus'; -import { SlideLooperType } from './SlideLooper'; -import { SlidesHandlerType } from './SlidesHandler'; -import { SlidesInViewType } from './SlidesInView'; -import { SlidesToScrollType } from './SlidesToScroll'; -import { TranslateType } from './Translate'; -import { WindowType } from './utils'; -import { Vector1DType } from './Vector1d'; -export type EngineType = { - ownerDocument: Document; - ownerWindow: WindowType; - eventHandler: EventHandlerType; - axis: AxisType; - animation: AnimationsType; - scrollBounds: ScrollBoundsType; - scrollLooper: ScrollLooperType; - scrollProgress: ScrollProgressType; - index: CounterType; - indexPrevious: CounterType; - limit: LimitType; - location: Vector1DType; - offsetLocation: Vector1DType; - previousLocation: Vector1DType; - options: OptionsType; - percentOfView: PercentOfViewType; - scrollBody: ScrollBodyType; - dragHandler: DragHandlerType; - eventStore: EventStoreType; - slideLooper: SlideLooperType; - slidesInView: SlidesInViewType; - slidesToScroll: SlidesToScrollType; - target: Vector1DType; - translate: TranslateType; - resizeHandler: ResizeHandlerType; - slidesHandler: SlidesHandlerType; - scrollTo: ScrollToType; - scrollTarget: ScrollTargetType; - scrollSnapList: number[]; - scrollSnaps: number[]; - slideIndexes: number[]; - slideFocus: SlideFocusType; - slideRegistry: SlideRegistryType['slideRegistry']; - containerRect: NodeRectType; - slideRects: NodeRectType[]; -}; -export declare function Engine(root: HTMLElement, container: HTMLElement, slides: HTMLElement[], ownerDocument: Document, ownerWindow: WindowType, options: OptionsType, eventHandler: EventHandlerType): EngineType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EventHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EventHandler.d.ts deleted file mode 100644 index 4c8159f16e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EventHandler.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -type CallbackType = (emblaApi: EmblaCarouselType, evt: EmblaEventType) => void; -export type EmblaEventType = EmblaEventListType[keyof EmblaEventListType]; -export interface EmblaEventListType { - init: 'init'; - pointerDown: 'pointerDown'; - pointerUp: 'pointerUp'; - slidesChanged: 'slidesChanged'; - slidesInView: 'slidesInView'; - scroll: 'scroll'; - select: 'select'; - settle: 'settle'; - destroy: 'destroy'; - reInit: 'reInit'; - resize: 'resize'; - slideFocusStart: 'slideFocusStart'; - slideFocus: 'slideFocus'; -} -export type EventHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - emit: (evt: EmblaEventType) => EventHandlerType; - on: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType; - off: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType; - clear: () => void; -}; -export declare function EventHandler(): EventHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EventStore.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EventStore.d.ts deleted file mode 100644 index 8b0f89ed6a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/EventStore.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -type EventNameType = keyof DocumentEventMap | keyof WindowEventMap; -type EventHandlerType = (evt: any) => void; -type EventOptionsType = boolean | AddEventListenerOptions | undefined; -export type EventStoreType = { - add: (node: EventTarget, type: EventNameType, handler: EventHandlerType, options?: EventOptionsType) => EventStoreType; - clear: () => void; -}; -export declare function EventStore(): EventStoreType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Limit.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Limit.d.ts deleted file mode 100644 index b6499b04a8..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Limit.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type LimitType = { - min: number; - max: number; - length: number; - constrain: (n: number) => number; - reachedAny: (n: number) => boolean; - reachedMax: (n: number) => boolean; - reachedMin: (n: number) => boolean; - removeOffset: (n: number) => number; -}; -export declare function Limit(min?: number, max?: number): LimitType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/NodeRects.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/NodeRects.d.ts deleted file mode 100644 index c76623b8e7..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/NodeRects.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type NodeRectType = { - top: number; - right: number; - bottom: number; - left: number; - width: number; - height: number; -}; -export type NodeRectsType = { - measure: (node: HTMLElement) => NodeRectType; -}; -export declare function NodeRects(): NodeRectsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Options.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Options.d.ts deleted file mode 100644 index 168867d04a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Options.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { AlignmentOptionType } from './Alignment'; -import { AxisDirectionOptionType, AxisOptionType } from './Axis'; -import { SlidesToScrollOptionType } from './SlidesToScroll'; -import { ScrollContainOptionType } from './ScrollContain'; -import { DragHandlerOptionType } from './DragHandler'; -import { ResizeHandlerOptionType } from './ResizeHandler'; -import { SlidesHandlerOptionType } from './SlidesHandler'; -import { SlidesInViewOptionsType } from './SlidesInView'; -import { FocusHandlerOptionType } from './SlideFocus'; -export type LooseOptionsType = { - [key: string]: unknown; -}; -export type CreateOptionsType = Type & { - active: boolean; - breakpoints: { - [key: string]: Omit>, 'breakpoints'>; - }; -}; -export type OptionsType = CreateOptionsType<{ - align: AlignmentOptionType; - axis: AxisOptionType; - container: string | HTMLElement | null; - slides: string | HTMLElement[] | NodeListOf | null; - containScroll: ScrollContainOptionType; - direction: AxisDirectionOptionType; - slidesToScroll: SlidesToScrollOptionType; - dragFree: boolean; - dragThreshold: number; - inViewThreshold: SlidesInViewOptionsType; - loop: boolean; - skipSnaps: boolean; - duration: number; - startIndex: number; - watchDrag: DragHandlerOptionType; - watchResize: ResizeHandlerOptionType; - watchSlides: SlidesHandlerOptionType; - watchFocus: FocusHandlerOptionType; -}>; -export declare const defaultOptions: OptionsType; -export type EmblaOptionsType = Partial; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/OptionsHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/OptionsHandler.d.ts deleted file mode 100644 index 54ed8aa7ac..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/OptionsHandler.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LooseOptionsType, CreateOptionsType } from './Options'; -import { WindowType } from './utils'; -type OptionsType = Partial>; -export type OptionsHandlerType = { - mergeOptions: (optionsA: TypeA, optionsB?: TypeB) => TypeA; - optionsAtMedia: (options: Type) => Type; - optionsMediaQueries: (optionsList: OptionsType[]) => MediaQueryList[]; -}; -export declare function OptionsHandler(ownerWindow: WindowType): OptionsHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/PercentOfView.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/PercentOfView.d.ts deleted file mode 100644 index b51b35a13b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/PercentOfView.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type PercentOfViewType = { - measure: (n: number) => number; -}; -export declare function PercentOfView(viewSize: number): PercentOfViewType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Plugins.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Plugins.d.ts deleted file mode 100644 index 9518557993..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Plugins.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { CreateOptionsType, LooseOptionsType } from './Options'; -import { EmblaCarouselType } from './EmblaCarousel'; -import { OptionsHandlerType } from './OptionsHandler'; -export type LoosePluginType = { - [key: string]: unknown; -}; -export type CreatePluginType = TypeA & { - name: string; - options: Partial>; - init: (embla: EmblaCarouselType, OptionsHandler: OptionsHandlerType) => void; - destroy: () => void; -}; -export interface EmblaPluginsType { - [key: string]: CreatePluginType; -} -export type EmblaPluginType = EmblaPluginsType[keyof EmblaPluginsType]; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/PluginsHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/PluginsHandler.d.ts deleted file mode 100644 index da2688d0b4..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/PluginsHandler.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -import { OptionsHandlerType } from './OptionsHandler'; -import { EmblaPluginsType, EmblaPluginType } from './Plugins'; -export type PluginsHandlerType = { - init: (emblaApi: EmblaCarouselType, plugins: EmblaPluginType[]) => EmblaPluginsType; - destroy: () => void; -}; -export declare function PluginsHandler(optionsHandler: OptionsHandlerType): PluginsHandlerType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ResizeHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ResizeHandler.d.ts deleted file mode 100644 index 111a58d053..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ResizeHandler.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { AxisType } from './Axis'; -import { EmblaCarouselType } from './EmblaCarousel'; -import { EventHandlerType } from './EventHandler'; -import { NodeRectsType } from './NodeRects'; -import { WindowType } from './utils'; -type ResizeHandlerCallbackType = (emblaApi: EmblaCarouselType, entries: ResizeObserverEntry[]) => boolean | void; -export type ResizeHandlerOptionType = boolean | ResizeHandlerCallbackType; -export type ResizeHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; -}; -export declare function ResizeHandler(container: HTMLElement, eventHandler: EventHandlerType, ownerWindow: WindowType, slides: HTMLElement[], axis: AxisType, watchResize: ResizeHandlerOptionType, nodeRects: NodeRectsType): ResizeHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollBody.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollBody.d.ts deleted file mode 100644 index d7dc7d5e57..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollBody.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Vector1DType } from './Vector1d'; -export type ScrollBodyType = { - direction: () => number; - duration: () => number; - velocity: () => number; - seek: () => ScrollBodyType; - settled: () => boolean; - useBaseFriction: () => ScrollBodyType; - useBaseDuration: () => ScrollBodyType; - useFriction: (n: number) => ScrollBodyType; - useDuration: (n: number) => ScrollBodyType; -}; -export declare function ScrollBody(location: Vector1DType, offsetLocation: Vector1DType, previousLocation: Vector1DType, target: Vector1DType, baseDuration: number, baseFriction: number): ScrollBodyType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollBounds.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollBounds.d.ts deleted file mode 100644 index d040f09a2d..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollBounds.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LimitType } from './Limit'; -import { ScrollBodyType } from './ScrollBody'; -import { Vector1DType } from './Vector1d'; -import { PercentOfViewType } from './PercentOfView'; -export type ScrollBoundsType = { - shouldConstrain: () => boolean; - constrain: (pointerDown: boolean) => void; - toggleActive: (active: boolean) => void; -}; -export declare function ScrollBounds(limit: LimitType, location: Vector1DType, target: Vector1DType, scrollBody: ScrollBodyType, percentOfView: PercentOfViewType): ScrollBoundsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollContain.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollContain.d.ts deleted file mode 100644 index 66f5907b81..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollContain.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { LimitType } from './Limit'; -export type ScrollContainOptionType = false | 'trimSnaps' | 'keepSnaps'; -export type ScrollContainType = { - snapsContained: number[]; - scrollContainLimit: LimitType; -}; -export declare function ScrollContain(viewSize: number, contentSize: number, snapsAligned: number[], containScroll: ScrollContainOptionType, pixelTolerance: number): ScrollContainType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollLimit.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollLimit.d.ts deleted file mode 100644 index 3d417cca34..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollLimit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { LimitType } from './Limit'; -export type ScrollLimitType = { - limit: LimitType; -}; -export declare function ScrollLimit(contentSize: number, scrollSnaps: number[], loop: boolean): ScrollLimitType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollLooper.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollLooper.d.ts deleted file mode 100644 index 97b1b1ba38..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollLooper.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { LimitType } from './Limit'; -import { Vector1DType } from './Vector1d'; -export type ScrollLooperType = { - loop: (direction: number) => void; -}; -export declare function ScrollLooper(contentSize: number, limit: LimitType, location: Vector1DType, vectors: Vector1DType[]): ScrollLooperType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollProgress.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollProgress.d.ts deleted file mode 100644 index 224e4d385e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollProgress.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { LimitType } from './Limit'; -export type ScrollProgressType = { - get: (n: number) => number; -}; -export declare function ScrollProgress(limit: LimitType): ScrollProgressType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollSnaps.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollSnaps.d.ts deleted file mode 100644 index 55e7bac4f0..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollSnaps.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AlignmentType } from './Alignment'; -import { AxisType } from './Axis'; -import { NodeRectType } from './NodeRects'; -import { SlidesToScrollType } from './SlidesToScroll'; -export type ScrollSnapsType = { - snaps: number[]; - snapsAligned: number[]; -}; -export declare function ScrollSnaps(axis: AxisType, alignment: AlignmentType, containerRect: NodeRectType, slideRects: NodeRectType[], slidesToScroll: SlidesToScrollType): ScrollSnapsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollTarget.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollTarget.d.ts deleted file mode 100644 index 3d26624f0e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollTarget.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { LimitType } from './Limit'; -import { Vector1DType } from './Vector1d'; -export type TargetType = { - distance: number; - index: number; -}; -export type ScrollTargetType = { - byIndex: (target: number, direction: number) => TargetType; - byDistance: (force: number, snap: boolean) => TargetType; - shortcut: (target: number, direction: number) => number; -}; -export declare function ScrollTarget(loop: boolean, scrollSnaps: number[], contentSize: number, limit: LimitType, targetVector: Vector1DType): ScrollTargetType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollTo.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollTo.d.ts deleted file mode 100644 index 1291ed8628..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/ScrollTo.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { AnimationsType } from './Animations'; -import { CounterType } from './Counter'; -import { EventHandlerType } from './EventHandler'; -import { ScrollBodyType } from './ScrollBody'; -import { ScrollTargetType } from './ScrollTarget'; -import { Vector1DType } from './Vector1d'; -export type ScrollToType = { - distance: (n: number, snap: boolean) => void; - index: (n: number, direction: number) => void; -}; -export declare function ScrollTo(animation: AnimationsType, indexCurrent: CounterType, indexPrevious: CounterType, scrollBody: ScrollBodyType, scrollTarget: ScrollTargetType, targetVector: Vector1DType, eventHandler: EventHandlerType): ScrollToType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideFocus.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideFocus.d.ts deleted file mode 100644 index 6f962aae8a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideFocus.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -import { EventHandlerType } from './EventHandler'; -import { EventStoreType } from './EventStore'; -import { ScrollBodyType } from './ScrollBody'; -import { ScrollToType } from './ScrollTo'; -import { SlideRegistryType } from './SlideRegistry'; -type FocusHandlerCallbackType = (emblaApi: EmblaCarouselType, evt: FocusEvent) => boolean | void; -export type FocusHandlerOptionType = boolean | FocusHandlerCallbackType; -export type SlideFocusType = { - init: (emblaApi: EmblaCarouselType) => void; -}; -export declare function SlideFocus(root: HTMLElement, slides: HTMLElement[], slideRegistry: SlideRegistryType['slideRegistry'], scrollTo: ScrollToType, scrollBody: ScrollBodyType, eventStore: EventStoreType, eventHandler: EventHandlerType, watchFocus: FocusHandlerOptionType): SlideFocusType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideLooper.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideLooper.d.ts deleted file mode 100644 index bb10e7df3c..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideLooper.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { AxisType } from './Axis'; -import { Vector1DType } from './Vector1d'; -import { TranslateType } from './Translate'; -type LoopPointType = { - loopPoint: number; - index: number; - translate: TranslateType; - slideLocation: Vector1DType; - target: () => number; -}; -export type SlideLooperType = { - canLoop: () => boolean; - clear: () => void; - loop: () => void; - loopPoints: LoopPointType[]; -}; -export declare function SlideLooper(axis: AxisType, viewSize: number, contentSize: number, slideSizes: number[], slideSizesWithGaps: number[], snaps: number[], scrollSnaps: number[], location: Vector1DType, slides: HTMLElement[]): SlideLooperType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideRegistry.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideRegistry.d.ts deleted file mode 100644 index d339b15eaa..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideRegistry.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { LimitType } from './Limit'; -import { ScrollContainOptionType } from './ScrollContain'; -import { SlidesToScrollType } from './SlidesToScroll'; -export type SlideRegistryType = { - slideRegistry: number[][]; -}; -export declare function SlideRegistry(containSnaps: boolean, containScroll: ScrollContainOptionType, scrollSnaps: number[], scrollContainLimit: LimitType, slidesToScroll: SlidesToScrollType, slideIndexes: number[]): SlideRegistryType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideSizes.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideSizes.d.ts deleted file mode 100644 index 86961805cb..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlideSizes.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AxisType } from './Axis'; -import { NodeRectType } from './NodeRects'; -import { WindowType } from './utils'; -export type SlideSizesType = { - slideSizes: number[]; - slideSizesWithGaps: number[]; - startGap: number; - endGap: number; -}; -export declare function SlideSizes(axis: AxisType, containerRect: NodeRectType, slideRects: NodeRectType[], slides: HTMLElement[], readEdgeGap: boolean, ownerWindow: WindowType): SlideSizesType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesHandler.d.ts deleted file mode 100644 index 6115d5f30e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesHandler.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel'; -import { EventHandlerType } from './EventHandler'; -type SlidesHandlerCallbackType = (emblaApi: EmblaCarouselType, mutations: MutationRecord[]) => boolean | void; -export type SlidesHandlerOptionType = boolean | SlidesHandlerCallbackType; -export type SlidesHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; -}; -export declare function SlidesHandler(container: HTMLElement, eventHandler: EventHandlerType, watchSlides: SlidesHandlerOptionType): SlidesHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesInView.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesInView.d.ts deleted file mode 100644 index 943d05cd2b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesInView.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { EventHandlerType } from './EventHandler'; -export type SlidesInViewOptionsType = IntersectionObserverInit['threshold']; -export type SlidesInViewType = { - init: () => void; - destroy: () => void; - get: (inView?: boolean) => number[]; -}; -export declare function SlidesInView(container: HTMLElement, slides: HTMLElement[], eventHandler: EventHandlerType, threshold: SlidesInViewOptionsType): SlidesInViewType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesToScroll.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesToScroll.d.ts deleted file mode 100644 index 129460e4af..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/SlidesToScroll.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { AxisType } from './Axis'; -import { NodeRectType } from './NodeRects'; -export type SlidesToScrollOptionType = 'auto' | number; -export type SlidesToScrollType = { - groupSlides: (array: Type[]) => Type[][]; -}; -export declare function SlidesToScroll(axis: AxisType, viewSize: number, slidesToScroll: SlidesToScrollOptionType, loop: boolean, containerRect: NodeRectType, slideRects: NodeRectType[], startGap: number, endGap: number, pixelTolerance: number): SlidesToScrollType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Translate.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Translate.d.ts deleted file mode 100644 index 2d9c96118f..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Translate.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { AxisType } from './Axis'; -export type TranslateType = { - clear: () => void; - to: (target: number) => void; - toggleActive: (active: boolean) => void; -}; -export declare function Translate(axis: AxisType, container: HTMLElement): TranslateType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Vector1d.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Vector1d.d.ts deleted file mode 100644 index 9ff303c96b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/Vector1d.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type Vector1DType = { - get: () => number; - set: (n: Vector1DType | number) => void; - add: (n: Vector1DType | number) => void; - subtract: (n: Vector1DType | number) => void; -}; -export declare function Vector1D(initialValue: number): Vector1DType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/utils.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/utils.d.ts deleted file mode 100644 index 367767d6e8..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/components/utils.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { PointerEventType } from './DragTracker'; -export type WindowType = Window & typeof globalThis; -export declare function isNumber(subject: unknown): subject is number; -export declare function isString(subject: unknown): subject is string; -export declare function isBoolean(subject: unknown): subject is boolean; -export declare function isObject(subject: unknown): subject is Record; -export declare function mathAbs(n: number): number; -export declare function mathSign(n: number): number; -export declare function deltaAbs(valueB: number, valueA: number): number; -export declare function factorAbs(valueB: number, valueA: number): number; -export declare function roundToTwoDecimals(num: number): number; -export declare function arrayKeys(array: Type[]): number[]; -export declare function arrayLast(array: Type[]): Type; -export declare function arrayLastIndex(array: Type[]): number; -export declare function arrayIsLastIndex(array: Type[], index: number): boolean; -export declare function arrayFromNumber(n: number, startAt?: number): number[]; -export declare function objectKeys(object: Type): string[]; -export declare function objectsMergeDeep(objectA: Record, objectB: Record): Record; -export declare function isMouseEvent(evt: PointerEventType, ownerWindow: WindowType): evt is MouseEvent; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/embla-carousel.umd.js b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/embla-carousel.umd.js deleted file mode 100644 index 5832ad542d..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/embla-carousel.umd.js +++ /dev/null @@ -1 +0,0 @@ -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).EmblaCarousel=t()}(this,(function(){"use strict";function n(n){return"number"==typeof n}function t(n){return"string"==typeof n}function e(n){return"boolean"==typeof n}function r(n){return"[object Object]"===Object.prototype.toString.call(n)}function o(n){return Math.abs(n)}function i(n){return Math.sign(n)}function c(n,t){return o(n-t)}function u(n){return f(n).map(Number)}function s(n){return n[a(n)]}function a(n){return Math.max(0,n.length-1)}function d(n,t){return t===a(n)}function l(n,t=0){return Array.from(Array(n),((n,e)=>t+e))}function f(n){return Object.keys(n)}function p(n,t){return[n,t].reduce(((n,t)=>(f(t).forEach((e=>{const o=n[e],i=t[e],c=r(o)&&r(i);n[e]=c?p(o,i):i})),n)),{})}function m(n,t){return void 0!==t.MouseEvent&&n instanceof t.MouseEvent}function g(){let n=[];const t={add:function(e,r,o,i={passive:!0}){let c;if("addEventListener"in e)e.addEventListener(r,o,i),c=()=>e.removeEventListener(r,o,i);else{const n=e;n.addListener(o),c=()=>n.removeListener(o)}return n.push(c),t},clear:function(){n=n.filter((n=>n()))}};return t}function h(n,t,e,r){const o=g(),i=1e3/60;let c=null,u=0,s=0;function a(n){if(!s)return;c||(c=n,e(),e());const o=n-c;for(c=n,u+=o;u>=i;)e(),u-=i;r(u/i),s&&(s=t.requestAnimationFrame(a))}function d(){t.cancelAnimationFrame(s),c=null,u=0,s=0}return{init:function(){o.add(n,"visibilitychange",(()=>{n.hidden&&(c=null,u=0)}))},destroy:function(){d(),o.clear()},start:function(){s||(s=t.requestAnimationFrame(a))},stop:d,update:e,render:r}}function x(n=0,t=0){const e=o(n-t);function r(t){return tt}function c(n){return r(n)||i(n)}return{length:e,max:t,min:n,constrain:function(e){return c(e)?r(e)?n:t:e},reachedAny:c,reachedMax:i,reachedMin:r,removeOffset:function(n){return e?n-e*Math.ceil((n-t)/e):n}}}function y(n,t,e){const{constrain:r}=x(0,n),i=n+1;let c=u(t);function u(n){return e?o((i+n)%i):r(n)}function s(){return c}function a(){return y(n,s(),e)}const d={get:s,set:function(n){return c=u(n),d},add:function(n){return a().set(s()+n)},clone:a};return d}function v(n,t,r,u,s,a,d,l,f,p,h,y,v,b,S,w,E,L,D){const{cross:I,direction:M}=n,A=["INPUT","SELECT","TEXTAREA"],F={passive:!1},T=g(),O=g(),P=x(50,225).constrain(b.measure(20)),z={mouse:300,touch:400},H={mouse:500,touch:600},k=S?43:25;let V=!1,B=0,C=0,N=!1,R=!1,j=!1,G=!1;function q(n){if(!m(n,u)&&n.touches.length>=2)return U(n);const t=a.readPoint(n),e=a.readPoint(n,I),r=c(t,B),o=c(e,C);if(!R&&!G){if(!n.cancelable)return U(n);if(R=r>o,!R)return U(n)}const i=a.pointerMove(n);r>w&&(j=!0),p.useFriction(.3).useDuration(.75),l.start(),s.add(M(i)),n.preventDefault()}function U(n){const t=h.byDistance(0,!1).index!==y.get(),e=a.pointerUp(n)*(S?H:z)[G?"mouse":"touch"],r=function(n,t){const e=y.add(-1*i(n)),r=h.byDistance(n,!S).distance;return S||o(n)=2,e&&0!==n.button)return;if(function(n){const t=n.nodeName||"";return A.includes(t)}(n.target))return;N=!0,a.pointerDown(n),p.useFriction(0).useDuration(0),s.set(d),function(){const n=G?r:t;O.add(n,"touchmove",q,F).add(n,"touchend",U).add(n,"mousemove",q,F).add(n,"mouseup",U)}(),B=a.readPoint(n),C=a.readPoint(n,I),v.emit("pointerDown")}(o)}const i=t;T.add(i,"dragstart",(n=>n.preventDefault()),F).add(i,"touchmove",(()=>{}),F).add(i,"touchend",(()=>{})).add(i,"touchstart",o).add(i,"mousedown",o).add(i,"touchcancel",U).add(i,"contextmenu",U).add(i,"click",W,!0)},destroy:function(){T.clear(),O.clear()},pointerDown:function(){return N}}}function b(n,t){let e,r;function i(n){return n.timeStamp}function c(e,r){const o="client"+("x"===(r||n.scroll)?"X":"Y");return(m(e,t)?e:e.touches[0])[o]}return{pointerDown:function(n){return e=n,r=n,c(n)},pointerMove:function(n){const t=c(n)-c(r),o=i(n)-i(e)>170;return r=n,o&&(e=n),t},pointerUp:function(n){if(!e||!r)return 0;const t=c(r)-c(e),u=i(n)-i(e),s=i(n)-i(r)>170,a=t/u;return u&&!s&&o(a)>.1?a:0},readPoint:c}}function S(n,t,r,i,c,u,s){const a=[n].concat(i);let d,l,f=[],p=!1;function m(n){return c.measureSize(s.measure(n))}return{init:function(c){u&&(l=m(n),f=i.map(m),d=new ResizeObserver((r=>{(e(u)||u(c,r))&&function(e){for(const r of e){if(p)return;const e=r.target===n,u=i.indexOf(r.target),s=e?l:f[u];if(o(m(e?n:i[u])-s)>=.5){c.reInit(),t.emit("resize");break}}}(r)})),r.requestAnimationFrame((()=>{a.forEach((n=>d.observe(n)))})))},destroy:function(){p=!0,d&&d.disconnect()}}}function w(n,t,e,r,i){const c=i.measure(10),u=i.measure(50),s=x(.1,.99);let a=!1;function d(){return!a&&(!!n.reachedAny(e.get())&&!!n.reachedAny(t.get()))}return{shouldConstrain:d,constrain:function(i){if(!d())return;const a=n.reachedMin(t.get())?"min":"max",l=o(n[a]-t.get()),f=e.get()-t.get(),p=s.constrain(l/u);e.subtract(f*p),!i&&o(f)n.add(o)))}}}function L(n,t,e,r,c){const{reachedAny:u,removeOffset:a,constrain:d}=r;function l(n){return n.concat().sort(((n,t)=>o(n)-o(t)))[0]}function f(t,r){const o=[t,t+e,t-e];if(!n)return t;if(!r)return l(o);const c=o.filter((n=>i(n)===r));return c.length?l(c):s(o)-e}return{byDistance:function(e,r){const i=c.get()+e,{index:s,distance:l}=function(e){const r=n?a(e):d(e),i=t.map(((n,t)=>({diff:f(n-r,0),index:t}))).sort(((n,t)=>o(n.diff)-o(t.diff))),{index:c}=i[0];return{index:c,distance:r}}(i),p=!n&&u(i);return!r||p?{index:s,distance:e}:{index:s,distance:e+f(t[s]-l,0)}},byIndex:function(n,e){return{index:n,distance:f(t[n]-c.get(),e)}},shortcut:f}}function D(t,r,o,i,c,u,s,a){const d={passive:!0,capture:!0};let l=0;function f(n){"Tab"===n.code&&(l=(new Date).getTime())}return{init:function(p){a&&(u.add(document,"keydown",f,!1),r.forEach(((r,f)=>{u.add(r,"focus",(r=>{(e(a)||a(p,r))&&function(e){if((new Date).getTime()-l>10)return;s.emit("slideFocusStart"),t.scrollLeft=0;const r=o.findIndex((n=>n.includes(e)));n(r)&&(c.useDuration(0),i.index(r,0),s.emit("slideFocus"))}(f)}),d)})))}}}function I(t){let e=t;function r(t){return n(t)?t:t.get()}return{get:function(){return e},set:function(n){e=r(n)},add:function(n){e+=r(n)},subtract:function(n){e-=r(n)}}}function M(n,t){const e="x"===n.scroll?function(n){return`translate3d(${n}px,0px,0px)`}:function(n){return`translate3d(0px,${n}px,0px)`},r=t.style;let o=null,i=!1;return{clear:function(){i||(r.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){if(i)return;const c=(u=n.direction(t),Math.round(100*u)/100);var u;c!==o&&(r.transform=e(c),o=c)},toggleActive:function(n){i=!n}}}function A(n,t,e,r,o,i,c,s,a){const d=.5,l=u(o),f=u(o).reverse(),p=function(){const n=c[0];return h(g(f,n),e,!1)}().concat(function(){const n=t-c[0]-1;return h(g(l,n),-e,!0)}());function m(n,t){return n.reduce(((n,t)=>n-o[t]),t)}function g(n,t){return n.reduce(((n,e)=>m(n,t)>0?n.concat([e]):n),[])}function h(o,c,u){const l=function(n){return i.map(((e,o)=>({start:e-r[o]+d+n,end:e+t-d+n})))}(c);return o.map((t=>{const r=u?0:-e,o=u?e:0,i=u?"end":"start",c=l[t][i];return{index:t,loopPoint:c,slideLocation:I(-1),translate:M(n,a[t]),target:()=>s.get()>c?r:o}}))}return{canLoop:function(){return p.every((({index:n})=>m(l.filter((t=>t!==n)),t)<=.1))},clear:function(){p.forEach((n=>n.translate.clear()))},loop:function(){p.forEach((n=>{const{target:t,translate:e,slideLocation:r}=n,o=t();o!==r.get()&&(e.to(o),r.set(o))}))},loopPoints:p}}function F(n,t,r){let o,i=!1;return{init:function(c){r&&(o=new MutationObserver((n=>{i||(e(r)||r(c,n))&&function(n){for(const e of n)if("childList"===e.type){c.reInit(),t.emit("slidesChanged");break}}(n)})),o.observe(n,{childList:!0}))},destroy:function(){o&&o.disconnect(),i=!0}}}function T(n,t,e,r){const o={};let i,c=null,u=null,s=!1;return{init:function(){i=new IntersectionObserver((n=>{s||(n.forEach((n=>{const e=t.indexOf(n.target);o[e]=n})),c=null,u=null,e.emit("slidesInView"))}),{root:n.parentElement,threshold:r}),t.forEach((n=>i.observe(n)))},destroy:function(){i&&i.disconnect(),s=!0},get:function(n=!0){if(n&&c)return c;if(!n&&u)return u;const t=function(n){return f(o).reduce(((t,e)=>{const r=parseInt(e),{isIntersecting:i}=o[r];return(n&&i||!n&&!i)&&t.push(r),t}),[])}(n);return n&&(c=t),n||(u=t),t}}}function O(t,e,r,i,c,d,l,f,p){const{startEdge:m,endEdge:g,direction:h}=t,x=n(r);return{groupSlides:function(n){return x?function(n,t){return u(n).filter((n=>n%t==0)).map((e=>n.slice(e,e+t)))}(n,r):function(n){return n.length?u(n).reduce(((t,r,u)=>{const x=s(t)||0,y=0===x,v=r===a(n),b=c[m]-d[x][m],S=c[m]-d[r][g],w=!i&&y?h(l):0,E=o(S-(!i&&v?h(f):0)-(b+w));return u&&E>e+p&&t.push(r),v&&t.push(n.length),t}),[]).map(((t,e,r)=>{const o=Math.max(r[e-1]||0);return n.slice(o,t)})):[]}(n)}}}function P(n,e,r,f,p,m,P){const{align:z,axis:H,direction:k,startIndex:V,loop:B,duration:C,dragFree:N,dragThreshold:R,inViewThreshold:j,slidesToScroll:G,skipSnaps:q,containScroll:U,watchResize:W,watchSlides:$,watchDrag:Q,watchFocus:X}=m,Y={measure:function(n){const{offsetTop:t,offsetLeft:e,offsetWidth:r,offsetHeight:o}=n;return{top:t,right:e+r,bottom:t+o,left:e,width:r,height:o}}},J=Y.measure(e),K=r.map(Y.measure),Z=function(n,t){const e="rtl"===t,r="y"===n,o=!r&&e?-1:1;return{scroll:r?"y":"x",cross:r?"x":"y",startEdge:r?"top":e?"right":"left",endEdge:r?"bottom":e?"left":"right",measureSize:function(n){const{height:t,width:e}=n;return r?t:e},direction:function(n){return n*o}}}(H,k),_=Z.measureSize(J),nn=function(n){return{measure:function(t){return n*(t/100)}}}(_),tn=function(n,e){const r={start:function(){return 0},center:function(n){return o(n)/2},end:o};function o(n){return e-n}return{measure:function(o,i){return t(n)?r[n](o):n(e,o,i)}}}(z,_),en=!B&&!!U,rn=B||!!U,{slideSizes:on,slideSizesWithGaps:cn,startGap:un,endGap:sn}=function(n,t,e,r,i,c){const{measureSize:u,startEdge:a,endEdge:l}=n,f=e[0]&&i,p=function(){if(!f)return 0;const n=e[0];return o(t[a]-n[a])}(),m=function(){if(!f)return 0;const n=c.getComputedStyle(s(r));return parseFloat(n.getPropertyValue(`margin-${l}`))}(),g=e.map(u),h=e.map(((n,t,e)=>{const r=!t,o=d(e,t);return r?g[t]+p:o?g[t]+m:e[t+1][a]-n[a]})).map(o);return{slideSizes:g,slideSizesWithGaps:h,startGap:p,endGap:m}}(Z,J,K,r,rn,p),an=O(Z,_,G,B,J,K,un,sn,2),{snaps:dn,snapsAligned:ln}=function(n,t,e,r,i){const{startEdge:c,endEdge:u}=n,{groupSlides:a}=i,d=a(r).map((n=>s(n)[u]-n[0][c])).map(o).map(t.measure),l=r.map((n=>e[c]-n[c])).map((n=>-o(n))),f=a(l).map((n=>n[0])).map(((n,t)=>n+d[t]));return{snaps:l,snapsAligned:f}}(Z,tn,J,K,an),fn=-s(dn)+s(cn),{snapsContained:pn,scrollContainLimit:mn}=function(n,t,e,r,o){const i=x(-t+n,0),u=e.map(((n,t)=>{const{min:r,max:o}=i,c=i.constrain(n),u=!t,s=d(e,t);return u?o:s||l(r,c)?r:l(o,c)?o:c})).map((n=>parseFloat(n.toFixed(3)))),a=function(){const n=u[0],t=s(u);return x(u.lastIndexOf(n),u.indexOf(t)+1)}();function l(n,t){return c(n,t)<=1}return{snapsContained:function(){if(t<=n+o)return[i.max];if("keepSnaps"===r)return u;const{min:e,max:c}=a;return u.slice(e,c)}(),scrollContainLimit:a}}(_,fn,ln,U,2),gn=en?pn:ln,{limit:hn}=function(n,t,e){const r=t[0];return{limit:x(e?r-n:s(t),r)}}(fn,gn,B),xn=y(a(gn),V,B),yn=xn.clone(),vn=u(r),bn=h(f,p,(()=>(({dragHandler:n,scrollBody:t,scrollBounds:e,options:{loop:r}})=>{r||e.constrain(n.pointerDown()),t.seek()})(Hn)),(n=>(({scrollBody:n,translate:t,location:e,offsetLocation:r,previousLocation:o,scrollLooper:i,slideLooper:c,dragHandler:u,animation:s,eventHandler:a,scrollBounds:d,options:{loop:l}},f)=>{const p=n.settled(),m=!d.shouldConstrain(),g=l?p:p&&m,h=g&&!u.pointerDown();h&&s.stop();const x=e.get()*f+o.get()*(1-f);r.set(x),l&&(i.loop(n.direction()),c.loop()),t.to(r.get()),h&&a.emit("settle"),g||a.emit("scroll")})(Hn,n))),Sn=gn[xn.get()],wn=I(Sn),En=I(Sn),Ln=I(Sn),Dn=I(Sn),In=function(n,t,e,r,c,u){let s=0,a=0,d=c,l=u,f=n.get(),p=0;function m(n){return d=n,h}function g(n){return l=n,h}const h={direction:function(){return a},duration:function(){return d},velocity:function(){return s},seek:function(){const t=r.get()-n.get();let o=0;return d?(e.set(n),s+=t/d,s*=l,f+=s,n.add(s),o=f-p):(s=0,e.set(r),n.set(r),o=t),a=i(o),p=f,h},settled:function(){return o(r.get()-t.get())<.001},useBaseFriction:function(){return g(u)},useBaseDuration:function(){return m(c)},useFriction:g,useDuration:m};return h}(wn,Ln,En,Dn,C,.68),Mn=L(B,gn,fn,hn,Dn),An=function(n,t,e,r,o,i,c){function u(o){const u=o.distance,s=o.index!==t.get();i.add(u),u&&(r.duration()?n.start():(n.update(),n.render(1),n.update())),s&&(e.set(t.get()),t.set(o.index),c.emit("select"))}return{distance:function(n,t){u(o.byDistance(n,t))},index:function(n,e){const r=t.clone().set(n);u(o.byIndex(r.get(),e))}}}(bn,xn,yn,In,Mn,Dn,P),Fn=function(n){const{max:t,length:e}=n;return{get:function(n){return e?(n-t)/-e:0}}}(hn),Tn=g(),On=T(e,r,P,j),{slideRegistry:Pn}=function(n,t,e,r,o,i){const{groupSlides:c}=o,{min:u,max:f}=r;return{slideRegistry:function(){const r=c(i),o=!n||"keepSnaps"===t;return 1===e.length?[i]:o?r:r.slice(u,f).map(((n,t,e)=>{const r=!t,o=d(e,t);return r?l(s(e[0])+1):o?l(a(i)-s(e)[0]+1,s(e)[0]):n}))}()}}(en,U,gn,mn,an,vn),zn=D(n,r,Pn,An,In,Tn,P,X),Hn={ownerDocument:f,ownerWindow:p,eventHandler:P,containerRect:J,slideRects:K,animation:bn,axis:Z,dragHandler:v(Z,n,f,p,Dn,b(Z,p),wn,bn,An,In,Mn,xn,P,nn,N,R,q,.68,Q),eventStore:Tn,percentOfView:nn,index:xn,indexPrevious:yn,limit:hn,location:wn,offsetLocation:Ln,previousLocation:En,options:m,resizeHandler:S(e,P,p,r,Z,W,Y),scrollBody:In,scrollBounds:w(hn,Ln,Dn,In,nn),scrollLooper:E(fn,hn,Ln,[wn,Ln,En,Dn]),scrollProgress:Fn,scrollSnapList:gn.map(Fn.get),scrollSnaps:gn,scrollTarget:Mn,scrollTo:An,slideLooper:A(Z,_,fn,on,cn,dn,gn,Ln,r),slideFocus:zn,slidesHandler:F(e,P,$),slidesInView:On,slideIndexes:vn,slideRegistry:Pn,slidesToScroll:an,target:Dn,translate:M(Z,e)};return Hn}const z={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function H(n){function t(n,t){return p(n,t||{})}const e={mergeOptions:t,optionsAtMedia:function(e){const r=e.breakpoints||{},o=f(r).filter((t=>n.matchMedia(t).matches)).map((n=>r[n])).reduce(((n,e)=>t(n,e)),{});return t(e,o)},optionsMediaQueries:function(t){return t.map((n=>f(n.breakpoints||{}))).reduce(((n,t)=>n.concat(t)),[]).map(n.matchMedia)}};return e}function k(n,e,r){const o=n.ownerDocument,i=o.defaultView,c=H(i),u=function(n){let t=[];return{init:function(e,r){return t=r.filter((({options:t})=>!1!==n.optionsAtMedia(t).active)),t.forEach((t=>t.init(e,n))),r.reduce(((n,t)=>Object.assign(n,{[t.name]:t})),{})},destroy:function(){t=t.filter((n=>n.destroy()))}}}(c),s=g(),a=function(){let n,t={};function e(n){return t[n]||[]}const r={init:function(t){n=t},emit:function(t){return e(t).forEach((e=>e(n,t))),r},off:function(n,o){return t[n]=e(n).filter((n=>n!==o)),r},on:function(n,o){return t[n]=e(n).concat([o]),r},clear:function(){t={}}};return r}(),{mergeOptions:d,optionsAtMedia:l,optionsMediaQueries:f}=c,{on:p,off:m,emit:h}=a,x=A;let y,v,b,S,w=!1,E=d(z,k.globalOptions),L=d(E),D=[];function I(t){const e=P(n,b,S,o,i,t,a);if(t.loop&&!e.slideLooper.canLoop()){return I(Object.assign({},t,{loop:!1}))}return e}function M(e,r){w||(E=d(E,e),L=l(E),D=r||D,function(){const{container:e,slides:r}=L,o=t(e)?n.querySelector(e):e;b=o||n.children[0];const i=t(r)?b.querySelectorAll(r):r;S=[].slice.call(i||b.children)}(),y=I(L),f([E,...D.map((({options:n})=>n))]).forEach((n=>s.add(n,"change",A))),L.active&&(y.translate.to(y.location.get()),y.animation.init(),y.slidesInView.init(),y.slideFocus.init(V),y.eventHandler.init(V),y.resizeHandler.init(V),y.slidesHandler.init(V),y.options.loop&&y.slideLooper.loop(),b.offsetParent&&S.length&&y.dragHandler.init(V),v=u.init(V,D)))}function A(n,t){const e=O();F(),M(d({startIndex:e},n),t),a.emit("reInit")}function F(){y.dragHandler.destroy(),y.eventStore.clear(),y.translate.clear(),y.slideLooper.clear(),y.resizeHandler.destroy(),y.slidesHandler.destroy(),y.slidesInView.destroy(),y.animation.destroy(),u.destroy(),s.clear()}function T(n,t,e){L.active&&!w&&(y.scrollBody.useBaseFriction().useDuration(!0===t?0:L.duration),y.scrollTo.index(n,e||0))}function O(){return y.index.get()}const V={canScrollNext:function(){return y.index.add(1).get()!==O()},canScrollPrev:function(){return y.index.add(-1).get()!==O()},containerNode:function(){return b},internalEngine:function(){return y},destroy:function(){w||(w=!0,s.clear(),F(),a.emit("destroy"),a.clear())},off:m,on:p,emit:h,plugins:function(){return v},previousScrollSnap:function(){return y.indexPrevious.get()},reInit:x,rootNode:function(){return n},scrollNext:function(n){T(y.index.add(1).get(),n,-1)},scrollPrev:function(n){T(y.index.add(-1).get(),n,1)},scrollProgress:function(){return y.scrollProgress.get(y.offsetLocation.get())},scrollSnapList:function(){return y.scrollSnapList},scrollTo:T,selectedScrollSnap:O,slideNodes:function(){return S},slidesInView:function(){return y.slidesInView.get()},slidesNotInView:function(){return y.slidesInView.get(!1)}};return M(e,r),setTimeout((()=>a.emit("init")),0),V}return k.globalOptions=void 0,k})); diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts deleted file mode 100644 index 72f1015b7b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type AlignmentOptionType = 'start' | 'center' | 'end' | ((viewSize: number, snapSize: number, index: number) => number); -export type AlignmentType = { - measure: (n: number, index: number) => number; -}; -export declare function Alignment(align: AlignmentOptionType, viewSize: number): AlignmentType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts deleted file mode 100644 index 0e8046f964..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { EngineType } from './Engine.js'; -import { WindowType } from './utils.js'; -export type AnimationsUpdateType = (engine: EngineType) => void; -export type AnimationsRenderType = (engine: EngineType, alpha: number) => void; -export type AnimationsType = { - init: () => void; - destroy: () => void; - start: () => void; - stop: () => void; - update: () => void; - render: (alpha: number) => void; -}; -export declare function Animations(ownerDocument: Document, ownerWindow: WindowType, update: () => void, render: (alpha: number) => void): AnimationsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts deleted file mode 100644 index 6387883614..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NodeRectType } from './NodeRects.js'; -export type AxisOptionType = 'x' | 'y'; -export type AxisDirectionOptionType = 'ltr' | 'rtl'; -type AxisEdgeType = 'top' | 'right' | 'bottom' | 'left'; -export type AxisType = { - scroll: AxisOptionType; - cross: AxisOptionType; - startEdge: AxisEdgeType; - endEdge: AxisEdgeType; - measureSize: (nodeRect: NodeRectType) => number; - direction: (n: number) => number; -}; -export declare function Axis(axis: AxisOptionType, contentDirection: AxisDirectionOptionType): AxisType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts deleted file mode 100644 index 964a47d838..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type CounterType = { - get: () => number; - set: (n: number) => CounterType; - add: (n: number) => CounterType; - clone: () => CounterType; -}; -export declare function Counter(max: number, start: number, loop: boolean): CounterType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts deleted file mode 100644 index 95ca6bc135..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel.js'; -import { AnimationsType } from './Animations.js'; -import { CounterType } from './Counter.js'; -import { DragTrackerType, PointerEventType } from './DragTracker.js'; -import { EventHandlerType } from './EventHandler.js'; -import { AxisType } from './Axis.js'; -import { ScrollBodyType } from './ScrollBody.js'; -import { ScrollTargetType } from './ScrollTarget.js'; -import { ScrollToType } from './ScrollTo.js'; -import { Vector1DType } from './Vector1d.js'; -import { PercentOfViewType } from './PercentOfView.js'; -import { WindowType } from './utils.js'; -type DragHandlerCallbackType = (emblaApi: EmblaCarouselType, evt: PointerEventType) => boolean | void; -export type DragHandlerOptionType = boolean | DragHandlerCallbackType; -export type DragHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; - pointerDown: () => boolean; -}; -export declare function DragHandler(axis: AxisType, rootNode: HTMLElement, ownerDocument: Document, ownerWindow: WindowType, target: Vector1DType, dragTracker: DragTrackerType, location: Vector1DType, animation: AnimationsType, scrollTo: ScrollToType, scrollBody: ScrollBodyType, scrollTarget: ScrollTargetType, index: CounterType, eventHandler: EventHandlerType, percentOfView: PercentOfViewType, dragFree: boolean, dragThreshold: number, skipSnaps: boolean, baseFriction: number, watchDrag: DragHandlerOptionType): DragHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts deleted file mode 100644 index d51b688974..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AxisOptionType, AxisType } from './Axis.js'; -import { WindowType } from './utils.js'; -export type PointerEventType = TouchEvent | MouseEvent; -export type DragTrackerType = { - pointerDown: (evt: PointerEventType) => number; - pointerMove: (evt: PointerEventType) => number; - pointerUp: (evt: PointerEventType) => number; - readPoint: (evt: PointerEventType, evtAxis?: AxisOptionType) => number; -}; -export declare function DragTracker(axis: AxisType, ownerWindow: WindowType): DragTrackerType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts deleted file mode 100644 index 192eb4c0e1..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { EngineType } from './Engine.js'; -import { EventHandlerType } from './EventHandler.js'; -import { EmblaOptionsType } from './Options.js'; -import { EmblaPluginsType, EmblaPluginType } from './Plugins.js'; -export type EmblaCarouselType = { - canScrollNext: () => boolean; - canScrollPrev: () => boolean; - containerNode: () => HTMLElement; - internalEngine: () => EngineType; - destroy: () => void; - off: EventHandlerType['off']; - on: EventHandlerType['on']; - emit: EventHandlerType['emit']; - plugins: () => EmblaPluginsType; - previousScrollSnap: () => number; - reInit: (options?: EmblaOptionsType, plugins?: EmblaPluginType[]) => void; - rootNode: () => HTMLElement; - scrollNext: (jump?: boolean) => void; - scrollPrev: (jump?: boolean) => void; - scrollProgress: () => number; - scrollSnapList: () => number[]; - scrollTo: (index: number, jump?: boolean) => void; - selectedScrollSnap: () => number; - slideNodes: () => HTMLElement[]; - slidesInView: () => number[]; - slidesNotInView: () => number[]; -}; -declare function EmblaCarousel(root: HTMLElement, userOptions?: EmblaOptionsType, userPlugins?: EmblaPluginType[]): EmblaCarouselType; -declare namespace EmblaCarousel { - let globalOptions: EmblaOptionsType | undefined; -} -export default EmblaCarousel; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts deleted file mode 100644 index 4eb32043a4..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { AnimationsType } from './Animations.js'; -import { AxisType } from './Axis.js'; -import { CounterType } from './Counter.js'; -import { DragHandlerType } from './DragHandler.js'; -import { EventHandlerType } from './EventHandler.js'; -import { EventStoreType } from './EventStore.js'; -import { LimitType } from './Limit.js'; -import { NodeRectType } from './NodeRects.js'; -import { OptionsType } from './Options.js'; -import { PercentOfViewType } from './PercentOfView.js'; -import { ResizeHandlerType } from './ResizeHandler.js'; -import { ScrollBodyType } from './ScrollBody.js'; -import { ScrollBoundsType } from './ScrollBounds.js'; -import { ScrollLooperType } from './ScrollLooper.js'; -import { ScrollProgressType } from './ScrollProgress.js'; -import { SlideRegistryType } from './SlideRegistry.js'; -import { ScrollTargetType } from './ScrollTarget.js'; -import { ScrollToType } from './ScrollTo.js'; -import { SlideFocusType } from './SlideFocus.js'; -import { SlideLooperType } from './SlideLooper.js'; -import { SlidesHandlerType } from './SlidesHandler.js'; -import { SlidesInViewType } from './SlidesInView.js'; -import { SlidesToScrollType } from './SlidesToScroll.js'; -import { TranslateType } from './Translate.js'; -import { WindowType } from './utils.js'; -import { Vector1DType } from './Vector1d.js'; -export type EngineType = { - ownerDocument: Document; - ownerWindow: WindowType; - eventHandler: EventHandlerType; - axis: AxisType; - animation: AnimationsType; - scrollBounds: ScrollBoundsType; - scrollLooper: ScrollLooperType; - scrollProgress: ScrollProgressType; - index: CounterType; - indexPrevious: CounterType; - limit: LimitType; - location: Vector1DType; - offsetLocation: Vector1DType; - previousLocation: Vector1DType; - options: OptionsType; - percentOfView: PercentOfViewType; - scrollBody: ScrollBodyType; - dragHandler: DragHandlerType; - eventStore: EventStoreType; - slideLooper: SlideLooperType; - slidesInView: SlidesInViewType; - slidesToScroll: SlidesToScrollType; - target: Vector1DType; - translate: TranslateType; - resizeHandler: ResizeHandlerType; - slidesHandler: SlidesHandlerType; - scrollTo: ScrollToType; - scrollTarget: ScrollTargetType; - scrollSnapList: number[]; - scrollSnaps: number[]; - slideIndexes: number[]; - slideFocus: SlideFocusType; - slideRegistry: SlideRegistryType['slideRegistry']; - containerRect: NodeRectType; - slideRects: NodeRectType[]; -}; -export declare function Engine(root: HTMLElement, container: HTMLElement, slides: HTMLElement[], ownerDocument: Document, ownerWindow: WindowType, options: OptionsType, eventHandler: EventHandlerType): EngineType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts deleted file mode 100644 index 9b6bddde44..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel.js'; -type CallbackType = (emblaApi: EmblaCarouselType, evt: EmblaEventType) => void; -export type EmblaEventType = EmblaEventListType[keyof EmblaEventListType]; -export interface EmblaEventListType { - init: 'init'; - pointerDown: 'pointerDown'; - pointerUp: 'pointerUp'; - slidesChanged: 'slidesChanged'; - slidesInView: 'slidesInView'; - scroll: 'scroll'; - select: 'select'; - settle: 'settle'; - destroy: 'destroy'; - reInit: 'reInit'; - resize: 'resize'; - slideFocusStart: 'slideFocusStart'; - slideFocus: 'slideFocus'; -} -export type EventHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - emit: (evt: EmblaEventType) => EventHandlerType; - on: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType; - off: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType; - clear: () => void; -}; -export declare function EventHandler(): EventHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts deleted file mode 100644 index 8b0f89ed6a..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -type EventNameType = keyof DocumentEventMap | keyof WindowEventMap; -type EventHandlerType = (evt: any) => void; -type EventOptionsType = boolean | AddEventListenerOptions | undefined; -export type EventStoreType = { - add: (node: EventTarget, type: EventNameType, handler: EventHandlerType, options?: EventOptionsType) => EventStoreType; - clear: () => void; -}; -export declare function EventStore(): EventStoreType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts deleted file mode 100644 index b6499b04a8..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type LimitType = { - min: number; - max: number; - length: number; - constrain: (n: number) => number; - reachedAny: (n: number) => boolean; - reachedMax: (n: number) => boolean; - reachedMin: (n: number) => boolean; - removeOffset: (n: number) => number; -}; -export declare function Limit(min?: number, max?: number): LimitType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts deleted file mode 100644 index c76623b8e7..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type NodeRectType = { - top: number; - right: number; - bottom: number; - left: number; - width: number; - height: number; -}; -export type NodeRectsType = { - measure: (node: HTMLElement) => NodeRectType; -}; -export declare function NodeRects(): NodeRectsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts deleted file mode 100644 index e61de6fc1c..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { AlignmentOptionType } from './Alignment.js'; -import { AxisDirectionOptionType, AxisOptionType } from './Axis.js'; -import { SlidesToScrollOptionType } from './SlidesToScroll.js'; -import { ScrollContainOptionType } from './ScrollContain.js'; -import { DragHandlerOptionType } from './DragHandler.js'; -import { ResizeHandlerOptionType } from './ResizeHandler.js'; -import { SlidesHandlerOptionType } from './SlidesHandler.js'; -import { SlidesInViewOptionsType } from './SlidesInView.js'; -import { FocusHandlerOptionType } from './SlideFocus.js'; -export type LooseOptionsType = { - [key: string]: unknown; -}; -export type CreateOptionsType = Type & { - active: boolean; - breakpoints: { - [key: string]: Omit>, 'breakpoints'>; - }; -}; -export type OptionsType = CreateOptionsType<{ - align: AlignmentOptionType; - axis: AxisOptionType; - container: string | HTMLElement | null; - slides: string | HTMLElement[] | NodeListOf | null; - containScroll: ScrollContainOptionType; - direction: AxisDirectionOptionType; - slidesToScroll: SlidesToScrollOptionType; - dragFree: boolean; - dragThreshold: number; - inViewThreshold: SlidesInViewOptionsType; - loop: boolean; - skipSnaps: boolean; - duration: number; - startIndex: number; - watchDrag: DragHandlerOptionType; - watchResize: ResizeHandlerOptionType; - watchSlides: SlidesHandlerOptionType; - watchFocus: FocusHandlerOptionType; -}>; -export declare const defaultOptions: OptionsType; -export type EmblaOptionsType = Partial; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts deleted file mode 100644 index fa5fe21389..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LooseOptionsType, CreateOptionsType } from './Options.js'; -import { WindowType } from './utils.js'; -type OptionsType = Partial>; -export type OptionsHandlerType = { - mergeOptions: (optionsA: TypeA, optionsB?: TypeB) => TypeA; - optionsAtMedia: (options: Type) => Type; - optionsMediaQueries: (optionsList: OptionsType[]) => MediaQueryList[]; -}; -export declare function OptionsHandler(ownerWindow: WindowType): OptionsHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts deleted file mode 100644 index b51b35a13b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type PercentOfViewType = { - measure: (n: number) => number; -}; -export declare function PercentOfView(viewSize: number): PercentOfViewType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts deleted file mode 100644 index 6807d1b372..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { CreateOptionsType, LooseOptionsType } from './Options.js'; -import { EmblaCarouselType } from './EmblaCarousel.js'; -import { OptionsHandlerType } from './OptionsHandler.js'; -export type LoosePluginType = { - [key: string]: unknown; -}; -export type CreatePluginType = TypeA & { - name: string; - options: Partial>; - init: (embla: EmblaCarouselType, OptionsHandler: OptionsHandlerType) => void; - destroy: () => void; -}; -export interface EmblaPluginsType { - [key: string]: CreatePluginType; -} -export type EmblaPluginType = EmblaPluginsType[keyof EmblaPluginsType]; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PluginsHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PluginsHandler.d.ts deleted file mode 100644 index 5065388fcb..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PluginsHandler.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel.js'; -import { OptionsHandlerType } from './OptionsHandler.js'; -import { EmblaPluginsType, EmblaPluginType } from './Plugins.js'; -export type PluginsHandlerType = { - init: (emblaApi: EmblaCarouselType, plugins: EmblaPluginType[]) => EmblaPluginsType; - destroy: () => void; -}; -export declare function PluginsHandler(optionsHandler: OptionsHandlerType): PluginsHandlerType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts deleted file mode 100644 index 5536cd66da..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { AxisType } from './Axis.js'; -import { EmblaCarouselType } from './EmblaCarousel.js'; -import { EventHandlerType } from './EventHandler.js'; -import { NodeRectsType } from './NodeRects.js'; -import { WindowType } from './utils.js'; -type ResizeHandlerCallbackType = (emblaApi: EmblaCarouselType, entries: ResizeObserverEntry[]) => boolean | void; -export type ResizeHandlerOptionType = boolean | ResizeHandlerCallbackType; -export type ResizeHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; -}; -export declare function ResizeHandler(container: HTMLElement, eventHandler: EventHandlerType, ownerWindow: WindowType, slides: HTMLElement[], axis: AxisType, watchResize: ResizeHandlerOptionType, nodeRects: NodeRectsType): ResizeHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts deleted file mode 100644 index 1d669d8e4d..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Vector1DType } from './Vector1d.js'; -export type ScrollBodyType = { - direction: () => number; - duration: () => number; - velocity: () => number; - seek: () => ScrollBodyType; - settled: () => boolean; - useBaseFriction: () => ScrollBodyType; - useBaseDuration: () => ScrollBodyType; - useFriction: (n: number) => ScrollBodyType; - useDuration: (n: number) => ScrollBodyType; -}; -export declare function ScrollBody(location: Vector1DType, offsetLocation: Vector1DType, previousLocation: Vector1DType, target: Vector1DType, baseDuration: number, baseFriction: number): ScrollBodyType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts deleted file mode 100644 index 89e28e64fc..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LimitType } from './Limit.js'; -import { ScrollBodyType } from './ScrollBody.js'; -import { Vector1DType } from './Vector1d.js'; -import { PercentOfViewType } from './PercentOfView.js'; -export type ScrollBoundsType = { - shouldConstrain: () => boolean; - constrain: (pointerDown: boolean) => void; - toggleActive: (active: boolean) => void; -}; -export declare function ScrollBounds(limit: LimitType, location: Vector1DType, target: Vector1DType, scrollBody: ScrollBodyType, percentOfView: PercentOfViewType): ScrollBoundsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts deleted file mode 100644 index e0b6cd3d02..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { LimitType } from './Limit.js'; -export type ScrollContainOptionType = false | 'trimSnaps' | 'keepSnaps'; -export type ScrollContainType = { - snapsContained: number[]; - scrollContainLimit: LimitType; -}; -export declare function ScrollContain(viewSize: number, contentSize: number, snapsAligned: number[], containScroll: ScrollContainOptionType, pixelTolerance: number): ScrollContainType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLimit.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLimit.d.ts deleted file mode 100644 index fbf0c96bf6..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLimit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { LimitType } from './Limit.js'; -export type ScrollLimitType = { - limit: LimitType; -}; -export declare function ScrollLimit(contentSize: number, scrollSnaps: number[], loop: boolean): ScrollLimitType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts deleted file mode 100644 index c4dd39bb42..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { LimitType } from './Limit.js'; -import { Vector1DType } from './Vector1d.js'; -export type ScrollLooperType = { - loop: (direction: number) => void; -}; -export declare function ScrollLooper(contentSize: number, limit: LimitType, location: Vector1DType, vectors: Vector1DType[]): ScrollLooperType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts deleted file mode 100644 index 8c59e31b7d..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { LimitType } from './Limit.js'; -export type ScrollProgressType = { - get: (n: number) => number; -}; -export declare function ScrollProgress(limit: LimitType): ScrollProgressType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollSnaps.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollSnaps.d.ts deleted file mode 100644 index 01754a1a73..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollSnaps.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AlignmentType } from './Alignment.js'; -import { AxisType } from './Axis.js'; -import { NodeRectType } from './NodeRects.js'; -import { SlidesToScrollType } from './SlidesToScroll.js'; -export type ScrollSnapsType = { - snaps: number[]; - snapsAligned: number[]; -}; -export declare function ScrollSnaps(axis: AxisType, alignment: AlignmentType, containerRect: NodeRectType, slideRects: NodeRectType[], slidesToScroll: SlidesToScrollType): ScrollSnapsType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts deleted file mode 100644 index 5ab5188bf2..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { LimitType } from './Limit.js'; -import { Vector1DType } from './Vector1d.js'; -export type TargetType = { - distance: number; - index: number; -}; -export type ScrollTargetType = { - byIndex: (target: number, direction: number) => TargetType; - byDistance: (force: number, snap: boolean) => TargetType; - shortcut: (target: number, direction: number) => number; -}; -export declare function ScrollTarget(loop: boolean, scrollSnaps: number[], contentSize: number, limit: LimitType, targetVector: Vector1DType): ScrollTargetType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts deleted file mode 100644 index 115603c2db..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { AnimationsType } from './Animations.js'; -import { CounterType } from './Counter.js'; -import { EventHandlerType } from './EventHandler.js'; -import { ScrollBodyType } from './ScrollBody.js'; -import { ScrollTargetType } from './ScrollTarget.js'; -import { Vector1DType } from './Vector1d.js'; -export type ScrollToType = { - distance: (n: number, snap: boolean) => void; - index: (n: number, direction: number) => void; -}; -export declare function ScrollTo(animation: AnimationsType, indexCurrent: CounterType, indexPrevious: CounterType, scrollBody: ScrollBodyType, scrollTarget: ScrollTargetType, targetVector: Vector1DType, eventHandler: EventHandlerType): ScrollToType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts deleted file mode 100644 index 508a3bf745..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel.js'; -import { EventHandlerType } from './EventHandler.js'; -import { EventStoreType } from './EventStore.js'; -import { ScrollBodyType } from './ScrollBody.js'; -import { ScrollToType } from './ScrollTo.js'; -import { SlideRegistryType } from './SlideRegistry.js'; -type FocusHandlerCallbackType = (emblaApi: EmblaCarouselType, evt: FocusEvent) => boolean | void; -export type FocusHandlerOptionType = boolean | FocusHandlerCallbackType; -export type SlideFocusType = { - init: (emblaApi: EmblaCarouselType) => void; -}; -export declare function SlideFocus(root: HTMLElement, slides: HTMLElement[], slideRegistry: SlideRegistryType['slideRegistry'], scrollTo: ScrollToType, scrollBody: ScrollBodyType, eventStore: EventStoreType, eventHandler: EventHandlerType, watchFocus: FocusHandlerOptionType): SlideFocusType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts deleted file mode 100644 index d44fe20758..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { AxisType } from './Axis.js'; -import { Vector1DType } from './Vector1d.js'; -import { TranslateType } from './Translate.js'; -type LoopPointType = { - loopPoint: number; - index: number; - translate: TranslateType; - slideLocation: Vector1DType; - target: () => number; -}; -export type SlideLooperType = { - canLoop: () => boolean; - clear: () => void; - loop: () => void; - loopPoints: LoopPointType[]; -}; -export declare function SlideLooper(axis: AxisType, viewSize: number, contentSize: number, slideSizes: number[], slideSizesWithGaps: number[], snaps: number[], scrollSnaps: number[], location: Vector1DType, slides: HTMLElement[]): SlideLooperType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts deleted file mode 100644 index a2cba13562..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { LimitType } from './Limit.js'; -import { ScrollContainOptionType } from './ScrollContain.js'; -import { SlidesToScrollType } from './SlidesToScroll.js'; -export type SlideRegistryType = { - slideRegistry: number[][]; -}; -export declare function SlideRegistry(containSnaps: boolean, containScroll: ScrollContainOptionType, scrollSnaps: number[], scrollContainLimit: LimitType, slidesToScroll: SlidesToScrollType, slideIndexes: number[]): SlideRegistryType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideSizes.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideSizes.d.ts deleted file mode 100644 index 07184d8707..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideSizes.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AxisType } from './Axis.js'; -import { NodeRectType } from './NodeRects.js'; -import { WindowType } from './utils.js'; -export type SlideSizesType = { - slideSizes: number[]; - slideSizesWithGaps: number[]; - startGap: number; - endGap: number; -}; -export declare function SlideSizes(axis: AxisType, containerRect: NodeRectType, slideRects: NodeRectType[], slides: HTMLElement[], readEdgeGap: boolean, ownerWindow: WindowType): SlideSizesType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts deleted file mode 100644 index 81d625b0dd..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { EmblaCarouselType } from './EmblaCarousel.js'; -import { EventHandlerType } from './EventHandler.js'; -type SlidesHandlerCallbackType = (emblaApi: EmblaCarouselType, mutations: MutationRecord[]) => boolean | void; -export type SlidesHandlerOptionType = boolean | SlidesHandlerCallbackType; -export type SlidesHandlerType = { - init: (emblaApi: EmblaCarouselType) => void; - destroy: () => void; -}; -export declare function SlidesHandler(container: HTMLElement, eventHandler: EventHandlerType, watchSlides: SlidesHandlerOptionType): SlidesHandlerType; -export {}; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts deleted file mode 100644 index 0eca739360..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { EventHandlerType } from './EventHandler.js'; -export type SlidesInViewOptionsType = IntersectionObserverInit['threshold']; -export type SlidesInViewType = { - init: () => void; - destroy: () => void; - get: (inView?: boolean) => number[]; -}; -export declare function SlidesInView(container: HTMLElement, slides: HTMLElement[], eventHandler: EventHandlerType, threshold: SlidesInViewOptionsType): SlidesInViewType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts deleted file mode 100644 index fd2cafc003..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { AxisType } from './Axis.js'; -import { NodeRectType } from './NodeRects.js'; -export type SlidesToScrollOptionType = 'auto' | number; -export type SlidesToScrollType = { - groupSlides: (array: Type[]) => Type[][]; -}; -export declare function SlidesToScroll(axis: AxisType, viewSize: number, slidesToScroll: SlidesToScrollOptionType, loop: boolean, containerRect: NodeRectType, slideRects: NodeRectType[], startGap: number, endGap: number, pixelTolerance: number): SlidesToScrollType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts deleted file mode 100644 index 5807eae5fd..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { AxisType } from './Axis.js'; -export type TranslateType = { - clear: () => void; - to: (target: number) => void; - toggleActive: (active: boolean) => void; -}; -export declare function Translate(axis: AxisType, container: HTMLElement): TranslateType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts deleted file mode 100644 index 9ff303c96b..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type Vector1DType = { - get: () => number; - set: (n: Vector1DType | number) => void; - add: (n: Vector1DType | number) => void; - subtract: (n: Vector1DType | number) => void; -}; -export declare function Vector1D(initialValue: number): Vector1DType; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts deleted file mode 100644 index 554062f72e..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { PointerEventType } from './DragTracker.js'; -export type WindowType = Window & typeof globalThis; -export declare function isNumber(subject: unknown): subject is number; -export declare function isString(subject: unknown): subject is string; -export declare function isBoolean(subject: unknown): subject is boolean; -export declare function isObject(subject: unknown): subject is Record; -export declare function mathAbs(n: number): number; -export declare function mathSign(n: number): number; -export declare function deltaAbs(valueB: number, valueA: number): number; -export declare function factorAbs(valueB: number, valueA: number): number; -export declare function roundToTwoDecimals(num: number): number; -export declare function arrayKeys(array: Type[]): number[]; -export declare function arrayLast(array: Type[]): Type; -export declare function arrayLastIndex(array: Type[]): number; -export declare function arrayIsLastIndex(array: Type[], index: number): boolean; -export declare function arrayFromNumber(n: number, startAt?: number): number[]; -export declare function objectKeys(object: Type): string[]; -export declare function objectsMergeDeep(objectA: Record, objectB: Record): Record; -export declare function isMouseEvent(evt: PointerEventType, ownerWindow: WindowType): evt is MouseEvent; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js deleted file mode 100644 index 5b0cee64a0..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js +++ /dev/null @@ -1,1670 +0,0 @@ -function isNumber(subject) { - return typeof subject === 'number'; -} -function isString(subject) { - return typeof subject === 'string'; -} -function isBoolean(subject) { - return typeof subject === 'boolean'; -} -function isObject(subject) { - return Object.prototype.toString.call(subject) === '[object Object]'; -} -function mathAbs(n) { - return Math.abs(n); -} -function mathSign(n) { - return Math.sign(n); -} -function deltaAbs(valueB, valueA) { - return mathAbs(valueB - valueA); -} -function factorAbs(valueB, valueA) { - if (valueB === 0 || valueA === 0) return 0; - if (mathAbs(valueB) <= mathAbs(valueA)) return 0; - const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA)); - return mathAbs(diff / valueB); -} -function roundToTwoDecimals(num) { - return Math.round(num * 100) / 100; -} -function arrayKeys(array) { - return objectKeys(array).map(Number); -} -function arrayLast(array) { - return array[arrayLastIndex(array)]; -} -function arrayLastIndex(array) { - return Math.max(0, array.length - 1); -} -function arrayIsLastIndex(array, index) { - return index === arrayLastIndex(array); -} -function arrayFromNumber(n, startAt = 0) { - return Array.from(Array(n), (_, i) => startAt + i); -} -function objectKeys(object) { - return Object.keys(object); -} -function objectsMergeDeep(objectA, objectB) { - return [objectA, objectB].reduce((mergedObjects, currentObject) => { - objectKeys(currentObject).forEach(key => { - const valueA = mergedObjects[key]; - const valueB = currentObject[key]; - const areObjects = isObject(valueA) && isObject(valueB); - mergedObjects[key] = areObjects ? objectsMergeDeep(valueA, valueB) : valueB; - }); - return mergedObjects; - }, {}); -} -function isMouseEvent(evt, ownerWindow) { - return typeof ownerWindow.MouseEvent !== 'undefined' && evt instanceof ownerWindow.MouseEvent; -} - -function Alignment(align, viewSize) { - const predefined = { - start, - center, - end - }; - function start() { - return 0; - } - function center(n) { - return end(n) / 2; - } - function end(n) { - return viewSize - n; - } - function measure(n, index) { - if (isString(align)) return predefined[align](n); - return align(viewSize, n, index); - } - const self = { - measure - }; - return self; -} - -function EventStore() { - let listeners = []; - function add(node, type, handler, options = { - passive: true - }) { - let removeListener; - if ('addEventListener' in node) { - node.addEventListener(type, handler, options); - removeListener = () => node.removeEventListener(type, handler, options); - } else { - const legacyMediaQueryList = node; - legacyMediaQueryList.addListener(handler); - removeListener = () => legacyMediaQueryList.removeListener(handler); - } - listeners.push(removeListener); - return self; - } - function clear() { - listeners = listeners.filter(remove => remove()); - } - const self = { - add, - clear - }; - return self; -} - -function Animations(ownerDocument, ownerWindow, update, render) { - const documentVisibleHandler = EventStore(); - const fixedTimeStep = 1000 / 60; - let lastTimeStamp = null; - let accumulatedTime = 0; - let animationId = 0; - function init() { - documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => { - if (ownerDocument.hidden) reset(); - }); - } - function destroy() { - stop(); - documentVisibleHandler.clear(); - } - function animate(timeStamp) { - if (!animationId) return; - if (!lastTimeStamp) { - lastTimeStamp = timeStamp; - update(); - update(); - } - const timeElapsed = timeStamp - lastTimeStamp; - lastTimeStamp = timeStamp; - accumulatedTime += timeElapsed; - while (accumulatedTime >= fixedTimeStep) { - update(); - accumulatedTime -= fixedTimeStep; - } - const alpha = accumulatedTime / fixedTimeStep; - render(alpha); - if (animationId) { - animationId = ownerWindow.requestAnimationFrame(animate); - } - } - function start() { - if (animationId) return; - animationId = ownerWindow.requestAnimationFrame(animate); - } - function stop() { - ownerWindow.cancelAnimationFrame(animationId); - lastTimeStamp = null; - accumulatedTime = 0; - animationId = 0; - } - function reset() { - lastTimeStamp = null; - accumulatedTime = 0; - } - const self = { - init, - destroy, - start, - stop, - update, - render - }; - return self; -} - -function Axis(axis, contentDirection) { - const isRightToLeft = contentDirection === 'rtl'; - const isVertical = axis === 'y'; - const scroll = isVertical ? 'y' : 'x'; - const cross = isVertical ? 'x' : 'y'; - const sign = !isVertical && isRightToLeft ? -1 : 1; - const startEdge = getStartEdge(); - const endEdge = getEndEdge(); - function measureSize(nodeRect) { - const { - height, - width - } = nodeRect; - return isVertical ? height : width; - } - function getStartEdge() { - if (isVertical) return 'top'; - return isRightToLeft ? 'right' : 'left'; - } - function getEndEdge() { - if (isVertical) return 'bottom'; - return isRightToLeft ? 'left' : 'right'; - } - function direction(n) { - return n * sign; - } - const self = { - scroll, - cross, - startEdge, - endEdge, - measureSize, - direction - }; - return self; -} - -function Limit(min = 0, max = 0) { - const length = mathAbs(min - max); - function reachedMin(n) { - return n < min; - } - function reachedMax(n) { - return n > max; - } - function reachedAny(n) { - return reachedMin(n) || reachedMax(n); - } - function constrain(n) { - if (!reachedAny(n)) return n; - return reachedMin(n) ? min : max; - } - function removeOffset(n) { - if (!length) return n; - return n - length * Math.ceil((n - max) / length); - } - const self = { - length, - max, - min, - constrain, - reachedAny, - reachedMax, - reachedMin, - removeOffset - }; - return self; -} - -function Counter(max, start, loop) { - const { - constrain - } = Limit(0, max); - const loopEnd = max + 1; - let counter = withinLimit(start); - function withinLimit(n) { - return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd); - } - function get() { - return counter; - } - function set(n) { - counter = withinLimit(n); - return self; - } - function add(n) { - return clone().set(get() + n); - } - function clone() { - return Counter(max, get(), loop); - } - const self = { - get, - set, - add, - clone - }; - return self; -} - -function DragHandler(axis, rootNode, ownerDocument, ownerWindow, target, dragTracker, location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, baseFriction, watchDrag) { - const { - cross: crossAxis, - direction - } = axis; - const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA']; - const nonPassiveEvent = { - passive: false - }; - const initEvents = EventStore(); - const dragEvents = EventStore(); - const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20)); - const snapForceBoost = { - mouse: 300, - touch: 400 - }; - const freeForceBoost = { - mouse: 500, - touch: 600 - }; - const baseSpeed = dragFree ? 43 : 25; - let isMoving = false; - let startScroll = 0; - let startCross = 0; - let pointerIsDown = false; - let preventScroll = false; - let preventClick = false; - let isMouse = false; - function init(emblaApi) { - if (!watchDrag) return; - function downIfAllowed(evt) { - if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt); - } - const node = rootNode; - initEvents.add(node, 'dragstart', evt => evt.preventDefault(), nonPassiveEvent).add(node, 'touchmove', () => undefined, nonPassiveEvent).add(node, 'touchend', () => undefined).add(node, 'touchstart', downIfAllowed).add(node, 'mousedown', downIfAllowed).add(node, 'touchcancel', up).add(node, 'contextmenu', up).add(node, 'click', click, true); - } - function destroy() { - initEvents.clear(); - dragEvents.clear(); - } - function addDragEvents() { - const node = isMouse ? ownerDocument : rootNode; - dragEvents.add(node, 'touchmove', move, nonPassiveEvent).add(node, 'touchend', up).add(node, 'mousemove', move, nonPassiveEvent).add(node, 'mouseup', up); - } - function isFocusNode(node) { - const nodeName = node.nodeName || ''; - return focusNodes.includes(nodeName); - } - function forceBoost() { - const boost = dragFree ? freeForceBoost : snapForceBoost; - const type = isMouse ? 'mouse' : 'touch'; - return boost[type]; - } - function allowedForce(force, targetChanged) { - const next = index.add(mathSign(force) * -1); - const baseForce = scrollTarget.byDistance(force, !dragFree).distance; - if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce; - if (skipSnaps && targetChanged) return baseForce * 0.5; - return scrollTarget.byIndex(next.get(), 0).distance; - } - function down(evt) { - const isMouseEvt = isMouseEvent(evt, ownerWindow); - isMouse = isMouseEvt; - preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving; - isMoving = deltaAbs(target.get(), location.get()) >= 2; - if (isMouseEvt && evt.button !== 0) return; - if (isFocusNode(evt.target)) return; - pointerIsDown = true; - dragTracker.pointerDown(evt); - scrollBody.useFriction(0).useDuration(0); - target.set(location); - addDragEvents(); - startScroll = dragTracker.readPoint(evt); - startCross = dragTracker.readPoint(evt, crossAxis); - eventHandler.emit('pointerDown'); - } - function move(evt) { - const isTouchEvt = !isMouseEvent(evt, ownerWindow); - if (isTouchEvt && evt.touches.length >= 2) return up(evt); - const lastScroll = dragTracker.readPoint(evt); - const lastCross = dragTracker.readPoint(evt, crossAxis); - const diffScroll = deltaAbs(lastScroll, startScroll); - const diffCross = deltaAbs(lastCross, startCross); - if (!preventScroll && !isMouse) { - if (!evt.cancelable) return up(evt); - preventScroll = diffScroll > diffCross; - if (!preventScroll) return up(evt); - } - const diff = dragTracker.pointerMove(evt); - if (diffScroll > dragThreshold) preventClick = true; - scrollBody.useFriction(0.3).useDuration(0.75); - animation.start(); - target.add(direction(diff)); - evt.preventDefault(); - } - function up(evt) { - const currentLocation = scrollTarget.byDistance(0, false); - const targetChanged = currentLocation.index !== index.get(); - const rawForce = dragTracker.pointerUp(evt) * forceBoost(); - const force = allowedForce(direction(rawForce), targetChanged); - const forceFactor = factorAbs(rawForce, force); - const speed = baseSpeed - 10 * forceFactor; - const friction = baseFriction + forceFactor / 50; - preventScroll = false; - pointerIsDown = false; - dragEvents.clear(); - scrollBody.useDuration(speed).useFriction(friction); - scrollTo.distance(force, !dragFree); - isMouse = false; - eventHandler.emit('pointerUp'); - } - function click(evt) { - if (preventClick) { - evt.stopPropagation(); - evt.preventDefault(); - preventClick = false; - } - } - function pointerDown() { - return pointerIsDown; - } - const self = { - init, - destroy, - pointerDown - }; - return self; -} - -function DragTracker(axis, ownerWindow) { - const logInterval = 170; - let startEvent; - let lastEvent; - function readTime(evt) { - return evt.timeStamp; - } - function readPoint(evt, evtAxis) { - const property = evtAxis || axis.scroll; - const coord = `client${property === 'x' ? 'X' : 'Y'}`; - return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord]; - } - function pointerDown(evt) { - startEvent = evt; - lastEvent = evt; - return readPoint(evt); - } - function pointerMove(evt) { - const diff = readPoint(evt) - readPoint(lastEvent); - const expired = readTime(evt) - readTime(startEvent) > logInterval; - lastEvent = evt; - if (expired) startEvent = evt; - return diff; - } - function pointerUp(evt) { - if (!startEvent || !lastEvent) return 0; - const diffDrag = readPoint(lastEvent) - readPoint(startEvent); - const diffTime = readTime(evt) - readTime(startEvent); - const expired = readTime(evt) - readTime(lastEvent) > logInterval; - const force = diffDrag / diffTime; - const isFlick = diffTime && !expired && mathAbs(force) > 0.1; - return isFlick ? force : 0; - } - const self = { - pointerDown, - pointerMove, - pointerUp, - readPoint - }; - return self; -} - -function NodeRects() { - function measure(node) { - const { - offsetTop, - offsetLeft, - offsetWidth, - offsetHeight - } = node; - const offset = { - top: offsetTop, - right: offsetLeft + offsetWidth, - bottom: offsetTop + offsetHeight, - left: offsetLeft, - width: offsetWidth, - height: offsetHeight - }; - return offset; - } - const self = { - measure - }; - return self; -} - -function PercentOfView(viewSize) { - function measure(n) { - return viewSize * (n / 100); - } - const self = { - measure - }; - return self; -} - -function ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects) { - const observeNodes = [container].concat(slides); - let resizeObserver; - let containerSize; - let slideSizes = []; - let destroyed = false; - function readSize(node) { - return axis.measureSize(nodeRects.measure(node)); - } - function init(emblaApi) { - if (!watchResize) return; - containerSize = readSize(container); - slideSizes = slides.map(readSize); - function defaultCallback(entries) { - for (const entry of entries) { - if (destroyed) return; - const isContainer = entry.target === container; - const slideIndex = slides.indexOf(entry.target); - const lastSize = isContainer ? containerSize : slideSizes[slideIndex]; - const newSize = readSize(isContainer ? container : slides[slideIndex]); - const diffSize = mathAbs(newSize - lastSize); - if (diffSize >= 0.5) { - emblaApi.reInit(); - eventHandler.emit('resize'); - break; - } - } - } - resizeObserver = new ResizeObserver(entries => { - if (isBoolean(watchResize) || watchResize(emblaApi, entries)) { - defaultCallback(entries); - } - }); - ownerWindow.requestAnimationFrame(() => { - observeNodes.forEach(node => resizeObserver.observe(node)); - }); - } - function destroy() { - destroyed = true; - if (resizeObserver) resizeObserver.disconnect(); - } - const self = { - init, - destroy - }; - return self; -} - -function ScrollBody(location, offsetLocation, previousLocation, target, baseDuration, baseFriction) { - let scrollVelocity = 0; - let scrollDirection = 0; - let scrollDuration = baseDuration; - let scrollFriction = baseFriction; - let rawLocation = location.get(); - let rawLocationPrevious = 0; - function seek() { - const displacement = target.get() - location.get(); - const isInstant = !scrollDuration; - let scrollDistance = 0; - if (isInstant) { - scrollVelocity = 0; - previousLocation.set(target); - location.set(target); - scrollDistance = displacement; - } else { - previousLocation.set(location); - scrollVelocity += displacement / scrollDuration; - scrollVelocity *= scrollFriction; - rawLocation += scrollVelocity; - location.add(scrollVelocity); - scrollDistance = rawLocation - rawLocationPrevious; - } - scrollDirection = mathSign(scrollDistance); - rawLocationPrevious = rawLocation; - return self; - } - function settled() { - const diff = target.get() - offsetLocation.get(); - return mathAbs(diff) < 0.001; - } - function duration() { - return scrollDuration; - } - function direction() { - return scrollDirection; - } - function velocity() { - return scrollVelocity; - } - function useBaseDuration() { - return useDuration(baseDuration); - } - function useBaseFriction() { - return useFriction(baseFriction); - } - function useDuration(n) { - scrollDuration = n; - return self; - } - function useFriction(n) { - scrollFriction = n; - return self; - } - const self = { - direction, - duration, - velocity, - seek, - settled, - useBaseFriction, - useBaseDuration, - useFriction, - useDuration - }; - return self; -} - -function ScrollBounds(limit, location, target, scrollBody, percentOfView) { - const pullBackThreshold = percentOfView.measure(10); - const edgeOffsetTolerance = percentOfView.measure(50); - const frictionLimit = Limit(0.1, 0.99); - let disabled = false; - function shouldConstrain() { - if (disabled) return false; - if (!limit.reachedAny(target.get())) return false; - if (!limit.reachedAny(location.get())) return false; - return true; - } - function constrain(pointerDown) { - if (!shouldConstrain()) return; - const edge = limit.reachedMin(location.get()) ? 'min' : 'max'; - const diffToEdge = mathAbs(limit[edge] - location.get()); - const diffToTarget = target.get() - location.get(); - const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance); - target.subtract(diffToTarget * friction); - if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) { - target.set(limit.constrain(target.get())); - scrollBody.useDuration(25).useBaseFriction(); - } - } - function toggleActive(active) { - disabled = !active; - } - const self = { - shouldConstrain, - constrain, - toggleActive - }; - return self; -} - -function ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance) { - const scrollBounds = Limit(-contentSize + viewSize, 0); - const snapsBounded = measureBounded(); - const scrollContainLimit = findScrollContainLimit(); - const snapsContained = measureContained(); - function usePixelTolerance(bound, snap) { - return deltaAbs(bound, snap) <= 1; - } - function findScrollContainLimit() { - const startSnap = snapsBounded[0]; - const endSnap = arrayLast(snapsBounded); - const min = snapsBounded.lastIndexOf(startSnap); - const max = snapsBounded.indexOf(endSnap) + 1; - return Limit(min, max); - } - function measureBounded() { - return snapsAligned.map((snapAligned, index) => { - const { - min, - max - } = scrollBounds; - const snap = scrollBounds.constrain(snapAligned); - const isFirst = !index; - const isLast = arrayIsLastIndex(snapsAligned, index); - if (isFirst) return max; - if (isLast) return min; - if (usePixelTolerance(min, snap)) return min; - if (usePixelTolerance(max, snap)) return max; - return snap; - }).map(scrollBound => parseFloat(scrollBound.toFixed(3))); - } - function measureContained() { - if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max]; - if (containScroll === 'keepSnaps') return snapsBounded; - const { - min, - max - } = scrollContainLimit; - return snapsBounded.slice(min, max); - } - const self = { - snapsContained, - scrollContainLimit - }; - return self; -} - -function ScrollLimit(contentSize, scrollSnaps, loop) { - const max = scrollSnaps[0]; - const min = loop ? max - contentSize : arrayLast(scrollSnaps); - const limit = Limit(min, max); - const self = { - limit - }; - return self; -} - -function ScrollLooper(contentSize, limit, location, vectors) { - const jointSafety = 0.1; - const min = limit.min + jointSafety; - const max = limit.max + jointSafety; - const { - reachedMin, - reachedMax - } = Limit(min, max); - function shouldLoop(direction) { - if (direction === 1) return reachedMax(location.get()); - if (direction === -1) return reachedMin(location.get()); - return false; - } - function loop(direction) { - if (!shouldLoop(direction)) return; - const loopDistance = contentSize * (direction * -1); - vectors.forEach(v => v.add(loopDistance)); - } - const self = { - loop - }; - return self; -} - -function ScrollProgress(limit) { - const { - max, - length - } = limit; - function get(n) { - const currentLocation = n - max; - return length ? currentLocation / -length : 0; - } - const self = { - get - }; - return self; -} - -function ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll) { - const { - startEdge, - endEdge - } = axis; - const { - groupSlides - } = slidesToScroll; - const alignments = measureSizes().map(alignment.measure); - const snaps = measureUnaligned(); - const snapsAligned = measureAligned(); - function measureSizes() { - return groupSlides(slideRects).map(rects => arrayLast(rects)[endEdge] - rects[0][startEdge]).map(mathAbs); - } - function measureUnaligned() { - return slideRects.map(rect => containerRect[startEdge] - rect[startEdge]).map(snap => -mathAbs(snap)); - } - function measureAligned() { - return groupSlides(snaps).map(g => g[0]).map((snap, index) => snap + alignments[index]); - } - const self = { - snaps, - snapsAligned - }; - return self; -} - -function SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes) { - const { - groupSlides - } = slidesToScroll; - const { - min, - max - } = scrollContainLimit; - const slideRegistry = createSlideRegistry(); - function createSlideRegistry() { - const groupedSlideIndexes = groupSlides(slideIndexes); - const doNotContain = !containSnaps || containScroll === 'keepSnaps'; - if (scrollSnaps.length === 1) return [slideIndexes]; - if (doNotContain) return groupedSlideIndexes; - return groupedSlideIndexes.slice(min, max).map((group, index, groups) => { - const isFirst = !index; - const isLast = arrayIsLastIndex(groups, index); - if (isFirst) { - const range = arrayLast(groups[0]) + 1; - return arrayFromNumber(range); - } - if (isLast) { - const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1; - return arrayFromNumber(range, arrayLast(groups)[0]); - } - return group; - }); - } - const self = { - slideRegistry - }; - return self; -} - -function ScrollTarget(loop, scrollSnaps, contentSize, limit, targetVector) { - const { - reachedAny, - removeOffset, - constrain - } = limit; - function minDistance(distances) { - return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0]; - } - function findTargetSnap(target) { - const distance = loop ? removeOffset(target) : constrain(target); - const ascDiffsToSnaps = scrollSnaps.map((snap, index) => ({ - diff: shortcut(snap - distance, 0), - index - })).sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff)); - const { - index - } = ascDiffsToSnaps[0]; - return { - index, - distance - }; - } - function shortcut(target, direction) { - const targets = [target, target + contentSize, target - contentSize]; - if (!loop) return target; - if (!direction) return minDistance(targets); - const matchingTargets = targets.filter(t => mathSign(t) === direction); - if (matchingTargets.length) return minDistance(matchingTargets); - return arrayLast(targets) - contentSize; - } - function byIndex(index, direction) { - const diffToSnap = scrollSnaps[index] - targetVector.get(); - const distance = shortcut(diffToSnap, direction); - return { - index, - distance - }; - } - function byDistance(distance, snap) { - const target = targetVector.get() + distance; - const { - index, - distance: targetSnapDistance - } = findTargetSnap(target); - const reachedBound = !loop && reachedAny(target); - if (!snap || reachedBound) return { - index, - distance - }; - const diffToSnap = scrollSnaps[index] - targetSnapDistance; - const snapDistance = distance + shortcut(diffToSnap, 0); - return { - index, - distance: snapDistance - }; - } - const self = { - byDistance, - byIndex, - shortcut - }; - return self; -} - -function ScrollTo(animation, indexCurrent, indexPrevious, scrollBody, scrollTarget, targetVector, eventHandler) { - function scrollTo(target) { - const distanceDiff = target.distance; - const indexDiff = target.index !== indexCurrent.get(); - targetVector.add(distanceDiff); - if (distanceDiff) { - if (scrollBody.duration()) { - animation.start(); - } else { - animation.update(); - animation.render(1); - animation.update(); - } - } - if (indexDiff) { - indexPrevious.set(indexCurrent.get()); - indexCurrent.set(target.index); - eventHandler.emit('select'); - } - } - function distance(n, snap) { - const target = scrollTarget.byDistance(n, snap); - scrollTo(target); - } - function index(n, direction) { - const targetIndex = indexCurrent.clone().set(n); - const target = scrollTarget.byIndex(targetIndex.get(), direction); - scrollTo(target); - } - const self = { - distance, - index - }; - return self; -} - -function SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus) { - const focusListenerOptions = { - passive: true, - capture: true - }; - let lastTabPressTime = 0; - function init(emblaApi) { - if (!watchFocus) return; - function defaultCallback(index) { - const nowTime = new Date().getTime(); - const diffTime = nowTime - lastTabPressTime; - if (diffTime > 10) return; - eventHandler.emit('slideFocusStart'); - root.scrollLeft = 0; - const group = slideRegistry.findIndex(group => group.includes(index)); - if (!isNumber(group)) return; - scrollBody.useDuration(0); - scrollTo.index(group, 0); - eventHandler.emit('slideFocus'); - } - eventStore.add(document, 'keydown', registerTabPress, false); - slides.forEach((slide, slideIndex) => { - eventStore.add(slide, 'focus', evt => { - if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) { - defaultCallback(slideIndex); - } - }, focusListenerOptions); - }); - } - function registerTabPress(event) { - if (event.code === 'Tab') lastTabPressTime = new Date().getTime(); - } - const self = { - init - }; - return self; -} - -function Vector1D(initialValue) { - let value = initialValue; - function get() { - return value; - } - function set(n) { - value = normalizeInput(n); - } - function add(n) { - value += normalizeInput(n); - } - function subtract(n) { - value -= normalizeInput(n); - } - function normalizeInput(n) { - return isNumber(n) ? n : n.get(); - } - const self = { - get, - set, - add, - subtract - }; - return self; -} - -function Translate(axis, container) { - const translate = axis.scroll === 'x' ? x : y; - const containerStyle = container.style; - let previousTarget = null; - let disabled = false; - function x(n) { - return `translate3d(${n}px,0px,0px)`; - } - function y(n) { - return `translate3d(0px,${n}px,0px)`; - } - function to(target) { - if (disabled) return; - const newTarget = roundToTwoDecimals(axis.direction(target)); - if (newTarget === previousTarget) return; - containerStyle.transform = translate(newTarget); - previousTarget = newTarget; - } - function toggleActive(active) { - disabled = !active; - } - function clear() { - if (disabled) return; - containerStyle.transform = ''; - if (!container.getAttribute('style')) container.removeAttribute('style'); - } - const self = { - clear, - to, - toggleActive - }; - return self; -} - -function SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, location, slides) { - const roundingSafety = 0.5; - const ascItems = arrayKeys(slideSizesWithGaps); - const descItems = arrayKeys(slideSizesWithGaps).reverse(); - const loopPoints = startPoints().concat(endPoints()); - function removeSlideSizes(indexes, from) { - return indexes.reduce((a, i) => { - return a - slideSizesWithGaps[i]; - }, from); - } - function slidesInGap(indexes, gap) { - return indexes.reduce((a, i) => { - const remainingGap = removeSlideSizes(a, gap); - return remainingGap > 0 ? a.concat([i]) : a; - }, []); - } - function findSlideBounds(offset) { - return snaps.map((snap, index) => ({ - start: snap - slideSizes[index] + roundingSafety + offset, - end: snap + viewSize - roundingSafety + offset - })); - } - function findLoopPoints(indexes, offset, isEndEdge) { - const slideBounds = findSlideBounds(offset); - return indexes.map(index => { - const initial = isEndEdge ? 0 : -contentSize; - const altered = isEndEdge ? contentSize : 0; - const boundEdge = isEndEdge ? 'end' : 'start'; - const loopPoint = slideBounds[index][boundEdge]; - return { - index, - loopPoint, - slideLocation: Vector1D(-1), - translate: Translate(axis, slides[index]), - target: () => location.get() > loopPoint ? initial : altered - }; - }); - } - function startPoints() { - const gap = scrollSnaps[0]; - const indexes = slidesInGap(descItems, gap); - return findLoopPoints(indexes, contentSize, false); - } - function endPoints() { - const gap = viewSize - scrollSnaps[0] - 1; - const indexes = slidesInGap(ascItems, gap); - return findLoopPoints(indexes, -contentSize, true); - } - function canLoop() { - return loopPoints.every(({ - index - }) => { - const otherIndexes = ascItems.filter(i => i !== index); - return removeSlideSizes(otherIndexes, viewSize) <= 0.1; - }); - } - function loop() { - loopPoints.forEach(loopPoint => { - const { - target, - translate, - slideLocation - } = loopPoint; - const shiftLocation = target(); - if (shiftLocation === slideLocation.get()) return; - translate.to(shiftLocation); - slideLocation.set(shiftLocation); - }); - } - function clear() { - loopPoints.forEach(loopPoint => loopPoint.translate.clear()); - } - const self = { - canLoop, - clear, - loop, - loopPoints - }; - return self; -} - -function SlidesHandler(container, eventHandler, watchSlides) { - let mutationObserver; - let destroyed = false; - function init(emblaApi) { - if (!watchSlides) return; - function defaultCallback(mutations) { - for (const mutation of mutations) { - if (mutation.type === 'childList') { - emblaApi.reInit(); - eventHandler.emit('slidesChanged'); - break; - } - } - } - mutationObserver = new MutationObserver(mutations => { - if (destroyed) return; - if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) { - defaultCallback(mutations); - } - }); - mutationObserver.observe(container, { - childList: true - }); - } - function destroy() { - if (mutationObserver) mutationObserver.disconnect(); - destroyed = true; - } - const self = { - init, - destroy - }; - return self; -} - -function SlidesInView(container, slides, eventHandler, threshold) { - const intersectionEntryMap = {}; - let inViewCache = null; - let notInViewCache = null; - let intersectionObserver; - let destroyed = false; - function init() { - intersectionObserver = new IntersectionObserver(entries => { - if (destroyed) return; - entries.forEach(entry => { - const index = slides.indexOf(entry.target); - intersectionEntryMap[index] = entry; - }); - inViewCache = null; - notInViewCache = null; - eventHandler.emit('slidesInView'); - }, { - root: container.parentElement, - threshold - }); - slides.forEach(slide => intersectionObserver.observe(slide)); - } - function destroy() { - if (intersectionObserver) intersectionObserver.disconnect(); - destroyed = true; - } - function createInViewList(inView) { - return objectKeys(intersectionEntryMap).reduce((list, slideIndex) => { - const index = parseInt(slideIndex); - const { - isIntersecting - } = intersectionEntryMap[index]; - const inViewMatch = inView && isIntersecting; - const notInViewMatch = !inView && !isIntersecting; - if (inViewMatch || notInViewMatch) list.push(index); - return list; - }, []); - } - function get(inView = true) { - if (inView && inViewCache) return inViewCache; - if (!inView && notInViewCache) return notInViewCache; - const slideIndexes = createInViewList(inView); - if (inView) inViewCache = slideIndexes; - if (!inView) notInViewCache = slideIndexes; - return slideIndexes; - } - const self = { - init, - destroy, - get - }; - return self; -} - -function SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow) { - const { - measureSize, - startEdge, - endEdge - } = axis; - const withEdgeGap = slideRects[0] && readEdgeGap; - const startGap = measureStartGap(); - const endGap = measureEndGap(); - const slideSizes = slideRects.map(measureSize); - const slideSizesWithGaps = measureWithGaps(); - function measureStartGap() { - if (!withEdgeGap) return 0; - const slideRect = slideRects[0]; - return mathAbs(containerRect[startEdge] - slideRect[startEdge]); - } - function measureEndGap() { - if (!withEdgeGap) return 0; - const style = ownerWindow.getComputedStyle(arrayLast(slides)); - return parseFloat(style.getPropertyValue(`margin-${endEdge}`)); - } - function measureWithGaps() { - return slideRects.map((rect, index, rects) => { - const isFirst = !index; - const isLast = arrayIsLastIndex(rects, index); - if (isFirst) return slideSizes[index] + startGap; - if (isLast) return slideSizes[index] + endGap; - return rects[index + 1][startEdge] - rect[startEdge]; - }).map(mathAbs); - } - const self = { - slideSizes, - slideSizesWithGaps, - startGap, - endGap - }; - return self; -} - -function SlidesToScroll(axis, viewSize, slidesToScroll, loop, containerRect, slideRects, startGap, endGap, pixelTolerance) { - const { - startEdge, - endEdge, - direction - } = axis; - const groupByNumber = isNumber(slidesToScroll); - function byNumber(array, groupSize) { - return arrayKeys(array).filter(i => i % groupSize === 0).map(i => array.slice(i, i + groupSize)); - } - function bySize(array) { - if (!array.length) return []; - return arrayKeys(array).reduce((groups, rectB, index) => { - const rectA = arrayLast(groups) || 0; - const isFirst = rectA === 0; - const isLast = rectB === arrayLastIndex(array); - const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge]; - const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge]; - const gapA = !loop && isFirst ? direction(startGap) : 0; - const gapB = !loop && isLast ? direction(endGap) : 0; - const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA)); - if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB); - if (isLast) groups.push(array.length); - return groups; - }, []).map((currentSize, index, groups) => { - const previousSize = Math.max(groups[index - 1] || 0); - return array.slice(previousSize, currentSize); - }); - } - function groupSlides(array) { - return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array); - } - const self = { - groupSlides - }; - return self; -} - -function Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler) { - // Options - const { - align, - axis: scrollAxis, - direction, - startIndex, - loop, - duration, - dragFree, - dragThreshold, - inViewThreshold, - slidesToScroll: groupSlides, - skipSnaps, - containScroll, - watchResize, - watchSlides, - watchDrag, - watchFocus - } = options; - // Measurements - const pixelTolerance = 2; - const nodeRects = NodeRects(); - const containerRect = nodeRects.measure(container); - const slideRects = slides.map(nodeRects.measure); - const axis = Axis(scrollAxis, direction); - const viewSize = axis.measureSize(containerRect); - const percentOfView = PercentOfView(viewSize); - const alignment = Alignment(align, viewSize); - const containSnaps = !loop && !!containScroll; - const readEdgeGap = loop || !!containScroll; - const { - slideSizes, - slideSizesWithGaps, - startGap, - endGap - } = SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow); - const slidesToScroll = SlidesToScroll(axis, viewSize, groupSlides, loop, containerRect, slideRects, startGap, endGap, pixelTolerance); - const { - snaps, - snapsAligned - } = ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll); - const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps); - const { - snapsContained, - scrollContainLimit - } = ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance); - const scrollSnaps = containSnaps ? snapsContained : snapsAligned; - const { - limit - } = ScrollLimit(contentSize, scrollSnaps, loop); - // Indexes - const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop); - const indexPrevious = index.clone(); - const slideIndexes = arrayKeys(slides); - // Animation - const update = ({ - dragHandler, - scrollBody, - scrollBounds, - options: { - loop - } - }) => { - if (!loop) scrollBounds.constrain(dragHandler.pointerDown()); - scrollBody.seek(); - }; - const render = ({ - scrollBody, - translate, - location, - offsetLocation, - previousLocation, - scrollLooper, - slideLooper, - dragHandler, - animation, - eventHandler, - scrollBounds, - options: { - loop - } - }, alpha) => { - const shouldSettle = scrollBody.settled(); - const withinBounds = !scrollBounds.shouldConstrain(); - const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds; - const hasSettledAndIdle = hasSettled && !dragHandler.pointerDown(); - if (hasSettledAndIdle) animation.stop(); - const interpolatedLocation = location.get() * alpha + previousLocation.get() * (1 - alpha); - offsetLocation.set(interpolatedLocation); - if (loop) { - scrollLooper.loop(scrollBody.direction()); - slideLooper.loop(); - } - translate.to(offsetLocation.get()); - if (hasSettledAndIdle) eventHandler.emit('settle'); - if (!hasSettled) eventHandler.emit('scroll'); - }; - const animation = Animations(ownerDocument, ownerWindow, () => update(engine), alpha => render(engine, alpha)); - // Shared - const friction = 0.68; - const startLocation = scrollSnaps[index.get()]; - const location = Vector1D(startLocation); - const previousLocation = Vector1D(startLocation); - const offsetLocation = Vector1D(startLocation); - const target = Vector1D(startLocation); - const scrollBody = ScrollBody(location, offsetLocation, previousLocation, target, duration, friction); - const scrollTarget = ScrollTarget(loop, scrollSnaps, contentSize, limit, target); - const scrollTo = ScrollTo(animation, index, indexPrevious, scrollBody, scrollTarget, target, eventHandler); - const scrollProgress = ScrollProgress(limit); - const eventStore = EventStore(); - const slidesInView = SlidesInView(container, slides, eventHandler, inViewThreshold); - const { - slideRegistry - } = SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes); - const slideFocus = SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus); - // Engine - const engine = { - ownerDocument, - ownerWindow, - eventHandler, - containerRect, - slideRects, - animation, - axis, - dragHandler: DragHandler(axis, root, ownerDocument, ownerWindow, target, DragTracker(axis, ownerWindow), location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, friction, watchDrag), - eventStore, - percentOfView, - index, - indexPrevious, - limit, - location, - offsetLocation, - previousLocation, - options, - resizeHandler: ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects), - scrollBody, - scrollBounds: ScrollBounds(limit, offsetLocation, target, scrollBody, percentOfView), - scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [location, offsetLocation, previousLocation, target]), - scrollProgress, - scrollSnapList: scrollSnaps.map(scrollProgress.get), - scrollSnaps, - scrollTarget, - scrollTo, - slideLooper: SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, offsetLocation, slides), - slideFocus, - slidesHandler: SlidesHandler(container, eventHandler, watchSlides), - slidesInView, - slideIndexes, - slideRegistry, - slidesToScroll, - target, - translate: Translate(axis, container) - }; - return engine; -} - -function EventHandler() { - let listeners = {}; - let api; - function init(emblaApi) { - api = emblaApi; - } - function getListeners(evt) { - return listeners[evt] || []; - } - function emit(evt) { - getListeners(evt).forEach(e => e(api, evt)); - return self; - } - function on(evt, cb) { - listeners[evt] = getListeners(evt).concat([cb]); - return self; - } - function off(evt, cb) { - listeners[evt] = getListeners(evt).filter(e => e !== cb); - return self; - } - function clear() { - listeners = {}; - } - const self = { - init, - emit, - off, - on, - clear - }; - return self; -} - -const defaultOptions = { - align: 'center', - axis: 'x', - container: null, - slides: null, - containScroll: 'trimSnaps', - direction: 'ltr', - slidesToScroll: 1, - inViewThreshold: 0, - breakpoints: {}, - dragFree: false, - dragThreshold: 10, - loop: false, - skipSnaps: false, - duration: 25, - startIndex: 0, - active: true, - watchDrag: true, - watchResize: true, - watchSlides: true, - watchFocus: true -}; - -function OptionsHandler(ownerWindow) { - function mergeOptions(optionsA, optionsB) { - return objectsMergeDeep(optionsA, optionsB || {}); - } - function optionsAtMedia(options) { - const optionsAtMedia = options.breakpoints || {}; - const matchedMediaOptions = objectKeys(optionsAtMedia).filter(media => ownerWindow.matchMedia(media).matches).map(media => optionsAtMedia[media]).reduce((a, mediaOption) => mergeOptions(a, mediaOption), {}); - return mergeOptions(options, matchedMediaOptions); - } - function optionsMediaQueries(optionsList) { - return optionsList.map(options => objectKeys(options.breakpoints || {})).reduce((acc, mediaQueries) => acc.concat(mediaQueries), []).map(ownerWindow.matchMedia); - } - const self = { - mergeOptions, - optionsAtMedia, - optionsMediaQueries - }; - return self; -} - -function PluginsHandler(optionsHandler) { - let activePlugins = []; - function init(emblaApi, plugins) { - activePlugins = plugins.filter(({ - options - }) => optionsHandler.optionsAtMedia(options).active !== false); - activePlugins.forEach(plugin => plugin.init(emblaApi, optionsHandler)); - return plugins.reduce((map, plugin) => Object.assign(map, { - [plugin.name]: plugin - }), {}); - } - function destroy() { - activePlugins = activePlugins.filter(plugin => plugin.destroy()); - } - const self = { - init, - destroy - }; - return self; -} - -function EmblaCarousel(root, userOptions, userPlugins) { - const ownerDocument = root.ownerDocument; - const ownerWindow = ownerDocument.defaultView; - const optionsHandler = OptionsHandler(ownerWindow); - const pluginsHandler = PluginsHandler(optionsHandler); - const mediaHandlers = EventStore(); - const eventHandler = EventHandler(); - const { - mergeOptions, - optionsAtMedia, - optionsMediaQueries - } = optionsHandler; - const { - on, - off, - emit - } = eventHandler; - const reInit = reActivate; - let destroyed = false; - let engine; - let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions); - let options = mergeOptions(optionsBase); - let pluginList = []; - let pluginApis; - let container; - let slides; - function storeElements() { - const { - container: userContainer, - slides: userSlides - } = options; - const customContainer = isString(userContainer) ? root.querySelector(userContainer) : userContainer; - container = customContainer || root.children[0]; - const customSlides = isString(userSlides) ? container.querySelectorAll(userSlides) : userSlides; - slides = [].slice.call(customSlides || container.children); - } - function createEngine(options) { - const engine = Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler); - if (options.loop && !engine.slideLooper.canLoop()) { - const optionsWithoutLoop = Object.assign({}, options, { - loop: false - }); - return createEngine(optionsWithoutLoop); - } - return engine; - } - function activate(withOptions, withPlugins) { - if (destroyed) return; - optionsBase = mergeOptions(optionsBase, withOptions); - options = optionsAtMedia(optionsBase); - pluginList = withPlugins || pluginList; - storeElements(); - engine = createEngine(options); - optionsMediaQueries([optionsBase, ...pluginList.map(({ - options - }) => options)]).forEach(query => mediaHandlers.add(query, 'change', reActivate)); - if (!options.active) return; - engine.translate.to(engine.location.get()); - engine.animation.init(); - engine.slidesInView.init(); - engine.slideFocus.init(self); - engine.eventHandler.init(self); - engine.resizeHandler.init(self); - engine.slidesHandler.init(self); - if (engine.options.loop) engine.slideLooper.loop(); - if (container.offsetParent && slides.length) engine.dragHandler.init(self); - pluginApis = pluginsHandler.init(self, pluginList); - } - function reActivate(withOptions, withPlugins) { - const startIndex = selectedScrollSnap(); - deActivate(); - activate(mergeOptions({ - startIndex - }, withOptions), withPlugins); - eventHandler.emit('reInit'); - } - function deActivate() { - engine.dragHandler.destroy(); - engine.eventStore.clear(); - engine.translate.clear(); - engine.slideLooper.clear(); - engine.resizeHandler.destroy(); - engine.slidesHandler.destroy(); - engine.slidesInView.destroy(); - engine.animation.destroy(); - pluginsHandler.destroy(); - mediaHandlers.clear(); - } - function destroy() { - if (destroyed) return; - destroyed = true; - mediaHandlers.clear(); - deActivate(); - eventHandler.emit('destroy'); - eventHandler.clear(); - } - function scrollTo(index, jump, direction) { - if (!options.active || destroyed) return; - engine.scrollBody.useBaseFriction().useDuration(jump === true ? 0 : options.duration); - engine.scrollTo.index(index, direction || 0); - } - function scrollNext(jump) { - const next = engine.index.add(1).get(); - scrollTo(next, jump, -1); - } - function scrollPrev(jump) { - const prev = engine.index.add(-1).get(); - scrollTo(prev, jump, 1); - } - function canScrollNext() { - const next = engine.index.add(1).get(); - return next !== selectedScrollSnap(); - } - function canScrollPrev() { - const prev = engine.index.add(-1).get(); - return prev !== selectedScrollSnap(); - } - function scrollSnapList() { - return engine.scrollSnapList; - } - function scrollProgress() { - return engine.scrollProgress.get(engine.offsetLocation.get()); - } - function selectedScrollSnap() { - return engine.index.get(); - } - function previousScrollSnap() { - return engine.indexPrevious.get(); - } - function slidesInView() { - return engine.slidesInView.get(); - } - function slidesNotInView() { - return engine.slidesInView.get(false); - } - function plugins() { - return pluginApis; - } - function internalEngine() { - return engine; - } - function rootNode() { - return root; - } - function containerNode() { - return container; - } - function slideNodes() { - return slides; - } - const self = { - canScrollNext, - canScrollPrev, - containerNode, - internalEngine, - destroy, - off, - on, - emit, - plugins, - previousScrollSnap, - reInit, - rootNode, - scrollNext, - scrollPrev, - scrollProgress, - scrollSnapList, - scrollTo, - selectedScrollSnap, - slideNodes, - slidesInView, - slidesNotInView - }; - activate(userOptions, userPlugins); - setTimeout(() => eventHandler.emit('init'), 0); - return self; -} -EmblaCarousel.globalOptions = undefined; - -export { EmblaCarousel as default }; -//# sourceMappingURL=embla-carousel.esm.js.map diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map deleted file mode 100644 index de76d19cb2..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"embla-carousel.esm.js","sources":["../src/components/utils.ts","../src/components/Alignment.ts","../src/components/EventStore.ts","../src/components/Animations.ts","../src/components/Axis.ts","../src/components/Limit.ts","../src/components/Counter.ts","../src/components/DragHandler.ts","../src/components/DragTracker.ts","../src/components/NodeRects.ts","../src/components/PercentOfView.ts","../src/components/ResizeHandler.ts","../src/components/ScrollBody.ts","../src/components/ScrollBounds.ts","../src/components/ScrollContain.ts","../src/components/ScrollLimit.ts","../src/components/ScrollLooper.ts","../src/components/ScrollProgress.ts","../src/components/ScrollSnaps.ts","../src/components/SlideRegistry.ts","../src/components/ScrollTarget.ts","../src/components/ScrollTo.ts","../src/components/SlideFocus.ts","../src/components/Vector1d.ts","../src/components/Translate.ts","../src/components/SlideLooper.ts","../src/components/SlidesHandler.ts","../src/components/SlidesInView.ts","../src/components/SlideSizes.ts","../src/components/SlidesToScroll.ts","../src/components/Engine.ts","../src/components/EventHandler.ts","../src/components/Options.ts","../src/components/OptionsHandler.ts","../src/components/PluginsHandler.ts","../src/components/EmblaCarousel.ts"],"sourcesContent":["import { PointerEventType } from './DragTracker'\n\nexport type WindowType = Window & typeof globalThis\n\nexport function isNumber(subject: unknown): subject is number {\n return typeof subject === 'number'\n}\n\nexport function isString(subject: unknown): subject is string {\n return typeof subject === 'string'\n}\n\nexport function isBoolean(subject: unknown): subject is boolean {\n return typeof subject === 'boolean'\n}\n\nexport function isObject(subject: unknown): subject is Record {\n return Object.prototype.toString.call(subject) === '[object Object]'\n}\n\nexport function mathAbs(n: number): number {\n return Math.abs(n)\n}\n\nexport function mathSign(n: number): number {\n return Math.sign(n)\n}\n\nexport function deltaAbs(valueB: number, valueA: number): number {\n return mathAbs(valueB - valueA)\n}\n\nexport function factorAbs(valueB: number, valueA: number): number {\n if (valueB === 0 || valueA === 0) return 0\n if (mathAbs(valueB) <= mathAbs(valueA)) return 0\n const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA))\n return mathAbs(diff / valueB)\n}\n\nexport function roundToTwoDecimals(num: number): number {\n return Math.round(num * 100) / 100\n}\n\nexport function arrayKeys(array: Type[]): number[] {\n return objectKeys(array).map(Number)\n}\n\nexport function arrayLast(array: Type[]): Type {\n return array[arrayLastIndex(array)]\n}\n\nexport function arrayLastIndex(array: Type[]): number {\n return Math.max(0, array.length - 1)\n}\n\nexport function arrayIsLastIndex(array: Type[], index: number): boolean {\n return index === arrayLastIndex(array)\n}\n\nexport function arrayFromNumber(n: number, startAt: number = 0): number[] {\n return Array.from(Array(n), (_, i) => startAt + i)\n}\n\nexport function objectKeys(object: Type): string[] {\n return Object.keys(object)\n}\n\nexport function objectsMergeDeep(\n objectA: Record,\n objectB: Record\n): Record {\n return [objectA, objectB].reduce((mergedObjects, currentObject) => {\n objectKeys(currentObject).forEach((key) => {\n const valueA = mergedObjects[key]\n const valueB = currentObject[key]\n const areObjects = isObject(valueA) && isObject(valueB)\n\n mergedObjects[key] = areObjects\n ? objectsMergeDeep(valueA, valueB)\n : valueB\n })\n return mergedObjects\n }, {})\n}\n\nexport function isMouseEvent(\n evt: PointerEventType,\n ownerWindow: WindowType\n): evt is MouseEvent {\n return (\n typeof ownerWindow.MouseEvent !== 'undefined' &&\n evt instanceof ownerWindow.MouseEvent\n )\n}\n","import { isString } from './utils'\n\nexport type AlignmentOptionType =\n | 'start'\n | 'center'\n | 'end'\n | ((viewSize: number, snapSize: number, index: number) => number)\n\nexport type AlignmentType = {\n measure: (n: number, index: number) => number\n}\n\nexport function Alignment(\n align: AlignmentOptionType,\n viewSize: number\n): AlignmentType {\n const predefined = { start, center, end }\n\n function start(): number {\n return 0\n }\n\n function center(n: number): number {\n return end(n) / 2\n }\n\n function end(n: number): number {\n return viewSize - n\n }\n\n function measure(n: number, index: number): number {\n if (isString(align)) return predefined[align](n)\n return align(viewSize, n, index)\n }\n\n const self: AlignmentType = {\n measure\n }\n return self\n}\n","type EventNameType = keyof DocumentEventMap | keyof WindowEventMap\ntype EventHandlerType = (evt: any) => void\ntype EventOptionsType = boolean | AddEventListenerOptions | undefined\ntype EventRemoverType = () => void\n\nexport type EventStoreType = {\n add: (\n node: EventTarget,\n type: EventNameType,\n handler: EventHandlerType,\n options?: EventOptionsType\n ) => EventStoreType\n clear: () => void\n}\n\nexport function EventStore(): EventStoreType {\n let listeners: EventRemoverType[] = []\n\n function add(\n node: EventTarget,\n type: EventNameType,\n handler: EventHandlerType,\n options: EventOptionsType = { passive: true }\n ): EventStoreType {\n let removeListener: EventRemoverType\n\n if ('addEventListener' in node) {\n node.addEventListener(type, handler, options)\n removeListener = () => node.removeEventListener(type, handler, options)\n } else {\n const legacyMediaQueryList = node\n legacyMediaQueryList.addListener(handler)\n removeListener = () => legacyMediaQueryList.removeListener(handler)\n }\n\n listeners.push(removeListener)\n return self\n }\n\n function clear(): void {\n listeners = listeners.filter((remove) => remove())\n }\n\n const self: EventStoreType = {\n add,\n clear\n }\n return self\n}\n","import { EngineType } from './Engine'\nimport { EventStore } from './EventStore'\nimport { WindowType } from './utils'\n\nexport type AnimationsUpdateType = (engine: EngineType) => void\nexport type AnimationsRenderType = (engine: EngineType, alpha: number) => void\n\nexport type AnimationsType = {\n init: () => void\n destroy: () => void\n start: () => void\n stop: () => void\n update: () => void\n render: (alpha: number) => void\n}\n\nexport function Animations(\n ownerDocument: Document,\n ownerWindow: WindowType,\n update: () => void,\n render: (alpha: number) => void\n): AnimationsType {\n const documentVisibleHandler = EventStore()\n const fixedTimeStep = 1000 / 60\n\n let lastTimeStamp: number | null = null\n let accumulatedTime = 0\n let animationId = 0\n\n function init(): void {\n documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => {\n if (ownerDocument.hidden) reset()\n })\n }\n\n function destroy(): void {\n stop()\n documentVisibleHandler.clear()\n }\n\n function animate(timeStamp: DOMHighResTimeStamp): void {\n if (!animationId) return\n if (!lastTimeStamp) {\n lastTimeStamp = timeStamp\n update()\n update()\n }\n\n const timeElapsed = timeStamp - lastTimeStamp\n lastTimeStamp = timeStamp\n accumulatedTime += timeElapsed\n\n while (accumulatedTime >= fixedTimeStep) {\n update()\n accumulatedTime -= fixedTimeStep\n }\n\n const alpha = accumulatedTime / fixedTimeStep\n render(alpha)\n\n if (animationId) {\n animationId = ownerWindow.requestAnimationFrame(animate)\n }\n }\n\n function start(): void {\n if (animationId) return\n animationId = ownerWindow.requestAnimationFrame(animate)\n }\n\n function stop(): void {\n ownerWindow.cancelAnimationFrame(animationId)\n lastTimeStamp = null\n accumulatedTime = 0\n animationId = 0\n }\n\n function reset(): void {\n lastTimeStamp = null\n accumulatedTime = 0\n }\n\n const self: AnimationsType = {\n init,\n destroy,\n start,\n stop,\n update,\n render\n }\n return self\n}\n","import { NodeRectType } from './NodeRects'\n\nexport type AxisOptionType = 'x' | 'y'\nexport type AxisDirectionOptionType = 'ltr' | 'rtl'\ntype AxisEdgeType = 'top' | 'right' | 'bottom' | 'left'\n\nexport type AxisType = {\n scroll: AxisOptionType\n cross: AxisOptionType\n startEdge: AxisEdgeType\n endEdge: AxisEdgeType\n measureSize: (nodeRect: NodeRectType) => number\n direction: (n: number) => number\n}\n\nexport function Axis(\n axis: AxisOptionType,\n contentDirection: AxisDirectionOptionType\n): AxisType {\n const isRightToLeft = contentDirection === 'rtl'\n const isVertical = axis === 'y'\n const scroll = isVertical ? 'y' : 'x'\n const cross = isVertical ? 'x' : 'y'\n const sign = !isVertical && isRightToLeft ? -1 : 1\n const startEdge = getStartEdge()\n const endEdge = getEndEdge()\n\n function measureSize(nodeRect: NodeRectType): number {\n const { height, width } = nodeRect\n return isVertical ? height : width\n }\n\n function getStartEdge(): AxisEdgeType {\n if (isVertical) return 'top'\n return isRightToLeft ? 'right' : 'left'\n }\n\n function getEndEdge(): AxisEdgeType {\n if (isVertical) return 'bottom'\n return isRightToLeft ? 'left' : 'right'\n }\n\n function direction(n: number): number {\n return n * sign\n }\n\n const self: AxisType = {\n scroll,\n cross,\n startEdge,\n endEdge,\n measureSize,\n direction\n }\n return self\n}\n","import { mathAbs } from './utils'\n\nexport type LimitType = {\n min: number\n max: number\n length: number\n constrain: (n: number) => number\n reachedAny: (n: number) => boolean\n reachedMax: (n: number) => boolean\n reachedMin: (n: number) => boolean\n removeOffset: (n: number) => number\n}\n\nexport function Limit(min: number = 0, max: number = 0): LimitType {\n const length = mathAbs(min - max)\n\n function reachedMin(n: number): boolean {\n return n < min\n }\n\n function reachedMax(n: number): boolean {\n return n > max\n }\n\n function reachedAny(n: number): boolean {\n return reachedMin(n) || reachedMax(n)\n }\n\n function constrain(n: number): number {\n if (!reachedAny(n)) return n\n return reachedMin(n) ? min : max\n }\n\n function removeOffset(n: number): number {\n if (!length) return n\n return n - length * Math.ceil((n - max) / length)\n }\n\n const self: LimitType = {\n length,\n max,\n min,\n constrain,\n reachedAny,\n reachedMax,\n reachedMin,\n removeOffset\n }\n return self\n}\n","import { Limit } from './Limit'\nimport { mathAbs } from './utils'\n\nexport type CounterType = {\n get: () => number\n set: (n: number) => CounterType\n add: (n: number) => CounterType\n clone: () => CounterType\n}\n\nexport function Counter(\n max: number,\n start: number,\n loop: boolean\n): CounterType {\n const { constrain } = Limit(0, max)\n const loopEnd = max + 1\n let counter = withinLimit(start)\n\n function withinLimit(n: number): number {\n return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd)\n }\n\n function get(): number {\n return counter\n }\n\n function set(n: number): CounterType {\n counter = withinLimit(n)\n return self\n }\n\n function add(n: number): CounterType {\n return clone().set(get() + n)\n }\n\n function clone(): CounterType {\n return Counter(max, get(), loop)\n }\n\n const self: CounterType = {\n get,\n set,\n add,\n clone\n }\n return self\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\nimport { AnimationsType } from './Animations'\nimport { CounterType } from './Counter'\nimport { DragTrackerType, PointerEventType } from './DragTracker'\nimport { EventHandlerType } from './EventHandler'\nimport { AxisType } from './Axis'\nimport { EventStore } from './EventStore'\nimport { ScrollBodyType } from './ScrollBody'\nimport { ScrollTargetType } from './ScrollTarget'\nimport { ScrollToType } from './ScrollTo'\nimport { Vector1DType } from './Vector1d'\nimport { PercentOfViewType } from './PercentOfView'\nimport { Limit } from './Limit'\nimport {\n deltaAbs,\n factorAbs,\n isBoolean,\n isMouseEvent,\n mathAbs,\n mathSign,\n WindowType\n} from './utils'\n\ntype DragHandlerCallbackType = (\n emblaApi: EmblaCarouselType,\n evt: PointerEventType\n) => boolean | void\n\nexport type DragHandlerOptionType = boolean | DragHandlerCallbackType\n\nexport type DragHandlerType = {\n init: (emblaApi: EmblaCarouselType) => void\n destroy: () => void\n pointerDown: () => boolean\n}\n\nexport function DragHandler(\n axis: AxisType,\n rootNode: HTMLElement,\n ownerDocument: Document,\n ownerWindow: WindowType,\n target: Vector1DType,\n dragTracker: DragTrackerType,\n location: Vector1DType,\n animation: AnimationsType,\n scrollTo: ScrollToType,\n scrollBody: ScrollBodyType,\n scrollTarget: ScrollTargetType,\n index: CounterType,\n eventHandler: EventHandlerType,\n percentOfView: PercentOfViewType,\n dragFree: boolean,\n dragThreshold: number,\n skipSnaps: boolean,\n baseFriction: number,\n watchDrag: DragHandlerOptionType\n): DragHandlerType {\n const { cross: crossAxis, direction } = axis\n const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA']\n const nonPassiveEvent = { passive: false }\n const initEvents = EventStore()\n const dragEvents = EventStore()\n const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20))\n const snapForceBoost = { mouse: 300, touch: 400 }\n const freeForceBoost = { mouse: 500, touch: 600 }\n const baseSpeed = dragFree ? 43 : 25\n\n let isMoving = false\n let startScroll = 0\n let startCross = 0\n let pointerIsDown = false\n let preventScroll = false\n let preventClick = false\n let isMouse = false\n\n function init(emblaApi: EmblaCarouselType): void {\n if (!watchDrag) return\n\n function downIfAllowed(evt: PointerEventType): void {\n if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt)\n }\n\n const node = rootNode\n initEvents\n .add(node, 'dragstart', (evt) => evt.preventDefault(), nonPassiveEvent)\n .add(node, 'touchmove', () => undefined, nonPassiveEvent)\n .add(node, 'touchend', () => undefined)\n .add(node, 'touchstart', downIfAllowed)\n .add(node, 'mousedown', downIfAllowed)\n .add(node, 'touchcancel', up)\n .add(node, 'contextmenu', up)\n .add(node, 'click', click, true)\n }\n\n function destroy(): void {\n initEvents.clear()\n dragEvents.clear()\n }\n\n function addDragEvents(): void {\n const node = isMouse ? ownerDocument : rootNode\n dragEvents\n .add(node, 'touchmove', move, nonPassiveEvent)\n .add(node, 'touchend', up)\n .add(node, 'mousemove', move, nonPassiveEvent)\n .add(node, 'mouseup', up)\n }\n\n function isFocusNode(node: Element): boolean {\n const nodeName = node.nodeName || ''\n return focusNodes.includes(nodeName)\n }\n\n function forceBoost(): number {\n const boost = dragFree ? freeForceBoost : snapForceBoost\n const type = isMouse ? 'mouse' : 'touch'\n return boost[type]\n }\n\n function allowedForce(force: number, targetChanged: boolean): number {\n const next = index.add(mathSign(force) * -1)\n const baseForce = scrollTarget.byDistance(force, !dragFree).distance\n\n if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce\n if (skipSnaps && targetChanged) return baseForce * 0.5\n\n return scrollTarget.byIndex(next.get(), 0).distance\n }\n\n function down(evt: PointerEventType): void {\n const isMouseEvt = isMouseEvent(evt, ownerWindow)\n isMouse = isMouseEvt\n preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving\n isMoving = deltaAbs(target.get(), location.get()) >= 2\n\n if (isMouseEvt && evt.button !== 0) return\n if (isFocusNode(evt.target as Element)) return\n\n pointerIsDown = true\n dragTracker.pointerDown(evt)\n scrollBody.useFriction(0).useDuration(0)\n target.set(location)\n addDragEvents()\n startScroll = dragTracker.readPoint(evt)\n startCross = dragTracker.readPoint(evt, crossAxis)\n eventHandler.emit('pointerDown')\n }\n\n function move(evt: PointerEventType): void {\n const isTouchEvt = !isMouseEvent(evt, ownerWindow)\n if (isTouchEvt && evt.touches.length >= 2) return up(evt)\n\n const lastScroll = dragTracker.readPoint(evt)\n const lastCross = dragTracker.readPoint(evt, crossAxis)\n const diffScroll = deltaAbs(lastScroll, startScroll)\n const diffCross = deltaAbs(lastCross, startCross)\n\n if (!preventScroll && !isMouse) {\n if (!evt.cancelable) return up(evt)\n preventScroll = diffScroll > diffCross\n if (!preventScroll) return up(evt)\n }\n const diff = dragTracker.pointerMove(evt)\n if (diffScroll > dragThreshold) preventClick = true\n\n scrollBody.useFriction(0.3).useDuration(0.75)\n animation.start()\n target.add(direction(diff))\n evt.preventDefault()\n }\n\n function up(evt: PointerEventType): void {\n const currentLocation = scrollTarget.byDistance(0, false)\n const targetChanged = currentLocation.index !== index.get()\n const rawForce = dragTracker.pointerUp(evt) * forceBoost()\n const force = allowedForce(direction(rawForce), targetChanged)\n const forceFactor = factorAbs(rawForce, force)\n const speed = baseSpeed - 10 * forceFactor\n const friction = baseFriction + forceFactor / 50\n\n preventScroll = false\n pointerIsDown = false\n dragEvents.clear()\n scrollBody.useDuration(speed).useFriction(friction)\n scrollTo.distance(force, !dragFree)\n isMouse = false\n eventHandler.emit('pointerUp')\n }\n\n function click(evt: MouseEvent): void {\n if (preventClick) {\n evt.stopPropagation()\n evt.preventDefault()\n preventClick = false\n }\n }\n\n function pointerDown(): boolean {\n return pointerIsDown\n }\n\n const self: DragHandlerType = {\n init,\n destroy,\n pointerDown\n }\n return self\n}\n","import { AxisOptionType, AxisType } from './Axis'\nimport { isMouseEvent, mathAbs, WindowType } from './utils'\n\ntype PointerCoordType = keyof Touch | keyof MouseEvent\nexport type PointerEventType = TouchEvent | MouseEvent\n\nexport type DragTrackerType = {\n pointerDown: (evt: PointerEventType) => number\n pointerMove: (evt: PointerEventType) => number\n pointerUp: (evt: PointerEventType) => number\n readPoint: (evt: PointerEventType, evtAxis?: AxisOptionType) => number\n}\n\nexport function DragTracker(\n axis: AxisType,\n ownerWindow: WindowType\n): DragTrackerType {\n const logInterval = 170\n\n let startEvent: PointerEventType\n let lastEvent: PointerEventType\n\n function readTime(evt: PointerEventType): number {\n return evt.timeStamp\n }\n\n function readPoint(evt: PointerEventType, evtAxis?: AxisOptionType): number {\n const property = evtAxis || axis.scroll\n const coord: PointerCoordType = `client${property === 'x' ? 'X' : 'Y'}`\n return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord]\n }\n\n function pointerDown(evt: PointerEventType): number {\n startEvent = evt\n lastEvent = evt\n return readPoint(evt)\n }\n\n function pointerMove(evt: PointerEventType): number {\n const diff = readPoint(evt) - readPoint(lastEvent)\n const expired = readTime(evt) - readTime(startEvent) > logInterval\n\n lastEvent = evt\n if (expired) startEvent = evt\n return diff\n }\n\n function pointerUp(evt: PointerEventType): number {\n if (!startEvent || !lastEvent) return 0\n const diffDrag = readPoint(lastEvent) - readPoint(startEvent)\n const diffTime = readTime(evt) - readTime(startEvent)\n const expired = readTime(evt) - readTime(lastEvent) > logInterval\n const force = diffDrag / diffTime\n const isFlick = diffTime && !expired && mathAbs(force) > 0.1\n\n return isFlick ? force : 0\n }\n\n const self: DragTrackerType = {\n pointerDown,\n pointerMove,\n pointerUp,\n readPoint\n }\n return self\n}\n","export type NodeRectType = {\n top: number\n right: number\n bottom: number\n left: number\n width: number\n height: number\n}\n\nexport type NodeRectsType = {\n measure: (node: HTMLElement) => NodeRectType\n}\n\nexport function NodeRects(): NodeRectsType {\n function measure(node: HTMLElement): NodeRectType {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = node\n const offset: NodeRectType = {\n top: offsetTop,\n right: offsetLeft + offsetWidth,\n bottom: offsetTop + offsetHeight,\n left: offsetLeft,\n width: offsetWidth,\n height: offsetHeight\n }\n\n return offset\n }\n\n const self: NodeRectsType = {\n measure\n }\n return self\n}\n","export type PercentOfViewType = {\n measure: (n: number) => number\n}\n\nexport function PercentOfView(viewSize: number): PercentOfViewType {\n function measure(n: number): number {\n return viewSize * (n / 100)\n }\n\n const self: PercentOfViewType = {\n measure\n }\n return self\n}\n","import { AxisType } from './Axis'\nimport { EmblaCarouselType } from './EmblaCarousel'\nimport { EventHandlerType } from './EventHandler'\nimport { NodeRectsType } from './NodeRects'\nimport { isBoolean, mathAbs, WindowType } from './utils'\n\ntype ResizeHandlerCallbackType = (\n emblaApi: EmblaCarouselType,\n entries: ResizeObserverEntry[]\n) => boolean | void\n\nexport type ResizeHandlerOptionType = boolean | ResizeHandlerCallbackType\n\nexport type ResizeHandlerType = {\n init: (emblaApi: EmblaCarouselType) => void\n destroy: () => void\n}\n\nexport function ResizeHandler(\n container: HTMLElement,\n eventHandler: EventHandlerType,\n ownerWindow: WindowType,\n slides: HTMLElement[],\n axis: AxisType,\n watchResize: ResizeHandlerOptionType,\n nodeRects: NodeRectsType\n): ResizeHandlerType {\n const observeNodes = [container].concat(slides)\n let resizeObserver: ResizeObserver\n let containerSize: number\n let slideSizes: number[] = []\n let destroyed = false\n\n function readSize(node: HTMLElement): number {\n return axis.measureSize(nodeRects.measure(node))\n }\n\n function init(emblaApi: EmblaCarouselType): void {\n if (!watchResize) return\n\n containerSize = readSize(container)\n slideSizes = slides.map(readSize)\n\n function defaultCallback(entries: ResizeObserverEntry[]): void {\n for (const entry of entries) {\n if (destroyed) return\n\n const isContainer = entry.target === container\n const slideIndex = slides.indexOf(entry.target)\n const lastSize = isContainer ? containerSize : slideSizes[slideIndex]\n const newSize = readSize(isContainer ? container : slides[slideIndex])\n const diffSize = mathAbs(newSize - lastSize)\n\n if (diffSize >= 0.5) {\n emblaApi.reInit()\n eventHandler.emit('resize')\n\n break\n }\n }\n }\n\n resizeObserver = new ResizeObserver((entries) => {\n if (isBoolean(watchResize) || watchResize(emblaApi, entries)) {\n defaultCallback(entries)\n }\n })\n\n ownerWindow.requestAnimationFrame(() => {\n observeNodes.forEach((node) => resizeObserver.observe(node))\n })\n }\n\n function destroy(): void {\n destroyed = true\n if (resizeObserver) resizeObserver.disconnect()\n }\n\n const self: ResizeHandlerType = {\n init,\n destroy\n }\n return self\n}\n","import { mathSign, mathAbs } from './utils'\nimport { Vector1DType } from './Vector1d'\n\nexport type ScrollBodyType = {\n direction: () => number\n duration: () => number\n velocity: () => number\n seek: () => ScrollBodyType\n settled: () => boolean\n useBaseFriction: () => ScrollBodyType\n useBaseDuration: () => ScrollBodyType\n useFriction: (n: number) => ScrollBodyType\n useDuration: (n: number) => ScrollBodyType\n}\n\nexport function ScrollBody(\n location: Vector1DType,\n offsetLocation: Vector1DType,\n previousLocation: Vector1DType,\n target: Vector1DType,\n baseDuration: number,\n baseFriction: number\n): ScrollBodyType {\n let scrollVelocity = 0\n let scrollDirection = 0\n let scrollDuration = baseDuration\n let scrollFriction = baseFriction\n let rawLocation = location.get()\n let rawLocationPrevious = 0\n\n function seek(): ScrollBodyType {\n const displacement = target.get() - location.get()\n const isInstant = !scrollDuration\n let scrollDistance = 0\n\n if (isInstant) {\n scrollVelocity = 0\n previousLocation.set(target)\n location.set(target)\n\n scrollDistance = displacement\n } else {\n previousLocation.set(location)\n\n scrollVelocity += displacement / scrollDuration\n scrollVelocity *= scrollFriction\n rawLocation += scrollVelocity\n location.add(scrollVelocity)\n\n scrollDistance = rawLocation - rawLocationPrevious\n }\n\n scrollDirection = mathSign(scrollDistance)\n rawLocationPrevious = rawLocation\n return self\n }\n\n function settled(): boolean {\n const diff = target.get() - offsetLocation.get()\n return mathAbs(diff) < 0.001\n }\n\n function duration(): number {\n return scrollDuration\n }\n\n function direction(): number {\n return scrollDirection\n }\n\n function velocity(): number {\n return scrollVelocity\n }\n\n function useBaseDuration(): ScrollBodyType {\n return useDuration(baseDuration)\n }\n\n function useBaseFriction(): ScrollBodyType {\n return useFriction(baseFriction)\n }\n\n function useDuration(n: number): ScrollBodyType {\n scrollDuration = n\n return self\n }\n\n function useFriction(n: number): ScrollBodyType {\n scrollFriction = n\n return self\n }\n\n const self: ScrollBodyType = {\n direction,\n duration,\n velocity,\n seek,\n settled,\n useBaseFriction,\n useBaseDuration,\n useFriction,\n useDuration\n }\n return self\n}\n","import { Limit, LimitType } from './Limit'\nimport { ScrollBodyType } from './ScrollBody'\nimport { Vector1DType } from './Vector1d'\nimport { mathAbs } from './utils'\nimport { PercentOfViewType } from './PercentOfView'\n\nexport type ScrollBoundsType = {\n shouldConstrain: () => boolean\n constrain: (pointerDown: boolean) => void\n toggleActive: (active: boolean) => void\n}\n\nexport function ScrollBounds(\n limit: LimitType,\n location: Vector1DType,\n target: Vector1DType,\n scrollBody: ScrollBodyType,\n percentOfView: PercentOfViewType\n): ScrollBoundsType {\n const pullBackThreshold = percentOfView.measure(10)\n const edgeOffsetTolerance = percentOfView.measure(50)\n const frictionLimit = Limit(0.1, 0.99)\n let disabled = false\n\n function shouldConstrain(): boolean {\n if (disabled) return false\n if (!limit.reachedAny(target.get())) return false\n if (!limit.reachedAny(location.get())) return false\n return true\n }\n\n function constrain(pointerDown: boolean): void {\n if (!shouldConstrain()) return\n const edge = limit.reachedMin(location.get()) ? 'min' : 'max'\n const diffToEdge = mathAbs(limit[edge] - location.get())\n const diffToTarget = target.get() - location.get()\n const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance)\n\n target.subtract(diffToTarget * friction)\n\n if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) {\n target.set(limit.constrain(target.get()))\n scrollBody.useDuration(25).useBaseFriction()\n }\n }\n\n function toggleActive(active: boolean): void {\n disabled = !active\n }\n\n const self: ScrollBoundsType = {\n shouldConstrain,\n constrain,\n toggleActive\n }\n return self\n}\n","import { Limit, LimitType } from './Limit'\nimport { arrayIsLastIndex, arrayLast, deltaAbs } from './utils'\n\nexport type ScrollContainOptionType = false | 'trimSnaps' | 'keepSnaps'\n\nexport type ScrollContainType = {\n snapsContained: number[]\n scrollContainLimit: LimitType\n}\n\nexport function ScrollContain(\n viewSize: number,\n contentSize: number,\n snapsAligned: number[],\n containScroll: ScrollContainOptionType,\n pixelTolerance: number\n): ScrollContainType {\n const scrollBounds = Limit(-contentSize + viewSize, 0)\n const snapsBounded = measureBounded()\n const scrollContainLimit = findScrollContainLimit()\n const snapsContained = measureContained()\n\n function usePixelTolerance(bound: number, snap: number): boolean {\n return deltaAbs(bound, snap) <= 1\n }\n\n function findScrollContainLimit(): LimitType {\n const startSnap = snapsBounded[0]\n const endSnap = arrayLast(snapsBounded)\n const min = snapsBounded.lastIndexOf(startSnap)\n const max = snapsBounded.indexOf(endSnap) + 1\n return Limit(min, max)\n }\n\n function measureBounded(): number[] {\n return snapsAligned\n .map((snapAligned, index) => {\n const { min, max } = scrollBounds\n const snap = scrollBounds.constrain(snapAligned)\n const isFirst = !index\n const isLast = arrayIsLastIndex(snapsAligned, index)\n if (isFirst) return max\n if (isLast) return min\n if (usePixelTolerance(min, snap)) return min\n if (usePixelTolerance(max, snap)) return max\n return snap\n })\n .map((scrollBound) => parseFloat(scrollBound.toFixed(3)))\n }\n\n function measureContained(): number[] {\n if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max]\n if (containScroll === 'keepSnaps') return snapsBounded\n const { min, max } = scrollContainLimit\n return snapsBounded.slice(min, max)\n }\n\n const self: ScrollContainType = {\n snapsContained,\n scrollContainLimit\n }\n return self\n}\n","import { Limit, LimitType } from './Limit'\nimport { arrayLast } from './utils'\n\nexport type ScrollLimitType = {\n limit: LimitType\n}\n\nexport function ScrollLimit(\n contentSize: number,\n scrollSnaps: number[],\n loop: boolean\n): ScrollLimitType {\n const max = scrollSnaps[0]\n const min = loop ? max - contentSize : arrayLast(scrollSnaps)\n const limit = Limit(min, max)\n\n const self: ScrollLimitType = {\n limit\n }\n return self\n}\n","import { Limit, LimitType } from './Limit'\nimport { Vector1DType } from './Vector1d'\n\nexport type ScrollLooperType = {\n loop: (direction: number) => void\n}\n\nexport function ScrollLooper(\n contentSize: number,\n limit: LimitType,\n location: Vector1DType,\n vectors: Vector1DType[]\n): ScrollLooperType {\n const jointSafety = 0.1\n const min = limit.min + jointSafety\n const max = limit.max + jointSafety\n const { reachedMin, reachedMax } = Limit(min, max)\n\n function shouldLoop(direction: number): boolean {\n if (direction === 1) return reachedMax(location.get())\n if (direction === -1) return reachedMin(location.get())\n return false\n }\n\n function loop(direction: number): void {\n if (!shouldLoop(direction)) return\n\n const loopDistance = contentSize * (direction * -1)\n vectors.forEach((v) => v.add(loopDistance))\n }\n\n const self: ScrollLooperType = {\n loop\n }\n return self\n}\n","import { LimitType } from './Limit'\n\nexport type ScrollProgressType = {\n get: (n: number) => number\n}\n\nexport function ScrollProgress(limit: LimitType): ScrollProgressType {\n const { max, length } = limit\n\n function get(n: number): number {\n const currentLocation = n - max\n return length ? currentLocation / -length : 0\n }\n\n const self: ScrollProgressType = {\n get\n }\n return self\n}\n","import { AlignmentType } from './Alignment'\nimport { AxisType } from './Axis'\nimport { NodeRectType } from './NodeRects'\nimport { SlidesToScrollType } from './SlidesToScroll'\nimport { arrayLast, mathAbs } from './utils'\n\nexport type ScrollSnapsType = {\n snaps: number[]\n snapsAligned: number[]\n}\n\nexport function ScrollSnaps(\n axis: AxisType,\n alignment: AlignmentType,\n containerRect: NodeRectType,\n slideRects: NodeRectType[],\n slidesToScroll: SlidesToScrollType\n): ScrollSnapsType {\n const { startEdge, endEdge } = axis\n const { groupSlides } = slidesToScroll\n const alignments = measureSizes().map(alignment.measure)\n const snaps = measureUnaligned()\n const snapsAligned = measureAligned()\n\n function measureSizes(): number[] {\n return groupSlides(slideRects)\n .map((rects) => arrayLast(rects)[endEdge] - rects[0][startEdge])\n .map(mathAbs)\n }\n\n function measureUnaligned(): number[] {\n return slideRects\n .map((rect) => containerRect[startEdge] - rect[startEdge])\n .map((snap) => -mathAbs(snap))\n }\n\n function measureAligned(): number[] {\n return groupSlides(snaps)\n .map((g) => g[0])\n .map((snap, index) => snap + alignments[index])\n }\n\n const self: ScrollSnapsType = {\n snaps,\n snapsAligned\n }\n return self\n}\n","import { LimitType } from './Limit'\nimport { ScrollContainOptionType } from './ScrollContain'\nimport { SlidesToScrollType } from './SlidesToScroll'\nimport {\n arrayFromNumber,\n arrayIsLastIndex,\n arrayLast,\n arrayLastIndex\n} from './utils'\n\nexport type SlideRegistryType = {\n slideRegistry: number[][]\n}\n\nexport function SlideRegistry(\n containSnaps: boolean,\n containScroll: ScrollContainOptionType,\n scrollSnaps: number[],\n scrollContainLimit: LimitType,\n slidesToScroll: SlidesToScrollType,\n slideIndexes: number[]\n): SlideRegistryType {\n const { groupSlides } = slidesToScroll\n const { min, max } = scrollContainLimit\n const slideRegistry = createSlideRegistry()\n\n function createSlideRegistry(): number[][] {\n const groupedSlideIndexes = groupSlides(slideIndexes)\n const doNotContain = !containSnaps || containScroll === 'keepSnaps'\n\n if (scrollSnaps.length === 1) return [slideIndexes]\n if (doNotContain) return groupedSlideIndexes\n\n return groupedSlideIndexes.slice(min, max).map((group, index, groups) => {\n const isFirst = !index\n const isLast = arrayIsLastIndex(groups, index)\n\n if (isFirst) {\n const range = arrayLast(groups[0]) + 1\n return arrayFromNumber(range)\n }\n if (isLast) {\n const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1\n return arrayFromNumber(range, arrayLast(groups)[0])\n }\n return group\n })\n }\n\n const self: SlideRegistryType = {\n slideRegistry\n }\n return self\n}\n","import { LimitType } from './Limit'\nimport { Vector1DType } from './Vector1d'\nimport { arrayLast, mathAbs, mathSign } from './utils'\n\nexport type TargetType = {\n distance: number\n index: number\n}\n\nexport type ScrollTargetType = {\n byIndex: (target: number, direction: number) => TargetType\n byDistance: (force: number, snap: boolean) => TargetType\n shortcut: (target: number, direction: number) => number\n}\n\nexport function ScrollTarget(\n loop: boolean,\n scrollSnaps: number[],\n contentSize: number,\n limit: LimitType,\n targetVector: Vector1DType\n): ScrollTargetType {\n const { reachedAny, removeOffset, constrain } = limit\n\n function minDistance(distances: number[]): number {\n return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0]\n }\n\n function findTargetSnap(target: number): TargetType {\n const distance = loop ? removeOffset(target) : constrain(target)\n const ascDiffsToSnaps = scrollSnaps\n .map((snap, index) => ({ diff: shortcut(snap - distance, 0), index }))\n .sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff))\n\n const { index } = ascDiffsToSnaps[0]\n return { index, distance }\n }\n\n function shortcut(target: number, direction: number): number {\n const targets = [target, target + contentSize, target - contentSize]\n\n if (!loop) return target\n if (!direction) return minDistance(targets)\n\n const matchingTargets = targets.filter((t) => mathSign(t) === direction)\n if (matchingTargets.length) return minDistance(matchingTargets)\n return arrayLast(targets) - contentSize\n }\n\n function byIndex(index: number, direction: number): TargetType {\n const diffToSnap = scrollSnaps[index] - targetVector.get()\n const distance = shortcut(diffToSnap, direction)\n return { index, distance }\n }\n\n function byDistance(distance: number, snap: boolean): TargetType {\n const target = targetVector.get() + distance\n const { index, distance: targetSnapDistance } = findTargetSnap(target)\n const reachedBound = !loop && reachedAny(target)\n\n if (!snap || reachedBound) return { index, distance }\n\n const diffToSnap = scrollSnaps[index] - targetSnapDistance\n const snapDistance = distance + shortcut(diffToSnap, 0)\n\n return { index, distance: snapDistance }\n }\n\n const self: ScrollTargetType = {\n byDistance,\n byIndex,\n shortcut\n }\n return self\n}\n","import { AnimationsType } from './Animations'\nimport { CounterType } from './Counter'\nimport { EventHandlerType } from './EventHandler'\nimport { ScrollBodyType } from './ScrollBody'\nimport { ScrollTargetType, TargetType } from './ScrollTarget'\nimport { Vector1DType } from './Vector1d'\n\nexport type ScrollToType = {\n distance: (n: number, snap: boolean) => void\n index: (n: number, direction: number) => void\n}\n\nexport function ScrollTo(\n animation: AnimationsType,\n indexCurrent: CounterType,\n indexPrevious: CounterType,\n scrollBody: ScrollBodyType,\n scrollTarget: ScrollTargetType,\n targetVector: Vector1DType,\n eventHandler: EventHandlerType\n): ScrollToType {\n function scrollTo(target: TargetType): void {\n const distanceDiff = target.distance\n const indexDiff = target.index !== indexCurrent.get()\n\n targetVector.add(distanceDiff)\n\n if (distanceDiff) {\n if (scrollBody.duration()) {\n animation.start()\n } else {\n animation.update()\n animation.render(1)\n animation.update()\n }\n }\n\n if (indexDiff) {\n indexPrevious.set(indexCurrent.get())\n indexCurrent.set(target.index)\n eventHandler.emit('select')\n }\n }\n\n function distance(n: number, snap: boolean): void {\n const target = scrollTarget.byDistance(n, snap)\n scrollTo(target)\n }\n\n function index(n: number, direction: number): void {\n const targetIndex = indexCurrent.clone().set(n)\n const target = scrollTarget.byIndex(targetIndex.get(), direction)\n scrollTo(target)\n }\n\n const self: ScrollToType = {\n distance,\n index\n }\n return self\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\nimport { EventHandlerType } from './EventHandler'\nimport { EventStoreType } from './EventStore'\nimport { ScrollBodyType } from './ScrollBody'\nimport { ScrollToType } from './ScrollTo'\nimport { SlideRegistryType } from './SlideRegistry'\nimport { isBoolean, isNumber } from './utils'\n\ntype FocusHandlerCallbackType = (\n emblaApi: EmblaCarouselType,\n evt: FocusEvent\n) => boolean | void\n\nexport type FocusHandlerOptionType = boolean | FocusHandlerCallbackType\n\nexport type SlideFocusType = {\n init: (emblaApi: EmblaCarouselType) => void\n}\n\nexport function SlideFocus(\n root: HTMLElement,\n slides: HTMLElement[],\n slideRegistry: SlideRegistryType['slideRegistry'],\n scrollTo: ScrollToType,\n scrollBody: ScrollBodyType,\n eventStore: EventStoreType,\n eventHandler: EventHandlerType,\n watchFocus: FocusHandlerOptionType\n): SlideFocusType {\n const focusListenerOptions = { passive: true, capture: true }\n let lastTabPressTime = 0\n\n function init(emblaApi: EmblaCarouselType): void {\n if (!watchFocus) return\n\n function defaultCallback(index: number): void {\n const nowTime = new Date().getTime()\n const diffTime = nowTime - lastTabPressTime\n\n if (diffTime > 10) return\n\n eventHandler.emit('slideFocusStart')\n root.scrollLeft = 0\n\n const group = slideRegistry.findIndex((group) => group.includes(index))\n\n if (!isNumber(group)) return\n\n scrollBody.useDuration(0)\n scrollTo.index(group, 0)\n\n eventHandler.emit('slideFocus')\n }\n\n eventStore.add(document, 'keydown', registerTabPress, false)\n\n slides.forEach((slide, slideIndex) => {\n eventStore.add(\n slide,\n 'focus',\n (evt: FocusEvent) => {\n if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) {\n defaultCallback(slideIndex)\n }\n },\n focusListenerOptions\n )\n })\n }\n\n function registerTabPress(event: KeyboardEvent): void {\n if (event.code === 'Tab') lastTabPressTime = new Date().getTime()\n }\n\n const self: SlideFocusType = {\n init\n }\n return self\n}\n","import { isNumber } from './utils'\n\nexport type Vector1DType = {\n get: () => number\n set: (n: Vector1DType | number) => void\n add: (n: Vector1DType | number) => void\n subtract: (n: Vector1DType | number) => void\n}\n\nexport function Vector1D(initialValue: number): Vector1DType {\n let value = initialValue\n\n function get(): number {\n return value\n }\n\n function set(n: Vector1DType | number): void {\n value = normalizeInput(n)\n }\n\n function add(n: Vector1DType | number): void {\n value += normalizeInput(n)\n }\n\n function subtract(n: Vector1DType | number): void {\n value -= normalizeInput(n)\n }\n\n function normalizeInput(n: Vector1DType | number): number {\n return isNumber(n) ? n : n.get()\n }\n\n const self: Vector1DType = {\n get,\n set,\n add,\n subtract\n }\n return self\n}\n","import { AxisType } from './Axis'\nimport { roundToTwoDecimals } from './utils'\n\nexport type TranslateType = {\n clear: () => void\n to: (target: number) => void\n toggleActive: (active: boolean) => void\n}\n\nexport function Translate(\n axis: AxisType,\n container: HTMLElement\n): TranslateType {\n const translate = axis.scroll === 'x' ? x : y\n const containerStyle = container.style\n let previousTarget: number | null = null\n let disabled = false\n\n function x(n: number): string {\n return `translate3d(${n}px,0px,0px)`\n }\n\n function y(n: number): string {\n return `translate3d(0px,${n}px,0px)`\n }\n\n function to(target: number): void {\n if (disabled) return\n\n const newTarget = roundToTwoDecimals(axis.direction(target))\n if (newTarget === previousTarget) return\n\n containerStyle.transform = translate(newTarget)\n previousTarget = newTarget\n }\n\n function toggleActive(active: boolean): void {\n disabled = !active\n }\n\n function clear(): void {\n if (disabled) return\n containerStyle.transform = ''\n if (!container.getAttribute('style')) container.removeAttribute('style')\n }\n\n const self: TranslateType = {\n clear,\n to,\n toggleActive\n }\n return self\n}\n","import { AxisType } from './Axis'\nimport { arrayKeys } from './utils'\nimport { Vector1D, Vector1DType } from './Vector1d'\nimport { Translate, TranslateType } from './Translate'\n\ntype SlideBoundType = {\n start: number\n end: number\n}\n\ntype LoopPointType = {\n loopPoint: number\n index: number\n translate: TranslateType\n slideLocation: Vector1DType\n target: () => number\n}\n\nexport type SlideLooperType = {\n canLoop: () => boolean\n clear: () => void\n loop: () => void\n loopPoints: LoopPointType[]\n}\n\nexport function SlideLooper(\n axis: AxisType,\n viewSize: number,\n contentSize: number,\n slideSizes: number[],\n slideSizesWithGaps: number[],\n snaps: number[],\n scrollSnaps: number[],\n location: Vector1DType,\n slides: HTMLElement[]\n): SlideLooperType {\n const roundingSafety = 0.5\n const ascItems = arrayKeys(slideSizesWithGaps)\n const descItems = arrayKeys(slideSizesWithGaps).reverse()\n const loopPoints = startPoints().concat(endPoints())\n\n function removeSlideSizes(indexes: number[], from: number): number {\n return indexes.reduce((a: number, i) => {\n return a - slideSizesWithGaps[i]\n }, from)\n }\n\n function slidesInGap(indexes: number[], gap: number): number[] {\n return indexes.reduce((a: number[], i) => {\n const remainingGap = removeSlideSizes(a, gap)\n return remainingGap > 0 ? a.concat([i]) : a\n }, [])\n }\n\n function findSlideBounds(offset: number): SlideBoundType[] {\n return snaps.map((snap, index) => ({\n start: snap - slideSizes[index] + roundingSafety + offset,\n end: snap + viewSize - roundingSafety + offset\n }))\n }\n\n function findLoopPoints(\n indexes: number[],\n offset: number,\n isEndEdge: boolean\n ): LoopPointType[] {\n const slideBounds = findSlideBounds(offset)\n\n return indexes.map((index) => {\n const initial = isEndEdge ? 0 : -contentSize\n const altered = isEndEdge ? contentSize : 0\n const boundEdge = isEndEdge ? 'end' : 'start'\n const loopPoint = slideBounds[index][boundEdge]\n\n return {\n index,\n loopPoint,\n slideLocation: Vector1D(-1),\n translate: Translate(axis, slides[index]),\n target: () => (location.get() > loopPoint ? initial : altered)\n }\n })\n }\n\n function startPoints(): LoopPointType[] {\n const gap = scrollSnaps[0]\n const indexes = slidesInGap(descItems, gap)\n return findLoopPoints(indexes, contentSize, false)\n }\n\n function endPoints(): LoopPointType[] {\n const gap = viewSize - scrollSnaps[0] - 1\n const indexes = slidesInGap(ascItems, gap)\n return findLoopPoints(indexes, -contentSize, true)\n }\n\n function canLoop(): boolean {\n return loopPoints.every(({ index }) => {\n const otherIndexes = ascItems.filter((i) => i !== index)\n return removeSlideSizes(otherIndexes, viewSize) <= 0.1\n })\n }\n\n function loop(): void {\n loopPoints.forEach((loopPoint) => {\n const { target, translate, slideLocation } = loopPoint\n const shiftLocation = target()\n if (shiftLocation === slideLocation.get()) return\n translate.to(shiftLocation)\n slideLocation.set(shiftLocation)\n })\n }\n\n function clear(): void {\n loopPoints.forEach((loopPoint) => loopPoint.translate.clear())\n }\n\n const self: SlideLooperType = {\n canLoop,\n clear,\n loop,\n loopPoints\n }\n return self\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\nimport { EventHandlerType } from './EventHandler'\nimport { isBoolean } from './utils'\n\ntype SlidesHandlerCallbackType = (\n emblaApi: EmblaCarouselType,\n mutations: MutationRecord[]\n) => boolean | void\n\nexport type SlidesHandlerOptionType = boolean | SlidesHandlerCallbackType\n\nexport type SlidesHandlerType = {\n init: (emblaApi: EmblaCarouselType) => void\n destroy: () => void\n}\n\nexport function SlidesHandler(\n container: HTMLElement,\n eventHandler: EventHandlerType,\n watchSlides: SlidesHandlerOptionType\n): SlidesHandlerType {\n let mutationObserver: MutationObserver\n let destroyed = false\n\n function init(emblaApi: EmblaCarouselType): void {\n if (!watchSlides) return\n\n function defaultCallback(mutations: MutationRecord[]): void {\n for (const mutation of mutations) {\n if (mutation.type === 'childList') {\n emblaApi.reInit()\n eventHandler.emit('slidesChanged')\n break\n }\n }\n }\n\n mutationObserver = new MutationObserver((mutations) => {\n if (destroyed) return\n if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) {\n defaultCallback(mutations)\n }\n })\n\n mutationObserver.observe(container, { childList: true })\n }\n\n function destroy(): void {\n if (mutationObserver) mutationObserver.disconnect()\n destroyed = true\n }\n\n const self: SlidesHandlerType = {\n init,\n destroy\n }\n return self\n}\n","import { EventHandlerType } from './EventHandler'\nimport { objectKeys } from './utils'\n\ntype IntersectionEntryMapType = {\n [key: number]: IntersectionObserverEntry\n}\n\nexport type SlidesInViewOptionsType = IntersectionObserverInit['threshold']\n\nexport type SlidesInViewType = {\n init: () => void\n destroy: () => void\n get: (inView?: boolean) => number[]\n}\n\nexport function SlidesInView(\n container: HTMLElement,\n slides: HTMLElement[],\n eventHandler: EventHandlerType,\n threshold: SlidesInViewOptionsType\n): SlidesInViewType {\n const intersectionEntryMap: IntersectionEntryMapType = {}\n let inViewCache: number[] | null = null\n let notInViewCache: number[] | null = null\n let intersectionObserver: IntersectionObserver\n let destroyed = false\n\n function init(): void {\n intersectionObserver = new IntersectionObserver(\n (entries) => {\n if (destroyed) return\n\n entries.forEach((entry) => {\n const index = slides.indexOf(entry.target)\n intersectionEntryMap[index] = entry\n })\n\n inViewCache = null\n notInViewCache = null\n eventHandler.emit('slidesInView')\n },\n {\n root: container.parentElement,\n threshold\n }\n )\n\n slides.forEach((slide) => intersectionObserver.observe(slide))\n }\n\n function destroy(): void {\n if (intersectionObserver) intersectionObserver.disconnect()\n destroyed = true\n }\n\n function createInViewList(inView: boolean): number[] {\n return objectKeys(intersectionEntryMap).reduce(\n (list: number[], slideIndex) => {\n const index = parseInt(slideIndex)\n const { isIntersecting } = intersectionEntryMap[index]\n const inViewMatch = inView && isIntersecting\n const notInViewMatch = !inView && !isIntersecting\n\n if (inViewMatch || notInViewMatch) list.push(index)\n return list\n },\n []\n )\n }\n\n function get(inView: boolean = true): number[] {\n if (inView && inViewCache) return inViewCache\n if (!inView && notInViewCache) return notInViewCache\n\n const slideIndexes = createInViewList(inView)\n\n if (inView) inViewCache = slideIndexes\n if (!inView) notInViewCache = slideIndexes\n\n return slideIndexes\n }\n\n const self: SlidesInViewType = {\n init,\n destroy,\n get\n }\n\n return self\n}\n","import { AxisType } from './Axis'\nimport { NodeRectType } from './NodeRects'\nimport { arrayIsLastIndex, arrayLast, mathAbs, WindowType } from './utils'\n\nexport type SlideSizesType = {\n slideSizes: number[]\n slideSizesWithGaps: number[]\n startGap: number\n endGap: number\n}\n\nexport function SlideSizes(\n axis: AxisType,\n containerRect: NodeRectType,\n slideRects: NodeRectType[],\n slides: HTMLElement[],\n readEdgeGap: boolean,\n ownerWindow: WindowType\n): SlideSizesType {\n const { measureSize, startEdge, endEdge } = axis\n const withEdgeGap = slideRects[0] && readEdgeGap\n const startGap = measureStartGap()\n const endGap = measureEndGap()\n const slideSizes = slideRects.map(measureSize)\n const slideSizesWithGaps = measureWithGaps()\n\n function measureStartGap(): number {\n if (!withEdgeGap) return 0\n const slideRect = slideRects[0]\n return mathAbs(containerRect[startEdge] - slideRect[startEdge])\n }\n\n function measureEndGap(): number {\n if (!withEdgeGap) return 0\n const style = ownerWindow.getComputedStyle(arrayLast(slides))\n return parseFloat(style.getPropertyValue(`margin-${endEdge}`))\n }\n\n function measureWithGaps(): number[] {\n return slideRects\n .map((rect, index, rects) => {\n const isFirst = !index\n const isLast = arrayIsLastIndex(rects, index)\n if (isFirst) return slideSizes[index] + startGap\n if (isLast) return slideSizes[index] + endGap\n return rects[index + 1][startEdge] - rect[startEdge]\n })\n .map(mathAbs)\n }\n\n const self: SlideSizesType = {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n }\n return self\n}\n","import { AxisType } from './Axis'\nimport { NodeRectType } from './NodeRects'\nimport {\n arrayKeys,\n arrayLast,\n arrayLastIndex,\n isNumber,\n mathAbs\n} from './utils'\n\nexport type SlidesToScrollOptionType = 'auto' | number\n\nexport type SlidesToScrollType = {\n groupSlides: (array: Type[]) => Type[][]\n}\n\nexport function SlidesToScroll(\n axis: AxisType,\n viewSize: number,\n slidesToScroll: SlidesToScrollOptionType,\n loop: boolean,\n containerRect: NodeRectType,\n slideRects: NodeRectType[],\n startGap: number,\n endGap: number,\n pixelTolerance: number\n): SlidesToScrollType {\n const { startEdge, endEdge, direction } = axis\n const groupByNumber = isNumber(slidesToScroll)\n\n function byNumber(array: Type[], groupSize: number): Type[][] {\n return arrayKeys(array)\n .filter((i) => i % groupSize === 0)\n .map((i) => array.slice(i, i + groupSize))\n }\n\n function bySize(array: Type[]): Type[][] {\n if (!array.length) return []\n\n return arrayKeys(array)\n .reduce((groups: number[], rectB, index) => {\n const rectA = arrayLast(groups) || 0\n const isFirst = rectA === 0\n const isLast = rectB === arrayLastIndex(array)\n\n const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge]\n const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge]\n const gapA = !loop && isFirst ? direction(startGap) : 0\n const gapB = !loop && isLast ? direction(endGap) : 0\n const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA))\n\n if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB)\n if (isLast) groups.push(array.length)\n return groups\n }, [])\n .map((currentSize, index, groups) => {\n const previousSize = Math.max(groups[index - 1] || 0)\n return array.slice(previousSize, currentSize)\n })\n }\n\n function groupSlides(array: Type[]): Type[][] {\n return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array)\n }\n\n const self: SlidesToScrollType = {\n groupSlides\n }\n return self\n}\n","import { Alignment } from './Alignment'\nimport {\n Animations,\n AnimationsType,\n AnimationsUpdateType,\n AnimationsRenderType\n} from './Animations'\nimport { Axis, AxisType } from './Axis'\nimport { Counter, CounterType } from './Counter'\nimport { DragHandler, DragHandlerType } from './DragHandler'\nimport { DragTracker } from './DragTracker'\nimport { EventHandlerType } from './EventHandler'\nimport { EventStore, EventStoreType } from './EventStore'\nimport { LimitType } from './Limit'\nimport { NodeRectType, NodeRects } from './NodeRects'\nimport { OptionsType } from './Options'\nimport { PercentOfView, PercentOfViewType } from './PercentOfView'\nimport { ResizeHandler, ResizeHandlerType } from './ResizeHandler'\nimport { ScrollBody, ScrollBodyType } from './ScrollBody'\nimport { ScrollBounds, ScrollBoundsType } from './ScrollBounds'\nimport { ScrollContain } from './ScrollContain'\nimport { ScrollLimit } from './ScrollLimit'\nimport { ScrollLooper, ScrollLooperType } from './ScrollLooper'\nimport { ScrollProgress, ScrollProgressType } from './ScrollProgress'\nimport { ScrollSnaps } from './ScrollSnaps'\nimport { SlideRegistry, SlideRegistryType } from './SlideRegistry'\nimport { ScrollTarget, ScrollTargetType } from './ScrollTarget'\nimport { ScrollTo, ScrollToType } from './ScrollTo'\nimport { SlideFocus, SlideFocusType } from './SlideFocus'\nimport { SlideLooper, SlideLooperType } from './SlideLooper'\nimport { SlidesHandler, SlidesHandlerType } from './SlidesHandler'\nimport { SlidesInView, SlidesInViewType } from './SlidesInView'\nimport { SlideSizes } from './SlideSizes'\nimport { SlidesToScroll, SlidesToScrollType } from './SlidesToScroll'\nimport { Translate, TranslateType } from './Translate'\nimport { arrayKeys, arrayLast, arrayLastIndex, WindowType } from './utils'\nimport { Vector1D, Vector1DType } from './Vector1d'\n\nexport type EngineType = {\n ownerDocument: Document\n ownerWindow: WindowType\n eventHandler: EventHandlerType\n axis: AxisType\n animation: AnimationsType\n scrollBounds: ScrollBoundsType\n scrollLooper: ScrollLooperType\n scrollProgress: ScrollProgressType\n index: CounterType\n indexPrevious: CounterType\n limit: LimitType\n location: Vector1DType\n offsetLocation: Vector1DType\n previousLocation: Vector1DType\n options: OptionsType\n percentOfView: PercentOfViewType\n scrollBody: ScrollBodyType\n dragHandler: DragHandlerType\n eventStore: EventStoreType\n slideLooper: SlideLooperType\n slidesInView: SlidesInViewType\n slidesToScroll: SlidesToScrollType\n target: Vector1DType\n translate: TranslateType\n resizeHandler: ResizeHandlerType\n slidesHandler: SlidesHandlerType\n scrollTo: ScrollToType\n scrollTarget: ScrollTargetType\n scrollSnapList: number[]\n scrollSnaps: number[]\n slideIndexes: number[]\n slideFocus: SlideFocusType\n slideRegistry: SlideRegistryType['slideRegistry']\n containerRect: NodeRectType\n slideRects: NodeRectType[]\n}\n\nexport function Engine(\n root: HTMLElement,\n container: HTMLElement,\n slides: HTMLElement[],\n ownerDocument: Document,\n ownerWindow: WindowType,\n options: OptionsType,\n eventHandler: EventHandlerType\n): EngineType {\n // Options\n const {\n align,\n axis: scrollAxis,\n direction,\n startIndex,\n loop,\n duration,\n dragFree,\n dragThreshold,\n inViewThreshold,\n slidesToScroll: groupSlides,\n skipSnaps,\n containScroll,\n watchResize,\n watchSlides,\n watchDrag,\n watchFocus\n } = options\n\n // Measurements\n const pixelTolerance = 2\n const nodeRects = NodeRects()\n const containerRect = nodeRects.measure(container)\n const slideRects = slides.map(nodeRects.measure)\n const axis = Axis(scrollAxis, direction)\n const viewSize = axis.measureSize(containerRect)\n const percentOfView = PercentOfView(viewSize)\n const alignment = Alignment(align, viewSize)\n const containSnaps = !loop && !!containScroll\n const readEdgeGap = loop || !!containScroll\n const { slideSizes, slideSizesWithGaps, startGap, endGap } = SlideSizes(\n axis,\n containerRect,\n slideRects,\n slides,\n readEdgeGap,\n ownerWindow\n )\n const slidesToScroll = SlidesToScroll(\n axis,\n viewSize,\n groupSlides,\n loop,\n containerRect,\n slideRects,\n startGap,\n endGap,\n pixelTolerance\n )\n const { snaps, snapsAligned } = ScrollSnaps(\n axis,\n alignment,\n containerRect,\n slideRects,\n slidesToScroll\n )\n const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps)\n const { snapsContained, scrollContainLimit } = ScrollContain(\n viewSize,\n contentSize,\n snapsAligned,\n containScroll,\n pixelTolerance\n )\n const scrollSnaps = containSnaps ? snapsContained : snapsAligned\n const { limit } = ScrollLimit(contentSize, scrollSnaps, loop)\n\n // Indexes\n const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop)\n const indexPrevious = index.clone()\n const slideIndexes = arrayKeys(slides)\n\n // Animation\n const update: AnimationsUpdateType = ({\n dragHandler,\n scrollBody,\n scrollBounds,\n options: { loop }\n }) => {\n if (!loop) scrollBounds.constrain(dragHandler.pointerDown())\n scrollBody.seek()\n }\n\n const render: AnimationsRenderType = (\n {\n scrollBody,\n translate,\n location,\n offsetLocation,\n previousLocation,\n scrollLooper,\n slideLooper,\n dragHandler,\n animation,\n eventHandler,\n scrollBounds,\n options: { loop }\n },\n alpha\n ) => {\n const shouldSettle = scrollBody.settled()\n const withinBounds = !scrollBounds.shouldConstrain()\n const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds\n const hasSettledAndIdle = hasSettled && !dragHandler.pointerDown()\n\n if (hasSettledAndIdle) animation.stop()\n\n const interpolatedLocation =\n location.get() * alpha + previousLocation.get() * (1 - alpha)\n\n offsetLocation.set(interpolatedLocation)\n\n if (loop) {\n scrollLooper.loop(scrollBody.direction())\n slideLooper.loop()\n }\n\n translate.to(offsetLocation.get())\n\n if (hasSettledAndIdle) eventHandler.emit('settle')\n if (!hasSettled) eventHandler.emit('scroll')\n }\n\n const animation = Animations(\n ownerDocument,\n ownerWindow,\n () => update(engine),\n (alpha: number) => render(engine, alpha)\n )\n\n // Shared\n const friction = 0.68\n const startLocation = scrollSnaps[index.get()]\n const location = Vector1D(startLocation)\n const previousLocation = Vector1D(startLocation)\n const offsetLocation = Vector1D(startLocation)\n const target = Vector1D(startLocation)\n const scrollBody = ScrollBody(\n location,\n offsetLocation,\n previousLocation,\n target,\n duration,\n friction\n )\n const scrollTarget = ScrollTarget(\n loop,\n scrollSnaps,\n contentSize,\n limit,\n target\n )\n const scrollTo = ScrollTo(\n animation,\n index,\n indexPrevious,\n scrollBody,\n scrollTarget,\n target,\n eventHandler\n )\n const scrollProgress = ScrollProgress(limit)\n const eventStore = EventStore()\n const slidesInView = SlidesInView(\n container,\n slides,\n eventHandler,\n inViewThreshold\n )\n const { slideRegistry } = SlideRegistry(\n containSnaps,\n containScroll,\n scrollSnaps,\n scrollContainLimit,\n slidesToScroll,\n slideIndexes\n )\n const slideFocus = SlideFocus(\n root,\n slides,\n slideRegistry,\n scrollTo,\n scrollBody,\n eventStore,\n eventHandler,\n watchFocus\n )\n\n // Engine\n const engine: EngineType = {\n ownerDocument,\n ownerWindow,\n eventHandler,\n containerRect,\n slideRects,\n animation,\n axis,\n dragHandler: DragHandler(\n axis,\n root,\n ownerDocument,\n ownerWindow,\n target,\n DragTracker(axis, ownerWindow),\n location,\n animation,\n scrollTo,\n scrollBody,\n scrollTarget,\n index,\n eventHandler,\n percentOfView,\n dragFree,\n dragThreshold,\n skipSnaps,\n friction,\n watchDrag\n ),\n eventStore,\n percentOfView,\n index,\n indexPrevious,\n limit,\n location,\n offsetLocation,\n previousLocation,\n options,\n resizeHandler: ResizeHandler(\n container,\n eventHandler,\n ownerWindow,\n slides,\n axis,\n watchResize,\n nodeRects\n ),\n scrollBody,\n scrollBounds: ScrollBounds(\n limit,\n offsetLocation,\n target,\n scrollBody,\n percentOfView\n ),\n scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [\n location,\n offsetLocation,\n previousLocation,\n target\n ]),\n scrollProgress,\n scrollSnapList: scrollSnaps.map(scrollProgress.get),\n scrollSnaps,\n scrollTarget,\n scrollTo,\n slideLooper: SlideLooper(\n axis,\n viewSize,\n contentSize,\n slideSizes,\n slideSizesWithGaps,\n snaps,\n scrollSnaps,\n offsetLocation,\n slides\n ),\n slideFocus,\n slidesHandler: SlidesHandler(container, eventHandler, watchSlides),\n slidesInView,\n slideIndexes,\n slideRegistry,\n slidesToScroll,\n target,\n translate: Translate(axis, container)\n }\n\n return engine\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\n\ntype CallbackType = (emblaApi: EmblaCarouselType, evt: EmblaEventType) => void\ntype ListenersType = Partial<{ [key in EmblaEventType]: CallbackType[] }>\n\nexport type EmblaEventType = EmblaEventListType[keyof EmblaEventListType]\n\nexport interface EmblaEventListType {\n init: 'init'\n pointerDown: 'pointerDown'\n pointerUp: 'pointerUp'\n slidesChanged: 'slidesChanged'\n slidesInView: 'slidesInView'\n scroll: 'scroll'\n select: 'select'\n settle: 'settle'\n destroy: 'destroy'\n reInit: 'reInit'\n resize: 'resize'\n slideFocusStart: 'slideFocusStart'\n slideFocus: 'slideFocus'\n}\n\nexport type EventHandlerType = {\n init: (emblaApi: EmblaCarouselType) => void\n emit: (evt: EmblaEventType) => EventHandlerType\n on: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType\n off: (evt: EmblaEventType, cb: CallbackType) => EventHandlerType\n clear: () => void\n}\n\nexport function EventHandler(): EventHandlerType {\n let listeners: ListenersType = {}\n let api: EmblaCarouselType\n\n function init(emblaApi: EmblaCarouselType): void {\n api = emblaApi\n }\n\n function getListeners(evt: EmblaEventType): CallbackType[] {\n return listeners[evt] || []\n }\n\n function emit(evt: EmblaEventType): EventHandlerType {\n getListeners(evt).forEach((e) => e(api, evt))\n return self\n }\n\n function on(evt: EmblaEventType, cb: CallbackType): EventHandlerType {\n listeners[evt] = getListeners(evt).concat([cb])\n return self\n }\n\n function off(evt: EmblaEventType, cb: CallbackType): EventHandlerType {\n listeners[evt] = getListeners(evt).filter((e) => e !== cb)\n return self\n }\n\n function clear(): void {\n listeners = {}\n }\n\n const self: EventHandlerType = {\n init,\n emit,\n off,\n on,\n clear\n }\n return self\n}\n","import { AlignmentOptionType } from './Alignment'\nimport { AxisDirectionOptionType, AxisOptionType } from './Axis'\nimport { SlidesToScrollOptionType } from './SlidesToScroll'\nimport { ScrollContainOptionType } from './ScrollContain'\nimport { DragHandlerOptionType } from './DragHandler'\nimport { ResizeHandlerOptionType } from './ResizeHandler'\nimport { SlidesHandlerOptionType } from './SlidesHandler'\nimport { SlidesInViewOptionsType } from './SlidesInView'\nimport { FocusHandlerOptionType } from './SlideFocus'\n\nexport type LooseOptionsType = {\n [key: string]: unknown\n}\n\nexport type CreateOptionsType = Type & {\n active: boolean\n breakpoints: {\n [key: string]: Omit>, 'breakpoints'>\n }\n}\n\nexport type OptionsType = CreateOptionsType<{\n align: AlignmentOptionType\n axis: AxisOptionType\n container: string | HTMLElement | null\n slides: string | HTMLElement[] | NodeListOf | null\n containScroll: ScrollContainOptionType\n direction: AxisDirectionOptionType\n slidesToScroll: SlidesToScrollOptionType\n dragFree: boolean\n dragThreshold: number\n inViewThreshold: SlidesInViewOptionsType\n loop: boolean\n skipSnaps: boolean\n duration: number\n startIndex: number\n watchDrag: DragHandlerOptionType\n watchResize: ResizeHandlerOptionType\n watchSlides: SlidesHandlerOptionType\n watchFocus: FocusHandlerOptionType\n}>\n\nexport const defaultOptions: OptionsType = {\n align: 'center',\n axis: 'x',\n container: null,\n slides: null,\n containScroll: 'trimSnaps',\n direction: 'ltr',\n slidesToScroll: 1,\n inViewThreshold: 0,\n breakpoints: {},\n dragFree: false,\n dragThreshold: 10,\n loop: false,\n skipSnaps: false,\n duration: 25,\n startIndex: 0,\n active: true,\n watchDrag: true,\n watchResize: true,\n watchSlides: true,\n watchFocus: true\n}\n\nexport type EmblaOptionsType = Partial\n","import { LooseOptionsType, CreateOptionsType } from './Options'\nimport { objectKeys, objectsMergeDeep, WindowType } from './utils'\n\ntype OptionsType = Partial>\n\nexport type OptionsHandlerType = {\n mergeOptions: (\n optionsA: TypeA,\n optionsB?: TypeB\n ) => TypeA\n optionsAtMedia: (options: Type) => Type\n optionsMediaQueries: (optionsList: OptionsType[]) => MediaQueryList[]\n}\n\nexport function OptionsHandler(ownerWindow: WindowType): OptionsHandlerType {\n function mergeOptions(\n optionsA: TypeA,\n optionsB?: TypeB\n ): TypeA {\n return objectsMergeDeep(optionsA, optionsB || {})\n }\n\n function optionsAtMedia(options: Type): Type {\n const optionsAtMedia = options.breakpoints || {}\n const matchedMediaOptions = objectKeys(optionsAtMedia)\n .filter((media) => ownerWindow.matchMedia(media).matches)\n .map((media) => optionsAtMedia[media])\n .reduce((a, mediaOption) => mergeOptions(a, mediaOption), {})\n\n return mergeOptions(options, matchedMediaOptions)\n }\n\n function optionsMediaQueries(optionsList: OptionsType[]): MediaQueryList[] {\n return optionsList\n .map((options) => objectKeys(options.breakpoints || {}))\n .reduce((acc, mediaQueries) => acc.concat(mediaQueries), [])\n .map(ownerWindow.matchMedia)\n }\n\n const self: OptionsHandlerType = {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n }\n return self\n}\n","import { EmblaCarouselType } from './EmblaCarousel'\nimport { OptionsHandlerType } from './OptionsHandler'\nimport { EmblaPluginsType, EmblaPluginType } from './Plugins'\n\nexport type PluginsHandlerType = {\n init: (\n emblaApi: EmblaCarouselType,\n plugins: EmblaPluginType[]\n ) => EmblaPluginsType\n destroy: () => void\n}\n\nexport function PluginsHandler(\n optionsHandler: OptionsHandlerType\n): PluginsHandlerType {\n let activePlugins: EmblaPluginType[] = []\n\n function init(\n emblaApi: EmblaCarouselType,\n plugins: EmblaPluginType[]\n ): EmblaPluginsType {\n activePlugins = plugins.filter(\n ({ options }) => optionsHandler.optionsAtMedia(options).active !== false\n )\n activePlugins.forEach((plugin) => plugin.init(emblaApi, optionsHandler))\n\n return plugins.reduce(\n (map, plugin) => Object.assign(map, { [plugin.name]: plugin }),\n {}\n )\n }\n\n function destroy(): void {\n activePlugins = activePlugins.filter((plugin) => plugin.destroy())\n }\n\n const self: PluginsHandlerType = {\n init,\n destroy\n }\n return self\n}\n","import { Engine, EngineType } from './Engine'\nimport { EventStore } from './EventStore'\nimport { EventHandler, EventHandlerType } from './EventHandler'\nimport { defaultOptions, EmblaOptionsType, OptionsType } from './Options'\nimport { OptionsHandler } from './OptionsHandler'\nimport { PluginsHandler } from './PluginsHandler'\nimport { EmblaPluginsType, EmblaPluginType } from './Plugins'\nimport { isString, WindowType } from './utils'\n\nexport type EmblaCarouselType = {\n canScrollNext: () => boolean\n canScrollPrev: () => boolean\n containerNode: () => HTMLElement\n internalEngine: () => EngineType\n destroy: () => void\n off: EventHandlerType['off']\n on: EventHandlerType['on']\n emit: EventHandlerType['emit']\n plugins: () => EmblaPluginsType\n previousScrollSnap: () => number\n reInit: (options?: EmblaOptionsType, plugins?: EmblaPluginType[]) => void\n rootNode: () => HTMLElement\n scrollNext: (jump?: boolean) => void\n scrollPrev: (jump?: boolean) => void\n scrollProgress: () => number\n scrollSnapList: () => number[]\n scrollTo: (index: number, jump?: boolean) => void\n selectedScrollSnap: () => number\n slideNodes: () => HTMLElement[]\n slidesInView: () => number[]\n slidesNotInView: () => number[]\n}\n\nfunction EmblaCarousel(\n root: HTMLElement,\n userOptions?: EmblaOptionsType,\n userPlugins?: EmblaPluginType[]\n): EmblaCarouselType {\n const ownerDocument = root.ownerDocument\n const ownerWindow = ownerDocument.defaultView\n const optionsHandler = OptionsHandler(ownerWindow)\n const pluginsHandler = PluginsHandler(optionsHandler)\n const mediaHandlers = EventStore()\n const eventHandler = EventHandler()\n const { mergeOptions, optionsAtMedia, optionsMediaQueries } = optionsHandler\n const { on, off, emit } = eventHandler\n const reInit = reActivate\n\n let destroyed = false\n let engine: EngineType\n let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions)\n let options = mergeOptions(optionsBase)\n let pluginList: EmblaPluginType[] = []\n let pluginApis: EmblaPluginsType\n\n let container: HTMLElement\n let slides: HTMLElement[]\n\n function storeElements(): void {\n const { container: userContainer, slides: userSlides } = options\n\n const customContainer = isString(userContainer)\n ? root.querySelector(userContainer)\n : userContainer\n container = (customContainer || root.children[0])\n\n const customSlides = isString(userSlides)\n ? container.querySelectorAll(userSlides)\n : userSlides\n slides = [].slice.call(customSlides || container.children)\n }\n\n function createEngine(options: OptionsType): EngineType {\n const engine = Engine(\n root,\n container,\n slides,\n ownerDocument,\n ownerWindow,\n options,\n eventHandler\n )\n\n if (options.loop && !engine.slideLooper.canLoop()) {\n const optionsWithoutLoop = Object.assign({}, options, { loop: false })\n return createEngine(optionsWithoutLoop)\n }\n return engine\n }\n\n function activate(\n withOptions?: EmblaOptionsType,\n withPlugins?: EmblaPluginType[]\n ): void {\n if (destroyed) return\n\n optionsBase = mergeOptions(optionsBase, withOptions)\n options = optionsAtMedia(optionsBase)\n pluginList = withPlugins || pluginList\n\n storeElements()\n\n engine = createEngine(options)\n\n optionsMediaQueries([\n optionsBase,\n ...pluginList.map(({ options }) => options)\n ]).forEach((query) => mediaHandlers.add(query, 'change', reActivate))\n\n if (!options.active) return\n\n engine.translate.to(engine.location.get())\n engine.animation.init()\n engine.slidesInView.init()\n engine.slideFocus.init(self)\n engine.eventHandler.init(self)\n engine.resizeHandler.init(self)\n engine.slidesHandler.init(self)\n\n if (engine.options.loop) engine.slideLooper.loop()\n if (container.offsetParent && slides.length) engine.dragHandler.init(self)\n\n pluginApis = pluginsHandler.init(self, pluginList)\n }\n\n function reActivate(\n withOptions?: EmblaOptionsType,\n withPlugins?: EmblaPluginType[]\n ): void {\n const startIndex = selectedScrollSnap()\n deActivate()\n activate(mergeOptions({ startIndex }, withOptions), withPlugins)\n eventHandler.emit('reInit')\n }\n\n function deActivate(): void {\n engine.dragHandler.destroy()\n engine.eventStore.clear()\n engine.translate.clear()\n engine.slideLooper.clear()\n engine.resizeHandler.destroy()\n engine.slidesHandler.destroy()\n engine.slidesInView.destroy()\n engine.animation.destroy()\n pluginsHandler.destroy()\n mediaHandlers.clear()\n }\n\n function destroy(): void {\n if (destroyed) return\n destroyed = true\n mediaHandlers.clear()\n deActivate()\n eventHandler.emit('destroy')\n eventHandler.clear()\n }\n\n function scrollTo(index: number, jump?: boolean, direction?: number): void {\n if (!options.active || destroyed) return\n engine.scrollBody\n .useBaseFriction()\n .useDuration(jump === true ? 0 : options.duration)\n engine.scrollTo.index(index, direction || 0)\n }\n\n function scrollNext(jump?: boolean): void {\n const next = engine.index.add(1).get()\n scrollTo(next, jump, -1)\n }\n\n function scrollPrev(jump?: boolean): void {\n const prev = engine.index.add(-1).get()\n scrollTo(prev, jump, 1)\n }\n\n function canScrollNext(): boolean {\n const next = engine.index.add(1).get()\n return next !== selectedScrollSnap()\n }\n\n function canScrollPrev(): boolean {\n const prev = engine.index.add(-1).get()\n return prev !== selectedScrollSnap()\n }\n\n function scrollSnapList(): number[] {\n return engine.scrollSnapList\n }\n\n function scrollProgress(): number {\n return engine.scrollProgress.get(engine.offsetLocation.get())\n }\n\n function selectedScrollSnap(): number {\n return engine.index.get()\n }\n\n function previousScrollSnap(): number {\n return engine.indexPrevious.get()\n }\n\n function slidesInView(): number[] {\n return engine.slidesInView.get()\n }\n\n function slidesNotInView(): number[] {\n return engine.slidesInView.get(false)\n }\n\n function plugins(): EmblaPluginsType {\n return pluginApis\n }\n\n function internalEngine(): EngineType {\n return engine\n }\n\n function rootNode(): HTMLElement {\n return root\n }\n\n function containerNode(): HTMLElement {\n return container\n }\n\n function slideNodes(): HTMLElement[] {\n return slides\n }\n\n const self: EmblaCarouselType = {\n canScrollNext,\n canScrollPrev,\n containerNode,\n internalEngine,\n destroy,\n off,\n on,\n emit,\n plugins,\n previousScrollSnap,\n reInit,\n rootNode,\n scrollNext,\n scrollPrev,\n scrollProgress,\n scrollSnapList,\n scrollTo,\n selectedScrollSnap,\n slideNodes,\n slidesInView,\n slidesNotInView\n }\n\n activate(userOptions, userPlugins)\n setTimeout(() => eventHandler.emit('init'), 0)\n return self\n}\n\ndeclare namespace EmblaCarousel {\n let globalOptions: EmblaOptionsType | undefined\n}\n\nEmblaCarousel.globalOptions = undefined\n\nexport default EmblaCarousel\n"],"names":["isNumber","subject","isString","isBoolean","isObject","Object","prototype","toString","call","mathAbs","n","Math","abs","mathSign","sign","deltaAbs","valueB","valueA","factorAbs","diff","roundToTwoDecimals","num","round","arrayKeys","array","objectKeys","map","Number","arrayLast","arrayLastIndex","max","length","arrayIsLastIndex","index","arrayFromNumber","startAt","Array","from","_","i","object","keys","objectsMergeDeep","objectA","objectB","reduce","mergedObjects","currentObject","forEach","key","areObjects","isMouseEvent","evt","ownerWindow","MouseEvent","Alignment","align","viewSize","predefined","start","center","end","measure","self","EventStore","listeners","add","node","type","handler","options","passive","removeListener","addEventListener","removeEventListener","legacyMediaQueryList","addListener","push","clear","filter","remove","Animations","ownerDocument","update","render","documentVisibleHandler","fixedTimeStep","lastTimeStamp","accumulatedTime","animationId","init","hidden","reset","destroy","stop","animate","timeStamp","timeElapsed","alpha","requestAnimationFrame","cancelAnimationFrame","Axis","axis","contentDirection","isRightToLeft","isVertical","scroll","cross","startEdge","getStartEdge","endEdge","getEndEdge","measureSize","nodeRect","height","width","direction","Limit","min","reachedMin","reachedMax","reachedAny","constrain","removeOffset","ceil","Counter","loop","loopEnd","counter","withinLimit","get","set","clone","DragHandler","rootNode","target","dragTracker","location","animation","scrollTo","scrollBody","scrollTarget","eventHandler","percentOfView","dragFree","dragThreshold","skipSnaps","baseFriction","watchDrag","crossAxis","focusNodes","nonPassiveEvent","initEvents","dragEvents","goToNextThreshold","snapForceBoost","mouse","touch","freeForceBoost","baseSpeed","isMoving","startScroll","startCross","pointerIsDown","preventScroll","preventClick","isMouse","emblaApi","downIfAllowed","down","preventDefault","undefined","up","click","addDragEvents","move","isFocusNode","nodeName","includes","forceBoost","boost","allowedForce","force","targetChanged","next","baseForce","byDistance","distance","byIndex","isMouseEvt","buttons","button","pointerDown","useFriction","useDuration","readPoint","emit","isTouchEvt","touches","lastScroll","lastCross","diffScroll","diffCross","cancelable","pointerMove","currentLocation","rawForce","pointerUp","forceFactor","speed","friction","stopPropagation","DragTracker","logInterval","startEvent","lastEvent","readTime","evtAxis","property","coord","expired","diffDrag","diffTime","isFlick","NodeRects","offsetTop","offsetLeft","offsetWidth","offsetHeight","offset","top","right","bottom","left","PercentOfView","ResizeHandler","container","slides","watchResize","nodeRects","observeNodes","concat","resizeObserver","containerSize","slideSizes","destroyed","readSize","defaultCallback","entries","entry","isContainer","slideIndex","indexOf","lastSize","newSize","diffSize","reInit","ResizeObserver","observe","disconnect","ScrollBody","offsetLocation","previousLocation","baseDuration","scrollVelocity","scrollDirection","scrollDuration","scrollFriction","rawLocation","rawLocationPrevious","seek","displacement","isInstant","scrollDistance","settled","duration","velocity","useBaseDuration","useBaseFriction","ScrollBounds","limit","pullBackThreshold","edgeOffsetTolerance","frictionLimit","disabled","shouldConstrain","edge","diffToEdge","diffToTarget","subtract","toggleActive","active","ScrollContain","contentSize","snapsAligned","containScroll","pixelTolerance","scrollBounds","snapsBounded","measureBounded","scrollContainLimit","findScrollContainLimit","snapsContained","measureContained","usePixelTolerance","bound","snap","startSnap","endSnap","lastIndexOf","snapAligned","isFirst","isLast","scrollBound","parseFloat","toFixed","slice","ScrollLimit","scrollSnaps","ScrollLooper","vectors","jointSafety","shouldLoop","loopDistance","v","ScrollProgress","ScrollSnaps","alignment","containerRect","slideRects","slidesToScroll","groupSlides","alignments","measureSizes","snaps","measureUnaligned","measureAligned","rects","rect","g","SlideRegistry","containSnaps","slideIndexes","slideRegistry","createSlideRegistry","groupedSlideIndexes","doNotContain","group","groups","range","ScrollTarget","targetVector","minDistance","distances","sort","a","b","findTargetSnap","ascDiffsToSnaps","shortcut","d1","d2","targets","matchingTargets","t","diffToSnap","targetSnapDistance","reachedBound","snapDistance","ScrollTo","indexCurrent","indexPrevious","distanceDiff","indexDiff","targetIndex","SlideFocus","root","eventStore","watchFocus","focusListenerOptions","capture","lastTabPressTime","nowTime","Date","getTime","scrollLeft","findIndex","document","registerTabPress","slide","event","code","Vector1D","initialValue","value","normalizeInput","Translate","translate","x","y","containerStyle","style","previousTarget","to","newTarget","transform","getAttribute","removeAttribute","SlideLooper","slideSizesWithGaps","roundingSafety","ascItems","descItems","reverse","loopPoints","startPoints","endPoints","removeSlideSizes","indexes","slidesInGap","gap","remainingGap","findSlideBounds","findLoopPoints","isEndEdge","slideBounds","initial","altered","boundEdge","loopPoint","slideLocation","canLoop","every","otherIndexes","shiftLocation","SlidesHandler","watchSlides","mutationObserver","mutations","mutation","MutationObserver","childList","SlidesInView","threshold","intersectionEntryMap","inViewCache","notInViewCache","intersectionObserver","IntersectionObserver","parentElement","createInViewList","inView","list","parseInt","isIntersecting","inViewMatch","notInViewMatch","SlideSizes","readEdgeGap","withEdgeGap","startGap","measureStartGap","endGap","measureEndGap","measureWithGaps","slideRect","getComputedStyle","getPropertyValue","SlidesToScroll","groupByNumber","byNumber","groupSize","bySize","rectB","rectA","edgeA","edgeB","gapA","gapB","chunkSize","currentSize","previousSize","Engine","scrollAxis","startIndex","inViewThreshold","dragHandler","scrollLooper","slideLooper","shouldSettle","withinBounds","hasSettled","hasSettledAndIdle","interpolatedLocation","engine","startLocation","scrollProgress","slidesInView","slideFocus","resizeHandler","scrollSnapList","slidesHandler","EventHandler","api","getListeners","e","on","cb","off","defaultOptions","breakpoints","OptionsHandler","mergeOptions","optionsA","optionsB","optionsAtMedia","matchedMediaOptions","media","matchMedia","matches","mediaOption","optionsMediaQueries","optionsList","acc","mediaQueries","PluginsHandler","optionsHandler","activePlugins","plugins","plugin","assign","name","EmblaCarousel","userOptions","userPlugins","defaultView","pluginsHandler","mediaHandlers","reActivate","optionsBase","globalOptions","pluginList","pluginApis","storeElements","userContainer","userSlides","customContainer","querySelector","children","customSlides","querySelectorAll","createEngine","optionsWithoutLoop","activate","withOptions","withPlugins","query","offsetParent","selectedScrollSnap","deActivate","jump","scrollNext","scrollPrev","prev","canScrollNext","canScrollPrev","previousScrollSnap","slidesNotInView","internalEngine","containerNode","slideNodes","setTimeout"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/index.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/index.d.ts deleted file mode 100644 index 2cd562e075..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export { EmblaOptionsType } from './components/Options.js'; -export { EmblaEventType } from './components/EventHandler.js'; -export { EmblaPluginType } from './components/Plugins.js'; -export { EmblaCarouselType } from './components/EmblaCarousel.js'; -export { default } from './components/EmblaCarousel.js'; -export { CreatePluginType, EmblaPluginsType } from './components/Plugins.js'; -export { CreateOptionsType } from './components/Options.js'; -export { OptionsHandlerType } from './components/OptionsHandler.js'; -export { EmblaEventListType } from './components/EventHandler.js'; -export { EngineType } from './components/Engine.js'; -export { ScrollBodyType } from './components/ScrollBody.js'; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/package.json b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/package.json deleted file mode 100644 index 054c893547..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "embla-carousel", - "version": "8.6.0", - "author": "David Jerleke", - "description": "A lightweight carousel library with fluid motion and great swipe precision", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel*", - "components/**/*", - "index.d.ts" - ], - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "module": "embla-carousel.esm.js", - "type": "module" -} diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/index.d.ts b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/index.d.ts deleted file mode 100644 index aab7131a9f..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export { EmblaOptionsType } from './components/Options'; -export { EmblaEventType } from './components/EventHandler'; -export { EmblaPluginType } from './components/Plugins'; -export { EmblaCarouselType } from './components/EmblaCarousel'; -export { default } from './components/EmblaCarousel'; -export { CreatePluginType, EmblaPluginsType } from './components/Plugins'; -export { CreateOptionsType } from './components/Options'; -export { OptionsHandlerType } from './components/OptionsHandler'; -export { EmblaEventListType } from './components/EventHandler'; -export { EngineType } from './components/Engine'; -export { ScrollBodyType } from './components/ScrollBody'; diff --git a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/package.json b/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/package.json deleted file mode 100644 index bb53b31be4..0000000000 --- a/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/package.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "name": "embla-carousel", - "version": "8.6.0", - "author": "David Jerleke", - "description": "A lightweight carousel library with fluid motion and great swipe precision", - "repository": { - "type": "git", - "url": "git+https://github.com/davidjerleke/embla-carousel" - }, - "bugs": { - "url": "https://github.com/davidjerleke/embla-carousel/issues" - }, - "homepage": "https://www.embla-carousel.com", - "license": "MIT", - "keywords": [ - "slider", - "carousel", - "slideshow", - "gallery", - "lightweight", - "touch", - "javascript", - "typescript", - "react", - "vue", - "svelte", - "solid" - ], - "main": "embla-carousel.umd.js", - "unpkg": "embla-carousel.umd.js", - "module": "./esm/embla-carousel.esm.js", - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "embla-carousel*", - "components/**/*", - "index.d.ts", - "esm/**/*", - "cjs/**/*" - ], - "scripts": { - "test": "jest --config jest.config.js", - "build": "rollup --bundleConfigAsCjs -c", - "start": "rollup --bundleConfigAsCjs -c --watch --environment BUILD:development", - "eslint:report": "eslint \"src/**/*.{js,tsx,ts}\"" - }, - "devDependencies": { - "@types/jest": "^29.5.6", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "prettier": "2.8.8", - "rollup": "^4.22.4", - "ts-jest": "^29.1.1", - "typescript": "^5.2.2" - }, - "exports": { - "./package.json": "./package.json", - ".": { - "import": { - "types": "./esm/index.d.ts", - "default": "./esm/embla-carousel.esm.js" - }, - "require": { - "types": "./cjs/index.d.ts", - "default": "./cjs/embla-carousel.cjs.js" - } - } - } -} \ No newline at end of file diff --git a/node_modules/.pnpm/lock.yaml b/node_modules/.pnpm/lock.yaml deleted file mode 100644 index 78670e94f8..0000000000 --- a/node_modules/.pnpm/lock.yaml +++ /dev/null @@ -1,60 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - embla-carousel-autoplay: - specifier: ^8.6.0 - version: 8.6.0(embla-carousel@8.6.0) - embla-carousel-react: - specifier: ^8.6.0 - version: 8.6.0(react@19.2.0) - -packages: - - embla-carousel-autoplay@8.6.0: - resolution: {integrity: sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==} - peerDependencies: - embla-carousel: 8.6.0 - - embla-carousel-react@8.6.0: - resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} - peerDependencies: - react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - - embla-carousel-reactive-utils@8.6.0: - resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} - peerDependencies: - embla-carousel: 8.6.0 - - embla-carousel@8.6.0: - resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} - - react@19.2.0: - resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} - engines: {node: '>=0.10.0'} - -snapshots: - - embla-carousel-autoplay@8.6.0(embla-carousel@8.6.0): - dependencies: - embla-carousel: 8.6.0 - - embla-carousel-react@8.6.0(react@19.2.0): - dependencies: - embla-carousel: 8.6.0 - embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) - react: 19.2.0 - - embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): - dependencies: - embla-carousel: 8.6.0 - - embla-carousel@8.6.0: {} - - react@19.2.0: {} diff --git a/node_modules/.pnpm/node_modules/embla-carousel b/node_modules/.pnpm/node_modules/embla-carousel deleted file mode 120000 index b2d64d5eff..0000000000 --- a/node_modules/.pnpm/node_modules/embla-carousel +++ /dev/null @@ -1 +0,0 @@ -../embla-carousel@8.6.0/node_modules/embla-carousel \ No newline at end of file diff --git a/node_modules/.pnpm/node_modules/embla-carousel-reactive-utils b/node_modules/.pnpm/node_modules/embla-carousel-reactive-utils deleted file mode 120000 index f7f6e184be..0000000000 --- a/node_modules/.pnpm/node_modules/embla-carousel-reactive-utils +++ /dev/null @@ -1 +0,0 @@ -../embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils \ No newline at end of file diff --git a/node_modules/.pnpm/node_modules/react b/node_modules/.pnpm/node_modules/react deleted file mode 120000 index 19ba4de13c..0000000000 --- a/node_modules/.pnpm/node_modules/react +++ /dev/null @@ -1 +0,0 @@ -../react@19.2.0/node_modules/react \ No newline at end of file diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/LICENSE b/node_modules/.pnpm/react@19.2.0/node_modules/react/LICENSE deleted file mode 100644 index b93be90515..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) Meta Platforms, Inc. and affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/README.md b/node_modules/.pnpm/react@19.2.0/node_modules/react/README.md deleted file mode 100644 index 20a855efd3..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# `react` - -React is a JavaScript library for creating user interfaces. - -The `react` package contains only the functionality necessary to define React components. It is typically used together with a React renderer like `react-dom` for the web, or `react-native` for the native environments. - -**Note:** by default, React will be in development mode. The development version includes extra warnings about common mistakes, whereas the production version includes extra performance optimizations and strips all error messages. Don't forget to use the [production build](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build) when deploying your application. - -## Usage - -```js -import { useState } from 'react'; -import { createRoot } from 'react-dom/client'; - -function Counter() { - const [count, setCount] = useState(0); - return ( - <> -

{count}

- - - ); -} - -const root = createRoot(document.getElementById('root')); -root.render(); -``` - -## Documentation - -See https://react.dev/ - -## API - -See https://react.dev/reference/react diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.development.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.development.js deleted file mode 100644 index 84ceaac6f5..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.development.js +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @license React - * react-compiler-runtime.development.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -"production" !== process.env.NODE_ENV && - (function () { - var ReactSharedInternals = - require("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; - exports.c = function (size) { - var dispatcher = ReactSharedInternals.H; - null === dispatcher && - console.error( - "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." - ); - return dispatcher.useMemoCache(size); - }; - })(); diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.production.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.production.js deleted file mode 100644 index 4d5ade38f0..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.production.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @license React - * react-compiler-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var ReactSharedInternals = - require("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; -exports.c = function (size) { - return ReactSharedInternals.H.useMemoCache(size); -}; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.profiling.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.profiling.js deleted file mode 100644 index 9b93257e37..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-compiler-runtime.profiling.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @license React - * react-compiler-runtime.profiling.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var ReactSharedInternals = - require("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; -exports.c = function (size) { - return ReactSharedInternals.H.useMemoCache(size); -}; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.development.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.development.js deleted file mode 100644 index 95f9877479..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.development.js +++ /dev/null @@ -1,338 +0,0 @@ -/** - * @license React - * react-jsx-dev-runtime.development.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -"production" !== process.env.NODE_ENV && - (function () { - function getComponentNameFromType(type) { - if (null == type) return null; - if ("function" === typeof type) - return type.$$typeof === REACT_CLIENT_REFERENCE - ? null - : type.displayName || type.name || null; - if ("string" === typeof type) return type; - switch (type) { - case REACT_FRAGMENT_TYPE: - return "Fragment"; - case REACT_PROFILER_TYPE: - return "Profiler"; - case REACT_STRICT_MODE_TYPE: - return "StrictMode"; - case REACT_SUSPENSE_TYPE: - return "Suspense"; - case REACT_SUSPENSE_LIST_TYPE: - return "SuspenseList"; - case REACT_ACTIVITY_TYPE: - return "Activity"; - } - if ("object" === typeof type) - switch ( - ("number" === typeof type.tag && - console.error( - "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." - ), - type.$$typeof) - ) { - case REACT_PORTAL_TYPE: - return "Portal"; - case REACT_CONTEXT_TYPE: - return type.displayName || "Context"; - case REACT_CONSUMER_TYPE: - return (type._context.displayName || "Context") + ".Consumer"; - case REACT_FORWARD_REF_TYPE: - var innerType = type.render; - type = type.displayName; - type || - ((type = innerType.displayName || innerType.name || ""), - (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); - return type; - case REACT_MEMO_TYPE: - return ( - (innerType = type.displayName || null), - null !== innerType - ? innerType - : getComponentNameFromType(type.type) || "Memo" - ); - case REACT_LAZY_TYPE: - innerType = type._payload; - type = type._init; - try { - return getComponentNameFromType(type(innerType)); - } catch (x) {} - } - return null; - } - function testStringCoercion(value) { - return "" + value; - } - function checkKeyStringCoercion(value) { - try { - testStringCoercion(value); - var JSCompiler_inline_result = !1; - } catch (e) { - JSCompiler_inline_result = !0; - } - if (JSCompiler_inline_result) { - JSCompiler_inline_result = console; - var JSCompiler_temp_const = JSCompiler_inline_result.error; - var JSCompiler_inline_result$jscomp$0 = - ("function" === typeof Symbol && - Symbol.toStringTag && - value[Symbol.toStringTag]) || - value.constructor.name || - "Object"; - JSCompiler_temp_const.call( - JSCompiler_inline_result, - "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", - JSCompiler_inline_result$jscomp$0 - ); - return testStringCoercion(value); - } - } - function getTaskName(type) { - if (type === REACT_FRAGMENT_TYPE) return "<>"; - if ( - "object" === typeof type && - null !== type && - type.$$typeof === REACT_LAZY_TYPE - ) - return "<...>"; - try { - var name = getComponentNameFromType(type); - return name ? "<" + name + ">" : "<...>"; - } catch (x) { - return "<...>"; - } - } - function getOwner() { - var dispatcher = ReactSharedInternals.A; - return null === dispatcher ? null : dispatcher.getOwner(); - } - function UnknownOwner() { - return Error("react-stack-top-frame"); - } - function hasValidKey(config) { - if (hasOwnProperty.call(config, "key")) { - var getter = Object.getOwnPropertyDescriptor(config, "key").get; - if (getter && getter.isReactWarning) return !1; - } - return void 0 !== config.key; - } - function defineKeyPropWarningGetter(props, displayName) { - function warnAboutAccessingKey() { - specialPropKeyWarningShown || - ((specialPropKeyWarningShown = !0), - console.error( - "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", - displayName - )); - } - warnAboutAccessingKey.isReactWarning = !0; - Object.defineProperty(props, "key", { - get: warnAboutAccessingKey, - configurable: !0 - }); - } - function elementRefGetterWithDeprecationWarning() { - var componentName = getComponentNameFromType(this.type); - didWarnAboutElementRef[componentName] || - ((didWarnAboutElementRef[componentName] = !0), - console.error( - "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." - )); - componentName = this.props.ref; - return void 0 !== componentName ? componentName : null; - } - function ReactElement(type, key, props, owner, debugStack, debugTask) { - var refProp = props.ref; - type = { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - props: props, - _owner: owner - }; - null !== (void 0 !== refProp ? refProp : null) - ? Object.defineProperty(type, "ref", { - enumerable: !1, - get: elementRefGetterWithDeprecationWarning - }) - : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); - type._store = {}; - Object.defineProperty(type._store, "validated", { - configurable: !1, - enumerable: !1, - writable: !0, - value: 0 - }); - Object.defineProperty(type, "_debugInfo", { - configurable: !1, - enumerable: !1, - writable: !0, - value: null - }); - Object.defineProperty(type, "_debugStack", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugStack - }); - Object.defineProperty(type, "_debugTask", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugTask - }); - Object.freeze && (Object.freeze(type.props), Object.freeze(type)); - return type; - } - function jsxDEVImpl( - type, - config, - maybeKey, - isStaticChildren, - debugStack, - debugTask - ) { - var children = config.children; - if (void 0 !== children) - if (isStaticChildren) - if (isArrayImpl(children)) { - for ( - isStaticChildren = 0; - isStaticChildren < children.length; - isStaticChildren++ - ) - validateChildKeys(children[isStaticChildren]); - Object.freeze && Object.freeze(children); - } else - console.error( - "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." - ); - else validateChildKeys(children); - if (hasOwnProperty.call(config, "key")) { - children = getComponentNameFromType(type); - var keys = Object.keys(config).filter(function (k) { - return "key" !== k; - }); - isStaticChildren = - 0 < keys.length - ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" - : "{key: someKey}"; - didWarnAboutKeySpread[children + isStaticChildren] || - ((keys = - 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}"), - console.error( - 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', - isStaticChildren, - children, - keys, - children - ), - (didWarnAboutKeySpread[children + isStaticChildren] = !0)); - } - children = null; - void 0 !== maybeKey && - (checkKeyStringCoercion(maybeKey), (children = "" + maybeKey)); - hasValidKey(config) && - (checkKeyStringCoercion(config.key), (children = "" + config.key)); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - children && - defineKeyPropWarningGetter( - maybeKey, - "function" === typeof type - ? type.displayName || type.name || "Unknown" - : type - ); - return ReactElement( - type, - children, - maybeKey, - getOwner(), - debugStack, - debugTask - ); - } - function validateChildKeys(node) { - isValidElement(node) - ? node._store && (node._store.validated = 1) - : "object" === typeof node && - null !== node && - node.$$typeof === REACT_LAZY_TYPE && - ("fulfilled" === node._payload.status - ? isValidElement(node._payload.value) && - node._payload.value._store && - (node._payload.value._store.validated = 1) - : node._store && (node._store.validated = 1)); - } - function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); - } - var React = require("react"), - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), - REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), - ReactSharedInternals = - React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, - hasOwnProperty = Object.prototype.hasOwnProperty, - isArrayImpl = Array.isArray, - createTask = console.createTask - ? console.createTask - : function () { - return null; - }; - React = { - react_stack_bottom_frame: function (callStackForError) { - return callStackForError(); - } - }; - var specialPropKeyWarningShown; - var didWarnAboutElementRef = {}; - var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind( - React, - UnknownOwner - )(); - var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); - var didWarnAboutKeySpread = {}; - exports.Fragment = REACT_FRAGMENT_TYPE; - exports.jsxDEV = function (type, config, maybeKey, isStaticChildren) { - var trackActualOwner = - 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - isStaticChildren, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - })(); diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.production.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.production.js deleted file mode 100644 index 22ad88648e..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.production.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @license React - * react-jsx-dev-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.jsxDEV = void 0; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.profiling.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.profiling.js deleted file mode 100644 index f9e8942f4d..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.profiling.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @license React - * react-jsx-dev-runtime.profiling.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.jsxDEV = void 0; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.react-server.development.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.react-server.development.js deleted file mode 100644 index b79b7589bf..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.react-server.development.js +++ /dev/null @@ -1,370 +0,0 @@ -/** - * @license React - * react-jsx-dev-runtime.react-server.development.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -"production" !== process.env.NODE_ENV && - (function () { - function getComponentNameFromType(type) { - if (null == type) return null; - if ("function" === typeof type) - return type.$$typeof === REACT_CLIENT_REFERENCE - ? null - : type.displayName || type.name || null; - if ("string" === typeof type) return type; - switch (type) { - case REACT_FRAGMENT_TYPE: - return "Fragment"; - case REACT_PROFILER_TYPE: - return "Profiler"; - case REACT_STRICT_MODE_TYPE: - return "StrictMode"; - case REACT_SUSPENSE_TYPE: - return "Suspense"; - case REACT_SUSPENSE_LIST_TYPE: - return "SuspenseList"; - case REACT_ACTIVITY_TYPE: - return "Activity"; - } - if ("object" === typeof type) - switch ( - ("number" === typeof type.tag && - console.error( - "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." - ), - type.$$typeof) - ) { - case REACT_PORTAL_TYPE: - return "Portal"; - case REACT_CONTEXT_TYPE: - return type.displayName || "Context"; - case REACT_CONSUMER_TYPE: - return (type._context.displayName || "Context") + ".Consumer"; - case REACT_FORWARD_REF_TYPE: - var innerType = type.render; - type = type.displayName; - type || - ((type = innerType.displayName || innerType.name || ""), - (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); - return type; - case REACT_MEMO_TYPE: - return ( - (innerType = type.displayName || null), - null !== innerType - ? innerType - : getComponentNameFromType(type.type) || "Memo" - ); - case REACT_LAZY_TYPE: - innerType = type._payload; - type = type._init; - try { - return getComponentNameFromType(type(innerType)); - } catch (x) {} - } - return null; - } - function testStringCoercion(value) { - return "" + value; - } - function checkKeyStringCoercion(value) { - try { - testStringCoercion(value); - var JSCompiler_inline_result = !1; - } catch (e) { - JSCompiler_inline_result = !0; - } - if (JSCompiler_inline_result) { - JSCompiler_inline_result = console; - var JSCompiler_temp_const = JSCompiler_inline_result.error; - var JSCompiler_inline_result$jscomp$0 = - ("function" === typeof Symbol && - Symbol.toStringTag && - value[Symbol.toStringTag]) || - value.constructor.name || - "Object"; - JSCompiler_temp_const.call( - JSCompiler_inline_result, - "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", - JSCompiler_inline_result$jscomp$0 - ); - return testStringCoercion(value); - } - } - function getTaskName(type) { - if (type === REACT_FRAGMENT_TYPE) return "<>"; - if ( - "object" === typeof type && - null !== type && - type.$$typeof === REACT_LAZY_TYPE - ) - return "<...>"; - try { - var name = getComponentNameFromType(type); - return name ? "<" + name + ">" : "<...>"; - } catch (x) { - return "<...>"; - } - } - function getOwner() { - var dispatcher = ReactSharedInternalsServer.A; - return null === dispatcher ? null : dispatcher.getOwner(); - } - function UnknownOwner() { - return Error("react-stack-top-frame"); - } - function hasValidKey(config) { - if (hasOwnProperty.call(config, "key")) { - var getter = Object.getOwnPropertyDescriptor(config, "key").get; - if (getter && getter.isReactWarning) return !1; - } - return void 0 !== config.key; - } - function defineKeyPropWarningGetter(props, displayName) { - function warnAboutAccessingKey() { - specialPropKeyWarningShown || - ((specialPropKeyWarningShown = !0), - console.error( - "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", - displayName - )); - } - warnAboutAccessingKey.isReactWarning = !0; - Object.defineProperty(props, "key", { - get: warnAboutAccessingKey, - configurable: !0 - }); - } - function elementRefGetterWithDeprecationWarning() { - var componentName = getComponentNameFromType(this.type); - didWarnAboutElementRef[componentName] || - ((didWarnAboutElementRef[componentName] = !0), - console.error( - "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." - )); - componentName = this.props.ref; - return void 0 !== componentName ? componentName : null; - } - function ReactElement(type, key, props, owner, debugStack, debugTask) { - var refProp = props.ref; - type = { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - props: props, - _owner: owner - }; - null !== (void 0 !== refProp ? refProp : null) - ? Object.defineProperty(type, "ref", { - enumerable: !1, - get: elementRefGetterWithDeprecationWarning - }) - : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); - type._store = {}; - Object.defineProperty(type._store, "validated", { - configurable: !1, - enumerable: !1, - writable: !0, - value: 0 - }); - Object.defineProperty(type, "_debugInfo", { - configurable: !1, - enumerable: !1, - writable: !0, - value: null - }); - Object.defineProperty(type, "_debugStack", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugStack - }); - Object.defineProperty(type, "_debugTask", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugTask - }); - Object.freeze && (Object.freeze(type.props), Object.freeze(type)); - return type; - } - function jsxDEVImpl( - type, - config, - maybeKey, - isStaticChildren, - debugStack, - debugTask - ) { - var children = config.children; - if (void 0 !== children) - if (isStaticChildren) - if (isArrayImpl(children)) { - for ( - isStaticChildren = 0; - isStaticChildren < children.length; - isStaticChildren++ - ) - validateChildKeys(children[isStaticChildren]); - Object.freeze && Object.freeze(children); - } else - console.error( - "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." - ); - else validateChildKeys(children); - if (hasOwnProperty.call(config, "key")) { - children = getComponentNameFromType(type); - var keys = Object.keys(config).filter(function (k) { - return "key" !== k; - }); - isStaticChildren = - 0 < keys.length - ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" - : "{key: someKey}"; - didWarnAboutKeySpread[children + isStaticChildren] || - ((keys = - 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}"), - console.error( - 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', - isStaticChildren, - children, - keys, - children - ), - (didWarnAboutKeySpread[children + isStaticChildren] = !0)); - } - children = null; - void 0 !== maybeKey && - (checkKeyStringCoercion(maybeKey), (children = "" + maybeKey)); - hasValidKey(config) && - (checkKeyStringCoercion(config.key), (children = "" + config.key)); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - children && - defineKeyPropWarningGetter( - maybeKey, - "function" === typeof type - ? type.displayName || type.name || "Unknown" - : type - ); - return ReactElement( - type, - children, - maybeKey, - getOwner(), - debugStack, - debugTask - ); - } - function validateChildKeys(node) { - isValidElement(node) - ? node._store && (node._store.validated = 1) - : "object" === typeof node && - null !== node && - node.$$typeof === REACT_LAZY_TYPE && - ("fulfilled" === node._payload.status - ? isValidElement(node._payload.value) && - node._payload.value._store && - (node._payload.value._store.validated = 1) - : node._store && (node._store.validated = 1)); - } - function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); - } - var React = require("react"), - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), - REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), - ReactSharedInternalsServer = - React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; - if (!ReactSharedInternalsServer) - throw Error( - 'The "react" package in this environment is not configured correctly. The "react-server" condition must be enabled in any environment that runs React Server Components.' - ); - var hasOwnProperty = Object.prototype.hasOwnProperty, - isArrayImpl = Array.isArray, - createTask = console.createTask - ? console.createTask - : function () { - return null; - }; - React = { - react_stack_bottom_frame: function (callStackForError) { - return callStackForError(); - } - }; - var specialPropKeyWarningShown; - var didWarnAboutElementRef = {}; - var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind( - React, - UnknownOwner - )(); - var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); - var didWarnAboutKeySpread = {}; - exports.Fragment = REACT_FRAGMENT_TYPE; - exports.jsx = function (type, config, maybeKey) { - var trackActualOwner = - 1e4 > ReactSharedInternalsServer.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - !1, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - exports.jsxDEV = function (type, config, maybeKey, isStaticChildren) { - var trackActualOwner = - 1e4 > ReactSharedInternalsServer.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - isStaticChildren, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - exports.jsxs = function (type, config, maybeKey) { - var trackActualOwner = - 1e4 > ReactSharedInternalsServer.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - !0, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - })(); diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.react-server.production.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.react-server.production.js deleted file mode 100644 index 0664121996..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-dev-runtime.react-server.production.js +++ /dev/null @@ -1,40 +0,0 @@ -/** - * @license React - * react-jsx-dev-runtime.react-server.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var React = require("react"), - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); -if (!React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE) - throw Error( - 'The "react" package in this environment is not configured correctly. The "react-server" condition must be enabled in any environment that runs React Server Components.' - ); -function jsxProd(type, config, maybeKey) { - var key = null; - void 0 !== maybeKey && (key = "" + maybeKey); - void 0 !== config.key && (key = "" + config.key); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - config = maybeKey.ref; - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - ref: void 0 !== config ? config : null, - props: maybeKey - }; -} -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.jsx = jsxProd; -exports.jsxDEV = void 0; -exports.jsxs = jsxProd; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.development.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.development.js deleted file mode 100644 index 35331a3c5c..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.development.js +++ /dev/null @@ -1,352 +0,0 @@ -/** - * @license React - * react-jsx-runtime.development.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -"production" !== process.env.NODE_ENV && - (function () { - function getComponentNameFromType(type) { - if (null == type) return null; - if ("function" === typeof type) - return type.$$typeof === REACT_CLIENT_REFERENCE - ? null - : type.displayName || type.name || null; - if ("string" === typeof type) return type; - switch (type) { - case REACT_FRAGMENT_TYPE: - return "Fragment"; - case REACT_PROFILER_TYPE: - return "Profiler"; - case REACT_STRICT_MODE_TYPE: - return "StrictMode"; - case REACT_SUSPENSE_TYPE: - return "Suspense"; - case REACT_SUSPENSE_LIST_TYPE: - return "SuspenseList"; - case REACT_ACTIVITY_TYPE: - return "Activity"; - } - if ("object" === typeof type) - switch ( - ("number" === typeof type.tag && - console.error( - "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." - ), - type.$$typeof) - ) { - case REACT_PORTAL_TYPE: - return "Portal"; - case REACT_CONTEXT_TYPE: - return type.displayName || "Context"; - case REACT_CONSUMER_TYPE: - return (type._context.displayName || "Context") + ".Consumer"; - case REACT_FORWARD_REF_TYPE: - var innerType = type.render; - type = type.displayName; - type || - ((type = innerType.displayName || innerType.name || ""), - (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); - return type; - case REACT_MEMO_TYPE: - return ( - (innerType = type.displayName || null), - null !== innerType - ? innerType - : getComponentNameFromType(type.type) || "Memo" - ); - case REACT_LAZY_TYPE: - innerType = type._payload; - type = type._init; - try { - return getComponentNameFromType(type(innerType)); - } catch (x) {} - } - return null; - } - function testStringCoercion(value) { - return "" + value; - } - function checkKeyStringCoercion(value) { - try { - testStringCoercion(value); - var JSCompiler_inline_result = !1; - } catch (e) { - JSCompiler_inline_result = !0; - } - if (JSCompiler_inline_result) { - JSCompiler_inline_result = console; - var JSCompiler_temp_const = JSCompiler_inline_result.error; - var JSCompiler_inline_result$jscomp$0 = - ("function" === typeof Symbol && - Symbol.toStringTag && - value[Symbol.toStringTag]) || - value.constructor.name || - "Object"; - JSCompiler_temp_const.call( - JSCompiler_inline_result, - "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", - JSCompiler_inline_result$jscomp$0 - ); - return testStringCoercion(value); - } - } - function getTaskName(type) { - if (type === REACT_FRAGMENT_TYPE) return "<>"; - if ( - "object" === typeof type && - null !== type && - type.$$typeof === REACT_LAZY_TYPE - ) - return "<...>"; - try { - var name = getComponentNameFromType(type); - return name ? "<" + name + ">" : "<...>"; - } catch (x) { - return "<...>"; - } - } - function getOwner() { - var dispatcher = ReactSharedInternals.A; - return null === dispatcher ? null : dispatcher.getOwner(); - } - function UnknownOwner() { - return Error("react-stack-top-frame"); - } - function hasValidKey(config) { - if (hasOwnProperty.call(config, "key")) { - var getter = Object.getOwnPropertyDescriptor(config, "key").get; - if (getter && getter.isReactWarning) return !1; - } - return void 0 !== config.key; - } - function defineKeyPropWarningGetter(props, displayName) { - function warnAboutAccessingKey() { - specialPropKeyWarningShown || - ((specialPropKeyWarningShown = !0), - console.error( - "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", - displayName - )); - } - warnAboutAccessingKey.isReactWarning = !0; - Object.defineProperty(props, "key", { - get: warnAboutAccessingKey, - configurable: !0 - }); - } - function elementRefGetterWithDeprecationWarning() { - var componentName = getComponentNameFromType(this.type); - didWarnAboutElementRef[componentName] || - ((didWarnAboutElementRef[componentName] = !0), - console.error( - "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." - )); - componentName = this.props.ref; - return void 0 !== componentName ? componentName : null; - } - function ReactElement(type, key, props, owner, debugStack, debugTask) { - var refProp = props.ref; - type = { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - props: props, - _owner: owner - }; - null !== (void 0 !== refProp ? refProp : null) - ? Object.defineProperty(type, "ref", { - enumerable: !1, - get: elementRefGetterWithDeprecationWarning - }) - : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); - type._store = {}; - Object.defineProperty(type._store, "validated", { - configurable: !1, - enumerable: !1, - writable: !0, - value: 0 - }); - Object.defineProperty(type, "_debugInfo", { - configurable: !1, - enumerable: !1, - writable: !0, - value: null - }); - Object.defineProperty(type, "_debugStack", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugStack - }); - Object.defineProperty(type, "_debugTask", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugTask - }); - Object.freeze && (Object.freeze(type.props), Object.freeze(type)); - return type; - } - function jsxDEVImpl( - type, - config, - maybeKey, - isStaticChildren, - debugStack, - debugTask - ) { - var children = config.children; - if (void 0 !== children) - if (isStaticChildren) - if (isArrayImpl(children)) { - for ( - isStaticChildren = 0; - isStaticChildren < children.length; - isStaticChildren++ - ) - validateChildKeys(children[isStaticChildren]); - Object.freeze && Object.freeze(children); - } else - console.error( - "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." - ); - else validateChildKeys(children); - if (hasOwnProperty.call(config, "key")) { - children = getComponentNameFromType(type); - var keys = Object.keys(config).filter(function (k) { - return "key" !== k; - }); - isStaticChildren = - 0 < keys.length - ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" - : "{key: someKey}"; - didWarnAboutKeySpread[children + isStaticChildren] || - ((keys = - 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}"), - console.error( - 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', - isStaticChildren, - children, - keys, - children - ), - (didWarnAboutKeySpread[children + isStaticChildren] = !0)); - } - children = null; - void 0 !== maybeKey && - (checkKeyStringCoercion(maybeKey), (children = "" + maybeKey)); - hasValidKey(config) && - (checkKeyStringCoercion(config.key), (children = "" + config.key)); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - children && - defineKeyPropWarningGetter( - maybeKey, - "function" === typeof type - ? type.displayName || type.name || "Unknown" - : type - ); - return ReactElement( - type, - children, - maybeKey, - getOwner(), - debugStack, - debugTask - ); - } - function validateChildKeys(node) { - isValidElement(node) - ? node._store && (node._store.validated = 1) - : "object" === typeof node && - null !== node && - node.$$typeof === REACT_LAZY_TYPE && - ("fulfilled" === node._payload.status - ? isValidElement(node._payload.value) && - node._payload.value._store && - (node._payload.value._store.validated = 1) - : node._store && (node._store.validated = 1)); - } - function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); - } - var React = require("react"), - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), - REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), - ReactSharedInternals = - React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, - hasOwnProperty = Object.prototype.hasOwnProperty, - isArrayImpl = Array.isArray, - createTask = console.createTask - ? console.createTask - : function () { - return null; - }; - React = { - react_stack_bottom_frame: function (callStackForError) { - return callStackForError(); - } - }; - var specialPropKeyWarningShown; - var didWarnAboutElementRef = {}; - var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind( - React, - UnknownOwner - )(); - var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); - var didWarnAboutKeySpread = {}; - exports.Fragment = REACT_FRAGMENT_TYPE; - exports.jsx = function (type, config, maybeKey) { - var trackActualOwner = - 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - !1, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - exports.jsxs = function (type, config, maybeKey) { - var trackActualOwner = - 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - !0, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - })(); diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.production.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.production.js deleted file mode 100644 index 12d60887f0..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.production.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); -function jsxProd(type, config, maybeKey) { - var key = null; - void 0 !== maybeKey && (key = "" + maybeKey); - void 0 !== config.key && (key = "" + config.key); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - config = maybeKey.ref; - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - ref: void 0 !== config ? config : null, - props: maybeKey - }; -} -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.jsx = jsxProd; -exports.jsxs = jsxProd; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.profiling.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.profiling.js deleted file mode 100644 index 68a28d6ad6..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.profiling.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @license React - * react-jsx-runtime.profiling.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); -function jsxProd(type, config, maybeKey) { - var key = null; - void 0 !== maybeKey && (key = "" + maybeKey); - void 0 !== config.key && (key = "" + config.key); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - config = maybeKey.ref; - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - ref: void 0 !== config ? config : null, - props: maybeKey - }; -} -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.jsx = jsxProd; -exports.jsxs = jsxProd; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.react-server.development.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.react-server.development.js deleted file mode 100644 index 59ee4be6d6..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.react-server.development.js +++ /dev/null @@ -1,370 +0,0 @@ -/** - * @license React - * react-jsx-runtime.react-server.development.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -"production" !== process.env.NODE_ENV && - (function () { - function getComponentNameFromType(type) { - if (null == type) return null; - if ("function" === typeof type) - return type.$$typeof === REACT_CLIENT_REFERENCE - ? null - : type.displayName || type.name || null; - if ("string" === typeof type) return type; - switch (type) { - case REACT_FRAGMENT_TYPE: - return "Fragment"; - case REACT_PROFILER_TYPE: - return "Profiler"; - case REACT_STRICT_MODE_TYPE: - return "StrictMode"; - case REACT_SUSPENSE_TYPE: - return "Suspense"; - case REACT_SUSPENSE_LIST_TYPE: - return "SuspenseList"; - case REACT_ACTIVITY_TYPE: - return "Activity"; - } - if ("object" === typeof type) - switch ( - ("number" === typeof type.tag && - console.error( - "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." - ), - type.$$typeof) - ) { - case REACT_PORTAL_TYPE: - return "Portal"; - case REACT_CONTEXT_TYPE: - return type.displayName || "Context"; - case REACT_CONSUMER_TYPE: - return (type._context.displayName || "Context") + ".Consumer"; - case REACT_FORWARD_REF_TYPE: - var innerType = type.render; - type = type.displayName; - type || - ((type = innerType.displayName || innerType.name || ""), - (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); - return type; - case REACT_MEMO_TYPE: - return ( - (innerType = type.displayName || null), - null !== innerType - ? innerType - : getComponentNameFromType(type.type) || "Memo" - ); - case REACT_LAZY_TYPE: - innerType = type._payload; - type = type._init; - try { - return getComponentNameFromType(type(innerType)); - } catch (x) {} - } - return null; - } - function testStringCoercion(value) { - return "" + value; - } - function checkKeyStringCoercion(value) { - try { - testStringCoercion(value); - var JSCompiler_inline_result = !1; - } catch (e) { - JSCompiler_inline_result = !0; - } - if (JSCompiler_inline_result) { - JSCompiler_inline_result = console; - var JSCompiler_temp_const = JSCompiler_inline_result.error; - var JSCompiler_inline_result$jscomp$0 = - ("function" === typeof Symbol && - Symbol.toStringTag && - value[Symbol.toStringTag]) || - value.constructor.name || - "Object"; - JSCompiler_temp_const.call( - JSCompiler_inline_result, - "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", - JSCompiler_inline_result$jscomp$0 - ); - return testStringCoercion(value); - } - } - function getTaskName(type) { - if (type === REACT_FRAGMENT_TYPE) return "<>"; - if ( - "object" === typeof type && - null !== type && - type.$$typeof === REACT_LAZY_TYPE - ) - return "<...>"; - try { - var name = getComponentNameFromType(type); - return name ? "<" + name + ">" : "<...>"; - } catch (x) { - return "<...>"; - } - } - function getOwner() { - var dispatcher = ReactSharedInternalsServer.A; - return null === dispatcher ? null : dispatcher.getOwner(); - } - function UnknownOwner() { - return Error("react-stack-top-frame"); - } - function hasValidKey(config) { - if (hasOwnProperty.call(config, "key")) { - var getter = Object.getOwnPropertyDescriptor(config, "key").get; - if (getter && getter.isReactWarning) return !1; - } - return void 0 !== config.key; - } - function defineKeyPropWarningGetter(props, displayName) { - function warnAboutAccessingKey() { - specialPropKeyWarningShown || - ((specialPropKeyWarningShown = !0), - console.error( - "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", - displayName - )); - } - warnAboutAccessingKey.isReactWarning = !0; - Object.defineProperty(props, "key", { - get: warnAboutAccessingKey, - configurable: !0 - }); - } - function elementRefGetterWithDeprecationWarning() { - var componentName = getComponentNameFromType(this.type); - didWarnAboutElementRef[componentName] || - ((didWarnAboutElementRef[componentName] = !0), - console.error( - "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." - )); - componentName = this.props.ref; - return void 0 !== componentName ? componentName : null; - } - function ReactElement(type, key, props, owner, debugStack, debugTask) { - var refProp = props.ref; - type = { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - props: props, - _owner: owner - }; - null !== (void 0 !== refProp ? refProp : null) - ? Object.defineProperty(type, "ref", { - enumerable: !1, - get: elementRefGetterWithDeprecationWarning - }) - : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); - type._store = {}; - Object.defineProperty(type._store, "validated", { - configurable: !1, - enumerable: !1, - writable: !0, - value: 0 - }); - Object.defineProperty(type, "_debugInfo", { - configurable: !1, - enumerable: !1, - writable: !0, - value: null - }); - Object.defineProperty(type, "_debugStack", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugStack - }); - Object.defineProperty(type, "_debugTask", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugTask - }); - Object.freeze && (Object.freeze(type.props), Object.freeze(type)); - return type; - } - function jsxDEVImpl( - type, - config, - maybeKey, - isStaticChildren, - debugStack, - debugTask - ) { - var children = config.children; - if (void 0 !== children) - if (isStaticChildren) - if (isArrayImpl(children)) { - for ( - isStaticChildren = 0; - isStaticChildren < children.length; - isStaticChildren++ - ) - validateChildKeys(children[isStaticChildren]); - Object.freeze && Object.freeze(children); - } else - console.error( - "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." - ); - else validateChildKeys(children); - if (hasOwnProperty.call(config, "key")) { - children = getComponentNameFromType(type); - var keys = Object.keys(config).filter(function (k) { - return "key" !== k; - }); - isStaticChildren = - 0 < keys.length - ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" - : "{key: someKey}"; - didWarnAboutKeySpread[children + isStaticChildren] || - ((keys = - 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}"), - console.error( - 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', - isStaticChildren, - children, - keys, - children - ), - (didWarnAboutKeySpread[children + isStaticChildren] = !0)); - } - children = null; - void 0 !== maybeKey && - (checkKeyStringCoercion(maybeKey), (children = "" + maybeKey)); - hasValidKey(config) && - (checkKeyStringCoercion(config.key), (children = "" + config.key)); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - children && - defineKeyPropWarningGetter( - maybeKey, - "function" === typeof type - ? type.displayName || type.name || "Unknown" - : type - ); - return ReactElement( - type, - children, - maybeKey, - getOwner(), - debugStack, - debugTask - ); - } - function validateChildKeys(node) { - isValidElement(node) - ? node._store && (node._store.validated = 1) - : "object" === typeof node && - null !== node && - node.$$typeof === REACT_LAZY_TYPE && - ("fulfilled" === node._payload.status - ? isValidElement(node._payload.value) && - node._payload.value._store && - (node._payload.value._store.validated = 1) - : node._store && (node._store.validated = 1)); - } - function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); - } - var React = require("react"), - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), - REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), - ReactSharedInternalsServer = - React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; - if (!ReactSharedInternalsServer) - throw Error( - 'The "react" package in this environment is not configured correctly. The "react-server" condition must be enabled in any environment that runs React Server Components.' - ); - var hasOwnProperty = Object.prototype.hasOwnProperty, - isArrayImpl = Array.isArray, - createTask = console.createTask - ? console.createTask - : function () { - return null; - }; - React = { - react_stack_bottom_frame: function (callStackForError) { - return callStackForError(); - } - }; - var specialPropKeyWarningShown; - var didWarnAboutElementRef = {}; - var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind( - React, - UnknownOwner - )(); - var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); - var didWarnAboutKeySpread = {}; - exports.Fragment = REACT_FRAGMENT_TYPE; - exports.jsx = function (type, config, maybeKey) { - var trackActualOwner = - 1e4 > ReactSharedInternalsServer.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - !1, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - exports.jsxDEV = function (type, config, maybeKey, isStaticChildren) { - var trackActualOwner = - 1e4 > ReactSharedInternalsServer.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - isStaticChildren, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - exports.jsxs = function (type, config, maybeKey) { - var trackActualOwner = - 1e4 > ReactSharedInternalsServer.recentlyCreatedOwnerStacks++; - return jsxDEVImpl( - type, - config, - maybeKey, - !0, - trackActualOwner - ? Error("react-stack-top-frame") - : unknownOwnerDebugStack, - trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - })(); diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.react-server.production.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.react-server.production.js deleted file mode 100644 index 486facb521..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react-jsx-runtime.react-server.production.js +++ /dev/null @@ -1,40 +0,0 @@ -/** - * @license React - * react-jsx-runtime.react-server.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var React = require("react"), - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); -if (!React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE) - throw Error( - 'The "react" package in this environment is not configured correctly. The "react-server" condition must be enabled in any environment that runs React Server Components.' - ); -function jsxProd(type, config, maybeKey) { - var key = null; - void 0 !== maybeKey && (key = "" + maybeKey); - void 0 !== config.key && (key = "" + config.key); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - config = maybeKey.ref; - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - ref: void 0 !== config ? config : null, - props: maybeKey - }; -} -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.jsx = jsxProd; -exports.jsxDEV = void 0; -exports.jsxs = jsxProd; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.development.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.development.js deleted file mode 100644 index e7695c689b..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.development.js +++ /dev/null @@ -1,1284 +0,0 @@ -/** - * @license React - * react.development.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -"production" !== process.env.NODE_ENV && - (function () { - function defineDeprecationWarning(methodName, info) { - Object.defineProperty(Component.prototype, methodName, { - get: function () { - console.warn( - "%s(...) is deprecated in plain JavaScript React classes. %s", - info[0], - info[1] - ); - } - }); - } - function getIteratorFn(maybeIterable) { - if (null === maybeIterable || "object" !== typeof maybeIterable) - return null; - maybeIterable = - (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || - maybeIterable["@@iterator"]; - return "function" === typeof maybeIterable ? maybeIterable : null; - } - function warnNoop(publicInstance, callerName) { - publicInstance = - ((publicInstance = publicInstance.constructor) && - (publicInstance.displayName || publicInstance.name)) || - "ReactClass"; - var warningKey = publicInstance + "." + callerName; - didWarnStateUpdateForUnmountedComponent[warningKey] || - (console.error( - "Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", - callerName, - publicInstance - ), - (didWarnStateUpdateForUnmountedComponent[warningKey] = !0)); - } - function Component(props, context, updater) { - this.props = props; - this.context = context; - this.refs = emptyObject; - this.updater = updater || ReactNoopUpdateQueue; - } - function ComponentDummy() {} - function PureComponent(props, context, updater) { - this.props = props; - this.context = context; - this.refs = emptyObject; - this.updater = updater || ReactNoopUpdateQueue; - } - function noop() {} - function testStringCoercion(value) { - return "" + value; - } - function checkKeyStringCoercion(value) { - try { - testStringCoercion(value); - var JSCompiler_inline_result = !1; - } catch (e) { - JSCompiler_inline_result = !0; - } - if (JSCompiler_inline_result) { - JSCompiler_inline_result = console; - var JSCompiler_temp_const = JSCompiler_inline_result.error; - var JSCompiler_inline_result$jscomp$0 = - ("function" === typeof Symbol && - Symbol.toStringTag && - value[Symbol.toStringTag]) || - value.constructor.name || - "Object"; - JSCompiler_temp_const.call( - JSCompiler_inline_result, - "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", - JSCompiler_inline_result$jscomp$0 - ); - return testStringCoercion(value); - } - } - function getComponentNameFromType(type) { - if (null == type) return null; - if ("function" === typeof type) - return type.$$typeof === REACT_CLIENT_REFERENCE - ? null - : type.displayName || type.name || null; - if ("string" === typeof type) return type; - switch (type) { - case REACT_FRAGMENT_TYPE: - return "Fragment"; - case REACT_PROFILER_TYPE: - return "Profiler"; - case REACT_STRICT_MODE_TYPE: - return "StrictMode"; - case REACT_SUSPENSE_TYPE: - return "Suspense"; - case REACT_SUSPENSE_LIST_TYPE: - return "SuspenseList"; - case REACT_ACTIVITY_TYPE: - return "Activity"; - } - if ("object" === typeof type) - switch ( - ("number" === typeof type.tag && - console.error( - "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." - ), - type.$$typeof) - ) { - case REACT_PORTAL_TYPE: - return "Portal"; - case REACT_CONTEXT_TYPE: - return type.displayName || "Context"; - case REACT_CONSUMER_TYPE: - return (type._context.displayName || "Context") + ".Consumer"; - case REACT_FORWARD_REF_TYPE: - var innerType = type.render; - type = type.displayName; - type || - ((type = innerType.displayName || innerType.name || ""), - (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); - return type; - case REACT_MEMO_TYPE: - return ( - (innerType = type.displayName || null), - null !== innerType - ? innerType - : getComponentNameFromType(type.type) || "Memo" - ); - case REACT_LAZY_TYPE: - innerType = type._payload; - type = type._init; - try { - return getComponentNameFromType(type(innerType)); - } catch (x) {} - } - return null; - } - function getTaskName(type) { - if (type === REACT_FRAGMENT_TYPE) return "<>"; - if ( - "object" === typeof type && - null !== type && - type.$$typeof === REACT_LAZY_TYPE - ) - return "<...>"; - try { - var name = getComponentNameFromType(type); - return name ? "<" + name + ">" : "<...>"; - } catch (x) { - return "<...>"; - } - } - function getOwner() { - var dispatcher = ReactSharedInternals.A; - return null === dispatcher ? null : dispatcher.getOwner(); - } - function UnknownOwner() { - return Error("react-stack-top-frame"); - } - function hasValidKey(config) { - if (hasOwnProperty.call(config, "key")) { - var getter = Object.getOwnPropertyDescriptor(config, "key").get; - if (getter && getter.isReactWarning) return !1; - } - return void 0 !== config.key; - } - function defineKeyPropWarningGetter(props, displayName) { - function warnAboutAccessingKey() { - specialPropKeyWarningShown || - ((specialPropKeyWarningShown = !0), - console.error( - "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", - displayName - )); - } - warnAboutAccessingKey.isReactWarning = !0; - Object.defineProperty(props, "key", { - get: warnAboutAccessingKey, - configurable: !0 - }); - } - function elementRefGetterWithDeprecationWarning() { - var componentName = getComponentNameFromType(this.type); - didWarnAboutElementRef[componentName] || - ((didWarnAboutElementRef[componentName] = !0), - console.error( - "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." - )); - componentName = this.props.ref; - return void 0 !== componentName ? componentName : null; - } - function ReactElement(type, key, props, owner, debugStack, debugTask) { - var refProp = props.ref; - type = { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - props: props, - _owner: owner - }; - null !== (void 0 !== refProp ? refProp : null) - ? Object.defineProperty(type, "ref", { - enumerable: !1, - get: elementRefGetterWithDeprecationWarning - }) - : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); - type._store = {}; - Object.defineProperty(type._store, "validated", { - configurable: !1, - enumerable: !1, - writable: !0, - value: 0 - }); - Object.defineProperty(type, "_debugInfo", { - configurable: !1, - enumerable: !1, - writable: !0, - value: null - }); - Object.defineProperty(type, "_debugStack", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugStack - }); - Object.defineProperty(type, "_debugTask", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugTask - }); - Object.freeze && (Object.freeze(type.props), Object.freeze(type)); - return type; - } - function cloneAndReplaceKey(oldElement, newKey) { - newKey = ReactElement( - oldElement.type, - newKey, - oldElement.props, - oldElement._owner, - oldElement._debugStack, - oldElement._debugTask - ); - oldElement._store && - (newKey._store.validated = oldElement._store.validated); - return newKey; - } - function validateChildKeys(node) { - isValidElement(node) - ? node._store && (node._store.validated = 1) - : "object" === typeof node && - null !== node && - node.$$typeof === REACT_LAZY_TYPE && - ("fulfilled" === node._payload.status - ? isValidElement(node._payload.value) && - node._payload.value._store && - (node._payload.value._store.validated = 1) - : node._store && (node._store.validated = 1)); - } - function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); - } - function escape(key) { - var escaperLookup = { "=": "=0", ":": "=2" }; - return ( - "$" + - key.replace(/[=:]/g, function (match) { - return escaperLookup[match]; - }) - ); - } - function getElementKey(element, index) { - return "object" === typeof element && - null !== element && - null != element.key - ? (checkKeyStringCoercion(element.key), escape("" + element.key)) - : index.toString(36); - } - function resolveThenable(thenable) { - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - default: - switch ( - ("string" === typeof thenable.status - ? thenable.then(noop, noop) - : ((thenable.status = "pending"), - thenable.then( - function (fulfilledValue) { - "pending" === thenable.status && - ((thenable.status = "fulfilled"), - (thenable.value = fulfilledValue)); - }, - function (error) { - "pending" === thenable.status && - ((thenable.status = "rejected"), - (thenable.reason = error)); - } - )), - thenable.status) - ) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - } - } - throw thenable; - } - function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { - var type = typeof children; - if ("undefined" === type || "boolean" === type) children = null; - var invokeCallback = !1; - if (null === children) invokeCallback = !0; - else - switch (type) { - case "bigint": - case "string": - case "number": - invokeCallback = !0; - break; - case "object": - switch (children.$$typeof) { - case REACT_ELEMENT_TYPE: - case REACT_PORTAL_TYPE: - invokeCallback = !0; - break; - case REACT_LAZY_TYPE: - return ( - (invokeCallback = children._init), - mapIntoArray( - invokeCallback(children._payload), - array, - escapedPrefix, - nameSoFar, - callback - ) - ); - } - } - if (invokeCallback) { - invokeCallback = children; - callback = callback(invokeCallback); - var childKey = - "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar; - isArrayImpl(callback) - ? ((escapedPrefix = ""), - null != childKey && - (escapedPrefix = - childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), - mapIntoArray(callback, array, escapedPrefix, "", function (c) { - return c; - })) - : null != callback && - (isValidElement(callback) && - (null != callback.key && - ((invokeCallback && invokeCallback.key === callback.key) || - checkKeyStringCoercion(callback.key)), - (escapedPrefix = cloneAndReplaceKey( - callback, - escapedPrefix + - (null == callback.key || - (invokeCallback && invokeCallback.key === callback.key) - ? "" - : ("" + callback.key).replace( - userProvidedKeyEscapeRegex, - "$&/" - ) + "/") + - childKey - )), - "" !== nameSoFar && - null != invokeCallback && - isValidElement(invokeCallback) && - null == invokeCallback.key && - invokeCallback._store && - !invokeCallback._store.validated && - (escapedPrefix._store.validated = 2), - (callback = escapedPrefix)), - array.push(callback)); - return 1; - } - invokeCallback = 0; - childKey = "" === nameSoFar ? "." : nameSoFar + ":"; - if (isArrayImpl(children)) - for (var i = 0; i < children.length; i++) - (nameSoFar = children[i]), - (type = childKey + getElementKey(nameSoFar, i)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if (((i = getIteratorFn(children)), "function" === typeof i)) - for ( - i === children.entries && - (didWarnAboutMaps || - console.warn( - "Using Maps as children is not supported. Use an array of keyed ReactElements instead." - ), - (didWarnAboutMaps = !0)), - children = i.call(children), - i = 0; - !(nameSoFar = children.next()).done; - - ) - (nameSoFar = nameSoFar.value), - (type = childKey + getElementKey(nameSoFar, i++)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if ("object" === type) { - if ("function" === typeof children.then) - return mapIntoArray( - resolveThenable(children), - array, - escapedPrefix, - nameSoFar, - callback - ); - array = String(children); - throw Error( - "Objects are not valid as a React child (found: " + - ("[object Object]" === array - ? "object with keys {" + Object.keys(children).join(", ") + "}" - : array) + - "). If you meant to render a collection of children, use an array instead." - ); - } - return invokeCallback; - } - function mapChildren(children, func, context) { - if (null == children) return children; - var result = [], - count = 0; - mapIntoArray(children, result, "", "", function (child) { - return func.call(context, child, count++); - }); - return result; - } - function lazyInitializer(payload) { - if (-1 === payload._status) { - var ioInfo = payload._ioInfo; - null != ioInfo && (ioInfo.start = ioInfo.end = performance.now()); - ioInfo = payload._result; - var thenable = ioInfo(); - thenable.then( - function (moduleObject) { - if (0 === payload._status || -1 === payload._status) { - payload._status = 1; - payload._result = moduleObject; - var _ioInfo = payload._ioInfo; - null != _ioInfo && (_ioInfo.end = performance.now()); - void 0 === thenable.status && - ((thenable.status = "fulfilled"), - (thenable.value = moduleObject)); - } - }, - function (error) { - if (0 === payload._status || -1 === payload._status) { - payload._status = 2; - payload._result = error; - var _ioInfo2 = payload._ioInfo; - null != _ioInfo2 && (_ioInfo2.end = performance.now()); - void 0 === thenable.status && - ((thenable.status = "rejected"), (thenable.reason = error)); - } - } - ); - ioInfo = payload._ioInfo; - if (null != ioInfo) { - ioInfo.value = thenable; - var displayName = thenable.displayName; - "string" === typeof displayName && (ioInfo.name = displayName); - } - -1 === payload._status && - ((payload._status = 0), (payload._result = thenable)); - } - if (1 === payload._status) - return ( - (ioInfo = payload._result), - void 0 === ioInfo && - console.error( - "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?", - ioInfo - ), - "default" in ioInfo || - console.error( - "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))", - ioInfo - ), - ioInfo.default - ); - throw payload._result; - } - function resolveDispatcher() { - var dispatcher = ReactSharedInternals.H; - null === dispatcher && - console.error( - "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." - ); - return dispatcher; - } - function releaseAsyncTransition() { - ReactSharedInternals.asyncTransitions--; - } - function enqueueTask(task) { - if (null === enqueueTaskImpl) - try { - var requireString = ("require" + Math.random()).slice(0, 7); - enqueueTaskImpl = (module && module[requireString]).call( - module, - "timers" - ).setImmediate; - } catch (_err) { - enqueueTaskImpl = function (callback) { - !1 === didWarnAboutMessageChannel && - ((didWarnAboutMessageChannel = !0), - "undefined" === typeof MessageChannel && - console.error( - "This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning." - )); - var channel = new MessageChannel(); - channel.port1.onmessage = callback; - channel.port2.postMessage(void 0); - }; - } - return enqueueTaskImpl(task); - } - function aggregateErrors(errors) { - return 1 < errors.length && "function" === typeof AggregateError - ? new AggregateError(errors) - : errors[0]; - } - function popActScope(prevActQueue, prevActScopeDepth) { - prevActScopeDepth !== actScopeDepth - 1 && - console.error( - "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. " - ); - actScopeDepth = prevActScopeDepth; - } - function recursivelyFlushAsyncActWork(returnValue, resolve, reject) { - var queue = ReactSharedInternals.actQueue; - if (null !== queue) - if (0 !== queue.length) - try { - flushActQueue(queue); - enqueueTask(function () { - return recursivelyFlushAsyncActWork(returnValue, resolve, reject); - }); - return; - } catch (error) { - ReactSharedInternals.thrownErrors.push(error); - } - else ReactSharedInternals.actQueue = null; - 0 < ReactSharedInternals.thrownErrors.length - ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)), - (ReactSharedInternals.thrownErrors.length = 0), - reject(queue)) - : resolve(returnValue); - } - function flushActQueue(queue) { - if (!isFlushing) { - isFlushing = !0; - var i = 0; - try { - for (; i < queue.length; i++) { - var callback = queue[i]; - do { - ReactSharedInternals.didUsePromise = !1; - var continuation = callback(!1); - if (null !== continuation) { - if (ReactSharedInternals.didUsePromise) { - queue[i] = callback; - queue.splice(0, i); - return; - } - callback = continuation; - } else break; - } while (1); - } - queue.length = 0; - } catch (error) { - queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error); - } finally { - isFlushing = !1; - } - } - } - "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && - "function" === - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); - var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), - MAYBE_ITERATOR_SYMBOL = Symbol.iterator, - didWarnStateUpdateForUnmountedComponent = {}, - ReactNoopUpdateQueue = { - isMounted: function () { - return !1; - }, - enqueueForceUpdate: function (publicInstance) { - warnNoop(publicInstance, "forceUpdate"); - }, - enqueueReplaceState: function (publicInstance) { - warnNoop(publicInstance, "replaceState"); - }, - enqueueSetState: function (publicInstance) { - warnNoop(publicInstance, "setState"); - } - }, - assign = Object.assign, - emptyObject = {}; - Object.freeze(emptyObject); - Component.prototype.isReactComponent = {}; - Component.prototype.setState = function (partialState, callback) { - if ( - "object" !== typeof partialState && - "function" !== typeof partialState && - null != partialState - ) - throw Error( - "takes an object of state variables to update or a function which returns an object of state variables." - ); - this.updater.enqueueSetState(this, partialState, callback, "setState"); - }; - Component.prototype.forceUpdate = function (callback) { - this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); - }; - var deprecatedAPIs = { - isMounted: [ - "isMounted", - "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks." - ], - replaceState: [ - "replaceState", - "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)." - ] - }; - for (fnName in deprecatedAPIs) - deprecatedAPIs.hasOwnProperty(fnName) && - defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); - ComponentDummy.prototype = Component.prototype; - deprecatedAPIs = PureComponent.prototype = new ComponentDummy(); - deprecatedAPIs.constructor = PureComponent; - assign(deprecatedAPIs, Component.prototype); - deprecatedAPIs.isPureReactComponent = !0; - var isArrayImpl = Array.isArray, - REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), - ReactSharedInternals = { - H: null, - A: null, - T: null, - S: null, - actQueue: null, - asyncTransitions: 0, - isBatchingLegacy: !1, - didScheduleLegacyUpdate: !1, - didUsePromise: !1, - thrownErrors: [], - getCurrentStack: null, - recentlyCreatedOwnerStacks: 0 - }, - hasOwnProperty = Object.prototype.hasOwnProperty, - createTask = console.createTask - ? console.createTask - : function () { - return null; - }; - deprecatedAPIs = { - react_stack_bottom_frame: function (callStackForError) { - return callStackForError(); - } - }; - var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime; - var didWarnAboutElementRef = {}; - var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind( - deprecatedAPIs, - UnknownOwner - )(); - var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); - var didWarnAboutMaps = !1, - userProvidedKeyEscapeRegex = /\/+/g, - reportGlobalError = - "function" === typeof reportError - ? reportError - : function (error) { - if ( - "object" === typeof window && - "function" === typeof window.ErrorEvent - ) { - var event = new window.ErrorEvent("error", { - bubbles: !0, - cancelable: !0, - message: - "object" === typeof error && - null !== error && - "string" === typeof error.message - ? String(error.message) - : String(error), - error: error - }); - if (!window.dispatchEvent(event)) return; - } else if ( - "object" === typeof process && - "function" === typeof process.emit - ) { - process.emit("uncaughtException", error); - return; - } - console.error(error); - }, - didWarnAboutMessageChannel = !1, - enqueueTaskImpl = null, - actScopeDepth = 0, - didWarnNoAwaitAct = !1, - isFlushing = !1, - queueSeveralMicrotasks = - "function" === typeof queueMicrotask - ? function (callback) { - queueMicrotask(function () { - return queueMicrotask(callback); - }); - } - : enqueueTask; - deprecatedAPIs = Object.freeze({ - __proto__: null, - c: function (size) { - return resolveDispatcher().useMemoCache(size); - } - }); - var fnName = { - map: mapChildren, - forEach: function (children, forEachFunc, forEachContext) { - mapChildren( - children, - function () { - forEachFunc.apply(this, arguments); - }, - forEachContext - ); - }, - count: function (children) { - var n = 0; - mapChildren(children, function () { - n++; - }); - return n; - }, - toArray: function (children) { - return ( - mapChildren(children, function (child) { - return child; - }) || [] - ); - }, - only: function (children) { - if (!isValidElement(children)) - throw Error( - "React.Children.only expected to receive a single React element child." - ); - return children; - } - }; - exports.Activity = REACT_ACTIVITY_TYPE; - exports.Children = fnName; - exports.Component = Component; - exports.Fragment = REACT_FRAGMENT_TYPE; - exports.Profiler = REACT_PROFILER_TYPE; - exports.PureComponent = PureComponent; - exports.StrictMode = REACT_STRICT_MODE_TYPE; - exports.Suspense = REACT_SUSPENSE_TYPE; - exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = - ReactSharedInternals; - exports.__COMPILER_RUNTIME = deprecatedAPIs; - exports.act = function (callback) { - var prevActQueue = ReactSharedInternals.actQueue, - prevActScopeDepth = actScopeDepth; - actScopeDepth++; - var queue = (ReactSharedInternals.actQueue = - null !== prevActQueue ? prevActQueue : []), - didAwaitActCall = !1; - try { - var result = callback(); - } catch (error) { - ReactSharedInternals.thrownErrors.push(error); - } - if (0 < ReactSharedInternals.thrownErrors.length) - throw ( - (popActScope(prevActQueue, prevActScopeDepth), - (callback = aggregateErrors(ReactSharedInternals.thrownErrors)), - (ReactSharedInternals.thrownErrors.length = 0), - callback) - ); - if ( - null !== result && - "object" === typeof result && - "function" === typeof result.then - ) { - var thenable = result; - queueSeveralMicrotasks(function () { - didAwaitActCall || - didWarnNoAwaitAct || - ((didWarnNoAwaitAct = !0), - console.error( - "You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);" - )); - }); - return { - then: function (resolve, reject) { - didAwaitActCall = !0; - thenable.then( - function (returnValue) { - popActScope(prevActQueue, prevActScopeDepth); - if (0 === prevActScopeDepth) { - try { - flushActQueue(queue), - enqueueTask(function () { - return recursivelyFlushAsyncActWork( - returnValue, - resolve, - reject - ); - }); - } catch (error$0) { - ReactSharedInternals.thrownErrors.push(error$0); - } - if (0 < ReactSharedInternals.thrownErrors.length) { - var _thrownError = aggregateErrors( - ReactSharedInternals.thrownErrors - ); - ReactSharedInternals.thrownErrors.length = 0; - reject(_thrownError); - } - } else resolve(returnValue); - }, - function (error) { - popActScope(prevActQueue, prevActScopeDepth); - 0 < ReactSharedInternals.thrownErrors.length - ? ((error = aggregateErrors( - ReactSharedInternals.thrownErrors - )), - (ReactSharedInternals.thrownErrors.length = 0), - reject(error)) - : reject(error); - } - ); - } - }; - } - var returnValue$jscomp$0 = result; - popActScope(prevActQueue, prevActScopeDepth); - 0 === prevActScopeDepth && - (flushActQueue(queue), - 0 !== queue.length && - queueSeveralMicrotasks(function () { - didAwaitActCall || - didWarnNoAwaitAct || - ((didWarnNoAwaitAct = !0), - console.error( - "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)" - )); - }), - (ReactSharedInternals.actQueue = null)); - if (0 < ReactSharedInternals.thrownErrors.length) - throw ( - ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)), - (ReactSharedInternals.thrownErrors.length = 0), - callback) - ); - return { - then: function (resolve, reject) { - didAwaitActCall = !0; - 0 === prevActScopeDepth - ? ((ReactSharedInternals.actQueue = queue), - enqueueTask(function () { - return recursivelyFlushAsyncActWork( - returnValue$jscomp$0, - resolve, - reject - ); - })) - : resolve(returnValue$jscomp$0); - } - }; - }; - exports.cache = function (fn) { - return function () { - return fn.apply(null, arguments); - }; - }; - exports.cacheSignal = function () { - return null; - }; - exports.captureOwnerStack = function () { - var getCurrentStack = ReactSharedInternals.getCurrentStack; - return null === getCurrentStack ? null : getCurrentStack(); - }; - exports.cloneElement = function (element, config, children) { - if (null === element || void 0 === element) - throw Error( - "The argument must be a React element, but you passed " + - element + - "." - ); - var props = assign({}, element.props), - key = element.key, - owner = element._owner; - if (null != config) { - var JSCompiler_inline_result; - a: { - if ( - hasOwnProperty.call(config, "ref") && - (JSCompiler_inline_result = Object.getOwnPropertyDescriptor( - config, - "ref" - ).get) && - JSCompiler_inline_result.isReactWarning - ) { - JSCompiler_inline_result = !1; - break a; - } - JSCompiler_inline_result = void 0 !== config.ref; - } - JSCompiler_inline_result && (owner = getOwner()); - hasValidKey(config) && - (checkKeyStringCoercion(config.key), (key = "" + config.key)); - for (propName in config) - !hasOwnProperty.call(config, propName) || - "key" === propName || - "__self" === propName || - "__source" === propName || - ("ref" === propName && void 0 === config.ref) || - (props[propName] = config[propName]); - } - var propName = arguments.length - 2; - if (1 === propName) props.children = children; - else if (1 < propName) { - JSCompiler_inline_result = Array(propName); - for (var i = 0; i < propName; i++) - JSCompiler_inline_result[i] = arguments[i + 2]; - props.children = JSCompiler_inline_result; - } - props = ReactElement( - element.type, - key, - props, - owner, - element._debugStack, - element._debugTask - ); - for (key = 2; key < arguments.length; key++) - validateChildKeys(arguments[key]); - return props; - }; - exports.createContext = function (defaultValue) { - defaultValue = { - $$typeof: REACT_CONTEXT_TYPE, - _currentValue: defaultValue, - _currentValue2: defaultValue, - _threadCount: 0, - Provider: null, - Consumer: null - }; - defaultValue.Provider = defaultValue; - defaultValue.Consumer = { - $$typeof: REACT_CONSUMER_TYPE, - _context: defaultValue - }; - defaultValue._currentRenderer = null; - defaultValue._currentRenderer2 = null; - return defaultValue; - }; - exports.createElement = function (type, config, children) { - for (var i = 2; i < arguments.length; i++) - validateChildKeys(arguments[i]); - i = {}; - var key = null; - if (null != config) - for (propName in (didWarnAboutOldJSXRuntime || - !("__self" in config) || - "key" in config || - ((didWarnAboutOldJSXRuntime = !0), - console.warn( - "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform" - )), - hasValidKey(config) && - (checkKeyStringCoercion(config.key), (key = "" + config.key)), - config)) - hasOwnProperty.call(config, propName) && - "key" !== propName && - "__self" !== propName && - "__source" !== propName && - (i[propName] = config[propName]); - var childrenLength = arguments.length - 2; - if (1 === childrenLength) i.children = children; - else if (1 < childrenLength) { - for ( - var childArray = Array(childrenLength), _i = 0; - _i < childrenLength; - _i++ - ) - childArray[_i] = arguments[_i + 2]; - Object.freeze && Object.freeze(childArray); - i.children = childArray; - } - if (type && type.defaultProps) - for (propName in ((childrenLength = type.defaultProps), childrenLength)) - void 0 === i[propName] && (i[propName] = childrenLength[propName]); - key && - defineKeyPropWarningGetter( - i, - "function" === typeof type - ? type.displayName || type.name || "Unknown" - : type - ); - var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; - return ReactElement( - type, - key, - i, - getOwner(), - propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack, - propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - exports.createRef = function () { - var refObject = { current: null }; - Object.seal(refObject); - return refObject; - }; - exports.forwardRef = function (render) { - null != render && render.$$typeof === REACT_MEMO_TYPE - ? console.error( - "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))." - ) - : "function" !== typeof render - ? console.error( - "forwardRef requires a render function but was given %s.", - null === render ? "null" : typeof render - ) - : 0 !== render.length && - 2 !== render.length && - console.error( - "forwardRef render functions accept exactly two parameters: props and ref. %s", - 1 === render.length - ? "Did you forget to use the ref parameter?" - : "Any additional parameter will be undefined." - ); - null != render && - null != render.defaultProps && - console.error( - "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?" - ); - var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render }, - ownName; - Object.defineProperty(elementType, "displayName", { - enumerable: !1, - configurable: !0, - get: function () { - return ownName; - }, - set: function (name) { - ownName = name; - render.name || - render.displayName || - (Object.defineProperty(render, "name", { value: name }), - (render.displayName = name)); - } - }); - return elementType; - }; - exports.isValidElement = isValidElement; - exports.lazy = function (ctor) { - ctor = { _status: -1, _result: ctor }; - var lazyType = { - $$typeof: REACT_LAZY_TYPE, - _payload: ctor, - _init: lazyInitializer - }, - ioInfo = { - name: "lazy", - start: -1, - end: -1, - value: null, - owner: null, - debugStack: Error("react-stack-top-frame"), - debugTask: console.createTask ? console.createTask("lazy()") : null - }; - ctor._ioInfo = ioInfo; - lazyType._debugInfo = [{ awaited: ioInfo }]; - return lazyType; - }; - exports.memo = function (type, compare) { - null == type && - console.error( - "memo: The first argument must be a component. Instead received: %s", - null === type ? "null" : typeof type - ); - compare = { - $$typeof: REACT_MEMO_TYPE, - type: type, - compare: void 0 === compare ? null : compare - }; - var ownName; - Object.defineProperty(compare, "displayName", { - enumerable: !1, - configurable: !0, - get: function () { - return ownName; - }, - set: function (name) { - ownName = name; - type.name || - type.displayName || - (Object.defineProperty(type, "name", { value: name }), - (type.displayName = name)); - } - }); - return compare; - }; - exports.startTransition = function (scope) { - var prevTransition = ReactSharedInternals.T, - currentTransition = {}; - currentTransition._updatedFibers = new Set(); - ReactSharedInternals.T = currentTransition; - try { - var returnValue = scope(), - onStartTransitionFinish = ReactSharedInternals.S; - null !== onStartTransitionFinish && - onStartTransitionFinish(currentTransition, returnValue); - "object" === typeof returnValue && - null !== returnValue && - "function" === typeof returnValue.then && - (ReactSharedInternals.asyncTransitions++, - returnValue.then(releaseAsyncTransition, releaseAsyncTransition), - returnValue.then(noop, reportGlobalError)); - } catch (error) { - reportGlobalError(error); - } finally { - null === prevTransition && - currentTransition._updatedFibers && - ((scope = currentTransition._updatedFibers.size), - currentTransition._updatedFibers.clear(), - 10 < scope && - console.warn( - "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." - )), - null !== prevTransition && - null !== currentTransition.types && - (null !== prevTransition.types && - prevTransition.types !== currentTransition.types && - console.error( - "We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React." - ), - (prevTransition.types = currentTransition.types)), - (ReactSharedInternals.T = prevTransition); - } - }; - exports.unstable_useCacheRefresh = function () { - return resolveDispatcher().useCacheRefresh(); - }; - exports.use = function (usable) { - return resolveDispatcher().use(usable); - }; - exports.useActionState = function (action, initialState, permalink) { - return resolveDispatcher().useActionState( - action, - initialState, - permalink - ); - }; - exports.useCallback = function (callback, deps) { - return resolveDispatcher().useCallback(callback, deps); - }; - exports.useContext = function (Context) { - var dispatcher = resolveDispatcher(); - Context.$$typeof === REACT_CONSUMER_TYPE && - console.error( - "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?" - ); - return dispatcher.useContext(Context); - }; - exports.useDebugValue = function (value, formatterFn) { - return resolveDispatcher().useDebugValue(value, formatterFn); - }; - exports.useDeferredValue = function (value, initialValue) { - return resolveDispatcher().useDeferredValue(value, initialValue); - }; - exports.useEffect = function (create, deps) { - null == create && - console.warn( - "React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?" - ); - return resolveDispatcher().useEffect(create, deps); - }; - exports.useEffectEvent = function (callback) { - return resolveDispatcher().useEffectEvent(callback); - }; - exports.useId = function () { - return resolveDispatcher().useId(); - }; - exports.useImperativeHandle = function (ref, create, deps) { - return resolveDispatcher().useImperativeHandle(ref, create, deps); - }; - exports.useInsertionEffect = function (create, deps) { - null == create && - console.warn( - "React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?" - ); - return resolveDispatcher().useInsertionEffect(create, deps); - }; - exports.useLayoutEffect = function (create, deps) { - null == create && - console.warn( - "React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?" - ); - return resolveDispatcher().useLayoutEffect(create, deps); - }; - exports.useMemo = function (create, deps) { - return resolveDispatcher().useMemo(create, deps); - }; - exports.useOptimistic = function (passthrough, reducer) { - return resolveDispatcher().useOptimistic(passthrough, reducer); - }; - exports.useReducer = function (reducer, initialArg, init) { - return resolveDispatcher().useReducer(reducer, initialArg, init); - }; - exports.useRef = function (initialValue) { - return resolveDispatcher().useRef(initialValue); - }; - exports.useState = function (initialState) { - return resolveDispatcher().useState(initialState); - }; - exports.useSyncExternalStore = function ( - subscribe, - getSnapshot, - getServerSnapshot - ) { - return resolveDispatcher().useSyncExternalStore( - subscribe, - getSnapshot, - getServerSnapshot - ); - }; - exports.useTransition = function () { - return resolveDispatcher().useTransition(); - }; - exports.version = "19.2.0"; - "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && - "function" === - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); - })(); diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.production.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.production.js deleted file mode 100644 index 0637a6ad47..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.production.js +++ /dev/null @@ -1,542 +0,0 @@ -/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), - MAYBE_ITERATOR_SYMBOL = Symbol.iterator; -function getIteratorFn(maybeIterable) { - if (null === maybeIterable || "object" !== typeof maybeIterable) return null; - maybeIterable = - (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || - maybeIterable["@@iterator"]; - return "function" === typeof maybeIterable ? maybeIterable : null; -} -var ReactNoopUpdateQueue = { - isMounted: function () { - return !1; - }, - enqueueForceUpdate: function () {}, - enqueueReplaceState: function () {}, - enqueueSetState: function () {} - }, - assign = Object.assign, - emptyObject = {}; -function Component(props, context, updater) { - this.props = props; - this.context = context; - this.refs = emptyObject; - this.updater = updater || ReactNoopUpdateQueue; -} -Component.prototype.isReactComponent = {}; -Component.prototype.setState = function (partialState, callback) { - if ( - "object" !== typeof partialState && - "function" !== typeof partialState && - null != partialState - ) - throw Error( - "takes an object of state variables to update or a function which returns an object of state variables." - ); - this.updater.enqueueSetState(this, partialState, callback, "setState"); -}; -Component.prototype.forceUpdate = function (callback) { - this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); -}; -function ComponentDummy() {} -ComponentDummy.prototype = Component.prototype; -function PureComponent(props, context, updater) { - this.props = props; - this.context = context; - this.refs = emptyObject; - this.updater = updater || ReactNoopUpdateQueue; -} -var pureComponentPrototype = (PureComponent.prototype = new ComponentDummy()); -pureComponentPrototype.constructor = PureComponent; -assign(pureComponentPrototype, Component.prototype); -pureComponentPrototype.isPureReactComponent = !0; -var isArrayImpl = Array.isArray; -function noop() {} -var ReactSharedInternals = { H: null, A: null, T: null, S: null }, - hasOwnProperty = Object.prototype.hasOwnProperty; -function ReactElement(type, key, props) { - var refProp = props.ref; - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - ref: void 0 !== refProp ? refProp : null, - props: props - }; -} -function cloneAndReplaceKey(oldElement, newKey) { - return ReactElement(oldElement.type, newKey, oldElement.props); -} -function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); -} -function escape(key) { - var escaperLookup = { "=": "=0", ":": "=2" }; - return ( - "$" + - key.replace(/[=:]/g, function (match) { - return escaperLookup[match]; - }) - ); -} -var userProvidedKeyEscapeRegex = /\/+/g; -function getElementKey(element, index) { - return "object" === typeof element && null !== element && null != element.key - ? escape("" + element.key) - : index.toString(36); -} -function resolveThenable(thenable) { - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - default: - switch ( - ("string" === typeof thenable.status - ? thenable.then(noop, noop) - : ((thenable.status = "pending"), - thenable.then( - function (fulfilledValue) { - "pending" === thenable.status && - ((thenable.status = "fulfilled"), - (thenable.value = fulfilledValue)); - }, - function (error) { - "pending" === thenable.status && - ((thenable.status = "rejected"), (thenable.reason = error)); - } - )), - thenable.status) - ) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - } - } - throw thenable; -} -function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { - var type = typeof children; - if ("undefined" === type || "boolean" === type) children = null; - var invokeCallback = !1; - if (null === children) invokeCallback = !0; - else - switch (type) { - case "bigint": - case "string": - case "number": - invokeCallback = !0; - break; - case "object": - switch (children.$$typeof) { - case REACT_ELEMENT_TYPE: - case REACT_PORTAL_TYPE: - invokeCallback = !0; - break; - case REACT_LAZY_TYPE: - return ( - (invokeCallback = children._init), - mapIntoArray( - invokeCallback(children._payload), - array, - escapedPrefix, - nameSoFar, - callback - ) - ); - } - } - if (invokeCallback) - return ( - (callback = callback(children)), - (invokeCallback = - "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar), - isArrayImpl(callback) - ? ((escapedPrefix = ""), - null != invokeCallback && - (escapedPrefix = - invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), - mapIntoArray(callback, array, escapedPrefix, "", function (c) { - return c; - })) - : null != callback && - (isValidElement(callback) && - (callback = cloneAndReplaceKey( - callback, - escapedPrefix + - (null == callback.key || - (children && children.key === callback.key) - ? "" - : ("" + callback.key).replace( - userProvidedKeyEscapeRegex, - "$&/" - ) + "/") + - invokeCallback - )), - array.push(callback)), - 1 - ); - invokeCallback = 0; - var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":"; - if (isArrayImpl(children)) - for (var i = 0; i < children.length; i++) - (nameSoFar = children[i]), - (type = nextNamePrefix + getElementKey(nameSoFar, i)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if (((i = getIteratorFn(children)), "function" === typeof i)) - for ( - children = i.call(children), i = 0; - !(nameSoFar = children.next()).done; - - ) - (nameSoFar = nameSoFar.value), - (type = nextNamePrefix + getElementKey(nameSoFar, i++)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if ("object" === type) { - if ("function" === typeof children.then) - return mapIntoArray( - resolveThenable(children), - array, - escapedPrefix, - nameSoFar, - callback - ); - array = String(children); - throw Error( - "Objects are not valid as a React child (found: " + - ("[object Object]" === array - ? "object with keys {" + Object.keys(children).join(", ") + "}" - : array) + - "). If you meant to render a collection of children, use an array instead." - ); - } - return invokeCallback; -} -function mapChildren(children, func, context) { - if (null == children) return children; - var result = [], - count = 0; - mapIntoArray(children, result, "", "", function (child) { - return func.call(context, child, count++); - }); - return result; -} -function lazyInitializer(payload) { - if (-1 === payload._status) { - var ctor = payload._result; - ctor = ctor(); - ctor.then( - function (moduleObject) { - if (0 === payload._status || -1 === payload._status) - (payload._status = 1), (payload._result = moduleObject); - }, - function (error) { - if (0 === payload._status || -1 === payload._status) - (payload._status = 2), (payload._result = error); - } - ); - -1 === payload._status && ((payload._status = 0), (payload._result = ctor)); - } - if (1 === payload._status) return payload._result.default; - throw payload._result; -} -var reportGlobalError = - "function" === typeof reportError - ? reportError - : function (error) { - if ( - "object" === typeof window && - "function" === typeof window.ErrorEvent - ) { - var event = new window.ErrorEvent("error", { - bubbles: !0, - cancelable: !0, - message: - "object" === typeof error && - null !== error && - "string" === typeof error.message - ? String(error.message) - : String(error), - error: error - }); - if (!window.dispatchEvent(event)) return; - } else if ( - "object" === typeof process && - "function" === typeof process.emit - ) { - process.emit("uncaughtException", error); - return; - } - console.error(error); - }, - Children = { - map: mapChildren, - forEach: function (children, forEachFunc, forEachContext) { - mapChildren( - children, - function () { - forEachFunc.apply(this, arguments); - }, - forEachContext - ); - }, - count: function (children) { - var n = 0; - mapChildren(children, function () { - n++; - }); - return n; - }, - toArray: function (children) { - return ( - mapChildren(children, function (child) { - return child; - }) || [] - ); - }, - only: function (children) { - if (!isValidElement(children)) - throw Error( - "React.Children.only expected to receive a single React element child." - ); - return children; - } - }; -exports.Activity = REACT_ACTIVITY_TYPE; -exports.Children = Children; -exports.Component = Component; -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.Profiler = REACT_PROFILER_TYPE; -exports.PureComponent = PureComponent; -exports.StrictMode = REACT_STRICT_MODE_TYPE; -exports.Suspense = REACT_SUSPENSE_TYPE; -exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = - ReactSharedInternals; -exports.__COMPILER_RUNTIME = { - __proto__: null, - c: function (size) { - return ReactSharedInternals.H.useMemoCache(size); - } -}; -exports.cache = function (fn) { - return function () { - return fn.apply(null, arguments); - }; -}; -exports.cacheSignal = function () { - return null; -}; -exports.cloneElement = function (element, config, children) { - if (null === element || void 0 === element) - throw Error( - "The argument must be a React element, but you passed " + element + "." - ); - var props = assign({}, element.props), - key = element.key; - if (null != config) - for (propName in (void 0 !== config.key && (key = "" + config.key), config)) - !hasOwnProperty.call(config, propName) || - "key" === propName || - "__self" === propName || - "__source" === propName || - ("ref" === propName && void 0 === config.ref) || - (props[propName] = config[propName]); - var propName = arguments.length - 2; - if (1 === propName) props.children = children; - else if (1 < propName) { - for (var childArray = Array(propName), i = 0; i < propName; i++) - childArray[i] = arguments[i + 2]; - props.children = childArray; - } - return ReactElement(element.type, key, props); -}; -exports.createContext = function (defaultValue) { - defaultValue = { - $$typeof: REACT_CONTEXT_TYPE, - _currentValue: defaultValue, - _currentValue2: defaultValue, - _threadCount: 0, - Provider: null, - Consumer: null - }; - defaultValue.Provider = defaultValue; - defaultValue.Consumer = { - $$typeof: REACT_CONSUMER_TYPE, - _context: defaultValue - }; - return defaultValue; -}; -exports.createElement = function (type, config, children) { - var propName, - props = {}, - key = null; - if (null != config) - for (propName in (void 0 !== config.key && (key = "" + config.key), config)) - hasOwnProperty.call(config, propName) && - "key" !== propName && - "__self" !== propName && - "__source" !== propName && - (props[propName] = config[propName]); - var childrenLength = arguments.length - 2; - if (1 === childrenLength) props.children = children; - else if (1 < childrenLength) { - for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++) - childArray[i] = arguments[i + 2]; - props.children = childArray; - } - if (type && type.defaultProps) - for (propName in ((childrenLength = type.defaultProps), childrenLength)) - void 0 === props[propName] && - (props[propName] = childrenLength[propName]); - return ReactElement(type, key, props); -}; -exports.createRef = function () { - return { current: null }; -}; -exports.forwardRef = function (render) { - return { $$typeof: REACT_FORWARD_REF_TYPE, render: render }; -}; -exports.isValidElement = isValidElement; -exports.lazy = function (ctor) { - return { - $$typeof: REACT_LAZY_TYPE, - _payload: { _status: -1, _result: ctor }, - _init: lazyInitializer - }; -}; -exports.memo = function (type, compare) { - return { - $$typeof: REACT_MEMO_TYPE, - type: type, - compare: void 0 === compare ? null : compare - }; -}; -exports.startTransition = function (scope) { - var prevTransition = ReactSharedInternals.T, - currentTransition = {}; - ReactSharedInternals.T = currentTransition; - try { - var returnValue = scope(), - onStartTransitionFinish = ReactSharedInternals.S; - null !== onStartTransitionFinish && - onStartTransitionFinish(currentTransition, returnValue); - "object" === typeof returnValue && - null !== returnValue && - "function" === typeof returnValue.then && - returnValue.then(noop, reportGlobalError); - } catch (error) { - reportGlobalError(error); - } finally { - null !== prevTransition && - null !== currentTransition.types && - (prevTransition.types = currentTransition.types), - (ReactSharedInternals.T = prevTransition); - } -}; -exports.unstable_useCacheRefresh = function () { - return ReactSharedInternals.H.useCacheRefresh(); -}; -exports.use = function (usable) { - return ReactSharedInternals.H.use(usable); -}; -exports.useActionState = function (action, initialState, permalink) { - return ReactSharedInternals.H.useActionState(action, initialState, permalink); -}; -exports.useCallback = function (callback, deps) { - return ReactSharedInternals.H.useCallback(callback, deps); -}; -exports.useContext = function (Context) { - return ReactSharedInternals.H.useContext(Context); -}; -exports.useDebugValue = function () {}; -exports.useDeferredValue = function (value, initialValue) { - return ReactSharedInternals.H.useDeferredValue(value, initialValue); -}; -exports.useEffect = function (create, deps) { - return ReactSharedInternals.H.useEffect(create, deps); -}; -exports.useEffectEvent = function (callback) { - return ReactSharedInternals.H.useEffectEvent(callback); -}; -exports.useId = function () { - return ReactSharedInternals.H.useId(); -}; -exports.useImperativeHandle = function (ref, create, deps) { - return ReactSharedInternals.H.useImperativeHandle(ref, create, deps); -}; -exports.useInsertionEffect = function (create, deps) { - return ReactSharedInternals.H.useInsertionEffect(create, deps); -}; -exports.useLayoutEffect = function (create, deps) { - return ReactSharedInternals.H.useLayoutEffect(create, deps); -}; -exports.useMemo = function (create, deps) { - return ReactSharedInternals.H.useMemo(create, deps); -}; -exports.useOptimistic = function (passthrough, reducer) { - return ReactSharedInternals.H.useOptimistic(passthrough, reducer); -}; -exports.useReducer = function (reducer, initialArg, init) { - return ReactSharedInternals.H.useReducer(reducer, initialArg, init); -}; -exports.useRef = function (initialValue) { - return ReactSharedInternals.H.useRef(initialValue); -}; -exports.useState = function (initialState) { - return ReactSharedInternals.H.useState(initialState); -}; -exports.useSyncExternalStore = function ( - subscribe, - getSnapshot, - getServerSnapshot -) { - return ReactSharedInternals.H.useSyncExternalStore( - subscribe, - getSnapshot, - getServerSnapshot - ); -}; -exports.useTransition = function () { - return ReactSharedInternals.H.useTransition(); -}; -exports.version = "19.2.0"; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.react-server.development.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.react-server.development.js deleted file mode 100644 index 6d1588e9ac..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.react-server.development.js +++ /dev/null @@ -1,848 +0,0 @@ -/** - * @license React - * react.react-server.development.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -"production" !== process.env.NODE_ENV && - (function () { - function noop() {} - function getIteratorFn(maybeIterable) { - if (null === maybeIterable || "object" !== typeof maybeIterable) - return null; - maybeIterable = - (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || - maybeIterable["@@iterator"]; - return "function" === typeof maybeIterable ? maybeIterable : null; - } - function testStringCoercion(value) { - return "" + value; - } - function checkKeyStringCoercion(value) { - try { - testStringCoercion(value); - var JSCompiler_inline_result = !1; - } catch (e) { - JSCompiler_inline_result = !0; - } - if (JSCompiler_inline_result) { - JSCompiler_inline_result = console; - var JSCompiler_temp_const = JSCompiler_inline_result.error; - var JSCompiler_inline_result$jscomp$0 = - ("function" === typeof Symbol && - Symbol.toStringTag && - value[Symbol.toStringTag]) || - value.constructor.name || - "Object"; - JSCompiler_temp_const.call( - JSCompiler_inline_result, - "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", - JSCompiler_inline_result$jscomp$0 - ); - return testStringCoercion(value); - } - } - function getComponentNameFromType(type) { - if (null == type) return null; - if ("function" === typeof type) - return type.$$typeof === REACT_CLIENT_REFERENCE - ? null - : type.displayName || type.name || null; - if ("string" === typeof type) return type; - switch (type) { - case REACT_FRAGMENT_TYPE: - return "Fragment"; - case REACT_PROFILER_TYPE: - return "Profiler"; - case REACT_STRICT_MODE_TYPE: - return "StrictMode"; - case REACT_SUSPENSE_TYPE: - return "Suspense"; - case REACT_SUSPENSE_LIST_TYPE: - return "SuspenseList"; - case REACT_ACTIVITY_TYPE: - return "Activity"; - } - if ("object" === typeof type) - switch ( - ("number" === typeof type.tag && - console.error( - "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." - ), - type.$$typeof) - ) { - case REACT_PORTAL_TYPE: - return "Portal"; - case REACT_CONTEXT_TYPE: - return type.displayName || "Context"; - case REACT_CONSUMER_TYPE: - return (type._context.displayName || "Context") + ".Consumer"; - case REACT_FORWARD_REF_TYPE: - var innerType = type.render; - type = type.displayName; - type || - ((type = innerType.displayName || innerType.name || ""), - (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); - return type; - case REACT_MEMO_TYPE: - return ( - (innerType = type.displayName || null), - null !== innerType - ? innerType - : getComponentNameFromType(type.type) || "Memo" - ); - case REACT_LAZY_TYPE: - innerType = type._payload; - type = type._init; - try { - return getComponentNameFromType(type(innerType)); - } catch (x) {} - } - return null; - } - function getTaskName(type) { - if (type === REACT_FRAGMENT_TYPE) return "<>"; - if ( - "object" === typeof type && - null !== type && - type.$$typeof === REACT_LAZY_TYPE - ) - return "<...>"; - try { - var name = getComponentNameFromType(type); - return name ? "<" + name + ">" : "<...>"; - } catch (x) { - return "<...>"; - } - } - function getOwner() { - var dispatcher = ReactSharedInternals.A; - return null === dispatcher ? null : dispatcher.getOwner(); - } - function UnknownOwner() { - return Error("react-stack-top-frame"); - } - function hasValidKey(config) { - if (hasOwnProperty.call(config, "key")) { - var getter = Object.getOwnPropertyDescriptor(config, "key").get; - if (getter && getter.isReactWarning) return !1; - } - return void 0 !== config.key; - } - function defineKeyPropWarningGetter(props, displayName) { - function warnAboutAccessingKey() { - specialPropKeyWarningShown || - ((specialPropKeyWarningShown = !0), - console.error( - "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", - displayName - )); - } - warnAboutAccessingKey.isReactWarning = !0; - Object.defineProperty(props, "key", { - get: warnAboutAccessingKey, - configurable: !0 - }); - } - function elementRefGetterWithDeprecationWarning() { - var componentName = getComponentNameFromType(this.type); - didWarnAboutElementRef[componentName] || - ((didWarnAboutElementRef[componentName] = !0), - console.error( - "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." - )); - componentName = this.props.ref; - return void 0 !== componentName ? componentName : null; - } - function ReactElement(type, key, props, owner, debugStack, debugTask) { - var refProp = props.ref; - type = { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - props: props, - _owner: owner - }; - null !== (void 0 !== refProp ? refProp : null) - ? Object.defineProperty(type, "ref", { - enumerable: !1, - get: elementRefGetterWithDeprecationWarning - }) - : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); - type._store = {}; - Object.defineProperty(type._store, "validated", { - configurable: !1, - enumerable: !1, - writable: !0, - value: 0 - }); - Object.defineProperty(type, "_debugInfo", { - configurable: !1, - enumerable: !1, - writable: !0, - value: null - }); - Object.defineProperty(type, "_debugStack", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugStack - }); - Object.defineProperty(type, "_debugTask", { - configurable: !1, - enumerable: !1, - writable: !0, - value: debugTask - }); - Object.freeze && (Object.freeze(type.props), Object.freeze(type)); - return type; - } - function cloneAndReplaceKey(oldElement, newKey) { - newKey = ReactElement( - oldElement.type, - newKey, - oldElement.props, - oldElement._owner, - oldElement._debugStack, - oldElement._debugTask - ); - oldElement._store && - (newKey._store.validated = oldElement._store.validated); - return newKey; - } - function validateChildKeys(node) { - isValidElement(node) - ? node._store && (node._store.validated = 1) - : "object" === typeof node && - null !== node && - node.$$typeof === REACT_LAZY_TYPE && - ("fulfilled" === node._payload.status - ? isValidElement(node._payload.value) && - node._payload.value._store && - (node._payload.value._store.validated = 1) - : node._store && (node._store.validated = 1)); - } - function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); - } - function escape(key) { - var escaperLookup = { "=": "=0", ":": "=2" }; - return ( - "$" + - key.replace(/[=:]/g, function (match) { - return escaperLookup[match]; - }) - ); - } - function getElementKey(element, index) { - return "object" === typeof element && - null !== element && - null != element.key - ? (checkKeyStringCoercion(element.key), escape("" + element.key)) - : index.toString(36); - } - function resolveThenable(thenable) { - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - default: - switch ( - ("string" === typeof thenable.status - ? thenable.then(noop, noop) - : ((thenable.status = "pending"), - thenable.then( - function (fulfilledValue) { - "pending" === thenable.status && - ((thenable.status = "fulfilled"), - (thenable.value = fulfilledValue)); - }, - function (error) { - "pending" === thenable.status && - ((thenable.status = "rejected"), - (thenable.reason = error)); - } - )), - thenable.status) - ) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - } - } - throw thenable; - } - function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { - var type = typeof children; - if ("undefined" === type || "boolean" === type) children = null; - var invokeCallback = !1; - if (null === children) invokeCallback = !0; - else - switch (type) { - case "bigint": - case "string": - case "number": - invokeCallback = !0; - break; - case "object": - switch (children.$$typeof) { - case REACT_ELEMENT_TYPE: - case REACT_PORTAL_TYPE: - invokeCallback = !0; - break; - case REACT_LAZY_TYPE: - return ( - (invokeCallback = children._init), - mapIntoArray( - invokeCallback(children._payload), - array, - escapedPrefix, - nameSoFar, - callback - ) - ); - } - } - if (invokeCallback) { - invokeCallback = children; - callback = callback(invokeCallback); - var childKey = - "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar; - isArrayImpl(callback) - ? ((escapedPrefix = ""), - null != childKey && - (escapedPrefix = - childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), - mapIntoArray(callback, array, escapedPrefix, "", function (c) { - return c; - })) - : null != callback && - (isValidElement(callback) && - (null != callback.key && - ((invokeCallback && invokeCallback.key === callback.key) || - checkKeyStringCoercion(callback.key)), - (escapedPrefix = cloneAndReplaceKey( - callback, - escapedPrefix + - (null == callback.key || - (invokeCallback && invokeCallback.key === callback.key) - ? "" - : ("" + callback.key).replace( - userProvidedKeyEscapeRegex, - "$&/" - ) + "/") + - childKey - )), - "" !== nameSoFar && - null != invokeCallback && - isValidElement(invokeCallback) && - null == invokeCallback.key && - invokeCallback._store && - !invokeCallback._store.validated && - (escapedPrefix._store.validated = 2), - (callback = escapedPrefix)), - array.push(callback)); - return 1; - } - invokeCallback = 0; - childKey = "" === nameSoFar ? "." : nameSoFar + ":"; - if (isArrayImpl(children)) - for (var i = 0; i < children.length; i++) - (nameSoFar = children[i]), - (type = childKey + getElementKey(nameSoFar, i)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if (((i = getIteratorFn(children)), "function" === typeof i)) - for ( - i === children.entries && - (didWarnAboutMaps || - console.warn( - "Using Maps as children is not supported. Use an array of keyed ReactElements instead." - ), - (didWarnAboutMaps = !0)), - children = i.call(children), - i = 0; - !(nameSoFar = children.next()).done; - - ) - (nameSoFar = nameSoFar.value), - (type = childKey + getElementKey(nameSoFar, i++)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if ("object" === type) { - if ("function" === typeof children.then) - return mapIntoArray( - resolveThenable(children), - array, - escapedPrefix, - nameSoFar, - callback - ); - array = String(children); - throw Error( - "Objects are not valid as a React child (found: " + - ("[object Object]" === array - ? "object with keys {" + Object.keys(children).join(", ") + "}" - : array) + - "). If you meant to render a collection of children, use an array instead." - ); - } - return invokeCallback; - } - function mapChildren(children, func, context) { - if (null == children) return children; - var result = [], - count = 0; - mapIntoArray(children, result, "", "", function (child) { - return func.call(context, child, count++); - }); - return result; - } - function resolveDispatcher() { - var dispatcher = ReactSharedInternals.H; - null === dispatcher && - console.error( - "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." - ); - return dispatcher; - } - function lazyInitializer(payload) { - if (-1 === payload._status) { - var ioInfo = payload._ioInfo; - null != ioInfo && (ioInfo.start = ioInfo.end = performance.now()); - ioInfo = payload._result; - var thenable = ioInfo(); - thenable.then( - function (moduleObject) { - if (0 === payload._status || -1 === payload._status) { - payload._status = 1; - payload._result = moduleObject; - var _ioInfo = payload._ioInfo; - null != _ioInfo && (_ioInfo.end = performance.now()); - void 0 === thenable.status && - ((thenable.status = "fulfilled"), - (thenable.value = moduleObject)); - } - }, - function (error) { - if (0 === payload._status || -1 === payload._status) { - payload._status = 2; - payload._result = error; - var _ioInfo2 = payload._ioInfo; - null != _ioInfo2 && (_ioInfo2.end = performance.now()); - void 0 === thenable.status && - ((thenable.status = "rejected"), (thenable.reason = error)); - } - } - ); - ioInfo = payload._ioInfo; - if (null != ioInfo) { - ioInfo.value = thenable; - var displayName = thenable.displayName; - "string" === typeof displayName && (ioInfo.name = displayName); - } - -1 === payload._status && - ((payload._status = 0), (payload._result = thenable)); - } - if (1 === payload._status) - return ( - (ioInfo = payload._result), - void 0 === ioInfo && - console.error( - "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?", - ioInfo - ), - "default" in ioInfo || - console.error( - "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))", - ioInfo - ), - ioInfo.default - ); - throw payload._result; - } - function createCacheRoot() { - return new WeakMap(); - } - function createCacheNode() { - return { s: 0, v: void 0, o: null, p: null }; - } - var ReactSharedInternals = { - H: null, - A: null, - getCurrentStack: null, - recentlyCreatedOwnerStacks: 0 - }, - isArrayImpl = Array.isArray, - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), - MAYBE_ITERATOR_SYMBOL = Symbol.iterator, - REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), - hasOwnProperty = Object.prototype.hasOwnProperty, - assign = Object.assign, - createTask = console.createTask - ? console.createTask - : function () { - return null; - }, - createFakeCallStack = { - react_stack_bottom_frame: function (callStackForError) { - return callStackForError(); - } - }, - specialPropKeyWarningShown, - didWarnAboutOldJSXRuntime; - var didWarnAboutElementRef = {}; - var unknownOwnerDebugStack = - createFakeCallStack.react_stack_bottom_frame.bind( - createFakeCallStack, - UnknownOwner - )(); - var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); - var didWarnAboutMaps = !1, - userProvidedKeyEscapeRegex = /\/+/g; - exports.Children = { - map: mapChildren, - forEach: function (children, forEachFunc, forEachContext) { - mapChildren( - children, - function () { - forEachFunc.apply(this, arguments); - }, - forEachContext - ); - }, - count: function (children) { - var n = 0; - mapChildren(children, function () { - n++; - }); - return n; - }, - toArray: function (children) { - return ( - mapChildren(children, function (child) { - return child; - }) || [] - ); - }, - only: function (children) { - if (!isValidElement(children)) - throw Error( - "React.Children.only expected to receive a single React element child." - ); - return children; - } - }; - exports.Fragment = REACT_FRAGMENT_TYPE; - exports.Profiler = REACT_PROFILER_TYPE; - exports.StrictMode = REACT_STRICT_MODE_TYPE; - exports.Suspense = REACT_SUSPENSE_TYPE; - exports.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = - ReactSharedInternals; - exports.cache = function (fn) { - return function () { - var dispatcher = ReactSharedInternals.A; - if (!dispatcher) return fn.apply(null, arguments); - var fnMap = dispatcher.getCacheForType(createCacheRoot); - dispatcher = fnMap.get(fn); - void 0 === dispatcher && - ((dispatcher = createCacheNode()), fnMap.set(fn, dispatcher)); - fnMap = 0; - for (var l = arguments.length; fnMap < l; fnMap++) { - var arg = arguments[fnMap]; - if ( - "function" === typeof arg || - ("object" === typeof arg && null !== arg) - ) { - var objectCache = dispatcher.o; - null === objectCache && - (dispatcher.o = objectCache = new WeakMap()); - dispatcher = objectCache.get(arg); - void 0 === dispatcher && - ((dispatcher = createCacheNode()), - objectCache.set(arg, dispatcher)); - } else - (objectCache = dispatcher.p), - null === objectCache && (dispatcher.p = objectCache = new Map()), - (dispatcher = objectCache.get(arg)), - void 0 === dispatcher && - ((dispatcher = createCacheNode()), - objectCache.set(arg, dispatcher)); - } - if (1 === dispatcher.s) return dispatcher.v; - if (2 === dispatcher.s) throw dispatcher.v; - try { - var result = fn.apply(null, arguments); - fnMap = dispatcher; - fnMap.s = 1; - return (fnMap.v = result); - } catch (error) { - throw ( - ((result = dispatcher), (result.s = 2), (result.v = error), error) - ); - } - }; - }; - exports.cacheSignal = function () { - var dispatcher = ReactSharedInternals.A; - return dispatcher ? dispatcher.cacheSignal() : null; - }; - exports.captureOwnerStack = function () { - var getCurrentStack = ReactSharedInternals.getCurrentStack; - return null === getCurrentStack ? null : getCurrentStack(); - }; - exports.cloneElement = function (element, config, children) { - if (null === element || void 0 === element) - throw Error( - "The argument must be a React element, but you passed " + - element + - "." - ); - var props = assign({}, element.props), - key = element.key, - owner = element._owner; - if (null != config) { - var JSCompiler_inline_result; - a: { - if ( - hasOwnProperty.call(config, "ref") && - (JSCompiler_inline_result = Object.getOwnPropertyDescriptor( - config, - "ref" - ).get) && - JSCompiler_inline_result.isReactWarning - ) { - JSCompiler_inline_result = !1; - break a; - } - JSCompiler_inline_result = void 0 !== config.ref; - } - JSCompiler_inline_result && (owner = getOwner()); - hasValidKey(config) && - (checkKeyStringCoercion(config.key), (key = "" + config.key)); - for (propName in config) - !hasOwnProperty.call(config, propName) || - "key" === propName || - "__self" === propName || - "__source" === propName || - ("ref" === propName && void 0 === config.ref) || - (props[propName] = config[propName]); - } - var propName = arguments.length - 2; - if (1 === propName) props.children = children; - else if (1 < propName) { - JSCompiler_inline_result = Array(propName); - for (var i = 0; i < propName; i++) - JSCompiler_inline_result[i] = arguments[i + 2]; - props.children = JSCompiler_inline_result; - } - props = ReactElement( - element.type, - key, - props, - owner, - element._debugStack, - element._debugTask - ); - for (key = 2; key < arguments.length; key++) - validateChildKeys(arguments[key]); - return props; - }; - exports.createElement = function (type, config, children) { - for (var i = 2; i < arguments.length; i++) - validateChildKeys(arguments[i]); - i = {}; - var key = null; - if (null != config) - for (propName in (didWarnAboutOldJSXRuntime || - !("__self" in config) || - "key" in config || - ((didWarnAboutOldJSXRuntime = !0), - console.warn( - "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform" - )), - hasValidKey(config) && - (checkKeyStringCoercion(config.key), (key = "" + config.key)), - config)) - hasOwnProperty.call(config, propName) && - "key" !== propName && - "__self" !== propName && - "__source" !== propName && - (i[propName] = config[propName]); - var childrenLength = arguments.length - 2; - if (1 === childrenLength) i.children = children; - else if (1 < childrenLength) { - for ( - var childArray = Array(childrenLength), _i = 0; - _i < childrenLength; - _i++ - ) - childArray[_i] = arguments[_i + 2]; - Object.freeze && Object.freeze(childArray); - i.children = childArray; - } - if (type && type.defaultProps) - for (propName in ((childrenLength = type.defaultProps), childrenLength)) - void 0 === i[propName] && (i[propName] = childrenLength[propName]); - key && - defineKeyPropWarningGetter( - i, - "function" === typeof type - ? type.displayName || type.name || "Unknown" - : type - ); - var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; - return ReactElement( - type, - key, - i, - getOwner(), - propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack, - propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask - ); - }; - exports.createRef = function () { - var refObject = { current: null }; - Object.seal(refObject); - return refObject; - }; - exports.forwardRef = function (render) { - null != render && render.$$typeof === REACT_MEMO_TYPE - ? console.error( - "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))." - ) - : "function" !== typeof render - ? console.error( - "forwardRef requires a render function but was given %s.", - null === render ? "null" : typeof render - ) - : 0 !== render.length && - 2 !== render.length && - console.error( - "forwardRef render functions accept exactly two parameters: props and ref. %s", - 1 === render.length - ? "Did you forget to use the ref parameter?" - : "Any additional parameter will be undefined." - ); - null != render && - null != render.defaultProps && - console.error( - "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?" - ); - var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render }, - ownName; - Object.defineProperty(elementType, "displayName", { - enumerable: !1, - configurable: !0, - get: function () { - return ownName; - }, - set: function (name) { - ownName = name; - render.name || - render.displayName || - (Object.defineProperty(render, "name", { value: name }), - (render.displayName = name)); - } - }); - return elementType; - }; - exports.isValidElement = isValidElement; - exports.lazy = function (ctor) { - ctor = { _status: -1, _result: ctor }; - var lazyType = { - $$typeof: REACT_LAZY_TYPE, - _payload: ctor, - _init: lazyInitializer - }, - ioInfo = { - name: "lazy", - start: -1, - end: -1, - value: null, - owner: null, - debugStack: Error("react-stack-top-frame"), - debugTask: console.createTask ? console.createTask("lazy()") : null - }; - ctor._ioInfo = ioInfo; - lazyType._debugInfo = [{ awaited: ioInfo }]; - return lazyType; - }; - exports.memo = function (type, compare) { - null == type && - console.error( - "memo: The first argument must be a component. Instead received: %s", - null === type ? "null" : typeof type - ); - compare = { - $$typeof: REACT_MEMO_TYPE, - type: type, - compare: void 0 === compare ? null : compare - }; - var ownName; - Object.defineProperty(compare, "displayName", { - enumerable: !1, - configurable: !0, - get: function () { - return ownName; - }, - set: function (name) { - ownName = name; - type.name || - type.displayName || - (Object.defineProperty(type, "name", { value: name }), - (type.displayName = name)); - } - }); - return compare; - }; - exports.use = function (usable) { - return resolveDispatcher().use(usable); - }; - exports.useCallback = function (callback, deps) { - return resolveDispatcher().useCallback(callback, deps); - }; - exports.useDebugValue = function (value, formatterFn) { - return resolveDispatcher().useDebugValue(value, formatterFn); - }; - exports.useId = function () { - return resolveDispatcher().useId(); - }; - exports.useMemo = function (create, deps) { - return resolveDispatcher().useMemo(create, deps); - }; - exports.version = "19.2.0"; - })(); diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.react-server.production.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.react-server.production.js deleted file mode 100644 index cb7b63b319..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.react-server.production.js +++ /dev/null @@ -1,423 +0,0 @@ -/** - * @license React - * react.react-server.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -var ReactSharedInternals = { H: null, A: null }; -function formatProdErrorMessage(code) { - var url = "https://react.dev/errors/" + code; - if (1 < arguments.length) { - url += "?args[]=" + encodeURIComponent(arguments[1]); - for (var i = 2; i < arguments.length; i++) - url += "&args[]=" + encodeURIComponent(arguments[i]); - } - return ( - "Minified React error #" + - code + - "; visit " + - url + - " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." - ); -} -var isArrayImpl = Array.isArray; -function noop() {} -var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - MAYBE_ITERATOR_SYMBOL = Symbol.iterator; -function getIteratorFn(maybeIterable) { - if (null === maybeIterable || "object" !== typeof maybeIterable) return null; - maybeIterable = - (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || - maybeIterable["@@iterator"]; - return "function" === typeof maybeIterable ? maybeIterable : null; -} -var hasOwnProperty = Object.prototype.hasOwnProperty, - assign = Object.assign; -function ReactElement(type, key, props) { - var refProp = props.ref; - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - ref: void 0 !== refProp ? refProp : null, - props: props - }; -} -function cloneAndReplaceKey(oldElement, newKey) { - return ReactElement(oldElement.type, newKey, oldElement.props); -} -function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); -} -function escape(key) { - var escaperLookup = { "=": "=0", ":": "=2" }; - return ( - "$" + - key.replace(/[=:]/g, function (match) { - return escaperLookup[match]; - }) - ); -} -var userProvidedKeyEscapeRegex = /\/+/g; -function getElementKey(element, index) { - return "object" === typeof element && null !== element && null != element.key - ? escape("" + element.key) - : index.toString(36); -} -function resolveThenable(thenable) { - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - default: - switch ( - ("string" === typeof thenable.status - ? thenable.then(noop, noop) - : ((thenable.status = "pending"), - thenable.then( - function (fulfilledValue) { - "pending" === thenable.status && - ((thenable.status = "fulfilled"), - (thenable.value = fulfilledValue)); - }, - function (error) { - "pending" === thenable.status && - ((thenable.status = "rejected"), (thenable.reason = error)); - } - )), - thenable.status) - ) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - } - } - throw thenable; -} -function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { - var type = typeof children; - if ("undefined" === type || "boolean" === type) children = null; - var invokeCallback = !1; - if (null === children) invokeCallback = !0; - else - switch (type) { - case "bigint": - case "string": - case "number": - invokeCallback = !0; - break; - case "object": - switch (children.$$typeof) { - case REACT_ELEMENT_TYPE: - case REACT_PORTAL_TYPE: - invokeCallback = !0; - break; - case REACT_LAZY_TYPE: - return ( - (invokeCallback = children._init), - mapIntoArray( - invokeCallback(children._payload), - array, - escapedPrefix, - nameSoFar, - callback - ) - ); - } - } - if (invokeCallback) - return ( - (callback = callback(children)), - (invokeCallback = - "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar), - isArrayImpl(callback) - ? ((escapedPrefix = ""), - null != invokeCallback && - (escapedPrefix = - invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), - mapIntoArray(callback, array, escapedPrefix, "", function (c) { - return c; - })) - : null != callback && - (isValidElement(callback) && - (callback = cloneAndReplaceKey( - callback, - escapedPrefix + - (null == callback.key || - (children && children.key === callback.key) - ? "" - : ("" + callback.key).replace( - userProvidedKeyEscapeRegex, - "$&/" - ) + "/") + - invokeCallback - )), - array.push(callback)), - 1 - ); - invokeCallback = 0; - var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":"; - if (isArrayImpl(children)) - for (var i = 0; i < children.length; i++) - (nameSoFar = children[i]), - (type = nextNamePrefix + getElementKey(nameSoFar, i)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if (((i = getIteratorFn(children)), "function" === typeof i)) - for ( - children = i.call(children), i = 0; - !(nameSoFar = children.next()).done; - - ) - (nameSoFar = nameSoFar.value), - (type = nextNamePrefix + getElementKey(nameSoFar, i++)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if ("object" === type) { - if ("function" === typeof children.then) - return mapIntoArray( - resolveThenable(children), - array, - escapedPrefix, - nameSoFar, - callback - ); - array = String(children); - throw Error( - formatProdErrorMessage( - 31, - "[object Object]" === array - ? "object with keys {" + Object.keys(children).join(", ") + "}" - : array - ) - ); - } - return invokeCallback; -} -function mapChildren(children, func, context) { - if (null == children) return children; - var result = [], - count = 0; - mapIntoArray(children, result, "", "", function (child) { - return func.call(context, child, count++); - }); - return result; -} -function lazyInitializer(payload) { - if (-1 === payload._status) { - var ctor = payload._result; - ctor = ctor(); - ctor.then( - function (moduleObject) { - if (0 === payload._status || -1 === payload._status) - (payload._status = 1), (payload._result = moduleObject); - }, - function (error) { - if (0 === payload._status || -1 === payload._status) - (payload._status = 2), (payload._result = error); - } - ); - -1 === payload._status && ((payload._status = 0), (payload._result = ctor)); - } - if (1 === payload._status) return payload._result.default; - throw payload._result; -} -function createCacheRoot() { - return new WeakMap(); -} -function createCacheNode() { - return { s: 0, v: void 0, o: null, p: null }; -} -exports.Children = { - map: mapChildren, - forEach: function (children, forEachFunc, forEachContext) { - mapChildren( - children, - function () { - forEachFunc.apply(this, arguments); - }, - forEachContext - ); - }, - count: function (children) { - var n = 0; - mapChildren(children, function () { - n++; - }); - return n; - }, - toArray: function (children) { - return ( - mapChildren(children, function (child) { - return child; - }) || [] - ); - }, - only: function (children) { - if (!isValidElement(children)) throw Error(formatProdErrorMessage(143)); - return children; - } -}; -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.Profiler = REACT_PROFILER_TYPE; -exports.StrictMode = REACT_STRICT_MODE_TYPE; -exports.Suspense = REACT_SUSPENSE_TYPE; -exports.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = - ReactSharedInternals; -exports.cache = function (fn) { - return function () { - var dispatcher = ReactSharedInternals.A; - if (!dispatcher) return fn.apply(null, arguments); - var fnMap = dispatcher.getCacheForType(createCacheRoot); - dispatcher = fnMap.get(fn); - void 0 === dispatcher && - ((dispatcher = createCacheNode()), fnMap.set(fn, dispatcher)); - fnMap = 0; - for (var l = arguments.length; fnMap < l; fnMap++) { - var arg = arguments[fnMap]; - if ( - "function" === typeof arg || - ("object" === typeof arg && null !== arg) - ) { - var objectCache = dispatcher.o; - null === objectCache && (dispatcher.o = objectCache = new WeakMap()); - dispatcher = objectCache.get(arg); - void 0 === dispatcher && - ((dispatcher = createCacheNode()), objectCache.set(arg, dispatcher)); - } else - (objectCache = dispatcher.p), - null === objectCache && (dispatcher.p = objectCache = new Map()), - (dispatcher = objectCache.get(arg)), - void 0 === dispatcher && - ((dispatcher = createCacheNode()), - objectCache.set(arg, dispatcher)); - } - if (1 === dispatcher.s) return dispatcher.v; - if (2 === dispatcher.s) throw dispatcher.v; - try { - var result = fn.apply(null, arguments); - fnMap = dispatcher; - fnMap.s = 1; - return (fnMap.v = result); - } catch (error) { - throw ((result = dispatcher), (result.s = 2), (result.v = error), error); - } - }; -}; -exports.cacheSignal = function () { - var dispatcher = ReactSharedInternals.A; - return dispatcher ? dispatcher.cacheSignal() : null; -}; -exports.captureOwnerStack = function () { - return null; -}; -exports.cloneElement = function (element, config, children) { - if (null === element || void 0 === element) - throw Error(formatProdErrorMessage(267, element)); - var props = assign({}, element.props), - key = element.key; - if (null != config) - for (propName in (void 0 !== config.key && (key = "" + config.key), config)) - !hasOwnProperty.call(config, propName) || - "key" === propName || - "__self" === propName || - "__source" === propName || - ("ref" === propName && void 0 === config.ref) || - (props[propName] = config[propName]); - var propName = arguments.length - 2; - if (1 === propName) props.children = children; - else if (1 < propName) { - for (var childArray = Array(propName), i = 0; i < propName; i++) - childArray[i] = arguments[i + 2]; - props.children = childArray; - } - return ReactElement(element.type, key, props); -}; -exports.createElement = function (type, config, children) { - var propName, - props = {}, - key = null; - if (null != config) - for (propName in (void 0 !== config.key && (key = "" + config.key), config)) - hasOwnProperty.call(config, propName) && - "key" !== propName && - "__self" !== propName && - "__source" !== propName && - (props[propName] = config[propName]); - var childrenLength = arguments.length - 2; - if (1 === childrenLength) props.children = children; - else if (1 < childrenLength) { - for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++) - childArray[i] = arguments[i + 2]; - props.children = childArray; - } - if (type && type.defaultProps) - for (propName in ((childrenLength = type.defaultProps), childrenLength)) - void 0 === props[propName] && - (props[propName] = childrenLength[propName]); - return ReactElement(type, key, props); -}; -exports.createRef = function () { - return { current: null }; -}; -exports.forwardRef = function (render) { - return { $$typeof: REACT_FORWARD_REF_TYPE, render: render }; -}; -exports.isValidElement = isValidElement; -exports.lazy = function (ctor) { - return { - $$typeof: REACT_LAZY_TYPE, - _payload: { _status: -1, _result: ctor }, - _init: lazyInitializer - }; -}; -exports.memo = function (type, compare) { - return { - $$typeof: REACT_MEMO_TYPE, - type: type, - compare: void 0 === compare ? null : compare - }; -}; -exports.use = function (usable) { - return ReactSharedInternals.H.use(usable); -}; -exports.useCallback = function (callback, deps) { - return ReactSharedInternals.H.useCallback(callback, deps); -}; -exports.useDebugValue = function () {}; -exports.useId = function () { - return ReactSharedInternals.H.useId(); -}; -exports.useMemo = function (create, deps) { - return ReactSharedInternals.H.useMemo(create, deps); -}; -exports.version = "19.2.0"; diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/compiler-runtime.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/compiler-runtime.js deleted file mode 100644 index ab6aabb0a9..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/compiler-runtime.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -'use strict'; - -if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react-compiler-runtime.production.js'); -} else { - module.exports = require('./cjs/react-compiler-runtime.development.js'); -} diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/index.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/index.js deleted file mode 100644 index d830d7a2f9..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react.production.js'); -} else { - module.exports = require('./cjs/react.development.js'); -} diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-dev-runtime.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-dev-runtime.js deleted file mode 100644 index 0a80857d2d..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-dev-runtime.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react-jsx-dev-runtime.production.js'); -} else { - module.exports = require('./cjs/react-jsx-dev-runtime.development.js'); -} diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-dev-runtime.react-server.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-dev-runtime.react-server.js deleted file mode 100644 index d11e6e82d0..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-dev-runtime.react-server.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react-jsx-dev-runtime.react-server.production.js'); -} else { - module.exports = require('./cjs/react-jsx-dev-runtime.react-server.development.js'); -} diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js deleted file mode 100644 index 8679b72159..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react-jsx-runtime.production.js'); -} else { - module.exports = require('./cjs/react-jsx-runtime.development.js'); -} diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.react-server.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.react-server.js deleted file mode 100644 index 2d23c8c344..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.react-server.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react-jsx-runtime.react-server.production.js'); -} else { - module.exports = require('./cjs/react-jsx-runtime.react-server.development.js'); -} diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/package.json b/node_modules/.pnpm/react@19.2.0/node_modules/react/package.json deleted file mode 100644 index ece7bd3190..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "react", - "description": "React is a JavaScript library for building user interfaces.", - "keywords": [ - "react" - ], - "version": "19.2.0", - "homepage": "https://react.dev/", - "bugs": "https://github.com/facebook/react/issues", - "license": "MIT", - "files": [ - "LICENSE", - "README.md", - "index.js", - "cjs/", - "compiler-runtime.js", - "jsx-runtime.js", - "jsx-runtime.react-server.js", - "jsx-dev-runtime.js", - "jsx-dev-runtime.react-server.js", - "react.react-server.js" - ], - "main": "index.js", - "exports": { - ".": { - "react-server": "./react.react-server.js", - "default": "./index.js" - }, - "./package.json": "./package.json", - "./jsx-runtime": { - "react-server": "./jsx-runtime.react-server.js", - "default": "./jsx-runtime.js" - }, - "./jsx-dev-runtime": { - "react-server": "./jsx-dev-runtime.react-server.js", - "default": "./jsx-dev-runtime.js" - }, - "./compiler-runtime": { - "react-server": "./compiler-runtime.js", - "default": "./compiler-runtime.js" - } - }, - "repository": { - "type": "git", - "url": "https://github.com/facebook/react.git", - "directory": "packages/react" - }, - "engines": { - "node": ">=0.10.0" - } -} \ No newline at end of file diff --git a/node_modules/.pnpm/react@19.2.0/node_modules/react/react.react-server.js b/node_modules/.pnpm/react@19.2.0/node_modules/react/react.react-server.js deleted file mode 100644 index c66e3b7636..0000000000 --- a/node_modules/.pnpm/react@19.2.0/node_modules/react/react.react-server.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react.react-server.production.js'); -} else { - module.exports = require('./cjs/react.react-server.development.js'); -} diff --git a/node_modules/embla-carousel-autoplay b/node_modules/embla-carousel-autoplay deleted file mode 120000 index a653f304af..0000000000 --- a/node_modules/embla-carousel-autoplay +++ /dev/null @@ -1 +0,0 @@ -.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay \ No newline at end of file diff --git a/node_modules/embla-carousel-react b/node_modules/embla-carousel-react deleted file mode 120000 index 7ae3795080..0000000000 --- a/node_modules/embla-carousel-react +++ /dev/null @@ -1 +0,0 @@ -.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react \ No newline at end of file diff --git a/package.json b/package.json deleted file mode 100644 index 221aa2646b..0000000000 --- a/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "dependencies": { - "embla-carousel-autoplay": "^8.6.0", - "embla-carousel-react": "^8.6.0" - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 78670e94f8..0000000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,60 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - embla-carousel-autoplay: - specifier: ^8.6.0 - version: 8.6.0(embla-carousel@8.6.0) - embla-carousel-react: - specifier: ^8.6.0 - version: 8.6.0(react@19.2.0) - -packages: - - embla-carousel-autoplay@8.6.0: - resolution: {integrity: sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==} - peerDependencies: - embla-carousel: 8.6.0 - - embla-carousel-react@8.6.0: - resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} - peerDependencies: - react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - - embla-carousel-reactive-utils@8.6.0: - resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} - peerDependencies: - embla-carousel: 8.6.0 - - embla-carousel@8.6.0: - resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} - - react@19.2.0: - resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} - engines: {node: '>=0.10.0'} - -snapshots: - - embla-carousel-autoplay@8.6.0(embla-carousel@8.6.0): - dependencies: - embla-carousel: 8.6.0 - - embla-carousel-react@8.6.0(react@19.2.0): - dependencies: - embla-carousel: 8.6.0 - embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) - react: 19.2.0 - - embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): - dependencies: - embla-carousel: 8.6.0 - - embla-carousel@8.6.0: {} - - react@19.2.0: {} diff --git a/web/app/components/explore/banner/banner.tsx b/web/app/components/explore/banner/banner.tsx index c917f64734..12616b73d9 100644 --- a/web/app/components/explore/banner/banner.tsx +++ b/web/app/components/explore/banner/banner.tsx @@ -11,14 +11,14 @@ const MIN_LOADING_HEIGHT = 168 const Banner: FC = () => { const { locale } = useI18N() - const { data: banners, isLoading } = useGetBanners(locale) + const { data: banners, isLoading, isError } = useGetBanners(locale) const enabledBanners = useMemo( () => banners?.filter((banner: BannerData) => banner.status === 'enabled') ?? [], [banners], ) - if (isLoading || !banners) { + if (isLoading) { return (
{ ) } - if (enabledBanners.length === 0) + if (isError || enabledBanners.length === 0) return null return ( diff --git a/web/package.json b/web/package.json index 366dc99e6f..7ac0f2956d 100644 --- a/web/package.json +++ b/web/package.json @@ -78,6 +78,8 @@ "echarts": "^5.5.1", "echarts-for-react": "^3.0.2", "elkjs": "^0.9.3", + "embla-carousel-autoplay": "^8.6.0", + "embla-carousel-react": "^8.6.0", "emoji-mart": "^5.5.2", "fast-deep-equal": "^3.1.3", "html-to-image": "1.11.11", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 28758f1142..dc29093422 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -154,6 +154,12 @@ importers: elkjs: specifier: ^0.9.3 version: 0.9.3 + embla-carousel-autoplay: + specifier: ^8.6.0 + version: 8.6.0(embla-carousel@8.6.0) + embla-carousel-react: + specifier: ^8.6.0 + version: 8.6.0(react@19.1.1) emoji-mart: specifier: ^5.5.2 version: 5.6.0 @@ -4872,6 +4878,24 @@ packages: elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + embla-carousel-autoplay@8.6.0: + resolution: {integrity: sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-react@8.6.0: + resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} + peerDependencies: + react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + + embla-carousel-reactive-utils@8.6.0: + resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel@8.6.0: + resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} + emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -13873,6 +13897,22 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 + embla-carousel-autoplay@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-react@8.6.0(react@19.1.1): + dependencies: + embla-carousel: 8.6.0 + embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) + react: 19.1.1 + + embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel@8.6.0: {} + emittery@0.13.1: {} emoji-mart@5.6.0: {}