@fluentui/react-carousel 0.0.0-nightly-20241008-0405.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +129 -0
- package/LICENSE +15 -0
- package/README.md +33 -0
- package/dist/index.d.ts +625 -0
- package/lib/Carousel.js +1 -0
- package/lib/Carousel.js.map +1 -0
- package/lib/CarouselAutoplayButton.js +1 -0
- package/lib/CarouselAutoplayButton.js.map +1 -0
- package/lib/CarouselButton.js +1 -0
- package/lib/CarouselButton.js.map +1 -0
- package/lib/CarouselCard.js +1 -0
- package/lib/CarouselCard.js.map +1 -0
- package/lib/CarouselContext.js +2 -0
- package/lib/CarouselContext.js.map +1 -0
- package/lib/CarouselNav.js +1 -0
- package/lib/CarouselNav.js.map +1 -0
- package/lib/CarouselNavButton.js +1 -0
- package/lib/CarouselNavButton.js.map +1 -0
- package/lib/CarouselNavContainer.js +1 -0
- package/lib/CarouselNavContainer.js.map +1 -0
- package/lib/CarouselNavImageButton.js +1 -0
- package/lib/CarouselNavImageButton.js.map +1 -0
- package/lib/CarouselSlider.js +1 -0
- package/lib/CarouselSlider.js.map +1 -0
- package/lib/components/Carousel/Carousel.js +20 -0
- package/lib/components/Carousel/Carousel.js.map +1 -0
- package/lib/components/Carousel/Carousel.types.js +3 -0
- package/lib/components/Carousel/Carousel.types.js.map +1 -0
- package/lib/components/Carousel/index.js +5 -0
- package/lib/components/Carousel/index.js.map +1 -0
- package/lib/components/Carousel/renderCarousel.js +12 -0
- package/lib/components/Carousel/renderCarousel.js.map +1 -0
- package/lib/components/Carousel/useCarousel.js +117 -0
- package/lib/components/Carousel/useCarousel.js.map +1 -0
- package/lib/components/Carousel/useCarouselContextValues.js +28 -0
- package/lib/components/Carousel/useCarouselContextValues.js.map +1 -0
- package/lib/components/Carousel/useCarouselStyles.styles.js +33 -0
- package/lib/components/Carousel/useCarouselStyles.styles.js.map +1 -0
- package/lib/components/CarouselAutoplayButton/CarouselAutoplayButton.js +18 -0
- package/lib/components/CarouselAutoplayButton/CarouselAutoplayButton.js.map +1 -0
- package/lib/components/CarouselAutoplayButton/CarouselAutoplayButton.types.js +1 -0
- package/lib/components/CarouselAutoplayButton/CarouselAutoplayButton.types.js.map +1 -0
- package/lib/components/CarouselAutoplayButton/index.js +5 -0
- package/lib/components/CarouselAutoplayButton/index.js.map +1 -0
- package/lib/components/CarouselAutoplayButton/renderCarouselAutoplayButton.js +9 -0
- package/lib/components/CarouselAutoplayButton/renderCarouselAutoplayButton.js.map +1 -0
- package/lib/components/CarouselAutoplayButton/useCarouselAutoplayButton.js +64 -0
- package/lib/components/CarouselAutoplayButton/useCarouselAutoplayButton.js.map +1 -0
- package/lib/components/CarouselAutoplayButton/useCarouselAutoplayButtonStyles.styles.js +42 -0
- package/lib/components/CarouselAutoplayButton/useCarouselAutoplayButtonStyles.styles.js.map +1 -0
- package/lib/components/CarouselButton/CarouselButton.js +16 -0
- package/lib/components/CarouselButton/CarouselButton.js.map +1 -0
- package/lib/components/CarouselButton/CarouselButton.types.js +3 -0
- package/lib/components/CarouselButton/CarouselButton.types.js.map +1 -0
- package/lib/components/CarouselButton/index.js +5 -0
- package/lib/components/CarouselButton/index.js.map +1 -0
- package/lib/components/CarouselButton/renderCarouselButton.js +9 -0
- package/lib/components/CarouselButton/renderCarouselButton.js.map +1 -0
- package/lib/components/CarouselButton/useCarouselButton.js +87 -0
- package/lib/components/CarouselButton/useCarouselButton.js.map +1 -0
- package/lib/components/CarouselButton/useCarouselButtonStyles.styles.js +41 -0
- package/lib/components/CarouselButton/useCarouselButtonStyles.styles.js.map +1 -0
- package/lib/components/CarouselCard/CarouselCard.js +20 -0
- package/lib/components/CarouselCard/CarouselCard.js.map +1 -0
- package/lib/components/CarouselCard/CarouselCard.types.js +3 -0
- package/lib/components/CarouselCard/CarouselCard.types.js.map +1 -0
- package/lib/components/CarouselCard/index.js +5 -0
- package/lib/components/CarouselCard/index.js.map +1 -0
- package/lib/components/CarouselCard/renderCarouselCard.js +8 -0
- package/lib/components/CarouselCard/renderCarouselCard.js.map +1 -0
- package/lib/components/CarouselCard/useCarouselCard.js +91 -0
- package/lib/components/CarouselCard/useCarouselCard.js.map +1 -0
- package/lib/components/CarouselCard/useCarouselCardStyles.styles.js +45 -0
- package/lib/components/CarouselCard/useCarouselCardStyles.styles.js.map +1 -0
- package/lib/components/CarouselContext.js +23 -0
- package/lib/components/CarouselContext.js.map +1 -0
- package/lib/components/CarouselContext.types.js +1 -0
- package/lib/components/CarouselContext.types.js.map +1 -0
- package/lib/components/CarouselNav/CarouselNav.js +20 -0
- package/lib/components/CarouselNav/CarouselNav.js.map +1 -0
- package/lib/components/CarouselNav/CarouselNav.types.js +1 -0
- package/lib/components/CarouselNav/CarouselNav.types.js.map +1 -0
- package/lib/components/CarouselNav/CarouselNavContext.js +21 -0
- package/lib/components/CarouselNav/CarouselNavContext.js.map +1 -0
- package/lib/components/CarouselNav/CarouselNavIndexContext.js +8 -0
- package/lib/components/CarouselNav/CarouselNavIndexContext.js.map +1 -0
- package/lib/components/CarouselNav/index.js +5 -0
- package/lib/components/CarouselNav/index.js.map +1 -0
- package/lib/components/CarouselNav/renderCarouselNav.js +19 -0
- package/lib/components/CarouselNav/renderCarouselNav.js.map +1 -0
- package/lib/components/CarouselNav/useCarouselNav.js +49 -0
- package/lib/components/CarouselNav/useCarouselNav.js.map +1 -0
- package/lib/components/CarouselNav/useCarouselNavStyles.styles.js +63 -0
- package/lib/components/CarouselNav/useCarouselNavStyles.styles.js.map +1 -0
- package/lib/components/CarouselNavButton/CarouselNavButton.js +15 -0
- package/lib/components/CarouselNavButton/CarouselNavButton.js.map +1 -0
- package/lib/components/CarouselNavButton/CarouselNavButton.types.js +3 -0
- package/lib/components/CarouselNavButton/CarouselNavButton.types.js.map +1 -0
- package/lib/components/CarouselNavButton/index.js +5 -0
- package/lib/components/CarouselNavButton/index.js.map +1 -0
- package/lib/components/CarouselNavButton/renderCarouselNavButton.js +9 -0
- package/lib/components/CarouselNavButton/renderCarouselNavButton.js.map +1 -0
- package/lib/components/CarouselNavButton/useCarouselNavButton.js +73 -0
- package/lib/components/CarouselNavButton/useCarouselNavButton.js.map +1 -0
- package/lib/components/CarouselNavButton/useCarouselNavButtonStyles.styles.js +196 -0
- package/lib/components/CarouselNavButton/useCarouselNavButtonStyles.styles.js.map +1 -0
- package/lib/components/CarouselNavContainer/CarouselNavContainer.js +20 -0
- package/lib/components/CarouselNavContainer/CarouselNavContainer.js.map +1 -0
- package/lib/components/CarouselNavContainer/CarouselNavContainer.types.js +3 -0
- package/lib/components/CarouselNavContainer/CarouselNavContainer.types.js.map +1 -0
- package/lib/components/CarouselNavContainer/index.js +5 -0
- package/lib/components/CarouselNavContainer/index.js.map +1 -0
- package/lib/components/CarouselNavContainer/renderCarouselNavContainer.js +15 -0
- package/lib/components/CarouselNavContainer/renderCarouselNavContainer.js.map +1 -0
- package/lib/components/CarouselNavContainer/useCarouselNavContainer.js +51 -0
- package/lib/components/CarouselNavContainer/useCarouselNavContainer.js.map +1 -0
- package/lib/components/CarouselNavContainer/useCarouselNavContainerStyles.styles.js +104 -0
- package/lib/components/CarouselNavContainer/useCarouselNavContainerStyles.styles.js.map +1 -0
- package/lib/components/CarouselNavImageButton/CarouselNavImageButton.js +16 -0
- package/lib/components/CarouselNavImageButton/CarouselNavImageButton.js.map +1 -0
- package/lib/components/CarouselNavImageButton/CarouselNavImageButton.types.js +3 -0
- package/lib/components/CarouselNavImageButton/CarouselNavImageButton.types.js.map +1 -0
- package/lib/components/CarouselNavImageButton/index.js +5 -0
- package/lib/components/CarouselNavImageButton/index.js.map +1 -0
- package/lib/components/CarouselNavImageButton/renderCarouselNavImageButton.js +10 -0
- package/lib/components/CarouselNavImageButton/renderCarouselNavImageButton.js.map +1 -0
- package/lib/components/CarouselNavImageButton/useCarouselNavImageButton.js +76 -0
- package/lib/components/CarouselNavImageButton/useCarouselNavImageButton.js.map +1 -0
- package/lib/components/CarouselNavImageButton/useCarouselNavImageButtonStyles.styles.js +85 -0
- package/lib/components/CarouselNavImageButton/useCarouselNavImageButtonStyles.styles.js.map +1 -0
- package/lib/components/CarouselSlider/CarouselSlider.js +18 -0
- package/lib/components/CarouselSlider/CarouselSlider.js.map +1 -0
- package/lib/components/CarouselSlider/CarouselSlider.types.js +1 -0
- package/lib/components/CarouselSlider/CarouselSlider.types.js.map +1 -0
- package/lib/components/CarouselSlider/CarouselSliderContext.js +21 -0
- package/lib/components/CarouselSlider/CarouselSliderContext.js.map +1 -0
- package/lib/components/CarouselSlider/index.js +5 -0
- package/lib/components/CarouselSlider/index.js.map +1 -0
- package/lib/components/CarouselSlider/renderCarouselSlider.js +12 -0
- package/lib/components/CarouselSlider/renderCarouselSlider.js.map +1 -0
- package/lib/components/CarouselSlider/useCarouselSlider.js +36 -0
- package/lib/components/CarouselSlider/useCarouselSlider.js.map +1 -0
- package/lib/components/CarouselSlider/useCarouselSliderStyles.styles.js +26 -0
- package/lib/components/CarouselSlider/useCarouselSliderStyles.styles.js.map +1 -0
- package/lib/components/useEmblaCarousel.js +239 -0
- package/lib/components/useEmblaCarousel.js.map +1 -0
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -0
- package/lib-commonjs/Carousel.js +6 -0
- package/lib-commonjs/Carousel.js.map +1 -0
- package/lib-commonjs/CarouselAutoplayButton.js +6 -0
- package/lib-commonjs/CarouselAutoplayButton.js.map +1 -0
- package/lib-commonjs/CarouselButton.js +6 -0
- package/lib-commonjs/CarouselButton.js.map +1 -0
- package/lib-commonjs/CarouselCard.js +6 -0
- package/lib-commonjs/CarouselCard.js.map +1 -0
- package/lib-commonjs/CarouselContext.js +7 -0
- package/lib-commonjs/CarouselContext.js.map +1 -0
- package/lib-commonjs/CarouselNav.js +6 -0
- package/lib-commonjs/CarouselNav.js.map +1 -0
- package/lib-commonjs/CarouselNavButton.js +6 -0
- package/lib-commonjs/CarouselNavButton.js.map +1 -0
- package/lib-commonjs/CarouselNavContainer.js +6 -0
- package/lib-commonjs/CarouselNavContainer.js.map +1 -0
- package/lib-commonjs/CarouselNavImageButton.js +6 -0
- package/lib-commonjs/CarouselNavImageButton.js.map +1 -0
- package/lib-commonjs/CarouselSlider.js +6 -0
- package/lib-commonjs/CarouselSlider.js.map +1 -0
- package/lib-commonjs/components/Carousel/Carousel.js +26 -0
- package/lib-commonjs/components/Carousel/Carousel.js.map +1 -0
- package/lib-commonjs/components/Carousel/Carousel.types.js +6 -0
- package/lib-commonjs/components/Carousel/Carousel.types.js.map +1 -0
- package/lib-commonjs/components/Carousel/index.js +10 -0
- package/lib-commonjs/components/Carousel/index.js.map +1 -0
- package/lib-commonjs/components/Carousel/renderCarousel.js +20 -0
- package/lib-commonjs/components/Carousel/renderCarousel.js.map +1 -0
- package/lib-commonjs/components/Carousel/useCarousel.js +119 -0
- package/lib-commonjs/components/Carousel/useCarousel.js.map +1 -0
- package/lib-commonjs/components/Carousel/useCarouselContextValues.js +39 -0
- package/lib-commonjs/components/Carousel/useCarouselContextValues.js.map +1 -0
- package/lib-commonjs/components/Carousel/useCarouselStyles.styles.js +52 -0
- package/lib-commonjs/components/Carousel/useCarouselStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CarouselAutoplayButton/CarouselAutoplayButton.js +24 -0
- package/lib-commonjs/components/CarouselAutoplayButton/CarouselAutoplayButton.js.map +1 -0
- package/lib-commonjs/components/CarouselAutoplayButton/CarouselAutoplayButton.types.js +6 -0
- package/lib-commonjs/components/CarouselAutoplayButton/CarouselAutoplayButton.types.js.map +1 -0
- package/lib-commonjs/components/CarouselAutoplayButton/index.js +10 -0
- package/lib-commonjs/components/CarouselAutoplayButton/index.js.map +1 -0
- package/lib-commonjs/components/CarouselAutoplayButton/renderCarouselAutoplayButton.js +17 -0
- package/lib-commonjs/components/CarouselAutoplayButton/renderCarouselAutoplayButton.js.map +1 -0
- package/lib-commonjs/components/CarouselAutoplayButton/useCarouselAutoplayButton.js +67 -0
- package/lib-commonjs/components/CarouselAutoplayButton/useCarouselAutoplayButton.js.map +1 -0
- package/lib-commonjs/components/CarouselAutoplayButton/useCarouselAutoplayButtonStyles.styles.js +71 -0
- package/lib-commonjs/components/CarouselAutoplayButton/useCarouselAutoplayButtonStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CarouselButton/CarouselButton.js +24 -0
- package/lib-commonjs/components/CarouselButton/CarouselButton.js.map +1 -0
- package/lib-commonjs/components/CarouselButton/CarouselButton.types.js +6 -0
- package/lib-commonjs/components/CarouselButton/CarouselButton.types.js.map +1 -0
- package/lib-commonjs/components/CarouselButton/index.js +10 -0
- package/lib-commonjs/components/CarouselButton/index.js.map +1 -0
- package/lib-commonjs/components/CarouselButton/renderCarouselButton.js +17 -0
- package/lib-commonjs/components/CarouselButton/renderCarouselButton.js.map +1 -0
- package/lib-commonjs/components/CarouselButton/useCarouselButton.js +89 -0
- package/lib-commonjs/components/CarouselButton/useCarouselButton.js.map +1 -0
- package/lib-commonjs/components/CarouselButton/useCarouselButtonStyles.styles.js +60 -0
- package/lib-commonjs/components/CarouselButton/useCarouselButtonStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CarouselCard/CarouselCard.js +24 -0
- package/lib-commonjs/components/CarouselCard/CarouselCard.js.map +1 -0
- package/lib-commonjs/components/CarouselCard/CarouselCard.types.js +6 -0
- package/lib-commonjs/components/CarouselCard/CarouselCard.types.js.map +1 -0
- package/lib-commonjs/components/CarouselCard/index.js +10 -0
- package/lib-commonjs/components/CarouselCard/index.js.map +1 -0
- package/lib-commonjs/components/CarouselCard/renderCarouselCard.js +16 -0
- package/lib-commonjs/components/CarouselCard/renderCarouselCard.js.map +1 -0
- package/lib-commonjs/components/CarouselCard/useCarouselCard.js +94 -0
- package/lib-commonjs/components/CarouselCard/useCarouselCard.js.map +1 -0
- package/lib-commonjs/components/CarouselCard/useCarouselCardStyles.styles.js +67 -0
- package/lib-commonjs/components/CarouselCard/useCarouselCardStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CarouselContext.js +44 -0
- package/lib-commonjs/components/CarouselContext.js.map +1 -0
- package/lib-commonjs/components/CarouselContext.types.js +6 -0
- package/lib-commonjs/components/CarouselContext.types.js.map +1 -0
- package/lib-commonjs/components/CarouselNav/CarouselNav.js +26 -0
- package/lib-commonjs/components/CarouselNav/CarouselNav.js.map +1 -0
- package/lib-commonjs/components/CarouselNav/CarouselNav.types.js +6 -0
- package/lib-commonjs/components/CarouselNav/CarouselNav.types.js.map +1 -0
- package/lib-commonjs/components/CarouselNav/CarouselNavContext.js +46 -0
- package/lib-commonjs/components/CarouselNav/CarouselNavContext.js.map +1 -0
- package/lib-commonjs/components/CarouselNav/CarouselNavIndexContext.js +30 -0
- package/lib-commonjs/components/CarouselNav/CarouselNavIndexContext.js.map +1 -0
- package/lib-commonjs/components/CarouselNav/index.js +10 -0
- package/lib-commonjs/components/CarouselNav/index.js.map +1 -0
- package/lib-commonjs/components/CarouselNav/renderCarouselNav.js +27 -0
- package/lib-commonjs/components/CarouselNav/renderCarouselNav.js.map +1 -0
- package/lib-commonjs/components/CarouselNav/useCarouselNav.js +52 -0
- package/lib-commonjs/components/CarouselNav/useCarouselNav.js.map +1 -0
- package/lib-commonjs/components/CarouselNav/useCarouselNavStyles.styles.js +106 -0
- package/lib-commonjs/components/CarouselNav/useCarouselNavStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CarouselNavButton/CarouselNavButton.js +24 -0
- package/lib-commonjs/components/CarouselNavButton/CarouselNavButton.js.map +1 -0
- package/lib-commonjs/components/CarouselNavButton/CarouselNavButton.types.js +6 -0
- package/lib-commonjs/components/CarouselNavButton/CarouselNavButton.types.js.map +1 -0
- package/lib-commonjs/components/CarouselNavButton/index.js +10 -0
- package/lib-commonjs/components/CarouselNavButton/index.js.map +1 -0
- package/lib-commonjs/components/CarouselNavButton/renderCarouselNavButton.js +17 -0
- package/lib-commonjs/components/CarouselNavButton/renderCarouselNavButton.js.map +1 -0
- package/lib-commonjs/components/CarouselNavButton/useCarouselNavButton.js +76 -0
- package/lib-commonjs/components/CarouselNavButton/useCarouselNavButton.js.map +1 -0
- package/lib-commonjs/components/CarouselNavButton/useCarouselNavButtonStyles.styles.js +293 -0
- package/lib-commonjs/components/CarouselNavButton/useCarouselNavButtonStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CarouselNavContainer/CarouselNavContainer.js +29 -0
- package/lib-commonjs/components/CarouselNavContainer/CarouselNavContainer.js.map +1 -0
- package/lib-commonjs/components/CarouselNavContainer/CarouselNavContainer.types.js +6 -0
- package/lib-commonjs/components/CarouselNavContainer/CarouselNavContainer.types.js.map +1 -0
- package/lib-commonjs/components/CarouselNavContainer/index.js +10 -0
- package/lib-commonjs/components/CarouselNavContainer/index.js.map +1 -0
- package/lib-commonjs/components/CarouselNavContainer/renderCarouselNavContainer.js +23 -0
- package/lib-commonjs/components/CarouselNavContainer/renderCarouselNavContainer.js.map +1 -0
- package/lib-commonjs/components/CarouselNavContainer/useCarouselNavContainer.js +54 -0
- package/lib-commonjs/components/CarouselNavContainer/useCarouselNavContainer.js.map +1 -0
- package/lib-commonjs/components/CarouselNavContainer/useCarouselNavContainerStyles.styles.js +163 -0
- package/lib-commonjs/components/CarouselNavContainer/useCarouselNavContainerStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CarouselNavImageButton/CarouselNavImageButton.js +24 -0
- package/lib-commonjs/components/CarouselNavImageButton/CarouselNavImageButton.js.map +1 -0
- package/lib-commonjs/components/CarouselNavImageButton/CarouselNavImageButton.types.js +6 -0
- package/lib-commonjs/components/CarouselNavImageButton/CarouselNavImageButton.types.js.map +1 -0
- package/lib-commonjs/components/CarouselNavImageButton/index.js +10 -0
- package/lib-commonjs/components/CarouselNavImageButton/index.js.map +1 -0
- package/lib-commonjs/components/CarouselNavImageButton/renderCarouselNavImageButton.js +18 -0
- package/lib-commonjs/components/CarouselNavImageButton/renderCarouselNavImageButton.js.map +1 -0
- package/lib-commonjs/components/CarouselNavImageButton/useCarouselNavImageButton.js +79 -0
- package/lib-commonjs/components/CarouselNavImageButton/useCarouselNavImageButton.js.map +1 -0
- package/lib-commonjs/components/CarouselNavImageButton/useCarouselNavImageButtonStyles.styles.js +132 -0
- package/lib-commonjs/components/CarouselNavImageButton/useCarouselNavImageButtonStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CarouselSlider/CarouselSlider.js +26 -0
- package/lib-commonjs/components/CarouselSlider/CarouselSlider.js.map +1 -0
- package/lib-commonjs/components/CarouselSlider/CarouselSlider.types.js +4 -0
- package/lib-commonjs/components/CarouselSlider/CarouselSlider.types.js.map +1 -0
- package/lib-commonjs/components/CarouselSlider/CarouselSliderContext.js +46 -0
- package/lib-commonjs/components/CarouselSlider/CarouselSliderContext.js.map +1 -0
- package/lib-commonjs/components/CarouselSlider/index.js +10 -0
- package/lib-commonjs/components/CarouselSlider/index.js.map +1 -0
- package/lib-commonjs/components/CarouselSlider/renderCarouselSlider.js +20 -0
- package/lib-commonjs/components/CarouselSlider/renderCarouselSlider.js.map +1 -0
- package/lib-commonjs/components/CarouselSlider/useCarouselSlider.js +39 -0
- package/lib-commonjs/components/CarouselSlider/useCarouselSlider.js.map +1 -0
- package/lib-commonjs/components/CarouselSlider/useCarouselSliderStyles.styles.js +41 -0
- package/lib-commonjs/components/CarouselSlider/useCarouselSliderStyles.styles.js.map +1 -0
- package/lib-commonjs/components/useEmblaCarousel.js +262 -0
- package/lib-commonjs/components/useEmblaCarousel.js.map +1 -0
- package/lib-commonjs/index.js +166 -0
- package/lib-commonjs/index.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { useControllableState } from '@fluentui/react-utilities';
|
|
2
|
+
import EmblaCarousel from 'embla-carousel';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { carouselCardClassNames } from './CarouselCard/useCarouselCardStyles.styles';
|
|
5
|
+
import { carouselSliderClassNames } from './CarouselSlider/useCarouselSliderStyles.styles';
|
|
6
|
+
import Autoplay from 'embla-carousel-autoplay';
|
|
7
|
+
const sliderClassname = `.${carouselSliderClassNames.root}`;
|
|
8
|
+
const DEFAULT_EMBLA_OPTIONS = {
|
|
9
|
+
containScroll: 'trimSnaps',
|
|
10
|
+
inViewThreshold: 0.99,
|
|
11
|
+
watchDrag: false,
|
|
12
|
+
skipSnaps: true,
|
|
13
|
+
container: sliderClassname,
|
|
14
|
+
slides: `.${carouselCardClassNames.root}`
|
|
15
|
+
};
|
|
16
|
+
export const EMBLA_VISIBILITY_EVENT = 'embla:visibilitychange';
|
|
17
|
+
export function setTabsterDefault(element, isDefault) {
|
|
18
|
+
const tabsterAttr = element.getAttribute('data-tabster');
|
|
19
|
+
if (tabsterAttr) {
|
|
20
|
+
const tabsterAttributes = JSON.parse(tabsterAttr);
|
|
21
|
+
if (tabsterAttributes.focusable) {
|
|
22
|
+
// If tabster.focusable isn't present, we will ignore.
|
|
23
|
+
tabsterAttributes.focusable.isDefault = isDefault;
|
|
24
|
+
element.setAttribute('data-tabster', JSON.stringify(tabsterAttributes));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export function useEmblaCarousel(options) {
|
|
29
|
+
const { align, direction, loop, slidesToScroll, watchDrag, containScroll } = options;
|
|
30
|
+
const [activeIndex, setActiveIndex] = useControllableState({
|
|
31
|
+
defaultState: options.defaultActiveIndex,
|
|
32
|
+
state: options.activeIndex,
|
|
33
|
+
initialState: 0
|
|
34
|
+
});
|
|
35
|
+
const emblaOptions = React.useRef({
|
|
36
|
+
align,
|
|
37
|
+
direction,
|
|
38
|
+
loop,
|
|
39
|
+
slidesToScroll,
|
|
40
|
+
startIndex: activeIndex,
|
|
41
|
+
watchDrag,
|
|
42
|
+
containScroll
|
|
43
|
+
});
|
|
44
|
+
const emblaApi = React.useRef(null);
|
|
45
|
+
const autoplayRef = React.useRef(false);
|
|
46
|
+
const resetAutoplay = React.useCallback(()=>{
|
|
47
|
+
var _emblaApi_current;
|
|
48
|
+
(_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.plugins().autoplay.reset();
|
|
49
|
+
}, []);
|
|
50
|
+
/* Our autoplay button, which is required by standards for autoplay to be enabled, will handle controlled state */ const enableAutoplay = React.useCallback((autoplay)=>{
|
|
51
|
+
autoplayRef.current = autoplay;
|
|
52
|
+
if (autoplay) {
|
|
53
|
+
var _emblaApi_current;
|
|
54
|
+
(_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.plugins().autoplay.play();
|
|
55
|
+
// Reset after play to ensure timing and any focus/mouse pause state is reset.
|
|
56
|
+
resetAutoplay();
|
|
57
|
+
} else {
|
|
58
|
+
var _emblaApi_current1;
|
|
59
|
+
(_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.plugins().autoplay.stop();
|
|
60
|
+
}
|
|
61
|
+
}, [
|
|
62
|
+
resetAutoplay
|
|
63
|
+
]);
|
|
64
|
+
// Listeners contains callbacks for UI elements that may require state update based on embla changes
|
|
65
|
+
const listeners = React.useRef(new Set());
|
|
66
|
+
const subscribeForValues = React.useCallback((listener)=>{
|
|
67
|
+
listeners.current.add(listener);
|
|
68
|
+
return ()=>{
|
|
69
|
+
listeners.current.delete(listener);
|
|
70
|
+
};
|
|
71
|
+
}, []);
|
|
72
|
+
const containerRef = React.useMemo(()=>{
|
|
73
|
+
let currentElement = null;
|
|
74
|
+
const handleIndexChange = ()=>{
|
|
75
|
+
var _emblaApi_current, _emblaApi_current1, _emblaApi_current2;
|
|
76
|
+
var _emblaApi_current_selectedScrollSnap;
|
|
77
|
+
const newIndex = (_emblaApi_current_selectedScrollSnap = (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.selectedScrollSnap()) !== null && _emblaApi_current_selectedScrollSnap !== void 0 ? _emblaApi_current_selectedScrollSnap : 0;
|
|
78
|
+
const slides = (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.slideNodes();
|
|
79
|
+
var _emblaApi_current_internalEngine_slideRegistry_newIndex_;
|
|
80
|
+
const actualIndex = (_emblaApi_current_internalEngine_slideRegistry_newIndex_ = (_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.internalEngine().slideRegistry[newIndex][0]) !== null && _emblaApi_current_internalEngine_slideRegistry_newIndex_ !== void 0 ? _emblaApi_current_internalEngine_slideRegistry_newIndex_ : 0;
|
|
81
|
+
// We set the active or first index of group on-screen as the selected tabster index
|
|
82
|
+
slides === null || slides === void 0 ? void 0 : slides.forEach((slide, slideIndex)=>{
|
|
83
|
+
setTabsterDefault(slide, slideIndex === actualIndex);
|
|
84
|
+
});
|
|
85
|
+
setActiveIndex(newIndex);
|
|
86
|
+
};
|
|
87
|
+
const handleReinit = ()=>{
|
|
88
|
+
var _emblaApi_current, _emblaApi_current1, _emblaApi_current2;
|
|
89
|
+
var _emblaApi_current_slideNodes;
|
|
90
|
+
const nodes = (_emblaApi_current_slideNodes = (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.slideNodes()) !== null && _emblaApi_current_slideNodes !== void 0 ? _emblaApi_current_slideNodes : [];
|
|
91
|
+
var _emblaApi_current_internalEngine_slideRegistry;
|
|
92
|
+
const groupIndexList = (_emblaApi_current_internalEngine_slideRegistry = (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.internalEngine().slideRegistry) !== null && _emblaApi_current_internalEngine_slideRegistry !== void 0 ? _emblaApi_current_internalEngine_slideRegistry : [];
|
|
93
|
+
const navItemsCount = groupIndexList.length > 0 ? groupIndexList.length : nodes.length;
|
|
94
|
+
var _emblaApi_current_selectedScrollSnap;
|
|
95
|
+
const data = {
|
|
96
|
+
navItemsCount,
|
|
97
|
+
activeIndex: (_emblaApi_current_selectedScrollSnap = (_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.selectedScrollSnap()) !== null && _emblaApi_current_selectedScrollSnap !== void 0 ? _emblaApi_current_selectedScrollSnap : 0,
|
|
98
|
+
groupIndexList,
|
|
99
|
+
slideNodes: nodes
|
|
100
|
+
};
|
|
101
|
+
for (const listener of listeners.current){
|
|
102
|
+
listener(data);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
const handleVisibilityChange = ()=>{
|
|
106
|
+
var _emblaApi_current, _emblaApi_current1;
|
|
107
|
+
const cardElements = (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.slideNodes();
|
|
108
|
+
var _emblaApi_current_slidesInView;
|
|
109
|
+
const visibleIndexes = (_emblaApi_current_slidesInView = (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.slidesInView()) !== null && _emblaApi_current_slidesInView !== void 0 ? _emblaApi_current_slidesInView : [];
|
|
110
|
+
cardElements === null || cardElements === void 0 ? void 0 : cardElements.forEach((cardElement, index)=>{
|
|
111
|
+
cardElement.dispatchEvent(new CustomEvent(EMBLA_VISIBILITY_EVENT, {
|
|
112
|
+
bubbles: false,
|
|
113
|
+
detail: {
|
|
114
|
+
isVisible: visibleIndexes.includes(index)
|
|
115
|
+
}
|
|
116
|
+
}));
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
return {
|
|
120
|
+
set current (newElement){
|
|
121
|
+
if (currentElement) {
|
|
122
|
+
var _emblaApi_current, _emblaApi_current1, _emblaApi_current2, _emblaApi_current3;
|
|
123
|
+
(_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.off('slidesInView', handleVisibilityChange);
|
|
124
|
+
(_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.off('select', handleIndexChange);
|
|
125
|
+
(_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.off('reInit', handleReinit);
|
|
126
|
+
(_emblaApi_current3 = emblaApi.current) === null || _emblaApi_current3 === void 0 ? void 0 : _emblaApi_current3.destroy();
|
|
127
|
+
}
|
|
128
|
+
if (newElement) {
|
|
129
|
+
var _emblaApi_current4, _emblaApi_current5, _emblaApi_current6;
|
|
130
|
+
currentElement = newElement;
|
|
131
|
+
emblaApi.current = EmblaCarousel(newElement, {
|
|
132
|
+
...DEFAULT_EMBLA_OPTIONS,
|
|
133
|
+
...emblaOptions.current
|
|
134
|
+
}, [
|
|
135
|
+
Autoplay({
|
|
136
|
+
playOnInit: autoplayRef.current,
|
|
137
|
+
stopOnInteraction: !autoplayRef.current,
|
|
138
|
+
stopOnMouseEnter: true,
|
|
139
|
+
stopOnFocusIn: true,
|
|
140
|
+
rootNode: (emblaRoot)=>{
|
|
141
|
+
var _emblaRoot_querySelector;
|
|
142
|
+
return (_emblaRoot_querySelector = emblaRoot.querySelector(sliderClassname)) !== null && _emblaRoot_querySelector !== void 0 ? _emblaRoot_querySelector : emblaRoot;
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
]);
|
|
146
|
+
(_emblaApi_current4 = emblaApi.current) === null || _emblaApi_current4 === void 0 ? void 0 : _emblaApi_current4.on('reInit', handleReinit);
|
|
147
|
+
(_emblaApi_current5 = emblaApi.current) === null || _emblaApi_current5 === void 0 ? void 0 : _emblaApi_current5.on('slidesInView', handleVisibilityChange);
|
|
148
|
+
(_emblaApi_current6 = emblaApi.current) === null || _emblaApi_current6 === void 0 ? void 0 : _emblaApi_current6.on('select', handleIndexChange);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
}, [
|
|
153
|
+
setActiveIndex
|
|
154
|
+
]);
|
|
155
|
+
const carouselApi = React.useMemo(()=>({
|
|
156
|
+
scrollToElement: (element, jump)=>{
|
|
157
|
+
var _emblaApi_current, _emblaApi_current1, _emblaApi_current2;
|
|
158
|
+
const cardElements = (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.slideNodes();
|
|
159
|
+
var _emblaApi_current_internalEngine_slideRegistry;
|
|
160
|
+
const groupIndexList = (_emblaApi_current_internalEngine_slideRegistry = (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.internalEngine().slideRegistry) !== null && _emblaApi_current_internalEngine_slideRegistry !== void 0 ? _emblaApi_current_internalEngine_slideRegistry : [];
|
|
161
|
+
var _cardElements_indexOf;
|
|
162
|
+
const cardIndex = (_cardElements_indexOf = cardElements === null || cardElements === void 0 ? void 0 : cardElements.indexOf(element)) !== null && _cardElements_indexOf !== void 0 ? _cardElements_indexOf : 0;
|
|
163
|
+
const groupIndex = groupIndexList.findIndex((group)=>{
|
|
164
|
+
return group.includes(cardIndex);
|
|
165
|
+
});
|
|
166
|
+
const indexFocus = groupIndex !== null && groupIndex !== void 0 ? groupIndex : cardIndex;
|
|
167
|
+
(_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.scrollTo(indexFocus, jump);
|
|
168
|
+
return indexFocus;
|
|
169
|
+
},
|
|
170
|
+
scrollToIndex: (index, jump)=>{
|
|
171
|
+
var _emblaApi_current;
|
|
172
|
+
(_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.scrollTo(index, jump);
|
|
173
|
+
},
|
|
174
|
+
scrollInDirection: (dir)=>{
|
|
175
|
+
var _emblaApi_current;
|
|
176
|
+
if (dir === 'prev') {
|
|
177
|
+
var _emblaApi_current1;
|
|
178
|
+
(_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.scrollPrev();
|
|
179
|
+
} else {
|
|
180
|
+
var _emblaApi_current2;
|
|
181
|
+
(_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.scrollNext();
|
|
182
|
+
}
|
|
183
|
+
var _emblaApi_current_selectedScrollSnap;
|
|
184
|
+
return (_emblaApi_current_selectedScrollSnap = (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.selectedScrollSnap()) !== null && _emblaApi_current_selectedScrollSnap !== void 0 ? _emblaApi_current_selectedScrollSnap : 0;
|
|
185
|
+
}
|
|
186
|
+
}), []);
|
|
187
|
+
React.useEffect(()=>{
|
|
188
|
+
var _emblaApi_current;
|
|
189
|
+
var _emblaApi_current_selectedScrollSnap;
|
|
190
|
+
const currentActiveIndex = (_emblaApi_current_selectedScrollSnap = (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.selectedScrollSnap()) !== null && _emblaApi_current_selectedScrollSnap !== void 0 ? _emblaApi_current_selectedScrollSnap : 0;
|
|
191
|
+
if (activeIndex !== currentActiveIndex) {
|
|
192
|
+
var _emblaApi_current1;
|
|
193
|
+
(_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.scrollTo(activeIndex);
|
|
194
|
+
}
|
|
195
|
+
}, [
|
|
196
|
+
activeIndex
|
|
197
|
+
]);
|
|
198
|
+
React.useEffect(()=>{
|
|
199
|
+
var _emblaApi_current;
|
|
200
|
+
emblaOptions.current = {
|
|
201
|
+
align,
|
|
202
|
+
direction,
|
|
203
|
+
loop,
|
|
204
|
+
slidesToScroll,
|
|
205
|
+
watchDrag,
|
|
206
|
+
containScroll
|
|
207
|
+
};
|
|
208
|
+
(_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.reInit({
|
|
209
|
+
...DEFAULT_EMBLA_OPTIONS,
|
|
210
|
+
...emblaOptions.current
|
|
211
|
+
}, [
|
|
212
|
+
Autoplay({
|
|
213
|
+
playOnInit: autoplayRef.current,
|
|
214
|
+
stopOnInteraction: !autoplayRef.current,
|
|
215
|
+
stopOnMouseEnter: true,
|
|
216
|
+
stopOnFocusIn: true,
|
|
217
|
+
rootNode: (emblaRoot)=>{
|
|
218
|
+
var _emblaRoot_querySelector;
|
|
219
|
+
return (_emblaRoot_querySelector = emblaRoot.querySelector(sliderClassname)) !== null && _emblaRoot_querySelector !== void 0 ? _emblaRoot_querySelector : emblaRoot;
|
|
220
|
+
}
|
|
221
|
+
})
|
|
222
|
+
]);
|
|
223
|
+
}, [
|
|
224
|
+
align,
|
|
225
|
+
direction,
|
|
226
|
+
loop,
|
|
227
|
+
slidesToScroll,
|
|
228
|
+
watchDrag,
|
|
229
|
+
containScroll
|
|
230
|
+
]);
|
|
231
|
+
return {
|
|
232
|
+
activeIndex,
|
|
233
|
+
carouselApi,
|
|
234
|
+
containerRef,
|
|
235
|
+
subscribeForValues,
|
|
236
|
+
enableAutoplay,
|
|
237
|
+
resetAutoplay
|
|
238
|
+
};
|
|
239
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useEmblaCarousel.ts"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport EmblaCarousel, { type EmblaCarouselType, type EmblaOptionsType } from 'embla-carousel';\nimport * as React from 'react';\n\nimport { carouselCardClassNames } from './CarouselCard/useCarouselCardStyles.styles';\nimport { carouselSliderClassNames } from './CarouselSlider/useCarouselSliderStyles.styles';\nimport { CarouselUpdateData, CarouselVisibilityEventDetail } from '../Carousel';\nimport Autoplay from 'embla-carousel-autoplay';\n\nconst sliderClassname = `.${carouselSliderClassNames.root}`;\n\nconst DEFAULT_EMBLA_OPTIONS: EmblaOptionsType = {\n containScroll: 'trimSnaps',\n inViewThreshold: 0.99,\n watchDrag: false,\n skipSnaps: true,\n\n container: sliderClassname,\n slides: `.${carouselCardClassNames.root}`,\n};\n\nexport const EMBLA_VISIBILITY_EVENT = 'embla:visibilitychange';\n\nexport function setTabsterDefault(element: Element, isDefault: boolean) {\n const tabsterAttr = element.getAttribute('data-tabster');\n\n if (tabsterAttr) {\n const tabsterAttributes = JSON.parse(tabsterAttr);\n if (tabsterAttributes.focusable) {\n // If tabster.focusable isn't present, we will ignore.\n tabsterAttributes.focusable.isDefault = isDefault;\n element.setAttribute('data-tabster', JSON.stringify(tabsterAttributes));\n }\n }\n}\n\nexport function useEmblaCarousel(\n options: Pick<EmblaOptionsType, 'align' | 'direction' | 'loop' | 'slidesToScroll' | 'watchDrag' | 'containScroll'> & {\n defaultActiveIndex: number | undefined;\n activeIndex: number | undefined;\n },\n) {\n const { align, direction, loop, slidesToScroll, watchDrag, containScroll } = options;\n const [activeIndex, setActiveIndex] = useControllableState({\n defaultState: options.defaultActiveIndex,\n state: options.activeIndex,\n initialState: 0,\n });\n\n const emblaOptions = React.useRef<EmblaOptionsType>({\n align,\n direction,\n loop,\n slidesToScroll,\n startIndex: activeIndex,\n watchDrag,\n containScroll,\n });\n\n const emblaApi = React.useRef<EmblaCarouselType | null>(null);\n const autoplayRef = React.useRef<boolean>(false);\n\n const resetAutoplay = React.useCallback(() => {\n emblaApi.current?.plugins().autoplay.reset();\n }, []);\n\n /* Our autoplay button, which is required by standards for autoplay to be enabled, will handle controlled state */\n const enableAutoplay = React.useCallback(\n (autoplay: boolean) => {\n autoplayRef.current = autoplay;\n if (autoplay) {\n emblaApi.current?.plugins().autoplay.play();\n // Reset after play to ensure timing and any focus/mouse pause state is reset.\n resetAutoplay();\n } else {\n emblaApi.current?.plugins().autoplay.stop();\n }\n },\n [resetAutoplay],\n );\n\n // Listeners contains callbacks for UI elements that may require state update based on embla changes\n const listeners = React.useRef(new Set<(data: CarouselUpdateData) => void>());\n const subscribeForValues = React.useCallback((listener: (data: CarouselUpdateData) => void) => {\n listeners.current.add(listener);\n\n return () => {\n listeners.current.delete(listener);\n };\n }, []);\n\n const containerRef: React.RefObject<HTMLDivElement> = React.useMemo(() => {\n let currentElement: HTMLDivElement | null = null;\n\n const handleIndexChange = () => {\n const newIndex = emblaApi.current?.selectedScrollSnap() ?? 0;\n const slides = emblaApi.current?.slideNodes();\n const actualIndex = emblaApi.current?.internalEngine().slideRegistry[newIndex][0] ?? 0;\n // We set the active or first index of group on-screen as the selected tabster index\n slides?.forEach((slide, slideIndex) => {\n setTabsterDefault(slide, slideIndex === actualIndex);\n });\n setActiveIndex(newIndex);\n };\n const handleReinit = () => {\n const nodes: HTMLElement[] = emblaApi.current?.slideNodes() ?? [];\n const groupIndexList: number[][] = emblaApi.current?.internalEngine().slideRegistry ?? [];\n const navItemsCount = groupIndexList.length > 0 ? groupIndexList.length : nodes.length;\n\n const data: CarouselUpdateData = {\n navItemsCount,\n activeIndex: emblaApi.current?.selectedScrollSnap() ?? 0,\n groupIndexList,\n slideNodes: nodes,\n };\n\n for (const listener of listeners.current) {\n listener(data);\n }\n };\n const handleVisibilityChange = () => {\n const cardElements = emblaApi.current?.slideNodes();\n const visibleIndexes = emblaApi.current?.slidesInView() ?? [];\n\n cardElements?.forEach((cardElement, index) => {\n cardElement.dispatchEvent(\n new CustomEvent<CarouselVisibilityEventDetail>(EMBLA_VISIBILITY_EVENT, {\n bubbles: false,\n detail: { isVisible: visibleIndexes.includes(index) },\n }),\n );\n });\n };\n\n return {\n set current(newElement: HTMLDivElement | null) {\n if (currentElement) {\n emblaApi.current?.off('slidesInView', handleVisibilityChange);\n emblaApi.current?.off('select', handleIndexChange);\n emblaApi.current?.off('reInit', handleReinit);\n emblaApi.current?.destroy();\n }\n\n if (newElement) {\n currentElement = newElement;\n emblaApi.current = EmblaCarousel(\n newElement,\n {\n ...DEFAULT_EMBLA_OPTIONS,\n ...emblaOptions.current,\n },\n [\n Autoplay({\n playOnInit: autoplayRef.current,\n stopOnInteraction: !autoplayRef.current,\n stopOnMouseEnter: true,\n stopOnFocusIn: true,\n rootNode: (emblaRoot: HTMLElement) => {\n return emblaRoot.querySelector(sliderClassname) ?? emblaRoot;\n },\n }),\n ],\n );\n\n emblaApi.current?.on('reInit', handleReinit);\n emblaApi.current?.on('slidesInView', handleVisibilityChange);\n emblaApi.current?.on('select', handleIndexChange);\n }\n },\n };\n }, [setActiveIndex]);\n\n const carouselApi = React.useMemo(\n () => ({\n scrollToElement: (element: HTMLElement, jump?: boolean) => {\n const cardElements = emblaApi.current?.slideNodes();\n const groupIndexList = emblaApi.current?.internalEngine().slideRegistry ?? [];\n const cardIndex = cardElements?.indexOf(element) ?? 0;\n const groupIndex = groupIndexList.findIndex(group => {\n return group.includes(cardIndex);\n });\n const indexFocus = groupIndex ?? cardIndex;\n emblaApi.current?.scrollTo(indexFocus, jump);\n\n return indexFocus;\n },\n scrollToIndex: (index: number, jump?: boolean) => {\n emblaApi.current?.scrollTo(index, jump);\n },\n scrollInDirection: (dir: 'prev' | 'next') => {\n if (dir === 'prev') {\n emblaApi.current?.scrollPrev();\n } else {\n emblaApi.current?.scrollNext();\n }\n\n return emblaApi.current?.selectedScrollSnap() ?? 0;\n },\n }),\n [],\n );\n\n React.useEffect(() => {\n const currentActiveIndex = emblaApi.current?.selectedScrollSnap() ?? 0;\n\n if (activeIndex !== currentActiveIndex) {\n emblaApi.current?.scrollTo(activeIndex);\n }\n }, [activeIndex]);\n\n React.useEffect(() => {\n emblaOptions.current = { align, direction, loop, slidesToScroll, watchDrag, containScroll };\n emblaApi.current?.reInit(\n {\n ...DEFAULT_EMBLA_OPTIONS,\n ...emblaOptions.current,\n },\n [\n Autoplay({\n playOnInit: autoplayRef.current,\n stopOnInteraction: !autoplayRef.current,\n stopOnMouseEnter: true,\n stopOnFocusIn: true,\n rootNode: (emblaRoot: HTMLElement) => {\n return emblaRoot.querySelector(sliderClassname) ?? emblaRoot;\n },\n }),\n ],\n );\n }, [align, direction, loop, slidesToScroll, watchDrag, containScroll]);\n\n return {\n activeIndex,\n carouselApi,\n containerRef,\n subscribeForValues,\n enableAutoplay,\n resetAutoplay,\n };\n}\n"],"names":["useControllableState","EmblaCarousel","React","carouselCardClassNames","carouselSliderClassNames","Autoplay","sliderClassname","root","DEFAULT_EMBLA_OPTIONS","containScroll","inViewThreshold","watchDrag","skipSnaps","container","slides","EMBLA_VISIBILITY_EVENT","setTabsterDefault","element","isDefault","tabsterAttr","getAttribute","tabsterAttributes","JSON","parse","focusable","setAttribute","stringify","useEmblaCarousel","options","align","direction","loop","slidesToScroll","activeIndex","setActiveIndex","defaultState","defaultActiveIndex","state","initialState","emblaOptions","useRef","startIndex","emblaApi","autoplayRef","resetAutoplay","useCallback","current","plugins","autoplay","reset","enableAutoplay","play","stop","listeners","Set","subscribeForValues","listener","add","delete","containerRef","useMemo","currentElement","handleIndexChange","newIndex","selectedScrollSnap","slideNodes","actualIndex","internalEngine","slideRegistry","forEach","slide","slideIndex","handleReinit","nodes","groupIndexList","navItemsCount","length","data","handleVisibilityChange","cardElements","visibleIndexes","slidesInView","cardElement","index","dispatchEvent","CustomEvent","bubbles","detail","isVisible","includes","newElement","off","destroy","playOnInit","stopOnInteraction","stopOnMouseEnter","stopOnFocusIn","rootNode","emblaRoot","querySelector","on","carouselApi","scrollToElement","jump","cardIndex","indexOf","groupIndex","findIndex","group","indexFocus","scrollTo","scrollToIndex","scrollInDirection","dir","scrollPrev","scrollNext","useEffect","currentActiveIndex","reInit"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { CarouselButton, carouselButtonClassNames, renderCarouselButton_unstable, useCarouselButtonStyles_unstable, useCarouselButton_unstable } from './CarouselButton';
|
|
2
|
+
export { CarouselNav, carouselNavClassNames, renderCarouselNav_unstable, useCarouselNavStyles_unstable, useCarouselNav_unstable } from './CarouselNav';
|
|
3
|
+
export { CarouselNavButton, carouselNavButtonClassNames, renderCarouselNavButton_unstable, useCarouselNavButtonStyles_unstable, useCarouselNavButton_unstable } from './CarouselNavButton';
|
|
4
|
+
export { Carousel, carouselClassNames, renderCarousel_unstable, useCarouselStyles_unstable, useCarousel_unstable } from './Carousel';
|
|
5
|
+
export { CarouselCard, carouselCardClassNames, renderCarouselCard_unstable, useCarouselCardStyles_unstable, useCarouselCard_unstable } from './CarouselCard';
|
|
6
|
+
export { CarouselAutoplayButton, carouselAutoplayButtonClassNames, renderCarouselAutoplayButton_unstable, useCarouselAutoplayButtonStyles_unstable, useCarouselAutoplayButton_unstable } from './CarouselAutoplayButton';
|
|
7
|
+
export { CarouselNavImageButton, carouselNavImageButtonClassNames, renderCarouselNavImageButton_unstable, useCarouselNavImageButtonStyles_unstable, useCarouselNavImageButton_unstable } from './CarouselNavImageButton';
|
|
8
|
+
export { CarouselSlider, carouselSliderClassNames, renderCarouselSlider_unstable, useCarouselSliderStyles_unstable, useCarouselSlider_unstable } from './CarouselSlider';
|
|
9
|
+
export { CarouselNavContainer, carouselNavContainerClassNames, renderCarouselNavContainer_unstable, useCarouselNavContainerStyles_unstable, useCarouselNavContainer_unstable } from './CarouselNavContainer';
|
|
10
|
+
export { carouselContextDefaultValue, CarouselProvider, useCarouselContext_unstable } from './CarouselContext';
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export type { CarouselButtonProps, CarouselButtonSlots, CarouselButtonState } from './CarouselButton';\nexport {\n CarouselButton,\n carouselButtonClassNames,\n renderCarouselButton_unstable,\n useCarouselButtonStyles_unstable,\n useCarouselButton_unstable,\n} from './CarouselButton';\nexport type { CarouselNavProps, CarouselNavSlots, CarouselNavState, NavButtonRenderFunction } from './CarouselNav';\nexport {\n CarouselNav,\n carouselNavClassNames,\n renderCarouselNav_unstable,\n useCarouselNavStyles_unstable,\n useCarouselNav_unstable,\n} from './CarouselNav';\nexport type { CarouselNavButtonProps, CarouselNavButtonSlots, CarouselNavButtonState } from './CarouselNavButton';\nexport {\n CarouselNavButton,\n carouselNavButtonClassNames,\n renderCarouselNavButton_unstable,\n useCarouselNavButtonStyles_unstable,\n useCarouselNavButton_unstable,\n} from './CarouselNavButton';\nexport type { CarouselProps, CarouselSlots, CarouselState, CarouselAnnouncerFunction } from './Carousel';\nexport {\n Carousel,\n carouselClassNames,\n renderCarousel_unstable,\n useCarouselStyles_unstable,\n useCarousel_unstable,\n} from './Carousel';\nexport type { CarouselCardProps, CarouselCardSlots, CarouselCardState } from './CarouselCard';\nexport {\n CarouselCard,\n carouselCardClassNames,\n renderCarouselCard_unstable,\n useCarouselCardStyles_unstable,\n useCarouselCard_unstable,\n} from './CarouselCard';\nexport type {\n CarouselAutoplayButtonProps,\n CarouselAutoplayButtonSlots,\n CarouselAutoplayButtonState,\n} from './CarouselAutoplayButton';\nexport {\n CarouselAutoplayButton,\n carouselAutoplayButtonClassNames,\n renderCarouselAutoplayButton_unstable,\n useCarouselAutoplayButtonStyles_unstable,\n useCarouselAutoplayButton_unstable,\n} from './CarouselAutoplayButton';\nexport type {\n CarouselNavImageButtonProps,\n CarouselNavImageButtonSlots,\n CarouselNavImageButtonState,\n} from './CarouselNavImageButton';\nexport {\n CarouselNavImageButton,\n carouselNavImageButtonClassNames,\n renderCarouselNavImageButton_unstable,\n useCarouselNavImageButtonStyles_unstable,\n useCarouselNavImageButton_unstable,\n} from './CarouselNavImageButton';\nexport {\n CarouselSlider,\n carouselSliderClassNames,\n renderCarouselSlider_unstable,\n useCarouselSliderStyles_unstable,\n useCarouselSlider_unstable,\n} from './CarouselSlider';\nexport type { CarouselSliderProps, CarouselSliderSlots, CarouselSliderState } from './CarouselSlider';\nexport type {\n CarouselNavContainerProps,\n CarouselNavContainerSlots,\n CarouselNavContainerState,\n} from './CarouselNavContainer';\nexport {\n CarouselNavContainer,\n carouselNavContainerClassNames,\n renderCarouselNavContainer_unstable,\n useCarouselNavContainerStyles_unstable,\n useCarouselNavContainer_unstable,\n} from './CarouselNavContainer';\nexport { carouselContextDefaultValue, CarouselProvider, useCarouselContext_unstable } from './CarouselContext';\nexport type { CarouselIndexChangeData, CarouselContextValue, CarouselContextValues } from './CarouselContext';\n"],"names":["CarouselButton","carouselButtonClassNames","renderCarouselButton_unstable","useCarouselButtonStyles_unstable","useCarouselButton_unstable","CarouselNav","carouselNavClassNames","renderCarouselNav_unstable","useCarouselNavStyles_unstable","useCarouselNav_unstable","CarouselNavButton","carouselNavButtonClassNames","renderCarouselNavButton_unstable","useCarouselNavButtonStyles_unstable","useCarouselNavButton_unstable","Carousel","carouselClassNames","renderCarousel_unstable","useCarouselStyles_unstable","useCarousel_unstable","CarouselCard","carouselCardClassNames","renderCarouselCard_unstable","useCarouselCardStyles_unstable","useCarouselCard_unstable","CarouselAutoplayButton","carouselAutoplayButtonClassNames","renderCarouselAutoplayButton_unstable","useCarouselAutoplayButtonStyles_unstable","useCarouselAutoplayButton_unstable","CarouselNavImageButton","carouselNavImageButtonClassNames","renderCarouselNavImageButton_unstable","useCarouselNavImageButtonStyles_unstable","useCarouselNavImageButton_unstable","CarouselSlider","carouselSliderClassNames","renderCarouselSlider_unstable","useCarouselSliderStyles_unstable","useCarouselSlider_unstable","CarouselNavContainer","carouselNavContainerClassNames","renderCarouselNavContainer_unstable","useCarouselNavContainerStyles_unstable","useCarouselNavContainer_unstable","carouselContextDefaultValue","CarouselProvider","useCarouselContext_unstable"],"rangeMappings":";;;;;;;;;","mappings":"AACA,SACEA,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,QACrB,mBAAmB;AAE1B,SACEC,WAAW,EACXC,qBAAqB,EACrBC,0BAA0B,EAC1BC,6BAA6B,EAC7BC,uBAAuB,QAClB,gBAAgB;AAEvB,SACEC,iBAAiB,EACjBC,2BAA2B,EAC3BC,gCAAgC,EAChCC,mCAAmC,EACnCC,6BAA6B,QACxB,sBAAsB;AAE7B,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,oBAAoB,QACf,aAAa;AAEpB,SACEC,YAAY,EACZC,sBAAsB,EACtBC,2BAA2B,EAC3BC,8BAA8B,EAC9BC,wBAAwB,QACnB,iBAAiB;AAMxB,SACEC,sBAAsB,EACtBC,gCAAgC,EAChCC,qCAAqC,EACrCC,wCAAwC,EACxCC,kCAAkC,QAC7B,2BAA2B;AAMlC,SACEC,sBAAsB,EACtBC,gCAAgC,EAChCC,qCAAqC,EACrCC,wCAAwC,EACxCC,kCAAkC,QAC7B,2BAA2B;AAClC,SACEC,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,QACrB,mBAAmB;AAO1B,SACEC,oBAAoB,EACpBC,8BAA8B,EAC9BC,mCAAmC,EACnCC,sCAAsC,EACtCC,gCAAgC,QAC3B,yBAAyB;AAChC,SAASC,2BAA2B,EAAEC,gBAAgB,EAAEC,2BAA2B,QAAQ,oBAAoB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Carousel.ts"],"sourcesContent":["export * from './components/Carousel/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselAutoplayButton.ts"],"sourcesContent":["export * from './components/CarouselAutoplayButton/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselButton.ts"],"sourcesContent":["export * from './components/CarouselButton/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselCard.ts"],"sourcesContent":["export * from './components/CarouselCard/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _export_star = require("@swc/helpers/_/_export_star");
|
|
6
|
+
_export_star._(require("./components/CarouselContext"), exports);
|
|
7
|
+
_export_star._(require("./components/CarouselContext.types"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselContext.ts"],"sourcesContent":["export * from './components/CarouselContext';\nexport * from './components/CarouselContext.types';\n"],"names":[],"rangeMappings":";;;;;;","mappings":";;;;;uBAAc;uBACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselNav.ts"],"sourcesContent":["export * from './components/CarouselNav/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselNavButton.ts"],"sourcesContent":["export * from './components/CarouselNavButton/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselNavContainer.ts"],"sourcesContent":["export * from './components/CarouselNavContainer/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselNavImageButton.ts"],"sourcesContent":["export * from './components/CarouselNavImageButton/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CarouselSlider.ts"],"sourcesContent":["export * from './components/CarouselSlider/index';\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "Carousel", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Carousel;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
13
|
+
const _useCarousel = require("./useCarousel");
|
|
14
|
+
const _renderCarousel = require("./renderCarousel");
|
|
15
|
+
const _useCarouselStylesstyles = require("./useCarouselStyles.styles");
|
|
16
|
+
const _useCarouselContextValues = require("./useCarouselContextValues");
|
|
17
|
+
const Carousel = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
18
|
+
const state = (0, _useCarousel.useCarousel_unstable)(props, ref);
|
|
19
|
+
(0, _useCarouselStylesstyles.useCarouselStyles_unstable)(state);
|
|
20
|
+
const contextValues = (0, _useCarouselContextValues.useCarouselContextValues_unstable)(state);
|
|
21
|
+
// TODO update types in packages/react-components/react-shared-contexts/src/CustomStyleHooksContext/CustomStyleHooksContext.ts
|
|
22
|
+
// https://github.com/microsoft/fluentui/blob/master/rfcs/react-components/convergence/custom-styling.md
|
|
23
|
+
// useCustomStyleHook_unstable('useCarouselStyles_unstable')(state);
|
|
24
|
+
return (0, _renderCarousel.renderCarousel_unstable)(state, contextValues);
|
|
25
|
+
});
|
|
26
|
+
Carousel.displayName = 'Carousel';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Carousel.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCarousel_unstable } from './useCarousel';\nimport { renderCarousel_unstable } from './renderCarousel';\nimport { useCarouselStyles_unstable } from './useCarouselStyles.styles';\nimport type { CarouselProps } from './Carousel.types';\nimport { useCarouselContextValues_unstable } from './useCarouselContextValues';\n\n/**\n * Carousel is the context wrapper and container for all carousel content/controls,\n * it has no direct style or slot opinions.\n *\n * Carousel also provides API interfaces for callbacks that will occur on navigation events.\n */\nexport const Carousel: ForwardRefComponent<CarouselProps> = React.forwardRef((props, ref) => {\n const state = useCarousel_unstable(props, ref);\n\n useCarouselStyles_unstable(state);\n\n const contextValues = useCarouselContextValues_unstable(state);\n // TODO update types in packages/react-components/react-shared-contexts/src/CustomStyleHooksContext/CustomStyleHooksContext.ts\n // https://github.com/microsoft/fluentui/blob/master/rfcs/react-components/convergence/custom-styling.md\n // useCustomStyleHook_unstable('useCarouselStyles_unstable')(state);\n return renderCarousel_unstable(state, contextValues);\n});\n\nCarousel.displayName = 'Carousel';\n"],"names":["Carousel","React","forwardRef","props","ref","state","useCarousel_unstable","useCarouselStyles_unstable","contextValues","useCarouselContextValues_unstable","renderCarousel_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAcaA;;;eAAAA;;;;iEAdU;6BAEc;gCACG;yCACG;0CAEO;AAQ3C,MAAMA,WAAAA,WAAAA,GAA+CC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IACnF,MAAMC,QAAQC,IAAAA,iCAAAA,EAAqBH,OAAOC;IAE1CG,IAAAA,mDAAAA,EAA2BF;IAE3B,MAAMG,gBAAgBC,IAAAA,2DAAAA,EAAkCJ;IACxD,8HAA8H;IAC9H,wGAAwG;IACxG,oEAAoE;IACpE,OAAOK,IAAAA,uCAAAA,EAAwBL,OAAOG;AACxC;AAEAR,SAASW,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Carousel.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, EventHandler, Slot } from '@fluentui/react-utilities';\nimport type { CarouselContextValue, CarouselIndexChangeData } from '../CarouselContext.types';\n\nexport type CarouselSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * Children function replacement, passes through updated context index and carousel information for localization\n */\nexport type CarouselAnnouncerFunction = (index: number, totalSlides: number, slideGroupList: number[][]) => string;\n\n/**\n * Carousel Props\n */\nexport type CarouselProps = ComponentProps<CarouselSlots> & {\n /**\n * The initial page to display in uncontrolled mode.\n */\n defaultActiveIndex?: number;\n\n /**\n * The alignment of the carousel.\n */\n align?: 'center' | 'start' | 'end';\n\n /**\n * The value of the currently active page.\n */\n activeIndex?: number;\n\n /**\n * Callback to notify a page change.\n */\n onActiveIndexChange?: EventHandler<CarouselIndexChangeData>;\n\n /**\n * Circular enables the carousel to loop back around on navigation past trailing index.\n */\n circular?: boolean;\n\n /**\n * Controls the number of carousel cards per navigation element, will default to 'auto'\n * Recommended to set to '1' when using full page carousel cards.\n */\n groupSize?: number | 'auto';\n\n /**\n * Enables drag to scroll on carousel items.\n * Defaults to: False\n */\n draggable?: boolean;\n\n /**\n * Adds whitespace to start/end so that 'align' prop is always respected for current index\n * Defaults to: False\n */\n whitespace?: boolean;\n\n /**\n * Localizes the string used to announce carousel page changes\n * Defaults to: undefined\n */\n announcement?: CarouselAnnouncerFunction;\n};\n\n/**\n * State used in rendering Carousel\n */\nexport type CarouselState = ComponentState<CarouselSlots> & CarouselContextValue;\n\nexport interface CarouselVisibilityEventDetail {\n isVisible: boolean;\n}\n\nexport type CarouselVisibilityChangeEvent = CustomEvent<CarouselVisibilityEventDetail>;\n\n/**\n * @internal\n */\nexport interface CarouselUpdateData {\n /**\n * The current carousel index, a change in index will not trigger the callback (use context index instead).\n */\n activeIndex: number;\n /**\n * The total number of slides to be navigated, accounts for grouping.\n */\n navItemsCount: number;\n /**\n * A breakdown of the card indexes contained within each slide index.\n */\n groupIndexList: number[][];\n /**\n * An array of the card DOM elements after render\n */\n slideNodes: HTMLElement[];\n}\n"],"names":[],"rangeMappings":";;","mappings":"AA6EA;;CAEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _export_star = require("@swc/helpers/_/_export_star");
|
|
6
|
+
_export_star._(require("./Carousel"), exports);
|
|
7
|
+
_export_star._(require("./Carousel.types"), exports);
|
|
8
|
+
_export_star._(require("./renderCarousel"), exports);
|
|
9
|
+
_export_star._(require("./useCarousel"), exports);
|
|
10
|
+
_export_star._(require("./useCarouselStyles.styles"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './Carousel';\nexport * from './Carousel.types';\nexport * from './renderCarousel';\nexport * from './useCarousel';\nexport * from './useCarouselStyles.styles';\n"],"names":[],"rangeMappings":";;;;;;;;;","mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "renderCarousel_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return renderCarousel_unstable;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
|
|
12
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
|
13
|
+
const _CarouselContext = require("../CarouselContext");
|
|
14
|
+
const renderCarousel_unstable = (state, contextValues)=>{
|
|
15
|
+
(0, _reactutilities.assertSlots)(state);
|
|
16
|
+
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_CarouselContext.CarouselProvider, {
|
|
17
|
+
value: contextValues.carousel,
|
|
18
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {})
|
|
19
|
+
});
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderCarousel.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { CarouselState, CarouselSlots } from './Carousel.types';\nimport { CarouselProvider } from '../CarouselContext';\nimport type { CarouselContextValues } from '../CarouselContext.types';\n\n/**\n * Render the final JSX of Carousel\n */\nexport const renderCarousel_unstable = (state: CarouselState, contextValues: CarouselContextValues) => {\n assertSlots<CarouselSlots>(state);\n\n return (\n <CarouselProvider value={contextValues.carousel}>\n <state.root />\n </CarouselProvider>\n );\n};\n"],"names":["renderCarousel_unstable","state","contextValues","assertSlots","_jsx","CarouselProvider","value","carousel","root"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAWaA;;;eAAAA;;;4BAVb;gCAE4B;iCAEK;AAM1B,MAAMA,0BAA0B,CAACC,OAAsBC;IAC5DC,IAAAA,2BAAAA,EAA2BF;IAE3B,OAAA,WAAA,GACEG,IAAAA,eAAA,EAACC,iCAAAA,EAAAA;QAAiBC,OAAOJ,cAAcK,QAAQ;kBAC7C,WAAA,GAAAH,IAAAA,eAAA,EAACH,MAAMO,IAAI,EAAA,CAAA;;AAGjB"}
|