mirror of https://github.com/langgenius/dify.git
chore: update dependencies and improve explore page banner
This commit is contained in:
parent
5653309080
commit
67bb14d3ee
|
|
@ -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
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../embla-carousel@8.6.0/node_modules/embla-carousel
|
||||
|
|
@ -1,233 +0,0 @@
|
|||
<br />
|
||||
<div align="center">
|
||||
<p align="center">
|
||||
<a href="https://www.embla-carousel.com/"><img width="100" height="100" src="https://www.embla-carousel.com/embla-logo.svg" alt="Embla Carousel">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/npm/l/embla-carousel?color=%238ab4f8"></a>
|
||||
<a href="https://www.npmjs.com/package/embla-carousel-autoplay"><img src="https://img.shields.io/npm/v/embla-carousel-autoplay.svg?color=%23c1a8e2"></a>
|
||||
<a href="https://github.com/davidjerleke/embla-carousel/actions?query=workflow%3A%22Continuous+Integration%22"><img src="https://img.shields.io/github/actions/workflow/status/davidjerleke/embla-carousel/cd.yml?color=%238ab4f8"></a>
|
||||
<a href="https://prettier.io"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?color=%23c1a8e2"></a>
|
||||
<a href="https://bundlephobia.com/result?p=embla-carousel-autoplay@latest"><img src="https://img.shields.io/bundlephobia/minzip/embla-carousel-autoplay?color=%238ab4f8&label=gzip%20size">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<strong>
|
||||
<h2 align="center">Embla Carousel Autoplay</h2>
|
||||
</strong>
|
||||
|
||||
<p align="center">
|
||||
<strong>Embla Carousel</strong> is a bare bones carousel library with great fluid motion and awesome swipe precision. It's library agnostic, dependency free and 100% open source.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/examples/predefined/">Examples</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/examples/generator/">Generator</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/get-started/#choose-installation-type">Installation</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Ready for</h2>
|
||||
</strong>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.embla-carousel.com/get-started/module/">
|
||||
<img src="https://www.embla-carousel.com/javascript-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/module/">
|
||||
<img src="https://www.embla-carousel.com/typescript-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/react/">
|
||||
<img src="https://www.embla-carousel.com/react-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/vue/">
|
||||
<img src="https://www.embla-carousel.com/vue-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/svelte/">
|
||||
<img src="https://www.embla-carousel.com/svelte-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/solid/">
|
||||
<img src="https://www.embla-carousel.com/solid-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://github.com/donaldxdonald/embla-carousel-angular">
|
||||
<img src="https://www.embla-carousel.com/angular-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Contributors</h2>
|
||||
</strong>
|
||||
<p align="center">
|
||||
Thank you to all contributors for making <a href="https://www.embla-carousel.com/">Embla Carousel</a> awesome! <a href="https://github.com/davidjerleke/embla-carousel/blob/master/CONTRIBUTING.md">Contributions</a> are welcome.
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/davidjerleke">
|
||||
<img src="https://avatars2.githubusercontent.com/u/11529148?s=120&v=4" title="davidjerleke" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Ronit-gurjar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/92150685?s=120&v=4" title="Ronit-gurjar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/zaaakher">
|
||||
<img src="https://avatars2.githubusercontent.com/u/46135573?s=120&v=4" title="zaaakher" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/xiel">
|
||||
<img src="https://avatars2.githubusercontent.com/u/615522?s=120&v=4" title="xiel" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/javiergonzalezGenially">
|
||||
<img src="https://avatars2.githubusercontent.com/u/78730098?s=120&v=4" title="javiergonzalezGenially" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/meirroth">
|
||||
<img src="https://avatars2.githubusercontent.com/u/12494197?s=120&v=4" title="meirroth" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/hamidrezahanafi">
|
||||
<img src="https://avatars2.githubusercontent.com/u/91487491?s=120&v=4" title="hamidrezahanafi" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/negezor">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9392723?s=120&v=4" title="negezor" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/th-km">
|
||||
<img src="https://avatars2.githubusercontent.com/u/35410212?s=120&v=4" title="th-km" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/openscript">
|
||||
<img src="https://avatars2.githubusercontent.com/u/1105080?s=120&v=4" title="openscript" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/nwidynski">
|
||||
<img src="https://avatars2.githubusercontent.com/u/25958801?s=120&v=4" title="nwidynski" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/wopian">
|
||||
<img src="https://avatars2.githubusercontent.com/u/3440094?s=120&v=4" title="wopian" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/horseeyephil">
|
||||
<img src="https://avatars2.githubusercontent.com/u/32337092?s=120&v=4" title="horseeyephil" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/pipisasa">
|
||||
<img src="https://avatars2.githubusercontent.com/u/54534600?s=120&v=4" title="pipisasa" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ranno-lauri">
|
||||
<img src="https://avatars2.githubusercontent.com/u/87007115?s=120&v=4" title="ranno-lauri" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ruijdacd">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9107610?s=120&v=4" title="ruijdacd" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/rojadesign">
|
||||
<img src="https://avatars2.githubusercontent.com/u/35687281?s=120&v=4" title="rojadesign" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sadeghbarati">
|
||||
<img src="https://avatars2.githubusercontent.com/u/17789047?s=120&v=4" title="sadeghbarati" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/S-Shingler">
|
||||
<img src="https://avatars2.githubusercontent.com/u/48463809?s=120&v=4" title="S-Shingler" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Yonom">
|
||||
<img src="https://avatars2.githubusercontent.com/u/1394504?s=120&v=4" title="Yonom" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/smultar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/6223536?s=120&v=4" title="smultar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/dev-suraj-kumar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/184739775?s=120&v=4" title="dev-suraj-kumar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Matoseb">
|
||||
<img src="https://avatars2.githubusercontent.com/u/24431250?s=120&v=4" title="Matoseb" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/tlo-johnson">
|
||||
<img src="https://avatars2.githubusercontent.com/u/8763144?s=120&v=4" title="tlo-johnson" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/yasuhiro-yamamoto">
|
||||
<img src="https://avatars2.githubusercontent.com/u/25109330?s=120&v=4" title="yasuhiro-yamamoto" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/anzbert">
|
||||
<img src="https://avatars2.githubusercontent.com/u/38823700?s=120&v=4" title="anzbert" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sarussss">
|
||||
<img src="https://avatars2.githubusercontent.com/u/15656996?s=120&v=4" title="sarussss" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/silllli">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9334305?s=120&v=4" title="silllli" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/nikrowell">
|
||||
<img src="https://avatars2.githubusercontent.com/u/260039?s=120&v=4" title="nikrowell" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/mujahidfa">
|
||||
<img src="https://avatars2.githubusercontent.com/u/17759705?s=120&v=4" title="mujahidfa" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Mitch-At-Work">
|
||||
<img src="https://avatars2.githubusercontent.com/u/99835933?s=120&v=4" title="Mitch-At-Work" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/romellem">
|
||||
<img src="https://avatars2.githubusercontent.com/u/8504000?s=120&v=4" title="romellem" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/junlarsen">
|
||||
<img src="https://avatars2.githubusercontent.com/u/42585241?s=120&v=4" title="junlarsen" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/LucasMariniFalbo">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9245477?s=120&v=4" title="LucasMariniFalbo" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/LiamMartens">
|
||||
<img src="https://avatars2.githubusercontent.com/u/5265324?s=120&v=4" title="LiamMartens" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/S1r-Lanzelot">
|
||||
<img src="https://avatars2.githubusercontent.com/u/4487160?s=120&v=4" title="S1r-Lanzelot" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ishaqibrahimbot">
|
||||
<img src="https://avatars2.githubusercontent.com/u/74908398?s=120&v=4" title="ishaqibrahimbot" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/fcasibu">
|
||||
<img src="https://avatars2.githubusercontent.com/u/75290989?s=120&v=4" title="fcasibu" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/cundd">
|
||||
<img src="https://avatars2.githubusercontent.com/u/743122?s=120&v=4" title="cundd" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sedlukha">
|
||||
<img src="https://avatars2.githubusercontent.com/u/14075940?s=120&v=4" title="sedlukha" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/allen-garvey">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9314727?s=120&v=4" title="allen-garvey" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/lesha1201">
|
||||
<img src="https://avatars2.githubusercontent.com/u/10157660?s=120&v=4" title="lesha1201" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/SaizFerri">
|
||||
<img src="https://avatars2.githubusercontent.com/u/19834971?s=120&v=4" title="SaizFerri" width="50" height="50" style="max-width: 100%" />
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Special Thanks</h2>
|
||||
</strong>
|
||||
<p align="center">
|
||||
<sup>
|
||||
<a href="https://github.com/gunnarx2">gunnarx2</a> - React wrapper <a href="https://www.embla-carousel.com/get-started/react/">useEmblaCarousel</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/LiamMartens">LiamMartens</a> - Solid wrapper <a href="https://www.embla-carousel.com/get-started/solid/">createEmblaCarousel</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/donaldxdonald">donaldxdonald</a>, <a href="https://github.com/zip-fa">zip-fa</a>, <a href="https://github.com/JeanMeche">JeanMeche</a> - Angular wrapper <a href="https://github.com/donaldxdonald/embla-carousel-angular?tab=readme-ov-file#installation">EmblaCarouselDirective</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/xiel">xiel</a> - Plugin <a href="https://github.com/xiel/embla-carousel-wheel-gestures">Embla Carousel Wheel Gestures</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/zaaakher">zaaakher</a> - Contributing <a href="https://github.com/davidjerleke/embla-carousel/blob/master/CONTRIBUTING.md">guidelines</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/sarussss">sarussss</a> - Answering questions.
|
||||
</sup>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<h2 align="center">Open Source</h2>
|
||||
|
||||
<p align="center">
|
||||
Embla is <a href="https://github.com/davidjerleke/embla-carousel/blob/master/LICENSE">MIT licensed</a> 💖.<br><br>
|
||||
<sup>Embla Carousel - Copyright © 2019-present.</sup><br />
|
||||
<sup>Package created by David Jerleke.</sup>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>· · ·</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Thanks <a href="https://www.browserstack.com">BrowserStack</a>.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.browserstack.com">
|
||||
<img src="https://www.embla-carousel.com/browserstack-logo.svg" width="45" height="45" />
|
||||
</a>
|
||||
</p>
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,2 +0,0 @@
|
|||
export { AutoplayType, AutoplayOptionsType } from './components/Autoplay';
|
||||
export { default } from './components/Autoplay';
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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}));
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,2 +0,0 @@
|
|||
export { AutoplayType, AutoplayOptionsType } from './components/Autoplay.js';
|
||||
export { default } from './components/Autoplay.js';
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
export { AutoplayType, AutoplayOptionsType } from './components/Autoplay';
|
||||
export { default } from './components/Autoplay';
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../embla-carousel@8.6.0/node_modules/embla-carousel
|
||||
|
|
@ -1,233 +0,0 @@
|
|||
<br />
|
||||
<div align="center">
|
||||
<p align="center">
|
||||
<a href="https://www.embla-carousel.com/"><img width="100" height="100" src="https://www.embla-carousel.com/embla-logo.svg" alt="Embla Carousel">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/npm/l/embla-carousel?color=%238ab4f8"></a>
|
||||
<a href="https://www.npmjs.com/package/embla-carousel-react"><img src="https://img.shields.io/npm/v/embla-carousel-react.svg?color=%23c1a8e2"></a>
|
||||
<a href="https://github.com/davidjerleke/embla-carousel/actions?query=workflow%3A%22Continuous+Integration%22"><img src="https://img.shields.io/github/actions/workflow/status/davidjerleke/embla-carousel/cd.yml?color=%238ab4f8"></a>
|
||||
<a href="https://prettier.io"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?color=%23c1a8e2"></a>
|
||||
<a href="https://bundlephobia.com/result?p=embla-carousel-react@latest"><img src="https://img.shields.io/bundlephobia/minzip/embla-carousel-react?color=%238ab4f8&label=gzip%20size">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<strong>
|
||||
<h2 align="center">Embla Carousel React</h2>
|
||||
</strong>
|
||||
|
||||
<p align="center">
|
||||
<strong>Embla Carousel</strong> is a bare bones carousel library with great fluid motion and awesome swipe precision. It's library agnostic, dependency free and 100% open source.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/examples/predefined/">Examples</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/examples/generator/">Generator</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/get-started/#choose-installation-type">Installation</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Ready for</h2>
|
||||
</strong>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.embla-carousel.com/get-started/module/">
|
||||
<img src="https://www.embla-carousel.com/javascript-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/module/">
|
||||
<img src="https://www.embla-carousel.com/typescript-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/react/">
|
||||
<img src="https://www.embla-carousel.com/react-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/vue/">
|
||||
<img src="https://www.embla-carousel.com/vue-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/svelte/">
|
||||
<img src="https://www.embla-carousel.com/svelte-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/solid/">
|
||||
<img src="https://www.embla-carousel.com/solid-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://github.com/donaldxdonald/embla-carousel-angular">
|
||||
<img src="https://www.embla-carousel.com/angular-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Contributors</h2>
|
||||
</strong>
|
||||
<p align="center">
|
||||
Thank you to all contributors for making <a href="https://www.embla-carousel.com/">Embla Carousel</a> awesome! <a href="https://github.com/davidjerleke/embla-carousel/blob/master/CONTRIBUTING.md">Contributions</a> are welcome.
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/davidjerleke">
|
||||
<img src="https://avatars2.githubusercontent.com/u/11529148?s=120&v=4" title="davidjerleke" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Ronit-gurjar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/92150685?s=120&v=4" title="Ronit-gurjar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/zaaakher">
|
||||
<img src="https://avatars2.githubusercontent.com/u/46135573?s=120&v=4" title="zaaakher" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/xiel">
|
||||
<img src="https://avatars2.githubusercontent.com/u/615522?s=120&v=4" title="xiel" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/javiergonzalezGenially">
|
||||
<img src="https://avatars2.githubusercontent.com/u/78730098?s=120&v=4" title="javiergonzalezGenially" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/meirroth">
|
||||
<img src="https://avatars2.githubusercontent.com/u/12494197?s=120&v=4" title="meirroth" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/hamidrezahanafi">
|
||||
<img src="https://avatars2.githubusercontent.com/u/91487491?s=120&v=4" title="hamidrezahanafi" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/negezor">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9392723?s=120&v=4" title="negezor" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/th-km">
|
||||
<img src="https://avatars2.githubusercontent.com/u/35410212?s=120&v=4" title="th-km" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/openscript">
|
||||
<img src="https://avatars2.githubusercontent.com/u/1105080?s=120&v=4" title="openscript" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/nwidynski">
|
||||
<img src="https://avatars2.githubusercontent.com/u/25958801?s=120&v=4" title="nwidynski" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/wopian">
|
||||
<img src="https://avatars2.githubusercontent.com/u/3440094?s=120&v=4" title="wopian" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/horseeyephil">
|
||||
<img src="https://avatars2.githubusercontent.com/u/32337092?s=120&v=4" title="horseeyephil" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/pipisasa">
|
||||
<img src="https://avatars2.githubusercontent.com/u/54534600?s=120&v=4" title="pipisasa" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ranno-lauri">
|
||||
<img src="https://avatars2.githubusercontent.com/u/87007115?s=120&v=4" title="ranno-lauri" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ruijdacd">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9107610?s=120&v=4" title="ruijdacd" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/rojadesign">
|
||||
<img src="https://avatars2.githubusercontent.com/u/35687281?s=120&v=4" title="rojadesign" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sadeghbarati">
|
||||
<img src="https://avatars2.githubusercontent.com/u/17789047?s=120&v=4" title="sadeghbarati" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/S-Shingler">
|
||||
<img src="https://avatars2.githubusercontent.com/u/48463809?s=120&v=4" title="S-Shingler" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Yonom">
|
||||
<img src="https://avatars2.githubusercontent.com/u/1394504?s=120&v=4" title="Yonom" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/smultar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/6223536?s=120&v=4" title="smultar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/dev-suraj-kumar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/184739775?s=120&v=4" title="dev-suraj-kumar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Matoseb">
|
||||
<img src="https://avatars2.githubusercontent.com/u/24431250?s=120&v=4" title="Matoseb" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/tlo-johnson">
|
||||
<img src="https://avatars2.githubusercontent.com/u/8763144?s=120&v=4" title="tlo-johnson" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/yasuhiro-yamamoto">
|
||||
<img src="https://avatars2.githubusercontent.com/u/25109330?s=120&v=4" title="yasuhiro-yamamoto" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/anzbert">
|
||||
<img src="https://avatars2.githubusercontent.com/u/38823700?s=120&v=4" title="anzbert" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sarussss">
|
||||
<img src="https://avatars2.githubusercontent.com/u/15656996?s=120&v=4" title="sarussss" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/silllli">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9334305?s=120&v=4" title="silllli" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/nikrowell">
|
||||
<img src="https://avatars2.githubusercontent.com/u/260039?s=120&v=4" title="nikrowell" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/mujahidfa">
|
||||
<img src="https://avatars2.githubusercontent.com/u/17759705?s=120&v=4" title="mujahidfa" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Mitch-At-Work">
|
||||
<img src="https://avatars2.githubusercontent.com/u/99835933?s=120&v=4" title="Mitch-At-Work" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/romellem">
|
||||
<img src="https://avatars2.githubusercontent.com/u/8504000?s=120&v=4" title="romellem" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/junlarsen">
|
||||
<img src="https://avatars2.githubusercontent.com/u/42585241?s=120&v=4" title="junlarsen" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/LucasMariniFalbo">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9245477?s=120&v=4" title="LucasMariniFalbo" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/LiamMartens">
|
||||
<img src="https://avatars2.githubusercontent.com/u/5265324?s=120&v=4" title="LiamMartens" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/S1r-Lanzelot">
|
||||
<img src="https://avatars2.githubusercontent.com/u/4487160?s=120&v=4" title="S1r-Lanzelot" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ishaqibrahimbot">
|
||||
<img src="https://avatars2.githubusercontent.com/u/74908398?s=120&v=4" title="ishaqibrahimbot" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/fcasibu">
|
||||
<img src="https://avatars2.githubusercontent.com/u/75290989?s=120&v=4" title="fcasibu" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/cundd">
|
||||
<img src="https://avatars2.githubusercontent.com/u/743122?s=120&v=4" title="cundd" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sedlukha">
|
||||
<img src="https://avatars2.githubusercontent.com/u/14075940?s=120&v=4" title="sedlukha" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/allen-garvey">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9314727?s=120&v=4" title="allen-garvey" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/lesha1201">
|
||||
<img src="https://avatars2.githubusercontent.com/u/10157660?s=120&v=4" title="lesha1201" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/SaizFerri">
|
||||
<img src="https://avatars2.githubusercontent.com/u/19834971?s=120&v=4" title="SaizFerri" width="50" height="50" style="max-width: 100%" />
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Special Thanks</h2>
|
||||
</strong>
|
||||
<p align="center">
|
||||
<sup>
|
||||
<a href="https://github.com/gunnarx2">gunnarx2</a> - React wrapper <a href="https://www.embla-carousel.com/get-started/react/">useEmblaCarousel</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/LiamMartens">LiamMartens</a> - Solid wrapper <a href="https://www.embla-carousel.com/get-started/solid/">createEmblaCarousel</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/donaldxdonald">donaldxdonald</a>, <a href="https://github.com/zip-fa">zip-fa</a>, <a href="https://github.com/JeanMeche">JeanMeche</a> - Angular wrapper <a href="https://github.com/donaldxdonald/embla-carousel-angular?tab=readme-ov-file#installation">EmblaCarouselDirective</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/xiel">xiel</a> - Plugin <a href="https://github.com/xiel/embla-carousel-wheel-gestures">Embla Carousel Wheel Gestures</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/zaaakher">zaaakher</a> - Contributing <a href="https://github.com/davidjerleke/embla-carousel/blob/master/CONTRIBUTING.md">guidelines</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/sarussss">sarussss</a> - Answering questions.
|
||||
</sup>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<h2 align="center">Open Source</h2>
|
||||
|
||||
<p align="center">
|
||||
Embla is <a href="https://github.com/davidjerleke/embla-carousel/blob/master/LICENSE">MIT licensed</a> 💖.<br><br>
|
||||
<sup>Embla Carousel - Copyright © 2019-present.</sup><br />
|
||||
<sup>Package created by David Jerleke.</sup>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>· · ·</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Thanks <a href="https://www.browserstack.com">BrowserStack</a>.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.browserstack.com">
|
||||
<img src="https://www.embla-carousel.com/browserstack-logo.svg" width="45" height="45" />
|
||||
</a>
|
||||
</p>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
import { EmblaCarouselType, EmblaOptionsType, EmblaPluginType } from 'embla-carousel';
|
||||
export type EmblaViewportRefType = <ViewportElement extends HTMLElement>(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;
|
||||
|
|
@ -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
|
||||
|
|
@ -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 = <ViewportElement extends HTMLElement>(\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<EmblaCarouselType>()\n const [viewport, setViewport] = useState<HTMLElement>()\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 [<EmblaViewportRefType>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;;;;"}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
export { UseEmblaCarouselType, EmblaViewportRefType } from './components/useEmblaCarousel';
|
||||
export { default } from './components/useEmblaCarousel';
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
import { EmblaCarouselType, EmblaOptionsType, EmblaPluginType } from 'embla-carousel';
|
||||
export type EmblaViewportRefType = <ViewportElement extends HTMLElement>(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;
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,11 +0,0 @@
|
|||
import { EmblaCarouselType, EmblaOptionsType, EmblaPluginType } from 'embla-carousel';
|
||||
export type EmblaViewportRefType = <ViewportElement extends HTMLElement>(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;
|
||||
|
|
@ -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
|
||||
|
|
@ -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 = <ViewportElement extends HTMLElement>(\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<EmblaCarouselType>()\n const [viewport, setViewport] = useState<HTMLElement>()\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 [<EmblaViewportRefType>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;;;;"}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
export { UseEmblaCarouselType, EmblaViewportRefType } from './components/useEmblaCarousel.js';
|
||||
export { default } from './components/useEmblaCarousel.js';
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
export { UseEmblaCarouselType, EmblaViewportRefType } from './components/useEmblaCarousel';
|
||||
export { default } from './components/useEmblaCarousel';
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../react@19.2.0/node_modules/react
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../embla-carousel@8.6.0/node_modules/embla-carousel
|
||||
|
|
@ -1,233 +0,0 @@
|
|||
<br />
|
||||
<div align="center">
|
||||
<p align="center">
|
||||
<a href="https://www.embla-carousel.com/"><img width="100" height="100" src="https://www.embla-carousel.com/embla-logo.svg" alt="Embla Carousel">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/npm/l/embla-carousel?color=%238ab4f8"></a>
|
||||
<a href="https://www.npmjs.com/package/embla-carousel-reactive-utils"><img src="https://img.shields.io/npm/v/embla-carousel-reactive-utils.svg?color=%23c1a8e2"></a>
|
||||
<a href="https://github.com/davidjerleke/embla-carousel/actions?query=workflow%3A%22Continuous+Integration%22"><img src="https://img.shields.io/github/actions/workflow/status/davidjerleke/embla-carousel/cd.yml?color=%238ab4f8"></a>
|
||||
<a href="https://prettier.io"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?color=%23c1a8e2"></a>
|
||||
<a href="https://bundlephobia.com/result?p=embla-carousel-reactive-utils@latest"><img src="https://img.shields.io/bundlephobia/minzip/embla-carousel-reactive-utils?color=%238ab4f8&label=gzip%20size">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<strong>
|
||||
<h2 align="center">Embla Carousel Reactive Utils</h2>
|
||||
</strong>
|
||||
|
||||
<p align="center">
|
||||
<strong>Embla Carousel</strong> is a bare bones carousel library with great fluid motion and awesome swipe precision. It's library agnostic, dependency free and 100% open source.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/examples/predefined/">Examples</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/examples/generator/">Generator</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/get-started/#choose-installation-type">Installation</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Ready for</h2>
|
||||
</strong>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.embla-carousel.com/get-started/module/">
|
||||
<img src="https://www.embla-carousel.com/javascript-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/module/">
|
||||
<img src="https://www.embla-carousel.com/typescript-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/react/">
|
||||
<img src="https://www.embla-carousel.com/react-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/vue/">
|
||||
<img src="https://www.embla-carousel.com/vue-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/svelte/">
|
||||
<img src="https://www.embla-carousel.com/svelte-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/solid/">
|
||||
<img src="https://www.embla-carousel.com/solid-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://github.com/donaldxdonald/embla-carousel-angular">
|
||||
<img src="https://www.embla-carousel.com/angular-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Contributors</h2>
|
||||
</strong>
|
||||
<p align="center">
|
||||
Thank you to all contributors for making <a href="https://www.embla-carousel.com/">Embla Carousel</a> awesome! <a href="https://github.com/davidjerleke/embla-carousel/blob/master/CONTRIBUTING.md">Contributions</a> are welcome.
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/davidjerleke">
|
||||
<img src="https://avatars2.githubusercontent.com/u/11529148?s=120&v=4" title="davidjerleke" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Ronit-gurjar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/92150685?s=120&v=4" title="Ronit-gurjar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/zaaakher">
|
||||
<img src="https://avatars2.githubusercontent.com/u/46135573?s=120&v=4" title="zaaakher" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/xiel">
|
||||
<img src="https://avatars2.githubusercontent.com/u/615522?s=120&v=4" title="xiel" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/javiergonzalezGenially">
|
||||
<img src="https://avatars2.githubusercontent.com/u/78730098?s=120&v=4" title="javiergonzalezGenially" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/meirroth">
|
||||
<img src="https://avatars2.githubusercontent.com/u/12494197?s=120&v=4" title="meirroth" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/hamidrezahanafi">
|
||||
<img src="https://avatars2.githubusercontent.com/u/91487491?s=120&v=4" title="hamidrezahanafi" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/negezor">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9392723?s=120&v=4" title="negezor" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/th-km">
|
||||
<img src="https://avatars2.githubusercontent.com/u/35410212?s=120&v=4" title="th-km" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/openscript">
|
||||
<img src="https://avatars2.githubusercontent.com/u/1105080?s=120&v=4" title="openscript" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/nwidynski">
|
||||
<img src="https://avatars2.githubusercontent.com/u/25958801?s=120&v=4" title="nwidynski" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/wopian">
|
||||
<img src="https://avatars2.githubusercontent.com/u/3440094?s=120&v=4" title="wopian" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/horseeyephil">
|
||||
<img src="https://avatars2.githubusercontent.com/u/32337092?s=120&v=4" title="horseeyephil" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/pipisasa">
|
||||
<img src="https://avatars2.githubusercontent.com/u/54534600?s=120&v=4" title="pipisasa" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ranno-lauri">
|
||||
<img src="https://avatars2.githubusercontent.com/u/87007115?s=120&v=4" title="ranno-lauri" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ruijdacd">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9107610?s=120&v=4" title="ruijdacd" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/rojadesign">
|
||||
<img src="https://avatars2.githubusercontent.com/u/35687281?s=120&v=4" title="rojadesign" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sadeghbarati">
|
||||
<img src="https://avatars2.githubusercontent.com/u/17789047?s=120&v=4" title="sadeghbarati" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/S-Shingler">
|
||||
<img src="https://avatars2.githubusercontent.com/u/48463809?s=120&v=4" title="S-Shingler" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Yonom">
|
||||
<img src="https://avatars2.githubusercontent.com/u/1394504?s=120&v=4" title="Yonom" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/smultar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/6223536?s=120&v=4" title="smultar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/dev-suraj-kumar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/184739775?s=120&v=4" title="dev-suraj-kumar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Matoseb">
|
||||
<img src="https://avatars2.githubusercontent.com/u/24431250?s=120&v=4" title="Matoseb" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/tlo-johnson">
|
||||
<img src="https://avatars2.githubusercontent.com/u/8763144?s=120&v=4" title="tlo-johnson" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/yasuhiro-yamamoto">
|
||||
<img src="https://avatars2.githubusercontent.com/u/25109330?s=120&v=4" title="yasuhiro-yamamoto" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/anzbert">
|
||||
<img src="https://avatars2.githubusercontent.com/u/38823700?s=120&v=4" title="anzbert" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sarussss">
|
||||
<img src="https://avatars2.githubusercontent.com/u/15656996?s=120&v=4" title="sarussss" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/silllli">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9334305?s=120&v=4" title="silllli" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/nikrowell">
|
||||
<img src="https://avatars2.githubusercontent.com/u/260039?s=120&v=4" title="nikrowell" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/mujahidfa">
|
||||
<img src="https://avatars2.githubusercontent.com/u/17759705?s=120&v=4" title="mujahidfa" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Mitch-At-Work">
|
||||
<img src="https://avatars2.githubusercontent.com/u/99835933?s=120&v=4" title="Mitch-At-Work" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/romellem">
|
||||
<img src="https://avatars2.githubusercontent.com/u/8504000?s=120&v=4" title="romellem" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/junlarsen">
|
||||
<img src="https://avatars2.githubusercontent.com/u/42585241?s=120&v=4" title="junlarsen" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/LucasMariniFalbo">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9245477?s=120&v=4" title="LucasMariniFalbo" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/LiamMartens">
|
||||
<img src="https://avatars2.githubusercontent.com/u/5265324?s=120&v=4" title="LiamMartens" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/S1r-Lanzelot">
|
||||
<img src="https://avatars2.githubusercontent.com/u/4487160?s=120&v=4" title="S1r-Lanzelot" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ishaqibrahimbot">
|
||||
<img src="https://avatars2.githubusercontent.com/u/74908398?s=120&v=4" title="ishaqibrahimbot" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/fcasibu">
|
||||
<img src="https://avatars2.githubusercontent.com/u/75290989?s=120&v=4" title="fcasibu" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/cundd">
|
||||
<img src="https://avatars2.githubusercontent.com/u/743122?s=120&v=4" title="cundd" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sedlukha">
|
||||
<img src="https://avatars2.githubusercontent.com/u/14075940?s=120&v=4" title="sedlukha" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/allen-garvey">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9314727?s=120&v=4" title="allen-garvey" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/lesha1201">
|
||||
<img src="https://avatars2.githubusercontent.com/u/10157660?s=120&v=4" title="lesha1201" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/SaizFerri">
|
||||
<img src="https://avatars2.githubusercontent.com/u/19834971?s=120&v=4" title="SaizFerri" width="50" height="50" style="max-width: 100%" />
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Special Thanks</h2>
|
||||
</strong>
|
||||
<p align="center">
|
||||
<sup>
|
||||
<a href="https://github.com/gunnarx2">gunnarx2</a> - React wrapper <a href="https://www.embla-carousel.com/get-started/react/">useEmblaCarousel</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/LiamMartens">LiamMartens</a> - Solid wrapper <a href="https://www.embla-carousel.com/get-started/solid/">createEmblaCarousel</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/donaldxdonald">donaldxdonald</a>, <a href="https://github.com/zip-fa">zip-fa</a>, <a href="https://github.com/JeanMeche">JeanMeche</a> - Angular wrapper <a href="https://github.com/donaldxdonald/embla-carousel-angular?tab=readme-ov-file#installation">EmblaCarouselDirective</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/xiel">xiel</a> - Plugin <a href="https://github.com/xiel/embla-carousel-wheel-gestures">Embla Carousel Wheel Gestures</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/zaaakher">zaaakher</a> - Contributing <a href="https://github.com/davidjerleke/embla-carousel/blob/master/CONTRIBUTING.md">guidelines</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/sarussss">sarussss</a> - Answering questions.
|
||||
</sup>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<h2 align="center">Open Source</h2>
|
||||
|
||||
<p align="center">
|
||||
Embla is <a href="https://github.com/davidjerleke/embla-carousel/blob/master/LICENSE">MIT licensed</a> 💖.<br><br>
|
||||
<sup>Embla Carousel - Copyright © 2019-present.</sup><br />
|
||||
<sup>Package created by David Jerleke.</sup>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>· · ·</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Thanks <a href="https://www.browserstack.com">BrowserStack</a>.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.browserstack.com">
|
||||
<img src="https://www.embla-carousel.com/browserstack-logo.svg" width="45" height="45" />
|
||||
</a>
|
||||
</p>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
import { EmblaPluginType } from 'embla-carousel';
|
||||
export declare function isObject(subject: unknown): subject is Record<string, unknown>;
|
||||
export declare function isRecord(subject: unknown): subject is Record<string | number, unknown>;
|
||||
export declare function canUseDOM(): boolean;
|
||||
export declare function areOptionsEqual(optionsA: Record<string, unknown>, optionsB: Record<string, unknown>): boolean;
|
||||
export declare function sortAndMapPluginToOptions(plugins: EmblaPluginType[]): EmblaPluginType['options'][];
|
||||
export declare function arePluginsEqual(pluginsA: EmblaPluginType[], pluginsB: EmblaPluginType[]): boolean;
|
||||
|
|
@ -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
|
||||
|
|
@ -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<string, unknown> {\n return Object.prototype.toString.call(subject) === '[object Object]'\n}\n\nexport function isRecord(\n subject: unknown\n): subject is Record<string | number, unknown> {\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<string, unknown>,\n optionsB: Record<string, unknown>\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;;;;;;;"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
export { canUseDOM, areOptionsEqual, sortAndMapPluginToOptions, arePluginsEqual } from './components/utils';
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
import { EmblaPluginType } from 'embla-carousel';
|
||||
export declare function isObject(subject: unknown): subject is Record<string, unknown>;
|
||||
export declare function isRecord(subject: unknown): subject is Record<string | number, unknown>;
|
||||
export declare function canUseDOM(): boolean;
|
||||
export declare function areOptionsEqual(optionsA: Record<string, unknown>, optionsB: Record<string, unknown>): boolean;
|
||||
export declare function sortAndMapPluginToOptions(plugins: EmblaPluginType[]): EmblaPluginType['options'][];
|
||||
export declare function arePluginsEqual(pluginsA: EmblaPluginType[], pluginsB: EmblaPluginType[]): boolean;
|
||||
|
|
@ -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}));
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
import { EmblaPluginType } from 'embla-carousel';
|
||||
export declare function isObject(subject: unknown): subject is Record<string, unknown>;
|
||||
export declare function isRecord(subject: unknown): subject is Record<string | number, unknown>;
|
||||
export declare function canUseDOM(): boolean;
|
||||
export declare function areOptionsEqual(optionsA: Record<string, unknown>, optionsB: Record<string, unknown>): boolean;
|
||||
export declare function sortAndMapPluginToOptions(plugins: EmblaPluginType[]): EmblaPluginType['options'][];
|
||||
export declare function arePluginsEqual(pluginsA: EmblaPluginType[], pluginsB: EmblaPluginType[]): boolean;
|
||||
|
|
@ -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
|
||||
|
|
@ -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<string, unknown> {\n return Object.prototype.toString.call(subject) === '[object Object]'\n}\n\nexport function isRecord(\n subject: unknown\n): subject is Record<string | number, unknown> {\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<string, unknown>,\n optionsB: Record<string, unknown>\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;;;;"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
export { canUseDOM, areOptionsEqual, sortAndMapPluginToOptions, arePluginsEqual } from './components/utils.js';
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
export { canUseDOM, areOptionsEqual, sortAndMapPluginToOptions, arePluginsEqual } from './components/utils';
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
233
node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/README.md
generated
vendored
233
node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/README.md
generated
vendored
|
|
@ -1,233 +0,0 @@
|
|||
<br />
|
||||
<div align="center">
|
||||
<p align="center">
|
||||
<a href="https://www.embla-carousel.com/"><img width="100" height="100" src="https://www.embla-carousel.com/embla-logo.svg" alt="Embla Carousel">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/npm/l/embla-carousel?color=%238ab4f8"></a>
|
||||
<a href="https://www.npmjs.com/package/embla-carousel"><img src="https://img.shields.io/npm/v/embla-carousel.svg?color=%23c1a8e2"></a>
|
||||
<a href="https://github.com/davidjerleke/embla-carousel/actions?query=workflow%3A%22Continuous+Integration%22"><img src="https://img.shields.io/github/actions/workflow/status/davidjerleke/embla-carousel/cd.yml?color=%238ab4f8"></a>
|
||||
<a href="https://prettier.io"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?color=%23c1a8e2"></a>
|
||||
<a href="https://bundlephobia.com/result?p=embla-carousel@latest"><img src="https://img.shields.io/bundlephobia/minzip/embla-carousel?color=%238ab4f8&label=gzip%20size">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<strong>
|
||||
<h2 align="center">Embla Carousel</h2>
|
||||
</strong>
|
||||
|
||||
<p align="center">
|
||||
<strong>Embla Carousel</strong> is a bare bones carousel library with great fluid motion and awesome swipe precision. It's library agnostic, dependency free and 100% open source.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/examples/predefined/">Examples</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/examples/generator/">Generator</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>
|
||||
<code> <a href="https://www.embla-carousel.com/get-started/#choose-installation-type">Installation</a> </code>
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Ready for</h2>
|
||||
</strong>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.embla-carousel.com/get-started/module/">
|
||||
<img src="https://www.embla-carousel.com/javascript-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/module/">
|
||||
<img src="https://www.embla-carousel.com/typescript-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/react/">
|
||||
<img src="https://www.embla-carousel.com/react-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/vue/">
|
||||
<img src="https://www.embla-carousel.com/vue-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/svelte/">
|
||||
<img src="https://www.embla-carousel.com/svelte-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://www.embla-carousel.com/get-started/solid/">
|
||||
<img src="https://www.embla-carousel.com/solid-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
<a href="https://github.com/donaldxdonald/embla-carousel-angular">
|
||||
<img src="https://www.embla-carousel.com/angular-logo.svg" width="40" height="40" />
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Contributors</h2>
|
||||
</strong>
|
||||
<p align="center">
|
||||
Thank you to all contributors for making <a href="https://www.embla-carousel.com/">Embla Carousel</a> awesome! <a href="https://github.com/davidjerleke/embla-carousel/blob/master/CONTRIBUTING.md">Contributions</a> are welcome.
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/davidjerleke">
|
||||
<img src="https://avatars2.githubusercontent.com/u/11529148?s=120&v=4" title="davidjerleke" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Ronit-gurjar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/92150685?s=120&v=4" title="Ronit-gurjar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/zaaakher">
|
||||
<img src="https://avatars2.githubusercontent.com/u/46135573?s=120&v=4" title="zaaakher" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/xiel">
|
||||
<img src="https://avatars2.githubusercontent.com/u/615522?s=120&v=4" title="xiel" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/javiergonzalezGenially">
|
||||
<img src="https://avatars2.githubusercontent.com/u/78730098?s=120&v=4" title="javiergonzalezGenially" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/meirroth">
|
||||
<img src="https://avatars2.githubusercontent.com/u/12494197?s=120&v=4" title="meirroth" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/hamidrezahanafi">
|
||||
<img src="https://avatars2.githubusercontent.com/u/91487491?s=120&v=4" title="hamidrezahanafi" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/negezor">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9392723?s=120&v=4" title="negezor" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/th-km">
|
||||
<img src="https://avatars2.githubusercontent.com/u/35410212?s=120&v=4" title="th-km" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/openscript">
|
||||
<img src="https://avatars2.githubusercontent.com/u/1105080?s=120&v=4" title="openscript" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/nwidynski">
|
||||
<img src="https://avatars2.githubusercontent.com/u/25958801?s=120&v=4" title="nwidynski" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/wopian">
|
||||
<img src="https://avatars2.githubusercontent.com/u/3440094?s=120&v=4" title="wopian" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/horseeyephil">
|
||||
<img src="https://avatars2.githubusercontent.com/u/32337092?s=120&v=4" title="horseeyephil" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/pipisasa">
|
||||
<img src="https://avatars2.githubusercontent.com/u/54534600?s=120&v=4" title="pipisasa" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ranno-lauri">
|
||||
<img src="https://avatars2.githubusercontent.com/u/87007115?s=120&v=4" title="ranno-lauri" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ruijdacd">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9107610?s=120&v=4" title="ruijdacd" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/rojadesign">
|
||||
<img src="https://avatars2.githubusercontent.com/u/35687281?s=120&v=4" title="rojadesign" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sadeghbarati">
|
||||
<img src="https://avatars2.githubusercontent.com/u/17789047?s=120&v=4" title="sadeghbarati" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/S-Shingler">
|
||||
<img src="https://avatars2.githubusercontent.com/u/48463809?s=120&v=4" title="S-Shingler" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Yonom">
|
||||
<img src="https://avatars2.githubusercontent.com/u/1394504?s=120&v=4" title="Yonom" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/smultar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/6223536?s=120&v=4" title="smultar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/dev-suraj-kumar">
|
||||
<img src="https://avatars2.githubusercontent.com/u/184739775?s=120&v=4" title="dev-suraj-kumar" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Matoseb">
|
||||
<img src="https://avatars2.githubusercontent.com/u/24431250?s=120&v=4" title="Matoseb" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/tlo-johnson">
|
||||
<img src="https://avatars2.githubusercontent.com/u/8763144?s=120&v=4" title="tlo-johnson" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/yasuhiro-yamamoto">
|
||||
<img src="https://avatars2.githubusercontent.com/u/25109330?s=120&v=4" title="yasuhiro-yamamoto" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/anzbert">
|
||||
<img src="https://avatars2.githubusercontent.com/u/38823700?s=120&v=4" title="anzbert" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sarussss">
|
||||
<img src="https://avatars2.githubusercontent.com/u/15656996?s=120&v=4" title="sarussss" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/silllli">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9334305?s=120&v=4" title="silllli" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/nikrowell">
|
||||
<img src="https://avatars2.githubusercontent.com/u/260039?s=120&v=4" title="nikrowell" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/mujahidfa">
|
||||
<img src="https://avatars2.githubusercontent.com/u/17759705?s=120&v=4" title="mujahidfa" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/Mitch-At-Work">
|
||||
<img src="https://avatars2.githubusercontent.com/u/99835933?s=120&v=4" title="Mitch-At-Work" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/romellem">
|
||||
<img src="https://avatars2.githubusercontent.com/u/8504000?s=120&v=4" title="romellem" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/junlarsen">
|
||||
<img src="https://avatars2.githubusercontent.com/u/42585241?s=120&v=4" title="junlarsen" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/LucasMariniFalbo">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9245477?s=120&v=4" title="LucasMariniFalbo" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/LiamMartens">
|
||||
<img src="https://avatars2.githubusercontent.com/u/5265324?s=120&v=4" title="LiamMartens" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/S1r-Lanzelot">
|
||||
<img src="https://avatars2.githubusercontent.com/u/4487160?s=120&v=4" title="S1r-Lanzelot" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/ishaqibrahimbot">
|
||||
<img src="https://avatars2.githubusercontent.com/u/74908398?s=120&v=4" title="ishaqibrahimbot" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/fcasibu">
|
||||
<img src="https://avatars2.githubusercontent.com/u/75290989?s=120&v=4" title="fcasibu" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/cundd">
|
||||
<img src="https://avatars2.githubusercontent.com/u/743122?s=120&v=4" title="cundd" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/sedlukha">
|
||||
<img src="https://avatars2.githubusercontent.com/u/14075940?s=120&v=4" title="sedlukha" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/allen-garvey">
|
||||
<img src="https://avatars2.githubusercontent.com/u/9314727?s=120&v=4" title="allen-garvey" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/lesha1201">
|
||||
<img src="https://avatars2.githubusercontent.com/u/10157660?s=120&v=4" title="lesha1201" width="50" height="50" style="max-width: 100%" />
|
||||
</a><a href="https://github.com/SaizFerri">
|
||||
<img src="https://avatars2.githubusercontent.com/u/19834971?s=120&v=4" title="SaizFerri" width="50" height="50" style="max-width: 100%" />
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<strong>
|
||||
<h2 align="center">Special Thanks</h2>
|
||||
</strong>
|
||||
<p align="center">
|
||||
<sup>
|
||||
<a href="https://github.com/gunnarx2">gunnarx2</a> - React wrapper <a href="https://www.embla-carousel.com/get-started/react/">useEmblaCarousel</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/LiamMartens">LiamMartens</a> - Solid wrapper <a href="https://www.embla-carousel.com/get-started/solid/">createEmblaCarousel</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/donaldxdonald">donaldxdonald</a>, <a href="https://github.com/zip-fa">zip-fa</a>, <a href="https://github.com/JeanMeche">JeanMeche</a> - Angular wrapper <a href="https://github.com/donaldxdonald/embla-carousel-angular?tab=readme-ov-file#installation">EmblaCarouselDirective</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/xiel">xiel</a> - Plugin <a href="https://github.com/xiel/embla-carousel-wheel-gestures">Embla Carousel Wheel Gestures</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/zaaakher">zaaakher</a> - Contributing <a href="https://github.com/davidjerleke/embla-carousel/blob/master/CONTRIBUTING.md">guidelines</a>.
|
||||
</sup>
|
||||
<br>
|
||||
<sup>
|
||||
<a href="https://github.com/sarussss">sarussss</a> - Answering questions.
|
||||
</sup>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<h2 align="center">Open Source</h2>
|
||||
|
||||
<p align="center">
|
||||
Embla is <a href="https://github.com/davidjerleke/embla-carousel/blob/master/LICENSE">MIT licensed</a> 💖.<br><br>
|
||||
<sup>Embla Carousel - Copyright © 2019-present.</sup><br />
|
||||
<sup>Package created by David Jerleke.</sup>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>· · ·</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Thanks <a href="https://www.browserstack.com">BrowserStack</a>.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.browserstack.com">
|
||||
<img src="https://www.embla-carousel.com/browserstack-logo.svg" width="45" height="45" />
|
||||
</a>
|
||||
</p>
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 {};
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 {};
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 {};
|
||||
|
|
@ -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 {};
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 extends LooseOptionsType> = Type & {
|
||||
active: boolean;
|
||||
breakpoints: {
|
||||
[key: string]: Omit<Partial<CreateOptionsType<Type>>, 'breakpoints'>;
|
||||
};
|
||||
};
|
||||
export type OptionsType = CreateOptionsType<{
|
||||
align: AlignmentOptionType;
|
||||
axis: AxisOptionType;
|
||||
container: string | HTMLElement | null;
|
||||
slides: string | HTMLElement[] | NodeListOf<HTMLElement> | 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<OptionsType>;
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
import { LooseOptionsType, CreateOptionsType } from './Options';
|
||||
import { WindowType } from './utils';
|
||||
type OptionsType = Partial<CreateOptionsType<LooseOptionsType>>;
|
||||
export type OptionsHandlerType = {
|
||||
mergeOptions: <TypeA extends OptionsType, TypeB extends OptionsType>(optionsA: TypeA, optionsB?: TypeB) => TypeA;
|
||||
optionsAtMedia: <Type extends OptionsType>(options: Type) => Type;
|
||||
optionsMediaQueries: (optionsList: OptionsType[]) => MediaQueryList[];
|
||||
};
|
||||
export declare function OptionsHandler(ownerWindow: WindowType): OptionsHandlerType;
|
||||
export {};
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
export type PercentOfViewType = {
|
||||
measure: (n: number) => number;
|
||||
};
|
||||
export declare function PercentOfView(viewSize: number): PercentOfViewType;
|
||||
|
|
@ -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 extends LoosePluginType, TypeB extends LooseOptionsType> = TypeA & {
|
||||
name: string;
|
||||
options: Partial<CreateOptionsType<TypeB>>;
|
||||
init: (embla: EmblaCarouselType, OptionsHandler: OptionsHandlerType) => void;
|
||||
destroy: () => void;
|
||||
};
|
||||
export interface EmblaPluginsType {
|
||||
[key: string]: CreatePluginType<LoosePluginType, {}>;
|
||||
}
|
||||
export type EmblaPluginType = EmblaPluginsType[keyof EmblaPluginsType];
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 {};
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
import { LimitType } from './Limit';
|
||||
export type ScrollLimitType = {
|
||||
limit: LimitType;
|
||||
};
|
||||
export declare function ScrollLimit(contentSize: number, scrollSnaps: number[], loop: boolean): ScrollLimitType;
|
||||
|
|
@ -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;
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
import { LimitType } from './Limit';
|
||||
export type ScrollProgressType = {
|
||||
get: (n: number) => number;
|
||||
};
|
||||
export declare function ScrollProgress(limit: LimitType): ScrollProgressType;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 {};
|
||||
|
|
@ -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 {};
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 {};
|
||||
|
|
@ -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;
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
import { AxisType } from './Axis';
|
||||
import { NodeRectType } from './NodeRects';
|
||||
export type SlidesToScrollOptionType = 'auto' | number;
|
||||
export type SlidesToScrollType = {
|
||||
groupSlides: <Type>(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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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<string, unknown>;
|
||||
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<Type>(array: Type[]): number[];
|
||||
export declare function arrayLast<Type>(array: Type[]): Type;
|
||||
export declare function arrayLastIndex<Type>(array: Type[]): number;
|
||||
export declare function arrayIsLastIndex<Type>(array: Type[], index: number): boolean;
|
||||
export declare function arrayFromNumber(n: number, startAt?: number): number[];
|
||||
export declare function objectKeys<Type extends object>(object: Type): string[];
|
||||
export declare function objectsMergeDeep(objectA: Record<string, unknown>, objectB: Record<string, unknown>): Record<string, unknown>;
|
||||
export declare function isMouseEvent(evt: PointerEventType, ownerWindow: WindowType): evt is MouseEvent;
|
||||
1672
node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js
generated
vendored
1672
node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/embla-carousel.cjs.js
generated
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
11
node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/index.d.ts
generated
vendored
11
node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/index.d.ts
generated
vendored
|
|
@ -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';
|
||||
52
node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/package.json
generated
vendored
52
node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/cjs/package.json
generated
vendored
|
|
@ -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"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue