Initial commit
This commit is contained in:
40
node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js
generated
vendored
Normal file
40
node_modules/embla-carousel-react/cjs/embla-carousel-react.cjs.js
generated
vendored
Normal 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
|
||||
Reference in New Issue
Block a user