main repo

This commit is contained in:
Basilosaurusrex
2025-11-24 18:09:40 +01:00
parent b636ee5e70
commit f027651f9b
34146 changed files with 4436636 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
'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