{"version":3,"file":"static/js/vendor.async.landing~5603c60f.c9ee5d5c.chunk.js","mappings":"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","sources":["../../../../node_modules/.pnpm/@fluentui+react-avatar@9.6.35_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-avatar/lib/contexts/AvatarContext.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbButton/BreadcrumbButton.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbButton/useBreadcrumbButton.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbButton/renderBreadcrumbButton.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbDivider/BreadcrumbDivider.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbItem/BreadcrumbItem.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbItem/useBreadcrumbItem.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbItem/renderBreadcrumbItem.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/useBreadcrumbStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/Breadcrumb.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/useBreadcrumb.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/useBreadcrumbContextValue.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/renderBreadcrumb.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/BreadcrumbContext.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/utils/partitionBreadcrumbItems.js","../../../../node_modules/.pnpm/@fluentui+react-breadcrumb@9.0.34_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17._zu6tlyn3kd6v2vhuow7jrne4ca/node_modules/@fluentui/react-breadcrumb/lib/utils/truncateBreadcrumb.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselCard/CarouselCard.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselCard/useCarouselCard.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselCard/renderCarouselCard.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselCard/useCarouselCardStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselContext.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNavButton/useCarouselNavButtonStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNavButton/CarouselNavButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNavButton/useCarouselNavButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNavButton/renderCarouselNavButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselAutoplayButton/useCarouselAutoplayButtonStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselAutoplayButton/CarouselAutoplayButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselAutoplayButton/useCarouselAutoplayButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselAutoplayButton/renderCarouselAutoplayButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselButton/useCarouselButtonStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselButton/useCarouselButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselButton/CarouselButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselButton/renderCarouselButton.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNavContainer/renderCarouselNavContainer.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNavContainer/useCarouselNavContainerStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNavContainer/CarouselNavContainer.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNavContainer/useCarouselNavContainer.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNav/useCarouselNavStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNav/CarouselNav.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNav/useCarouselNav.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNav/renderCarouselNav.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNav/CarouselNavContext.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselNav/CarouselNavIndexContext.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselSlider/CarouselSlider.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselSlider/useCarouselSlider.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselSlider/renderCarouselSlider.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselSlider/CarouselSliderContext.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselSlider/useCarouselSliderStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselViewport/useCarouselViewportStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselViewport/CarouselViewport.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselViewport/useCarouselViewport.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/CarouselViewport/renderCarouselViewport.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/Carousel/Carousel.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/Carousel/useCarousel.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/Carousel/useCarouselContextValues.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/Carousel/renderCarousel.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/Carousel/useCarouselStyles.styles.js","../../../../node_modules/.pnpm/embla-carousel@8.5.2/node_modules/embla-carousel/esm/embla-carousel.esm.js","../../../../node_modules/.pnpm/embla-carousel-autoplay@8.5.2_embla-carousel@8.5.2/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js","../../../../node_modules/.pnpm/embla-carousel-fade@8.5.2_embla-carousel@8.5.2/node_modules/embla-carousel-fade/esm/embla-carousel-fade.esm.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/useEmblaCarousel.js","../../../../node_modules/.pnpm/@fluentui+react-carousel@9.4.4_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-carousel/lib/components/pointerEvents.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/HorizontalBarChart/HorizontalBarChart.base.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/HorizontalBarChart/HorizontalBarChart.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/HorizontalBarChart/HorizontalBarChart.styles.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/Legends/Legends.base.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/Legends/Legends.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/Legends/Legends.styles.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/Legends/shape.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/CommonComponents/CartesianChart.base.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/CommonComponents/CartesianChart.styles.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/CommonComponents/CartesianChart.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/LineChart/eventAnnotation/Textbox.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/LineChart/eventAnnotation/LabelLink.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/LineChart/eventAnnotation/EventAnnotation.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/LineChart/LineChart.base.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/LineChart/LineChart.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/LineChart/LineChart.styles.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/StackedBarChart/MultiStackedBarChart.base.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/StackedBarChart/MultiStackedBarChart.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/StackedBarChart/MultiStackedBarChart.styles.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/StackedBarChart/StackedBarChart.base.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/StackedBarChart/StackedBarChart.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/components/StackedBarChart/StackedBarChart.styles.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/utilities/ChartHoverCard/ChartHoverCard.base.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/utilities/ChartHoverCard/ChartHoverCard.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/utilities/ChartHoverCard/ChartHoverCard.styles.js","../../../../node_modules/.pnpm/d3-axis@1.0.8/node_modules/d3-axis/src/array.js","../../../../node_modules/.pnpm/d3-axis@1.0.8/node_modules/d3-axis/src/identity.js","../../../../node_modules/.pnpm/d3-axis@1.0.8/node_modules/d3-axis/src/axis.js","../../../../node_modules/.pnpm/d3-array@1.2.1/node_modules/d3-array/src/ascending.js","../../../../node_modules/.pnpm/d3-array@1.2.1/node_modules/d3-array/src/bisector.js","../../../../node_modules/.pnpm/d3-array@1.2.1/node_modules/d3-array/src/bisect.js","../../../../node_modules/.pnpm/d3-array@1.2.1/node_modules/d3-array/src/array.js","../../../../node_modules/.pnpm/d3-array@1.2.1/node_modules/d3-array/src/ticks.js","../../../../node_modules/.pnpm/d3-array@1.2.1/node_modules/d3-array/src/max.js","../../../../node_modules/.pnpm/d3-array@1.2.1/node_modules/d3-array/src/min.js","../../../../node_modules/.pnpm/d3-collection@1.0.7/node_modules/d3-collection/src/map.js","../../../../node_modules/.pnpm/d3-collection@1.0.7/node_modules/d3-collection/src/set.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/array.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/ordinal.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/band.js","../../../../node_modules/.pnpm/d3-array@1.2.1/node_modules/d3-array/src/range.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/number.js","../../../../node_modules/.pnpm/d3-color@1.4.1/node_modules/d3-color/src/define.js","../../../../node_modules/.pnpm/d3-color@1.4.1/node_modules/d3-color/src/color.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/basis.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/constant.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/color.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/rgb.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/basisClosed.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/array.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/date.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/object.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/string.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/numberArray.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/value.js","../../../../node_modules/.pnpm/d3-interpolate@1.4.0/node_modules/d3-interpolate/src/round.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/number.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/continuous.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/constant.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/exponent.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/formatRounded.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/formatTypes.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/identity.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/locale.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/formatGroup.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/formatTrim.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/tickFormat.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/precisionPrefix.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/precisionRound.js","../../../../node_modules/.pnpm/d3-format@1.4.5/node_modules/d3-format/src/precisionFixed.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/linear.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/interval.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/year.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/month.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/duration.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/week.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/day.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/hour.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/minute.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/second.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/millisecond.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/utcWeek.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/utcDay.js","../../../../node_modules/.pnpm/d3-time@1.1.0/node_modules/d3-time/src/utcYear.js","../../../../node_modules/.pnpm/d3-time-format@2.3.0/node_modules/d3-time-format/src/locale.js","../../../../node_modules/.pnpm/d3-time-format@2.3.0/node_modules/d3-time-format/src/defaultLocale.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/time.js","../../../../node_modules/.pnpm/d3-scale@2.0.0/node_modules/d3-scale/src/nice.js","../../../../node_modules/.pnpm/@fluentui+react-charting@5.10.0_@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@_4xpjj5hdupthtsortvvhs7imv4/node_modules/@fluentui/react-charting/lib/utilities/utilities.js","../../../../node_modules/.pnpm/@fluentui+react-combobox@9.13.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0._sxugnw7lltxopyuyljdptb4j6e/node_modules/@fluentui/react-combobox/lib/hooks/useComboboxFilter.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerBody/useDrawerBodyStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerBody/DrawerBody.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerBody/useDrawerBody.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerBody/renderDrawerBody.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerFooter/useDrawerFooterStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerFooter/DrawerFooter.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerFooter/useDrawerFooter.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerFooter/renderDrawerFooter.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/useDrawerHeaderTitleStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/DrawerHeaderTitle.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/useDrawerHeaderTitle.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/renderDrawerHeaderTitle.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/useDrawerHeaderStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/DrawerHeader.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/useDrawerHeader.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/renderDrawerHeader.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerInline/useDrawerInlineStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerInline/DrawerInline.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerInline/useDrawerInline.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerInline/renderDrawerInline.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerOverlay/useDrawerOverlayStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerOverlay/DrawerOverlay.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerOverlay/useDrawerOverlay.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/DrawerOverlay/renderDrawerOverlay.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/Drawer/useDrawerStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/Drawer/Drawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/Drawer/useDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/components/Drawer/renderDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/util/getDefaultDrawerProps.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.0.0-beta.17_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@_cdx34joqk5we3iyeuvlx3hhxtq/node_modules/@fluentui/react-drawer/lib/util/useDrawerBaseStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/contexts/drawerContext.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/slots/presenceMotionSlot.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/contexts/dialogContext.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/contexts/PresenceGroupChildContext.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/hooks/useAnimateAtoms.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/hooks/useMountedState.js","../../../../node_modules/.pnpm/@fluentui+react-utilities@9.18.22_@types+react@17.0.69_react@17.0.1/node_modules/@fluentui/react-utilities/lib/hooks/useForceUpdate.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/contexts/MotionBehaviourContext.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/factories/createPresenceComponent.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/utils/getChildElement.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/hooks/useMotionImperativeRef.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/hooks/useIsReducedMotion.js","../../../../node_modules/.pnpm/@fluentui+react-motion@9.6.6_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-motion/lib/motions/motionTokens.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/DialogSurfaceMotion.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/Dialog/useDialog.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/utils/useFocusFirstElement.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/MotionRefForwarder.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/contexts/dialogSurfaceContext.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/Dialog/Dialog.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/Dialog/useDialogContextValues.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/Dialog/renderDialog.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/shared/useDrawerBaseStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/shared/drawerMotions.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/shared/useDrawerDefaultProps.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/utils/useDisableBodyScroll.styles.js","../../../../node_modules/.pnpm/@fluentui+react-motion-components-preview@0.4.2_@types+react-dom@17.0.22_@types+react@17.0.69_penfpu4wcl6xee7lyw35inwolq/node_modules/@fluentui/react-motion-components-preview/lib/components/Fade/Fade.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/DialogBackdropMotion.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurface.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/utils/useDisableBodyScroll.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/renderDialogSurface.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/OverlayDrawerSurface/useOverlayDrawerSurfaceStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/OverlayDrawerSurface/OverlayDrawerSurface.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurfaceContextValues.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/shared/drawerMotionUtils.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/useOverlayDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/renderOverlayDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/useOverlayDrawerStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/OverlayDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/InlineDrawer/useInlineDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/InlineDrawer/renderInlineDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/InlineDrawer/useInlineDrawerStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/InlineDrawer/InlineDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/Drawer/useDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/Drawer/renderDrawer.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/Drawer/useDrawerStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/Drawer/Drawer.js","../../../../node_modules/.pnpm/@fluentui+react-utilities@9.18.22_@types+react@17.0.69_react@17.0.1/node_modules/@fluentui/react-utilities/lib/hooks/useAnimationFrame.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerBody/useDrawerBody.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerBody/renderDrawerBody.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerBody/useDrawerBodyStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerBody/DrawerBody.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/useDrawerHeader.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/renderDrawerHeader.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/useDrawerHeaderStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/DrawerHeader.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/useDrawerHeaderTitle.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/renderDrawerHeaderTitle.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.11.27_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/useDialogTitleStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/useDrawerHeaderTitleStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/DrawerHeaderTitle.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderNavigation/useDrawerHeaderNavigation.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderNavigation/renderDrawerHeaderNavigation.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderNavigation/useDrawerHeaderNavigationStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderNavigation/DrawerHeaderNavigation.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerFooter/useDrawerFooter.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerFooter/renderDrawerFooter.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerFooter/useDrawerFooterStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-drawer@9.6.7_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-drawer/lib/components/DrawerFooter/DrawerFooter.js","../../../../node_modules/.pnpm/@fluentui+react-jsx-runtime@9.0.3_@types+react@17.0.69_react@17.0.1/node_modules/@fluentui/react-jsx-runtime/lib/jsx/createElementFromSlotComponent.js","../../../../node_modules/.pnpm/@fluentui+react-jsx-runtime@9.0.3_@types+react@17.0.69_react@17.0.1/node_modules/@fluentui/react-jsx-runtime/lib/utils/getMetadataFromSlotComponent.js","../../../../node_modules/.pnpm/@fluentui+react-jsx-runtime@9.0.3_@types+react@17.0.69_react@17.0.1/node_modules/@fluentui/react-jsx-runtime/lib/createElement.js","../../../../node_modules/.pnpm/@fluentui+react-jsx-runtime@9.0.3_@types+react@17.0.69_react@17.0.1/node_modules/@fluentui/react-jsx-runtime/lib/utils/createCompatSlotComponent.js","../../../../node_modules/.pnpm/@fluentui+react-label@9.1.85_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-label/lib/components/Label/useLabelStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-label@9.1.85_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-label/lib/components/Label/Label.js","../../../../node_modules/.pnpm/@fluentui+react-label@9.1.85_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-label/lib/components/Label/useLabel.js","../../../../node_modules/.pnpm/@fluentui+react-label@9.1.85_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-label/lib/components/Label/renderLabel.js","../../../../node_modules/.pnpm/@fluentui+react-checkbox@9.2.33_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0._hjg7yupnvfng5zeak4c6v3moem/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/useCheckboxStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-checkbox@9.2.33_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0._hjg7yupnvfng5zeak4c6v3moem/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/Checkbox.js","../../../../node_modules/.pnpm/@fluentui+react-checkbox@9.2.33_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0._hjg7yupnvfng5zeak4c6v3moem/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/useCheckbox.js","../../../../node_modules/.pnpm/@fluentui+react-checkbox@9.2.33_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0._hjg7yupnvfng5zeak4c6v3moem/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/renderCheckbox.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/events/ListItemActionEvent.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/ListItem/useListItem.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/ListItem/useListItemStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/ListItem/ListItem.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/ListItem/renderListItem.js","../../../../node_modules/.pnpm/@fluentui+react-utilities@9.18.22_@types+react@17.0.69_react@17.0.1/node_modules/@fluentui/react-utilities/lib/utils/createSetFromIterable.js","../../../../node_modules/.pnpm/@fluentui+react-utilities@9.18.22_@types+react@17.0.69_react@17.0.1/node_modules/@fluentui/react-utilities/lib/selection/useSelection.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/utils/validateProperRolesAreUsed.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/List/useList.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/hooks/useListSelection.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/utils/calculateListRole.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/utils/calculateListItemRoleForListRole.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/List/useListStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/List/List.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/List/useListContextValues.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/List/renderList.js","../../../../node_modules/.pnpm/@fluentui+react-list-preview@0.3.2_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_fgekawgjdpf2pzruwtu7empdse/node_modules/@fluentui/react-list-preview/lib/components/List/listContext.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/MessageBarActions.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActionsContextValues.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/renderMessageBarActions.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActions.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActionsStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/MessageBarTitle.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/renderMessageBarTitle.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/useMessageBarTitle.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/useMessageBarTitleStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarGroup/useMessageBarGroup.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarGroup/MessageBarTransition.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarGroup/renderMessageBarGroup.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarGroup/useMessageBarGroupStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-message-bar@9.0.30_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17_kivvdkoju5e52uhqyhlebhmx4q/node_modules/@fluentui/react-message-bar/lib/components/MessageBarGroup/MessageBarGroup.js","../../../../node_modules/.pnpm/@fluentui+react-search@9.0.14_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-search/lib/components/SearchBox/SearchBox.js","../../../../node_modules/.pnpm/@fluentui+react-search@9.0.14_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-search/lib/components/SearchBox/renderSearchBox.js","../../../../node_modules/.pnpm/@fluentui+react-search@9.0.14_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-search/lib/components/SearchBox/useSearchBox.js","../../../../node_modules/.pnpm/@fluentui+react-input@9.4.99_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-input/lib/components/Input/useInput.js","../../../../node_modules/.pnpm/@fluentui+react-input@9.4.99_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-input/lib/components/Input/useInputStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-search@9.0.14_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-search/lib/components/SearchBox/useSearchBoxStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerControl/useTagPickerControlStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerControl/useTagPickerControl.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/utils/useResizeObserverRef.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerControl/TagPickerControl.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerControl/renderTagPickerControl.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/utils/tokens.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerInput/useTagPickerInput.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerInput/useTagPickerInputStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerInput/TagPickerInput.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerInput/renderTagPickerInput.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerList/useTagPickerListStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerList/TagPickerList.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerList/useTagPickerList.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerList/renderTagPickerList.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerOption/useTagPickerOptionStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerOption/TagPickerOption.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerOption/useTagPickerOption.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPickerOption/renderTagPickerOption.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPicker/useTagPicker.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPicker/useTagPickerContextValues.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPicker/TagPicker.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/components/TagPicker/renderTagPicker.js","../../../../node_modules/.pnpm/@fluentui+react-tag-picker@9.2.3_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0_gki3gmxkq4eupin44csoskfaxa/node_modules/@fluentui/react-tag-picker/lib/contexts/TagPickerContext.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTagPrimary/InteractionTagPrimary.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTagPrimary/renderInteractionTagPrimary.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTagPrimary/useInteractionTagPrimary.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTagPrimary/useInteractionTagPrimaryStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTagSecondary/useInteractionTagSecondaryStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTag/InteractionTag.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTag/renderInteractionTag.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTag/useInteractionTag.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTag/useInteractionTagContextValues.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTag/useInteractionTagStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/TagGroup/TagGroup.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/TagGroup/renderTagGroup.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/TagGroup/useTagGroup.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/TagGroup/useTagGroupContextValues.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/TagGroup/useTagGroupStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/Tag/Tag.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/Tag/renderTag.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/Tag/useTag.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/Tag/useTagStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/contexts/interactionTagContext.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/contexts/tagGroupContext.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTagSecondary/useInteractionTagSecondary.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTagSecondary/renderInteractionTagSecondary.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/components/InteractionTagSecondary/InteractionTagSecondary.js","../../../../node_modules/.pnpm/@fluentui+react-tags@9.3.12_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react-tags/lib/utils/useTagAvatarContextValues.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/namespaces.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/namespace.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/creator.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selector.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selectorAll.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/matcher.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/sparse.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/enter.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/data.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/sort.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/attr.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/window.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/style.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/property.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/classed.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/text.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/html.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/raise.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/lower.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/insert.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/remove.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/clone.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/on.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/dispatch.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/index.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/select.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/selectAll.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/filter.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/constant.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/exit.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/merge.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/order.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/call.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/nodes.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/node.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/size.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/empty.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/each.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/append.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/selection/datum.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/select.js","../../../../node_modules/.pnpm/d3-selection@1.3.0/node_modules/d3-selection/src/local.js","../../../../node_modules/.pnpm/file-extension@4.0.5/node_modules/file-extension/file-extension.js","../../../../node_modules/.pnpm/fs@0.0.2/node_modules/fs/index.js"],"sourcesContent":["import * as React from 'react';\nconst avatarContext = React.createContext(undefined);\nconst avatarContextDefaultValue = {};\n/**\n * @internal\n */ export const AvatarContextProvider = avatarContext.Provider;\n/**\n * @internal\n */ export const useAvatarContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(avatarContext)) !== null && _React_useContext !== void 0 ? _React_useContext : avatarContextDefaultValue;\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { useButtonStyles_unstable, buttonClassNames } from '@fluentui/react-button';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\n/**\n * Static CSS class names used internally for the component slots.\n */\nexport const breadcrumbButtonClassNames = {\n root: 'fui-BreadcrumbButton',\n icon: 'fui-BreadcrumbButton__icon'\n};\n/**\n * CSS variable names used internally for styling in the Breadcrumb.\n */\nconst breadcrumbCSSVars = {\n breadcrumbIconSizeVar: '--fui-Breadcrumb--icon-size',\n breadcrumbIconLineHeightVar: '--fui-Breadcrumb--icon-line-height'\n};\nconst useIconStyles = /*#__PURE__*/__styles({\n base: {\n Be2twd7: \"fsj74e5\",\n Bqenvij: \"f1qfv4wv\",\n Bg96gwp: \"f15xapk4\",\n a9b677: \"f17j33op\",\n t21cq0: [\"fm0x6gh\", \"fbyavb5\"]\n },\n small: {\n u3h8gg: \"f1qfi7kw\",\n Biu6dll: \"f1876atl\"\n },\n medium: {\n u3h8gg: \"f1h9446d\",\n Biu6dll: \"f10xfswh\"\n },\n large: {\n u3h8gg: \"f5hcofs\",\n Biu6dll: \"f1a6v6zl\"\n }\n}, {\n d: [\".fsj74e5{font-size:var(--fui-Breadcrumb--icon-size);}\", \".f1qfv4wv{height:var(--fui-Breadcrumb--icon-size);}\", \".f15xapk4{line-height:var(--fui-Breadcrumb--icon-line-height);}\", \".f17j33op{width:var(--fui-Breadcrumb--icon-size);}\", \".fm0x6gh{margin-right:var(--spacingHorizontalXS);}\", \".fbyavb5{margin-left:var(--spacingHorizontalXS);}\", \".f1qfi7kw{--fui-Breadcrumb--icon-size:12px;}\", \".f1876atl{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase200);}\", \".f1h9446d{--fui-Breadcrumb--icon-size:16px;}\", \".f10xfswh{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase400);}\", \".f5hcofs{--fui-Breadcrumb--icon-size:20px;}\", \".f1a6v6zl{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase600);}\"]\n});\nconst defaultButtonStyles = {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorNeutralForeground2,\n cursor: 'auto'\n};\nconst currentIconStyles = {\n ...defaultButtonStyles,\n [`& .${buttonClassNames.icon}`]: {\n color: 'unset'\n },\n [`& .${iconFilledClassName}`]: {\n display: 'none'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline'\n }\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n Bf4jedk: \"f18p0k4z\",\n j4b8c3: \"fv6wr3j\"\n },\n small: {\n Bqenvij: \"frvgh55\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fy9rknc\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"fwrc4pm\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f1r1wyb6\"\n },\n medium: {\n Bqenvij: \"f1d2rq10\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"f1i3iumi\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f1r1wyb6\"\n },\n large: {\n Bqenvij: \"fbhnoac\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fod5ikn\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"faaz57k\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f1bnz8pu\"\n },\n current: {\n Jwef8y: \"f9ql6rf\",\n Bi91k9c: \"f3p8bqa\",\n eoavqd: \"f14w7a5u\",\n Bbdnnc7: \"f1irjp3o\",\n Bk3fhr4: \"f19vpps7\",\n Bmfj8id: \"fv5swzo\",\n iro3zm: \"f3h1zc4\",\n B2d53fq: \"f1xkgyln\",\n c3iz72: \"f17wbbfx\",\n x3br3k: \"fofxw0a\",\n em6i61: \"f1ol4fw6\",\n vm6p8p: \"f1q1lw4e\",\n Bszkowt: \"ff24m\",\n Dyrjrp: \"ft5r8e9\",\n ezr58z: \"f1cbpfqp\",\n nhk3du: \"f1motppv\",\n Bfrek18: \"fi9vkhg\",\n G209fr: \"f1fg3nnv\"\n },\n currentSmall: {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fy9rknc\",\n Bhrd7zp: \"fl43uef\",\n Bg96gwp: \"fwrc4pm\"\n },\n currentMedium: {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bhrd7zp: \"fl43uef\",\n Bg96gwp: \"f1i3iumi\"\n },\n currentLarge: {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fod5ikn\",\n Bhrd7zp: \"fl43uef\",\n Bg96gwp: \"faaz57k\"\n }\n}, {\n d: [\".f18p0k4z{min-width:unset;}\", \".fv6wr3j{text-wrap:nowrap;}\", \".frvgh55{height:24px;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", [\".f1r1wyb6{padding:var(--spacingHorizontalSNudge);}\", {\n p: -1\n }], \".f1d2rq10{height:32px;}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", [\".f1r1wyb6{padding:var(--spacingHorizontalSNudge);}\", {\n p: -1\n }], \".fbhnoac{height:40px;}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\", [\".f1bnz8pu{padding:var(--spacingHorizontalS);}\", {\n p: -1\n }], \".ff24m:disabled{background-color:var(--colorTransparentBackground);}\", \".ft5r8e9:disabled{color:var(--colorNeutralForeground2);}\", \".f1cbpfqp:disabled{cursor:auto;}\", \".f1motppv:disabled .fui-Button__icon{color:unset;}\", \".fi9vkhg:disabled .fui-Icon-filled{display:none;}\", \".f1fg3nnv:disabled .fui-Icon-regular{display:inline;}\", \".fl43uef{font-weight:var(--fontWeightSemibold);}\"],\n h: [\".f9ql6rf:hover{background-color:var(--colorTransparentBackground);}\", \".f3p8bqa:hover{color:var(--colorNeutralForeground2);}\", \".f14w7a5u:hover{cursor:auto;}\", \".f1irjp3o:hover .fui-Button__icon{color:unset;}\", \".f19vpps7:hover .fui-Icon-filled{display:none;}\", \".fv5swzo:hover .fui-Icon-regular{display:inline;}\", \".f3h1zc4:hover:active{background-color:var(--colorTransparentBackground);}\", \".f1xkgyln:hover:active{color:var(--colorNeutralForeground2);}\", \".f17wbbfx:hover:active{cursor:auto;}\", \".fofxw0a:hover:active .fui-Button__icon{color:unset;}\", \".f1ol4fw6:hover:active .fui-Icon-filled{display:none;}\", \".f1q1lw4e:hover:active .fui-Icon-regular{display:inline;}\"]\n});\n/**\n * Apply styling to the BreadcrumbButton slots based on the state\n */\nexport const useBreadcrumbButtonStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const iconStyles = useIconStyles();\n const currentSizeMap = {\n small: styles.currentSmall,\n medium: styles.currentMedium,\n large: styles.currentLarge\n };\n state.root.className = mergeClasses(breadcrumbButtonClassNames.root, styles[state.size], styles.root, state.current && currentSizeMap[state.size], state.current && styles.current, state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(iconStyles.base, iconStyles[state.size], state.icon.className);\n }\n useButtonStyles_unstable(state);\n return state;\n};\n//# sourceMappingURL=useBreadcrumbButtonStyles.styles.js.map","import * as React from 'react';\nimport { useBreadcrumbButton_unstable } from './useBreadcrumbButton';\nimport { renderBreadcrumbButton_unstable } from './renderBreadcrumbButton';\nimport { useBreadcrumbButtonStyles_unstable } from './useBreadcrumbButtonStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A button component which is used inside the Breadcrumb.\n */ export const BreadcrumbButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useBreadcrumbButton_unstable(props, ref);\n useBreadcrumbButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbButtonStyles_unstable')(state);\n return renderBreadcrumbButton_unstable(state);\n});\nBreadcrumbButton.displayName = 'BreadcrumbButton';\n","import * as React from 'react';\nimport { useButton_unstable } from '@fluentui/react-button';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\n/**\n * Create the state required to render BreadcrumbButton.\n *\n * The returned state can be modified with hooks such as useBreadcrumbButtonStyles_unstable,\n * before being passed to renderBreadcrumbButton_unstable.\n *\n * @param props - props from this instance of BreadcrumbButton\n * @param ref - reference to root HTMLElement of BreadcrumbButton\n */ export const useBreadcrumbButton_unstable = (props, ref)=>{\n const { size } = useBreadcrumbContext_unstable();\n const { current = false, as, ...rest } = props;\n const controlType = (as !== null && as !== void 0 ? as : props.href) ? 'a' : 'button';\n var _props_ariacurrent, _props_ariadisabled;\n return {\n ...useButton_unstable({\n appearance: 'subtle',\n role: undefined,\n type: undefined,\n as: controlType,\n iconPosition: 'before',\n 'aria-current': current ? (_props_ariacurrent = props['aria-current']) !== null && _props_ariacurrent !== void 0 ? _props_ariacurrent : 'page' : undefined,\n 'aria-disabled': current ? (_props_ariadisabled = props['aria-disabled']) !== null && _props_ariadisabled !== void 0 ? _props_ariadisabled : true : undefined,\n ...rest\n }, ref),\n current,\n size\n };\n};\n","import { renderButton_unstable } from '@fluentui/react-button';\n/**\n * Render the final JSX of BreadcrumbButton\n */ export const renderBreadcrumbButton_unstable = (state)=>{\n return renderButton_unstable(state);\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { ChevronRightRegular, ChevronLeftRegular } from '@fluentui/react-icons';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n/**\n * Create the state required to render BreadcrumbDivider.\n *\n * The returned state can be modified with hooks such as useBreadcrumbDividerStyles_unstable,\n * before being passed to renderBreadcrumbDivider_unstable.\n *\n * @param props - props from this instance of BreadcrumbDivider\n * @param ref - reference to root HTMLElement of BreadcrumbDivider\n */ export const useBreadcrumbDivider_unstable = (props, ref)=>{\n const { size } = useBreadcrumbContext_unstable();\n const { dir } = useFluent();\n const icon = getDividerIcon(dir);\n return {\n components: {\n root: 'li'\n },\n root: slot.always(getIntrinsicElementProps('li', {\n ref,\n 'aria-hidden': true,\n children: icon,\n ...props\n }), {\n elementType: 'li'\n }),\n size\n };\n};\n/**\n * Get icon of the divider\n *\n * @param dir - RTL or LTR\n */ function getDividerIcon(dir) {\n return dir === 'rtl' ? /*#__PURE__*/ React.createElement(ChevronLeftRegular, null) : /*#__PURE__*/ React.createElement(ChevronRightRegular, null);\n}\n","import { __styles, __resetStyles, mergeClasses } from '@griffel/react';\nexport const breadcrumbDividerClassNames = {\n root: 'fui-BreadcrumbDivider'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__resetStyles(\"rk008qs\", null, [\".rk008qs{display:flex;}\"]);\nconst useIconStyles = /*#__PURE__*/__styles({\n small: {\n Be2twd7: \"f1ugzwwg\"\n },\n medium: {\n Be2twd7: \"f4ybsrx\"\n },\n large: {\n Be2twd7: \"fe5j1ua\"\n }\n}, {\n d: [\".f1ugzwwg{font-size:12px;}\", \".f4ybsrx{font-size:16px;}\", \".fe5j1ua{font-size:20px;}\"]\n});\n/**\n * Apply styling to the BreadcrumbDivider slots based on the state\n */\nexport const useBreadcrumbDividerStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const iconStyles = useIconStyles();\n const {\n size = 'medium'\n } = state;\n state.root.className = mergeClasses(breadcrumbDividerClassNames.root, styles, iconStyles[size], state.root.className);\n return state;\n};\n//# sourceMappingURL=useBreadcrumbDividerStyles.styles.js.map","import * as React from 'react';\nimport { useBreadcrumbDivider_unstable } from './useBreadcrumbDivider';\nimport { renderBreadcrumbDivider_unstable } from './renderBreadcrumbDivider';\nimport { useBreadcrumbDividerStyles_unstable } from './useBreadcrumbDividerStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A divider component which is used inside the Breadcrumb\n */ export const BreadcrumbDivider = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useBreadcrumbDivider_unstable(props, ref);\n useBreadcrumbDividerStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbDividerStyles_unstable')(state);\n return renderBreadcrumbDivider_unstable(state);\n});\nBreadcrumbDivider.displayName = 'BreadcrumbDivider';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of BreadcrumbDivider\n */ export const renderBreadcrumbDivider_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const breadcrumbItemClassNames = {\n root: 'fui-BreadcrumbItem'\n};\nconst useBreadcrumbItemResetStyles = /*#__PURE__*/__resetStyles(\"r1tl60rs\", null, [\".r1tl60rs{display:flex;align-items:center;color:var(--colorNeutralForeground2);box-sizing:border-box;text-wrap:nowrap;}\"]);\n/**\n * Apply styling to the BreadcrumbItem slots based on the state\n */\nexport const useBreadcrumbItemStyles_unstable = state => {\n 'use no memo';\n\n const resetStyles = useBreadcrumbItemResetStyles();\n state.root.className = mergeClasses(breadcrumbItemClassNames.root, resetStyles, state.root.className);\n return state;\n};\n//# sourceMappingURL=useBreadcrumbItemStyles.styles.js.map","import * as React from 'react';\nimport { useBreadcrumbItem_unstable } from './useBreadcrumbItem';\nimport { renderBreadcrumbItem_unstable } from './renderBreadcrumbItem';\nimport { useBreadcrumbItemStyles_unstable } from './useBreadcrumbItemStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * BreadcrumbItem component is a wrapper for BreadcrumbLink and BreadcrumbButton.\n * It can be used as a non-interactive item.\n */ export const BreadcrumbItem = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useBreadcrumbItem_unstable(props, ref);\n useBreadcrumbItemStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbItemStyles_unstable')(state);\n return renderBreadcrumbItem_unstable(state);\n});\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\n/**\n * Create the state required to render BreadcrumbItem.\n *\n * The returned state can be modified with hooks such as useBreadcrumbItemStyles_unstable,\n * before being passed to renderBreadcrumbItem_unstable.\n *\n * @param props - props from this instance of BreadcrumbItem\n * @param ref - reference to root HTMLElement of BreadcrumbItem\n */ export const useBreadcrumbItem_unstable = (props, ref)=>{\n const { size } = useBreadcrumbContext_unstable();\n return {\n components: {\n root: 'li'\n },\n root: slot.always(getIntrinsicElementProps('li', {\n ref,\n ...props\n }), {\n elementType: 'li'\n }),\n size\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of BreadcrumbItem\n */ export const renderBreadcrumbItem_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {\n children: state.root.children\n });\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nexport const breadcrumbClassNames = {\n root: 'fui-Breadcrumb',\n list: 'fui-Breadcrumb__list'\n};\nconst useListClassName = /*#__PURE__*/__resetStyles(\"rc5rb6b\", null, [\".rc5rb6b{list-style-type:none;display:flex;align-items:center;margin:0;padding:0;}\"]);\n/**\n * Apply styling to the Breadcrumb slots based on the state\n */\nexport const useBreadcrumbStyles_unstable = state => {\n 'use no memo';\n\n const listBaseClassName = useListClassName();\n state.root.className = mergeClasses(breadcrumbClassNames.root, state.root.className);\n if (state.list) {\n state.list.className = mergeClasses(listBaseClassName, breadcrumbClassNames.list, state.list.className);\n }\n return state;\n};\n//# sourceMappingURL=useBreadcrumbStyles.styles.js.map","import * as React from 'react';\nimport { useBreadcrumb_unstable } from './useBreadcrumb';\nimport { renderBreadcrumb_unstable } from './renderBreadcrumb';\nimport { useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';\nimport { useBreadcrumbContextValues_unstable } from './useBreadcrumbContextValue';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Breadcrumb component - TODO: add more docs\n */ export const Breadcrumb = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useBreadcrumb_unstable(props, ref);\n const contextValues = useBreadcrumbContextValues_unstable(state);\n useBreadcrumbStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbStyles_unstable')(state);\n return renderBreadcrumb_unstable(state, contextValues);\n});\nBreadcrumb.displayName = 'Breadcrumb';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n/**\n * Create the state required to render Breadcrumb.\n *\n * The returned state can be modified with hooks such as useBreadcrumbStyles_unstable,\n * before being passed to renderBreadcrumb_unstable.\n *\n * @param props - props from this instance of Breadcrumb\n * @param ref - reference to root HTMLElement of Breadcrumb\n */ export const useBreadcrumb_unstable = (props, ref)=>{\n const { focusMode = 'tab', size = 'medium', list, ...rest } = props;\n const focusAttributes = useArrowNavigationGroup({\n circular: true,\n axis: 'horizontal',\n memorizeCurrent: true\n });\n var _props_arialabel;\n return {\n components: {\n root: 'nav',\n list: 'ol'\n },\n root: slot.always(getIntrinsicElementProps('nav', {\n ref,\n 'aria-label': (_props_arialabel = props['aria-label']) !== null && _props_arialabel !== void 0 ? _props_arialabel : 'breadcrumb',\n ...focusMode === 'arrow' ? focusAttributes : {},\n ...rest\n }), {\n elementType: 'nav'\n }),\n list: slot.optional(list, {\n renderByDefault: true,\n defaultProps: {\n role: 'list'\n },\n elementType: 'ol'\n }),\n size\n };\n};\n","import * as React from 'react';\nexport function useBreadcrumbContextValues_unstable(state) {\n const { size } = state;\n return React.useMemo(()=>({\n size\n }), [\n size\n ]);\n}\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { BreadcrumbProvider } from './BreadcrumbContext';\n/**\n * Render the final JSX of Breadcrumb\n */ export const renderBreadcrumb_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {\n children: /*#__PURE__*/ _jsx(BreadcrumbProvider, {\n value: contextValues,\n children: state.list && /*#__PURE__*/ _jsx(state.list, {\n children: state.root.children\n })\n })\n });\n};\n","import * as React from 'react';\nconst BreadcrumbContext = React.createContext(undefined);\n/**\n * @internal\n */ export const breadcrumbDefaultValue = {\n size: 'medium'\n};\n/**\n * @internal\n */ export const BreadcrumbProvider = BreadcrumbContext.Provider;\n/**\n * @internal\n */ export const useBreadcrumbContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(BreadcrumbContext)) !== null && _React_useContext !== void 0 ? _React_useContext : breadcrumbDefaultValue;\n};\n","const DEFAULT_OVERFLOW_INDEX = 1;\nconst DEFAULT_MAX_DISPLAYED_ITEMS = 6;\n/**\n * Get the displayed items and overflowing items based on the array of BreadcrumbItems needed for Breadcrumb.\n *\n * @param options - Configure the partition options\n *\n * @returns Three arrays split into displayed items and overflow items based on maxDisplayedItems.\n */ export const partitionBreadcrumbItems = (options)=>{\n let startDisplayedItems;\n let overflowItems;\n let endDisplayedItems;\n const { items = [] } = options;\n const itemsCount = items.length;\n const maxDisplayedItems = getMaxDisplayedItems(options.maxDisplayedItems);\n var _options_overflowIndex;\n let overflowIndex = (_options_overflowIndex = options.overflowIndex) !== null && _options_overflowIndex !== void 0 ? _options_overflowIndex : DEFAULT_OVERFLOW_INDEX;\n startDisplayedItems = items.slice(0, overflowIndex);\n const numberItemsToHide = itemsCount - maxDisplayedItems;\n if (numberItemsToHide > 0) {\n overflowIndex = overflowIndex >= maxDisplayedItems ? maxDisplayedItems - 1 : overflowIndex;\n const menuLastItemIdx = overflowIndex + numberItemsToHide;\n startDisplayedItems = startDisplayedItems.slice(0, overflowIndex);\n overflowItems = items.slice(overflowIndex, menuLastItemIdx);\n if (menuLastItemIdx < itemsCount) {\n endDisplayedItems = items.slice(menuLastItemIdx, itemsCount);\n }\n } else if (overflowIndex < itemsCount) {\n endDisplayedItems = items.slice(overflowIndex, itemsCount);\n }\n return {\n startDisplayedItems,\n overflowItems,\n endDisplayedItems\n };\n};\nfunction getMaxDisplayedItems(maxDisplayedItems) {\n return maxDisplayedItems && maxDisplayedItems >= 0 ? maxDisplayedItems : DEFAULT_MAX_DISPLAYED_ITEMS;\n}\n","const MAX_NAME_LENGTH = 30;\nconst MAX_TOOLTIP_LENGTH = 80;\nconst truncateBreadcrumb = (content, maxLength)=>{\n return isTruncatableBreadcrumbContent(content, maxLength) ? content.trim().slice(0, maxLength).concat('...') : content;\n};\nexport const isTruncatableBreadcrumbContent = (content, maxLength)=>{\n return content.length > maxLength;\n};\nexport const truncateBreadcrumbLongName = (content, maxLength)=>{\n const truncateLength = maxLength || MAX_NAME_LENGTH;\n return truncateBreadcrumb(content, truncateLength);\n};\nexport const truncateBreadcrumLongTooltip = (content, maxLength)=>{\n const truncateLength = maxLength || MAX_TOOLTIP_LENGTH;\n return truncateBreadcrumb(content, truncateLength);\n};\n","import * as React from 'react';\nimport { useCarouselCard_unstable } from './useCarouselCard';\nimport { renderCarouselCard_unstable } from './renderCarouselCard';\nimport { useCarouselCardStyles_unstable } from './useCarouselCardStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * The defining wrapper of a carousel's indexed content, they will take up the full\n * viewport of CarouselSlider or div wrapper,\n * users may place multiple items within this Card if desired, with consideration of viewport width.\n *\n * Clickable actions within the content area are available via mouse and tab as expected,\n * non-active card content will be set to inert until moved to active card.\n */ export const CarouselCard = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarouselCard_unstable(props, ref);\n useCarouselCardStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselCardStyles_unstable')(state);\n return renderCarouselCard_unstable(state);\n});\nCarouselCard.displayName = 'CarouselCard';\n","import { useFocusableGroup } from '@fluentui/react-tabster';\nimport { getIntrinsicElementProps, isHTMLElement, mergeCallbacks, slot, useMergedRefs, useId } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\nimport { EMBLA_VISIBILITY_EVENT } from '../useEmblaCarousel';\nimport { carouselCardClassNames } from './useCarouselCardStyles.styles';\nimport { useCarouselSliderContext } from '../CarouselSlider/CarouselSliderContext';\n/**\n * Create the state required to render CarouselCard.\n *\n * The returned state can be modified with hooks such as useCarouselCardStyles_unstable,\n * before being passed to renderCarouselCard_unstable.\n *\n * @param props - props from this instance of CarouselCard\n * @param ref - reference to root HTMLDivElement of CarouselCard\n */ export const useCarouselCard_unstable = (props, ref)=>{\n const { autoSize } = props;\n const elementRef = React.useRef(null);\n const isMouseEvent = React.useRef(false);\n const selectPageByElement = useCarouselContext((ctx)=>ctx.selectPageByElement);\n const containerRef = useCarouselContext((ctx)=>ctx.containerRef);\n const { cardFocus } = useCarouselSliderContext();\n const focusAttr = useFocusableGroup({\n tabBehavior: 'limited'\n });\n const focusAttrProps = cardFocus ? {\n ...focusAttr,\n tabIndex: 0\n } : {};\n // We attach a unique card id if user does not provide\n const id = useId(carouselCardClassNames.root, props.id);\n React.useEffect(()=>{\n const element = elementRef.current;\n if (element) {\n const listener = (_e)=>{\n const event = _e;\n // When there is no tab index present, only current cards should be visible to accessibility\n if (!cardFocus) {\n const hidden = !event.detail.isVisible;\n element.ariaHidden = hidden.toString();\n element.inert = hidden;\n }\n };\n element.addEventListener(EMBLA_VISIBILITY_EVENT, listener);\n return ()=>{\n element.removeEventListener(EMBLA_VISIBILITY_EVENT, listener);\n };\n }\n }, [\n cardFocus\n ]);\n const handleFocus = React.useCallback((e)=>{\n if (!e.defaultPrevented && isHTMLElement(e.currentTarget) && !isMouseEvent.current) {\n var // We want to prevent any browser scroll intervention for 'offscreen' focus\n _containerRef_current;\n containerRef === null || containerRef === void 0 ? void 0 : (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.scrollTo(0, 0);\n selectPageByElement(e, e.currentTarget, false);\n }\n // Mouse focus event has been consumed\n isMouseEvent.current = false;\n }, [\n selectPageByElement,\n containerRef\n ]);\n const handlePointerDown = (e)=>{\n if (!e.defaultPrevented) {\n isMouseEvent.current = true;\n }\n };\n const handlePointerUp = (e)=>{\n if (!e.defaultPrevented) {\n isMouseEvent.current = false;\n }\n };\n const onFocusCapture = mergeCallbacks(props.onFocusCapture, handleFocus);\n const onPointerUp = mergeCallbacks(props.onPointerUp, handlePointerUp);\n const onPointerDown = mergeCallbacks(props.onPointerDown, handlePointerDown);\n const state = {\n autoSize,\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref: useMergedRefs(elementRef, ref),\n role: 'tabpanel',\n tabIndex: cardFocus ? 0 : undefined,\n ...props,\n id,\n onFocusCapture,\n onPointerUp,\n onPointerDown,\n ...focusAttrProps\n }), {\n elementType: 'div'\n })\n };\n return state;\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of CarouselCard\n */ export const renderCarouselCard_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nexport const carouselCardClassNames = {\n root: 'fui-CarouselCard'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n xawz: 0,\n Bh6795r: 0,\n Bnnss6s: 0,\n fkmc3a: \"fg68ejw\",\n B2u0y6b: \"f6dzj5z\"\n },\n autoSize: {\n xawz: 0,\n Bh6795r: 0,\n Bnnss6s: 0,\n fkmc3a: \"fd9q35j\",\n Bf4jedk: \"fy77jfu\",\n a9b677: \"f14z66ap\",\n B2u0y6b: \"f6dzj5z\"\n }\n}, {\n d: [[\".fg68ejw{flex:0 0 100%;}\", {\n p: -1\n }], \".f6dzj5z{max-width:100%;}\", [\".fd9q35j{flex:0 0 auto;}\", {\n p: -1\n }], \".fy77jfu{min-width:0;}\", \".f14z66ap{width:auto;}\"]\n});\n/**\n * Apply styling to the CarouselCard slots based on the state\n */\nexport const useCarouselCardStyles_unstable = state => {\n 'use no memo';\n\n const {\n autoSize\n } = state;\n const styles = useStyles();\n state.root.className = mergeClasses(carouselCardClassNames.root, styles.root, autoSize && styles.autoSize, state.root.className);\n return state;\n};","import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const carouselContextDefaultValue = {\n activeIndex: 0,\n selectPageByElement: ()=>{\n return 0;\n },\n selectPageByDirection: ()=>{\n return 0;\n },\n selectPageByIndex: ()=>{\n /** noop */ },\n subscribeForValues: ()=>()=>{\n /** noop */ },\n enableAutoplay: ()=>{\n /** noop */ },\n resetAutoplay: ()=>{\n /** noop */ },\n circular: false,\n containerRef: undefined,\n viewportRef: undefined\n};\nconst CarouselContext = createContext(undefined);\nexport const CarouselProvider = CarouselContext.Provider;\nexport const useCarouselContext_unstable = (selector)=>useContextSelector(CarouselContext, (ctx = carouselContextDefaultValue)=>selector(ctx));\n","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselNavButtonClassNames = {\n root: 'fui-CarouselNavButton'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n Bceei9c: \"f1k6fduh\",\n Bkecrkj: \"fc5wo7j\",\n a9b677: \"f1van5z7\",\n Bqenvij: \"f1fkmctz\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f1f5q0n8\",\n B7ck84d: \"f1e4lqlz\",\n De3pzq: \"f1c21dwh\",\n B4j52fo: \"fre7gi1\",\n Bekrc4i: [\"f1358rze\", \"f1rvrf73\"],\n Bn0qgzm: \"fqdk4by\",\n ibv6hh: [\"f1rvrf73\", \"f1358rze\"],\n Bsft5z2: \"f13zj6fq\",\n ap17g6: \"f2gz7yw\",\n li1rpt: \"f1gw3sf2\",\n d9w3h3: 0,\n B3778ie: 0,\n B4j8arr: 0,\n Bl18szs: 0,\n Blrzh8d: \"f1x820d0\",\n Bjuhk93: 0,\n B1q35kw: 0,\n Bw17bha: 0,\n Bcgy8vk: 0,\n Du69r6: 0,\n Gp14am: 0,\n vfts7: 0,\n Bhxzhr1: 0,\n G63luc: 0,\n s924m2: 0,\n Barhvk9: 0,\n Ihftqj: 0,\n wywymt: 0,\n B0n5ga8: 0,\n Bm2nyyq: 0,\n xrcqlc: 0,\n e1d83w: \"fnwf5yv\",\n Dlnsje: \"foue38v\",\n a2br6o: \"fi4ui2s\",\n Bjyk6c5: \"f1w4p7kh\",\n go7t6h: \"fo5b2b9\",\n qx5q1e: \"f1dpauah\",\n f7digc: \"f1agqfpv\",\n Bfz3el7: \"f6pnf7h\"\n },\n rootUnselected: {\n Bw0xxkn: 0,\n oeaueh: 0,\n Bpd4iqm: 0,\n Befb4lg: \"f71xx7\",\n Byu6kyc: 0,\n n8qw10: 0,\n Bbjhlyh: 0,\n i2cumq: 0,\n Bunx835: 0,\n Bdrgwmp: 0,\n mqozju: 0,\n lbo84a: 0,\n Bksnhdo: 0,\n Bci5o5g: 0,\n u5e7qz: 0,\n Bn40d3w: 0,\n B7b6zxw: 0,\n B8q5s1w: 0,\n B5gfjzb: 0,\n Bbcte9g: 0,\n Bqz3imu: \"f1j9b7x8\",\n Bj9ihqo: 0,\n Bl51kww: 0,\n B3bvztg: 0,\n Btyt4dx: 0,\n Brhw1f9: \"f1tdm9ui\",\n Bw81rd7: 0,\n kdpuga: 0,\n dm238s: 0,\n B6xbmo0: 0,\n B3whbx2: \"f2krc9w\",\n Bp15pi3: \"f4qmjcr\",\n Bay5ve9: \"f1ry2q4s\",\n Bni0232: \"f1e9f9ku\"\n },\n rootSelected: {\n a9b677: \"f1eh74fx\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"fwku66v\",\n Bw0xxkn: 0,\n oeaueh: 0,\n Bpd4iqm: 0,\n Befb4lg: \"f71xx7\",\n Byu6kyc: 0,\n n8qw10: 0,\n Bbjhlyh: 0,\n i2cumq: 0,\n Bunx835: 0,\n Bdrgwmp: 0,\n mqozju: 0,\n lbo84a: 0,\n Bksnhdo: 0,\n Bci5o5g: 0,\n u5e7qz: 0,\n Bn40d3w: 0,\n B7b6zxw: 0,\n B8q5s1w: 0,\n B5gfjzb: 0,\n Bbcte9g: 0,\n Bqz3imu: \"f1j9b7x8\",\n Bj9ihqo: 0,\n Bl51kww: 0,\n B3bvztg: 0,\n Btyt4dx: 0,\n Brhw1f9: \"f1tdm9ui\",\n Bw81rd7: 0,\n kdpuga: 0,\n dm238s: 0,\n B6xbmo0: 0,\n B3whbx2: \"f2krc9w\",\n a2br6o: \"f1v6lwa2\",\n d9w3h3: 0,\n B3778ie: 0,\n B4j8arr: 0,\n Bl18szs: 0,\n Blrzh8d: \"fgm6wgx\",\n Bay5ve9: \"f1ry2q4s\",\n Bni0232: \"f1gxfet\"\n },\n brand: {\n Bjyk6c5: \"fwgxjcu\",\n Bp15pi3: \"fjsqi2x\",\n Glksuk: \"f1dsn91x\",\n Bay5ve9: \"f9atwx8\",\n Blzl0y7: \"fduhhxw\",\n Bni0232: \"f1e9f9ku\"\n },\n unselectedBrand: {\n Bp15pi3: \"f7x02et\"\n }\n}, {\n d: [\".f1k6fduh{cursor:pointer;}\", \".fc5wo7j{pointer-events:all;}\", \".f1van5z7{width:var(--spacingHorizontalS);}\", \".f1fkmctz{height:var(--spacingVerticalS);}\", [\".f1f5q0n8{padding:var(--spacingVerticalS) var(--spacingHorizontalS);}\", {\n p: -1\n }], \".f1e4lqlz{box-sizing:content-box;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".fre7gi1{border-top-width:0;}\", \".f1358rze{border-right-width:0;}\", \".f1rvrf73{border-left-width:0;}\", \".fqdk4by{border-bottom-width:0;}\", \".f13zj6fq::after{content:\\\"\\\";}\", \".f2gz7yw::after{display:block;}\", \".f1gw3sf2::after{box-sizing:border-box;}\", [\".f1x820d0::after{border-radius:50%;}\", {\n p: -1\n }], [\".fnwf5yv::after{border:none;}\", {\n p: -2\n }], \".foue38v::after{height:var(--spacingVerticalS);}\", \".fi4ui2s::after{width:var(--spacingHorizontalS);}\", \".f1w4p7kh::after{background-color:var(--colorNeutralForeground1);}\", \".fo5b2b9::after{color:var(--colorNeutralForeground1);}\", [\".f71xx7{outline:var(--strokeWidthThin) solid transparent;}\", {\n p: -1\n }], [\".f1j9b7x8[data-fui-focus-visible]{border:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\", {\n p: -2\n }], [\".f1tdm9ui[data-fui-focus-visible]{margin:calc(-1 * var(--strokeWidthThick));}\", {\n p: -1\n }], [\".f2krc9w[data-fui-focus-visible]{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], \".f4qmjcr::after{opacity:0.65;}\", \".f1eh74fx{width:var(--spacingHorizontalL);}\", [\".fwku66v{padding:var(--spacingVerticalS) var(--spacingHorizontalXS);}\", {\n p: -1\n }], [\".f71xx7{outline:var(--strokeWidthThin) solid transparent;}\", {\n p: -1\n }], [\".f1j9b7x8[data-fui-focus-visible]{border:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\", {\n p: -2\n }], [\".f1tdm9ui[data-fui-focus-visible]{margin:calc(-1 * var(--strokeWidthThick));}\", {\n p: -1\n }], [\".f2krc9w[data-fui-focus-visible]{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], \".f1v6lwa2::after{width:var(--spacingHorizontalL);}\", [\".fgm6wgx::after{border-radius:4px;}\", {\n p: -1\n }], \".fwgxjcu::after{background-color:var(--colorBrandBackground);}\", \".fjsqi2x::after{opacity:1;}\", \".f7x02et::after{opacity:0.6;}\"],\n m: [[\"@media (forced-colors: active){.f1dpauah::after{forced-color-adjust:none;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1agqfpv::after{background-color:white;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f6pnf7h::after{mix-blend-mode:difference;}}\", {\n m: \"(forced-colors: active)\"\n }]],\n h: [\".f1ry2q4s:hover::after{opacity:0.75;}\", \".f1dsn91x:hover::after{background-color:var(--colorBrandBackgroundHover);}\", \".f9atwx8:hover::after{opacity:1;}\"],\n a: [\".f1e9f9ku:active::after{opacity:1;}\", \".f1gxfet:active::after{opacity:0.65;}\", \".fduhhxw:active::after{background-color:var(--colorBrandBackgroundPressed);}\"]\n});\n/**\n * Apply styling to the CarouselNavButton slots based on the state\n */\nexport const useCarouselNavButtonStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const {\n selected,\n appearance\n } = state;\n state.root.className = mergeClasses(carouselNavButtonClassNames.root, styles.root, selected ? styles.rootSelected : styles.rootUnselected, appearance === 'brand' && styles.brand, !selected && appearance === 'brand' && styles.unselectedBrand, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCarouselNavButton_unstable } from './useCarouselNavButton';\nimport { renderCarouselNavButton_unstable } from './renderCarouselNavButton';\nimport { useCarouselNavButtonStyles_unstable } from './useCarouselNavButtonStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * The child element of CarouselNav, a singular button that will set the carousels active value on click.\n */ export const CarouselNavButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarouselNavButton_unstable(props, ref);\n useCarouselNavButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselNavButtonStyles_unstable')(state);\n return renderCarouselNavButton_unstable(state);\n});\nCarouselNavButton.displayName = 'CarouselNavButton';\n","import { useARIAButtonProps } from '@fluentui/react-aria';\nimport { useTabsterAttributes } from '@fluentui/react-tabster';\nimport { getIntrinsicElementProps, isHTMLElement, slot, useEventCallback, useIsomorphicLayoutEffect, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\nimport { useCarouselNavContext } from '../CarouselNav/CarouselNavContext';\nimport { useCarouselNavIndexContext } from '../CarouselNav/CarouselNavIndexContext';\n/**\n * Create the state required to render CarouselNavButton.\n *\n * The returned state can be modified with hooks such as useCarouselNavButtonStyles_unstable,\n * before being passed to renderCarouselNavButton_unstable.\n *\n * @param props - props from this instance of CarouselNavButton\n * @param ref - reference to root HTMLDivElement of CarouselNavButton\n */ export const useCarouselNavButton_unstable = (props, ref)=>{\n const { onClick, as = 'button' } = props;\n const { appearance } = useCarouselNavContext();\n const index = useCarouselNavIndexContext();\n const selectPageByIndex = useCarouselContext((ctx)=>ctx.selectPageByIndex);\n const selected = useCarouselContext((ctx)=>ctx.activeIndex === index);\n const subscribeForValues = useCarouselContext((ctx)=>ctx.subscribeForValues);\n const resetAutoplay = useCarouselContext((ctx)=>ctx.resetAutoplay);\n const handleClick = useEventCallback((event)=>{\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n if (!event.defaultPrevented && isHTMLElement(event.target)) {\n selectPageByIndex(event, index);\n }\n // Ensure any autoplay timers are extended/reset\n resetAutoplay();\n });\n const defaultTabProps = useTabsterAttributes({\n focusable: {\n isDefault: selected\n }\n });\n const buttonRef = React.useRef();\n const _carouselButton = slot.always(getIntrinsicElementProps(as, useARIAButtonProps(props.as, props)), {\n elementType: 'button',\n defaultProps: {\n ref: useMergedRefs(ref, buttonRef),\n role: 'tab',\n type: 'button',\n 'aria-selected': selected,\n ...defaultTabProps\n }\n });\n useIsomorphicLayoutEffect(()=>{\n return subscribeForValues((data)=>{\n const controlList = data.groupIndexList[index];\n const _controlledSlideIds = controlList.map((slideIndex)=>{\n return data.slideNodes[slideIndex].id;\n }).join(' ');\n if (buttonRef.current) {\n buttonRef.current.setAttribute('aria-controls', _controlledSlideIds);\n }\n });\n }, [\n index,\n subscribeForValues\n ]);\n // Override onClick\n _carouselButton.onClick = handleClick;\n const state = {\n selected,\n appearance,\n components: {\n root: 'button'\n },\n root: _carouselButton\n };\n return state;\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of CarouselNavButton\n */ export const renderCarouselNavButton_unstable = (state)=>{\n assertSlots(state);\n // TODO Add additional slots in the appropriate place\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { useToggleButtonStyles_unstable } from '@fluentui/react-button';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselAutoplayButtonClassNames = {\n root: 'fui-CarouselAutoplayButton',\n icon: 'fui-CarouselAutoplayButton__icon'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n Bkecrkj: \"fc5wo7j\",\n B6of3ja: \"fgr6219\",\n jrapky: \"f10jk5vf\",\n g2u3we: \"fghlq4f\",\n h3c5rm: [\"f1gn591s\", \"fjscplz\"],\n B9xav0g: \"fb073pr\",\n zhjwy3: [\"fjscplz\", \"f1gn591s\"],\n sj55zd: \"fkfq4zb\",\n De3pzq: \"fkfdr9r\",\n eoavqd: \"f8491dx\"\n }\n}, {\n d: [\".fc5wo7j{pointer-events:all;}\", \".fgr6219{margin-top:auto;}\", \".f10jk5vf{margin-bottom:auto;}\", \".fghlq4f{border-top-color:var(--colorTransparentStroke);}\", \".f1gn591s{border-right-color:var(--colorTransparentStroke);}\", \".fjscplz{border-left-color:var(--colorTransparentStroke);}\", \".fb073pr{border-bottom-color:var(--colorTransparentStroke);}\", \".fkfq4zb{color:var(--colorNeutralForeground2);}\", \".fkfdr9r{background-color:var(--colorNeutralBackgroundAlpha);}\"],\n h: [\".f8491dx:hover{cursor:pointer;}\"]\n});\n/**\n * Apply styling to the CarouselAutoplayButton slots based on the state\n */\nexport const useCarouselAutoplayButtonStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n useToggleButtonStyles_unstable(state);\n state.root.className = mergeClasses(carouselAutoplayButtonClassNames.root, styles.root, state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(carouselAutoplayButtonClassNames.icon, state.icon.className);\n }\n return state;\n};","import * as React from 'react';\nimport { useCarouselAutoplayButton_unstable } from './useCarouselAutoplayButton';\nimport { renderCarouselAutoplayButton_unstable } from './renderCarouselAutoplayButton';\nimport { useCarouselAutoplayButtonStyles_unstable } from './useCarouselAutoplayButtonStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * If the Carousel is on auto-play, the user may opt into pausing the auto-play feature via the\n * CarouselAutoplayButton which must be present for auto-play to be enabled.\n *\n * If CarouselAutoplayButton is present, auto-play will default to true on mount.\n */ export const CarouselAutoplayButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarouselAutoplayButton_unstable(props, ref);\n useCarouselAutoplayButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselAutoplayButtonStyles_unstable')(state);\n return renderCarouselAutoplayButton_unstable(state);\n});\nCarouselAutoplayButton.displayName = 'CarouselAutoplayButton';\n","import { useToggleButton_unstable } from '@fluentui/react-button';\nimport { PlayCircleRegular, PauseCircleRegular } from '@fluentui/react-icons';\nimport { mergeCallbacks, slot, useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\n/**\n * Create the state required to render CarouselAutoplayButton.\n *\n * The returned state can be modified with hooks such as useCarouselAutoplayButtonStyles_unstable,\n * before being passed to renderCarouselAutoplayButton_unstable.\n *\n * @param props - props from this instance of CarouselAutoplayButton\n * @param ref - reference to root HTMLDivElement of CarouselAutoplayButton\n */ export const useCarouselAutoplayButton_unstable = (props, ref)=>{\n const { onCheckedChange, checked, defaultChecked } = props;\n const [autoplay, setAutoplay] = useControllableState({\n state: checked,\n defaultState: defaultChecked,\n initialState: false\n });\n const enableAutoplay = useCarouselContext((ctx)=>ctx.enableAutoplay);\n React.useEffect(()=>{\n // Initialize carousel autoplay based on button state\n enableAutoplay(autoplay);\n return ()=>{\n // We uninitialize autoplay if the button gets unmounted.\n enableAutoplay(false);\n };\n }, [\n autoplay,\n enableAutoplay\n ]);\n const handleClick = (event)=>{\n if (event.isDefaultPrevented()) {\n return;\n }\n const newValue = !autoplay;\n setAutoplay(newValue);\n onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(event, {\n event,\n type: 'click',\n checked: newValue\n });\n };\n return {\n // We lean on react-button class to handle styling and icon enhancements\n ...useToggleButton_unstable({\n icon: slot.optional(props.icon, {\n defaultProps: {\n children: autoplay ? /*#__PURE__*/ React.createElement(PauseCircleRegular, null) : /*#__PURE__*/ React.createElement(PlayCircleRegular, null)\n },\n renderByDefault: true,\n elementType: 'span'\n }),\n ...props,\n checked: autoplay,\n onClick: useEventCallback(mergeCallbacks(handleClick, props.onClick))\n }, ref)\n };\n};\n","import { assertSlots } from '@fluentui/react-utilities';\nimport { renderToggleButton_unstable } from '@fluentui/react-button';\n/**\n * Render the final JSX of CarouselAutoplayButton\n */ export const renderCarouselAutoplayButton_unstable = (state)=>{\n assertSlots(state);\n // We render the underlying react-button with injected carousel functionality\n return renderToggleButton_unstable(state);\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { useButtonStyles_unstable } from '@fluentui/react-button';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselButtonClassNames = {\n root: 'fui-CarouselButton',\n icon: 'fui-CarouselButton__icon'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n B6of3ja: \"fgr6219\",\n jrapky: \"f10jk5vf\",\n sj55zd: \"fkfq4zb\",\n De3pzq: \"fkfdr9r\",\n Bkecrkj: \"fc5wo7j\",\n eoavqd: \"f8491dx\"\n }\n}, {\n d: [\".fgr6219{margin-top:auto;}\", \".f10jk5vf{margin-bottom:auto;}\", \".fkfq4zb{color:var(--colorNeutralForeground2);}\", \".fkfdr9r{background-color:var(--colorNeutralBackgroundAlpha);}\", \".fc5wo7j{pointer-events:all;}\"],\n h: [\".f8491dx:hover{cursor:pointer;}\"]\n});\n/**\n * Apply styling to the CarouselButton slots based on the state\n */\nexport const useCarouselButtonStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state = {\n ...state,\n ...useButtonStyles_unstable(state)\n };\n state.root.className = mergeClasses(carouselButtonClassNames.root, styles.root, state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(carouselButtonClassNames.icon, state.icon.className);\n }\n return state;\n};","import { useButton_unstable } from '@fluentui/react-button';\nimport { ChevronLeftRegular, ChevronRightRegular } from '@fluentui/react-icons';\nimport { mergeCallbacks, useEventCallback, slot, useIsomorphicLayoutEffect, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\nimport { carouselButtonClassNames } from './useCarouselButtonStyles.styles';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n/**\n * Create the state required to render CarouselButton.\n *\n * The returned state can be modified with hooks such as useCarouselButtonStyles_unstable,\n * before being passed to renderCarouselButton_unstable.\n *\n * @param props - props from this instance of CarouselButton\n * @param ref - reference to root HTMLDivElement of CarouselButton\n */ export const useCarouselButton_unstable = (props, ref)=>{\n const { navType = 'next' } = props;\n // Locally tracks the total number of slides, will only update if this changes.\n const [totalSlides, setTotalSlides] = React.useState(0);\n const { dir } = useFluent();\n const buttonRef = React.useRef();\n const circular = useCarouselContext((ctx)=>ctx.circular);\n const containerRef = useCarouselContext((ctx)=>ctx.containerRef);\n const selectPageByDirection = useCarouselContext((ctx)=>ctx.selectPageByDirection);\n const subscribeForValues = useCarouselContext((ctx)=>ctx.subscribeForValues);\n const resetAutoplay = useCarouselContext((ctx)=>ctx.resetAutoplay);\n const isTrailing = useCarouselContext((ctx)=>{\n if (circular) {\n return false;\n }\n if (navType === 'prev') {\n return ctx.activeIndex === 0;\n }\n return ctx.activeIndex === totalSlides - 1;\n });\n const handleClick = (event)=>{\n if (event.isDefaultPrevented()) {\n return;\n }\n const nextIndex = selectPageByDirection(event, navType);\n let _trailing = false;\n if (navType === 'prev') {\n _trailing = nextIndex === 0;\n } else {\n _trailing = nextIndex === totalSlides - 1;\n }\n if (!circular && _trailing && (containerRef === null || containerRef === void 0 ? void 0 : containerRef.current)) {\n // Focus non-disabled element\n const buttonRefs = containerRef.current.querySelectorAll(`.${carouselButtonClassNames.root}`);\n buttonRefs.forEach((_buttonRef)=>{\n if (_buttonRef !== buttonRef.current) {\n _buttonRef.focus();\n }\n });\n }\n resetAutoplay();\n };\n useIsomorphicLayoutEffect(()=>{\n return subscribeForValues((data)=>{\n setTotalSlides(data.navItemsCount);\n });\n }, [\n subscribeForValues\n ]);\n const nextArrowIcon = dir === 'ltr' ? /*#__PURE__*/ React.createElement(ChevronRightRegular, null) : /*#__PURE__*/ React.createElement(ChevronLeftRegular, null);\n const prevArrowIcon = dir === 'ltr' ? /*#__PURE__*/ React.createElement(ChevronLeftRegular, null) : /*#__PURE__*/ React.createElement(ChevronRightRegular, null);\n return {\n navType,\n // We lean on react-button class to handle styling and icon enhancements\n ...useButton_unstable({\n icon: slot.optional(props.icon, {\n defaultProps: {\n children: navType === 'next' ? nextArrowIcon : prevArrowIcon\n },\n renderByDefault: true,\n elementType: 'span'\n }),\n disabled: isTrailing,\n tabIndex: isTrailing ? -1 : 0,\n 'aria-disabled': isTrailing,\n appearance: 'subtle',\n ...props,\n onClick: useEventCallback(mergeCallbacks(handleClick, props.onClick))\n }, useMergedRefs(ref, buttonRef))\n };\n};\n","import * as React from 'react';\nimport { useCarouselButton_unstable } from './useCarouselButton';\nimport { renderCarouselButton_unstable } from './renderCarouselButton';\nimport { useCarouselButtonStyles_unstable } from './useCarouselButtonStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A default navigation button that will set value to the next/previous page,\n * driven by it's type 'next' or 'previous'.\n */ export const CarouselButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarouselButton_unstable(props, ref);\n useCarouselButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselButtonStyles_unstable')(state);\n return renderCarouselButton_unstable(state);\n});\nCarouselButton.displayName = 'CarouselButton';\n","import { assertSlots } from '@fluentui/react-utilities';\nimport { renderButton_unstable } from '@fluentui/react-button';\n/**\n * Render the final JSX of CarouselButton\n */ export const renderCarouselButton_unstable = (state)=>{\n assertSlots(state);\n // We render the underlying react-button with injected carousel functionality\n return renderButton_unstable(state);\n};\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of CarouselNavContainer\n */ export const renderCarouselNavContainer_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.autoplay && /*#__PURE__*/ _jsx(state.autoplay, {}),\n state.prev && /*#__PURE__*/ _jsx(state.prev, {}),\n state.root.children,\n state.next && /*#__PURE__*/ _jsx(state.next, {})\n ]\n });\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselNavContainerClassNames = {\n root: 'fui-CarouselNavContainer',\n next: 'fui-CarouselNavContainer__next',\n prev: 'fui-CarouselNavContainer__prev',\n autoplay: 'fui-CarouselNavContainer__autoplay'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1063pyq\",\n Brf1p80: \"f4d9j23\",\n a9b677: \"fly5x3f\",\n Bkecrkj: \"f1aehjj5\"\n },\n next: {},\n prev: {},\n autoplay: {},\n inline: {\n B6of3ja: \"f1mevb6\"\n },\n overlay: {\n qhf8xq: \"f1euv43f\",\n B5kzvoi: \"f1bu4tuc\",\n B7ck84d: \"f1ewtqcl\"\n },\n overlayWide: {\n B5kzvoi: \"f1bu4tuc\"\n },\n nextWide: {\n Frg6f3: [\"fcgxt0o\", \"f1ujusj6\"]\n },\n prevWide: {\n t21cq0: [\"f1ujusj6\", \"fcgxt0o\"]\n },\n nextOverlayWide: {\n t21cq0: [\"fkujibs\", \"f199hnxi\"]\n },\n prevOverlayWide: {\n Frg6f3: [\"f199hnxi\", \"fkujibs\"]\n },\n autoplayOverlayWide: {\n Frg6f3: [\"f199hnxi\", \"fkujibs\"]\n },\n expanded: {\n a9b677: \"fly5x3f\",\n Bqenvij: \"f1l02sjl\",\n Bt984gj: \"fgs5rwf\",\n Brf1p80: \"f4d9j23\",\n B5kzvoi: \"f1yab3r1\",\n c7y7m3: \"f1ok8cdc\",\n yx0ijg: \"fcq6x80\",\n v4amzz: \"f1gy9d85\"\n },\n nextOverlayExpanded: {\n qhf8xq: \"f1euv43f\",\n j35jbq: [\"f8b87gs\", \"fedtrts\"],\n Bhzewxz: \"f1i1t8d1\",\n Bz10aip: \"f188r07x\"\n },\n prevOverlayExpanded: {\n qhf8xq: \"f1euv43f\",\n oyh7mz: [\"fedtrts\", \"f8b87gs\"],\n Bhzewxz: \"f1i1t8d1\",\n Bz10aip: \"f188r07x\"\n },\n autoplayExpanded: {\n qhf8xq: \"f1euv43f\",\n B5kzvoi: \"f49tsn4\",\n oyh7mz: [\"fedtrts\", \"f8b87gs\"],\n jrapky: \"f18zxyen\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1063pyq{flex-direction:row;}\", \".f4d9j23{justify-content:center;}\", \".fly5x3f{width:100%;}\", \".f1aehjj5{pointer-events:none;}\", \".f1mevb6{margin-top:var(--spacingVerticalM);}\", \".f1euv43f{position:absolute;}\", \".f1bu4tuc{bottom:var(--spacingVerticalM);}\", \".f1ewtqcl{box-sizing:border-box;}\", \".fcgxt0o{margin-left:auto;}\", \".f1ujusj6{margin-right:auto;}\", \".fkujibs{margin-right:var(--spacingHorizontalM);}\", \".f199hnxi{margin-left:var(--spacingHorizontalM);}\", \".f1l02sjl{height:100%;}\", \".fgs5rwf{align-items:flex-end;}\", \".f1yab3r1{bottom:0;}\", \".f1ok8cdc>div{position:relative;}\", \".fcq6x80>div{bottom:var(--spacingVerticalL);}\", \".f1gy9d85>div{margin-bottom:0;}\", \".f8b87gs{right:var(--spacingHorizontalM);}\", \".fedtrts{left:var(--spacingHorizontalM);}\", \".f1i1t8d1{top:50%;}\", \".f188r07x{transform:translateY(-50%);}\", \".f49tsn4{bottom:-var(--spacingHorizontalXS);}\", \".f18zxyen{margin-bottom:var(--spacingVerticalM);}\"]\n});\n/**\n * Apply styling to the CarouselNavContainer slots based on the state\n */\nexport const useCarouselNavContainerStyles_unstable = state => {\n 'use no memo';\n\n const {\n layout\n } = state;\n const isOverlay = layout === 'overlay' || layout === 'overlay-wide' || layout === 'overlay-expanded';\n const isWide = layout === 'inline-wide' || layout === 'overlay-wide';\n const styles = useStyles();\n state.root.className = mergeClasses(carouselNavContainerClassNames.root, styles.root, isOverlay ? styles.overlay : styles.inline, isOverlay && isWide && styles.overlayWide, layout === 'overlay-expanded' && styles.expanded, state.root.className);\n if (state.next) {\n state.next.className = mergeClasses(carouselNavContainerClassNames.next, styles.next, isWide && styles.nextWide, isWide && isOverlay && styles.nextOverlayWide, layout === 'overlay-expanded' && styles.nextOverlayExpanded, state.next.className);\n }\n if (state.prev) {\n state.prev.className = mergeClasses(carouselNavContainerClassNames.prev, styles.prev, isWide && styles.prevWide, !state.autoplay && isWide && isOverlay && styles.prevOverlayWide, layout === 'overlay-expanded' && styles.prevOverlayExpanded, state.prev.className);\n }\n if (state.autoplay) {\n state.autoplay.className = mergeClasses(carouselNavContainerClassNames.autoplay, styles.autoplay, layout === 'overlay-expanded' && styles.autoplayExpanded, isWide && isOverlay && styles.autoplayOverlayWide, state.autoplay.className);\n }\n return state;\n};","import * as React from 'react';\nimport { useCarouselNavContainer_unstable } from './useCarouselNavContainer';\nimport { renderCarouselNavContainer_unstable } from './renderCarouselNavContainer';\nimport { useCarouselNavContainerStyles_unstable } from './useCarouselNavContainerStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * CarouselNavContainer component - This container will provide multiple valid layout options for the underlying carousel controls\n */ export const CarouselNavContainer = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarouselNavContainer_unstable(props, ref);\n useCarouselNavContainerStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselNavContainerStyles_unstable')(state);\n return renderCarouselNavContainer_unstable(state);\n});\nCarouselNavContainer.displayName = 'CarouselNavContainer';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { CarouselAutoplayButton } from '../CarouselAutoplayButton/CarouselAutoplayButton';\nimport { CarouselButton } from '../CarouselButton/CarouselButton';\n/**\n * Create the state required to render CarouselNavContainer.\n *\n * The returned state can be modified with hooks such as useCarouselNavContainerStyles_unstable,\n * before being passed to renderCarouselNavContainer_unstable.\n *\n * @param props - props from this instance of CarouselNavContainer\n * @param ref - reference to root HTMLDivElement of CarouselNavContainer\n */ export const useCarouselNavContainer_unstable = (props, ref)=>{\n const { layout } = props;\n const next = slot.optional(props.next, {\n defaultProps: {\n navType: 'next'\n },\n elementType: CarouselButton,\n renderByDefault: true\n });\n const prev = slot.optional(props.prev, {\n defaultProps: {\n navType: 'prev'\n },\n elementType: CarouselButton,\n renderByDefault: true\n });\n const autoplay = slot.optional(props.autoplay, {\n renderByDefault: false,\n elementType: CarouselAutoplayButton\n });\n return {\n layout,\n components: {\n root: 'div',\n next: CarouselButton,\n prev: CarouselButton,\n autoplay: CarouselAutoplayButton\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref,\n ...props\n }), {\n elementType: 'div'\n }),\n next,\n prev,\n autoplay\n };\n};\n","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselNavClassNames = {\n root: 'fui-CarouselNav'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1063pyq\",\n Bt984gj: \"f122n59\",\n Brf1p80: \"f4d9j23\",\n Bkecrkj: \"fc5wo7j\",\n Bfpq7zp: 0,\n g9k6zt: 0,\n Bn4voq9: 0,\n giviqs: \"f89hs3r\",\n Bw81rd7: 0,\n kdpuga: 0,\n dm238s: 0,\n B6xbmo0: 0,\n B3whbx2: \"f2krc9w\",\n B8q5s1w: \"f8hki3x\",\n Bci5o5g: [\"f1d2448m\", \"ffh67wi\"],\n n8qw10: \"f1bjia2o\",\n Bdrgwmp: [\"ffh67wi\", \"f1d2448m\"],\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"f1kijzfu\",\n jrapky: 0,\n Frg6f3: 0,\n t21cq0: 0,\n B6of3ja: 0,\n B74szlk: \"fkb7v5e\",\n De3pzq: \"fkfdr9r\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1063pyq{flex-direction:row;}\", \".f122n59{align-items:center;}\", \".f4d9j23{justify-content:center;}\", \".fc5wo7j{pointer-events:all;}\", [\".f89hs3r[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\", {\n p: -1\n }], [\".f2krc9w[data-fui-focus-visible]{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], \".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}\", \".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}\", \".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}\", \".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}\", [\".f1kijzfu{border-radius:var(--borderRadiusXLarge);}\", {\n p: -1\n }], [\".fkb7v5e{margin:auto var(--spacingHorizontalS);}\", {\n p: -1\n }], \".fkfdr9r{background-color:var(--colorNeutralBackgroundAlpha);}\"]\n});\n/**\n * Apply styling to the CarouselNav slots based on the state\n */\nexport const useCarouselNavStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(carouselNavClassNames.root, styles.root, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCarouselNavContextValues_unstable } from './CarouselNavContext';\nimport { renderCarouselNav_unstable } from './renderCarouselNav';\nimport { useCarouselNav_unstable } from './useCarouselNav';\nimport { useCarouselNavStyles_unstable } from './useCarouselNavStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Used to jump to a card based on index, using arrow navigation via Tabster.\n *\n * The children of this component will be wrapped in a context to\n * provide the appropriate value based on their index position.\n */ export const CarouselNav = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarouselNav_unstable(props, ref);\n const contextValues = useCarouselNavContextValues_unstable(state);\n useCarouselNavStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselNavStyles_unstable')(state);\n return renderCarouselNav_unstable(state, contextValues);\n});\nCarouselNav.displayName = 'CarouselNav';\n","import { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { getIntrinsicElementProps, slot, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\nimport { useControllableState } from '@fluentui/react-utilities';\n/**\n * Create the state required to render CarouselNav.\n *\n * The returned state can be modified with hooks such as useCarouselNavStyles_unstable,\n * before being passed to renderCarouselNav_unstable.\n *\n * @param props - props from this instance of CarouselNav\n * @param ref - reference to root HTMLDivElement of CarouselNav\n */ export const useCarouselNav_unstable = (props, ref)=>{\n const { appearance } = props;\n const focusableGroupAttr = useArrowNavigationGroup({\n circular: false,\n axis: 'horizontal',\n memorizeCurrent: false,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_hasDefault: true\n });\n // Users can choose controlled or uncontrolled, if uncontrolled, the default is initialized by carousel context\n const [totalSlides, setTotalSlides] = useControllableState({\n state: props.totalSlides,\n initialState: 0\n });\n const subscribeForValues = useCarouselContext((ctx)=>ctx.subscribeForValues);\n useIsomorphicLayoutEffect(()=>{\n return subscribeForValues((data)=>{\n setTotalSlides(data.navItemsCount);\n });\n }, [\n subscribeForValues,\n setTotalSlides\n ]);\n return {\n totalSlides,\n appearance,\n renderNavButton: props.children,\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref,\n role: 'tablist',\n ...props,\n ...focusableGroupAttr,\n children: null\n }), {\n elementType: 'div'\n })\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { CarouselNavContextProvider } from './CarouselNavContext';\nimport { CarouselNavIndexContextProvider } from './CarouselNavIndexContext';\n/**\n * Render the final JSX of CarouselNav\n */ export const renderCarouselNav_unstable = (state, contextValues)=>{\n assertSlots(state);\n const { totalSlides, renderNavButton } = state;\n return /*#__PURE__*/ _jsx(state.root, {\n children: /*#__PURE__*/ _jsx(CarouselNavContextProvider, {\n value: contextValues.carouselNav,\n children: new Array(totalSlides).fill(null).map((_, index)=>/*#__PURE__*/ _jsx(CarouselNavIndexContextProvider, {\n value: index,\n children: renderNavButton(index)\n }, index))\n })\n });\n};\n","import * as React from 'react';\nconst carouselNavContext = React.createContext(undefined);\nexport const carouselNavContextDefaultValue = {\n appearance: undefined\n};\nexport const useCarouselNavContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(carouselNavContext)) !== null && _React_useContext !== void 0 ? _React_useContext : carouselNavContextDefaultValue;\n};\nexport const CarouselNavContextProvider = carouselNavContext.Provider;\nexport function useCarouselNavContextValues_unstable(state) {\n const { appearance } = state;\n const carouselNav = React.useMemo(()=>({\n appearance\n }), [\n appearance\n ]);\n return {\n carouselNav\n };\n}\n","import * as React from 'react';\nconst carouselNavIndexContext = React.createContext(undefined);\nexport const carouselNavIndexContextDefaultValue = 0;\nexport const useCarouselNavIndexContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(carouselNavIndexContext)) !== null && _React_useContext !== void 0 ? _React_useContext : carouselNavIndexContextDefaultValue;\n};\nexport const CarouselNavIndexContextProvider = carouselNavIndexContext.Provider;\n","import * as React from 'react';\n// import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useCarouselSlider_unstable } from './useCarouselSlider';\nimport { renderCarouselSlider_unstable } from './renderCarouselSlider';\nimport { useCarouselSliderStyles_unstable } from './useCarouselSliderStyles.styles';\nimport { useCarouselSliderContextValues_unstable } from './CarouselSliderContext';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * CarouselSlider component - The viewport window that CarouselCards are contained within.\n */ export const CarouselSlider = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarouselSlider_unstable(props, ref);\n useCarouselSliderStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselSliderStyles_unstable')(state);\n const context = useCarouselSliderContextValues_unstable(state);\n return renderCarouselSlider_unstable(state, context);\n});\nCarouselSlider.displayName = 'CarouselSlider';\n","import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\n/**\n * Create the state required to render CarouselSlider.\n *\n * The returned state can be modified with hooks such as useCarouselSliderStyles_unstable,\n * before being passed to renderCarouselSlider_unstable.\n *\n * @param props - props from this instance of CarouselSlider\n * @param ref - reference to root HTMLDivElement of CarouselSlider\n */ export const useCarouselSlider_unstable = (props, ref)=>{\n const { cardFocus = false } = props;\n const circular = useCarouselContext((ctx)=>ctx.circular);\n const focusableGroupAttr = useArrowNavigationGroup({\n circular,\n axis: 'horizontal',\n memorizeCurrent: false,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_hasDefault: true\n });\n const focusProps = cardFocus ? focusableGroupAttr : {};\n return {\n cardFocus,\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref,\n role: 'group',\n ...props,\n ...focusProps\n }), {\n elementType: 'div'\n })\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { CarouselSliderContextProvider } from './CarouselSliderContext';\n/**\n * Render the final JSX of CarouselSlider\n */ export const renderCarouselSlider_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(CarouselSliderContextProvider, {\n value: contextValues.carouselSlider,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import * as React from 'react';\nconst carouselSliderContext = React.createContext(undefined);\nexport const carouselSliderContextDefaultValue = {\n cardFocus: false\n};\nexport const useCarouselSliderContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(carouselSliderContext)) !== null && _React_useContext !== void 0 ? _React_useContext : carouselSliderContextDefaultValue;\n};\nexport const CarouselSliderContextProvider = carouselSliderContext.Provider;\nexport function useCarouselSliderContextValues_unstable(state) {\n const { cardFocus } = state;\n const carouselSlider = React.useMemo(()=>({\n cardFocus\n }), [\n cardFocus\n ]);\n return {\n carouselSlider\n };\n}\n","import { __styles, mergeClasses } from '@griffel/react';\nexport const carouselSliderClassNames = {\n root: 'fui-CarouselSlider'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Eiaeu8: \"f1115ve7\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1115ve7{overflow-anchor:none;}\"]\n});\n/**\n * Apply styling to the CarouselSlider slots based on the state\n */\nexport const useCarouselSliderStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(carouselSliderClassNames.root, styles.root, state.root.className);\n return state;\n};","import { __styles, mergeClasses } from '@griffel/react';\nexport const carouselViewportClassNames = {\n root: 'fui-CarouselViewport'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n B2u0y6b: \"f6dzj5z\",\n a9b677: \"f14z66ap\"\n }\n}, {\n d: [\".f6dzj5z{max-width:100%;}\", \".f14z66ap{width:auto;}\"]\n});\n/**\n * Apply styling to the CarouselViewport slots based on the state\n */\nexport const useCarouselViewportStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(carouselViewportClassNames.root, styles.root, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCarouselViewport_unstable } from './useCarouselViewport';\nimport { renderCarouselViewport_unstable } from './renderCarouselViewport';\nimport { useCarouselViewportStyles_unstable } from './useCarouselViewportStyles.styles';\nimport { useCarouselSliderContextValues_unstable } from '../CarouselSlider/CarouselSliderContext';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * CarouselViewport component - TODO: add more docs\n */ export const CarouselViewport = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarouselViewport_unstable(props, ref);\n useCarouselViewportStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselViewportStyles_unstable')(state);\n const context = useCarouselSliderContextValues_unstable(state);\n return renderCarouselViewport_unstable(state, context);\n});\nCarouselViewport.displayName = 'CarouselViewport';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, mergeCallbacks, slot, useMergedRefs } from '@fluentui/react-utilities';\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\n/**\n * Create the state required to render CarouselViewport.\n *\n * The returned state can be modified with hooks such as useCarouselViewportStyles_unstable,\n * before being passed to renderCarouselViewport_unstable.\n *\n * @param props - props from this instance of CarouselViewport\n * @param ref - reference to root HTMLDivElement of CarouselViewport\n */ export const useCarouselViewport_unstable = (props, ref)=>{\n const hasFocus = React.useRef(false);\n const hasMouse = React.useRef(false);\n const viewportRef = useCarouselContext((ctx)=>ctx.viewportRef);\n const enableAutoplay = useCarouselContext((ctx)=>ctx.enableAutoplay);\n const handleFocusCapture = React.useCallback((e)=>{\n hasFocus.current = true;\n // Will pause autoplay when focus is captured within viewport (if autoplay is initialized)\n enableAutoplay(false, true);\n }, [\n enableAutoplay\n ]);\n const handleBlurCapture = React.useCallback((e)=>{\n // Will enable autoplay (if initialized) when focus exits viewport\n if (!e.currentTarget.contains(e.relatedTarget)) {\n hasFocus.current = false;\n if (!hasMouse.current) {\n enableAutoplay(true, true);\n }\n }\n }, [\n enableAutoplay\n ]);\n const handleMouseEnter = React.useCallback((event)=>{\n hasMouse.current = true;\n enableAutoplay(false, true);\n }, [\n enableAutoplay\n ]);\n const handleMouseLeave = React.useCallback((event)=>{\n hasMouse.current = false;\n if (!hasFocus.current) {\n enableAutoplay(true, true);\n }\n }, [\n enableAutoplay\n ]);\n const onFocusCapture = mergeCallbacks(props.onFocusCapture, handleFocusCapture);\n const onBlurCapture = mergeCallbacks(props.onBlurCapture, handleBlurCapture);\n const onMouseEnter = mergeCallbacks(props.onMouseEnter, handleMouseEnter);\n const onMouseLeave = mergeCallbacks(props.onMouseLeave, handleMouseLeave);\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref: useMergedRefs(ref, viewportRef),\n role: 'presentation',\n // Draggable ensures dragging is supported (even if not enabled)\n draggable: true,\n ...props,\n onFocusCapture,\n onBlurCapture,\n onMouseEnter,\n onMouseLeave\n }), {\n elementType: 'div'\n })\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { CarouselSliderContextProvider } from '../CarouselSlider/CarouselSliderContext';\n/**\n * Render the final JSX of CarouselViewport\n */ export const renderCarouselViewport_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(CarouselSliderContextProvider, {\n value: contextValues.carouselSlider,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import * as React from 'react';\nimport { useCarousel_unstable } from './useCarousel';\nimport { renderCarousel_unstable } from './renderCarousel';\nimport { useCarouselStyles_unstable } from './useCarouselStyles.styles';\nimport { useCarouselContextValues_unstable } from './useCarouselContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\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 */ export const Carousel = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCarousel_unstable(props, ref);\n useCarouselStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselStyles_unstable')(state);\n const contextValues = useCarouselContextValues_unstable(state);\n return renderCarousel_unstable(state, contextValues);\n});\nCarousel.displayName = 'Carousel';\n","import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { getIntrinsicElementProps, slot, useEventCallback, useIsomorphicLayoutEffect, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useEmblaCarousel } from '../useEmblaCarousel';\nimport { useAnnounce } from '@fluentui/react-shared-contexts';\n/**\n * Create the state required to render Carousel.\n *\n * The returned state can be modified with hooks such as useCarouselStyles_unstable,\n * before being passed to renderCarousel_unstable.\n *\n * @param props - props from this instance of Carousel\n * @param ref - reference to root HTMLDivElement of Carousel\n */ export function useCarousel_unstable(props, ref) {\n 'use no memo';\n const { align = 'center', circular = false, onActiveIndexChange, groupSize = 'auto', draggable = false, whitespace = false, announcement, motion = 'slide' } = props;\n const { dir } = useFluent();\n const { activeIndex, carouselApi, containerRef, viewportRef, subscribeForValues, enableAutoplay, resetAutoplay } = useEmblaCarousel({\n align,\n direction: dir,\n loop: circular,\n slidesToScroll: groupSize,\n defaultActiveIndex: props.defaultActiveIndex,\n activeIndex: props.activeIndex,\n watchDrag: draggable,\n containScroll: whitespace ? false : 'keepSnaps',\n motion,\n onDragIndexChange: onActiveIndexChange,\n onAutoplayIndexChange: onActiveIndexChange\n });\n const selectPageByElement = useEventCallback((event, element, jump)=>{\n const foundIndex = carouselApi.scrollToElement(element, jump);\n onActiveIndexChange === null || onActiveIndexChange === void 0 ? void 0 : onActiveIndexChange(event, {\n event,\n type: 'focus',\n index: foundIndex\n });\n return foundIndex;\n });\n const selectPageByIndex = useEventCallback((event, index, jump)=>{\n carouselApi.scrollToIndex(index, jump);\n onActiveIndexChange === null || onActiveIndexChange === void 0 ? void 0 : onActiveIndexChange(event, {\n event,\n type: 'click',\n index\n });\n });\n const selectPageByDirection = useEventCallback((event, direction)=>{\n const nextPageIndex = carouselApi.scrollInDirection(direction);\n onActiveIndexChange === null || onActiveIndexChange === void 0 ? void 0 : onActiveIndexChange(event, {\n event,\n type: 'click',\n index: nextPageIndex\n });\n return nextPageIndex;\n });\n const mergedContainerRef = useMergedRefs(ref, containerRef);\n // Announce carousel updates\n const announcementTextRef = React.useRef('');\n const totalNavLength = React.useRef(0);\n const navGroupRef = React.useRef([]);\n const { announce } = useAnnounce();\n const updateAnnouncement = useEventCallback(()=>{\n if (totalNavLength.current <= 0 || !announcement) {\n // Ignore announcements until slides discovered\n return;\n }\n const announcementText = announcement(activeIndex, totalNavLength.current, navGroupRef.current);\n if (announcementText !== announcementTextRef.current) {\n announcementTextRef.current = announcementText;\n announce(announcementText, {\n polite: true\n });\n }\n });\n useIsomorphicLayoutEffect(()=>{\n // Subscribe to any non-index carousel state changes\n return subscribeForValues((data)=>{\n if (totalNavLength.current <= 0 && data.navItemsCount > 0 && announcement) {\n const announcementText = announcement(data.activeIndex, data.navItemsCount, data.groupIndexList);\n // Initialize our string to prevent updateAnnouncement from reading an initial load\n announcementTextRef.current = announcementText;\n }\n totalNavLength.current = data.navItemsCount;\n navGroupRef.current = data.groupIndexList;\n updateAnnouncement();\n });\n }, [\n subscribeForValues,\n updateAnnouncement,\n announcement\n ]);\n useIsomorphicLayoutEffect(()=>{\n updateAnnouncement();\n }, [\n activeIndex,\n updateAnnouncement\n ]);\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref: mergedContainerRef,\n role: 'region',\n ...props\n }), {\n elementType: 'div'\n }),\n activeIndex,\n circular,\n containerRef: mergedContainerRef,\n viewportRef,\n selectPageByElement,\n selectPageByDirection,\n selectPageByIndex,\n subscribeForValues,\n enableAutoplay,\n resetAutoplay\n };\n}\n","import * as React from 'react';\nexport function useCarouselContextValues_unstable(state) {\n const { activeIndex, selectPageByElement, selectPageByDirection, selectPageByIndex, subscribeForValues, enableAutoplay, resetAutoplay, circular, containerRef, viewportRef } = state;\n const carousel = React.useMemo(()=>({\n activeIndex,\n selectPageByElement,\n selectPageByDirection,\n selectPageByIndex,\n subscribeForValues,\n enableAutoplay,\n resetAutoplay,\n circular,\n containerRef,\n viewportRef\n }), [\n activeIndex,\n selectPageByElement,\n selectPageByDirection,\n selectPageByIndex,\n subscribeForValues,\n enableAutoplay,\n resetAutoplay,\n circular,\n containerRef,\n viewportRef\n ]);\n return {\n carousel\n };\n}\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { CarouselProvider } from '../CarouselContext';\n/**\n * Render the final JSX of Carousel\n */ export const renderCarousel_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(CarouselProvider, {\n value: contextValues.carousel,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nexport const carouselClassNames = {\n root: 'fui-Carousel'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n B68tc82: \"f1p9o1ba\",\n Eiaeu8: \"f1115ve7\",\n qhf8xq: \"f10pi13n\"\n }\n}, {\n d: [\".f1p9o1ba{overflow-x:hidden;}\", \".f1115ve7{overflow-anchor:none;}\", \".f10pi13n{position:relative;}\"]\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */\nexport const useCarouselStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(carouselClassNames.root, styles.root, state.root.className);\n return state;\n};","function isNumber(subject) {\n return typeof subject === 'number';\n}\nfunction isString(subject) {\n return typeof subject === 'string';\n}\nfunction isBoolean(subject) {\n return typeof subject === 'boolean';\n}\nfunction isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction mathAbs(n) {\n return Math.abs(n);\n}\nfunction mathSign(n) {\n return Math.sign(n);\n}\nfunction deltaAbs(valueB, valueA) {\n return mathAbs(valueB - valueA);\n}\nfunction factorAbs(valueB, valueA) {\n if (valueB === 0 || valueA === 0) return 0;\n if (mathAbs(valueB) <= mathAbs(valueA)) return 0;\n const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA));\n return mathAbs(diff / valueB);\n}\nfunction roundToTwoDecimals(num) {\n return Math.round(num * 100) / 100;\n}\nfunction arrayKeys(array) {\n return objectKeys(array).map(Number);\n}\nfunction arrayLast(array) {\n return array[arrayLastIndex(array)];\n}\nfunction arrayLastIndex(array) {\n return Math.max(0, array.length - 1);\n}\nfunction arrayIsLastIndex(array, index) {\n return index === arrayLastIndex(array);\n}\nfunction arrayFromNumber(n, startAt = 0) {\n return Array.from(Array(n), (_, i) => startAt + i);\n}\nfunction objectKeys(object) {\n return Object.keys(object);\n}\nfunction objectsMergeDeep(objectA, objectB) {\n return [objectA, objectB].reduce((mergedObjects, currentObject) => {\n objectKeys(currentObject).forEach(key => {\n const valueA = mergedObjects[key];\n const valueB = currentObject[key];\n const areObjects = isObject(valueA) && isObject(valueB);\n mergedObjects[key] = areObjects ? objectsMergeDeep(valueA, valueB) : valueB;\n });\n return mergedObjects;\n }, {});\n}\nfunction isMouseEvent(evt, ownerWindow) {\n return typeof ownerWindow.MouseEvent !== 'undefined' && evt instanceof ownerWindow.MouseEvent;\n}\n\nfunction Alignment(align, viewSize) {\n const predefined = {\n start,\n center,\n end\n };\n function start() {\n return 0;\n }\n function center(n) {\n return end(n) / 2;\n }\n function end(n) {\n return viewSize - n;\n }\n function measure(n, index) {\n if (isString(align)) return predefined[align](n);\n return align(viewSize, n, index);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction EventStore() {\n let listeners = [];\n function add(node, type, handler, options = {\n passive: true\n }) {\n let removeListener;\n if ('addEventListener' in node) {\n node.addEventListener(type, handler, options);\n removeListener = () => node.removeEventListener(type, handler, options);\n } else {\n const legacyMediaQueryList = node;\n legacyMediaQueryList.addListener(handler);\n removeListener = () => legacyMediaQueryList.removeListener(handler);\n }\n listeners.push(removeListener);\n return self;\n }\n function clear() {\n listeners = listeners.filter(remove => remove());\n }\n const self = {\n add,\n clear\n };\n return self;\n}\n\nfunction Animations(ownerDocument, ownerWindow, update, render) {\n const documentVisibleHandler = EventStore();\n const fixedTimeStep = 1000 / 60;\n let lastTimeStamp = null;\n let accumulatedTime = 0;\n let animationId = 0;\n function init() {\n documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => {\n if (ownerDocument.hidden) reset();\n });\n }\n function destroy() {\n stop();\n documentVisibleHandler.clear();\n }\n function animate(timeStamp) {\n if (!animationId) return;\n if (!lastTimeStamp) {\n lastTimeStamp = timeStamp;\n update();\n update();\n }\n const timeElapsed = timeStamp - lastTimeStamp;\n lastTimeStamp = timeStamp;\n accumulatedTime += timeElapsed;\n while (accumulatedTime >= fixedTimeStep) {\n update();\n accumulatedTime -= fixedTimeStep;\n }\n const alpha = accumulatedTime / fixedTimeStep;\n render(alpha);\n if (animationId) {\n animationId = ownerWindow.requestAnimationFrame(animate);\n }\n }\n function start() {\n if (animationId) return;\n animationId = ownerWindow.requestAnimationFrame(animate);\n }\n function stop() {\n ownerWindow.cancelAnimationFrame(animationId);\n lastTimeStamp = null;\n accumulatedTime = 0;\n animationId = 0;\n }\n function reset() {\n lastTimeStamp = null;\n accumulatedTime = 0;\n }\n const self = {\n init,\n destroy,\n start,\n stop,\n update,\n render\n };\n return self;\n}\n\nfunction Axis(axis, contentDirection) {\n const isRightToLeft = contentDirection === 'rtl';\n const isVertical = axis === 'y';\n const scroll = isVertical ? 'y' : 'x';\n const cross = isVertical ? 'x' : 'y';\n const sign = !isVertical && isRightToLeft ? -1 : 1;\n const startEdge = getStartEdge();\n const endEdge = getEndEdge();\n function measureSize(nodeRect) {\n const {\n height,\n width\n } = nodeRect;\n return isVertical ? height : width;\n }\n function getStartEdge() {\n if (isVertical) return 'top';\n return isRightToLeft ? 'right' : 'left';\n }\n function getEndEdge() {\n if (isVertical) return 'bottom';\n return isRightToLeft ? 'left' : 'right';\n }\n function direction(n) {\n return n * sign;\n }\n const self = {\n scroll,\n cross,\n startEdge,\n endEdge,\n measureSize,\n direction\n };\n return self;\n}\n\nfunction Limit(min = 0, max = 0) {\n const length = mathAbs(min - max);\n function reachedMin(n) {\n return n < min;\n }\n function reachedMax(n) {\n return n > max;\n }\n function reachedAny(n) {\n return reachedMin(n) || reachedMax(n);\n }\n function constrain(n) {\n if (!reachedAny(n)) return n;\n return reachedMin(n) ? min : max;\n }\n function removeOffset(n) {\n if (!length) return n;\n return n - length * Math.ceil((n - max) / length);\n }\n const self = {\n length,\n max,\n min,\n constrain,\n reachedAny,\n reachedMax,\n reachedMin,\n removeOffset\n };\n return self;\n}\n\nfunction Counter(max, start, loop) {\n const {\n constrain\n } = Limit(0, max);\n const loopEnd = max + 1;\n let counter = withinLimit(start);\n function withinLimit(n) {\n return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd);\n }\n function get() {\n return counter;\n }\n function set(n) {\n counter = withinLimit(n);\n return self;\n }\n function add(n) {\n return clone().set(get() + n);\n }\n function clone() {\n return Counter(max, get(), loop);\n }\n const self = {\n get,\n set,\n add,\n clone\n };\n return self;\n}\n\nfunction DragHandler(axis, rootNode, ownerDocument, ownerWindow, target, dragTracker, location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, baseFriction, watchDrag) {\n const {\n cross: crossAxis,\n direction\n } = axis;\n const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA'];\n const nonPassiveEvent = {\n passive: false\n };\n const initEvents = EventStore();\n const dragEvents = EventStore();\n const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20));\n const snapForceBoost = {\n mouse: 300,\n touch: 400\n };\n const freeForceBoost = {\n mouse: 500,\n touch: 600\n };\n const baseSpeed = dragFree ? 43 : 25;\n let isMoving = false;\n let startScroll = 0;\n let startCross = 0;\n let pointerIsDown = false;\n let preventScroll = false;\n let preventClick = false;\n let isMouse = false;\n function init(emblaApi) {\n if (!watchDrag) return;\n function downIfAllowed(evt) {\n if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt);\n }\n const node = rootNode;\n initEvents.add(node, 'dragstart', evt => evt.preventDefault(), nonPassiveEvent).add(node, 'touchmove', () => undefined, nonPassiveEvent).add(node, 'touchend', () => undefined).add(node, 'touchstart', downIfAllowed).add(node, 'mousedown', downIfAllowed).add(node, 'touchcancel', up).add(node, 'contextmenu', up).add(node, 'click', click, true);\n }\n function destroy() {\n initEvents.clear();\n dragEvents.clear();\n }\n function addDragEvents() {\n const node = isMouse ? ownerDocument : rootNode;\n dragEvents.add(node, 'touchmove', move, nonPassiveEvent).add(node, 'touchend', up).add(node, 'mousemove', move, nonPassiveEvent).add(node, 'mouseup', up);\n }\n function isFocusNode(node) {\n const nodeName = node.nodeName || '';\n return focusNodes.includes(nodeName);\n }\n function forceBoost() {\n const boost = dragFree ? freeForceBoost : snapForceBoost;\n const type = isMouse ? 'mouse' : 'touch';\n return boost[type];\n }\n function allowedForce(force, targetChanged) {\n const next = index.add(mathSign(force) * -1);\n const baseForce = scrollTarget.byDistance(force, !dragFree).distance;\n if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce;\n if (skipSnaps && targetChanged) return baseForce * 0.5;\n return scrollTarget.byIndex(next.get(), 0).distance;\n }\n function down(evt) {\n const isMouseEvt = isMouseEvent(evt, ownerWindow);\n isMouse = isMouseEvt;\n preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving;\n isMoving = deltaAbs(target.get(), location.get()) >= 2;\n if (isMouseEvt && evt.button !== 0) return;\n if (isFocusNode(evt.target)) return;\n pointerIsDown = true;\n dragTracker.pointerDown(evt);\n scrollBody.useFriction(0).useDuration(0);\n target.set(location);\n addDragEvents();\n startScroll = dragTracker.readPoint(evt);\n startCross = dragTracker.readPoint(evt, crossAxis);\n eventHandler.emit('pointerDown');\n }\n function move(evt) {\n const isTouchEvt = !isMouseEvent(evt, ownerWindow);\n if (isTouchEvt && evt.touches.length >= 2) return up(evt);\n const lastScroll = dragTracker.readPoint(evt);\n const lastCross = dragTracker.readPoint(evt, crossAxis);\n const diffScroll = deltaAbs(lastScroll, startScroll);\n const diffCross = deltaAbs(lastCross, startCross);\n if (!preventScroll && !isMouse) {\n if (!evt.cancelable) return up(evt);\n preventScroll = diffScroll > diffCross;\n if (!preventScroll) return up(evt);\n }\n const diff = dragTracker.pointerMove(evt);\n if (diffScroll > dragThreshold) preventClick = true;\n scrollBody.useFriction(0.3).useDuration(0.75);\n animation.start();\n target.add(direction(diff));\n evt.preventDefault();\n }\n function up(evt) {\n const currentLocation = scrollTarget.byDistance(0, false);\n const targetChanged = currentLocation.index !== index.get();\n const rawForce = dragTracker.pointerUp(evt) * forceBoost();\n const force = allowedForce(direction(rawForce), targetChanged);\n const forceFactor = factorAbs(rawForce, force);\n const speed = baseSpeed - 10 * forceFactor;\n const friction = baseFriction + forceFactor / 50;\n preventScroll = false;\n pointerIsDown = false;\n dragEvents.clear();\n scrollBody.useDuration(speed).useFriction(friction);\n scrollTo.distance(force, !dragFree);\n isMouse = false;\n eventHandler.emit('pointerUp');\n }\n function click(evt) {\n if (preventClick) {\n evt.stopPropagation();\n evt.preventDefault();\n preventClick = false;\n }\n }\n function pointerDown() {\n return pointerIsDown;\n }\n const self = {\n init,\n destroy,\n pointerDown\n };\n return self;\n}\n\nfunction DragTracker(axis, ownerWindow) {\n const logInterval = 170;\n let startEvent;\n let lastEvent;\n function readTime(evt) {\n return evt.timeStamp;\n }\n function readPoint(evt, evtAxis) {\n const property = evtAxis || axis.scroll;\n const coord = `client${property === 'x' ? 'X' : 'Y'}`;\n return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord];\n }\n function pointerDown(evt) {\n startEvent = evt;\n lastEvent = evt;\n return readPoint(evt);\n }\n function pointerMove(evt) {\n const diff = readPoint(evt) - readPoint(lastEvent);\n const expired = readTime(evt) - readTime(startEvent) > logInterval;\n lastEvent = evt;\n if (expired) startEvent = evt;\n return diff;\n }\n function pointerUp(evt) {\n if (!startEvent || !lastEvent) return 0;\n const diffDrag = readPoint(lastEvent) - readPoint(startEvent);\n const diffTime = readTime(evt) - readTime(startEvent);\n const expired = readTime(evt) - readTime(lastEvent) > logInterval;\n const force = diffDrag / diffTime;\n const isFlick = diffTime && !expired && mathAbs(force) > 0.1;\n return isFlick ? force : 0;\n }\n const self = {\n pointerDown,\n pointerMove,\n pointerUp,\n readPoint\n };\n return self;\n}\n\nfunction NodeRects() {\n function measure(node) {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = node;\n const offset = {\n top: offsetTop,\n right: offsetLeft + offsetWidth,\n bottom: offsetTop + offsetHeight,\n left: offsetLeft,\n width: offsetWidth,\n height: offsetHeight\n };\n return offset;\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction PercentOfView(viewSize) {\n function measure(n) {\n return viewSize * (n / 100);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects) {\n const observeNodes = [container].concat(slides);\n let resizeObserver;\n let containerSize;\n let slideSizes = [];\n let destroyed = false;\n function readSize(node) {\n return axis.measureSize(nodeRects.measure(node));\n }\n function init(emblaApi) {\n if (!watchResize) return;\n containerSize = readSize(container);\n slideSizes = slides.map(readSize);\n function defaultCallback(entries) {\n for (const entry of entries) {\n if (destroyed) return;\n const isContainer = entry.target === container;\n const slideIndex = slides.indexOf(entry.target);\n const lastSize = isContainer ? containerSize : slideSizes[slideIndex];\n const newSize = readSize(isContainer ? container : slides[slideIndex]);\n const diffSize = mathAbs(newSize - lastSize);\n if (diffSize >= 0.5) {\n emblaApi.reInit();\n eventHandler.emit('resize');\n break;\n }\n }\n }\n resizeObserver = new ResizeObserver(entries => {\n if (isBoolean(watchResize) || watchResize(emblaApi, entries)) {\n defaultCallback(entries);\n }\n });\n ownerWindow.requestAnimationFrame(() => {\n observeNodes.forEach(node => resizeObserver.observe(node));\n });\n }\n function destroy() {\n destroyed = true;\n if (resizeObserver) resizeObserver.disconnect();\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction ScrollBody(location, offsetLocation, previousLocation, target, baseDuration, baseFriction) {\n let scrollVelocity = 0;\n let scrollDirection = 0;\n let scrollDuration = baseDuration;\n let scrollFriction = baseFriction;\n let rawLocation = location.get();\n let rawLocationPrevious = 0;\n function seek() {\n const displacement = target.get() - location.get();\n const isInstant = !scrollDuration;\n let scrollDistance = 0;\n if (isInstant) {\n scrollVelocity = 0;\n previousLocation.set(target);\n location.set(target);\n scrollDistance = displacement;\n } else {\n previousLocation.set(location);\n scrollVelocity += displacement / scrollDuration;\n scrollVelocity *= scrollFriction;\n rawLocation += scrollVelocity;\n location.add(scrollVelocity);\n scrollDistance = rawLocation - rawLocationPrevious;\n }\n scrollDirection = mathSign(scrollDistance);\n rawLocationPrevious = rawLocation;\n return self;\n }\n function settled() {\n const diff = target.get() - offsetLocation.get();\n return mathAbs(diff) < 0.001;\n }\n function duration() {\n return scrollDuration;\n }\n function direction() {\n return scrollDirection;\n }\n function velocity() {\n return scrollVelocity;\n }\n function useBaseDuration() {\n return useDuration(baseDuration);\n }\n function useBaseFriction() {\n return useFriction(baseFriction);\n }\n function useDuration(n) {\n scrollDuration = n;\n return self;\n }\n function useFriction(n) {\n scrollFriction = n;\n return self;\n }\n const self = {\n direction,\n duration,\n velocity,\n seek,\n settled,\n useBaseFriction,\n useBaseDuration,\n useFriction,\n useDuration\n };\n return self;\n}\n\nfunction ScrollBounds(limit, location, target, scrollBody, percentOfView) {\n const pullBackThreshold = percentOfView.measure(10);\n const edgeOffsetTolerance = percentOfView.measure(50);\n const frictionLimit = Limit(0.1, 0.99);\n let disabled = false;\n function shouldConstrain() {\n if (disabled) return false;\n if (!limit.reachedAny(target.get())) return false;\n if (!limit.reachedAny(location.get())) return false;\n return true;\n }\n function constrain(pointerDown) {\n if (!shouldConstrain()) return;\n const edge = limit.reachedMin(location.get()) ? 'min' : 'max';\n const diffToEdge = mathAbs(limit[edge] - location.get());\n const diffToTarget = target.get() - location.get();\n const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance);\n target.subtract(diffToTarget * friction);\n if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) {\n target.set(limit.constrain(target.get()));\n scrollBody.useDuration(25).useBaseFriction();\n }\n }\n function toggleActive(active) {\n disabled = !active;\n }\n const self = {\n shouldConstrain,\n constrain,\n toggleActive\n };\n return self;\n}\n\nfunction ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance) {\n const scrollBounds = Limit(-contentSize + viewSize, 0);\n const snapsBounded = measureBounded();\n const scrollContainLimit = findScrollContainLimit();\n const snapsContained = measureContained();\n function usePixelTolerance(bound, snap) {\n return deltaAbs(bound, snap) <= 1;\n }\n function findScrollContainLimit() {\n const startSnap = snapsBounded[0];\n const endSnap = arrayLast(snapsBounded);\n const min = snapsBounded.lastIndexOf(startSnap);\n const max = snapsBounded.indexOf(endSnap) + 1;\n return Limit(min, max);\n }\n function measureBounded() {\n return snapsAligned.map((snapAligned, index) => {\n const {\n min,\n max\n } = scrollBounds;\n const snap = scrollBounds.constrain(snapAligned);\n const isFirst = !index;\n const isLast = arrayIsLastIndex(snapsAligned, index);\n if (isFirst) return max;\n if (isLast) return min;\n if (usePixelTolerance(min, snap)) return min;\n if (usePixelTolerance(max, snap)) return max;\n return snap;\n }).map(scrollBound => parseFloat(scrollBound.toFixed(3)));\n }\n function measureContained() {\n if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max];\n if (containScroll === 'keepSnaps') return snapsBounded;\n const {\n min,\n max\n } = scrollContainLimit;\n return snapsBounded.slice(min, max);\n }\n const self = {\n snapsContained,\n scrollContainLimit\n };\n return self;\n}\n\nfunction ScrollLimit(contentSize, scrollSnaps, loop) {\n const max = scrollSnaps[0];\n const min = loop ? max - contentSize : arrayLast(scrollSnaps);\n const limit = Limit(min, max);\n const self = {\n limit\n };\n return self;\n}\n\nfunction ScrollLooper(contentSize, limit, location, vectors) {\n const jointSafety = 0.1;\n const min = limit.min + jointSafety;\n const max = limit.max + jointSafety;\n const {\n reachedMin,\n reachedMax\n } = Limit(min, max);\n function shouldLoop(direction) {\n if (direction === 1) return reachedMax(location.get());\n if (direction === -1) return reachedMin(location.get());\n return false;\n }\n function loop(direction) {\n if (!shouldLoop(direction)) return;\n const loopDistance = contentSize * (direction * -1);\n vectors.forEach(v => v.add(loopDistance));\n }\n const self = {\n loop\n };\n return self;\n}\n\nfunction ScrollProgress(limit) {\n const {\n max,\n length\n } = limit;\n function get(n) {\n const currentLocation = n - max;\n return length ? currentLocation / -length : 0;\n }\n const self = {\n get\n };\n return self;\n}\n\nfunction ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll) {\n const {\n startEdge,\n endEdge\n } = axis;\n const {\n groupSlides\n } = slidesToScroll;\n const alignments = measureSizes().map(alignment.measure);\n const snaps = measureUnaligned();\n const snapsAligned = measureAligned();\n function measureSizes() {\n return groupSlides(slideRects).map(rects => arrayLast(rects)[endEdge] - rects[0][startEdge]).map(mathAbs);\n }\n function measureUnaligned() {\n return slideRects.map(rect => containerRect[startEdge] - rect[startEdge]).map(snap => -mathAbs(snap));\n }\n function measureAligned() {\n return groupSlides(snaps).map(g => g[0]).map((snap, index) => snap + alignments[index]);\n }\n const self = {\n snaps,\n snapsAligned\n };\n return self;\n}\n\nfunction SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes) {\n const {\n groupSlides\n } = slidesToScroll;\n const {\n min,\n max\n } = scrollContainLimit;\n const slideRegistry = createSlideRegistry();\n function createSlideRegistry() {\n const groupedSlideIndexes = groupSlides(slideIndexes);\n const doNotContain = !containSnaps || containScroll === 'keepSnaps';\n if (scrollSnaps.length === 1) return [slideIndexes];\n if (doNotContain) return groupedSlideIndexes;\n return groupedSlideIndexes.slice(min, max).map((group, index, groups) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(groups, index);\n if (isFirst) {\n const range = arrayLast(groups[0]) + 1;\n return arrayFromNumber(range);\n }\n if (isLast) {\n const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1;\n return arrayFromNumber(range, arrayLast(groups)[0]);\n }\n return group;\n });\n }\n const self = {\n slideRegistry\n };\n return self;\n}\n\nfunction ScrollTarget(loop, scrollSnaps, contentSize, limit, targetVector) {\n const {\n reachedAny,\n removeOffset,\n constrain\n } = limit;\n function minDistance(distances) {\n return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0];\n }\n function findTargetSnap(target) {\n const distance = loop ? removeOffset(target) : constrain(target);\n const ascDiffsToSnaps = scrollSnaps.map((snap, index) => ({\n diff: shortcut(snap - distance, 0),\n index\n })).sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff));\n const {\n index\n } = ascDiffsToSnaps[0];\n return {\n index,\n distance\n };\n }\n function shortcut(target, direction) {\n const targets = [target, target + contentSize, target - contentSize];\n if (!loop) return target;\n if (!direction) return minDistance(targets);\n const matchingTargets = targets.filter(t => mathSign(t) === direction);\n if (matchingTargets.length) return minDistance(matchingTargets);\n return arrayLast(targets) - contentSize;\n }\n function byIndex(index, direction) {\n const diffToSnap = scrollSnaps[index] - targetVector.get();\n const distance = shortcut(diffToSnap, direction);\n return {\n index,\n distance\n };\n }\n function byDistance(distance, snap) {\n const target = targetVector.get() + distance;\n const {\n index,\n distance: targetSnapDistance\n } = findTargetSnap(target);\n const reachedBound = !loop && reachedAny(target);\n if (!snap || reachedBound) return {\n index,\n distance\n };\n const diffToSnap = scrollSnaps[index] - targetSnapDistance;\n const snapDistance = distance + shortcut(diffToSnap, 0);\n return {\n index,\n distance: snapDistance\n };\n }\n const self = {\n byDistance,\n byIndex,\n shortcut\n };\n return self;\n}\n\nfunction ScrollTo(animation, indexCurrent, indexPrevious, scrollBody, scrollTarget, targetVector, eventHandler) {\n function scrollTo(target) {\n const distanceDiff = target.distance;\n const indexDiff = target.index !== indexCurrent.get();\n targetVector.add(distanceDiff);\n if (distanceDiff) {\n if (scrollBody.duration()) {\n animation.start();\n } else {\n animation.update();\n animation.render(1);\n animation.update();\n }\n }\n if (indexDiff) {\n indexPrevious.set(indexCurrent.get());\n indexCurrent.set(target.index);\n eventHandler.emit('select');\n }\n }\n function distance(n, snap) {\n const target = scrollTarget.byDistance(n, snap);\n scrollTo(target);\n }\n function index(n, direction) {\n const targetIndex = indexCurrent.clone().set(n);\n const target = scrollTarget.byIndex(targetIndex.get(), direction);\n scrollTo(target);\n }\n const self = {\n distance,\n index\n };\n return self;\n}\n\nfunction SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus) {\n const focusListenerOptions = {\n passive: true,\n capture: true\n };\n let lastTabPressTime = 0;\n function init(emblaApi) {\n if (!watchFocus) return;\n function defaultCallback(index) {\n const nowTime = new Date().getTime();\n const diffTime = nowTime - lastTabPressTime;\n if (diffTime > 10) return;\n eventHandler.emit('slideFocusStart');\n root.scrollLeft = 0;\n const group = slideRegistry.findIndex(group => group.includes(index));\n if (!isNumber(group)) return;\n scrollBody.useDuration(0);\n scrollTo.index(group, 0);\n eventHandler.emit('slideFocus');\n }\n eventStore.add(document, 'keydown', registerTabPress, false);\n slides.forEach((slide, slideIndex) => {\n eventStore.add(slide, 'focus', evt => {\n if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) {\n defaultCallback(slideIndex);\n }\n }, focusListenerOptions);\n });\n }\n function registerTabPress(event) {\n if (event.code === 'Tab') lastTabPressTime = new Date().getTime();\n }\n const self = {\n init\n };\n return self;\n}\n\nfunction Vector1D(initialValue) {\n let value = initialValue;\n function get() {\n return value;\n }\n function set(n) {\n value = normalizeInput(n);\n }\n function add(n) {\n value += normalizeInput(n);\n }\n function subtract(n) {\n value -= normalizeInput(n);\n }\n function normalizeInput(n) {\n return isNumber(n) ? n : n.get();\n }\n const self = {\n get,\n set,\n add,\n subtract\n };\n return self;\n}\n\nfunction Translate(axis, container) {\n const translate = axis.scroll === 'x' ? x : y;\n const containerStyle = container.style;\n let previousTarget = null;\n let disabled = false;\n function x(n) {\n return `translate3d(${n}px,0px,0px)`;\n }\n function y(n) {\n return `translate3d(0px,${n}px,0px)`;\n }\n function to(target) {\n if (disabled) return;\n const newTarget = roundToTwoDecimals(axis.direction(target));\n if (newTarget === previousTarget) return;\n containerStyle.transform = translate(newTarget);\n previousTarget = newTarget;\n }\n function toggleActive(active) {\n disabled = !active;\n }\n function clear() {\n if (disabled) return;\n containerStyle.transform = '';\n if (!container.getAttribute('style')) container.removeAttribute('style');\n }\n const self = {\n clear,\n to,\n toggleActive\n };\n return self;\n}\n\nfunction SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, location, slides) {\n const roundingSafety = 0.5;\n const ascItems = arrayKeys(slideSizesWithGaps);\n const descItems = arrayKeys(slideSizesWithGaps).reverse();\n const loopPoints = startPoints().concat(endPoints());\n function removeSlideSizes(indexes, from) {\n return indexes.reduce((a, i) => {\n return a - slideSizesWithGaps[i];\n }, from);\n }\n function slidesInGap(indexes, gap) {\n return indexes.reduce((a, i) => {\n const remainingGap = removeSlideSizes(a, gap);\n return remainingGap > 0 ? a.concat([i]) : a;\n }, []);\n }\n function findSlideBounds(offset) {\n return snaps.map((snap, index) => ({\n start: snap - slideSizes[index] + roundingSafety + offset,\n end: snap + viewSize - roundingSafety + offset\n }));\n }\n function findLoopPoints(indexes, offset, isEndEdge) {\n const slideBounds = findSlideBounds(offset);\n return indexes.map(index => {\n const initial = isEndEdge ? 0 : -contentSize;\n const altered = isEndEdge ? contentSize : 0;\n const boundEdge = isEndEdge ? 'end' : 'start';\n const loopPoint = slideBounds[index][boundEdge];\n return {\n index,\n loopPoint,\n slideLocation: Vector1D(-1),\n translate: Translate(axis, slides[index]),\n target: () => location.get() > loopPoint ? initial : altered\n };\n });\n }\n function startPoints() {\n const gap = scrollSnaps[0];\n const indexes = slidesInGap(descItems, gap);\n return findLoopPoints(indexes, contentSize, false);\n }\n function endPoints() {\n const gap = viewSize - scrollSnaps[0] - 1;\n const indexes = slidesInGap(ascItems, gap);\n return findLoopPoints(indexes, -contentSize, true);\n }\n function canLoop() {\n return loopPoints.every(({\n index\n }) => {\n const otherIndexes = ascItems.filter(i => i !== index);\n return removeSlideSizes(otherIndexes, viewSize) <= 0.1;\n });\n }\n function loop() {\n loopPoints.forEach(loopPoint => {\n const {\n target,\n translate,\n slideLocation\n } = loopPoint;\n const shiftLocation = target();\n if (shiftLocation === slideLocation.get()) return;\n translate.to(shiftLocation);\n slideLocation.set(shiftLocation);\n });\n }\n function clear() {\n loopPoints.forEach(loopPoint => loopPoint.translate.clear());\n }\n const self = {\n canLoop,\n clear,\n loop,\n loopPoints\n };\n return self;\n}\n\nfunction SlidesHandler(container, eventHandler, watchSlides) {\n let mutationObserver;\n let destroyed = false;\n function init(emblaApi) {\n if (!watchSlides) return;\n function defaultCallback(mutations) {\n for (const mutation of mutations) {\n if (mutation.type === 'childList') {\n emblaApi.reInit();\n eventHandler.emit('slidesChanged');\n break;\n }\n }\n }\n mutationObserver = new MutationObserver(mutations => {\n if (destroyed) return;\n if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) {\n defaultCallback(mutations);\n }\n });\n mutationObserver.observe(container, {\n childList: true\n });\n }\n function destroy() {\n if (mutationObserver) mutationObserver.disconnect();\n destroyed = true;\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction SlidesInView(container, slides, eventHandler, threshold) {\n const intersectionEntryMap = {};\n let inViewCache = null;\n let notInViewCache = null;\n let intersectionObserver;\n let destroyed = false;\n function init() {\n intersectionObserver = new IntersectionObserver(entries => {\n if (destroyed) return;\n entries.forEach(entry => {\n const index = slides.indexOf(entry.target);\n intersectionEntryMap[index] = entry;\n });\n inViewCache = null;\n notInViewCache = null;\n eventHandler.emit('slidesInView');\n }, {\n root: container.parentElement,\n threshold\n });\n slides.forEach(slide => intersectionObserver.observe(slide));\n }\n function destroy() {\n if (intersectionObserver) intersectionObserver.disconnect();\n destroyed = true;\n }\n function createInViewList(inView) {\n return objectKeys(intersectionEntryMap).reduce((list, slideIndex) => {\n const index = parseInt(slideIndex);\n const {\n isIntersecting\n } = intersectionEntryMap[index];\n const inViewMatch = inView && isIntersecting;\n const notInViewMatch = !inView && !isIntersecting;\n if (inViewMatch || notInViewMatch) list.push(index);\n return list;\n }, []);\n }\n function get(inView = true) {\n if (inView && inViewCache) return inViewCache;\n if (!inView && notInViewCache) return notInViewCache;\n const slideIndexes = createInViewList(inView);\n if (inView) inViewCache = slideIndexes;\n if (!inView) notInViewCache = slideIndexes;\n return slideIndexes;\n }\n const self = {\n init,\n destroy,\n get\n };\n return self;\n}\n\nfunction SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow) {\n const {\n measureSize,\n startEdge,\n endEdge\n } = axis;\n const withEdgeGap = slideRects[0] && readEdgeGap;\n const startGap = measureStartGap();\n const endGap = measureEndGap();\n const slideSizes = slideRects.map(measureSize);\n const slideSizesWithGaps = measureWithGaps();\n function measureStartGap() {\n if (!withEdgeGap) return 0;\n const slideRect = slideRects[0];\n return mathAbs(containerRect[startEdge] - slideRect[startEdge]);\n }\n function measureEndGap() {\n if (!withEdgeGap) return 0;\n const style = ownerWindow.getComputedStyle(arrayLast(slides));\n return parseFloat(style.getPropertyValue(`margin-${endEdge}`));\n }\n function measureWithGaps() {\n return slideRects.map((rect, index, rects) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(rects, index);\n if (isFirst) return slideSizes[index] + startGap;\n if (isLast) return slideSizes[index] + endGap;\n return rects[index + 1][startEdge] - rect[startEdge];\n }).map(mathAbs);\n }\n const self = {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n };\n return self;\n}\n\nfunction SlidesToScroll(axis, viewSize, slidesToScroll, loop, containerRect, slideRects, startGap, endGap, pixelTolerance) {\n const {\n startEdge,\n endEdge,\n direction\n } = axis;\n const groupByNumber = isNumber(slidesToScroll);\n function byNumber(array, groupSize) {\n return arrayKeys(array).filter(i => i % groupSize === 0).map(i => array.slice(i, i + groupSize));\n }\n function bySize(array) {\n if (!array.length) return [];\n return arrayKeys(array).reduce((groups, rectB, index) => {\n const rectA = arrayLast(groups) || 0;\n const isFirst = rectA === 0;\n const isLast = rectB === arrayLastIndex(array);\n const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge];\n const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge];\n const gapA = !loop && isFirst ? direction(startGap) : 0;\n const gapB = !loop && isLast ? direction(endGap) : 0;\n const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA));\n if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB);\n if (isLast) groups.push(array.length);\n return groups;\n }, []).map((currentSize, index, groups) => {\n const previousSize = Math.max(groups[index - 1] || 0);\n return array.slice(previousSize, currentSize);\n });\n }\n function groupSlides(array) {\n return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array);\n }\n const self = {\n groupSlides\n };\n return self;\n}\n\nfunction Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler) {\n // Options\n const {\n align,\n axis: scrollAxis,\n direction,\n startIndex,\n loop,\n duration,\n dragFree,\n dragThreshold,\n inViewThreshold,\n slidesToScroll: groupSlides,\n skipSnaps,\n containScroll,\n watchResize,\n watchSlides,\n watchDrag,\n watchFocus\n } = options;\n // Measurements\n const pixelTolerance = 2;\n const nodeRects = NodeRects();\n const containerRect = nodeRects.measure(container);\n const slideRects = slides.map(nodeRects.measure);\n const axis = Axis(scrollAxis, direction);\n const viewSize = axis.measureSize(containerRect);\n const percentOfView = PercentOfView(viewSize);\n const alignment = Alignment(align, viewSize);\n const containSnaps = !loop && !!containScroll;\n const readEdgeGap = loop || !!containScroll;\n const {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n } = SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow);\n const slidesToScroll = SlidesToScroll(axis, viewSize, groupSlides, loop, containerRect, slideRects, startGap, endGap, pixelTolerance);\n const {\n snaps,\n snapsAligned\n } = ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll);\n const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps);\n const {\n snapsContained,\n scrollContainLimit\n } = ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance);\n const scrollSnaps = containSnaps ? snapsContained : snapsAligned;\n const {\n limit\n } = ScrollLimit(contentSize, scrollSnaps, loop);\n // Indexes\n const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop);\n const indexPrevious = index.clone();\n const slideIndexes = arrayKeys(slides);\n // Animation\n const update = ({\n dragHandler,\n scrollBody,\n scrollBounds,\n options: {\n loop\n }\n }) => {\n if (!loop) scrollBounds.constrain(dragHandler.pointerDown());\n scrollBody.seek();\n };\n const render = ({\n scrollBody,\n translate,\n location,\n offsetLocation,\n previousLocation,\n scrollLooper,\n slideLooper,\n dragHandler,\n animation,\n eventHandler,\n scrollBounds,\n options: {\n loop\n }\n }, alpha) => {\n const shouldSettle = scrollBody.settled();\n const withinBounds = !scrollBounds.shouldConstrain();\n const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds;\n if (hasSettled && !dragHandler.pointerDown()) {\n animation.stop();\n eventHandler.emit('settle');\n }\n if (!hasSettled) eventHandler.emit('scroll');\n const interpolatedLocation = location.get() * alpha + previousLocation.get() * (1 - alpha);\n offsetLocation.set(interpolatedLocation);\n if (loop) {\n scrollLooper.loop(scrollBody.direction());\n slideLooper.loop();\n }\n translate.to(offsetLocation.get());\n };\n const animation = Animations(ownerDocument, ownerWindow, () => update(engine), alpha => render(engine, alpha));\n // Shared\n const friction = 0.68;\n const startLocation = scrollSnaps[index.get()];\n const location = Vector1D(startLocation);\n const previousLocation = Vector1D(startLocation);\n const offsetLocation = Vector1D(startLocation);\n const target = Vector1D(startLocation);\n const scrollBody = ScrollBody(location, offsetLocation, previousLocation, target, duration, friction);\n const scrollTarget = ScrollTarget(loop, scrollSnaps, contentSize, limit, target);\n const scrollTo = ScrollTo(animation, index, indexPrevious, scrollBody, scrollTarget, target, eventHandler);\n const scrollProgress = ScrollProgress(limit);\n const eventStore = EventStore();\n const slidesInView = SlidesInView(container, slides, eventHandler, inViewThreshold);\n const {\n slideRegistry\n } = SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes);\n const slideFocus = SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus);\n // Engine\n const engine = {\n ownerDocument,\n ownerWindow,\n eventHandler,\n containerRect,\n slideRects,\n animation,\n axis,\n dragHandler: DragHandler(axis, root, ownerDocument, ownerWindow, target, DragTracker(axis, ownerWindow), location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, friction, watchDrag),\n eventStore,\n percentOfView,\n index,\n indexPrevious,\n limit,\n location,\n offsetLocation,\n previousLocation,\n options,\n resizeHandler: ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects),\n scrollBody,\n scrollBounds: ScrollBounds(limit, offsetLocation, target, scrollBody, percentOfView),\n scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [location, offsetLocation, previousLocation, target]),\n scrollProgress,\n scrollSnapList: scrollSnaps.map(scrollProgress.get),\n scrollSnaps,\n scrollTarget,\n scrollTo,\n slideLooper: SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, offsetLocation, slides),\n slideFocus,\n slidesHandler: SlidesHandler(container, eventHandler, watchSlides),\n slidesInView,\n slideIndexes,\n slideRegistry,\n slidesToScroll,\n target,\n translate: Translate(axis, container)\n };\n return engine;\n}\n\nfunction EventHandler() {\n let listeners = {};\n let api;\n function init(emblaApi) {\n api = emblaApi;\n }\n function getListeners(evt) {\n return listeners[evt] || [];\n }\n function emit(evt) {\n getListeners(evt).forEach(e => e(api, evt));\n return self;\n }\n function on(evt, cb) {\n listeners[evt] = getListeners(evt).concat([cb]);\n return self;\n }\n function off(evt, cb) {\n listeners[evt] = getListeners(evt).filter(e => e !== cb);\n return self;\n }\n function clear() {\n listeners = {};\n }\n const self = {\n init,\n emit,\n off,\n on,\n clear\n };\n return self;\n}\n\nconst defaultOptions = {\n align: 'center',\n axis: 'x',\n container: null,\n slides: null,\n containScroll: 'trimSnaps',\n direction: 'ltr',\n slidesToScroll: 1,\n inViewThreshold: 0,\n breakpoints: {},\n dragFree: false,\n dragThreshold: 10,\n loop: false,\n skipSnaps: false,\n duration: 25,\n startIndex: 0,\n active: true,\n watchDrag: true,\n watchResize: true,\n watchSlides: true,\n watchFocus: true\n};\n\nfunction OptionsHandler(ownerWindow) {\n function mergeOptions(optionsA, optionsB) {\n return objectsMergeDeep(optionsA, optionsB || {});\n }\n function optionsAtMedia(options) {\n const optionsAtMedia = options.breakpoints || {};\n const matchedMediaOptions = objectKeys(optionsAtMedia).filter(media => ownerWindow.matchMedia(media).matches).map(media => optionsAtMedia[media]).reduce((a, mediaOption) => mergeOptions(a, mediaOption), {});\n return mergeOptions(options, matchedMediaOptions);\n }\n function optionsMediaQueries(optionsList) {\n return optionsList.map(options => objectKeys(options.breakpoints || {})).reduce((acc, mediaQueries) => acc.concat(mediaQueries), []).map(ownerWindow.matchMedia);\n }\n const self = {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n };\n return self;\n}\n\nfunction PluginsHandler(optionsHandler) {\n let activePlugins = [];\n function init(emblaApi, plugins) {\n activePlugins = plugins.filter(({\n options\n }) => optionsHandler.optionsAtMedia(options).active !== false);\n activePlugins.forEach(plugin => plugin.init(emblaApi, optionsHandler));\n return plugins.reduce((map, plugin) => Object.assign(map, {\n [plugin.name]: plugin\n }), {});\n }\n function destroy() {\n activePlugins = activePlugins.filter(plugin => plugin.destroy());\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction EmblaCarousel(root, userOptions, userPlugins) {\n const ownerDocument = root.ownerDocument;\n const ownerWindow = ownerDocument.defaultView;\n const optionsHandler = OptionsHandler(ownerWindow);\n const pluginsHandler = PluginsHandler(optionsHandler);\n const mediaHandlers = EventStore();\n const eventHandler = EventHandler();\n const {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n } = optionsHandler;\n const {\n on,\n off,\n emit\n } = eventHandler;\n const reInit = reActivate;\n let destroyed = false;\n let engine;\n let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions);\n let options = mergeOptions(optionsBase);\n let pluginList = [];\n let pluginApis;\n let container;\n let slides;\n function storeElements() {\n const {\n container: userContainer,\n slides: userSlides\n } = options;\n const customContainer = isString(userContainer) ? root.querySelector(userContainer) : userContainer;\n container = customContainer || root.children[0];\n const customSlides = isString(userSlides) ? container.querySelectorAll(userSlides) : userSlides;\n slides = [].slice.call(customSlides || container.children);\n }\n function createEngine(options) {\n const engine = Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler);\n if (options.loop && !engine.slideLooper.canLoop()) {\n const optionsWithoutLoop = Object.assign({}, options, {\n loop: false\n });\n return createEngine(optionsWithoutLoop);\n }\n return engine;\n }\n function activate(withOptions, withPlugins) {\n if (destroyed) return;\n optionsBase = mergeOptions(optionsBase, withOptions);\n options = optionsAtMedia(optionsBase);\n pluginList = withPlugins || pluginList;\n storeElements();\n engine = createEngine(options);\n optionsMediaQueries([optionsBase, ...pluginList.map(({\n options\n }) => options)]).forEach(query => mediaHandlers.add(query, 'change', reActivate));\n if (!options.active) return;\n engine.translate.to(engine.location.get());\n engine.animation.init();\n engine.slidesInView.init();\n engine.slideFocus.init(self);\n engine.eventHandler.init(self);\n engine.resizeHandler.init(self);\n engine.slidesHandler.init(self);\n if (engine.options.loop) engine.slideLooper.loop();\n if (container.offsetParent && slides.length) engine.dragHandler.init(self);\n pluginApis = pluginsHandler.init(self, pluginList);\n }\n function reActivate(withOptions, withPlugins) {\n const startIndex = selectedScrollSnap();\n deActivate();\n activate(mergeOptions({\n startIndex\n }, withOptions), withPlugins);\n eventHandler.emit('reInit');\n }\n function deActivate() {\n engine.dragHandler.destroy();\n engine.eventStore.clear();\n engine.translate.clear();\n engine.slideLooper.clear();\n engine.resizeHandler.destroy();\n engine.slidesHandler.destroy();\n engine.slidesInView.destroy();\n engine.animation.destroy();\n pluginsHandler.destroy();\n mediaHandlers.clear();\n }\n function destroy() {\n if (destroyed) return;\n destroyed = true;\n mediaHandlers.clear();\n deActivate();\n eventHandler.emit('destroy');\n eventHandler.clear();\n }\n function scrollTo(index, jump, direction) {\n if (!options.active || destroyed) return;\n engine.scrollBody.useBaseFriction().useDuration(jump === true ? 0 : options.duration);\n engine.scrollTo.index(index, direction || 0);\n }\n function scrollNext(jump) {\n const next = engine.index.add(1).get();\n scrollTo(next, jump, -1);\n }\n function scrollPrev(jump) {\n const prev = engine.index.add(-1).get();\n scrollTo(prev, jump, 1);\n }\n function canScrollNext() {\n const next = engine.index.add(1).get();\n return next !== selectedScrollSnap();\n }\n function canScrollPrev() {\n const prev = engine.index.add(-1).get();\n return prev !== selectedScrollSnap();\n }\n function scrollSnapList() {\n return engine.scrollSnapList;\n }\n function scrollProgress() {\n return engine.scrollProgress.get(engine.location.get());\n }\n function selectedScrollSnap() {\n return engine.index.get();\n }\n function previousScrollSnap() {\n return engine.indexPrevious.get();\n }\n function slidesInView() {\n return engine.slidesInView.get();\n }\n function slidesNotInView() {\n return engine.slidesInView.get(false);\n }\n function plugins() {\n return pluginApis;\n }\n function internalEngine() {\n return engine;\n }\n function rootNode() {\n return root;\n }\n function containerNode() {\n return container;\n }\n function slideNodes() {\n return slides;\n }\n const self = {\n canScrollNext,\n canScrollPrev,\n containerNode,\n internalEngine,\n destroy,\n off,\n on,\n emit,\n plugins,\n previousScrollSnap,\n reInit,\n rootNode,\n scrollNext,\n scrollPrev,\n scrollProgress,\n scrollSnapList,\n scrollTo,\n selectedScrollSnap,\n slideNodes,\n slidesInView,\n slidesNotInView\n };\n activate(userOptions, userPlugins);\n setTimeout(() => eventHandler.emit('init'), 0);\n return self;\n}\nEmblaCarousel.globalOptions = undefined;\n\nexport { EmblaCarousel as default };\n//# sourceMappingURL=embla-carousel.esm.js.map\n","const defaultOptions = {\n active: true,\n breakpoints: {},\n delay: 4000,\n jump: false,\n playOnInit: true,\n stopOnFocusIn: true,\n stopOnInteraction: true,\n stopOnMouseEnter: false,\n stopOnLastSnap: false,\n rootNode: null\n};\n\nfunction normalizeDelay(emblaApi, delay) {\n const scrollSnaps = emblaApi.scrollSnapList();\n if (typeof delay === 'number') {\n return scrollSnaps.map(() => delay);\n }\n return delay(scrollSnaps, emblaApi);\n}\nfunction getAutoplayRootNode(emblaApi, rootNode) {\n const emblaRootNode = emblaApi.rootNode();\n return rootNode && rootNode(emblaRootNode) || emblaRootNode;\n}\n\nfunction Autoplay(userOptions = {}) {\n let options;\n let emblaApi;\n let destroyed;\n let delay;\n let timerStartTime = null;\n let timerId = 0;\n let autoplayActive = false;\n let mouseIsOver = false;\n let playOnDocumentVisible = false;\n let jump = false;\n function init(emblaApiInstance, optionsHandler) {\n emblaApi = emblaApiInstance;\n const {\n mergeOptions,\n optionsAtMedia\n } = optionsHandler;\n const optionsBase = mergeOptions(defaultOptions, Autoplay.globalOptions);\n const allOptions = mergeOptions(optionsBase, userOptions);\n options = optionsAtMedia(allOptions);\n if (emblaApi.scrollSnapList().length <= 1) return;\n jump = options.jump;\n destroyed = false;\n delay = normalizeDelay(emblaApi, options.delay);\n const {\n eventStore,\n ownerDocument\n } = emblaApi.internalEngine();\n const isDraggable = !!emblaApi.internalEngine().options.watchDrag;\n const root = getAutoplayRootNode(emblaApi, options.rootNode);\n eventStore.add(ownerDocument, 'visibilitychange', visibilityChange);\n if (isDraggable) {\n emblaApi.on('pointerDown', pointerDown);\n }\n if (isDraggable && !options.stopOnInteraction) {\n emblaApi.on('pointerUp', pointerUp);\n }\n if (options.stopOnMouseEnter) {\n eventStore.add(root, 'mouseenter', mouseEnter);\n }\n if (options.stopOnMouseEnter && !options.stopOnInteraction) {\n eventStore.add(root, 'mouseleave', mouseLeave);\n }\n if (options.stopOnFocusIn) {\n emblaApi.on('slideFocusStart', stopAutoplay);\n }\n if (options.stopOnFocusIn && !options.stopOnInteraction) {\n eventStore.add(emblaApi.containerNode(), 'focusout', startAutoplay);\n }\n if (options.playOnInit) startAutoplay();\n }\n function destroy() {\n emblaApi.off('pointerDown', pointerDown).off('pointerUp', pointerUp).off('slideFocusStart', stopAutoplay);\n stopAutoplay();\n destroyed = true;\n autoplayActive = false;\n }\n function setTimer() {\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearTimeout(timerId);\n timerId = ownerWindow.setTimeout(next, delay[emblaApi.selectedScrollSnap()]);\n timerStartTime = new Date().getTime();\n emblaApi.emit('autoplay:timerset');\n }\n function clearTimer() {\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearTimeout(timerId);\n timerId = 0;\n timerStartTime = null;\n emblaApi.emit('autoplay:timerstopped');\n }\n function startAutoplay() {\n if (destroyed) return;\n if (documentIsHidden()) {\n playOnDocumentVisible = true;\n return;\n }\n if (!autoplayActive) emblaApi.emit('autoplay:play');\n setTimer();\n autoplayActive = true;\n }\n function stopAutoplay() {\n if (destroyed) return;\n if (autoplayActive) emblaApi.emit('autoplay:stop');\n clearTimer();\n autoplayActive = false;\n }\n function visibilityChange() {\n if (documentIsHidden()) {\n playOnDocumentVisible = autoplayActive;\n return stopAutoplay();\n }\n if (playOnDocumentVisible) startAutoplay();\n }\n function documentIsHidden() {\n const {\n ownerDocument\n } = emblaApi.internalEngine();\n return ownerDocument.visibilityState === 'hidden';\n }\n function pointerDown() {\n if (!mouseIsOver) stopAutoplay();\n }\n function pointerUp() {\n if (!mouseIsOver) startAutoplay();\n }\n function mouseEnter() {\n mouseIsOver = true;\n stopAutoplay();\n }\n function mouseLeave() {\n mouseIsOver = false;\n startAutoplay();\n }\n function play(jumpOverride) {\n if (typeof jumpOverride !== 'undefined') jump = jumpOverride;\n startAutoplay();\n }\n function stop() {\n if (autoplayActive) stopAutoplay();\n }\n function reset() {\n if (autoplayActive) startAutoplay();\n }\n function isPlaying() {\n return autoplayActive;\n }\n function next() {\n const {\n index\n } = emblaApi.internalEngine();\n const nextIndex = index.clone().add(1).get();\n const lastIndex = emblaApi.scrollSnapList().length - 1;\n const kill = options.stopOnLastSnap && nextIndex === lastIndex;\n if (emblaApi.canScrollNext()) {\n emblaApi.scrollNext(jump);\n } else {\n emblaApi.scrollTo(0, jump);\n }\n emblaApi.emit('autoplay:select');\n if (kill) return stopAutoplay();\n startAutoplay();\n }\n function timeUntilNext() {\n if (!timerStartTime) return null;\n const currentDelay = delay[emblaApi.selectedScrollSnap()];\n const timePastSinceStart = new Date().getTime() - timerStartTime;\n return currentDelay - timePastSinceStart;\n }\n const self = {\n name: 'autoplay',\n options: userOptions,\n init,\n destroy,\n play,\n stop,\n reset,\n isPlaying,\n timeUntilNext\n };\n return self;\n}\nAutoplay.globalOptions = undefined;\n\nexport { Autoplay as default };\n//# sourceMappingURL=embla-carousel-autoplay.esm.js.map\n","function clampNumber(number, min, max) {\n return Math.min(Math.max(number, min), max);\n}\nfunction isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n}\n\nfunction Fade(userOptions = {}) {\n const fullOpacity = 1;\n const noOpacity = 0;\n const fadeFriction = 0.68;\n let emblaApi;\n let opacities = [];\n let fadeToNextDistance;\n let distanceFromPointerDown = 0;\n let fadeVelocity = 0;\n let progress = 0;\n let shouldFadePair = false;\n let defaultSettledBehaviour;\n let defaultProgressBehaviour;\n function init(emblaApiInstance) {\n emblaApi = emblaApiInstance;\n const selectedSnap = emblaApi.selectedScrollSnap();\n const {\n scrollBody,\n containerRect,\n axis\n } = emblaApi.internalEngine();\n const containerSize = axis.measureSize(containerRect);\n fadeToNextDistance = clampNumber(containerSize * 0.75, 200, 500);\n shouldFadePair = false;\n opacities = emblaApi.scrollSnapList().map((_, index) => index === selectedSnap ? fullOpacity : noOpacity);\n defaultSettledBehaviour = scrollBody.settled;\n defaultProgressBehaviour = emblaApi.scrollProgress;\n scrollBody.settled = settled;\n emblaApi.scrollProgress = scrollProgress;\n emblaApi.on('select', select).on('slideFocus', fadeToSelectedSnapInstantly).on('pointerDown', pointerDown).on('pointerUp', pointerUp);\n disableScroll();\n fadeToSelectedSnapInstantly();\n }\n function destroy() {\n const {\n scrollBody\n } = emblaApi.internalEngine();\n scrollBody.settled = defaultSettledBehaviour;\n emblaApi.scrollProgress = defaultProgressBehaviour;\n emblaApi.off('select', select).off('slideFocus', fadeToSelectedSnapInstantly).off('pointerDown', pointerDown).off('pointerUp', pointerUp);\n emblaApi.slideNodes().forEach(slideNode => {\n const slideStyle = slideNode.style;\n slideStyle.opacity = '';\n slideStyle.transform = '';\n slideStyle.pointerEvents = '';\n if (!slideNode.getAttribute('style')) slideNode.removeAttribute('style');\n });\n }\n function fadeToSelectedSnapInstantly() {\n const selectedSnap = emblaApi.selectedScrollSnap();\n setOpacities(selectedSnap, fullOpacity);\n }\n function pointerUp() {\n shouldFadePair = false;\n }\n function pointerDown() {\n shouldFadePair = false;\n distanceFromPointerDown = 0;\n fadeVelocity = 0;\n }\n function select() {\n const duration = emblaApi.internalEngine().scrollBody.duration();\n fadeVelocity = duration ? 0 : fullOpacity;\n shouldFadePair = true;\n if (!duration) fadeToSelectedSnapInstantly();\n }\n function getSlideTransform(position) {\n const {\n axis\n } = emblaApi.internalEngine();\n const translateAxis = axis.scroll.toUpperCase();\n return `translate${translateAxis}(${axis.direction(position)}px)`;\n }\n function disableScroll() {\n const {\n translate,\n slideLooper\n } = emblaApi.internalEngine();\n translate.clear();\n translate.toggleActive(false);\n slideLooper.loopPoints.forEach(({\n translate\n }) => {\n translate.clear();\n translate.toggleActive(false);\n });\n }\n function lockExcessiveScroll(fadeIndex) {\n const {\n scrollSnaps,\n location,\n target\n } = emblaApi.internalEngine();\n if (!isNumber(fadeIndex) || opacities[fadeIndex] < 0.5) return;\n location.set(scrollSnaps[fadeIndex]);\n target.set(location);\n }\n function setOpacities(fadeIndex, velocity) {\n const scrollSnaps = emblaApi.scrollSnapList();\n scrollSnaps.forEach((_, indexA) => {\n const absVelocity = Math.abs(velocity);\n const currentOpacity = opacities[indexA];\n const isFadeIndex = indexA === fadeIndex;\n const nextOpacity = isFadeIndex ? currentOpacity + absVelocity : currentOpacity - absVelocity;\n const clampedOpacity = clampNumber(nextOpacity, noOpacity, fullOpacity);\n opacities[indexA] = clampedOpacity;\n const fadePair = isFadeIndex && shouldFadePair;\n const indexB = emblaApi.previousScrollSnap();\n if (fadePair) opacities[indexB] = 1 - clampedOpacity;\n if (isFadeIndex) setProgress(fadeIndex, clampedOpacity);\n setOpacity(indexA);\n });\n }\n function setOpacity(index) {\n const slidesInSnap = emblaApi.internalEngine().slideRegistry[index];\n const {\n scrollSnaps,\n containerRect\n } = emblaApi.internalEngine();\n const opacity = opacities[index];\n slidesInSnap.forEach(slideIndex => {\n const slideStyle = emblaApi.slideNodes()[slideIndex].style;\n const roundedOpacity = parseFloat(opacity.toFixed(2));\n const hasOpacity = roundedOpacity > noOpacity;\n const position = hasOpacity ? scrollSnaps[index] : containerRect.width + 2;\n const transform = getSlideTransform(position);\n if (hasOpacity) slideStyle.transform = transform;\n slideStyle.opacity = roundedOpacity.toString();\n slideStyle.pointerEvents = opacity > 0.5 ? 'auto' : 'none';\n if (!hasOpacity) slideStyle.transform = transform;\n });\n }\n function setProgress(fadeIndex, opacity) {\n const {\n index,\n dragHandler,\n scrollSnaps\n } = emblaApi.internalEngine();\n const pointerDown = dragHandler.pointerDown();\n const snapFraction = 1 / (scrollSnaps.length - 1);\n let indexA = fadeIndex;\n let indexB = pointerDown ? emblaApi.selectedScrollSnap() : emblaApi.previousScrollSnap();\n if (pointerDown && indexA === indexB) {\n const reverseSign = Math.sign(distanceFromPointerDown) * -1;\n indexA = indexB;\n indexB = index.clone().set(indexB).add(reverseSign).get();\n }\n const currentPosition = indexB * snapFraction;\n const diffPosition = (indexA - indexB) * snapFraction;\n progress = currentPosition + diffPosition * opacity;\n }\n function getFadeIndex() {\n const {\n dragHandler,\n index,\n scrollBody\n } = emblaApi.internalEngine();\n const selectedSnap = emblaApi.selectedScrollSnap();\n if (!dragHandler.pointerDown()) return selectedSnap;\n const directionSign = Math.sign(scrollBody.velocity());\n const distanceSign = Math.sign(distanceFromPointerDown);\n const nextSnap = index.clone().set(selectedSnap).add(directionSign * -1).get();\n if (!directionSign || !distanceSign) return null;\n return distanceSign === directionSign ? nextSnap : selectedSnap;\n }\n function fade(emblaApi) {\n const {\n dragHandler,\n scrollBody\n } = emblaApi.internalEngine();\n const pointerDown = dragHandler.pointerDown();\n const velocity = scrollBody.velocity();\n const duration = scrollBody.duration();\n const fadeIndex = getFadeIndex();\n const noFadeIndex = !isNumber(fadeIndex);\n if (pointerDown) {\n if (!velocity) return;\n distanceFromPointerDown += velocity;\n fadeVelocity = Math.abs(velocity / fadeToNextDistance);\n lockExcessiveScroll(fadeIndex);\n }\n if (!pointerDown) {\n if (!duration || noFadeIndex) return;\n fadeVelocity += (fullOpacity - opacities[fadeIndex]) / duration;\n fadeVelocity *= fadeFriction;\n }\n if (noFadeIndex) return;\n setOpacities(fadeIndex, fadeVelocity);\n }\n function settled() {\n const {\n target,\n location\n } = emblaApi.internalEngine();\n const diffToTarget = target.get() - location.get();\n const notReachedTarget = Math.abs(diffToTarget) >= 1;\n const fadeIndex = getFadeIndex();\n const noFadeIndex = !isNumber(fadeIndex);\n fade(emblaApi);\n if (noFadeIndex || notReachedTarget) return false;\n return opacities[fadeIndex] > 0.999;\n }\n function scrollProgress() {\n return progress;\n }\n const self = {\n name: 'fade',\n options: userOptions,\n init,\n destroy\n };\n return self;\n}\nFade.globalOptions = undefined;\n\nexport { Fade as default };\n//# sourceMappingURL=embla-carousel-fade.esm.js.map\n","import { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport EmblaCarousel from 'embla-carousel';\nimport * as React from 'react';\nimport { carouselCardClassNames } from './CarouselCard/useCarouselCardStyles.styles';\nimport { carouselSliderClassNames } from './CarouselSlider/useCarouselSliderStyles.styles';\nimport Autoplay from 'embla-carousel-autoplay';\nimport Fade from 'embla-carousel-fade';\nimport { pointerEventPlugin } from './pointerEvents';\nconst sliderClassname = `.${carouselSliderClassNames.root}`;\nconst DEFAULT_EMBLA_OPTIONS = {\n containScroll: 'trimSnaps',\n inViewThreshold: 0.99,\n watchDrag: false,\n skipSnaps: true,\n container: sliderClassname,\n slides: `.${carouselCardClassNames.root}`\n};\nexport const EMBLA_VISIBILITY_EVENT = 'embla:visibilitychange';\nexport function setTabsterDefault(element, isDefault) {\n const tabsterAttr = element.getAttribute('data-tabster');\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}\nexport function useEmblaCarousel(options) {\n const { align, direction, loop, slidesToScroll, watchDrag, containScroll, motion, onDragIndexChange, onAutoplayIndexChange } = options;\n const [activeIndex, setActiveIndex] = useControllableState({\n defaultState: options.defaultActiveIndex,\n state: options.activeIndex,\n initialState: 0\n });\n const onDragEvent = useEventCallback((event, index)=>{\n onDragIndexChange === null || onDragIndexChange === void 0 ? void 0 : onDragIndexChange(event, {\n event,\n type: 'drag',\n index\n });\n });\n const emblaOptions = React.useRef({\n align,\n direction,\n loop,\n slidesToScroll,\n startIndex: activeIndex,\n watchDrag,\n containScroll\n });\n const emblaApi = React.useRef(null);\n const autoplayRef = React.useRef(false);\n const resetAutoplay = React.useCallback(()=>{\n var _emblaApi_current_plugins_autoplay, _emblaApi_current;\n (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : (_emblaApi_current_plugins_autoplay = _emblaApi_current.plugins().autoplay) === null || _emblaApi_current_plugins_autoplay === void 0 ? void 0 : _emblaApi_current_plugins_autoplay.reset();\n }, []);\n const getPlugins = React.useCallback(()=>{\n const plugins = [];\n plugins.push(Autoplay({\n playOnInit: autoplayRef.current,\n /* stopOnInteraction: false causes autoplay to restart on interaction end*/ /* we'll handle this logic to ensure autoplay state is respected */ stopOnInteraction: true,\n stopOnFocusIn: false,\n stopOnMouseEnter: false\n }));\n // Optionally add Fade plugin\n if (motion === 'fade') {\n plugins.push(Fade());\n }\n if (watchDrag) {\n plugins.push(pointerEventPlugin({\n onSelectViaDrag: onDragEvent\n }));\n }\n return plugins;\n }, [\n motion,\n onDragEvent,\n watchDrag\n ]);\n /* This function enables autoplay to pause/play without affecting underlying state\n * Useful for pausing on focus etc. without having to reinitialize or set autoplay to off\n */ const enableAutoplay = React.useCallback((autoplay, temporary)=>{\n if (!temporary) {\n autoplayRef.current = autoplay;\n }\n if (autoplay && autoplayRef.current) {\n var // Autoplay should only enable in the case where underlying state is true, temporary should not override\n _emblaApi_current_plugins_autoplay, _emblaApi_current;\n (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : (_emblaApi_current_plugins_autoplay = _emblaApi_current.plugins().autoplay) === null || _emblaApi_current_plugins_autoplay === void 0 ? void 0 : _emblaApi_current_plugins_autoplay.play();\n // Reset after play to ensure timing and any focus/mouse pause state is reset.\n resetAutoplay();\n } else if (!autoplay) {\n var _emblaApi_current_plugins_autoplay1, _emblaApi_current1;\n (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : (_emblaApi_current_plugins_autoplay1 = _emblaApi_current1.plugins().autoplay) === null || _emblaApi_current_plugins_autoplay1 === void 0 ? void 0 : _emblaApi_current_plugins_autoplay1.stop();\n }\n }, [\n resetAutoplay\n ]);\n // Listeners contains callbacks for UI elements that may require state update based on embla changes\n const listeners = React.useRef(new Set());\n const subscribeForValues = React.useCallback((listener)=>{\n listeners.current.add(listener);\n return ()=>{\n listeners.current.delete(listener);\n };\n }, []);\n const updateIndex = ()=>{\n var _emblaApi_current, _emblaApi_current1, _emblaApi_current2;\n var _emblaApi_current_selectedScrollSnap;\n 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;\n const slides = (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.slideNodes();\n var _emblaApi_current_internalEngine_slideRegistry_newIndex_;\n 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;\n // We set the first card in the current group as the default tabster index for focus capture\n slides === null || slides === void 0 ? void 0 : slides.forEach((slide, slideIndex)=>{\n setTabsterDefault(slide, slideIndex === actualIndex);\n });\n setActiveIndex(newIndex);\n };\n const handleReinit = useEventCallback(()=>{\n var _emblaApi_current, _emblaApi_current1, _emblaApi_current2, _emblaApi_current3;\n var _emblaApi_current_slideNodes;\n 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 : [];\n var _emblaApi_current_internalEngine_slideRegistry;\n 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 : [];\n const navItemsCount = groupIndexList.length > 0 ? groupIndexList.length : nodes.length;\n var _emblaApi_current_selectedScrollSnap;\n const data = {\n navItemsCount,\n 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,\n groupIndexList,\n slideNodes: nodes\n };\n updateIndex();\n (_emblaApi_current3 = emblaApi.current) === null || _emblaApi_current3 === void 0 ? void 0 : _emblaApi_current3.scrollTo(activeIndex, false);\n for (const listener of listeners.current){\n listener(data);\n }\n });\n const handleIndexChange = useEventCallback((_, eventType)=>{\n var _emblaApi_current;\n var _emblaApi_current_selectedScrollSnap;\n 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;\n updateIndex();\n if (eventType === 'autoplay:select') {\n const noopEvent = new Event('autoplay');\n onAutoplayIndexChange === null || onAutoplayIndexChange === void 0 ? void 0 : onAutoplayIndexChange(noopEvent, {\n event: noopEvent,\n type: 'autoplay',\n index: newIndex\n });\n }\n });\n const viewportRef = React.useRef(null);\n const containerRef = React.useMemo(()=>{\n let currentElement = null;\n const handleVisibilityChange = ()=>{\n var _emblaApi_current, _emblaApi_current1;\n const cardElements = (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.slideNodes();\n var _emblaApi_current_slidesInView;\n 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 : [];\n cardElements === null || cardElements === void 0 ? void 0 : cardElements.forEach((cardElement, index)=>{\n cardElement.dispatchEvent(new CustomEvent(EMBLA_VISIBILITY_EVENT, {\n bubbles: false,\n detail: {\n isVisible: visibleIndexes.includes(index)\n }\n }));\n });\n };\n // Get plugins using autoplayRef to prevent state change recreating EmblaCarousel\n const plugins = getPlugins();\n return {\n set current (newElement){\n if (currentElement) {\n var _emblaApi_current, _emblaApi_current1, _emblaApi_current2, _emblaApi_current3, _emblaApi_current4;\n (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.off('slidesInView', handleVisibilityChange);\n (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.off('select', handleIndexChange);\n (_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.off('reInit', handleReinit);\n (_emblaApi_current3 = emblaApi.current) === null || _emblaApi_current3 === void 0 ? void 0 : _emblaApi_current3.off('autoplay:select', handleIndexChange);\n (_emblaApi_current4 = emblaApi.current) === null || _emblaApi_current4 === void 0 ? void 0 : _emblaApi_current4.destroy();\n }\n var _viewportRef_current;\n // Use direct viewport if available, else fallback to container (includes Carousel controls).\n currentElement = (_viewportRef_current = viewportRef.current) !== null && _viewportRef_current !== void 0 ? _viewportRef_current : newElement;\n if (currentElement) {\n var _emblaApi_current5, _emblaApi_current6, _emblaApi_current7, _emblaApi_current8;\n emblaApi.current = EmblaCarousel(currentElement, {\n ...DEFAULT_EMBLA_OPTIONS,\n ...emblaOptions.current\n }, plugins);\n (_emblaApi_current5 = emblaApi.current) === null || _emblaApi_current5 === void 0 ? void 0 : _emblaApi_current5.on('reInit', handleReinit);\n (_emblaApi_current6 = emblaApi.current) === null || _emblaApi_current6 === void 0 ? void 0 : _emblaApi_current6.on('slidesInView', handleVisibilityChange);\n (_emblaApi_current7 = emblaApi.current) === null || _emblaApi_current7 === void 0 ? void 0 : _emblaApi_current7.on('select', handleIndexChange);\n (_emblaApi_current8 = emblaApi.current) === null || _emblaApi_current8 === void 0 ? void 0 : _emblaApi_current8.on('autoplay:select', handleIndexChange);\n }\n }\n };\n }, [\n getPlugins,\n handleIndexChange,\n handleReinit\n ]);\n const carouselApi = React.useMemo(()=>({\n scrollToElement: (element, jump)=>{\n var _emblaApi_current, _emblaApi_current1, _emblaApi_current2;\n const cardElements = (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.slideNodes();\n var _emblaApi_current_internalEngine_slideRegistry;\n 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 : [];\n var _cardElements_indexOf;\n const cardIndex = (_cardElements_indexOf = cardElements === null || cardElements === void 0 ? void 0 : cardElements.indexOf(element)) !== null && _cardElements_indexOf !== void 0 ? _cardElements_indexOf : 0;\n const groupIndex = groupIndexList.findIndex((group)=>{\n return group.includes(cardIndex);\n });\n const indexFocus = groupIndex !== null && groupIndex !== void 0 ? groupIndex : cardIndex;\n (_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.scrollTo(indexFocus, jump);\n return indexFocus;\n },\n scrollToIndex: (index, jump)=>{\n var _emblaApi_current;\n (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.scrollTo(index, jump);\n },\n scrollInDirection: (dir)=>{\n var _emblaApi_current;\n if (dir === 'prev') {\n var _emblaApi_current1;\n (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : _emblaApi_current1.scrollPrev();\n } else {\n var _emblaApi_current2;\n (_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.scrollNext();\n }\n var _emblaApi_current_selectedScrollSnap;\n 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;\n }\n }), []);\n React.useEffect(()=>{\n var _emblaApi_current;\n const plugins = getPlugins();\n emblaOptions.current = {\n startIndex: emblaOptions.current.startIndex,\n align,\n direction,\n loop,\n slidesToScroll,\n watchDrag,\n containScroll\n };\n (_emblaApi_current = emblaApi.current) === null || _emblaApi_current === void 0 ? void 0 : _emblaApi_current.reInit({\n ...DEFAULT_EMBLA_OPTIONS,\n ...emblaOptions.current\n }, plugins);\n }, [\n align,\n containScroll,\n direction,\n getPlugins,\n loop,\n slidesToScroll,\n watchDrag\n ]);\n React.useEffect(()=>{\n var _emblaApi_current, _emblaApi_current_slideNodes, _emblaApi_current1;\n var _emblaApi_current_selectedScrollSnap;\n // Scroll to controlled values on update\n // If active index is out of bounds, re-init will handle instead\n 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;\n var _emblaApi_current_slideNodes_length;\n const slideLength = (_emblaApi_current_slideNodes_length = (_emblaApi_current1 = emblaApi.current) === null || _emblaApi_current1 === void 0 ? void 0 : (_emblaApi_current_slideNodes = _emblaApi_current1.slideNodes()) === null || _emblaApi_current_slideNodes === void 0 ? void 0 : _emblaApi_current_slideNodes.length) !== null && _emblaApi_current_slideNodes_length !== void 0 ? _emblaApi_current_slideNodes_length : 0;\n emblaOptions.current.startIndex = activeIndex;\n if (activeIndex < slideLength && activeIndex !== currentActiveIndex) {\n var _emblaApi_current2;\n (_emblaApi_current2 = emblaApi.current) === null || _emblaApi_current2 === void 0 ? void 0 : _emblaApi_current2.scrollTo(activeIndex);\n }\n }, [\n activeIndex\n ]);\n return {\n activeIndex,\n carouselApi,\n viewportRef,\n containerRef,\n subscribeForValues,\n enableAutoplay,\n resetAutoplay\n };\n}\n","import { carouselClassNames } from '../Carousel';\nexport function pointerEventPlugin(options) {\n let emblaApi;\n let pointerEvent;\n function documentDownListener(event) {\n const targetDocument = emblaApi.containerNode().ownerDocument;\n if (event.target) {\n const targetNode = event.target;\n if (targetNode.classList.contains(carouselClassNames.root) || emblaApi.containerNode().contains(targetNode)) {\n pointerEvent = event;\n }\n }\n targetDocument.removeEventListener('mousedown', documentDownListener);\n targetDocument.removeEventListener('pointerdown', documentDownListener);\n }\n function pointerUpListener() {\n const targetDocument = emblaApi.containerNode().ownerDocument;\n targetDocument.addEventListener('mousedown', documentDownListener);\n targetDocument.addEventListener('pointerdown', documentDownListener);\n }\n function clearPointerEvent() {\n pointerEvent = undefined;\n pointerUpListener();\n }\n function selectListener() {\n if (pointerEvent) {\n var _emblaApi_selectedScrollSnap;\n const newIndex = (_emblaApi_selectedScrollSnap = emblaApi.selectedScrollSnap()) !== null && _emblaApi_selectedScrollSnap !== void 0 ? _emblaApi_selectedScrollSnap : 0;\n options.onSelectViaDrag(pointerEvent, newIndex);\n }\n clearPointerEvent();\n }\n function init(emblaApiInstance, optionsHandler) {\n emblaApi = emblaApiInstance;\n // Initialize the listener for first mouse/pointerDown event\n const targetDocument = emblaApi.containerNode().ownerDocument;\n targetDocument.addEventListener('mousedown', documentDownListener);\n targetDocument.addEventListener('pointerdown', documentDownListener);\n emblaApi.on('pointerUp', pointerUpListener);\n emblaApi.on('select', selectListener);\n // Settle is used to clear pointer in cases where active index does not change\n emblaApi.on('settle', clearPointerEvent);\n }\n function destroy() {\n const targetDocument = emblaApi.containerNode().ownerDocument;\n targetDocument.removeEventListener('mousedown', documentDownListener);\n targetDocument.removeEventListener('pointerdown', documentDownListener);\n emblaApi.off('pointerUp', pointerUpListener);\n emblaApi.off('select', selectListener);\n emblaApi.off('settle', clearPointerEvent);\n }\n return {\n name: 'pointerEvent',\n options,\n init,\n destroy\n };\n}\n","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, find, getId } from '@fluentui/react/lib/Utilities';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { ChartHoverCard, convertToLocaleString } from '../../utilities/index';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nvar getClassNames = classNamesFunction();\nvar HorizontalBarChartBase = /** @class */ (function (_super) {\n __extends(HorizontalBarChartBase, _super);\n function HorizontalBarChartBase(props) {\n var _this = _super.call(this, props) || this;\n _this._handleChartMouseLeave = function () {\n _this._calloutAnchorPoint = null;\n if (_this.state.isCalloutVisible) {\n _this.setState({\n isCalloutVisible: false,\n hoverValue: '',\n refSelected: null,\n lineColor: '',\n legend: '',\n });\n }\n };\n _this._adjustProps = function () {\n _this._barHeight = _this.props.barHeight || 8;\n _this._classNames = getClassNames(_this.props.styles, {\n theme: _this.props.theme,\n width: _this.props.width,\n className: _this.props.className,\n barHeight: _this._barHeight,\n color: _this.state.lineColor,\n });\n };\n _this._getChartDataText = function (data) {\n return _this.props.barChartCustomData ? (React.createElement(\"div\", { \"data-is-focusable\": true, role: \"text\" }, _this.props.barChartCustomData(data))) : (_this._getDefaultTextData(data));\n };\n _this._closeCallout = function () {\n _this.setState({\n isCalloutVisible: false,\n });\n };\n _this._getAccessibleDataObject = function (accessibleData, role) {\n if (role === void 0) { role = 'text'; }\n accessibleData = accessibleData !== null && accessibleData !== void 0 ? accessibleData : {};\n return {\n role: role,\n 'data-is-focusable': true,\n 'aria-label': accessibleData.ariaLabel,\n 'aria-labelledby': accessibleData.ariaLabelledBy,\n 'aria-describedby': accessibleData.ariaDescribedBy,\n };\n };\n _this.state = {\n isCalloutVisible: false,\n hoverValue: '',\n lineColor: '',\n legend: '',\n refSelected: null,\n // eslint-disable-next-line react/no-unused-state\n color: '',\n xCalloutValue: '',\n yCalloutValue: '',\n };\n _this._refArray = [];\n _this._uniqLineText = '_HorizontalLine_' + Math.random().toString(36).substring(7);\n _this._hoverOff = _this._hoverOff.bind(_this);\n _this._calloutId = getId('callout');\n return _this;\n }\n HorizontalBarChartBase.prototype.render = function () {\n var _this = this;\n var _a = this.props, data = _a.data, theme = _a.theme;\n this._adjustProps();\n var palette = theme.palette;\n var datapoint = 0;\n return (React.createElement(\"div\", { className: this._classNames.root, onMouseLeave: this._handleChartMouseLeave },\n data.map(function (points, index) {\n if (points.chartData && points.chartData[0] && points.chartData[0].horizontalBarChartdata.x) {\n datapoint = points.chartData[0].horizontalBarChartdata.x;\n }\n else {\n datapoint = 0;\n }\n points.chartData[1] = {\n legend: '',\n horizontalBarChartdata: {\n x: points.chartData[0].horizontalBarChartdata.y - datapoint,\n y: points.chartData[0].horizontalBarChartdata.y,\n },\n color: palette.neutralTertiaryAlt,\n };\n var chartDataText = _this._getChartDataText(points);\n var bars = _this._createBars(points, palette);\n var keyVal = _this._uniqLineText + '_' + index;\n return (React.createElement(\"div\", { key: index, className: _this._classNames.items },\n React.createElement(\"div\", { className: _this._classNames.items },\n React.createElement(FocusZone, { direction: FocusZoneDirection.horizontal },\n React.createElement(\"div\", { className: _this._classNames.chartTitle },\n points.chartTitle && (React.createElement(\"div\", __assign({ className: _this._classNames.chartDataText }, _this._getAccessibleDataObject(points.chartTitleAccessibilityData)), points.chartTitle)),\n chartDataText)),\n points.chartData[0].data && _this._createBenchmark(points),\n React.createElement(FocusZone, { direction: FocusZoneDirection.horizontal },\n React.createElement(\"svg\", { className: _this._classNames.chart, \"aria-label\": points.chartTitle },\n React.createElement(\"g\", { id: keyVal, key: keyVal, ref: function (e) {\n _this._refCallback(e, points.chartData[0].legend);\n }, \n // NOTE: points.chartData![0] contains current data value\n onClick: function () {\n var p = points.chartData[0];\n if (p && p.onClick) {\n p.onClick();\n }\n }, className: _this._classNames.barWrapper }, bars))))));\n }),\n React.createElement(Callout, __assign({ target: this.state.refSelected, coverTarget: true, isBeakVisible: false, gapSpace: 30, hidden: !(!this.props.hideTooltip && this.state.isCalloutVisible), directionalHint: DirectionalHint.topAutoEdge, id: this._calloutId, onDismiss: this._closeCallout, preventDismissOnLostFocus: true }, this.props.calloutProps, this._getAccessibleDataObject(this.state.callOutAccessibilityData)),\n React.createElement(React.Fragment, null, this.props.onRenderCalloutPerHorizontalBar ? (this.props.onRenderCalloutPerHorizontalBar(this.state.barCalloutProps)) : (React.createElement(ChartHoverCard, { Legend: this.state.xCalloutValue ? this.state.xCalloutValue : this.state.legend, YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.hoverValue, color: this.state.lineColor, culture: this.props.culture }))))));\n };\n HorizontalBarChartBase.prototype._refCallback = function (element, legendTitle) {\n this._refArray.push({ index: legendTitle, refElement: element });\n };\n HorizontalBarChartBase.prototype._hoverOn = function (hoverValue, point) {\n if ((!this.state.isCalloutVisible || this.state.legend !== point.legend) && this._calloutAnchorPoint !== point) {\n var currentHoveredElement = find(this._refArray, function (currentElement) { return currentElement.index === point.legend; });\n this._calloutAnchorPoint = point;\n this.setState({\n isCalloutVisible: true,\n hoverValue: hoverValue,\n lineColor: point.color,\n legend: point.legend,\n refSelected: currentHoveredElement.refElement,\n xCalloutValue: point.xAxisCalloutData,\n yCalloutValue: point.yAxisCalloutData,\n barCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n };\n HorizontalBarChartBase.prototype._hoverOff = function () {\n /**/\n };\n HorizontalBarChartBase.prototype._getDefaultTextData = function (data) {\n var culture = this.props.culture;\n var chartDataMode = this.props.chartDataMode || 'default';\n var chartData = data.chartData[0];\n var x = chartData.horizontalBarChartdata.x;\n var y = chartData.horizontalBarChartdata.y;\n var accessibilityData = this._getAccessibleDataObject(data.chartDataAccessibilityData);\n switch (chartDataMode) {\n case 'default':\n return (React.createElement(\"div\", __assign({ className: this._classNames.chartDataText }, accessibilityData), convertToLocaleString(x, culture)));\n case 'fraction':\n return (React.createElement(\"div\", __assign({}, accessibilityData),\n React.createElement(\"span\", { className: this._classNames.chartDataText }, convertToLocaleString(x, culture)),\n React.createElement(\"span\", { className: this._classNames.chartDataTextDenominator }, '/' + convertToLocaleString(y, culture))));\n case 'percentage':\n var dataRatioPercentage = convertToLocaleString(Math.round((x / y) * 100), culture) + \"%\";\n return (React.createElement(\"div\", __assign({ className: this._classNames.chartDataText }, accessibilityData), dataRatioPercentage));\n }\n };\n HorizontalBarChartBase.prototype._createBenchmark = function (data) {\n var totalData = data.chartData[0].horizontalBarChartdata.y;\n var benchmarkData = data.chartData[0].data;\n var benchmarkRatio = Math.round(((benchmarkData ? benchmarkData : 0) / totalData) * 100);\n var benchmarkStyles = {\n marginLeft: 'calc(' + benchmarkRatio + '% - 4px)',\n marginRight: 'calc(' + (100 - benchmarkRatio) + '% - 4px)',\n };\n return React.createElement(\"div\", { className: this._classNames.triangle, style: benchmarkStyles });\n };\n HorizontalBarChartBase.prototype._createBars = function (data, palette) {\n var _this = this;\n var defaultPalette = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n // calculating starting point of each bar and it's range\n var startingPoint = [];\n var total = data.chartData.reduce(function (acc, point) {\n return acc + (point.horizontalBarChartdata.x ? point.horizontalBarChartdata.x : 0);\n }, 0);\n var prevPosition = 0;\n var value = 0;\n var bars = data.chartData.map(function (point, index) {\n var color = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n var pointData = point.horizontalBarChartdata.x ? point.horizontalBarChartdata.x : 0;\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n }\n else if (value < 1 && value !== 0) {\n value = 1;\n }\n startingPoint.push(prevPosition);\n if (value < 1) {\n return React.createElement(React.Fragment, { key: index }, \" \");\n }\n var xValue = point.horizontalBarChartdata.x;\n return (React.createElement(\"rect\", { key: index, x: startingPoint[index] + '%', y: 0, \"data-is-focusable\": point.legend !== '' ? true : false, width: value + '%', height: _this._barHeight, fill: color, onMouseOver: point.legend !== '' ? _this._hoverOn.bind(_this, xValue, point) : undefined, onFocus: point.legend !== '' ? _this._hoverOn.bind(_this, xValue, point) : undefined, \"aria-labelledby\": _this._calloutId, role: \"img\", \"aria-label\": \"Horizontal bar chart\", onBlur: _this._hoverOff, onMouseLeave: _this._hoverOff }));\n });\n return bars;\n };\n return HorizontalBarChartBase;\n}(React.Component));\nexport { HorizontalBarChartBase };\n//# sourceMappingURL=HorizontalBarChart.base.js.map","import { styled } from '@fluentui/react/lib/Utilities';\nimport { HorizontalBarChartBase } from './HorizontalBarChart.base';\nimport { getHorizontalBarChartStyles } from './HorizontalBarChart.styles';\n// Create a HorizontalBarChart variant which uses these default styles and this styled subcomponent.\nexport var HorizontalBarChart = styled(HorizontalBarChartBase, getHorizontalBarChartStyles);\n//# sourceMappingURL=HorizontalBarChart.js.map","import { __assign } from \"tslib\";\nimport { FontWeights } from '@fluentui/react/lib/Styling';\nexport var getHorizontalBarChartStyles = function (props) {\n var className = props.className, theme = props.theme, width = props.width;\n var palette = theme.palette;\n return {\n root: [\n {\n display: 'flex',\n flexDirection: 'column',\n width: width ? width : '100%',\n },\n className,\n ],\n items: {\n height: '32px',\n marginTop: '5px',\n position: 'relative',\n },\n chart: {\n width: '100%',\n height: '8px',\n marginBottom: '11px',\n },\n barWrapper: {\n stroke: theme.palette.white,\n strokeWidth: 2,\n },\n chartTitle: __assign(__assign({}, theme.fonts.small), { display: 'flex', justifyContent: 'space-between', marginBottom: '5px' }),\n chartDataText: {\n fontWeight: FontWeights.bold,\n },\n chartDataTextDenominator: {\n fontWeight: FontWeights.semibold,\n },\n triangle: {\n width: '0',\n height: '0',\n borderLeft: '4px solid transparent',\n borderRight: '4px solid transparent',\n borderTop: '8px solid',\n borderTopColor: palette.blue,\n marginBottom: '4px',\n position: 'absolute',\n top: '12px',\n },\n };\n};\n//# sourceMappingURL=HorizontalBarChart.styles.js.map","import { __assign, __extends, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { HoverCard, HoverCardType } from '@fluentui/react/lib/HoverCard';\nimport { classNamesFunction, find, getNativeProps, buttonProperties } from '@fluentui/react/lib/Utilities';\nimport { ResizeGroup } from '@fluentui/react/lib/ResizeGroup';\nimport { OverflowSet } from '@fluentui/react/lib/OverflowSet';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { Shape } from './shape';\nimport { silceOrAppendToArray } from '../../utilities/utilities';\nvar getClassNames = classNamesFunction();\nvar LegendsBase = /** @class */ (function (_super) {\n __extends(LegendsBase, _super);\n function LegendsBase(props) {\n var _this = _super.call(this, props) || this;\n _this._onRenderData = function (data) {\n var _a = _this.props, overflowProps = _a.overflowProps, _b = _a.allowFocusOnLegends, allowFocusOnLegends = _b === void 0 ? true : _b;\n var rootStyles = {\n root: {\n justifyContent: _this.props.centerLegends ? 'center' : 'unset',\n flexWrap: 'wrap',\n },\n };\n return (React.createElement(OverflowSet, __assign({}, (allowFocusOnLegends && { role: 'listbox', 'aria-label': 'Legends' }), { items: data.primary, overflowItems: data.overflow, onRenderItem: _this._renderButton, onRenderOverflowButton: _this._renderOverflowItems }, overflowProps, { styles: __assign(__assign({}, rootStyles), overflowProps === null || overflowProps === void 0 ? void 0 : overflowProps.styles) })));\n };\n _this._onReduceData = function (currentdata) {\n if (currentdata.primary.length === 0) {\n return;\n }\n var overflow = __spreadArray(__spreadArray([], currentdata.primary.slice(-1)), currentdata.overflow);\n var primary = currentdata.primary.slice(0, -1);\n return { primary: primary, overflow: overflow };\n };\n _this._onGrowData = function (currentdata) {\n if (currentdata.overflow.length === 0) {\n return;\n }\n var overflow = currentdata.overflow.slice(1);\n var primary = __spreadArray(__spreadArray([], currentdata.primary), currentdata.overflow.slice(0, 1));\n return { primary: primary, overflow: overflow };\n };\n /**\n * This function will get called when there is an ability to\n * select multiple legends\n * @param legend ILegend\n */\n _this._canSelectMultipleLegends = function (legend) {\n var selectedLegends = silceOrAppendToArray(_this.state.selectedLegends, legend.title);\n _this.setState({\n //check if user selected all legends then empty it get the default behaviour\n selectedLegends: selectedLegends.length === _this.props.legends.length ? [] : selectedLegends,\n // make selectedState to false if none or all the legends selected\n selectedState: selectedLegends.length === 0 || selectedLegends.length === _this.props.legends.length ? false : true,\n selecetedLegendInHoverCard: _this.state.isHoverCardVisible ? legend.title : 'none',\n selectedLegend: 'none',\n hoverState: false,\n });\n };\n /**\n * This function will get called when there is\n * ability to select only single legend\n * @param legend ILegend\n */\n _this._canSelectOnlySingleLegend = function (legend) {\n if (_this.state.selectedState === true && _this.state.selectedLegend === legend.title) {\n _this.setState({\n selectedLegend: 'none',\n selectedState: false,\n selecetedLegendInHoverCard: _this.state.isHoverCardVisible ? legend.title : 'none',\n });\n }\n else {\n _this.setState({\n hoverState: true,\n selectedState: true,\n selectedLegend: legend.title,\n selecetedLegendInHoverCard: _this.state.isHoverCardVisible ? legend.title : 'none',\n });\n }\n };\n _this._onClick = function (legend) {\n if (legend.action) {\n var _a = _this.props.canSelectMultipleLegends, canSelectMultipleLegends = _a === void 0 ? false : _a;\n if (canSelectMultipleLegends) {\n _this._canSelectMultipleLegends(legend);\n }\n else {\n _this._canSelectOnlySingleLegend(legend);\n }\n legend.action();\n }\n };\n _this._onRenderCompactCard = function (expandingCard) {\n var _a = _this.props, _b = _a.allowFocusOnLegends, allowFocusOnLegends = _b === void 0 ? true : _b, className = _a.className, styles = _a.styles, theme = _a.theme;\n var overflowHoverCardLegends = [];\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n expandingCard.renderData.forEach(function (legend, index) {\n var hoverCardElement = _this._renderButton(legend, index, true);\n overflowHoverCardLegends.push(hoverCardElement);\n });\n var hoverCardData = (React.createElement(FocusZone, __assign({}, (allowFocusOnLegends && { role: 'listbox' }), { direction: FocusZoneDirection.vertical }, _this.props.focusZonePropsInHoverCard, { className: classNames.hoverCardRoot }), overflowHoverCardLegends));\n return hoverCardData;\n };\n _this._renderOverflowItems = function (legends) {\n var _a = _this.props.allowFocusOnLegends, allowFocusOnLegends = _a === void 0 ? true : _a;\n var items = [];\n legends.forEach(function (legend, i) {\n items.push({ key: i.toString(), name: legend.title, onClick: legend.action });\n });\n var renderOverflowData = { renderData: legends };\n var _b = _this.props, theme = _b.theme, className = _b.className, styles = _b.styles, overflowText = _b.overflowText;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n var plainCardProps = {\n onRenderPlainCard: _this._onRenderCompactCard,\n renderData: renderOverflowData,\n };\n var overflowString = overflowText ? overflowText : 'more';\n // execute similar to \"_onClick\" and \"_onLeave\" logic at HoverCard onCardHide event\n var onHoverCardHideHandler = function () {\n var _a = _this.props.canSelectMultipleLegends, canSelectMultipleLegends = _a === void 0 ? false : _a;\n var selectedOverflowItem = find(legends, function (legend) {\n return legend.title === _this.state.selecetedLegendInHoverCard || legend.title === _this.state.selectedLegend;\n });\n _this.setState({\n isHoverCardVisible: false,\n selecetedLegendInHoverCard: 'none',\n selectedLegends: [],\n }, function () {\n if (selectedOverflowItem) {\n _this.setState({ selectedLegend: 'none', selectedState: false }, function () {\n if (selectedOverflowItem.action && !canSelectMultipleLegends) {\n selectedOverflowItem.action();\n }\n if (_this.props.onLegendHoverCardLeave && canSelectMultipleLegends) {\n _this.props.onLegendHoverCardLeave();\n }\n _this.setState({ hoverState: false }, function () {\n if (selectedOverflowItem.onMouseOutAction) {\n selectedOverflowItem.onMouseOutAction(true);\n }\n });\n });\n }\n });\n };\n return (React.createElement(HoverCard, { type: HoverCardType.plain, plainCardProps: plainCardProps, instantOpenOnClick: true, \n // eslint-disable-next-line react/jsx-no-bind\n onCardHide: onHoverCardHideHandler, setInitialFocus: true, trapFocus: true, onCardVisible: _this._hoverCardVisible, styles: classNames.subComponentStyles.hoverCardStyles, cardDismissDelay: 300, target: _this._hoverCardRef },\n React.createElement(\"div\", __assign({ className: classNames.overflowIndicationTextStyle, ref: function (rootElem) { return (_this._hoverCardRef = rootElem); } }, (allowFocusOnLegends && {\n role: 'link',\n 'aria-expanded': _this.state.isHoverCardVisible,\n 'aria-label': items.length + \" \" + overflowString,\n }), { \"data-is-focusable\": allowFocusOnLegends }),\n items.length,\n \" \",\n overflowString)));\n };\n _this._hoverCardVisible = function () {\n _this.setState({ isHoverCardVisible: true });\n };\n _this._onHoverOverLegend = function (legend) {\n if (!_this.state.selectedState) {\n if (legend.hoverAction) {\n _this.setState({ hoverState: true, selectedLegend: legend.title });\n legend.hoverAction();\n }\n }\n };\n _this._onLeave = function (legend) {\n if (!_this.state.selectedState) {\n if (legend.onMouseOutAction) {\n _this.setState({ hoverState: false, selectedLegend: 'none' });\n legend.onMouseOutAction();\n }\n }\n };\n _this._renderButton = function (data, index, overflow) {\n var _a = _this.props.allowFocusOnLegends, allowFocusOnLegends = _a === void 0 ? true : _a;\n var legend = {\n title: data.title,\n color: data.color,\n shape: data.shape,\n action: data.action,\n hoverAction: data.hoverAction,\n onMouseOutAction: data.onMouseOutAction,\n stripePattern: data.stripePattern,\n isLineLegendInBarChart: data.isLineLegendInBarChart,\n opacity: data.opacity,\n };\n var color = _this._getColor(legend.title, legend.color);\n var _b = _this.props, theme = _b.theme, className = _b.className, styles = _b.styles;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n colorOnSelectedState: color,\n borderColor: legend.color,\n overflow: overflow,\n stripePattern: legend.stripePattern,\n isLineLegendInBarChart: legend.isLineLegendInBarChart,\n opacity: legend.opacity,\n });\n var onClickHandler = function () {\n _this._onClick(legend);\n };\n var onHoverHandler = function () {\n _this._onHoverOverLegend(legend);\n };\n var onMouseOut = function () {\n _this._onLeave(legend);\n };\n var shape = _this._getShape(classNames, legend, color);\n return (React.createElement(\"button\", __assign({}, (allowFocusOnLegends && {\n 'aria-selected': _this.state.selectedLegend === legend.title,\n role: 'option',\n 'aria-label': legend.title + \" selected\",\n 'aria-setsize': data['aria-setsize'],\n 'aria-posinset': data['aria-posinset'],\n }), (data.nativeButtonProps && __assign({}, data.nativeButtonProps)), { key: index, className: classNames.legend, onClick: onClickHandler, onMouseOver: onHoverHandler, onMouseOut: onMouseOut, onFocus: onHoverHandler, onBlur: onMouseOut, \"data-is-focusable\": allowFocusOnLegends }),\n shape,\n React.createElement(\"div\", { className: classNames.text }, legend.title)));\n };\n _this.state = {\n selectedLegend: 'none',\n selectedState: false,\n hoverState: false,\n isHoverCardVisible: false,\n selecetedLegendInHoverCard: 'none',\n selectedLegends: [],\n };\n return _this;\n }\n LegendsBase.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.selectedLegend !== this.props.selectedLegend) {\n this.setState({ selectedLegend: this.props.selectedLegend });\n }\n };\n LegendsBase.prototype.render = function () {\n var _a = this.props, theme = _a.theme, className = _a.className, styles = _a.styles;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n var dataToRender = this._generateData();\n return (React.createElement(\"div\", { className: this._classNames.root }, this.props.enabledWrapLines ? (this._onRenderData(dataToRender)) : (React.createElement(ResizeGroup, { data: dataToRender, onReduceData: this._onReduceData, onRenderData: this._onRenderData, onGrowData: this._onGrowData }))));\n };\n LegendsBase.prototype._generateData = function () {\n var _this = this;\n var _a = this.props.allowFocusOnLegends, allowFocusOnLegends = _a === void 0 ? true : _a;\n var dataItems = this.props.legends.map(function (legend, index) {\n return __assign(__assign({}, (allowFocusOnLegends && {\n nativeButtonProps: getNativeProps(legend, buttonProperties, [\n 'title',\n ]),\n 'aria-setsize': _this.props.legends.length,\n 'aria-posinset': index + 1,\n })), { title: legend.title, action: legend.action, hoverAction: legend.hoverAction, onMouseOutAction: legend.onMouseOutAction, color: legend.color, shape: legend.shape, stripePattern: legend.stripePattern, isLineLegendInBarChart: legend.isLineLegendInBarChart, opacity: legend.opacity, key: index });\n });\n var result = {\n primary: dataItems,\n overflow: [],\n };\n return result;\n };\n LegendsBase.prototype._getShape = function (classNames, legend, color) {\n var svgParentProps = {\n className: classNames.shape,\n };\n var svgChildProps = {\n fill: color,\n strokeWidth: 2,\n stroke: legend.color,\n };\n return (React.createElement(Shape, { svgProps: svgParentProps, pathProps: svgChildProps, shape: legend.shape, classNameForNonSvg: classNames.rect }));\n };\n LegendsBase.prototype._getColor = function (title, color) {\n var _a = this.props, theme = _a.theme, _b = _a.canSelectMultipleLegends, canSelectMultipleLegends = _b === void 0 ? false : _b;\n var palette = theme.palette;\n var legendColor = color;\n // below if statement will get executed for the hovered legend.\n // (which is also the slected legend see fucntion:-_onHoverOverLegend)\n if (this.state.hoverState && this.state.selectedLegend === title) {\n legendColor = color;\n } // below esle if statement will get executed for the unselected-legend which is hovered\n else if (this.state.hoverState && this.state.selectedLegend !== 'none' && this.state.selectedLegend !== title) {\n legendColor = palette.white;\n } // below else if statement will get executed if the legends are in the selected state\n // this is will only get executed when we have ability to select multiple legends\n else if (!!canSelectMultipleLegends && this.state.selectedState && this.state.selectedLegends.indexOf(title) > -1) {\n legendColor = color;\n } // below else if statement will get executed when no legend is selected and hovered\n //(for example:- initial render of legends)\n else if ((!this.state.selectedState && this.state.selectedLegend === 'none') ||\n this.state.selectedLegend === title ||\n this.state.selectedLegends.length <= 0) {\n legendColor = color;\n }\n else {\n legendColor = palette.white;\n }\n return legendColor;\n };\n return LegendsBase;\n}(React.Component));\nexport { LegendsBase };\n//# sourceMappingURL=Legends.base.js.map","import { styled } from '@fluentui/react/lib/Utilities';\nimport { LegendsBase } from './Legends.base';\nimport { getStyles } from './Legends.styles';\nexport var Legends = styled(LegendsBase, getStyles);\n//# sourceMappingURL=Legends.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, getFocusStyle } from '@fluentui/react/lib/Styling';\nexport var getStyles = function (props) {\n var _a, _b;\n var className = props.className, theme = props.theme, _c = props.isLineLegendInBarChart, isLineLegendInBarChart = _c === void 0 ? false : _c;\n var _d = theme, palette = _d.palette, fonts = _d.fonts;\n var options = {\n inset: undefined,\n position: undefined,\n highContrastStyle: {\n outlineColor: theme.semanticColors.focusBorder,\n },\n borderColor: 'transparent',\n outlineColor: undefined,\n };\n return {\n root: [\n {\n whiteSpace: 'nowrap',\n width: '100%',\n alignItems: 'center',\n margin: '-8px 0 0 -8px',\n },\n className,\n ],\n legend: [\n getFocusStyle(theme, options),\n {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer',\n border: 'none',\n padding: '8px',\n background: 'none',\n textTransform: 'capitalize',\n },\n ],\n rect: {\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n content: \"linear-gradient(to right, \" + props.colorOnSelectedState + \", \" + props.colorOnSelectedState + \")\",\n opacity: props.colorOnSelectedState === palette.white ? '0.6' : '',\n },\n _a),\n width: '12px',\n height: isLineLegendInBarChart ? '4px' : '12px',\n backgroundColor: props.stripePattern ? '' : props.colorOnSelectedState,\n marginRight: '8px',\n border: '1px solid',\n borderColor: props.borderColor ? props.borderColor : theme === null || theme === void 0 ? void 0 : theme.semanticColors.buttonBorder,\n content: props.stripePattern\n ? // eslint-disable-next-line @fluentui/max-len\n \"repeating-linear-gradient(135deg, transparent, transparent 3px, \" + props.colorOnSelectedState + \" 1px, \" + props.colorOnSelectedState + \" 4px)\"\n : '',\n },\n shape: [\n {\n marginRight: '8px',\n },\n ],\n triangle: {\n width: '0',\n height: '0',\n borderLeft: '6px solid transparent',\n borderRight: '6px solid transparent',\n borderTop: '10.4px solid',\n borderTopColor: props.colorOnSelectedState,\n marginRight: '8px',\n opacity: props.colorOnSelectedState === palette.white ? '0.6' : props.opacity ? props.opacity : '',\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n border: '0px',\n height: '10.4px',\n width: '10.4px',\n clipPath: 'polygon(50% 100%, 0 0, 100% 0)',\n backgroundImage: \"linear-gradient(to right, \" + props.colorOnSelectedState + \", \" + props.colorOnSelectedState + \")\",\n },\n _b),\n },\n text: __assign(__assign({}, fonts.small), { lineHeight: '16px', color: theme === null || theme === void 0 ? void 0 : theme.semanticColors.bodyText, opacity: props.colorOnSelectedState === palette.white ? '0.6' : '' }),\n hoverChange: {\n width: '12px',\n height: '12px',\n backgroundColor: 'white',\n marginRight: '8px',\n border: '1px solid',\n borderColor: props.borderColor ? props.borderColor : palette.black,\n },\n overflowIndicationTextStyle: [\n getFocusStyle(theme, options),\n __assign(__assign({ cursor: 'pointer', color: theme === null || theme === void 0 ? void 0 : theme.semanticColors.bodyText }, fonts.small), { lineHeight: '16px', padding: '8px' }),\n ],\n hoverCardRoot: {\n padding: '8px',\n },\n subComponentStyles: {\n hoverCardStyles: {\n host: [getFocusStyle(theme, options)],\n },\n },\n };\n};\n//# sourceMappingURL=Legends.styles.js.map","var _a;\nimport { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { CustomPoints, Points } from '../../utilities/utilities';\nvar pointPath = (_a = {},\n _a[\"\" + Points[Points.circle]] = 'M1 6 A5 5 0 1 0 12 6 M1 6 A5 5 0 0 1 12 6',\n _a[\"\" + Points[Points.square]] = 'M1 1 L12 1 L12 12 L1 12 L1 1 Z',\n _a[\"\" + Points[Points.triangle]] = 'M6 10L8.74228e-07 -1.04907e-06L12 0L6 10Z',\n _a[\"\" + Points[Points.pyramid]] = 'M6 10L8.74228e-07 -1.04907e-06L12 0L6 10Z',\n _a[\"\" + Points[Points.diamond]] = 'M2 2 L10 2 L10 10 L2 10 L2 2 Z',\n _a[\"\" + Points[Points.hexagon]] = 'M9 0H3L0 5L3 10H9L12 5L9 0Z',\n _a[\"\" + Points[Points.pentagon]] = 'M6.06061 0L0 4.21277L2.30303 11H9.69697L12 4.21277L6.06061 0Z',\n _a[\"\" + Points[Points.octagon]] = 'M7.08333 0H2.91667L0 2.91667V7.08333L2.91667 10H7.08333L10 7.08333V2.91667L7.08333 0Z',\n _a[\"\" + CustomPoints[CustomPoints.dottedLine]] = 'M0 6 H3 M5 6 H8 M10 6 H13',\n _a);\nexport var Shape = function (_a) {\n var svgProps = _a.svgProps, pathProps = _a.pathProps, shape = _a.shape, classNameForNonSvg = _a.classNameForNonSvg;\n if (Object.keys(pointPath).indexOf(shape) === -1) {\n return React.createElement(\"div\", { className: classNameForNonSvg });\n }\n return (React.createElement(\"svg\", __assign({ width: 14, height: 14, viewBox: '-1 -1 14 14' }, svgProps, { transform: \"rotate(\" + (shape === Points[Points.diamond] ? 45 : shape === Points[Points.triangle] ? 180 : 0) + \", 0, 0)\" }),\n React.createElement(\"path\", __assign({ d: pointPath[shape] }, pathProps))));\n};\n//# sourceMappingURL=shape.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getId, getRTL } from '@fluentui/react/lib/Utilities';\nimport { Callout } from '@fluentui/react/lib/Callout';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { ChartHoverCard, convertToLocaleString, createNumericXAxis, createStringXAxis, getAccessibleDataObject, getDomainNRangeValues, createDateXAxis, createYAxis, createStringYAxis, getMinMaxOfYAxis, XAxisTypes, YAxisType, createWrapOfXLabels, rotateXAxisLabels, Points, pointTypes, } from '../../utilities/index';\nimport { Shape } from '../Legends/index';\nvar getClassNames = classNamesFunction();\n/**\n * Cartesian chart used for\n * 1.draw X and Y axis of the chart\n * 2.Callout\n * 3.Fit parent Continer\n */\nvar CartesianChartBase = /** @class */ (function (_super) {\n __extends(CartesianChartBase, _super);\n function CartesianChartBase(props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var _this = _super.call(this, props) || this;\n _this.minLegendContainerHeight = 32;\n _this._isRtl = getRTL();\n // TO DO: Write a common functional component for Multi value callout and divide sub count method\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this._multiValueCallout = function (calloutProps) {\n var yValueHoverSubCountsExists = _this._yValueHoverSubCountsExists(calloutProps.YValueHover);\n return (React.createElement(\"div\", { className: _this._classNames.calloutContentRoot },\n React.createElement(\"div\", { className: _this._classNames.calloutDateTimeContainer, style: yValueHoverSubCountsExists ? { marginBottom: '11px' } : {} },\n React.createElement(\"div\", __assign({ className: _this._classNames.calloutContentX }, getAccessibleDataObject(calloutProps.xAxisCalloutAccessibilityData, 'text', false)), convertToLocaleString(calloutProps.hoverXValue, _this.props.culture))),\n React.createElement(\"div\", { className: _this._classNames.calloutInfoContainer, style: yValueHoverSubCountsExists ? { display: 'flex' } : {} },\n calloutProps.YValueHover &&\n calloutProps.YValueHover.map(function (yValue, index, yValues) {\n var isLast = index + 1 === yValues.length;\n var _a = yValue.shouldDrawBorderBottom, shouldDrawBorderBottom = _a === void 0 ? false : _a;\n return (React.createElement(\"div\", __assign({}, getAccessibleDataObject(yValue.callOutAccessibilityData, 'text', false), { key: \"callout-content-\" + index, style: yValueHoverSubCountsExists\n ? __assign({ display: 'inline-block' }, (shouldDrawBorderBottom && {\n borderBottom: \"1px solid \" + _this.props.theme.semanticColors.menuDivider,\n paddingBottom: '10px',\n })) : __assign({}, (shouldDrawBorderBottom && {\n borderBottom: \"1px solid \" + _this.props.theme.semanticColors.menuDivider,\n paddingBottom: '10px',\n })) }), _this._getCalloutContent(yValue, index, yValueHoverSubCountsExists, isLast)));\n }),\n !!calloutProps.descriptionMessage && (React.createElement(\"div\", { className: _this._classNames.descriptionMessage }, calloutProps.descriptionMessage)))));\n };\n // Call back to the chart.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this._getData = function (xScale, yScale) {\n _this.props.getGraphData &&\n _this.props.getGraphData(xScale, yScale, _this.state.containerHeight - _this.state._removalValueForTextTuncate, _this.state.containerWidth, _this.xAxisElement);\n };\n _this.state = {\n containerHeight: 0,\n containerWidth: 0,\n _width: _this.props.width || 600,\n _height: _this.props.height || 350,\n _removalValueForTextTuncate: 0,\n isRemoveValCalculated: true,\n };\n _this.idForGraph = getId('chart_');\n /**\n * In RTL mode, Only graph will be rendered left/right. We need to provide left and right margins manually.\n * So that, in RTL, left margins becomes right margins and viceversa.\n * As graph needs to be drawn perfecty, these values consider as default values.\n * Same margins using for all other cartesian charts. Can be accessible through 'getMargins' call back method.\n */\n _this.margins = {\n top: (_b = (_a = _this.props.margins) === null || _a === void 0 ? void 0 : _a.top) !== null && _b !== void 0 ? _b : 20,\n bottom: (_d = (_c = _this.props.margins) === null || _c === void 0 ? void 0 : _c.bottom) !== null && _d !== void 0 ? _d : 35,\n right: _this._isRtl ? (_f = (_e = _this.props.margins) === null || _e === void 0 ? void 0 : _e.left) !== null && _f !== void 0 ? _f : 40 : (_h = (_g = _this.props.margins) === null || _g === void 0 ? void 0 : _g.right) !== null && _h !== void 0 ? _h : 20,\n left: _this._isRtl ? (_k = (_j = _this.props.margins) === null || _j === void 0 ? void 0 : _j.right) !== null && _k !== void 0 ? _k : 20 : (_m = (_l = _this.props.margins) === null || _l === void 0 ? void 0 : _l.left) !== null && _m !== void 0 ? _m : 40,\n };\n return _this;\n }\n CartesianChartBase.prototype.componentDidMount = function () {\n this._fitParentContainer();\n };\n CartesianChartBase.prototype.componentWillUnmount = function () {\n cancelAnimationFrame(this._reqID);\n };\n CartesianChartBase.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.height !== this.props.height || prevProps.width !== this.props.width) {\n this._fitParentContainer();\n }\n if (!this.props.wrapXAxisLables &&\n this.props.rotateXAxisLables &&\n this.props.xAxisType === XAxisTypes.StringAxis) {\n var rotateLabelProps = {\n node: this.xAxisElement,\n xAxis: this._xScale,\n };\n var rotatedHeight = rotateXAxisLabels(rotateLabelProps);\n if (this.state.isRemoveValCalculated &&\n this.state._removalValueForTextTuncate !== rotatedHeight + this.margins.bottom &&\n rotatedHeight > 0) {\n this.setState({\n _removalValueForTextTuncate: rotatedHeight + this.margins.bottom,\n isRemoveValCalculated: false,\n });\n }\n }\n };\n CartesianChartBase.prototype.render = function () {\n var _this = this;\n var _a = this.props, calloutProps = _a.calloutProps, points = _a.points, chartType = _a.chartType, chartHoverProps = _a.chartHoverProps, svgFocusZoneProps = _a.svgFocusZoneProps, svgProps = _a.svgProps, culture = _a.culture;\n if (this.props.parentRef) {\n this._fitParentContainer();\n }\n // Callback for margins to the chart\n this.props.getmargins && this.props.getmargins(this.margins);\n var XAxisParams = {\n domainNRangeValues: getDomainNRangeValues(points, this.margins, this.state.containerWidth, chartType, this._isRtl, this.props.xAxisType, this.props.barwidth, this.props.tickValues),\n xAxisElement: this.xAxisElement,\n showRoundOffXTickValues: true,\n xAxisCount: this.props.xAxisTickCount,\n xAxistickSize: this.props.xAxistickSize,\n tickPadding: this.props.tickPadding || this.props.showXAxisLablesTooltip ? 5 : 10,\n xAxisPadding: this.props.xAxisPadding,\n };\n var YAxisParams = {\n margins: this.margins,\n containerWidth: this.state.containerWidth,\n containerHeight: this.state.containerHeight - this.state._removalValueForTextTuncate,\n yAxisElement: this.yAxisElement,\n yAxisTickFormat: this.props.yAxisTickFormat,\n yAxisTickCount: this.props.yAxisTickCount,\n yMinValue: this.props.yMinValue || 0,\n yMaxValue: this.props.yMaxValue || 0,\n tickPadding: 10,\n maxOfYVal: this.props.maxOfYVal,\n yMinMaxValues: getMinMaxOfYAxis(points, chartType),\n yAxisPadding: this.props.yAxisPadding,\n };\n /**\n * These scales used for 2 purposes.\n * 1. To create x and y axis\n * 2. To draw the graph.\n * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var xScale;\n switch (this.props.xAxisType) {\n case XAxisTypes.NumericAxis:\n xScale = createNumericXAxis(XAxisParams, culture);\n break;\n case XAxisTypes.DateAxis:\n xScale = createDateXAxis(XAxisParams, this.props.tickParams);\n break;\n case XAxisTypes.StringAxis:\n xScale = createStringXAxis(XAxisParams, this.props.tickParams, this.props.datasetForXAxisDomain, culture);\n break;\n default:\n xScale = createNumericXAxis(XAxisParams, culture);\n }\n this._xScale = xScale;\n /*\n * To enable wrapping of x axis tick values or to disaply complete x axis tick values,\n * we need to calculate how much space it needed to render the text.\n * No need to re-calculate every time the chart renders and same time need to get an update. So using setState.\n * Required space will be calculated first time chart rendering and if any width/height of chart updated.\n * */\n if (this.props.wrapXAxisLables || this.props.showXAxisLablesTooltip) {\n var wrapLabelProps = {\n node: this.xAxisElement,\n xAxis: xScale,\n showXAxisLablesTooltip: this.props.showXAxisLablesTooltip || false,\n noOfCharsToTruncate: this.props.noOfCharsToTruncate || 4,\n };\n var temp = xScale && createWrapOfXLabels(wrapLabelProps);\n // this value need to be updated for draw graph updated. So instead of using private value, using set state.\n if (this.state.isRemoveValCalculated && this.state._removalValueForTextTuncate !== temp) {\n this.setState({ _removalValueForTextTuncate: temp, isRemoveValCalculated: false });\n }\n }\n /**\n * These scales used for 2 purposes.\n * 1. To create x and y axis\n * 2. To draw the graph.\n * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var yScale;\n var axisData = { yAxisDomainValues: [] };\n if (this.props.yAxisType && this.props.yAxisType === YAxisType.StringAxis) {\n yScale = createStringYAxis(YAxisParams, this.props.stringDatasetForYAxisDomain, this._isRtl);\n }\n else {\n yScale = createYAxis(YAxisParams, this._isRtl, axisData);\n }\n this.props.getAxisData && this.props.getAxisData(axisData);\n // Callback function for chart, returns axis\n this._getData(xScale, yScale);\n this._classNames = getClassNames(this.props.styles, {\n theme: this.props.theme,\n width: this.state._width,\n height: this.state._height,\n className: this.props.className,\n isRtl: this._isRtl,\n });\n var svgDimensions = {\n width: this.state.containerWidth,\n height: this.state.containerHeight,\n };\n var children = this.props.children(__assign(__assign({}, this.state), { xScale: xScale, yScale: yScale }));\n var focusDirection;\n if (this.props.focusZoneDirection === FocusZoneDirection.vertical) {\n focusDirection = this.props.focusZoneDirection;\n }\n else if (this.props.focusZoneDirection) {\n focusDirection = this.props.focusZoneDirection;\n }\n else {\n focusDirection = FocusZoneDirection.horizontal;\n }\n return (React.createElement(\"div\", { id: this.idForGraph, className: this._classNames.root, role: 'presentation', ref: function (rootElem) { return (_this.chartContainer = rootElem); }, onMouseLeave: this.props.onChartMouseLeave },\n React.createElement(FocusZone, __assign({ direction: focusDirection }, svgFocusZoneProps),\n React.createElement(\"svg\", __assign({ width: svgDimensions.width, height: svgDimensions.height, \"aria-label\": this.props.chartTitle, style: { display: 'block' } }, svgProps),\n React.createElement(\"g\", { ref: function (e) {\n _this.xAxisElement = e;\n }, id: \"xAxisGElement\" + this.idForGraph, \n // To add wrap of x axis lables feature, need to remove word height from svg height.\n transform: \"translate(0, \" + (svgDimensions.height - this.margins.bottom - this.state._removalValueForTextTuncate) + \")\", className: this._classNames.xAxis }),\n React.createElement(\"g\", { ref: function (e) {\n _this.yAxisElement = e;\n }, id: \"yAxisGElement\" + this.idForGraph, transform: \"translate(\" + (this._isRtl ? svgDimensions.width - this.margins.right : this.margins.left) + \", 0)\", className: this._classNames.yAxis }),\n children)),\n !this.props.hideLegend && (React.createElement(\"div\", { ref: function (e) { return (_this.legendContainer = e); }, className: this._classNames.legendContainer }, this.props.legendBars)),\n !this.props.hideTooltip && calloutProps.isCalloutVisible && (React.createElement(Callout, __assign({}, calloutProps),\n this.props.customizedCallout && this.props.customizedCallout,\n !this.props.customizedCallout && this.props.isCalloutForStack && this._multiValueCallout(calloutProps),\n !this.props.customizedCallout && !this.props.isCalloutForStack && (React.createElement(ChartHoverCard, __assign({ XValue: calloutProps.XValue, Legend: calloutProps.legend, YValue: calloutProps.YValue, color: calloutProps.color, culture: this.props.culture }, chartHoverProps)))))));\n };\n CartesianChartBase.prototype._yValueHoverSubCountsExists = function (yValueHover) {\n if (yValueHover) {\n return yValueHover.some(function (yValue) { return yValue.yAxisCalloutData && typeof yValue.yAxisCalloutData !== 'string'; });\n }\n return false;\n };\n CartesianChartBase.prototype._getCalloutContent = function (xValue, index, yValueHoverSubCountsExists, isLast) {\n var marginStyle = isLast ? {} : { marginRight: '16px' };\n var toDrawShape = xValue.index !== undefined && xValue.index !== -1;\n var _classNames = getClassNames(this.props.styles, {\n theme: this.props.theme,\n width: this.state._width,\n height: this.state._height,\n className: this.props.className,\n isRtl: this._isRtl,\n lineColor: xValue.color,\n toDrawShape: toDrawShape,\n });\n var culture = this.props.culture;\n var yValue = convertToLocaleString(xValue.y, culture);\n if (!xValue.yAxisCalloutData || typeof xValue.yAxisCalloutData === 'string') {\n return (React.createElement(\"div\", { style: yValueHoverSubCountsExists ? marginStyle : {} },\n yValueHoverSubCountsExists && (React.createElement(\"div\", { className: \"ms-fontWeight-semibold\", style: { fontSize: '12pt' } },\n xValue.legend,\n \" (\",\n yValue,\n \")\")),\n React.createElement(\"div\", { id: index + \"_\" + xValue.y, className: _classNames.calloutBlockContainer },\n toDrawShape && (React.createElement(Shape, { svgProps: {\n className: _classNames.shapeStyles,\n }, pathProps: { fill: xValue.color }, shape: Points[xValue.index % Object.keys(pointTypes).length] })),\n React.createElement(\"div\", null,\n React.createElement(\"div\", { className: _classNames.calloutlegendText },\n \" \",\n xValue.legend),\n React.createElement(\"div\", { className: _classNames.calloutContentY }, convertToLocaleString(xValue.yAxisCalloutData ? xValue.yAxisCalloutData : xValue.y || xValue.data, culture))))));\n }\n else {\n var subcounts_1 = xValue.yAxisCalloutData;\n return (React.createElement(\"div\", { style: marginStyle },\n React.createElement(\"div\", { className: \"ms-fontWeight-semibold\", style: { fontSize: '12pt' } },\n xValue.legend,\n \" (\",\n yValue,\n \")\"),\n Object.keys(subcounts_1).map(function (subcountName) {\n return (React.createElement(\"div\", { key: subcountName, className: _classNames.calloutBlockContainer },\n React.createElement(\"div\", { className: _classNames.calloutlegendText },\n \" \",\n convertToLocaleString(subcountName, culture)),\n React.createElement(\"div\", { className: _classNames.calloutContentY }, convertToLocaleString(subcounts_1[subcountName], culture))));\n })));\n }\n };\n /**\n * When screen resizes, along with screen, chart also auto adjusted.\n * This method used to adjust height and width of the charts.\n */\n CartesianChartBase.prototype._fitParentContainer = function () {\n var _this = this;\n var _a = this.state, containerWidth = _a.containerWidth, containerHeight = _a.containerHeight;\n this._reqID = requestAnimationFrame(function () {\n var legendContainerHeight;\n if (_this.props.hideLegend) {\n // If there is no legend, need not to allocate some space from total chart space.\n legendContainerHeight = 0;\n }\n else {\n var legendContainerComputedStyles = getComputedStyle(_this.legendContainer);\n legendContainerHeight =\n (_this.legendContainer.getBoundingClientRect().height || _this.minLegendContainerHeight) +\n parseFloat(legendContainerComputedStyles.marginTop || '0') +\n parseFloat(legendContainerComputedStyles.marginBottom || '0');\n }\n var container = _this.props.parentRef ? _this.props.parentRef : _this.chartContainer;\n var currentContainerWidth = container.getBoundingClientRect().width;\n var currentContainerHeight = container.getBoundingClientRect().height > legendContainerHeight\n ? container.getBoundingClientRect().height\n : 350;\n var shouldResize = containerWidth !== currentContainerWidth || containerHeight !== currentContainerHeight - legendContainerHeight;\n if (shouldResize) {\n _this.setState({\n containerWidth: currentContainerWidth,\n containerHeight: currentContainerHeight - legendContainerHeight,\n });\n }\n });\n };\n return CartesianChartBase;\n}(React.Component));\nexport { CartesianChartBase };\n//# sourceMappingURL=CartesianChart.base.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelectorBlack, HighContrastSelector } from '@fluentui/react/lib/Styling';\nimport { isIE11 } from '@fluentui/react';\nvar isIE11Var = isIE11();\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var className = props.className, theme = props.theme, isRtl = props.isRtl, shouldHighlight = props.shouldHighlight, href = props.href, _j = props.lineColor, lineColor = _j === void 0 ? 'transparent' : _j, toDrawShape = props.toDrawShape;\n var fonts = theme.fonts;\n return {\n root: [\n theme.fonts.medium,\n {\n display: 'flex',\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n overflow: 'hidden',\n },\n className,\n ],\n xAxis: {\n selectors: {\n text: [\n theme.fonts.tiny,\n {\n fill: theme.semanticColors.bodyText,\n fontWeight: '600',\n selectors: (_a = {},\n _a[HighContrastSelectorBlack] = {\n fill: 'rgb(179, 179, 179)',\n },\n _a),\n },\n ],\n line: {\n opacity: 0.2,\n stroke: theme.semanticColors.bodyText,\n width: '1px',\n selectors: (_b = {},\n _b[HighContrastSelectorBlack] = {\n opacity: 0.1,\n stroke: 'rgb(179, 179, 179)',\n },\n _b),\n },\n path: {\n display: 'none',\n },\n },\n },\n yAxis: {\n selectors: {\n text: [\n theme.fonts.tiny,\n {\n fill: theme.semanticColors.bodyText,\n fontWeight: '600',\n selectors: (_c = {},\n _c[HighContrastSelectorBlack] = {\n fill: 'rgb(179, 179, 179)',\n },\n _c),\n },\n ],\n path: {\n display: 'none',\n },\n line: {\n opacity: 0.2,\n stroke: theme.semanticColors.bodyText,\n selectors: (_d = {},\n _d[HighContrastSelectorBlack] = {\n opacity: 0.1,\n stroke: 'rgb(179, 179, 179)',\n },\n _d),\n },\n g: [\n isRtl &&\n !isIE11Var && {\n textAnchor: 'end',\n },\n ],\n },\n },\n opacityChangeOnHover: {\n opacity: shouldHighlight ? '' : '0.1',\n cursor: href ? 'pointer' : 'default',\n },\n legendContainer: [\n {\n marginTop: '8px',\n marginLeft: '20px',\n },\n ],\n calloutContentRoot: [\n {\n display: 'grid',\n overflow: 'hidden',\n padding: '11px 16px 10px 16px',\n backgroundColor: theme.semanticColors.bodyBackground,\n backgroundBlendMode: 'normal, luminosity',\n },\n ],\n calloutDateTimeContainer: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n calloutContentX: [\n __assign(__assign({}, fonts.small), { lineHeight: '16px', opacity: '0.8', color: theme.semanticColors.bodySubtext }),\n ],\n calloutBlockContainer: [\n theme.fonts.mediumPlus,\n {\n marginTop: '13px',\n color: theme.semanticColors.bodyText,\n },\n !toDrawShape && {\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n forcedColorAdjust: 'none',\n },\n _e),\n borderLeft: \"4px solid \" + lineColor,\n paddingLeft: '8px',\n },\n toDrawShape && {\n display: 'flex',\n },\n ],\n shapeStyles: {\n marginRight: '8px',\n },\n calloutlegendText: __assign(__assign({}, fonts.small), { lineHeight: '16px', selectors: (_f = {},\n _f[HighContrastSelectorBlack] = {\n color: 'rgb(255, 255, 255)',\n },\n _f), color: theme.semanticColors.bodySubtext }),\n calloutContentY: [\n __assign(__assign({}, fonts.mediumPlus), { fontWeight: 'bold', lineHeight: '22px', selectors: (_g = {},\n _g[HighContrastSelectorBlack] = {\n color: 'rgb(255, 255, 255)',\n },\n _g) }),\n ],\n descriptionMessage: [\n theme.fonts.small,\n {\n selectors: (_h = {},\n _h[HighContrastSelectorBlack] = {\n color: 'rgb(255, 255, 255)',\n },\n _h),\n color: theme.semanticColors.bodyText,\n marginTop: '10px',\n paddingTop: '10px',\n borderTop: \"1px solid \" + theme.semanticColors.menuDivider,\n },\n ],\n };\n};\n//# sourceMappingURL=CartesianChart.styles.js.map","import { styled } from '@fluentui/react/lib/Utilities';\nimport { CartesianChartBase } from './CartesianChart.base';\nimport { getStyles } from './CartesianChart.styles';\nexport var CartesianChart = styled(CartesianChartBase, getStyles);\n//# sourceMappingURL=CartesianChart.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { select } from 'd3-selection';\nexport var Textbox = function (props) {\n var textElementRef = React.useRef(null);\n var wrapWords = function () {\n if (!textElementRef.current) {\n return;\n }\n var text = select(textElementRef.current);\n var words = props.text.split(/\\s+/);\n var line = [];\n var tspan = text.append('tspan');\n var numLines = 0;\n words.forEach(function (word) {\n line.push(word);\n tspan.text(line.join(' '));\n var node = tspan.node();\n if (node && node.getComputedTextLength() > props.width && line.length > 1) {\n numLines++;\n line.pop();\n tspan.text(line.join(' '));\n line = [word];\n tspan = text.append('tspan').text(word).attr('dy', props.lineHeight).attr('x', props.x);\n }\n });\n // bottom aligns text\n text.attr('dy', -numLines * props.lineHeight);\n return function () {\n text.selectAll('tspan').remove();\n };\n };\n React.useEffect(wrapWords);\n var lineHeight = props.lineHeight, rest = __rest(props, [\"lineHeight\"]);\n return React.createElement(\"text\", __assign({ ref: textElementRef }, rest));\n};\n//# sourceMappingURL=Textbox.js.map","import * as React from 'react';\nimport { Callout, FocusZone, FocusZoneDirection, List } from '@fluentui/react';\nimport { Textbox } from './Textbox';\nexport var LabelLink = function (props) {\n var gRef = React.useRef(null);\n var _a = React.useState(false), showCard = _a[0], setShowCard = _a[1];\n var onDismiss = function () { return setShowCard(false); };\n var onClick = function () { return setShowCard(true); };\n var onRenderCell = function (i) { return React.createElement(\"div\", { \"data-is-focusable\": true }, i && i()); };\n var callout = null;\n if (showCard) {\n var cards = props.labelDef.aggregatedIdx.map(function (i) { return props.lineDefs[i].onRenderCard; }).filter(function (c) { return !!c; });\n if (cards.length > 0) {\n callout = (React.createElement(Callout, { target: gRef.current, \n // eslint-disable-next-line react/jsx-no-bind\n onDismiss: onDismiss, setInitialFocus: true, role: \"dialog\" },\n React.createElement(FocusZone, { isCircularNavigation: true, direction: FocusZoneDirection.vertical },\n React.createElement(List, { items: cards, \n // eslint-disable-next-line react/jsx-no-bind\n onRenderCell: onRenderCell }))));\n }\n }\n var text;\n var darkThemeMq = window.matchMedia('(prefers-color-scheme: dark)');\n var fill = darkThemeMq.matches ? 'rgb(255,255,255)' : props.textColor;\n if (props.labelDef.aggregatedIdx.length === 1) {\n text = props.lineDefs[props.labelDef.aggregatedIdx[0]].event;\n }\n else {\n text = props.mergedLabel(props.labelDef.aggregatedIdx.length);\n }\n return (React.createElement(React.Fragment, null,\n React.createElement(\"g\", { ref: gRef, onClick: onClick, \"data-is-focusable\": false, style: { cursor: 'pointer' } },\n React.createElement(Textbox, { text: text, x: props.labelDef.x, y: props.textY, width: props.textWidth, lineHeight: props.textLineHeight, textAnchor: props.labelDef.anchor, fontSize: props.textFontSize, fill: fill })),\n callout));\n};\n//# sourceMappingURL=LabelLink.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { findIndex } from '@fluentui/react/lib/Utilities';\nimport { LabelLink } from './LabelLink';\nexport var EventsAnnotation = function (props) {\n var textWidth = props.labelWidth ? props.labelWidth : 105;\n var textY = props.chartYTop - 20;\n var lineTopY = textY + 7;\n var textPadding = 5;\n var lineHeight = 18;\n var fontSize = '10pt';\n var axisRange = props.scale.range();\n var lineDefs = props.events.map(function (e) { return (__assign(__assign({}, e), { x: props.scale(e.date) })); });\n lineDefs.sort(function (e1, e2) { return +e1.date - +e2.date; });\n var darkThemeMq = window.matchMedia('(prefers-color-scheme: dark)');\n var fill = darkThemeMq.matches ? 'rgb(255,255,255)' : props.strokeColor;\n var lines = uniqBy(lineDefs, function (x) { return x.date.toString(); }).map(function (x, i) { return (React.createElement(\"line\", { key: i, x1: x.x, x2: x.x, y1: lineTopY, y2: props.chartYBottom, stroke: fill, strokeDasharray: \"8\" })); });\n var labelLinks = calculateLabels(lineDefs, textWidth + textPadding, axisRange[1], axisRange[0]).map(function (x, i) { return (React.createElement(LabelLink, __assign({ key: i }, {\n lineDefs: lineDefs,\n labelDef: x,\n textY: textY,\n textWidth: textWidth,\n textLineHeight: lineHeight,\n textFontSize: fontSize,\n textColor: props.labelColor,\n mergedLabel: props.mergedLabel,\n }))); });\n return (React.createElement(React.Fragment, null,\n lines,\n labelLinks));\n};\nfunction calculateLabels(lineDefs, textWidth, maxX, minX) {\n var calculateLabel = function (lastX, currentIdx) {\n // base case 1\n if (currentIdx === lineDefs.length) {\n return [];\n }\n var x = lineDefs[currentIdx].x;\n var leftXBoundary = x - textWidth;\n // cannot render on top of other text\n if (x < lastX) {\n return [];\n }\n // base case 2\n if (currentIdx === lineDefs.length - 1) {\n if (lastX < leftXBoundary) {\n return [{ x: x, anchor: 'end', aggregatedIdx: [currentIdx] }];\n }\n else if (x + textWidth < maxX) {\n return [{ x: x, anchor: 'start', aggregatedIdx: [currentIdx] }];\n }\n return [];\n }\n if (lastX < leftXBoundary) {\n // label on left side\n return backtrack(currentIdx, 'end');\n }\n else {\n // label on right side\n return backtrack(currentIdx, 'start');\n }\n };\n var backtrack = function (currentIdx, anchor) {\n var bd = anchor === 'end' ? lineDefs[currentIdx].x : lineDefs[currentIdx].x + textWidth;\n var idx = findIndex(lineDefs, function (ds) { return ds.x > bd && (ds.x - textWidth >= bd || ds.x + textWidth < maxX); }, currentIdx + 1);\n if (idx === -1) {\n idx = lineDefs.length;\n }\n var aggregatedIdx = [];\n for (var i = currentIdx; i < idx; i++) {\n aggregatedIdx.push(i);\n }\n var next = calculateLabel(bd, idx);\n next.unshift({ x: lineDefs[currentIdx].x, anchor: anchor, aggregatedIdx: aggregatedIdx });\n return next;\n };\n return calculateLabel(minX, 0);\n}\n/** Get unique items of `arr`, comparing based on the result of calling `iteratee` on each item. */\nfunction uniqBy(arr, iteratee) {\n var seen = [];\n var result = [];\n for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) {\n var x = arr_1[_i];\n var comp = iteratee(x);\n if (seen.indexOf(comp) === -1) {\n result.push(x);\n seen.push(comp);\n }\n }\n return result;\n}\n//# sourceMappingURL=EventAnnotation.js.map","import { __assign, __extends, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { select as d3Select } from 'd3-selection';\nimport { Legends } from '../Legends/index';\nimport { classNamesFunction, getId, find } from '@fluentui/react/lib/Utilities';\nimport { CartesianChart, } from '../../index';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { EventsAnnotation } from './eventAnnotation/EventAnnotation';\nimport { calloutData, ChartTypes, getXAxisType, XAxisTypes, tooltipOfXAxislabels, Points, pointTypes, getMinMaxOfYAxis, } from '../../utilities/index';\nvar getClassNames = classNamesFunction();\nvar PointSize;\n(function (PointSize) {\n PointSize[PointSize[\"hoverSize\"] = 11] = \"hoverSize\";\n PointSize[PointSize[\"invisibleSize\"] = 1] = \"invisibleSize\";\n})(PointSize || (PointSize = {}));\nvar DEFAULT_LINE_STROKE_SIZE = 4;\n// The given shape of a icon must be 2.5 times bigger than line width (known as stroke width)\nvar PATH_MULTIPLY_SIZE = 2.5;\n/**\n *\n * @param x units from origin\n * @param y units from origin\n * @param w is the legnth of the each side of a shape\n * @param index index to get the shape path\n */\nvar _getPointPath = function (x, y, w, index) {\n var allPointPaths = [\n // circle path\n \"M\" + (x - w / 2) + \" \" + y + \"\\n A\" + w / 2 + \" \" + w / 2 + \" 0 1 0 \" + (x + w / 2) + \" \" + y + \"\\n M\" + (x - w / 2) + \" \" + y + \"\\n A \" + w / 2 + \" \" + w / 2 + \" 0 1 1 \" + (x + w / 2) + \" \" + y + \"\\n \",\n //square\n \"M\" + (x - w / 2) + \" \" + (y - w / 2) + \"\\n L\" + (x + w / 2) + \" \" + (y - w / 2) + \"\\n L\" + (x + w / 2) + \" \" + (y + w / 2) + \"\\n L\" + (x - w / 2) + \" \" + (y + w / 2) + \"\\n Z\",\n //triangle\n \"M\" + (x - w / 2) + \" \" + (y - 0.2886 * w) + \"\\n H \" + (x + w / 2) + \"\\n L\" + x + \" \" + (y + 0.5774 * w) + \" Z\",\n //diamond\n \"M\" + x + \" \" + (y - w / 2) + \"\\n L\" + (x + w / 2) + \" \" + y + \"\\n L\" + x + \" \" + (y + w / 2) + \"\\n L\" + (x - w / 2) + \" \" + y + \"\\n Z\",\n //pyramid\n \"M\" + x + \" \" + (y - 0.5774 * w) + \"\\n L\" + (x + w / 2) + \" \" + (y + 0.2886 * w) + \"\\n L\" + (x - w / 2) + \" \" + (y + 0.2886 * w) + \" Z\",\n //hexagon\n \"M\" + (x - 0.5 * w) + \" \" + (y - 0.866 * w) + \"\\n L\" + (x + 0.5 * w) + \" \" + (y - 0.866 * w) + \"\\n L\" + (x + w) + \" \" + y + \"\\n L\" + (x + 0.5 * w) + \" \" + (y + 0.866 * w) + \"\\n L\" + (x - 0.5 * w) + \" \" + (y + 0.866 * w) + \"\\n L\" + (x - w) + \" \" + y + \"\\n Z\",\n //pentagon\n \"M\" + x + \" \" + (y - 0.851 * w) + \"\\n L\" + (x + 0.6884 * w) + \" \" + (y - 0.2633 * w) + \"\\n L\" + (x + 0.5001 * w) + \" \" + (y + 0.6884 * w) + \"\\n L\" + (x - 0.5001 * w) + \" \" + (y + 0.6884 * w) + \"\\n L\" + (x - 0.6884 * w) + \" \" + (y - 0.2633 * w) + \"\\n Z\",\n //octagon\n \"M\" + (x - 0.5001 * w) + \" \" + (y - 1.207 * w) + \"\\n L\" + (x + 0.5001 * w) + \" \" + (y - 1.207 * w) + \"\\n L\" + (x + 1.207 * w) + \" \" + (y - 0.5001 * w) + \"\\n L\" + (x + 1.207 * w) + \" \" + (y + 0.5001 * w) + \"\\n L\" + (x + 0.5001 * w) + \" \" + (y + 1.207 * w) + \"\\n L\" + (x - 0.5001 * w) + \" \" + (y + 1.207 * w) + \"\\n L\" + (x - 1.207 * w) + \" \" + (y + 0.5001 * w) + \"\\n L\" + (x - 1.207 * w) + \" \" + (y - 0.5001 * w) + \"\\n Z\",\n ];\n return allPointPaths[index];\n};\nvar LineChartBase = /** @class */ (function (_super) {\n __extends(LineChartBase, _super);\n function LineChartBase(props) {\n var _this_1 = _super.call(this, props) || this;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this_1._xAxisScale = '';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this_1._yAxisScale = '';\n _this_1.eventLabelHeight = 36;\n _this_1._injectIndexPropertyInLineChartData = function (lineChartData) {\n var _a = _this_1.props.allowMultipleShapesForPoints, allowMultipleShapesForPoints = _a === void 0 ? false : _a;\n return lineChartData\n ? lineChartData.map(function (item, index) { return (__assign(__assign({}, item), { index: allowMultipleShapesForPoints ? index : -1 })); })\n : [];\n };\n _this_1._getCustomizedCallout = function () {\n return _this_1.props.onRenderCalloutPerStack\n ? _this_1.props.onRenderCalloutPerStack(_this_1.state.stackCalloutProps)\n : _this_1.props.onRenderCalloutPerDataPoint\n ? _this_1.props.onRenderCalloutPerDataPoint(_this_1.state.dataPointCalloutProps)\n : null;\n };\n _this_1._getMargins = function (margins) {\n _this_1.margins = margins;\n };\n _this_1._initializeLineChartData = function (xScale, yScale, containerHeight, containerWidth, xElement) {\n _this_1._xAxisScale = xScale;\n _this_1._yAxisScale = yScale;\n _this_1._renderedColorFillBars = _this_1.props.colorFillBars ? _this_1._createColorFillBars(containerHeight) : [];\n _this_1.lines = _this_1._createLines(xElement, containerHeight);\n };\n _this_1._handleSingleLegendSelectionAction = function (lineChartItem) {\n if (_this_1.state.selectedLegend === lineChartItem.legend) {\n _this_1.setState({ selectedLegend: '', activeLegend: lineChartItem.legend });\n _this_1._handleLegendClick(lineChartItem, null);\n }\n else {\n _this_1.setState({\n selectedLegend: lineChartItem.legend,\n activeLegend: lineChartItem.legend,\n });\n _this_1._handleLegendClick(lineChartItem, lineChartItem.legend);\n }\n };\n _this_1._onHoverCardHide = function () {\n _this_1.setState({\n selectedLegendPoints: [],\n selectedColorBarLegend: [],\n isSelectedLegend: false,\n });\n };\n _this_1._closeCallout = function () {\n _this_1.setState({\n isCalloutVisible: false,\n });\n };\n _this_1._getBoxWidthOfShape = function (pointId, pointIndex, isLastPoint) {\n var _a = _this_1.props, _b = _a.allowMultipleShapesForPoints, allowMultipleShapesForPoints = _b === void 0 ? false : _b, _c = _a.strokeWidth, strokeWidth = _c === void 0 ? DEFAULT_LINE_STROKE_SIZE : _c;\n var activePoint = _this_1.state.activePoint;\n if (allowMultipleShapesForPoints) {\n if (activePoint === pointId) {\n return PointSize.hoverSize;\n }\n else if (pointIndex === 1 || isLastPoint) {\n return strokeWidth * PATH_MULTIPLY_SIZE;\n }\n else {\n return PointSize.invisibleSize;\n }\n }\n else {\n if (activePoint === pointId) {\n return PointSize.hoverSize;\n }\n else {\n return PointSize.invisibleSize;\n }\n }\n };\n _this_1._getPath = function (xPos, yPos, pointId, pointIndex, isLastPoint, pointOftheLine) {\n var _a = _this_1.props.allowMultipleShapesForPoints, allowMultipleShapesForPoints = _a === void 0 ? false : _a;\n var w = _this_1._getBoxWidthOfShape(pointId, pointIndex, isLastPoint);\n var index = allowMultipleShapesForPoints ? pointOftheLine % Object.keys(pointTypes).length : 0;\n var widthRatio = pointTypes[index].widthRatio;\n w = widthRatio > 1 ? w / widthRatio : w;\n return _getPointPath(xPos, yPos, w, index);\n };\n _this_1._getPointFill = function (lineColor, pointId, pointIndex, isLastPoint) {\n var activePoint = _this_1.state.activePoint;\n var _a = _this_1.props, theme = _a.theme, _b = _a.allowMultipleShapesForPoints, allowMultipleShapesForPoints = _b === void 0 ? false : _b;\n if (allowMultipleShapesForPoints) {\n if (pointIndex === 1 || isLastPoint) {\n if (activePoint === pointId) {\n return theme.palette.white;\n }\n else {\n return lineColor;\n }\n }\n else {\n if (activePoint === pointId) {\n return theme.palette.white;\n }\n else {\n return lineColor;\n }\n }\n }\n else {\n if (activePoint === pointId) {\n return theme.palette.white;\n }\n else {\n return lineColor;\n }\n }\n };\n _this_1._createColorFillBars = function (containerHeight) {\n var colorFillBars = [];\n if (_this_1.state.isSelectedLegend) {\n _this_1._colorFillBars = _this_1.state.selectedColorBarLegend;\n }\n else {\n _this_1._colorFillBars = _this_1.props.colorFillBars;\n }\n var yMinMaxValues = getMinMaxOfYAxis(_this_1._points, ChartTypes.LineChart);\n var FILL_Y_PADDING = 3;\n for (var i = 0; i < _this_1._colorFillBars.length; i++) {\n var colorFillBar = _this_1._colorFillBars[i];\n var colorFillBarId = getId(colorFillBar.legend.replace(/\\W/g, ''));\n if (colorFillBar.applyPattern) {\n // Using a pattern element because CSS was unable to render diagonal stripes for rect elements\n colorFillBars.push(_this_1._getStripePattern(colorFillBar.color, i));\n }\n for (var j = 0; j < colorFillBar.data.length; j++) {\n var startX = colorFillBar.data[j].startX;\n var endX = colorFillBar.data[j].endX;\n var opacity = _this_1.state.activeLegend === colorFillBar.legend ||\n _this_1.state.activeLegend === '' ||\n _this_1.state.isSelectedLegend\n ? _this_1._colorFillBarsOpacity\n : 0.1;\n colorFillBars.push(React.createElement(\"rect\", { fill: colorFillBar.applyPattern ? \"url(#\" + _this_1._colorFillBarPatternId + i + \")\" : colorFillBar.color, fillOpacity: opacity, x: _this_1._xAxisScale(startX), y: _this_1._yAxisScale(yMinMaxValues.endValue) - FILL_Y_PADDING, width: Math.abs(_this_1._xAxisScale(endX) - _this_1._xAxisScale(startX)), height: _this_1._yAxisScale(_this_1.props.yMinValue || 0) - _this_1._yAxisScale(yMinMaxValues.endValue) + FILL_Y_PADDING, key: \"\" + colorFillBarId + j }));\n }\n }\n return colorFillBars;\n };\n _this_1._getStripePattern = function (color, id) {\n // This describes a tile pattern that resembles diagonal stripes\n // For more information: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d\n var stripePath = 'M-4,4 l8,-8 M0,16 l16,-16 M12,20 l8,-8';\n return (React.createElement(\"pattern\", { id: \"\" + _this_1._colorFillBarPatternId + id, width: 16, height: 16, key: \"\" + _this_1._colorFillBarPatternId + id, patternUnits: 'userSpaceOnUse' },\n React.createElement(\"path\", { d: stripePath, stroke: color, strokeWidth: 1.25 })));\n };\n _this_1._checkInGap = function (pointIndex, gaps, currentGapIndex) {\n var gapIndex = currentGapIndex;\n var isInGap = false;\n while (gapIndex < gaps.length && pointIndex > gaps[gapIndex].endIndex) {\n gapIndex++;\n }\n if (gapIndex < gaps.length && pointIndex > gaps[gapIndex].startIndex && pointIndex <= gaps[gapIndex].endIndex) {\n isInGap = true;\n }\n return { isInGap: isInGap, gapIndex: gapIndex };\n };\n _this_1._handleFocus = function (lineId, x, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData) {\n _this_1._uniqueCallOutID = circleId;\n var formattedData = x instanceof Date ? x.toLocaleDateString() : x;\n var xVal = x instanceof Date ? x.getTime() : x;\n var found = find(_this_1._calloutPoints, function (element) { return element.x === xVal; });\n // if no points need to be called out then don't show vertical line and callout card\n if (found) {\n var _this_2 = _this_1;\n d3Select('#' + circleId).attr('aria-labelledby', \"toolTip\" + _this_1._uniqueCallOutID);\n d3Select(\"#\" + _this_1._verticalLine)\n .attr('transform', function () { return \"translate(\" + _this_2._xAxisScale(x) + \", 0)\"; })\n .attr('visibility', 'visibility');\n _this_1._refArray.forEach(function (obj) {\n if (obj.index === lineId) {\n _this_1.setState({\n isCalloutVisible: true,\n refSelected: obj.refElement,\n hoverXValue: xAxisCalloutData ? xAxisCalloutData : '' + formattedData,\n YValueHover: found.values,\n stackCalloutProps: found,\n dataPointCalloutProps: found,\n activePoint: circleId,\n xAxisCalloutAccessibilityData: xAxisCalloutAccessibilityData,\n });\n }\n });\n }\n else {\n _this_1.setState({\n activePoint: circleId,\n });\n }\n };\n _this_1._handleHover = function (x, y, lineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, mouseEvent) {\n mouseEvent.persist();\n var formattedData = x instanceof Date ? x.toLocaleDateString() : x;\n var xVal = x instanceof Date ? x.getTime() : x;\n var _this = _this_1;\n var found = find(_this_1._calloutPoints, function (element) { return element.x === xVal; });\n // if no points need to be called out then don't show vertical line and callout card\n if (found) {\n d3Select(\"#\" + _this_1._verticalLine)\n .attr('transform', function () { return \"translate(\" + _this._xAxisScale(x) + \", \" + _this._yAxisScale(y) + \")\"; })\n .attr('visibility', 'visibility')\n .attr('y2', \"\" + (lineHeight - _this._yAxisScale(y)));\n if (_this_1._uniqueCallOutID !== circleId) {\n _this_1._uniqueCallOutID = circleId;\n _this_1.setState({\n isCalloutVisible: true,\n refSelected: \"#\" + circleId,\n hoverXValue: xAxisCalloutData ? xAxisCalloutData : '' + formattedData,\n YValueHover: found.values,\n stackCalloutProps: found,\n dataPointCalloutProps: found,\n activePoint: circleId,\n xAxisCalloutAccessibilityData: xAxisCalloutAccessibilityData,\n });\n }\n }\n else {\n _this_1.setState({\n activePoint: circleId,\n });\n }\n };\n _this_1._onLineClick = function (func) {\n if (func) {\n func();\n }\n };\n _this_1._onDataPointClick = function (func) {\n if (func) {\n func();\n }\n };\n _this_1._handleMouseOut = function () {\n d3Select(\"#\" + _this_1._verticalLine).attr('visibility', 'hidden');\n };\n _this_1._handleChartMouseLeave = function () {\n _this_1._uniqueCallOutID = null;\n _this_1.setState({\n isCalloutVisible: false,\n activePoint: '',\n });\n };\n _this_1._handleLegendClick = function (lineChartItem, selectedLegend) {\n if (lineChartItem.onLegendClick) {\n lineChartItem.onLegendClick(selectedLegend);\n }\n };\n _this_1._handleMultipleLineLegendSelectionAction = function (selectedLine) {\n var selectedLineIndex = _this_1.state.selectedLegendPoints.reduce(function (acc, line, index) {\n if (acc > -1 || line.legend !== selectedLine.legend) {\n return acc;\n }\n else {\n return index;\n }\n }, -1);\n var selectedLines;\n if (selectedLineIndex === -1) {\n selectedLines = __spreadArray(__spreadArray([], _this_1.state.selectedLegendPoints), [selectedLine]);\n }\n else {\n selectedLines = _this_1.state.selectedLegendPoints\n .slice(0, selectedLineIndex)\n .concat(_this_1.state.selectedLegendPoints.slice(selectedLineIndex + 1));\n }\n var areAllLineLegendsSelected = _this_1.props.data && selectedLines.length === _this_1.props.data.lineChartData.length;\n if (areAllLineLegendsSelected &&\n ((_this_1.props.colorFillBars && _this_1.props.colorFillBars.length === _this_1.state.selectedColorBarLegend.length) ||\n !_this_1.props.colorFillBars)) {\n // Clear all legends if all legends including color fill bar legends are selected\n // Or clear all legends if all legends are selected and there are no color fill bars\n _this_1._clearMultipleLegendSelections();\n }\n else if (!selectedLines.length && !_this_1.state.selectedColorBarLegend.length) {\n // Clear all legends if no legends including color fill bar legends are selected\n _this_1._clearMultipleLegendSelections();\n }\n else {\n // Otherwise, set state when one or more legends are selected, including color fill bar legends\n _this_1.setState({\n selectedLegendPoints: selectedLines,\n isSelectedLegend: true,\n });\n }\n var selectedLegendTitlesToPass = selectedLines.map(function (line) { return line.legend; });\n _this_1._handleLegendClick(selectedLine, selectedLegendTitlesToPass);\n };\n _this_1._handleMultipleColorFillBarLegendSelectionAction = function (selectedColorFillBar) {\n var selectedColorFillBarIndex = _this_1.state.selectedColorBarLegend.reduce(function (acc, colorFillBar, index) {\n if (acc > -1 || colorFillBar.legend !== selectedColorFillBar.legend) {\n return acc;\n }\n else {\n return index;\n }\n }, -1);\n var selectedColorFillBars;\n if (selectedColorFillBarIndex === -1) {\n selectedColorFillBars = __spreadArray(__spreadArray([], _this_1.state.selectedColorBarLegend), [selectedColorFillBar]);\n }\n else {\n selectedColorFillBars = _this_1.state.selectedColorBarLegend\n .slice(0, selectedColorFillBarIndex)\n .concat(_this_1.state.selectedColorBarLegend.slice(selectedColorFillBarIndex + 1));\n }\n var areAllColorFillBarLegendsSelected = selectedColorFillBars.length === (_this_1.props.colorFillBars && _this_1.props.colorFillBars.length);\n if (areAllColorFillBarLegendsSelected &&\n ((_this_1.props.data && _this_1.props.data.lineChartData.length === _this_1.state.selectedLegendPoints.length) ||\n !_this_1.props.data)) {\n // Clear all legends if all legends, including line legends, are selected\n // Or clear all legends if all legends are selected and there is no line data\n _this_1._clearMultipleLegendSelections();\n }\n else if (!selectedColorFillBars.length && !_this_1.state.selectedLegendPoints.length) {\n // Clear all legends if no legends are selected, including line legends\n _this_1._clearMultipleLegendSelections();\n }\n else {\n // set state when one or more legends are selected, including line legends\n _this_1.setState({\n selectedColorBarLegend: selectedColorFillBars,\n isSelectedLegend: true,\n });\n }\n var selectedLegendTitlesToPass = selectedColorFillBars.map(function (colorFillBar) { return colorFillBar.legend; });\n _this_1._handleLegendClick(selectedColorFillBar, selectedLegendTitlesToPass);\n };\n _this_1._clearMultipleLegendSelections = function () {\n _this_1.setState({\n selectedColorBarLegend: [],\n selectedLegendPoints: [],\n isSelectedLegend: false,\n });\n };\n _this_1.state = {\n hoverXValue: '',\n activeLegend: '',\n YValueHover: [],\n refSelected: '',\n selectedLegend: '',\n isCalloutVisible: false,\n selectedLegendPoints: [],\n selectedColorBarLegend: [],\n isSelectedLegend: false,\n activePoint: '',\n };\n _this_1._refArray = [];\n _this_1._points = _this_1._injectIndexPropertyInLineChartData(_this_1.props.data.lineChartData);\n _this_1._colorFillBars = [];\n _this_1._colorFillBarsOpacity = 0.5;\n _this_1._calloutPoints = calloutData(_this_1._points) || [];\n _this_1._circleId = getId('circle');\n _this_1._lineId = getId('lineID');\n _this_1._borderId = getId('borderID');\n _this_1._verticalLine = getId('verticalLine');\n _this_1._colorFillBarPatternId = getId('colorFillBarPattern');\n _this_1._tooltipId = getId('LineChartTooltipId_');\n props.eventAnnotationProps &&\n props.eventAnnotationProps.labelHeight &&\n (_this_1.eventLabelHeight = props.eventAnnotationProps.labelHeight);\n return _this_1;\n }\n LineChartBase.prototype.componentDidUpdate = function (prevProps) {\n /** note that height and width are not used to resize or set as dimesions of the chart,\n * fitParentContainer is responisble for setting the height and width or resizing of the svg/chart\n */\n if (prevProps.height !== this.props.height ||\n prevProps.width !== this.props.width ||\n prevProps.data !== this.props.data) {\n this._points = this._injectIndexPropertyInLineChartData(this.props.data.lineChartData);\n this._calloutPoints = calloutData(this._points) || [];\n }\n };\n LineChartBase.prototype.render = function () {\n var _this_1 = this;\n var _a = this.props, tickValues = _a.tickValues, tickFormat = _a.tickFormat, eventAnnotationProps = _a.eventAnnotationProps, legendProps = _a.legendProps, data = _a.data;\n this._points = this._injectIndexPropertyInLineChartData(data.lineChartData);\n var isXAxisDateType = getXAxisType(this._points);\n var points = this._points;\n if (legendProps && !!legendProps.canSelectMultipleLegends) {\n points = this.state.selectedLegendPoints.length >= 1 ? this.state.selectedLegendPoints : this._points;\n this._calloutPoints = calloutData(points);\n }\n var legendBars = this._createLegends(this._points);\n var calloutProps = __assign({ isCalloutVisible: this.state.isCalloutVisible, directionalHint: DirectionalHint.topAutoEdge, YValueHover: this.state.YValueHover, hoverXValue: this.state.hoverXValue, id: \"toolTip\" + this._uniqueCallOutID, target: this.state.refSelected, isBeakVisible: false, gapSpace: 15, onDismiss: this._closeCallout, preventDismissOnEvent: function () { return true; }, hidden: !(!this.props.hideTooltip && this.state.isCalloutVisible), descriptionMessage: this.props.getCalloutDescriptionMessage && this.state.stackCalloutProps\n ? this.props.getCalloutDescriptionMessage(this.state.stackCalloutProps)\n : undefined, 'data-is-focusable': true, xAxisCalloutAccessibilityData: this.state.xAxisCalloutAccessibilityData }, this.props.calloutProps);\n var tickParams = {\n tickValues: tickValues,\n tickFormat: tickFormat,\n };\n return (React.createElement(CartesianChart, __assign({}, this.props, { chartTitle: data.chartTitle, points: points, chartType: ChartTypes.LineChart, isCalloutForStack: true, calloutProps: calloutProps, tickParams: tickParams, legendBars: legendBars, getmargins: this._getMargins, getGraphData: this._initializeLineChartData, xAxisType: isXAxisDateType ? XAxisTypes.DateAxis : XAxisTypes.NumericAxis, customizedCallout: this._getCustomizedCallout(), onChartMouseLeave: this._handleChartMouseLeave, \n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children: function (props) {\n _this_1._xAxisScale = props.xScale;\n _this_1._yAxisScale = props.yScale;\n return (React.createElement(React.Fragment, null,\n React.createElement(\"g\", null,\n React.createElement(\"line\", { x1: 0, y1: 0, x2: 0, y2: props.containerHeight, stroke: '#C8C8C8', id: _this_1._verticalLine, visibility: 'hidden', strokeDasharray: '5,5' }),\n React.createElement(\"g\", null,\n _this_1._renderedColorFillBars,\n _this_1.lines),\n eventAnnotationProps && (React.createElement(EventsAnnotation, __assign({}, eventAnnotationProps, { scale: props.xScale, chartYTop: _this_1.margins.top + _this_1.eventLabelHeight, chartYBottom: props.containerHeight - 35 }))))));\n } })));\n };\n LineChartBase.prototype._createLegends = function (data) {\n var _this_1 = this;\n var _a = this.props, legendProps = _a.legendProps, _b = _a.allowMultipleShapesForPoints, allowMultipleShapesForPoints = _b === void 0 ? false : _b;\n var isLegendMultiSelectEnabled = !!(legendProps && !!legendProps.canSelectMultipleLegends);\n var legendDataItems = data.map(function (point) {\n var color = point.color;\n // mapping data to the format Legends component needs\n var legend = __assign(__assign({ title: point.legend, color: color, action: function () {\n if (isLegendMultiSelectEnabled) {\n _this_1._handleMultipleLineLegendSelectionAction(point);\n }\n else {\n _this_1._handleSingleLegendSelectionAction(point);\n }\n }, onMouseOutAction: function () {\n _this_1.setState({ activeLegend: '' });\n }, hoverAction: function () {\n _this_1.setState({ activeLegend: point.legend });\n } }, (point.legendShape && {\n shape: point.legendShape,\n })), (allowMultipleShapesForPoints && {\n shape: Points[point.index % Object.keys(pointTypes).length],\n }));\n return legend;\n });\n var colorFillBarsLegendDataItems = this.props.colorFillBars\n ? this.props.colorFillBars.map(function (colorFillBar, index) {\n var title = colorFillBar.legend;\n var legend = {\n title: title,\n color: colorFillBar.color,\n action: function () {\n if (isLegendMultiSelectEnabled) {\n _this_1._handleMultipleColorFillBarLegendSelectionAction(colorFillBar);\n }\n else {\n _this_1._handleSingleLegendSelectionAction(colorFillBar);\n }\n },\n onMouseOutAction: function () {\n _this_1.setState({ activeLegend: '' });\n },\n hoverAction: function () {\n _this_1.setState({ activeLegend: title });\n },\n opacity: _this_1._colorFillBarsOpacity,\n stripePattern: colorFillBar.applyPattern,\n };\n return legend;\n })\n : [];\n var legends = (React.createElement(Legends, __assign({ legends: __spreadArray(__spreadArray([], legendDataItems), colorFillBarsLegendDataItems), enabledWrapLines: this.props.enabledLegendsWrapLines, overflowProps: this.props.legendsOverflowProps, focusZonePropsInHoverCard: this.props.focusZonePropsForLegendsInHoverCard, overflowText: this.props.legendsOverflowText }, (isLegendMultiSelectEnabled && { onLegendHoverCardLeave: this._onHoverCardHide }), this.props.legendProps)));\n return legends;\n };\n LineChartBase.prototype._createLines = function (xElement, containerHeight) {\n var _this_1 = this;\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n var lines = [];\n if (this.state.isSelectedLegend) {\n this._points = this.state.selectedLegendPoints;\n }\n else {\n this._points = this._injectIndexPropertyInLineChartData(this.props.data.lineChartData);\n }\n for (var i = 0; i < this._points.length; i++) {\n var linesForLine = [];\n var bordersForLine = [];\n var pointsForLine = [];\n var legendVal = this._points[i].legend;\n var lineColor = this._points[i].color;\n var activePoint = this.state.activePoint;\n var theme = this.props.theme;\n var verticaLineHeight = containerHeight - this.margins.bottom + 6;\n if (this._points[i].data.length === 1) {\n var _r = this._points[i].data[0], x1 = _r.x, y1 = _r.y, xAxisCalloutData = _r.xAxisCalloutData, xAxisCalloutAccessibilityData = _r.xAxisCalloutAccessibilityData;\n var circleId = \"\" + this._circleId + i;\n pointsForLine.push(React.createElement(\"circle\", { id: \"\" + this._circleId + i, key: \"\" + this._circleId + i, r: activePoint === circleId ? 5.5 : 3.5, cx: this._xAxisScale(x1), cy: this._yAxisScale(y1), fill: activePoint === circleId ? theme.palette.white : lineColor, onMouseOver: this._handleHover.bind(this, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData), onMouseMove: this._handleHover.bind(this, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData), onMouseOut: this._handleMouseOut, strokeWidth: activePoint === circleId ? DEFAULT_LINE_STROKE_SIZE : 0, stroke: activePoint === circleId ? lineColor : '' }));\n }\n var gapIndex = 0;\n var gaps = (_b = (_a = this._points[i].gaps) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) { return a.startIndex - b.startIndex; })) !== null && _b !== void 0 ? _b : [];\n var _loop_1 = function (j) {\n var gapResult = this_1._checkInGap(j, gaps, gapIndex);\n var isInGap = gapResult.isInGap;\n gapIndex = gapResult.gapIndex;\n var lineId = \"\" + this_1._lineId + i + j;\n var borderId = \"\" + this_1._borderId + i + j;\n var circleId = \"\" + this_1._circleId + i + j;\n var _s = this_1._points[i].data[j - 1], x1 = _s.x, y1 = _s.y, xAxisCalloutData = _s.xAxisCalloutData, xAxisCalloutAccessibilityData = _s.xAxisCalloutAccessibilityData;\n var _t = this_1._points[i].data[j], x2 = _t.x, y2 = _t.y;\n var path = this_1._getPath(this_1._xAxisScale(x1), this_1._yAxisScale(y1), circleId, j, false, this_1._points[i].index);\n var strokeWidth = ((_c = this_1._points[i].lineOptions) === null || _c === void 0 ? void 0 : _c.strokeWidth) || this_1.props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;\n var isLegendSelected = this_1.state.activeLegend === legendVal || this_1.state.activeLegend === '' || this_1.state.isSelectedLegend;\n var currentPointHidden = this_1._points[i].hideNonActiveDots && activePoint !== circleId;\n pointsForLine.push(React.createElement(\"path\", { id: circleId, key: circleId, d: path, \"data-is-focusable\": true, onMouseOver: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData), onMouseMove: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData), onMouseOut: this_1._handleMouseOut, onFocus: function () { return _this_1._handleFocus(lineId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData); }, onBlur: this_1._handleMouseOut, onClick: this_1._onDataPointClick.bind(this_1, this_1._points[i].data[j - 1].onDataPointClick), opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01, fill: this_1._getPointFill(lineColor, circleId, j, false), stroke: lineColor, strokeWidth: strokeWidth }));\n if (j + 1 === this_1._points[i].data.length) {\n var lastCircleId_1 = \"\" + circleId + j + \"L\";\n var lastPointHidden = this_1._points[i].hideNonActiveDots && activePoint !== lastCircleId_1;\n path = this_1._getPath(this_1._xAxisScale(x2), this_1._yAxisScale(y2), lastCircleId_1, j, true, this_1._points[i].index);\n var _u = this_1._points[i].data[j], lastCirlceXCallout_1 = _u.xAxisCalloutData, lastCirlceXCalloutAccessibilityData_1 = _u.xAxisCalloutAccessibilityData;\n pointsForLine.push(React.createElement(\"path\", { id: lastCircleId_1, key: lastCircleId_1, d: path, \"data-is-focusable\": true, onMouseOver: this_1._handleHover.bind(this_1, x2, y2, verticaLineHeight, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1), onMouseMove: this_1._handleHover.bind(this_1, x2, y2, verticaLineHeight, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1), onMouseOut: this_1._handleMouseOut, onFocus: function () {\n return _this_1._handleFocus(lineId, x2, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1);\n }, onBlur: this_1._handleMouseOut, onClick: this_1._onDataPointClick.bind(this_1, this_1._points[i].data[j].onDataPointClick), opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01, fill: this_1._getPointFill(lineColor, lastCircleId_1, j, true), stroke: lineColor, strokeWidth: strokeWidth }));\n /* eslint-enable react/jsx-no-bind */\n }\n if (isLegendSelected) {\n // don't draw line if it is in a gap\n if (!isInGap) {\n var lineBorderWidth = ((_d = this_1._points[i].lineOptions) === null || _d === void 0 ? void 0 : _d.lineBorderWidth)\n ? Number.parseFloat(this_1._points[i].lineOptions.lineBorderWidth.toString())\n : 0;\n if (lineBorderWidth > 0) {\n bordersForLine.push(React.createElement(\"line\", { id: borderId, key: borderId, x1: this_1._xAxisScale(x1), y1: this_1._yAxisScale(y1), x2: this_1._xAxisScale(x2), y2: this_1._yAxisScale(y2), strokeLinecap: (_f = (_e = this_1._points[i].lineOptions) === null || _e === void 0 ? void 0 : _e.strokeLinecap) !== null && _f !== void 0 ? _f : 'round', strokeWidth: Number.parseFloat(strokeWidth.toString()) + lineBorderWidth, stroke: ((_g = this_1._points[i].lineOptions) === null || _g === void 0 ? void 0 : _g.lineBorderColor) || theme.palette.white, opacity: 1 }));\n }\n linesForLine.push(React.createElement(\"line\", { id: lineId, key: lineId, x1: this_1._xAxisScale(x1), y1: this_1._yAxisScale(y1), x2: this_1._xAxisScale(x2), y2: this_1._yAxisScale(y2), strokeWidth: strokeWidth, ref: function (e) {\n _this_1._refCallback(e, lineId);\n }, onMouseOver: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData), onMouseMove: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData), onMouseOut: this_1._handleMouseOut, stroke: lineColor, strokeLinecap: (_j = (_h = this_1._points[i].lineOptions) === null || _h === void 0 ? void 0 : _h.strokeLinecap) !== null && _j !== void 0 ? _j : 'round', strokeDasharray: (_k = this_1._points[i].lineOptions) === null || _k === void 0 ? void 0 : _k.strokeDasharray, strokeDashoffset: (_l = this_1._points[i].lineOptions) === null || _l === void 0 ? void 0 : _l.strokeDashoffset, opacity: 1, onClick: this_1._onLineClick.bind(this_1, this_1._points[i].onLineClick) }));\n }\n }\n else {\n if (!isInGap) {\n linesForLine.push(React.createElement(\"line\", { id: lineId, key: lineId, x1: this_1._xAxisScale(x1), y1: this_1._yAxisScale(y1), x2: this_1._xAxisScale(x2), y2: this_1._yAxisScale(y2), strokeWidth: strokeWidth, stroke: lineColor, strokeLinecap: (_o = (_m = this_1._points[i].lineOptions) === null || _m === void 0 ? void 0 : _m.strokeLinecap) !== null && _o !== void 0 ? _o : 'round', strokeDasharray: (_p = this_1._points[i].lineOptions) === null || _p === void 0 ? void 0 : _p.strokeDasharray, strokeDashoffset: (_q = this_1._points[i].lineOptions) === null || _q === void 0 ? void 0 : _q.strokeDashoffset, opacity: 0.1 }));\n }\n }\n };\n var this_1 = this;\n for (var j = 1; j < this._points[i].data.length; j++) {\n _loop_1(j);\n }\n lines.push.apply(lines, __spreadArray(__spreadArray(__spreadArray([], bordersForLine), linesForLine), pointsForLine));\n }\n var classNames = getClassNames(this.props.styles, {\n theme: this.props.theme,\n });\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!this.props.showXAxisLablesTooltip) {\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId).remove();\n // eslint-disable-next-line no-empty\n }\n catch (e) { }\n }\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n var xAxisElement = d3Select(xElement).call(this._xAxisScale);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId).remove();\n // eslint-disable-next-line no-empty\n }\n catch (e) { }\n var tooltipProps = {\n tooltipCls: classNames.tooltip,\n id: this._tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return lines;\n };\n LineChartBase.prototype._refCallback = function (element, legendTitle) {\n this._refArray.push({ index: legendTitle, refElement: element });\n };\n return LineChartBase;\n}(React.Component));\nexport { LineChartBase };\n//# sourceMappingURL=LineChart.base.js.map","import { styled } from '@fluentui/react/lib/Utilities';\nimport { LineChartBase } from './LineChart.base';\nimport { getStyles } from './LineChart.styles';\n// Create a LineChart variant which uses these default styles and this styled subcomponent.\nexport var LineChart = styled(LineChartBase, getStyles);\n//# sourceMappingURL=LineChart.js.map","import { __assign } from \"tslib\";\nexport var getStyles = function (props) {\n return {\n tooltip: __assign(__assign({}, props.theme.fonts.medium), { display: 'flex', flexDirection: 'column', padding: '8px', position: 'absolute', textAlign: 'center', top: '0px', background: props.theme.semanticColors.bodyBackground, borderRadius: '2px', pointerEvents: 'none' }),\n };\n};\n//# sourceMappingURL=LineChart.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getId } from '@fluentui/react/lib/Utilities';\nimport { Legends } from '../Legends/index';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { ChartHoverCard, convertToLocaleString } from '../../utilities/index';\nvar getClassNames = classNamesFunction();\nvar MultiStackedBarChartBase = /** @class */ (function (_super) {\n __extends(MultiStackedBarChartBase, _super);\n function MultiStackedBarChartBase(props) {\n var _this = _super.call(this, props) || this;\n _this._adjustProps = function () {\n var _a = _this.props, theme = _a.theme, className = _a.className, styles = _a.styles, width = _a.width, barHeight = _a.barHeight;\n _this._classNames = getClassNames(styles, {\n legendColor: _this.state.color,\n theme: theme,\n width: width,\n className: className,\n barHeight: barHeight,\n });\n };\n _this._getLegendData = function (data, hideRatio, palette) {\n var defaultPalette = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n var actions = [];\n data.forEach(function (singleChartData, index) {\n var validChartData = singleChartData.chartData.filter(function (_) { return !_.placeHolder; });\n if (validChartData.length < 3) {\n var hideNumber = hideRatio[index] === undefined ? false : hideRatio[index];\n if (hideNumber) {\n validChartData.forEach(function (point) {\n var color = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n var checkSimilarLegends = actions.filter(function (leg) { return leg.title === point.legend && leg.color === color; });\n if (checkSimilarLegends.length > 0) {\n return;\n }\n var legend = {\n title: point.legend,\n color: color,\n action: function () {\n _this._onClick(point.legend);\n },\n hoverAction: function () {\n _this._onHover(point.legend);\n },\n onMouseOutAction: function (isLegendSelected) {\n _this._onLeave(isLegendSelected);\n },\n };\n actions.push(legend);\n });\n }\n }\n else {\n validChartData.forEach(function (point) {\n var color = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n var checkSimilarLegends = actions.filter(function (leg) { return leg.title === point.legend && leg.color === color; });\n if (checkSimilarLegends.length > 0) {\n return;\n }\n var legend = {\n title: point.legend,\n color: color,\n action: function () {\n _this._onClick(point.legend);\n },\n hoverAction: function () {\n _this._onHover(point.legend);\n },\n onMouseOutAction: function (isLegendSelected) {\n _this._onLeave(isLegendSelected);\n },\n };\n actions.push(legend);\n });\n }\n });\n return (React.createElement(Legends, __assign({ legends: actions, overflowProps: _this.props.legendsOverflowProps, focusZonePropsInHoverCard: _this.props.focusZonePropsForLegendsInHoverCard, overflowText: _this.props.legendsOverflowText }, _this.props.legendProps)));\n };\n _this._handleChartMouseLeave = function () {\n _this._calloutAnchorPoint = null;\n _this.setState({\n isCalloutVisible: false,\n });\n };\n _this._closeCallout = function () {\n _this.setState({\n isCalloutVisible: false,\n });\n };\n _this._getAccessibleDataObject = function (accessibleData, role, isDataFocusable) {\n if (role === void 0) { role = 'text'; }\n if (isDataFocusable === void 0) { isDataFocusable = true; }\n accessibleData = accessibleData !== null && accessibleData !== void 0 ? accessibleData : {};\n return {\n role: role,\n 'data-is-focusable': isDataFocusable,\n 'aria-label': accessibleData.ariaLabel,\n 'aria-labelledby': accessibleData.ariaLabelledBy,\n 'aria-describedby': accessibleData.ariaDescribedBy,\n };\n };\n _this.state = {\n isCalloutVisible: false,\n refArray: [],\n selectedLegendTitle: '',\n refSelected: null,\n dataForHoverCard: 0,\n color: '',\n isLegendHovered: false,\n isLegendSelected: false,\n xCalloutValue: '',\n yCalloutValue: '',\n };\n _this._onLeave = _this._onLeave.bind(_this);\n _this._onBarLeave = _this._onBarLeave.bind(_this);\n _this._calloutId = getId('callout');\n return _this;\n }\n MultiStackedBarChartBase.prototype.render = function () {\n var _this = this;\n var _a = this.props, data = _a.data, theme = _a.theme, culture = _a.culture;\n this._adjustProps();\n var palette = theme.palette;\n var legends = this._getLegendData(data, this.props.hideRatio, palette);\n var isCalloutVisible = this.state.isCalloutVisible;\n this._classNames = getClassNames(this.props.styles, {\n legendColor: this.state.color,\n theme: theme,\n });\n var legendName = this.state.xCalloutValue ? this.state.xCalloutValue : this.state.selectedLegendTitle;\n var calloutYVal = this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard;\n var bars = data.map(function (singleChartData, index) {\n var singleChartBars = _this._createBarsAndLegends(singleChartData, _this.props.barHeight, palette, _this.props.hideRatio[index], _this.props.hideDenominator[index], _this.props.href);\n return React.createElement(\"div\", { key: index }, singleChartBars);\n });\n return (React.createElement(\"div\", { className: this._classNames.root, onMouseLeave: this._handleChartMouseLeave },\n bars,\n !this.props.hideLegend && React.createElement(\"div\", { className: this._classNames.legendContainer }, legends),\n React.createElement(Callout, __assign({ gapSpace: 15, isBeakVisible: false, target: this.state.refSelected, setInitialFocus: true, hidden: !(!this.props.hideTooltip && isCalloutVisible), directionalHint: DirectionalHint.topAutoEdge, id: this._calloutId, onDismiss: this._closeCallout, preventDismissOnLostFocus: true }, this.props.calloutProps, this._getAccessibleDataObject(this.state.callOutAccessibilityData, 'text', false)),\n React.createElement(React.Fragment, null, this.props.onRenderCalloutPerDataPoint ? (this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)) : (React.createElement(ChartHoverCard, { Legend: legendName, YValue: calloutYVal, color: this.state.color, culture: culture }))))));\n };\n MultiStackedBarChartBase.prototype._createBarsAndLegends = function (data, barHeight, palette, hideRatio, hideDenominator, href) {\n var _this = this;\n var culture = this.props.culture;\n var defaultPalette = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n // calculating starting point of each bar and it's range\n var startingPoint = [];\n var total = data.chartData.reduce(function (acc, point) { return acc + (point.data ? point.data : 0); }, 0);\n var prevPosition = 0;\n var value = 0;\n var bars = data.chartData.map(function (point, index) {\n var color = point.color\n ? point.color\n : point.placeHolder\n ? palette.neutralTertiaryAlt\n : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n var pointData = point.data ? point.data : 0;\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100 ? (pointData / total) * 100 : 0;\n startingPoint.push(prevPosition);\n var styles = _this.props.styles;\n var shouldHighlight = true;\n if (_this.state.isLegendHovered || _this.state.isLegendSelected) {\n shouldHighlight = _this.state.selectedLegendTitle === point.legend;\n }\n _this._classNames = getClassNames(styles, {\n theme: _this.props.theme,\n shouldHighlight: shouldHighlight,\n href: href,\n });\n if (value < 1) {\n return React.createElement(React.Fragment, { key: index }, \" \");\n }\n return (React.createElement(\"g\", { key: index, className: point.placeHolder ? _this._classNames.placeHolderOnHover : _this._classNames.opacityChangeOnHover, ref: function (e) {\n _this._refCallback(e, point.legend);\n }, \"data-is-focusable\": !_this.props.hideTooltip, onFocus: _this._onBarFocus.bind(_this, pointData, color, point), onBlur: _this._onBarLeave, \"aria-labelledby\": _this._calloutId, role: \"img\", \"aria-label\": \"Multi stacked bar chart\", onMouseOver: point.placeHolder ? undefined : _this._onBarHover.bind(_this, pointData, color, point), onMouseMove: point.placeHolder ? undefined : _this._onBarHover.bind(_this, pointData, color, point), onMouseLeave: point.placeHolder ? undefined : _this._onBarLeave, onClick: href ? (point.placeHolder ? undefined : _this._redirectToUrl.bind(_this, href)) : point.onClick },\n React.createElement(\"rect\", { key: index, x: startingPoint[index] + '%', y: 0, width: value + '%', height: barHeight, fill: color })));\n });\n if (data.chartData.length === 0) {\n bars.push(React.createElement(\"g\", { key: 0, className: this._classNames.noData, onClick: this._redirectToUrl.bind(this, href) },\n React.createElement(\"rect\", { key: 0, x: '0%', y: 0, width: '100%', height: barHeight, fill: palette.neutralTertiaryAlt })));\n }\n if (total === 0) {\n bars.push(React.createElement(\"g\", { key: 'empty', className: this._classNames.noData, onClick: this._redirectToUrl.bind(this, href) },\n React.createElement(\"rect\", { key: 0, x: '0%', y: 0, width: '100%', height: barHeight, fill: palette.neutralTertiaryAlt })));\n }\n var hideNumber = hideRatio === undefined ? false : hideRatio;\n var showRatio = !hideNumber && data.chartData.length === 2;\n var showNumber = !hideNumber && data.chartData.length === 1;\n var getChartData = function () { return convertToLocaleString(data.chartData[0].data ? data.chartData[0].data : 0, culture); };\n return (React.createElement(\"div\", { className: this._classNames.singleChartRoot },\n React.createElement(FocusZone, { direction: FocusZoneDirection.horizontal },\n React.createElement(\"div\", { className: this._classNames.chartTitle },\n data.chartTitle && (React.createElement(\"div\", __assign({}, this._getAccessibleDataObject(data.chartTitleAccessibilityData, culture)),\n React.createElement(\"strong\", null, data.chartTitle))),\n showRatio && (React.createElement(\"div\", __assign({}, this._getAccessibleDataObject(data.chartDataAccessibilityData)),\n React.createElement(\"strong\", null, getChartData()),\n !hideDenominator && React.createElement(\"span\", null,\n \"/\",\n convertToLocaleString(total, culture)))),\n showNumber && (React.createElement(\"div\", __assign({}, this._getAccessibleDataObject(data.chartDataAccessibilityData)),\n React.createElement(\"strong\", null, getChartData()))))),\n React.createElement(FocusZone, { direction: FocusZoneDirection.horizontal },\n React.createElement(\"div\", null,\n React.createElement(\"svg\", { className: this._classNames.chart, \"aria-label\": data === null || data === void 0 ? void 0 : data.chartTitle }, bars)))));\n };\n MultiStackedBarChartBase.prototype._onBarFocus = function (pointData, color, point) {\n var _this = this;\n if (this.state.isLegendSelected === false ||\n (this.state.isLegendSelected && this.state.selectedLegendTitle === point.legend)) {\n this.state.refArray.forEach(function (obj) {\n if (obj.legendText === point.legend) {\n _this.setState({\n refSelected: obj.refElement,\n isCalloutVisible: true,\n selectedLegendTitle: point.legend,\n dataForHoverCard: pointData,\n color: color,\n xCalloutValue: point.xAxisCalloutData,\n yCalloutValue: point.yAxisCalloutData,\n dataPointCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n });\n }\n };\n MultiStackedBarChartBase.prototype._refCallback = function (element, legendTitle) {\n this.state.refArray.push({ legendText: legendTitle, refElement: element });\n };\n MultiStackedBarChartBase.prototype._onHover = function (customMessage) {\n if (this.state.isLegendSelected === false) {\n this.setState({\n isLegendHovered: true,\n selectedLegendTitle: customMessage,\n });\n }\n };\n MultiStackedBarChartBase.prototype._onClick = function (customMessage) {\n if (this.state.isLegendSelected) {\n if (this.state.selectedLegendTitle === customMessage) {\n this.setState({\n isLegendSelected: false,\n selectedLegendTitle: customMessage,\n });\n }\n else {\n this.setState({\n selectedLegendTitle: customMessage,\n });\n }\n }\n else {\n this.setState({\n isLegendSelected: true,\n selectedLegendTitle: customMessage,\n });\n }\n };\n MultiStackedBarChartBase.prototype._onLeave = function (isLegendFocused) {\n if (!!isLegendFocused || this.state.isLegendSelected === false) {\n this.setState({\n isLegendHovered: false,\n selectedLegendTitle: '',\n isLegendSelected: isLegendFocused ? false : this.state.isLegendSelected,\n });\n }\n };\n MultiStackedBarChartBase.prototype._onBarHover = function (pointData, color, point, mouseEvent) {\n mouseEvent.persist();\n if ((this.state.isLegendSelected === false ||\n (this.state.isLegendSelected && this.state.selectedLegendTitle === point.legend)) &&\n this._calloutAnchorPoint !== point) {\n this._calloutAnchorPoint = point;\n this.setState({\n refSelected: mouseEvent,\n isCalloutVisible: true,\n selectedLegendTitle: point.legend,\n dataForHoverCard: pointData,\n color: color,\n xCalloutValue: point.xAxisCalloutData,\n yCalloutValue: point.yAxisCalloutData,\n dataPointCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n };\n MultiStackedBarChartBase.prototype._onBarLeave = function () {\n /**/\n };\n MultiStackedBarChartBase.prototype._redirectToUrl = function (href) {\n href ? (window.location.href = href) : '';\n };\n MultiStackedBarChartBase.defaultProps = {\n barHeight: 16,\n hideRatio: [],\n hideDenominator: [],\n };\n return MultiStackedBarChartBase;\n}(React.Component));\nexport { MultiStackedBarChartBase };\n//# sourceMappingURL=MultiStackedBarChart.base.js.map","import { styled } from '@fluentui/react/lib/Utilities';\nimport { MultiStackedBarChartBase } from './MultiStackedBarChart.base';\nimport { getMultiStackedBarChartStyles } from './MultiStackedBarChart.styles';\n// Create a MultiStackedBarChart variant which uses these default styles and this styled subcomponent.\nexport var MultiStackedBarChart = styled(MultiStackedBarChartBase, getMultiStackedBarChartStyles);\n//# sourceMappingURL=MultiStackedBarChart.js.map","import { __assign } from \"tslib\";\nexport var getMultiStackedBarChartStyles = function (props) {\n var className = props.className, width = props.width, barHeight = props.barHeight, shouldHighlight = props.shouldHighlight, theme = props.theme, href = props.href;\n return {\n root: [\n theme.fonts.medium,\n 'ms-StackedBarChart',\n {\n display: 'flex',\n flexDirection: 'column',\n width: width ? width : '100%',\n },\n className,\n ],\n items: {\n marginBottom: '11px',\n },\n chart: {\n width: '100%',\n height: barHeight ? barHeight : 16,\n },\n chartTitle: __assign(__assign({}, theme.fonts.small), { display: 'flex', justifyContent: 'space-between', marginBottom: '5px' }),\n singleChartRoot: {\n width: width ? width : '100%',\n display: 'flex',\n flexDirection: 'column',\n marginBottom: '16px',\n },\n opacityChangeOnHover: {\n opacity: shouldHighlight ? '' : '0.1',\n cursor: href ? 'pointer' : 'default',\n stroke: theme.palette.white,\n strokeWidth: 2,\n selectors: {\n '&:focus': {\n stroke: theme.palette.black,\n strokeWidth: '2px',\n },\n },\n },\n placeHolderOnHover: {\n opacity: shouldHighlight ? '' : '0.1',\n cursor: 'default',\n stroke: theme.palette.white,\n strokeWidth: '2',\n selectors: {\n '&:focus': {\n stroke: theme.palette.black,\n strokeWidth: '2px',\n },\n },\n },\n legendContainer: {\n margin: '5px 0px 0px 4px',\n },\n noData: {\n cursor: href ? 'pointer' : 'default',\n },\n };\n};\n//# sourceMappingURL=MultiStackedBarChart.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getId } from '@fluentui/react/lib/Utilities';\nimport { Legends } from '../Legends/index';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { ChartHoverCard, convertToLocaleString } from '../../utilities/index';\nvar getClassNames = classNamesFunction();\nvar StackedBarChartBase = /** @class */ (function (_super) {\n __extends(StackedBarChartBase, _super);\n function StackedBarChartBase(props) {\n var _this = _super.call(this, props) || this;\n _this._handleChartMouseLeave = function () {\n _this._calloutAnchorPoint = null;\n _this.setState({\n isCalloutVisible: false,\n });\n };\n _this._closeCallout = function () {\n _this.setState({\n isCalloutVisible: false,\n });\n };\n _this._getAccessibleDataObject = function (accessibleData, role, isDataFocusable) {\n if (role === void 0) { role = 'text'; }\n if (isDataFocusable === void 0) { isDataFocusable = true; }\n accessibleData = accessibleData !== null && accessibleData !== void 0 ? accessibleData : {};\n return {\n role: role,\n 'data-is-focusable': isDataFocusable,\n 'aria-label': accessibleData.ariaLabel,\n 'aria-labelledby': accessibleData.ariaLabelledBy,\n 'aria-describedby': accessibleData.ariaDescribedBy,\n };\n };\n _this.state = {\n isCalloutVisible: false,\n selectedLegendTitle: '',\n refSelected: null,\n dataForHoverCard: 0,\n color: '',\n isLegendHovered: false,\n isLegendSelected: false,\n xCalloutValue: '',\n yCalloutValue: '',\n };\n _this._refArray = [];\n _this._onLeave = _this._onLeave.bind(_this);\n _this._refCallback = _this._refCallback.bind(_this);\n _this._onBarLeave = _this._onBarLeave.bind(_this);\n _this._calloutId = getId('callout');\n return _this;\n }\n StackedBarChartBase.prototype.render = function () {\n this._adjustProps();\n var _a = this.props, data = _a.data, benchmarkData = _a.benchmarkData, targetData = _a.targetData, hideNumberDisplay = _a.hideNumberDisplay, ignoreFixStyle = _a.ignoreFixStyle, culture = _a.culture;\n var palette = this.props.theme.palette;\n var barHeight = ignoreFixStyle || data.chartData.length > 2 ? this.props.barHeight : 8;\n if (benchmarkData) {\n // benchmark color is used to render color for benchmark triangle and benchmark legend\n benchmarkData.color = benchmarkData.color || palette.neutralTertiary;\n }\n if (targetData) {\n // target color is used to render color for target triangle and target legend\n targetData.color = targetData.color || palette.neutralSecondary;\n }\n var bars = this._createBarsAndLegends(data, barHeight, palette, benchmarkData, targetData);\n var showRatio = hideNumberDisplay === false && !ignoreFixStyle && data.chartData.length === 2;\n var showNumber = hideNumberDisplay === false && !ignoreFixStyle && data.chartData.length === 1;\n var total = data.chartData.reduce(function (acc, value) { return acc + (value.data ? value.data : 0); }, 0);\n var benchmarkRatio = 0;\n if (benchmarkData && total) {\n benchmarkRatio = (benchmarkData.data / total) * 100;\n }\n var targetRatio = 0;\n if (targetData && total) {\n targetRatio = (targetData.data / total) * 100;\n }\n var showLegend = this.props.hideLegend === false && (ignoreFixStyle || data.chartData.length > 2);\n this._classNames = getClassNames(this.props.styles, {\n legendColor: this.state.color,\n theme: this.props.theme,\n benchmarkColor: benchmarkData ? benchmarkData.color : '',\n benchmarkRatio: benchmarkRatio,\n targetColor: targetData ? targetData.color : '',\n targetRatio: targetRatio,\n });\n var getChartData = function () { return convertToLocaleString(data.chartData[0].data ? data.chartData[0].data : 0, culture); };\n return (React.createElement(\"div\", { className: this._classNames.root, onMouseLeave: this._handleChartMouseLeave },\n React.createElement(FocusZone, { direction: FocusZoneDirection.horizontal },\n React.createElement(\"div\", { className: this._classNames.chartTitle },\n data.chartTitle && (React.createElement(\"div\", __assign({}, this._getAccessibleDataObject(data.chartTitleAccessibilityData)),\n React.createElement(\"strong\", null, data.chartTitle))),\n showRatio && (React.createElement(\"div\", __assign({}, this._getAccessibleDataObject(data.chartDataAccessibilityData)),\n React.createElement(\"span\", { className: this._classNames.ratioNumerator }, getChartData()),\n !this.props.hideDenominator && (React.createElement(\"span\", null,\n \"/\",\n React.createElement(\"span\", { className: this._classNames.ratioDenominator }, convertToLocaleString(total, culture)))))),\n showNumber && (React.createElement(\"div\", __assign({}, this._getAccessibleDataObject(data.chartDataAccessibilityData)),\n React.createElement(\"strong\", null, getChartData())))),\n (benchmarkData || targetData) && (React.createElement(\"div\", { className: this._classNames.benchmarkContainer },\n benchmarkData && React.createElement(\"div\", { className: this._classNames.benchmark, role: \"text\" }),\n targetData && React.createElement(\"div\", { className: this._classNames.target, role: \"text\" })))),\n React.createElement(FocusZone, { direction: FocusZoneDirection.horizontal },\n React.createElement(\"div\", null,\n React.createElement(\"svg\", { className: this._classNames.chart, \"aria-label\": data === null || data === void 0 ? void 0 : data.chartTitle },\n React.createElement(\"g\", null, bars[0]),\n React.createElement(Callout, __assign({ gapSpace: 15, isBeakVisible: false, target: this.state.refSelected, setInitialFocus: true, hidden: !(!this.props.hideTooltip && this.state.isCalloutVisible), directionalHint: DirectionalHint.topAutoEdge, id: this._calloutId, onDismiss: this._closeCallout, preventDismissOnLostFocus: true }, this.props.calloutProps, this._getAccessibleDataObject(this.state.callOutAccessibilityData, 'text', false)),\n React.createElement(React.Fragment, null, this.props.onRenderCalloutPerDataPoint ? (this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)) : (React.createElement(ChartHoverCard, { Legend: this.state.xCalloutValue ? this.state.xCalloutValue : this.state.selectedLegendTitle, YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard, color: this.state.color, culture: culture }))))))),\n showLegend && React.createElement(\"div\", { className: this._classNames.legendContainer }, bars[1])));\n };\n StackedBarChartBase.prototype._adjustProps = function () {\n this._classNames = getClassNames(this.props.styles, {\n legendColor: this.state.color,\n theme: this.props.theme,\n width: this.props.width,\n barHeight: this.props.barHeight,\n className: this.props.className,\n });\n };\n StackedBarChartBase.prototype._createBarsAndLegends = function (data, barHeight, palette, benchmarkData, targetData) {\n var _this = this;\n var defaultPalette = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n var legendDataItems = [];\n // calculating starting point of each bar and it's range\n var startingPoint = [];\n var total = data.chartData.reduce(function (acc, point) { return acc + (point.data ? point.data : 0); }, 0);\n var prevPosition = 0;\n var value = 0;\n var bars = data.chartData.map(function (point, index) {\n var color = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n var pointData = point.data ? point.data : 0;\n // mapping data to the format Legends component needs\n var legend = {\n title: point.legend,\n color: color,\n action: total > 0\n ? function () {\n _this._onClick(point.legend);\n }\n : undefined,\n hoverAction: total > 0\n ? function () {\n _this._onHover(point.legend);\n }\n : undefined,\n onMouseOutAction: total > 0\n ? function (isLegendFocused) {\n _this._onLeave(isLegendFocused);\n }\n : undefined,\n };\n if (!point.placeHolder) {\n legendDataItems.push(legend);\n }\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100;\n if (value < 1 && value !== 0) {\n value = 1;\n }\n else if (value > 99 && value !== 100) {\n value = 99;\n }\n startingPoint.push(prevPosition);\n var styles = _this.props.styles;\n var shouldHighlight = true;\n if (_this.state.isLegendHovered || _this.state.isLegendSelected) {\n shouldHighlight = _this.state.selectedLegendTitle === point.legend;\n }\n _this._classNames = getClassNames(styles, {\n theme: _this.props.theme,\n shouldHighlight: shouldHighlight,\n href: _this.props.href,\n });\n if (value < 1) {\n return React.createElement(React.Fragment, { key: index }, \" \");\n }\n return (React.createElement(\"g\", { key: index, className: _this._classNames.opacityChangeOnHover, ref: function (e) {\n _this._refCallback(e, legend.title);\n }, \"data-is-focusable\": !_this.props.hideTooltip, onFocus: _this._onBarFocus.bind(_this, pointData, color, point), onBlur: _this._onBarLeave, \"aria-label\": \"Stacked bar chart\", role: \"img\", \"aria-labelledby\": _this._calloutId, onMouseOver: _this._onBarHover.bind(_this, pointData, color, point), onMouseMove: _this._onBarHover.bind(_this, pointData, color, point), onMouseLeave: _this._onBarLeave, pointerEvents: \"all\", onClick: _this.props.href ? _this._redirectToUrl.bind(_this, _this.props.href) : point.onClick },\n React.createElement(\"rect\", { key: index, x: startingPoint[index] + '%', y: 0, width: value + '%', height: barHeight, fill: color })));\n });\n // add benchmark legends\n this._addLegend(legendDataItems, benchmarkData);\n this._addLegend(legendDataItems, targetData);\n var legends = (React.createElement(Legends, __assign({ legends: legendDataItems, enabledWrapLines: this.props.enabledLegendsWrapLines, overflowProps: this.props.legendsOverflowProps, focusZonePropsInHoverCard: this.props.focusZonePropsForLegendsInHoverCard, overflowText: this.props.legendsOverflowText }, this.props.legendProps)));\n return [\n total === 0\n ? [\n this._generateEmptyBar(barHeight, this.props.barBackgroundColor ? this.props.barBackgroundColor : palette.neutralTertiary),\n ]\n : bars,\n legends,\n ];\n };\n StackedBarChartBase.prototype._onBarFocus = function (pointData, color, point) {\n var _this = this;\n if (this.state.isLegendSelected === false ||\n (this.state.isLegendSelected && this.state.selectedLegendTitle === point.legend)) {\n this._refArray.forEach(function (obj) {\n if (obj.index === point.legend) {\n _this.setState({\n refSelected: obj.refElement,\n isCalloutVisible: true,\n selectedLegendTitle: point.legend,\n dataForHoverCard: pointData,\n color: color,\n xCalloutValue: point.xAxisCalloutData,\n yCalloutValue: point.yAxisCalloutData,\n dataPointCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n });\n }\n };\n StackedBarChartBase.prototype._addLegend = function (legendDataItems, data) {\n if (data) {\n var legend = {\n title: data.legend,\n color: data.color,\n shape: 'triangle',\n };\n legendDataItems.push(legend);\n }\n };\n StackedBarChartBase.prototype._generateEmptyBar = function (barHeight, color) {\n return (React.createElement(\"g\", { key: 0, className: this._classNames.opacityChangeOnHover },\n React.createElement(\"rect\", { key: 0, x: '0%', y: 0, width: '100%', height: barHeight, fill: color })));\n };\n StackedBarChartBase.prototype._refCallback = function (element, legendTitle) {\n this._refArray.push({ index: legendTitle, refElement: element });\n };\n StackedBarChartBase.prototype._onClick = function (customMessage) {\n if (this.state.isLegendSelected) {\n if (this.state.selectedLegendTitle === customMessage) {\n this.setState({\n isLegendSelected: false,\n selectedLegendTitle: customMessage,\n isLegendHovered: true,\n });\n }\n else {\n this.setState({\n selectedLegendTitle: customMessage,\n });\n }\n }\n else {\n this.setState({\n isLegendSelected: true,\n selectedLegendTitle: customMessage,\n });\n }\n };\n StackedBarChartBase.prototype._onHover = function (customMessage) {\n if (this.state.isLegendSelected === false) {\n this.setState({\n isLegendHovered: true,\n selectedLegendTitle: customMessage,\n });\n }\n };\n StackedBarChartBase.prototype._onLeave = function (isLegendFocused) {\n if (!!isLegendFocused || this.state.isLegendSelected === false) {\n this.setState({\n isLegendHovered: false,\n selectedLegendTitle: '',\n isLegendSelected: isLegendFocused ? false : this.state.isLegendSelected,\n });\n }\n };\n StackedBarChartBase.prototype._onBarHover = function (pointData, color, point, mouseEvent) {\n mouseEvent.persist();\n if ((this.state.isLegendSelected === false ||\n (this.state.isLegendSelected && this.state.selectedLegendTitle === point.legend)) &&\n this._calloutAnchorPoint !== point) {\n this._calloutAnchorPoint = point;\n this.setState({\n refSelected: mouseEvent,\n isCalloutVisible: true,\n selectedLegendTitle: point.legend,\n dataForHoverCard: pointData,\n color: color,\n xCalloutValue: point.xAxisCalloutData,\n yCalloutValue: point.yAxisCalloutData,\n dataPointCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n };\n StackedBarChartBase.prototype._onBarLeave = function () {\n /**/\n };\n StackedBarChartBase.prototype._redirectToUrl = function (href) {\n href ? (window.location.href = href) : '';\n };\n StackedBarChartBase.defaultProps = {\n barHeight: 16,\n hideNumberDisplay: false,\n hideLegend: false,\n ignoreFixStyle: false,\n };\n return StackedBarChartBase;\n}(React.Component));\nexport { StackedBarChartBase };\n//# sourceMappingURL=StackedBarChart.base.js.map","import { styled } from '@fluentui/react/lib/Utilities';\nimport { StackedBarChartBase } from './StackedBarChart.base';\nimport { getStyles } from './StackedBarChart.styles';\n// Create a StackedBarChart variant which uses these default styles and this styled subcomponent.\nexport var StackedBarChart = styled(StackedBarChartBase, getStyles);\n//# sourceMappingURL=StackedBarChart.js.map","import { __assign } from \"tslib\";\nimport { FontSizes, FontWeights, HighContrastSelector } from '@fluentui/react/lib/Styling';\nexport var getStyles = function (props) {\n var _a, _b;\n var className = props.className, width = props.width, barHeight = props.barHeight, shouldHighlight = props.shouldHighlight, theme = props.theme, href = props.href, benchmarkColor = props.benchmarkColor, benchmarkRatio = props.benchmarkRatio, targetColor = props.targetColor, targetRatio = props.targetRatio;\n return {\n root: [\n theme.fonts.medium,\n 'ms-StackedBarChart',\n {\n width: width ? width : '100%',\n display: 'flex',\n flexDirection: 'column',\n },\n className,\n ],\n chart: {\n width: '100%',\n height: barHeight ? barHeight : 16,\n marginBottom: '12px',\n },\n chartTitle: __assign(__assign({}, theme.fonts.small), { display: 'flex', justifyContent: 'space-between', marginBottom: '5px' }),\n legendContainer: {\n margin: '4px 0px 0px 4px',\n },\n opacityChangeOnHover: {\n opacity: shouldHighlight ? '' : '0.1',\n cursor: href ? 'pointer' : 'default',\n stroke: theme.palette.white,\n strokeWidth: 2,\n selectors: {\n '&:focus': {\n stroke: theme.palette.black,\n strokeWidth: '2px',\n },\n },\n },\n ratioNumerator: {\n fontSize: FontSizes.small,\n fontWeight: FontWeights.semibold,\n color: theme.palette.black,\n },\n ratioDenominator: {\n fontSize: FontSizes.small,\n color: theme.palette.black,\n opacity: '0.6',\n },\n benchmarkContainer: {\n position: 'relative',\n height: '12px',\n },\n benchmark: {\n position: 'absolute',\n left: 'calc(' + benchmarkRatio + '% - 4.5px)',\n width: '0',\n height: '0',\n borderLeft: '4.5px solid transparent',\n borderRight: '4.5px solid transparent',\n borderTop: '7.8px solid',\n borderTopColor: benchmarkColor,\n marginBottom: '4px',\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n border: '0px',\n height: '7.8px',\n width: '7.8px',\n clipPath: 'polygon(50% 100%, 0 0, 100% 0)',\n backgroundImage: \"linear-gradient(to right, \" + benchmarkColor + \", \" + benchmarkColor + \")\",\n },\n _a),\n },\n target: {\n position: 'absolute',\n left: 'calc(' + targetRatio + '% - 4.5px)',\n width: '0',\n height: '0',\n borderLeft: '4.5px solid transparent',\n borderRight: '4.5px solid transparent',\n borderTop: '7.8px solid',\n borderTopColor: targetColor,\n marginBottom: '4px',\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n border: '0px',\n height: '7.8px',\n width: '7.8px',\n clipPath: 'polygon(50% 100%, 0 0, 100% 0)',\n backgroundImage: \"linear-gradient(to right, \" + targetColor + \", \" + targetColor + \")\",\n },\n _b),\n },\n };\n};\n//# sourceMappingURL=StackedBarChart.styles.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction } from '@fluentui/react';\nimport { convertToLocaleString } from '../index';\nvar getClassNames = classNamesFunction();\nvar ChartHoverCardBase = /** @class */ (function (_super) {\n __extends(ChartHoverCardBase, _super);\n function ChartHoverCardBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChartHoverCardBase.prototype.render = function () {\n var _a = this.props, color = _a.color, Legend = _a.Legend, XValue = _a.XValue, YValue = _a.YValue, styles = _a.styles, theme = _a.theme, ratio = _a.ratio, descriptionMessage = _a.descriptionMessage, culture = _a.culture;\n this._classNames = getClassNames(styles, {\n theme: theme,\n color: color,\n XValue: XValue,\n isRatioPresent: !!ratio,\n });\n return (React.createElement(\"div\", { className: this._classNames.calloutContentRoot },\n React.createElement(\"div\", { className: this._classNames.calloutDateTimeContainer },\n React.createElement(\"div\", { className: this._classNames.calloutContentX },\n XValue,\n \" \")),\n React.createElement(\"div\", { className: this._classNames.calloutInfoContainer },\n React.createElement(\"div\", { className: this._classNames.calloutBlockContainer },\n React.createElement(\"div\", { className: this._classNames.calloutlegendText }, convertToLocaleString(Legend, culture)),\n React.createElement(\"div\", { className: this._classNames.calloutContentY }, convertToLocaleString(YValue, culture))),\n !!ratio && (React.createElement(\"div\", { className: this._classNames.ratio },\n React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: this._classNames.numerator }, convertToLocaleString(ratio[0], culture)),\n \"/\",\n React.createElement(\"span\", { className: this._classNames.denominator }, convertToLocaleString(ratio[1], culture)))))),\n !!descriptionMessage && React.createElement(\"div\", { className: this._classNames.descriptionMessage }, descriptionMessage)));\n };\n return ChartHoverCardBase;\n}(React.Component));\nexport { ChartHoverCardBase };\n//# sourceMappingURL=ChartHoverCard.base.js.map","import { styled } from '../../Utilities';\nimport { ChartHoverCardBase } from './ChartHoverCard.base';\nimport { getChartHoverCardStyles } from './ChartHoverCard.styles';\n// Create a ChartHoverCard variant which uses these default styles and this styled subcomponent.\nexport var ChartHoverCard = styled(ChartHoverCardBase, getChartHoverCardStyles);\n//# sourceMappingURL=ChartHoverCard.js.map","import { FontWeights } from '@fluentui/react/lib/Styling';\nexport var getChartHoverCardStyles = function (props) {\n var color = props.color, XValue = props.XValue, theme = props.theme, _a = props.isRatioPresent, isRatioPresent = _a === void 0 ? false : _a;\n return {\n calloutContentRoot: [\n {\n display: 'grid',\n overflow: 'hidden',\n padding: '11px 16px 10px 16px',\n backgroundColor: theme.semanticColors.bodyBackground,\n backgroundBlendMode: 'normal, luminosity',\n },\n ],\n calloutDateTimeContainer: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n calloutContentX: [\n theme.fonts.small,\n {\n lineHeight: '16px',\n opacity: '0.8',\n color: theme.semanticColors.bodySubtext,\n },\n ],\n calloutBlockContainer: [\n theme.fonts.xxLarge,\n {\n marginTop: XValue ? '13px' : 'unset',\n paddingLeft: '8px',\n lineHeight: '22px',\n color: theme.semanticColors.bodyText,\n borderLeft: \"4px solid \" + color,\n },\n ],\n calloutlegendText: [\n theme.fonts.small,\n {\n lineHeight: '16px',\n color: theme.semanticColors.bodyText,\n },\n ],\n calloutContentY: [\n theme.fonts.xxLarge,\n {\n color: color ? color : theme.semanticColors.bodyText,\n fontWeight: 'bold',\n lineHeight: '36px',\n },\n ],\n calloutInfoContainer: [\n isRatioPresent && {\n display: 'flex',\n alignItems: 'flex-end',\n },\n ],\n ratio: [\n theme.fonts.small,\n {\n marginLeft: '6px',\n color: theme.semanticColors.bodyText,\n },\n ],\n numerator: {\n fontWeight: FontWeights.bold,\n },\n denominator: {\n fontWeight: FontWeights.semibold,\n },\n descriptionMessage: [\n theme.fonts.small,\n {\n color: theme.semanticColors.bodyText,\n marginTop: '10px',\n paddingTop: '10px',\n borderTop: \"1px solid \" + theme.semanticColors.menuDivider,\n },\n ],\n };\n};\n//# sourceMappingURL=ChartHoverCard.styles.js.map","export var slice = Array.prototype.slice;\n","export default function(x) {\n return x;\n}\n","import {slice} from \"./array\";\nimport identity from \"./identity\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + (x + 0.5) + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + (y + 0.5) + \")\";\n}\n\nfunction number(scale) {\n return function(d) {\n return +scale(d);\n };\n}\n\nfunction center(scale) {\n var offset = Math.max(0, scale.bandwidth() - 1) / 2; // Adjust for 0.5px offset.\n if (scale.round()) offset = Math.round(offset);\n return function(d) {\n return +scale(d) + offset;\n };\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + 0.5,\n range1 = +range[range.length - 1] + 0.5,\n position = (scale.bandwidth ? center : number)(scale.copy()),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"#000\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"#000\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"#000\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform(p && isFinite(p = p(d)) ? p : position(d)); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient == right\n ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H0.5V\" + range1 + \"H\" + k * tickSizeOuter\n : \"M\" + range0 + \",\" + k * tickSizeOuter + \"V0.5H\" + range1 + \"V\" + k * tickSizeOuter);\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d)); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = slice.call(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n}\n","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\nexport default map;\n","import {default as map, prefix} from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\nexport default set;\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","import {map} from \"d3-collection\";\nimport {slice} from \"./array\";\n\nexport var implicit = {name: \"implicit\"};\n\nexport default function ordinal(range) {\n var index = map(),\n domain = [],\n unknown = implicit;\n\n range = range == null ? [] : slice.call(range);\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = map();\n var i = -1, n = _.length, d, key;\n while (++i < n) if (!index.has(key = (d = _[i]) + \"\")) index.set(key, domain.push(d));\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport ordinal from \"./ordinal\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n range = [0, 1],\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = range[1] < range[0],\n start = range[reverse - 0],\n stop = range[1 - reverse];\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = [+_[0], +_[1]], round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band()\n .domain(domain())\n .range(range)\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return rescale();\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band().paddingInner(1));\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateRound} from \"d3-interpolate\";\nimport {map, slice} from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\n\nvar unit = [0, 1];\n\nexport function deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(b);\n}\n\nfunction deinterpolateClamp(deinterpolate) {\n return function(a, b) {\n var d = deinterpolate(a = +a, b = +b);\n return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };\n };\n}\n\nfunction reinterpolateClamp(reinterpolate) {\n return function(a, b) {\n var r = reinterpolate(a = +a, b = +b);\n return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };\n };\n}\n\nfunction bimap(domain, range, deinterpolate, reinterpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);\n else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, deinterpolate, reinterpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = deinterpolate(domain[i], domain[i + 1]);\n r[i] = reinterpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp());\n}\n\n// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].\nexport default function continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n clamp = false,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);\n }\n\n scale.invert = function(y) {\n return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = map.call(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, rescale()) : clamp;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n return rescale();\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": formatDecimal,\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"-\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function(domain, count, specifier) {\n var start = domain[0],\n stop = domain[domain.length - 1],\n step = tickStep(start, stop, count == null ? 10 : count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport tickFormat from \"./tickFormat\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return tickFormat(domain(), count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous(deinterpolate, reinterpolate);\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n return linearish(scale);\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {bisector, tickStep} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport {map} from \"./array\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport nice from \"./nice\";\n\nvar durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = continuous(deinterpolate, reinterpolate),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n var tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n function tickInterval(interval, start, stop, step) {\n if (interval == null) interval = 10;\n\n // If a desired tick count is specified, pick a reasonable tick interval\n // based on the extent of the domain and a rough estimate of tick size.\n // Otherwise, assume interval is already a time interval and use it.\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = bisector(function(i) { return i[2]; }).right(tickIntervals, target);\n if (i === tickIntervals.length) {\n step = tickStep(start / durationYear, stop / durationYear, interval);\n interval = year;\n } else if (i) {\n i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n step = i[1];\n interval = i[0];\n } else {\n step = Math.max(tickStep(start, stop, interval), 1);\n interval = millisecond;\n }\n }\n\n return step == null ? interval : interval.every(step);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(map.call(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval, step) {\n var d = domain(),\n t0 = d[0],\n t1 = d[d.length - 1],\n r = t1 < t0,\n t;\n if (r) t = t0, t0 = t1, t1 = t;\n t = tickInterval(interval, t0, t1, step);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n return r ? t.reverse() : t;\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval, step) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1], step))\n ? domain(nice(d, interval))\n : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\n\nexport default function() {\n return calendar(timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);\n}\n","export default function(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","var _a;\nimport { __assign, __spreadArray } from \"tslib\";\nimport { axisRight as d3AxisRight, axisBottom as d3AxisBottom, axisLeft as d3AxisLeft } from 'd3-axis';\nimport { max as d3Max, min as d3Min } from 'd3-array';\nimport { scaleLinear as d3ScaleLinear, scaleTime as d3ScaleTime, scaleBand as d3ScaleBand } from 'd3-scale';\nimport { select as d3Select, event as d3Event, selectAll as d3SelectAll } from 'd3-selection';\nimport { format as d3Format } from 'd3-format';\nimport * as d3TimeFormat from 'd3-time-format';\nexport var ChartTypes;\n(function (ChartTypes) {\n ChartTypes[ChartTypes[\"AreaChart\"] = 0] = \"AreaChart\";\n ChartTypes[ChartTypes[\"LineChart\"] = 1] = \"LineChart\";\n ChartTypes[ChartTypes[\"VerticalBarChart\"] = 2] = \"VerticalBarChart\";\n ChartTypes[ChartTypes[\"VerticalStackedBarChart\"] = 3] = \"VerticalStackedBarChart\";\n ChartTypes[ChartTypes[\"GroupedVerticalBarChart\"] = 4] = \"GroupedVerticalBarChart\";\n ChartTypes[ChartTypes[\"HeatMapChart\"] = 5] = \"HeatMapChart\";\n})(ChartTypes || (ChartTypes = {}));\nexport var XAxisTypes;\n(function (XAxisTypes) {\n XAxisTypes[XAxisTypes[\"NumericAxis\"] = 0] = \"NumericAxis\";\n XAxisTypes[XAxisTypes[\"DateAxis\"] = 1] = \"DateAxis\";\n XAxisTypes[XAxisTypes[\"StringAxis\"] = 2] = \"StringAxis\";\n})(XAxisTypes || (XAxisTypes = {}));\nexport var YAxisType;\n(function (YAxisType) {\n YAxisType[YAxisType[\"NumericAxis\"] = 0] = \"NumericAxis\";\n YAxisType[YAxisType[\"DateAxis\"] = 1] = \"DateAxis\";\n YAxisType[YAxisType[\"StringAxis\"] = 2] = \"StringAxis\";\n})(YAxisType || (YAxisType = {}));\n/**\n * Create Numeric X axis\n * @export\n * @param {IXAxisParams} xAxisParams\n */\nexport function createNumericXAxis(xAxisParams, culture) {\n var domainNRangeValues = xAxisParams.domainNRangeValues, _a = xAxisParams.showRoundOffXTickValues, showRoundOffXTickValues = _a === void 0 ? false : _a, _b = xAxisParams.xAxistickSize, xAxistickSize = _b === void 0 ? 6 : _b, _c = xAxisParams.tickPadding, tickPadding = _c === void 0 ? 10 : _c, _d = xAxisParams.xAxisCount, xAxisCount = _d === void 0 ? 6 : _d, xAxisElement = xAxisParams.xAxisElement;\n var xAxisScale = d3ScaleLinear()\n .domain([domainNRangeValues.dStartValue, domainNRangeValues.dEndValue])\n .range([domainNRangeValues.rStartValue, domainNRangeValues.rEndValue]);\n showRoundOffXTickValues && xAxisScale.nice();\n var xAxis = d3AxisBottom(xAxisScale)\n .tickSize(xAxistickSize)\n .tickPadding(tickPadding)\n .ticks(xAxisCount)\n .tickSizeOuter(0)\n .tickFormat(function (domainValue, index) {\n var xAxisValue = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();\n return convertToLocaleString(xAxisValue, culture);\n });\n if (xAxisElement) {\n d3Select(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');\n }\n return xAxisScale;\n}\n/**\n * Creating Date x axis of the Chart\n * @export\n * @param {IXAxisParams} xAxisParams\n * @param {ITickParams} tickParams\n */\nexport function createDateXAxis(xAxisParams, tickParams) {\n var domainNRangeValues = xAxisParams.domainNRangeValues, xAxisElement = xAxisParams.xAxisElement, _a = xAxisParams.tickPadding, tickPadding = _a === void 0 ? 6 : _a, _b = xAxisParams.xAxistickSize, xAxistickSize = _b === void 0 ? 6 : _b, _c = xAxisParams.xAxisCount, xAxisCount = _c === void 0 ? 6 : _c;\n var xAxisScale = d3ScaleTime()\n .domain([domainNRangeValues.dStartValue, domainNRangeValues.dEndValue])\n .range([domainNRangeValues.rStartValue, domainNRangeValues.rEndValue]);\n var xAxis = d3AxisBottom(xAxisScale).tickSize(xAxistickSize).tickPadding(tickPadding).ticks(xAxisCount);\n tickParams.tickValues ? xAxis.tickValues(tickParams.tickValues) : '';\n tickParams.tickFormat ? xAxis.tickFormat(d3TimeFormat.timeFormat(tickParams.tickFormat)) : '';\n if (xAxisElement) {\n d3Select(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');\n }\n return xAxisScale;\n}\n/**\n * Create String X axis\n * Currently using for only Vetical stacked bar chart and grouped vertical bar chart\n * @export\n * @param {IXAxisParams} xAxisParams\n * @param {ITickParams} tickParams\n * @param {string[]} dataset\n * @returns\n */\nexport function createStringXAxis(xAxisParams, tickParams, dataset, culture) {\n var domainNRangeValues = xAxisParams.domainNRangeValues, _a = xAxisParams.xAxisCount, xAxisCount = _a === void 0 ? 6 : _a, _b = xAxisParams.xAxistickSize, xAxistickSize = _b === void 0 ? 6 : _b, _c = xAxisParams.tickPadding, tickPadding = _c === void 0 ? 10 : _c, _d = xAxisParams.xAxisPadding, xAxisPadding = _d === void 0 ? 0.1 : _d;\n var xAxisScale = d3ScaleBand()\n .domain(dataset)\n .range([domainNRangeValues.rStartValue, domainNRangeValues.rEndValue])\n .padding(xAxisPadding);\n var xAxis = d3AxisBottom(xAxisScale)\n .tickSize(xAxistickSize)\n .tickPadding(tickPadding)\n .ticks(xAxisCount)\n .tickFormat(function (x, index) {\n return convertToLocaleString(dataset[index], culture);\n });\n if (xAxisParams.xAxisElement) {\n d3Select(xAxisParams.xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');\n }\n return xAxisScale;\n}\n/**\n * This method used for creating data points for the y axis.\n * @export\n * @param {number} maxVal\n * @param {number} minVal\n * @param {number} splitInto\n * @returns {number[]}\n */\nexport function prepareDatapoints(maxVal, minVal, splitInto) {\n var val = Math.ceil((maxVal - minVal) / splitInto);\n var dataPointsArray = [minVal, minVal + val];\n while (dataPointsArray[dataPointsArray.length - 1] < maxVal) {\n dataPointsArray.push(dataPointsArray[dataPointsArray.length - 1] + val);\n }\n return dataPointsArray;\n}\n/**\n * Creating Numeric Y axis of the chart\n * @export\n * @param {IYAxisParams} yAxisParams\n * @param {boolean} isRtl\n */\nexport function createYAxis(yAxisParams, isRtl, axisData) {\n var _a = yAxisParams.yMinMaxValues, yMinMaxValues = _a === void 0 ? { startValue: 0, endValue: 0 } : _a, _b = yAxisParams.yAxisElement, yAxisElement = _b === void 0 ? null : _b, _c = yAxisParams.yMaxValue, yMaxValue = _c === void 0 ? 0 : _c, _d = yAxisParams.yMinValue, yMinValue = _d === void 0 ? 0 : _d, containerHeight = yAxisParams.containerHeight, containerWidth = yAxisParams.containerWidth, margins = yAxisParams.margins, _e = yAxisParams.tickPadding, tickPadding = _e === void 0 ? 12 : _e, _f = yAxisParams.maxOfYVal, maxOfYVal = _f === void 0 ? 0 : _f, yAxisTickFormat = yAxisParams.yAxisTickFormat, _g = yAxisParams.yAxisTickCount, yAxisTickCount = _g === void 0 ? 4 : _g, eventAnnotationProps = yAxisParams.eventAnnotationProps, eventLabelHeight = yAxisParams.eventLabelHeight;\n // maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)\n var tempVal = maxOfYVal || yMinMaxValues.endValue;\n var finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;\n var finalYmin = yMinMaxValues.startValue < yMinValue ? 0 : yMinValue;\n var domainValues = prepareDatapoints(finalYmax, finalYmin, yAxisTickCount);\n var yAxisScale = d3ScaleLinear()\n .domain([finalYmin, domainValues[domainValues.length - 1]])\n .range([containerHeight - margins.bottom, margins.top + (eventAnnotationProps ? eventLabelHeight : 0)]);\n var axis = isRtl ? d3AxisRight(yAxisScale) : d3AxisLeft(yAxisScale);\n var yAxis = axis\n .tickPadding(tickPadding)\n .tickValues(domainValues)\n .tickSizeInner(-(containerWidth - margins.left - margins.right));\n yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat(d3Format('.2~s'));\n yAxisElement ? d3Select(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true') : '';\n axisData.yAxisDomainValues = domainValues;\n return yAxisScale;\n}\n/**\n * Creating String Y axis of the chart\n * @param yAxisParams\n * @param dataPoints\n * @param isRtl\n */\nexport var createStringYAxis = function (yAxisParams, dataPoints, isRtl) {\n var containerHeight = yAxisParams.containerHeight, _a = yAxisParams.tickPadding, tickPadding = _a === void 0 ? 12 : _a, margins = yAxisParams.margins, yAxisTickFormat = yAxisParams.yAxisTickFormat, yAxisElement = yAxisParams.yAxisElement, _b = yAxisParams.yAxisPadding, yAxisPadding = _b === void 0 ? 0 : _b;\n var yAxisScale = d3ScaleBand()\n .domain(dataPoints)\n .range([containerHeight - margins.bottom, margins.top])\n .padding(yAxisPadding);\n var axis = isRtl ? d3AxisRight(yAxisScale) : d3AxisLeft(yAxisScale);\n var yAxis = axis.tickPadding(tickPadding).tickValues(dataPoints).tickSize(0);\n if (yAxisTickFormat) {\n yAxis.tickFormat(yAxisTickFormat);\n }\n yAxisElement ? d3Select(yAxisElement).call(yAxis).selectAll('text') : '';\n return yAxisScale;\n};\nexport function calloutData(values) {\n var combinedResult = [];\n values.forEach(function (element) {\n var elements = element.data\n .filter(function (ele) { return !ele.hideCallout; })\n .map(function (ele) {\n return __assign(__assign({ legend: element.legend }, ele), { color: element.color, index: element.index });\n });\n combinedResult = combinedResult.concat(elements);\n });\n var result = [];\n combinedResult.forEach(function (e1, index) {\n e1.x = e1.x instanceof Date ? e1.x.getTime() : e1.x;\n var filteredValues = [\n {\n legend: e1.legend,\n y: e1.y,\n color: e1.color,\n yAxisCalloutData: e1.yAxisCalloutData,\n callOutAccessibilityData: e1.callOutAccessibilityData,\n index: e1.index,\n },\n ];\n combinedResult.slice(index + 1).forEach(function (e2) {\n e2.x = e2.x instanceof Date ? e2.x.getTime() : e2.x;\n if (e1.x === e2.x) {\n filteredValues.push({\n legend: e2.legend,\n y: e2.y,\n color: e2.color,\n yAxisCalloutData: e2.yAxisCalloutData,\n callOutAccessibilityData: e2.callOutAccessibilityData,\n index: e2.index,\n });\n }\n });\n result.push({ x: e1.x, values: filteredValues });\n });\n return getUnique(result, 'x');\n}\nexport function getUnique(arr, comp) {\n var unique = arr\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(function (e) { return e[comp]; })\n // store the keys of the unique objects\n .map(function (e, i, final) { return final.indexOf(e) === i && i; })\n // eliminate the dead keys & store unique objects\n .filter(function (e) { return arr[e]; })\n .map(function (e) { return arr[e]; });\n return unique;\n}\n/**\n * This function takes two paramerter\n * 1. an array of strings\n * 2. a string value\n * if the value is not present in the given array then it will return the new\n * array by appending the value to the present arrray.\n *\n * if the value is already present in the given array then it will return the new\n * array by deleteing the value from the the array\n * @param array\n * @param value\n */\nexport function silceOrAppendToArray(array, value) {\n var pos = array.indexOf(value);\n if (pos === -1) {\n return __spreadArray(__spreadArray([], array), [value]);\n }\n else {\n return array.slice(0, pos).concat(array.slice(pos + 1));\n }\n}\n/**\n * This method used for wrapping of x axis labels (tick values).\n * It breaks down given text value by space separated and calculates the total height needed to display all the words.\n * That value = removal value. This value needs to be remove from total svg height, svg will shrink and\n * total text will be displayed.\n * @export\n * @param {IWrapLabelProps} wrapLabelProps\n * @returns\n */\nexport function createWrapOfXLabels(wrapLabelProps) {\n var node = wrapLabelProps.node, xAxis = wrapLabelProps.xAxis, noOfCharsToTruncate = wrapLabelProps.noOfCharsToTruncate, showXAxisLablesTooltip = wrapLabelProps.showXAxisLablesTooltip;\n if (node === null) {\n return;\n }\n var axisNode = d3Select(node).call(xAxis);\n var removeVal = 0;\n var width = 10;\n var arr = [];\n axisNode.selectAll('.tick text').each(function () {\n var text = d3Select(this);\n var totalWord = text.text();\n var truncatedWord = text.text().slice(0, noOfCharsToTruncate) + \"...\";\n var totalWordLength = text.text().length;\n var words = text.text().split(/\\s+/).reverse();\n arr.push(words.length);\n var word = '';\n var line = [];\n var lineNumber = 0;\n var lineHeight = 1.1; // ems\n var y = text.attr('y');\n var dy = parseFloat(text.attr('dy'));\n var tspan = text\n .text(null)\n .append('tspan')\n .attr('x', 0)\n .attr('y', y)\n .attr('id', 'BaseSpan')\n .attr('dy', dy + 'em')\n .attr('data-', totalWord);\n if (showXAxisLablesTooltip && totalWordLength > noOfCharsToTruncate) {\n tspan = text\n .append('tspan')\n .attr('id', 'showDots')\n .attr('x', 0)\n .attr('y', y)\n .attr('dy', ++lineNumber * lineHeight + dy + 'em')\n .text(truncatedWord);\n }\n else if (showXAxisLablesTooltip && totalWordLength <= noOfCharsToTruncate) {\n tspan = text\n .append('tspan')\n .attr('id', 'LessLength')\n .attr('x', 0)\n .attr('y', y)\n .attr('dy', ++lineNumber * lineHeight + dy + 'em')\n .text(totalWord);\n }\n else {\n while ((word = words.pop())) {\n line.push(word);\n tspan.text(line.join(' '));\n if (tspan.node().getComputedTextLength() > width && line.length > 1) {\n line.pop();\n tspan.text(line.join(' '));\n line = [word];\n tspan = text\n .append('tspan')\n .attr('id', 'WordBreakId')\n .attr('x', 0)\n .attr('y', y)\n .attr('dy', ++lineNumber * lineHeight + dy + 'em')\n .text(word);\n }\n }\n var maxDigit = Math.max.apply(Math, arr);\n var maxHeight_1 = 12; // intial value to render corretly first time\n axisNode.selectAll('text').each(function () {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var outerHTMLElement = document.getElementById('WordBreakId');\n var BoxCordinates = outerHTMLElement && outerHTMLElement.getBoundingClientRect();\n var boxHeight = BoxCordinates && BoxCordinates.height;\n if (boxHeight > maxHeight_1) {\n maxHeight_1 = boxHeight;\n }\n });\n // If we take directly maxDigit * maxheight, then it will show more height between x axis tick values and bottom.\n // To avoid this, reducing maxDigit value by removing some digit based on legth of word.\n var removeDigit = 4;\n if (maxDigit <= 2) {\n removeDigit = 1;\n }\n else if (maxDigit > 2 && maxDigit <= 6) {\n removeDigit = 2;\n }\n else if (maxDigit > 6 && maxDigit <= 9) {\n removeDigit = 3;\n }\n removeVal = (maxDigit - removeDigit) * maxHeight_1;\n }\n });\n return removeVal > 0 ? removeVal : 0;\n}\n/**\n * This method displays a tooltip to the x axis lables(tick values)\n * when prop 'showXAxisLablesTooltip' enables to the respected chart.\n * On hover of the truncated word(at x axis labels tick), a tooltip will be appeared.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function tooltipOfXAxislabels(xAxistooltipProps) {\n var tooltipCls = xAxistooltipProps.tooltipCls, xAxis = xAxistooltipProps.xAxis, id = xAxistooltipProps.id;\n if (xAxis === null) {\n return null;\n }\n var div = d3Select('body').append('div').attr('id', id).attr('class', tooltipCls).style('opacity', 0);\n var aa = xAxis.selectAll('#BaseSpan')._groups[0];\n var baseSpanLength = aa && Object.keys(aa).length;\n var originalDataArray = [];\n for (var i = 0; i < baseSpanLength; i++) {\n var originalData = aa[i].dataset && Object.values(aa[i].dataset)[0];\n originalDataArray.push(originalData);\n }\n var tickObject = xAxis.selectAll('.tick')._groups[0];\n var tickObjectLength = tickObject && Object.keys(tickObject).length;\n var _loop_1 = function (i) {\n var d1 = tickObject[i];\n d3Select(d1)\n .on('mouseover', function (d) {\n div.style('opacity', 0.9);\n div\n .html(originalDataArray[i])\n .style('left', d3Event.pageX + 'px')\n .style('top', d3Event.pageY - 28 + 'px');\n })\n .on('mouseout', function (d) {\n div.style('opacity', 0);\n });\n };\n for (var i = 0; i < tickObjectLength; i++) {\n _loop_1(i);\n }\n}\n/**\n * Find the axis type of line chart and area chart from given data\n * @param points\n */\nexport function getXAxisType(points) {\n var isXAxisDateType = false;\n if (points && points.length > 0) {\n points.forEach(function (chartData) {\n if (chartData.data.length > 0) {\n isXAxisDateType = chartData.data[0].x instanceof Date;\n return;\n }\n });\n }\n return isXAxisDateType;\n}\n/**\n * Calculates Domain and range values for Date X axis.\n * This method calculates Area chart and line chart.\n * @export\n * @param {ILineChartPoints[]} points\n * @param {IMargins} margins\n * @param {number} width\n * @param {boolean} isRTL\n * @param {Date[] | number[]} tickValues\n * @returns {IDomainNRange}\n */\nexport function domainRangeOfDateForAreaChart(points, margins, width, isRTL, tickValues) {\n if (tickValues === void 0) { tickValues = []; }\n var sDate = d3Min(points, function (point) {\n return d3Min(point.data, function (item) {\n return item.x;\n });\n });\n var lDate = d3Max(points, function (point) {\n return d3Max(point.data, function (item) {\n return item.x;\n });\n });\n // Need to draw graph with given small and large date (Which Involves customization of date axis tick values)\n // That may be Either from given graph data or from prop 'tickValues' date values.\n // So, Finding smallest and largest dates\n var smallestDate = d3Min(__spreadArray(__spreadArray([], tickValues), [sDate]));\n var largestDate = d3Max(__spreadArray(__spreadArray([], tickValues), [lDate]));\n var rStartValue = margins.left;\n var rEndValue = width - margins.right;\n return isRTL\n ? { dStartValue: largestDate, dEndValue: smallestDate, rStartValue: rStartValue, rEndValue: rEndValue }\n : { dStartValue: smallestDate, dEndValue: largestDate, rStartValue: rStartValue, rEndValue: rEndValue };\n}\n/**\n * Calculates Domain and range values for Numeric X axis.\n * This method calculates Area cart and line chart.\n * @export\n * @param {ILineChartPoints[]} points\n * @param {IMargins} margins\n * @param {number} width\n * @param {boolean} isRTL\n * @returns {IDomainNRange}\n */\nexport function domainRangeOfNumericForAreaChart(points, margins, width, isRTL) {\n var xMin = d3Min(points, function (point) {\n return d3Min(point.data, function (item) { return item.x; });\n });\n var xMax = d3Max(points, function (point) {\n return d3Max(point.data, function (item) {\n return item.x;\n });\n });\n var rStartValue = margins.left;\n var rEndValue = width - margins.right;\n return isRTL\n ? { dStartValue: xMax, dEndValue: xMin, rStartValue: rStartValue, rEndValue: rEndValue }\n : { dStartValue: xMin, dEndValue: xMax, rStartValue: rStartValue, rEndValue: rEndValue };\n}\n/**\n * Calculates Range values of x Axis string axis\n * For String axis, we need to give domain values (Not start and end array values)\n * So sending 0 as domain values. Domain will be handled at creation of string axis\n * For charts stacked bar chart, grouped vertical bar chart, HeatMapChart and Vertical bar chart\n * @export\n * @param {IMargins} margins\n * @param {number} width\n * @param {boolean} isRTL\n * @returns {IDomainNRange}\n */\nexport function domainRangeOfXStringAxis(margins, width, isRTL) {\n var rMin = margins.left;\n var rMax = width - margins.right;\n return isRTL\n ? { dStartValue: 0, dEndValue: 0, rStartValue: rMax, rEndValue: rMin }\n : { dStartValue: 0, dEndValue: 0, rStartValue: rMin, rEndValue: rMax };\n}\n/**\n * Calculate domain and range values to the Vertical stacked bar chart - For Numeric axis\n * @export\n * @param {IDataPoint[]} points\n * @param {IMargins} margins\n * @param {number} width\n * @param {boolean} isRTL\n * @param {number} barWidth\n * @returns {IDomainNRange}\n */\nexport function domainRangeOfVSBCNumeric(points, margins, width, isRTL, barWidth) {\n var xMin = d3Min(points, function (point) { return point.x; });\n var xMax = d3Max(points, function (point) { return point.x; });\n // barWidth / 2 - for to get tick middle of the bar\n var rMax = margins.left + barWidth / 2;\n var rMin = width - margins.right - barWidth / 2;\n return isRTL\n ? { dStartValue: xMax, dEndValue: xMin, rStartValue: rMax, rEndValue: rMin }\n : { dStartValue: xMin, dEndValue: xMax, rStartValue: rMax, rEndValue: rMin };\n}\n/**\n * Calculate domain and range values to the Vertical bar chart - For Numeric axis\n * @export\n * @param {IDataPoint[]} points\n * @param {IMargins} margins\n * @param {number} containerWidth\n * @param {boolean} isRTL\n * @param {number} barWidth\n * @returns {IDomainNRange}\n */\nexport function domainRageOfVerticalNumeric(points, margins, containerWidth, isRTL, barWidth) {\n var xMax = d3Max(points, function (point) { return point.x; });\n var xMin = d3Min(points, function (point) { return point.x; });\n var rMin = margins.left + barWidth;\n var rMax = containerWidth - margins.right - barWidth;\n return isRTL\n ? { dStartValue: xMax, dEndValue: xMin, rStartValue: rMin, rEndValue: rMax }\n : { dStartValue: xMin, dEndValue: xMax, rStartValue: rMin, rEndValue: rMax };\n}\n/**\n * For creating X axis, need to calculate x axis domain and range values from given points.\n * This may vary based on chart type and type of x axis\n * So, this method will define which method need to call based on chart type and axis type.\n * @export\n * @param {*} points\n * @param {IMargins} margins\n * @param {number} width\n * @param {ChartTypes} chartType\n * @param {boolean} isRTL\n * @param {XAxisTypes} xAxisType\n * @param {number} [barWidth]\n * @returns {IDomainNRange}\n */\nexport function getDomainNRangeValues(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\npoints, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues) {\n var domainNRangeValue;\n if (xAxisType === XAxisTypes.NumericAxis) {\n switch (chartType) {\n case ChartTypes.AreaChart:\n case ChartTypes.LineChart:\n domainNRangeValue = domainRangeOfNumericForAreaChart(points, margins, width, isRTL);\n break;\n case ChartTypes.VerticalStackedBarChart:\n domainNRangeValue = domainRangeOfVSBCNumeric(points, margins, width, isRTL, barWidth);\n break;\n case ChartTypes.VerticalBarChart:\n domainNRangeValue = domainRageOfVerticalNumeric(points, margins, width, isRTL, barWidth);\n break;\n default:\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n }\n }\n else if (xAxisType === XAxisTypes.DateAxis) {\n switch (chartType) {\n case ChartTypes.AreaChart:\n case ChartTypes.LineChart:\n domainNRangeValue = domainRangeOfDateForAreaChart(points, margins, width, isRTL, tickValues);\n break;\n default:\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n }\n }\n else {\n // String Axis type\n switch (chartType) {\n case ChartTypes.VerticalStackedBarChart:\n case ChartTypes.GroupedVerticalBarChart:\n case ChartTypes.VerticalBarChart:\n case ChartTypes.HeatMapChart:\n domainNRangeValue = domainRangeOfXStringAxis(margins, width, isRTL);\n break;\n default:\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n }\n }\n return domainNRangeValue;\n}\n/**\n * Calculating start and ending values of the Area chart and LineChart\n * @export\n * @param {ILineChartPoints[]} points\n * @returns {{ startValue: number; endValue: number }}\n */\nexport function findNumericMinMaxOfY(points) {\n var yMax = d3Max(points, function (point) {\n return d3Max(point.data, function (item) { return item.y; });\n });\n var yMin = d3Min(points, function (point) {\n return d3Min(point.data, function (item) { return item.y; });\n });\n return {\n startValue: yMin,\n endValue: yMax,\n };\n}\n/**\n * Find the minimum and maximum values of the vertical stacked bar chart y axis data point. Used for create y axis.\n * @export\n * @param {IDataPoint[]} dataset\n * @returns {{ startValue: number; endValue: number }}\n */\nexport function findVSBCNumericMinMaxOfY(dataset) {\n var yMax = d3Max(dataset, function (point) { return point.y; });\n var yMin = d3Min(dataset, function (point) { return point.y; });\n return { startValue: yMin, endValue: yMax };\n}\n/**\n * Fins the min and max values of the vertical bar chart y axis data point.\n * @export\n * @param {IVerticalBarChartDataPoint[]} points\n * @returns {{ startValue: number; endValue: number }}\n */\nexport function findVerticalNumericMinMaxOfY(points) {\n var yMax = d3Max(points, function (point) { return point.y; });\n var yMin = d3Min(points, function (point) { return point.y; });\n return { startValue: yMin, endValue: yMax };\n}\n/**\n * For creating Y axis, need to calculate y axis domain values from given points. This may vary based on chart type.\n * So, this method will define which method need to call based on chart type to find out min and max values(For Domain).\n * For grouped vertical bar chart, Calculating yMax value in the base file and sending as MaxOfYVal to cartesian.\n * @export\n * @param {*} points\n * @param {ChartTypes} chartType\n * @returns {{ startValue: number; endValue: number }}\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getMinMaxOfYAxis(points, chartType) {\n var minMaxValues;\n switch (chartType) {\n case ChartTypes.AreaChart:\n case ChartTypes.LineChart:\n minMaxValues = findNumericMinMaxOfY(points);\n break;\n case ChartTypes.VerticalStackedBarChart:\n minMaxValues = findVSBCNumericMinMaxOfY(points);\n break;\n case ChartTypes.VerticalBarChart:\n minMaxValues = findVerticalNumericMinMaxOfY(points);\n break;\n default:\n minMaxValues = { startValue: 0, endValue: 0 };\n }\n return minMaxValues;\n}\n/**\n * @param p string or number or Date\n *\n * This function takes the single data point of the x-aixs\n * and decides what is the x-axis\n */\nexport var getTypeOfAxis = function (p, isXAsix) {\n if (isXAsix) {\n switch (typeof p) {\n case 'string':\n return XAxisTypes.StringAxis;\n case 'number':\n return XAxisTypes.NumericAxis;\n default:\n return XAxisTypes.DateAxis;\n }\n }\n else {\n switch (typeof p) {\n case 'string':\n return YAxisType.StringAxis;\n case 'number':\n return YAxisType.NumericAxis;\n default:\n return YAxisType.DateAxis;\n }\n }\n};\n/**\n * we need to make sure that if we add any property to this, then\n * we need to also add that in pointTypes below and vise-versa\n */\nexport var Points;\n(function (Points) {\n Points[Points[\"circle\"] = 0] = \"circle\";\n Points[Points[\"square\"] = 1] = \"square\";\n Points[Points[\"triangle\"] = 2] = \"triangle\";\n Points[Points[\"diamond\"] = 3] = \"diamond\";\n Points[Points[\"pyramid\"] = 4] = \"pyramid\";\n Points[Points[\"hexagon\"] = 5] = \"hexagon\";\n Points[Points[\"pentagon\"] = 6] = \"pentagon\";\n Points[Points[\"octagon\"] = 7] = \"octagon\";\n})(Points || (Points = {}));\nexport var CustomPoints;\n(function (CustomPoints) {\n CustomPoints[CustomPoints[\"dottedLine\"] = 0] = \"dottedLine\";\n})(CustomPoints || (CustomPoints = {}));\n/**\n * we need to make sure that if we add any property to this, then\n * we need to also add that in enum Point and vise-versa\n */\nexport var pointTypes = (_a = {},\n _a[Points.circle] = {\n widthRatio: 1,\n },\n _a[Points.square] = {\n widthRatio: 1,\n },\n _a[Points.triangle] = {\n widthRatio: 1,\n },\n _a[Points.diamond] = {\n widthRatio: 1,\n },\n _a[Points.pyramid] = {\n widthRatio: 1,\n },\n _a[Points.hexagon] = {\n widthRatio: 2,\n },\n _a[Points.pentagon] = {\n widthRatio: 1.168,\n },\n _a[Points.octagon] = {\n widthRatio: 2.414,\n },\n _a);\n/**\n * @param accessibleData accessible data\n * @param role string to define role of tag\n * @param isDataFocusable boolean\n * function returns the accessibility data object\n */\nexport var getAccessibleDataObject = function (accessibleData, role, isDataFocusable) {\n if (role === void 0) { role = 'text'; }\n if (isDataFocusable === void 0) { isDataFocusable = true; }\n accessibleData = accessibleData !== null && accessibleData !== void 0 ? accessibleData : {};\n return {\n role: role,\n 'data-is-focusable': isDataFocusable,\n 'aria-label': accessibleData.ariaLabel,\n 'aria-labelledby': accessibleData.ariaLabelledBy,\n 'aria-describedby': accessibleData.ariaDescribedBy,\n };\n};\nexport var convertToLocaleString = function (data, culture) {\n if (!data) {\n return data;\n }\n culture = culture || undefined;\n if (typeof data === 'number') {\n return data.toLocaleString(culture);\n }\n if (typeof data === 'string' && !window.isNaN(Number(data))) {\n var num = Number(data);\n return num.toLocaleString(culture);\n }\n return data;\n};\nexport function rotateXAxisLabels(rotateLabelProps) {\n var node = rotateLabelProps.node, xAxis = rotateLabelProps.xAxis;\n if (node === null || xAxis === null) {\n return;\n }\n var maxHeight = 0;\n var xAxisTranslations = [];\n d3Select(node)\n .call(xAxis)\n .selectAll('.tick')\n .each(function () {\n var translateValue = this.getAttribute('transform');\n if ((translateValue === null || translateValue === void 0 ? void 0 : translateValue.indexOf('rotate')) === -1) {\n var translatePair = translateValue\n .substring(translateValue.indexOf('(') + 1, translateValue.indexOf(')'))\n .split(',');\n if (translatePair.length === 2) {\n xAxisTranslations.push(translatePair[0]);\n this.setAttribute('transform', \"translate(\" + translatePair[0] + \",0)rotate(-45)\");\n }\n }\n var BoxCordinates = this.getBoundingClientRect();\n var boxHeight = BoxCordinates && BoxCordinates.height;\n if (boxHeight > maxHeight) {\n maxHeight = boxHeight;\n }\n });\n var idx = 0;\n d3Select(node)\n .call(xAxis)\n .selectAll('.tick')\n .each(function () {\n if (xAxisTranslations.length > idx) {\n this.setAttribute('transform', \"translate(\" + xAxisTranslations[idx] + \",\" + maxHeight / 2 + \")rotate(-45)\"); // Translate y by max height/2\n idx += 1;\n }\n });\n return Math.floor(maxHeight / 1.414); // Compute maxHeight/tanInverse(45) to get the vertical height of labels.\n}\nexport function wrapTextInsideDonut(selectorClass, maxWidth) {\n var idx = 0;\n d3SelectAll(\".\" + selectorClass).each(function () {\n var text = d3Select(this);\n var words = text.text().split(/\\s+/).reverse();\n var word = '';\n var line = [];\n var lineNumber = 0;\n var lineHeight = 1.1; // ems\n var y = text.attr('y');\n var tspan = text\n .text(null)\n .append('tspan')\n .attr('id', \"WordBreakId-\" + idx + \"-\" + lineNumber)\n .attr('x', 0)\n .attr('y', y)\n .attr('dy', lineNumber++ * lineHeight + 'em');\n while ((word = words.pop())) {\n line.push(word);\n tspan.text(line.join(' ') + ' ');\n if (tspan.node().getComputedTextLength() > maxWidth && line.length > 1) {\n line.pop();\n tspan.text(line.join(' ') + ' ');\n line = [word];\n tspan = text\n .append('tspan')\n .attr('id', \"WordBreakId-\" + idx + \"-\" + lineNumber)\n .attr('x', 0)\n .attr('y', y)\n .attr('dy', lineNumber++ * lineHeight + 'em')\n .text(word);\n }\n }\n idx += 1;\n });\n}\n//# sourceMappingURL=utilities.js.map","import * as React from 'react';\nimport { Option } from '../Option';\nfunction defaultFilter(optionText, query) {\n if (query === '') {\n return true;\n }\n return optionText.toLowerCase().includes(query.toLowerCase());\n}\nfunction defaultToString(option) {\n return typeof option === 'string' ? option : option.value;\n}\n/**\n * @internal\n */ export function useComboboxFilter(query, options, config) {\n const { filter = defaultFilter, noOptionsMessage = \"We couldn't find any matches.\", optionToReactKey = defaultToString, optionToText = defaultToString, renderOption = (option)=>{\n if (typeof option === 'string') {\n return /*#__PURE__*/ React.createElement(Option, {\n key: option\n }, option);\n }\n return /*#__PURE__*/ React.createElement(Option, {\n ...option,\n key: optionToReactKey(option),\n text: optionToText(option),\n value: option.value\n }, option.children);\n } } = config;\n const filteredOptions = React.useMemo(()=>{\n const searchValue = query.trim();\n return options.filter((option)=>filter(optionToText(option), searchValue));\n }, [\n options,\n optionToText,\n filter,\n query\n ]);\n if (filteredOptions.length === 0) {\n return [\n /*#__PURE__*/ React.createElement(Option, {\n \"aria-disabled\": \"true\",\n key: \"no-results\",\n text: \"\"\n }, noOptionsMessage)\n ];\n }\n return filteredOptions.map((option)=>renderOption(option));\n}\n","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerBodyClassNames = {\n root: 'fui-DrawerBody'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n B6of3ja: \"fkrn0sh\",\n t21cq0: [\"f11qmguv\", \"f1tyq0we\"],\n jrapky: \"fmxx68s\",\n Frg6f3: [\"f1tyq0we\", \"f11qmguv\"],\n z8tnut: \"f1sl3k7w\",\n z189sj: [\"fnbas0t\", \"f1mswpri\"],\n Byoj8tv: \"f1brlhvm\",\n uwmqm3: [\"f1mswpri\", \"fnbas0t\"],\n B68tc82: \"f1oy3dpc\",\n Bmxbyg5: \"f5zp4f\",\n Bh6795r: \"fqerorx\",\n Bnnss6s: \"f1neuvcm\",\n xawz: \"f1pztt34\",\n qb2dma: \"f1ub7u0d\",\n Bcmaq0h: \"f1igvcbx\",\n B676am1: \"f1fofb6i\",\n e5kdtc: \"fo6xqva\",\n De3pzq: \"fxugw4r\",\n Bkjc3bi: \"fcre6b6\",\n Bgh53k4: \"f1besv5s\",\n Bcx2cba: \"f1pqm9hp\",\n gonrqn: \"f2c46kh\"\n }\n}, {\n d: [\".fkrn0sh{margin-top:-1px;}\", \".f11qmguv{margin-right:0;}\", \".f1tyq0we{margin-left:0;}\", \".fmxx68s{margin-bottom:-1px;}\", \".f1sl3k7w{padding-top:1px;}\", \".fnbas0t{padding-right:var(--spacingHorizontalXXL);}\", \".f1mswpri{padding-left:var(--spacingHorizontalXXL);}\", \".f1brlhvm{padding-bottom:1px;}\", \".f1oy3dpc{overflow-x:auto;}\", \".f5zp4f{overflow-y:auto;}\", \".fqerorx{flex-grow:1;}\", \".f1neuvcm{flex-shrink:1;}\", \".f1pztt34{flex-basis:0;}\", \".f1ub7u0d{align-self:stretch;}\", \".f1igvcbx{background-image:linear-gradient(to top, var(--colorNeutralBackground1), var(--colorNeutralBackground1)),linear-gradient(to top, var(--colorNeutralBackground1), var(--colorNeutralBackground1)),linear-gradient(to top, var(--colorNeutralStroke1), var(--colorNeutralBackground1)),linear-gradient(to bottom, var(--colorNeutralStroke1), var(--colorNeutralBackground1));}\", \".f1fofb6i{-webkit-background-position:bottom center,top center,bottom center,top center;background-position:bottom center,top center,bottom center,top center;}\", \".fo6xqva{background-repeat:no-repeat;}\", \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".fcre6b6{background-size:100% 2px,100% 2px,100% 1px,100% 1px;}\", \".f1besv5s{background-attachment:local,local,scroll,scroll;}\", \".f1pqm9hp:last-child{padding-bottom:calc(var(--spacingHorizontalXXL) + 1px);}\", \".f2c46kh:first-child{padding-top:calc(var(--spacingHorizontalXXL) + 1px);}\"]\n});\n/**\n * Apply styling to the DrawerBody slots based on the state\n */\nexport const useDrawerBodyStyles_unstable = state => {\n const styles = useStyles();\n state.root.className = mergeClasses(drawerBodyClassNames.root, styles.root, state.root.className);\n return state;\n};\n//# sourceMappingURL=useDrawerBodyStyles.styles.js.map","import * as React from 'react';\nimport { useDrawerBody_unstable } from './useDrawerBody';\nimport { renderDrawerBody_unstable } from './renderDrawerBody';\nimport { useDrawerBodyStyles_unstable } from './useDrawerBodyStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * DrawerBody provides with a container for the main content of a Drawer.\n */ export const DrawerBody = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerBody_unstable(props, ref);\n useDrawerBodyStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerBodyStyles_unstable')(state);\n return renderDrawerBody_unstable(state);\n});\nDrawerBody.displayName = 'DrawerBody';\n","import * as React from 'react';\nimport { getNativeElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render DrawerBody.\n *\n * The returned state can be modified with hooks such as useDrawerBodyStyles_unstable,\n * before being passed to renderDrawerBody_unstable.\n *\n * @param props - props from this instance of DrawerBody\n * @param ref - reference to root HTMLElement of DrawerBody\n */ export const useDrawerBody_unstable = (props, ref)=>{\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getNativeElementProps('div', {\n ref,\n ...props\n }), {\n elementType: 'div'\n })\n };\n};\n","/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerBody\n */ export const renderDrawerBody_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null);\n};\n","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerFooterClassNames = {\n root: 'fui-DrawerFooter'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n z8tnut: \"fikn0iw\",\n z189sj: [\"fnbas0t\", \"f1mswpri\"],\n Byoj8tv: \"fz66xbh\",\n uwmqm3: [\"f1mswpri\", \"fnbas0t\"],\n mc9l5x: \"f22iagw\",\n Brf1p80: \"fbhxue7\",\n Bt984gj: \"f122n59\",\n i8kkvl: \"fsnqrgy\"\n }\n}, {\n d: [\".fikn0iw{padding-top:var(--spacingVerticalL);}\", \".fnbas0t{padding-right:var(--spacingHorizontalXXL);}\", \".f1mswpri{padding-left:var(--spacingHorizontalXXL);}\", \".fz66xbh{padding-bottom:var(--spacingVerticalXXL);}\", \".f22iagw{display:flex;}\", \".fbhxue7{justify-content:flex-start;}\", \".f122n59{align-items:center;}\", \".fsnqrgy{column-gap:var(--spacingHorizontalS);}\"]\n});\n/**\n * Apply styling to the DrawerFooter slots based on the state\n */\nexport const useDrawerFooterStyles_unstable = state => {\n const styles = useStyles();\n state.root.className = mergeClasses(drawerFooterClassNames.root, styles.root, state.root.className);\n return state;\n};\n//# sourceMappingURL=useDrawerFooterStyles.styles.js.map","import * as React from 'react';\nimport { useDrawerFooter_unstable } from './useDrawerFooter';\nimport { renderDrawerFooter_unstable } from './renderDrawerFooter';\nimport { useDrawerFooterStyles_unstable } from './useDrawerFooterStyles.styles';\n/**\n * DrawerFooter component - TODO: add more docs\n */ export const DrawerFooter = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerFooter_unstable(props, ref);\n useDrawerFooterStyles_unstable(state);\n return renderDrawerFooter_unstable(state);\n});\nDrawerFooter.displayName = 'DrawerFooter';\n","import * as React from 'react';\nimport { getNativeElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render DrawerFooter.\n *\n * The returned state can be modified with hooks such as useDrawerFooterStyles_unstable,\n * before being passed to renderDrawerFooter_unstable.\n *\n * @param props - props from this instance of DrawerFooter\n * @param ref - reference to root HTMLElement of DrawerFooter\n */ export const useDrawerFooter_unstable = (props, ref)=>{\n return {\n components: {\n root: 'footer'\n },\n root: slot.always(getNativeElementProps('footer', {\n ref,\n ...props\n }), {\n elementType: 'footer'\n })\n };\n};\n","/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerFooter\n */ export const renderDrawerFooter_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null);\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { useDialogTitleStyles_unstable } from '@fluentui/react-dialog';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerHeaderTitleClassNames = {\n root: 'fui-DrawerHeaderTitle',\n heading: 'fui-DrawerHeaderTitle__heading',\n action: 'fui-DrawerHeaderTitle__action'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Brf1p80: \"f1869bpl\",\n Bt984gj: \"f122n59\",\n i8kkvl: \"fsnqrgy\"\n },\n action: {\n t21cq0: [\"faqnl2i\", \"fd75udd\"]\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1869bpl{justify-content:space-between;}\", \".f122n59{align-items:center;}\", \".fsnqrgy{column-gap:var(--spacingHorizontalS);}\", \".faqnl2i{margin-right:calc(var(--spacingHorizontalS) * -1);}\", \".fd75udd{margin-left:calc(var(--spacingHorizontalS) * -1);}\"]\n});\n/**\n * Apply styling to the DrawerHeaderTitle slots based on the state\n */\nexport const useDrawerHeaderTitleStyles_unstable = state => {\n const styles = useStyles();\n const {\n heading: root = {},\n action,\n components\n } = state;\n useDialogTitleStyles_unstable({\n components: {\n root: components.heading,\n action: components.action\n },\n root,\n action\n });\n state.root.className = mergeClasses(drawerHeaderTitleClassNames.root, styles.root, state.root.className);\n if (state.heading) {\n state.heading.className = mergeClasses(drawerHeaderTitleClassNames.heading, state.heading.className);\n }\n if (state.action) {\n state.action.className = mergeClasses(drawerHeaderTitleClassNames.action, styles.action, state.action.className);\n }\n return state;\n};\n//# sourceMappingURL=useDrawerHeaderTitleStyles.styles.js.map","import * as React from 'react';\nimport { useDrawerHeaderTitle_unstable } from './useDrawerHeaderTitle';\nimport { renderDrawerHeaderTitle_unstable } from './renderDrawerHeaderTitle';\nimport { useDrawerHeaderTitleStyles_unstable } from './useDrawerHeaderTitleStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * DrawerHeader provides a structured header for the drawer component.\n */ export const DrawerHeaderTitle = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerHeaderTitle_unstable(props, ref);\n useDrawerHeaderTitleStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerHeaderTitleStyles_unstable')(state);\n return renderDrawerHeaderTitle_unstable(state);\n});\nDrawerHeaderTitle.displayName = 'DrawerHeaderTitle';\n","import * as React from 'react';\nimport { getNativeElementProps, slot } from '@fluentui/react-utilities';\nimport { useDialogTitle_unstable } from '@fluentui/react-dialog';\n/**\n * Create the state required to render DrawerHeaderTitle.\n *\n * The returned state can be modified with hooks such as useDrawerHeaderTitleStyles_unstable,\n * before being passed to renderDrawerHeaderTitle_unstable.\n *\n * @param props - props from this instance of DrawerHeaderTitle\n * @param ref - reference to root HTMLElement of DrawerHeaderTitle\n */ export const useDrawerHeaderTitle_unstable = (props, ref)=>{\n const { root: heading , action , components: titleComponents } = useDialogTitle_unstable(props, ref);\n return {\n components: {\n root: 'div',\n heading: titleComponents.root,\n action: titleComponents.action\n },\n root: slot.always(getNativeElementProps('div', {\n ref,\n ...props\n }), {\n elementType: 'div'\n }),\n heading: slot.optional(props.heading, {\n renderByDefault: true,\n defaultProps: {\n ...heading,\n className: undefined\n },\n elementType: titleComponents.root\n }),\n action: slot.optional(props.action, {\n defaultProps: action,\n elementType: titleComponents.action\n })\n };\n};\n","/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerHeaderTitle\n */ export const renderDrawerHeaderTitle_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null, state.heading && /*#__PURE__*/ createElement(state.heading, null), state.action && /*#__PURE__*/ createElement(state.action, null));\n};\n","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerHeaderClassNames = {\n root: 'fui-DrawerHeader'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n z8tnut: \"f1ggmyuv\",\n z189sj: [\"fnbas0t\", \"f1mswpri\"],\n Byoj8tv: \"f5b47ha\",\n uwmqm3: [\"f1mswpri\", \"fnbas0t\"],\n i8kkvl: \"fsnqrgy\",\n Belr9w4: \"fylz90v\",\n qb2dma: \"f1ub7u0d\",\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\"\n }\n}, {\n d: [\".f1ggmyuv{padding-top:var(--spacingVerticalXXL);}\", \".fnbas0t{padding-right:var(--spacingHorizontalXXL);}\", \".f1mswpri{padding-left:var(--spacingHorizontalXXL);}\", \".f5b47ha{padding-bottom:var(--spacingVerticalS);}\", \".fsnqrgy{column-gap:var(--spacingHorizontalS);}\", \".fylz90v{row-gap:var(--spacingHorizontalS);}\", \".f1ub7u0d{align-self:stretch;}\", \".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\"]\n});\n/**\n * Apply styling to the DrawerHeader slots based on the state\n */\nexport const useDrawerHeaderStyles_unstable = state => {\n const styles = useStyles();\n state.root.className = mergeClasses(drawerHeaderClassNames.root, styles.root, state.root.className);\n return state;\n};\n//# sourceMappingURL=useDrawerHeaderStyles.styles.js.map","import * as React from 'react';\nimport { useDrawerHeader_unstable } from './useDrawerHeader';\nimport { renderDrawerHeader_unstable } from './renderDrawerHeader';\nimport { useDrawerHeaderStyles_unstable } from './useDrawerHeaderStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * DrawerHeader provides a structured header for the drawer component.\n */ export const DrawerHeader = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerHeader_unstable(props, ref);\n useDrawerHeaderStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerHeaderStyles_unstable')(state);\n return renderDrawerHeader_unstable(state);\n});\nDrawerHeader.displayName = 'DrawerHeader';\n","import * as React from 'react';\nimport { getNativeElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render DrawerHeader.\n *\n * The returned state can be modified with hooks such as useDrawerHeaderStyles_unstable,\n * before being passed to renderDrawerHeader_unstable.\n *\n * @param props - props from this instance of DrawerHeader\n * @param ref - reference to root HTMLElement of DrawerHeader\n */ export const useDrawerHeader_unstable = (props, ref)=>{\n return {\n components: {\n root: 'header'\n },\n root: slot.always(getNativeElementProps('header', {\n ref,\n ...props\n }), {\n elementType: 'header'\n })\n };\n};\n","/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerHeader\n */ export const renderDrawerHeader_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null);\n};\n","import * as React from 'react';\nimport { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { useDrawerBaseStyles } from '../../util/useDrawerBaseStyles.styles';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerInlineClassNames = {\n root: 'fui-DrawerInline'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n qhf8xq: \"f10pi13n\"\n },\n separatorStart: {\n Bekrc4i: [\"f1hqa2wf\", \"finvdd3\"],\n vrafjx: [\"fcdblym\", \"fjik90z\"],\n h3c5rm: [\"fa8zu9y\", \"f17e9lqh\"]\n },\n separatorEnd: {\n ibv6hh: [\"finvdd3\", \"f1hqa2wf\"],\n wvpqe5: [\"fjik90z\", \"fcdblym\"],\n zhjwy3: [\"f17e9lqh\", \"fa8zu9y\"]\n }\n}, {\n d: [\".f10pi13n{position:relative;}\", \".f1hqa2wf{border-right-width:1px;}\", \".finvdd3{border-left-width:1px;}\", \".fcdblym{border-right-style:solid;}\", \".fjik90z{border-left-style:solid;}\", \".fa8zu9y{border-right-color:var(--colorNeutralBackground3);}\", \".f17e9lqh{border-left-color:var(--colorNeutralBackground3);}\"]\n});\n/**\n * Apply styling to the DrawerInline slots based on the state\n */\nexport const useDrawerInlineStyles_unstable = state => {\n const baseStyles = useDrawerBaseStyles();\n const styles = useStyles();\n const separatorClass = React.useMemo(() => {\n if (!state.separator) {\n return undefined;\n }\n return state.position === 'start' ? styles.separatorStart : styles.separatorEnd;\n }, [state.position, state.separator, styles.separatorEnd, styles.separatorStart]);\n state.root.className = mergeClasses(drawerInlineClassNames.root, baseStyles.root, styles.root, state.size && baseStyles[state.size], state.position && baseStyles[state.position], separatorClass, state.root.className);\n return state;\n};\n//# sourceMappingURL=useDrawerInlineStyles.styles.js.map","import * as React from 'react';\nimport { useDrawerInline_unstable } from './useDrawerInline';\nimport { renderDrawerInline_unstable } from './renderDrawerInline';\nimport { useDrawerInlineStyles_unstable } from './useDrawerInlineStyles.styles';\n/**\n * DrawerInline is often used for navigation that is not dissmissable. As it is on the same level as\n * the main surface, users can still interact with other UI elements.\n */ export const DrawerInline = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerInline_unstable(props, ref);\n useDrawerInlineStyles_unstable(state);\n return renderDrawerInline_unstable(state);\n});\nDrawerInline.displayName = 'DrawerInline';\n","import * as React from 'react';\nimport { getNativeElementProps, useControllableState, slot } from '@fluentui/react-utilities';\nimport { getDefaultDrawerProps } from '../../util/getDefaultDrawerProps';\n/**\n * Create the state required to render DrawerInline.\n *\n * The returned state can be modified with hooks such as useDrawerInlineStyles_unstable,\n * before being passed to renderDrawerInline_unstable.\n *\n * @param props - props from this instance of DrawerInline\n * @param ref - reference to root HTMLElement of DrawerInline\n */ export const useDrawerInline_unstable = (props, ref)=>{\n const { open: initialOpen , defaultOpen , size , position } = getDefaultDrawerProps(props);\n const { separator =false } = props;\n const [open] = useControllableState({\n state: initialOpen,\n defaultState: defaultOpen,\n initialState: false\n });\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getNativeElementProps('div', {\n ref,\n ...props\n }), {\n elementType: 'div'\n }),\n size,\n position,\n open,\n separator\n };\n};\n","/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerInline\n */ export const renderDrawerInline_unstable = (state)=>{\n assertSlots(state);\n if (!state.open) {\n return null;\n }\n return /*#__PURE__*/ createElement(state.root, null);\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { useDrawerBaseStyles } from '../../util/useDrawerBaseStyles.styles';\nimport * as React from 'react';\nexport const drawerOverlayClassNames = {\n root: 'fui-DrawerOverlay',\n backdrop: 'fui-DrawerOverlay__backdrop'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n qhf8xq: \"f19dog8a\",\n Bhzewxz: \"f15twtuk\",\n B5kzvoi: \"f1yab3r1\"\n }\n}, {\n d: [\".f19dog8a{position:fixed;}\", \".f15twtuk{top:0;}\", \".f1yab3r1{bottom:0;}\"]\n});\n/**\n * Apply styling to the DrawerOverlay slots based on the state\n */\nexport const useDrawerOverlayStyles_unstable = state => {\n const baseStyles = useDrawerBaseStyles();\n const styles = useStyles();\n const backdrop = state.root.backdrop;\n state.root.className = mergeClasses(drawerOverlayClassNames.root, baseStyles.root, styles.root, state.size && baseStyles[state.size], state.position && baseStyles[state.position], state.root.className);\n if (backdrop) {\n backdrop.className = mergeClasses(drawerOverlayClassNames.backdrop, backdrop.className);\n }\n return state;\n};\n//# sourceMappingURL=useDrawerOverlayStyles.styles.js.map","import * as React from 'react';\nimport { useDrawerOverlay_unstable } from './useDrawerOverlay';\nimport { renderDrawerOverlay_unstable } from './renderDrawerOverlay';\nimport { useDrawerOverlayStyles_unstable } from './useDrawerOverlayStyles.styles';\n/**\n * DrawerOverlay contains supplementary content and are used for complex creation, edit, or management experiences.\n */ export const DrawerOverlay = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerOverlay_unstable(props, ref);\n useDrawerOverlayStyles_unstable(state);\n return renderDrawerOverlay_unstable(state);\n});\nDrawerOverlay.displayName = 'DrawerOverlay';\n","import * as React from 'react';\nimport { getNativeElementProps, slot } from '@fluentui/react-utilities';\nimport { DialogSurface } from '@fluentui/react-dialog';\nimport { getDefaultDrawerProps } from '../../util/getDefaultDrawerProps';\n/**\n * Create the state required to render DrawerOverlay.\n *\n * The returned state can be modified with hooks such as useDrawerOverlayStyles_unstable,\n * before being passed to renderDrawerOverlay_unstable.\n *\n * @param props - props from this instance of DrawerOverlay\n * @param ref - reference to root HTMLElement of DrawerOverlay\n */ export const useDrawerOverlay_unstable = (props, ref)=>{\n const { open , defaultOpen , size , position } = getDefaultDrawerProps(props);\n const { modalType ='modal' , inertTrapFocus , onOpenChange } = props;\n return {\n components: {\n root: DialogSurface,\n backdrop: 'div'\n },\n root: slot.always(getNativeElementProps('div', {\n ref,\n ...props\n }), {\n elementType: DialogSurface\n }),\n dialog: {\n open,\n defaultOpen,\n onOpenChange,\n inertTrapFocus,\n modalType\n },\n size,\n position\n };\n};\n","/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { Dialog } from '@fluentui/react-dialog';\n/**\n * Render the final JSX of DrawerOverlay\n */ export const renderDrawerOverlay_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(Dialog, state.dialog, /*#__PURE__*/ createElement(state.root, null));\n};\n","import { mergeClasses } from '@griffel/react';\nexport const drawerClassNames = {\n root: 'fui-Drawer'\n};\n/**\n * Apply styling to the Drawer slots based on the state\n */\nexport const useDrawerStyles_unstable = state => {\n state.root.className = mergeClasses(drawerClassNames.root, state.root.className);\n return state;\n};\n//# sourceMappingURL=useDrawerStyles.styles.js.map","import * as React from 'react';\nimport { useDrawer_unstable } from './useDrawer';\nimport { renderDrawer_unstable } from './renderDrawer';\nimport { useDrawerStyles_unstable } from './useDrawerStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Drawer contains supplementary content and are used for complex creation, edit, or management experiences.\n */ export const Drawer = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawer_unstable(props, ref);\n useDrawerStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerStyles_unstable')(state);\n return renderDrawer_unstable(state);\n});\nDrawer.displayName = 'Drawer';\n","import * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { DrawerOverlay } from '../DrawerOverlay/DrawerOverlay';\nimport { DrawerInline } from '../DrawerInline/DrawerInline';\n/**\n * Create the state required to render Drawer.\n *\n * The returned state can be modified with hooks such as useDrawerStyles_unstable,\n * before being passed to renderDrawer_unstable.\n *\n * @param props - props from this instance of Drawer\n * @param ref - reference to root HTMLElement of Drawer\n */ export const useDrawer_unstable = (props, ref)=>{\n const { type ='overlay' } = props;\n return {\n components: {\n root: type === 'overlay' ? DrawerOverlay : DrawerInline\n },\n root: slot.always(props, {\n defaultProps: {\n ref\n },\n elementType: type === 'overlay' ? DrawerOverlay : DrawerInline\n })\n };\n};\n","/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Drawer\n */ export const renderDrawer_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null);\n};\n","export function getDefaultDrawerProps(props) {\n const { open =false , defaultOpen =false , size ='small' , position ='start' } = props;\n return {\n size,\n position,\n open,\n defaultOpen\n };\n}\n","import { __styles, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\n/**\n * Styles for the root slot\n */\nexport const useDrawerBaseStyles = /*#__PURE__*/__styles({\n root: {\n z8tnut: \"f1g0x7ka\",\n z189sj: [\"fhxju0i\", \"f1cnd47f\"],\n Byoj8tv: \"f1qch9an\",\n uwmqm3: [\"f1cnd47f\", \"fhxju0i\"],\n B68tc82: \"f1p9o1ba\",\n Bmxbyg5: \"f1sil6mw\",\n Bbmb7ep: [\"f1krrbdw\", \"f1deotkl\"],\n Beyfa6y: [\"f1deotkl\", \"f1krrbdw\"],\n B7oj6ja: [\"f10ostut\", \"f1ozlkrg\"],\n Btl43ni: [\"f1ozlkrg\", \"f10ostut\"],\n B4j52fo: \"fre7gi1\",\n Bekrc4i: [\"f1358rze\", \"f1rvrf73\"],\n Bn0qgzm: \"fqdk4by\",\n ibv6hh: [\"f1rvrf73\", \"f1358rze\"],\n B2u0y6b: \"f1w39fev\",\n Bqenvij: \"f11ysow2\",\n B7ck84d: \"f1ewtqcl\",\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n Bt984gj: \"f6jr5hl\",\n Brf1p80: \"fbhxue7\",\n De3pzq: \"fxugw4r\"\n },\n start: {\n oyh7mz: [\"f1vgc2s3\", \"f1e31b4d\"],\n j35jbq: [\"fvfyk4\", \"frppm18\"]\n },\n end: {\n j35jbq: [\"f1e31b4d\", \"f1vgc2s3\"],\n oyh7mz: [\"frppm18\", \"fvfyk4\"]\n },\n small: {\n a9b677: \"f1nfxovz\"\n },\n medium: {\n a9b677: \"fb8d3vz\"\n },\n large: {\n a9b677: \"fi96w9z\"\n },\n full: {\n a9b677: \"fr97h3j\",\n B2u0y6b: \"f1w39fev\"\n }\n}, {\n d: [\".f1g0x7ka{padding-top:0;}\", \".fhxju0i{padding-right:0;}\", \".f1cnd47f{padding-left:0;}\", \".f1qch9an{padding-bottom:0;}\", \".f1p9o1ba{overflow-x:hidden;}\", \".f1sil6mw{overflow-y:hidden;}\", \".f1krrbdw{border-bottom-right-radius:0;}\", \".f1deotkl{border-bottom-left-radius:0;}\", \".f10ostut{border-top-right-radius:0;}\", \".f1ozlkrg{border-top-left-radius:0;}\", \".fre7gi1{border-top-width:0;}\", \".f1358rze{border-right-width:0;}\", \".f1rvrf73{border-left-width:0;}\", \".fqdk4by{border-bottom-width:0;}\", \".f1w39fev{max-width:100vw;}\", \".f11ysow2{height:auto;}\", \".f1ewtqcl{box-sizing:border-box;}\", \".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\", \".f6jr5hl{align-items:flex-start;}\", \".fbhxue7{justify-content:flex-start;}\", \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".f1vgc2s3{left:0;}\", \".f1e31b4d{right:0;}\", \".fvfyk4{right:auto;}\", \".frppm18{left:auto;}\", \".f1nfxovz{width:320px;}\", \".fb8d3vz{width:592px;}\", \".fi96w9z{width:940px;}\", \".fr97h3j{width:100vw;}\"]\n});\n//# sourceMappingURL=useDrawerBaseStyles.styles.js.map","import * as React from 'react';\nconst defaultContextValue = {\n scrollState: 'none',\n setScrollState: ()=>({})\n};\nexport const drawerContext = React.createContext(undefined);\nexport const DrawerProvider = drawerContext.Provider;\nexport const useDrawerContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(drawerContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultContextValue;\n};\nexport const useDrawerContextValue = ()=>{\n const [scrollState, setScrollState] = React.useState('none');\n return {\n setScrollState,\n scrollState\n };\n};\n","import { SLOT_ELEMENT_TYPE_SYMBOL, SLOT_RENDER_FUNCTION_SYMBOL } from '@fluentui/react-utilities';\nimport * as React from 'react';\nexport function presenceMotionSlot(motion, options) {\n // eslint-disable-next-line deprecation/deprecation\n const { as, children, ...rest } = motion !== null && motion !== void 0 ? motion : {};\n if (process.env.NODE_ENV !== 'production') {\n if (typeof as !== 'undefined') {\n throw new Error(`@fluentui/react-motion: \"as\" property is not supported on motion slots.`);\n }\n }\n if (motion === null) {\n // Heads up!\n // Render function is used there to avoid rendering a motion component and handle unmounting logic\n const isUnmounted = !options.defaultProps.visible && options.defaultProps.unmountOnExit;\n const renderFn = (_, props)=>isUnmounted ? null : /*#__PURE__*/ React.createElement(React.Fragment, null, props.children);\n /**\n * Casting is required here as SlotComponentType is a function, not an object.\n * Although SlotComponentType has a function signature, it is still just an object.\n * This is required to make a slot callable (JSX compatible), this is the exact same approach\n * that is used on `@types/react` components\n */ return {\n [SLOT_RENDER_FUNCTION_SYMBOL]: renderFn,\n [SLOT_ELEMENT_TYPE_SYMBOL]: options.elementType\n };\n }\n /**\n * Casting is required here as SlotComponentType is a function, not an object.\n * Although SlotComponentType has a function signature, it is still just an object.\n * This is required to make a slot callable (JSX compatible), this is the exact same approach\n * that is used on `@types/react` components\n */ const propsWithMetadata = {\n ...options.defaultProps,\n ...rest,\n [SLOT_ELEMENT_TYPE_SYMBOL]: options.elementType\n };\n if (typeof children === 'function') {\n propsWithMetadata[SLOT_RENDER_FUNCTION_SYMBOL] = children;\n }\n return propsWithMetadata;\n}\n","import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nconst defaultContextValue = {\n open: false,\n inertTrapFocus: false,\n modalType: 'modal',\n isNestedDialog: false,\n dialogRef: {\n current: null\n },\n requestOpenChange () {\n /* noop */ }\n};\n// Contexts should default to undefined\nexport const DialogContext = createContext(undefined);\nexport const DialogProvider = DialogContext.Provider;\nexport const useDialogContext_unstable = (selector)=>useContextSelector(DialogContext, (ctx = defaultContextValue)=>selector(ctx));\n","import * as React from 'react';\n/**\n * @internal\n */ export const PresenceGroupChildContext = React.createContext(undefined);\n","import * as React from 'react';\nfunction useAnimateAtomsInSupportedEnvironment() {\n var _window_Animation;\n // eslint-disable-next-line @nx/workspace-no-restricted-globals\n const SUPPORTS_PERSIST = typeof window !== 'undefined' && typeof ((_window_Animation = window.Animation) === null || _window_Animation === void 0 ? void 0 : _window_Animation.prototype.persist) === 'function';\n return React.useCallback((element, value, options)=>{\n const atoms = Array.isArray(value) ? value : [\n value\n ];\n const { isReducedMotion } = options;\n const animations = atoms.map((motion)=>{\n const { keyframes, ...params } = motion;\n const animation = element.animate(keyframes, {\n fill: 'forwards',\n ...params,\n ...isReducedMotion && {\n duration: 1\n }\n });\n if (SUPPORTS_PERSIST) {\n animation.persist();\n } else {\n const resultKeyframe = keyframes[keyframes.length - 1];\n var _element_style;\n Object.assign((_element_style = element.style) !== null && _element_style !== void 0 ? _element_style : {}, resultKeyframe);\n }\n return animation;\n });\n return {\n set playbackRate (rate){\n animations.forEach((animation)=>{\n animation.playbackRate = rate;\n });\n },\n setMotionEndCallbacks (onfinish, oncancel) {\n // Heads up!\n // This could use \"Animation:finished\", but it's causing a memory leak in Chromium.\n // See: https://issues.chromium.org/u/2/issues/383016426\n const promises = animations.map((animation)=>{\n return new Promise((resolve, reject)=>{\n animation.onfinish = ()=>resolve();\n animation.oncancel = ()=>reject();\n });\n });\n Promise.all(promises).then(()=>{\n onfinish();\n }).catch(()=>{\n oncancel();\n });\n },\n cancel: ()=>{\n animations.forEach((animation)=>{\n animation.cancel();\n });\n },\n pause: ()=>{\n animations.forEach((animation)=>{\n animation.pause();\n });\n },\n play: ()=>{\n animations.forEach((animation)=>{\n animation.play();\n });\n },\n finish: ()=>{\n animations.forEach((animation)=>{\n animation.finish();\n });\n }\n };\n }, [\n SUPPORTS_PERSIST\n ]);\n}\n/**\n * In test environments, this hook is used to delay the execution of a callback until the next render. This is necessary\n * to ensure that the callback is not executed synchronously, which would cause the test to fail.\n *\n * @see https://github.com/microsoft/fluentui/issues/31701\n */ function useAnimateAtomsInTestEnvironment() {\n const [count, setCount] = React.useState(0);\n const callbackRef = React.useRef();\n const realAnimateAtoms = useAnimateAtomsInSupportedEnvironment();\n React.useEffect(()=>{\n if (count > 0) {\n var _callbackRef_current;\n (_callbackRef_current = callbackRef.current) === null || _callbackRef_current === void 0 ? void 0 : _callbackRef_current.call(callbackRef);\n }\n }, [\n count\n ]);\n return React.useCallback((element, value, options)=>{\n const ELEMENT_SUPPORTS_WEB_ANIMATIONS = typeof element.animate === 'function';\n // Heads up!\n // If the environment supports Web Animations API, we can use the native implementation.\n if (ELEMENT_SUPPORTS_WEB_ANIMATIONS) {\n return realAnimateAtoms(element, value, options);\n }\n return {\n setMotionEndCallbacks (onfinish) {\n callbackRef.current = onfinish;\n setCount((v)=>v + 1);\n },\n set playbackRate (rate){\n /* no-op */ },\n cancel () {\n /* no-op */ },\n pause () {\n /* no-op */ },\n play () {\n /* no-op */ },\n finish () {\n /* no-op */ }\n };\n }, [\n realAnimateAtoms\n ]);\n}\n/**\n * @internal\n */ export function useAnimateAtoms() {\n 'use no memo';\n if (process.env.NODE_ENV === 'test') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useAnimateAtomsInTestEnvironment();\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useAnimateAtomsInSupportedEnvironment();\n}\n","import { useForceUpdate } from '@fluentui/react-utilities';\nimport * as React from 'react';\n/**\n * This hook manages the mounted state of a component, based on the \"visible\" and \"unmountOnExit\" props.\n * It simulates the behavior of getDerivedStateFromProps(), which is not available in functional components.\n */ export function useMountedState(visible = false, unmountOnExit = false) {\n const mountedRef = React.useRef(unmountOnExit ? visible : true);\n const forceUpdate = useForceUpdate();\n const setMounted = React.useCallback((newValue)=>{\n if (mountedRef.current !== newValue) {\n mountedRef.current = newValue;\n forceUpdate();\n }\n }, [\n forceUpdate\n ]);\n React.useEffect(()=>{\n if (visible) {\n mountedRef.current = visible;\n }\n });\n return [\n visible || mountedRef.current,\n setMounted\n ];\n}\n","import * as React from 'react';\n/**\n * @internal\n * Forces a re-render, similar to `forceUpdate` in class components.\n */ export function useForceUpdate() {\n return React.useReducer((x)=>x + 1, 0)[1];\n}\n","import * as React from 'react';\nconst MotionBehaviourContext = React.createContext(undefined);\nexport const MotionBehaviourProvider = MotionBehaviourContext.Provider;\nexport const useMotionBehaviourContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(MotionBehaviourContext)) !== null && _React_useContext !== void 0 ? _React_useContext : 'default';\n};\n","import { useEventCallback, useFirstMount, useIsomorphicLayoutEffect, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { PresenceGroupChildContext } from '../contexts/PresenceGroupChildContext';\nimport { useAnimateAtoms } from '../hooks/useAnimateAtoms';\nimport { useMotionImperativeRef } from '../hooks/useMotionImperativeRef';\nimport { useMountedState } from '../hooks/useMountedState';\nimport { useIsReducedMotion } from '../hooks/useIsReducedMotion';\nimport { getChildElement } from '../utils/getChildElement';\nimport { useMotionBehaviourContext } from '../contexts/MotionBehaviourContext';\n/**\n * @internal A private symbol to store the motion definition on the component for variants.\n */ export const MOTION_DEFINITION = Symbol('MOTION_DEFINITION');\nfunction shouldSkipAnimation(appear, isFirstMount, visible) {\n return !appear && isFirstMount && !!visible;\n}\nexport function createPresenceComponent(value) {\n return Object.assign((props)=>{\n 'use no memo';\n const itemContext = React.useContext(PresenceGroupChildContext);\n const merged = {\n ...itemContext,\n ...props\n };\n const skipMotions = useMotionBehaviourContext() === 'skip';\n const { appear, children, imperativeRef, onExit, onMotionFinish, onMotionStart, onMotionCancel, visible, unmountOnExit, ..._rest } = merged;\n const params = _rest;\n const [mounted, setMounted] = useMountedState(visible, unmountOnExit);\n const child = getChildElement(children);\n const handleRef = useMotionImperativeRef(imperativeRef);\n const elementRef = React.useRef();\n const ref = useMergedRefs(elementRef, child.ref);\n const optionsRef = React.useRef({\n appear,\n params,\n skipMotions\n });\n const animateAtoms = useAnimateAtoms();\n const isFirstMount = useFirstMount();\n const isReducedMotion = useIsReducedMotion();\n const handleMotionStart = useEventCallback((direction)=>{\n onMotionStart === null || onMotionStart === void 0 ? void 0 : onMotionStart(null, {\n direction\n });\n });\n const handleMotionFinish = useEventCallback((direction)=>{\n onMotionFinish === null || onMotionFinish === void 0 ? void 0 : onMotionFinish(null, {\n direction\n });\n if (direction === 'exit' && unmountOnExit) {\n setMounted(false);\n onExit === null || onExit === void 0 ? void 0 : onExit();\n }\n });\n const handleMotionCancel = useEventCallback((direction)=>{\n onMotionCancel === null || onMotionCancel === void 0 ? void 0 : onMotionCancel(null, {\n direction\n });\n });\n useIsomorphicLayoutEffect(()=>{\n // Heads up!\n // We store the params in a ref to avoid re-rendering the component when the params change.\n optionsRef.current = {\n appear,\n params,\n skipMotions\n };\n });\n useIsomorphicLayoutEffect(()=>{\n const element = elementRef.current;\n if (!element || shouldSkipAnimation(optionsRef.current.appear, isFirstMount, visible)) {\n return;\n }\n const presenceMotion = typeof value === 'function' ? value({\n element,\n ...optionsRef.current.params\n }) : value;\n const atoms = visible ? presenceMotion.enter : presenceMotion.exit;\n const direction = visible ? 'enter' : 'exit';\n const applyInitialStyles = !visible && isFirstMount;\n const skipAnimation = optionsRef.current.skipMotions;\n if (!applyInitialStyles) {\n handleMotionStart(direction);\n }\n const handle = animateAtoms(element, atoms, {\n isReducedMotion: isReducedMotion()\n });\n if (applyInitialStyles) {\n // Heads up!\n // .finish() is used in this case to skip animation and apply animation styles immediately\n handle.finish();\n return;\n }\n handleRef.current = handle;\n handle.setMotionEndCallbacks(()=>handleMotionFinish(direction), ()=>handleMotionCancel(direction));\n if (skipAnimation) {\n handle.finish();\n }\n return ()=>{\n handle.cancel();\n };\n }, // Excluding `isFirstMount` from deps to prevent re-triggering the animation on subsequent renders\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n animateAtoms,\n handleRef,\n isReducedMotion,\n handleMotionFinish,\n handleMotionStart,\n handleMotionCancel,\n visible\n ]);\n if (mounted) {\n return React.cloneElement(child, {\n ref\n });\n }\n return null;\n }, {\n // Heads up!\n // Always normalize it to a function to simplify types\n [MOTION_DEFINITION]: typeof value === 'function' ? value : ()=>value\n });\n}\n","import * as React from 'react';\nimport * as ReactIs from 'react-is';\nexport function getChildElement(children) {\n try {\n const child = React.Children.only(children);\n if (typeof child.type === 'string' || ReactIs.isForwardRef(child)) {\n return child;\n }\n // We don't need to do anything here: we catch the exception from React to throw a more meaningful error\n // eslint-disable-next-line no-empty\n } catch {}\n throw new Error([\n '@fluentui/react-motion: Invalid child element.',\n '\\n',\n 'Motion factories require a single child element to be passed. ',\n 'That element element should support ref forwarding i.e. it should be either an intrinsic element (e.g. div) or a component that uses React.forwardRef().'\n ].join(''));\n}\n","import * as React from 'react';\nexport function useMotionImperativeRef(imperativeRef) {\n const animationRef = React.useRef();\n React.useImperativeHandle(imperativeRef, ()=>({\n setPlayState: (state)=>{\n if (state === 'running') {\n var _animationRef_current;\n (_animationRef_current = animationRef.current) === null || _animationRef_current === void 0 ? void 0 : _animationRef_current.play();\n }\n if (state === 'paused') {\n var _animationRef_current1;\n (_animationRef_current1 = animationRef.current) === null || _animationRef_current1 === void 0 ? void 0 : _animationRef_current1.pause();\n }\n },\n setPlaybackRate: (rate)=>{\n if (animationRef.current) {\n animationRef.current.playbackRate = rate;\n }\n }\n }));\n return animationRef;\n}\n","import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nconst REDUCED_MEDIA_QUERY = 'screen and (prefers-reduced-motion: reduce)';\n// TODO: find a better approach there as each hook creates a separate subscription\nexport function useIsReducedMotion() {\n const { targetDocument } = useFluent();\n var _targetDocument_defaultView;\n const targetWindow = (_targetDocument_defaultView = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) !== null && _targetDocument_defaultView !== void 0 ? _targetDocument_defaultView : null;\n const queryValue = React.useRef(false);\n const isEnabled = React.useCallback(()=>queryValue.current, []);\n useIsomorphicLayoutEffect(()=>{\n if (targetWindow === null || typeof targetWindow.matchMedia !== 'function') {\n return;\n }\n const queryMatch = targetWindow.matchMedia(REDUCED_MEDIA_QUERY);\n if (queryMatch.matches) {\n queryValue.current = true;\n }\n const matchListener = (e)=>{\n queryValue.current = e.matches;\n };\n queryMatch.addEventListener('change', matchListener);\n return ()=>{\n queryMatch.removeEventListener('change', matchListener);\n };\n }, [\n targetWindow\n ]);\n return isEnabled;\n}\n","// Copied from packages/tokens/src/global/durations.ts\n// Values are numeric in milliseconds for ease of use in Web Animations API\n// (rather than parsing '__ms')\nexport const durations = {\n durationUltraFast: 50,\n durationFaster: 100,\n durationFast: 150,\n durationNormal: 200,\n durationGentle: 250,\n durationSlow: 300,\n durationSlower: 400,\n durationUltraSlow: 500\n};\n// Copied from packages/tokens/src/global/curves.ts\n// Names and values are preserved exactly\nexport const curves = {\n curveAccelerateMax: 'cubic-bezier(0.9,0.1,1,0.2)',\n curveAccelerateMid: 'cubic-bezier(1,0,1,1)',\n curveAccelerateMin: 'cubic-bezier(0.8,0,0.78,1)',\n curveDecelerateMax: 'cubic-bezier(0.1,0.9,0.2,1)',\n curveDecelerateMid: 'cubic-bezier(0,0,0,1)',\n curveDecelerateMin: 'cubic-bezier(0.33,0,0.1,1)',\n curveEasyEaseMax: 'cubic-bezier(0.8,0,0.2,1)',\n curveEasyEase: 'cubic-bezier(0.33,0,0.67,1)',\n curveLinear: 'cubic-bezier(0,0,1,1)'\n};\n// A merged flat lookup for convenience\nexport const motionTokens = {\n ...durations,\n ...curves\n}; /*\nTODO: enforce naming conventions when TypeScript 4.4 features are supported in Fluent:\n\ntype DurationKey = `duration${Capitalize}`;\ntype CurveKey = `curve${Capitalize}`;\ntype CurveValue = `cubic-bezier(${number},${number},${number},${number})`;\n\ntype DurationTokens = Record;\ntype CurveTokens = Record;\n*/ \n","import { createPresenceComponent, motionTokens } from '@fluentui/react-motion';\nimport { tokens } from '@fluentui/react-theme';\nconst keyframes = [\n {\n opacity: 0,\n boxShadow: '0px 0px 0px 0px rgba(0, 0, 0, 0.1)',\n transform: 'scale(0.85) translateZ(0)'\n },\n {\n boxShadow: tokens.shadow64,\n transform: 'scale(1) translateZ(0)',\n opacity: 1\n }\n];\nexport const DialogSurfaceMotion = createPresenceComponent({\n enter: {\n keyframes,\n easing: motionTokens.curveDecelerateMid,\n duration: motionTokens.durationGentle\n },\n exit: {\n keyframes: [\n ...keyframes\n ].reverse(),\n easing: motionTokens.curveAccelerateMin,\n duration: motionTokens.durationGentle\n }\n});\n","import { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useModalAttributes } from '@fluentui/react-tabster';\nimport { presenceMotionSlot } from '@fluentui/react-motion';\nimport { useControllableState, useEventCallback, useId } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useFocusFirstElement } from '../../utils';\nimport { DialogContext } from '../../contexts';\nimport { DialogSurfaceMotion } from '../DialogSurfaceMotion';\n/**\n * Create the state required to render Dialog.\n *\n * The returned state can be modified with hooks such as useDialogStyles_unstable,\n * before being passed to renderDialog_unstable.\n *\n * @param props - props from this instance of Dialog\n */ export const useDialog_unstable = (props)=>{\n const { children, modalType = 'modal', onOpenChange, inertTrapFocus = false } = props;\n const [trigger, content] = childrenToTriggerAndContent(children);\n const [open, setOpen] = useControllableState({\n state: props.open,\n defaultState: props.defaultOpen,\n initialState: false\n });\n const requestOpenChange = useEventCallback((data)=>{\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(data.event, data);\n // if user prevents default then do not change state value\n // otherwise updates state value and trigger reference to the element that caused the opening\n if (!data.event.isDefaultPrevented()) {\n setOpen(data.open);\n }\n });\n const focusRef = useFocusFirstElement(open, modalType);\n const { modalAttributes, triggerAttributes } = useModalAttributes({\n trapFocus: modalType !== 'non-modal',\n legacyTrapFocus: !inertTrapFocus\n });\n const isNestedDialog = useHasParentContext(DialogContext);\n return {\n components: {\n // TODO: remove once React v18 slot API is modified\n // This is a problem at the moment due to UnknownSlotProps assumption\n // that `children` property is `ReactNode`, which in this case is not valid\n // as PresenceComponentProps['children'] is `ReactElement`\n surfaceMotion: DialogSurfaceMotion\n },\n inertTrapFocus,\n open,\n modalType,\n content,\n trigger,\n requestOpenChange,\n dialogTitleId: useId('dialog-title-'),\n isNestedDialog,\n dialogRef: focusRef,\n modalAttributes,\n triggerAttributes,\n surfaceMotion: presenceMotionSlot(props.surfaceMotion, {\n elementType: DialogSurfaceMotion,\n defaultProps: {\n appear: true,\n visible: open,\n unmountOnExit: true\n }\n })\n };\n};\n/**\n * Extracts trigger and content from children\n */ function childrenToTriggerAndContent(children) {\n const childrenArray = React.Children.toArray(children);\n if (process.env.NODE_ENV !== 'production') {\n if (childrenArray.length !== 1 && childrenArray.length !== 2) {\n // eslint-disable-next-line no-console\n console.warn(`@fluentui/react-dialog [useDialog]:\nDialog must contain at least one child ,\nand at most two children (in this order).`);\n }\n }\n switch(childrenArray.length){\n // case where there's a trigger followed by content\n case 2:\n return childrenArray;\n // case where there's only content\n case 1:\n return [\n undefined,\n childrenArray[0]\n ];\n // unknown case\n default:\n return [\n undefined,\n undefined\n ];\n }\n}\n","import * as React from 'react';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Focus first element on content when dialog is opened,\n */ export function useFocusFirstElement(open, modalType) {\n const { findFirstFocusable } = useFocusFinders();\n const { targetDocument } = useFluent_unstable();\n const dialogRef = React.useRef(null);\n React.useEffect(()=>{\n if (!open) {\n return;\n }\n const element = dialogRef.current && findFirstFocusable(dialogRef.current);\n if (element) {\n element.focus();\n } else {\n var _dialogRef_current;\n (_dialogRef_current = dialogRef.current) === null || _dialogRef_current === void 0 ? void 0 : _dialogRef_current.focus(); // https://github.com/microsoft/fluentui/issues/25150\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(`@fluentui/react-dialog [useFocusFirstElement]:\nA Dialog should have at least one focusable element inside DialogSurface.\nPlease add at least a close button either on \\`DialogTitle\\` action slot or inside \\`DialogActions\\``);\n }\n }\n }, [\n findFirstFocusable,\n open,\n modalType,\n targetDocument\n ]);\n return dialogRef;\n}\n","import * as React from 'react';\nconst MotionRefForwarderContext = /*#__PURE__*/ React.createContext(undefined);\n/**\n * @internal\n */ export function useMotionForwardedRef() {\n return React.useContext(MotionRefForwarderContext);\n}\n/**\n * A component that forwards a ref to its children via a React context.\n *\n * @internal\n */ export const MotionRefForwarder = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n return /*#__PURE__*/ React.createElement(MotionRefForwarderContext.Provider, {\n value: ref\n }, props.children);\n});\n","import * as React from 'react';\nconst defaultContextValue = false;\nexport const DialogSurfaceContext = React.createContext(undefined);\nexport const DialogSurfaceProvider = DialogSurfaceContext.Provider;\nexport const useDialogSurfaceContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(DialogSurfaceContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultContextValue;\n};\n","import * as React from 'react';\nimport { useDialog_unstable } from './useDialog';\nimport { renderDialog_unstable } from './renderDialog';\nimport { useDialogContextValues_unstable } from './useDialogContextValues';\n/**\n * The `Dialog` root level component serves as an interface for interaction with all possible behaviors exposed.\n * It provides context down the hierarchy to `children` compound components to allow functionality.\n * This component expects to receive as children either a `DialogSurface` or a `DialogTrigger`\n * and a `DialogSurface` (or some component that will eventually render one of those compound components)\n * in this specific order\n */ export const Dialog = /*#__PURE__*/ React.memo((props)=>{\n const state = useDialog_unstable(props);\n const contextValues = useDialogContextValues_unstable(state);\n return renderDialog_unstable(state, contextValues);\n});\nDialog.displayName = 'Dialog';\n","export function useDialogContextValues_unstable(state) {\n const { modalType, open, dialogRef, dialogTitleId, isNestedDialog, inertTrapFocus, requestOpenChange, modalAttributes, triggerAttributes } = state;\n /**\n * This context is created with \"@fluentui/react-context-selector\",\n * there is no sense to memoize it\n */ const dialog = {\n open,\n modalType,\n dialogRef,\n dialogTitleId,\n isNestedDialog,\n inertTrapFocus,\n modalAttributes,\n triggerAttributes,\n requestOpenChange\n };\n const dialogSurface = false;\n return {\n dialog,\n dialogSurface\n };\n}\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { MotionRefForwarder } from '../MotionRefForwarder';\nimport { DialogProvider, DialogSurfaceProvider } from '../../contexts';\n/**\n * Render the final JSX of Dialog\n */ export const renderDialog_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(DialogProvider, {\n value: contextValues.dialog,\n children: /*#__PURE__*/ _jsxs(DialogSurfaceProvider, {\n value: contextValues.dialogSurface,\n children: [\n state.trigger,\n state.content && /*#__PURE__*/ _jsx(state.surfaceMotion, {\n children: /*#__PURE__*/ _jsx(MotionRefForwarder, {\n children: state.content\n })\n })\n ]\n })\n });\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\n/**\n * CSS variable names used internally for uniform styling in Drawer.\n */\nexport const drawerCSSVars = {\n drawerSizeVar: '--fui-Drawer--size'\n};\n/**\n * Default shared styles for the Drawer component\n */\nexport const drawerDefaultStyles = {\n overflow: 'hidden',\n width: `var(${drawerCSSVars.drawerSizeVar})`,\n maxWidth: '100vw',\n height: 'auto',\n maxHeight: '100vh',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1\n};\n/**\n * Shared dynamic styles for the Drawer component\n */\nconst useDrawerStyles = /*#__PURE__*/__styles({\n start: {\n h3c5rm: 0,\n vrafjx: 0,\n Bekrc4i: 0,\n u1mtju: [\"f1xteiwb\", \"fsqykmd\"],\n oyh7mz: [\"f1vgc2s3\", \"f1e31b4d\"],\n j35jbq: [\"fvfyk4\", \"frppm18\"]\n },\n end: {\n zhjwy3: 0,\n wvpqe5: 0,\n ibv6hh: 0,\n B4g9neb: [\"fsqykmd\", \"f1xteiwb\"],\n j35jbq: [\"f1e31b4d\", \"f1vgc2s3\"],\n oyh7mz: [\"frppm18\", \"fvfyk4\"]\n },\n bottom: {\n B5kzvoi: \"f1yab3r1\",\n Bhzewxz: \"f198g47y\"\n },\n small: {\n Bjr0ffy: \"f1exhnwo\"\n },\n medium: {\n Bjr0ffy: \"fqofjzu\"\n },\n large: {\n Bjr0ffy: \"fce6y3m\"\n },\n full: {\n Bjr0ffy: \"fsdmzs6\"\n }\n}, {\n d: [[\".f1xteiwb{border-right:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n p: -1\n }], [\".fsqykmd{border-left:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n p: -1\n }], \".f1vgc2s3{left:0;}\", \".f1e31b4d{right:0;}\", \".fvfyk4{right:auto;}\", \".frppm18{left:auto;}\", [\".fsqykmd{border-left:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n p: -1\n }], [\".f1xteiwb{border-right:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n p: -1\n }], \".f1yab3r1{bottom:0;}\", \".f198g47y{top:auto;}\", \".f1exhnwo{--fui-Drawer--size:320px;}\", \".fqofjzu{--fui-Drawer--size:592px;}\", \".fce6y3m{--fui-Drawer--size:940px;}\", \".fsdmzs6{--fui-Drawer--size:100vw;}\"]\n});\nexport const useDrawerBottomBaseStyles = /*#__PURE__*/__styles({\n small: {\n Bjr0ffy: \"f1exhnwo\"\n },\n medium: {\n Bjr0ffy: \"fqofjzu\"\n },\n large: {\n Bjr0ffy: \"fce6y3m\"\n },\n full: {\n Bjr0ffy: \"f1rat34m\"\n }\n}, {\n d: [\".f1exhnwo{--fui-Drawer--size:320px;}\", \".fqofjzu{--fui-Drawer--size:592px;}\", \".fce6y3m{--fui-Drawer--size:940px;}\", \".f1rat34m{--fui-Drawer--size:100%;}\"]\n});\nexport const useDrawerBaseClassNames = ({\n position,\n size\n}) => {\n const baseStyles = useDrawerStyles();\n const bottomBaseStyles = useDrawerBottomBaseStyles();\n return mergeClasses(baseStyles[position], position === 'bottom' && bottomBaseStyles[size], position !== 'bottom' && baseStyles[size]);\n};","import { createPresenceComponent, motionTokens } from '@fluentui/react-motion';\nimport { tokens } from '@fluentui/react-theme';\nimport { drawerCSSVars } from './useDrawerBaseStyles.styles';\nconst durations = {\n small: motionTokens.durationGentle,\n medium: motionTokens.durationSlow,\n large: motionTokens.durationSlower,\n full: motionTokens.durationUltraSlow\n};\n/**\n * @internal\n */ export function getPositionTransform(position, sizeVar, dir) {\n const leftToRightTransform = `translate3d(var(${sizeVar}), 0, 0)`;\n const rightToLeftTransform = `translate3d(calc(var(${sizeVar}) * -1), 0, 0)`;\n const bottomToTopTransform = `translate3d(0, var(${sizeVar}), 0)`;\n if (position === 'start') {\n return dir === 'ltr' ? rightToLeftTransform : leftToRightTransform;\n }\n if (position === 'end') {\n return dir === 'ltr' ? leftToRightTransform : rightToLeftTransform;\n }\n if (position === 'bottom') {\n return bottomToTopTransform;\n }\n return 'translate3d(0, 0, 0)';\n}\n/**\n * @internal\n */ export const InlineDrawerMotion = createPresenceComponent(({ position, size, dir })=>{\n const keyframes = [\n {\n /**\n * TODO: Once the #31663 lands, we should update the RTL logic to use Motion APIs\n * The work will be done in the #32817\n */ transform: getPositionTransform(position, drawerCSSVars.drawerSizeVar, dir),\n opacity: 0\n },\n {\n transform: 'translate3d(0, 0, 0)',\n opacity: 1\n }\n ];\n const duration = durations[size];\n return {\n enter: {\n keyframes,\n duration,\n easing: motionTokens.curveDecelerateMid\n },\n exit: {\n keyframes: [\n ...keyframes\n ].reverse(),\n duration,\n easing: motionTokens.curveAccelerateMin\n }\n };\n});\n/**\n * @internal\n */ export const OverlayDrawerMotion = createPresenceComponent(({ position, size, dir })=>{\n const keyframes = [\n {\n /**\n * TODO: Once the #31663 lands, we should update the RTL logic to use Motion APIs\n * The work will be done in the #32817\n */ transform: getPositionTransform(position, drawerCSSVars.drawerSizeVar, dir),\n boxShadow: `0px ${tokens.colorTransparentBackground}`,\n opacity: 0\n },\n {\n transform: 'translate3d(0, 0, 0)',\n boxShadow: tokens.shadow64,\n opacity: 1\n }\n ];\n const duration = durations[size];\n return {\n enter: {\n keyframes,\n duration,\n easing: motionTokens.curveDecelerateMid\n },\n exit: {\n keyframes: [\n ...keyframes\n ].reverse(),\n duration,\n easing: motionTokens.curveAccelerateMin\n }\n };\n});\n/**\n * @internal\n */ export const OverlaySurfaceBackdropMotion = createPresenceComponent(({ size })=>{\n const keyframes = [\n {\n opacity: 0\n },\n {\n opacity: 1\n }\n ];\n const duration = durations[size];\n return {\n enter: {\n keyframes,\n easing: motionTokens.curveLinear,\n duration\n },\n exit: {\n keyframes: [\n ...keyframes\n ].reverse(),\n easing: motionTokens.curveLinear,\n duration\n }\n };\n});\n","export function useDrawerDefaultProps(props) {\n const { open = false, size = 'small', position = 'start' } = props;\n return {\n size,\n position,\n open\n };\n}\n","import { __resetStyles } from '@griffel/react';\n// this style must be applied to the html element to disable scrolling\nexport const useHTMLNoScrollStyles = /*#__PURE__*/__resetStyles(\"r6pzz3z\", null, [\".r6pzz3z{overflow-y:hidden;overflow-y:clip;scrollbar-gutter:stable;}\"]);\nexport const useBodyNoScrollStyles = /*#__PURE__*/__resetStyles(\"r144vlu9\", null, [\".r144vlu9{overflow-y:hidden;}\"]);","import { motionTokens, createPresenceComponent } from '@fluentui/react-motion';\n/** Define a presence motion for fade in/out */ export const createFadePresence = ({ enterDuration = motionTokens.durationNormal, enterEasing = motionTokens.curveEasyEase, exitDuration = enterDuration, exitEasing = enterEasing } = {})=>({\n enter: {\n duration: enterDuration,\n easing: enterEasing,\n keyframes: [\n {\n opacity: 0\n },\n {\n opacity: 1\n }\n ]\n },\n exit: {\n duration: exitDuration,\n easing: exitEasing,\n keyframes: [\n {\n opacity: 1\n },\n {\n opacity: 0\n }\n ]\n }\n });\n/** A React component that applies fade in/out transitions to its children. */ export const Fade = createPresenceComponent(createFadePresence());\nexport const FadeSnappy = createPresenceComponent(createFadePresence({\n enterDuration: motionTokens.durationFast\n}));\nexport const FadeRelaxed = createPresenceComponent(createFadePresence({\n enterDuration: motionTokens.durationGentle\n}));\n","import { FadeRelaxed } from '@fluentui/react-motion-components-preview';\nexport const DialogBackdropMotion = FadeRelaxed;\n","import { Escape } from '@fluentui/keyboard-keys';\nimport { presenceMotionSlot } from '@fluentui/react-motion';\nimport { useEventCallback, useMergedRefs, isResolvedShorthand, slot, getIntrinsicElementProps, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useDialogContext_unstable } from '../../contexts';\nimport { useDisableBodyScroll } from '../../utils/useDisableBodyScroll';\nimport { DialogBackdropMotion } from '../DialogBackdropMotion';\nimport { useMotionForwardedRef } from '../MotionRefForwarder';\n/**\n * Create the state required to render DialogSurface.\n *\n * The returned state can be modified with hooks such as useDialogSurfaceStyles_unstable,\n * before being passed to renderDialogSurface_unstable.\n *\n * @param props - props from this instance of DialogSurface\n * @param ref - reference to root HTMLElement of DialogSurface\n */ export const useDialogSurface_unstable = (props, ref)=>{\n const contextRef = useMotionForwardedRef();\n const modalType = useDialogContext_unstable((ctx)=>ctx.modalType);\n const isNestedDialog = useDialogContext_unstable((ctx)=>ctx.isNestedDialog);\n const modalAttributes = useDialogContext_unstable((ctx)=>ctx.modalAttributes);\n const dialogRef = useDialogContext_unstable((ctx)=>ctx.dialogRef);\n const requestOpenChange = useDialogContext_unstable((ctx)=>ctx.requestOpenChange);\n const dialogTitleID = useDialogContext_unstable((ctx)=>ctx.dialogTitleId);\n const open = useDialogContext_unstable((ctx)=>ctx.open);\n const handledBackdropClick = useEventCallback((event)=>{\n if (isResolvedShorthand(props.backdrop)) {\n var _props_backdrop_onClick, _props_backdrop;\n (_props_backdrop_onClick = (_props_backdrop = props.backdrop).onClick) === null || _props_backdrop_onClick === void 0 ? void 0 : _props_backdrop_onClick.call(_props_backdrop, event);\n }\n if (modalType === 'modal' && !event.isDefaultPrevented()) {\n requestOpenChange({\n event,\n open: false,\n type: 'backdropClick'\n });\n }\n });\n const handleKeyDown = useEventCallback((event)=>{\n var _props_onKeyDown;\n (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);\n if (event.key === Escape && !event.isDefaultPrevented()) {\n requestOpenChange({\n event,\n open: false,\n type: 'escapeKeyDown'\n });\n // stop propagation to avoid conflicting with other elements that listen for `Escape`\n // e,g: nested Dialog, Popover, Menu and Tooltip\n event.preventDefault();\n }\n });\n const backdrop = slot.optional(props.backdrop, {\n renderByDefault: modalType !== 'non-modal',\n defaultProps: {\n 'aria-hidden': 'true'\n },\n elementType: 'div'\n });\n if (backdrop) {\n backdrop.onClick = handledBackdropClick;\n }\n const { disableBodyScroll, enableBodyScroll } = useDisableBodyScroll();\n useIsomorphicLayoutEffect(()=>{\n if (isNestedDialog || modalType === 'non-modal') {\n return;\n }\n disableBodyScroll();\n return ()=>{\n enableBodyScroll();\n };\n }, [\n enableBodyScroll,\n isNestedDialog,\n disableBodyScroll,\n modalType\n ]);\n return {\n components: {\n backdrop: 'div',\n root: 'div',\n // TODO: remove once React v18 slot API is modified\n // This is a problem at the moment due to UnknownSlotProps assumption\n // that `children` property is `ReactNode`, which in this case is not valid\n // as PresenceComponentProps['children'] is `ReactElement`\n backdropMotion: DialogBackdropMotion\n },\n open,\n backdrop,\n isNestedDialog,\n mountNode: props.mountNode,\n root: slot.always(getIntrinsicElementProps('div', {\n tabIndex: -1,\n 'aria-modal': modalType !== 'non-modal',\n role: modalType === 'alert' ? 'alertdialog' : 'dialog',\n 'aria-labelledby': props['aria-label'] ? undefined : dialogTitleID,\n ...props,\n ...modalAttributes,\n onKeyDown: handleKeyDown,\n // FIXME:\n // `DialogSurfaceElement` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, contextRef, dialogRef)\n }), {\n elementType: 'div'\n }),\n backdropMotion: presenceMotionSlot(props.backdropMotion, {\n elementType: DialogBackdropMotion,\n defaultProps: {\n appear: true,\n visible: open\n }\n }),\n // Deprecated properties\n transitionStatus: undefined\n };\n};\n","import * as React from 'react';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useBodyNoScrollStyles, useHTMLNoScrollStyles } from './useDisableBodyScroll.styles';\n/**\n * @internal\n * A React *hook* that disables body scrolling through `overflowY: hidden` CSS property\n */ export function useDisableBodyScroll() {\n const htmlNoScrollStyles = useHTMLNoScrollStyles();\n const bodyNoScrollStyles = useBodyNoScrollStyles();\n const { targetDocument } = useFluent_unstable();\n const disableBodyScroll = React.useCallback(()=>{\n var _targetDocument_defaultView;\n if (!targetDocument) {\n return;\n }\n var _targetDocument_defaultView_innerHeight;\n const isHorizontalScrollbarVisible = // When the window is a fractional height, `innerHeight` always rounds down but `clientHeight` rounds either up or down depending on the value.\n // To properly compare the body clientHeight to the window innerHeight, manually round down the fractional value to match innerHeight's calculation.\n Math.floor(targetDocument.body.getBoundingClientRect().height) > ((_targetDocument_defaultView_innerHeight = (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.innerHeight) !== null && _targetDocument_defaultView_innerHeight !== void 0 ? _targetDocument_defaultView_innerHeight : 0);\n if (!isHorizontalScrollbarVisible) {\n return;\n }\n targetDocument.documentElement.classList.add(htmlNoScrollStyles);\n targetDocument.body.classList.add(bodyNoScrollStyles);\n return;\n }, [\n targetDocument,\n htmlNoScrollStyles,\n bodyNoScrollStyles\n ]);\n const enableBodyScroll = React.useCallback(()=>{\n if (!targetDocument) {\n return;\n }\n targetDocument.documentElement.classList.remove(htmlNoScrollStyles);\n targetDocument.body.classList.remove(bodyNoScrollStyles);\n }, [\n targetDocument,\n htmlNoScrollStyles,\n bodyNoScrollStyles\n ]);\n return {\n disableBodyScroll,\n enableBodyScroll\n };\n}\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { Portal } from '@fluentui/react-portal';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { DialogSurfaceProvider } from '../../contexts';\n/**\n * Render the final JSX of DialogSurface\n */ export const renderDialogSurface_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(Portal, {\n mountNode: state.mountNode,\n children: [\n state.backdrop && // TODO: state.backdropMotion is non nullable, but assertSlots asserts it as nullable\n // FIXME: this should be resolved by properly splitting props and state slots declaration\n state.backdropMotion && /*#__PURE__*/ _jsx(state.backdropMotion, {\n children: /*#__PURE__*/ _jsx(state.backdrop, {})\n }),\n /*#__PURE__*/ _jsx(DialogSurfaceProvider, {\n value: contextValues.dialogSurface,\n children: /*#__PURE__*/ _jsx(state.root, {})\n })\n ]\n });\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\n/**\n * Styles for the backdrop slot\n */\nconst useBackdropResetStyles = /*#__PURE__*/__resetStyles(\"rmnljus\", null, [\".rmnljus{inset:0px;position:fixed;background-color:rgba(0, 0, 0, 0.4);}\"]);\nconst useBackdropStyles = /*#__PURE__*/__styles({\n nested: {\n De3pzq: \"f1c21dwh\"\n }\n}, {\n d: [\".f1c21dwh{background-color:var(--colorTransparentBackground);}\"]\n});\n/**\n * Apply styling to the OverlayDrawerSurface slots based on the state\n */\nexport const useOverlayDrawerSurfaceStyles_unstable = state => {\n 'use no memo';\n\n const backdropResetStyles = useBackdropResetStyles();\n const backdropStyles = useBackdropStyles();\n if (state.backdrop) {\n state.backdrop.className = mergeClasses(backdropResetStyles, state.isNestedDialog && backdropStyles.nested, state.backdrop.className);\n }\n return state;\n};","import * as React from 'react';\nimport { useDialogSurface_unstable, useDialogSurfaceContextValues_unstable, renderDialogSurface_unstable } from '@fluentui/react-dialog';\nimport { useOverlayDrawerSurfaceStyles_unstable } from './useOverlayDrawerSurfaceStyles.styles';\n/**\n * @internal\n * OverlayDrawerSurface is a proxy for DialogSurface as is only meant to be used internally for Drawer.\n */ export const OverlayDrawerSurface = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const dialogSurfaceState = useDialogSurface_unstable({\n ...props,\n /**\n * Drawer accepts a `div` or `aside` element type, but Dialog only accepts a `div` element type.\n * We need to cast the ref to a `div` element type to not break Dialog's ref type.\n *\n * FIXME: Evaluate the possibility to remove this cast when Dialog is refactored to accept `aside` elements.\n */ as: props.as\n }, ref);\n const dialogSurfaceContextValues = useDialogSurfaceContextValues_unstable(dialogSurfaceState);\n useOverlayDrawerSurfaceStyles_unstable(dialogSurfaceState);\n return renderDialogSurface_unstable(dialogSurfaceState, dialogSurfaceContextValues);\n});\nOverlayDrawerSurface.displayName = 'OverlayDrawerSurface';\n","export function useDialogSurfaceContextValues_unstable(state) {\n const dialogSurface = true;\n return {\n dialogSurface\n };\n}\n","import * as React from 'react';\n/**\n * @internal\n * @todo Drawer is a first component to use this pattern, we should move this to a shared package if it will be used in more components\n */ export function mergePresenceSlots(inputSlot, Component, params) {\n if (inputSlot === null) {\n return null;\n }\n return {\n ...inputSlot,\n children: (_, props)=>{\n if (inputSlot === null || inputSlot === void 0 ? void 0 : inputSlot.children) {\n return inputSlot.children(Component, {\n ...props,\n ...params\n });\n }\n return /*#__PURE__*/ React.createElement(Component, {\n ...props,\n ...params\n }, props.children);\n }\n };\n}\n","import * as React from 'react';\nimport { Dialog } from '@fluentui/react-dialog';\nimport { slot } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { toMountNodeProps } from '@fluentui/react-portal';\nimport { OverlayDrawerMotion, OverlaySurfaceBackdropMotion } from '../../shared/drawerMotions';\nimport { useDrawerDefaultProps } from '../../shared/useDrawerDefaultProps';\nimport { OverlayDrawerSurface } from './OverlayDrawerSurface';\nimport { mergePresenceSlots } from '../../shared/drawerMotionUtils';\nconst STATIC_MOTION = {\n active: true,\n canRender: true,\n ref: /*#__PURE__*/ React.createRef(),\n type: 'idle'\n};\n/**\n * Create the state required to render OverlayDrawer.\n *\n * The returned state can be modified with hooks such as useOverlayDrawerStyles_unstable,\n * before being passed to renderOverlayDrawer_unstable.\n *\n * @param props - props from this instance of OverlayDrawer\n * @param ref - reference to root HTMLElement of OverlayDrawer\n */ export const useOverlayDrawer_unstable = (props, ref)=>{\n const { open, size, position } = useDrawerDefaultProps(props);\n const { backdropMotion, modalType = 'modal', inertTrapFocus, onOpenChange, surfaceMotion, mountNode } = props;\n const { dir, targetDocument } = useFluent();\n const { element: mountNodeElement } = toMountNodeProps(mountNode);\n const hasMountNodeElement = Boolean(mountNodeElement && (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.body) !== mountNodeElement);\n const backdropProps = slot.resolveShorthand(props.backdrop);\n const hasCustomBackdrop = modalType !== 'non-modal' && backdropProps !== null;\n const root = slot.always({\n ...props,\n ref,\n backdrop: hasCustomBackdrop ? {\n ...backdropProps\n } : null,\n backdropMotion: mergePresenceSlots(backdropMotion, OverlaySurfaceBackdropMotion, {\n size\n })\n }, {\n /**\n * Drawer accepts a `div` or `aside` element type, but Dialog only accepts a `div` element type.\n * We need to cast the ref to a `div` element type to not break Dialog's ref type.\n */ elementType: OverlayDrawerSurface\n });\n const dialog = slot.always({\n open,\n onOpenChange,\n inertTrapFocus,\n modalType,\n surfaceMotion: mergePresenceSlots(surfaceMotion, OverlayDrawerMotion, {\n position,\n size,\n dir\n }),\n /**\n * children is not needed here because we construct the children in the render function,\n * but it's required by DialogProps\n */ children: null\n }, {\n elementType: Dialog\n });\n return {\n components: {\n root: OverlayDrawerSurface,\n dialog: Dialog\n },\n root,\n dialog,\n open,\n size,\n position,\n hasMountNodeElement,\n // Deprecated props\n mountNode,\n motion: STATIC_MOTION\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { DrawerProvider } from '../../contexts/drawerContext';\n/**\n * Render the final JSX of OverlayDrawer\n */ export const renderOverlayDrawer_unstable = (state, contextValue)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(DrawerProvider, {\n value: contextValue,\n children: /*#__PURE__*/ _jsx(state.dialog, {\n children: /*#__PURE__*/ _jsx(state.root, {})\n })\n });\n};\n","import * as React from 'react';\nimport { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { drawerCSSVars, drawerDefaultStyles, useDrawerBaseClassNames } from '../../shared/useDrawerBaseStyles.styles';\nexport const overlayDrawerClassNames = {\n root: 'fui-OverlayDrawer',\n backdrop: 'fui-OverlayDrawer__backdrop'\n};\n/**\n * Styles for the root slot\n */\nconst useDrawerResetStyles = /*#__PURE__*/__resetStyles(\"r7dfyj8\", \"rmx02j7\", {\n r: [\".r7dfyj8{overflow:hidden;width:var(--fui-Drawer--size);max-width:100vw;height:auto;max-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background-color:var(--colorNeutralBackground1);color:var(--colorNeutralForeground1);position:fixed;top:0;bottom:0;}\", \".r7dfyj8:focus{outline-style:none;}\", \".r7dfyj8:focus-visible{outline-style:none;}\", \".r7dfyj8[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".r7dfyj8[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".rmx02j7{overflow:hidden;width:var(--fui-Drawer--size);max-width:100vw;height:auto;max-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background-color:var(--colorNeutralBackground1);color:var(--colorNeutralForeground1);position:fixed;top:0;bottom:0;}\", \".rmx02j7:focus{outline-style:none;}\", \".rmx02j7:focus-visible{outline-style:none;}\", \".rmx02j7[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".rmx02j7[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n s: [\"@media (forced-colors: active){.r7dfyj8[data-fui-focus-visible]::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}\", \"@media (forced-colors: active){.rmx02j7[data-fui-focus-visible]::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}\"]\n});\nconst useDrawerRootStyles = /*#__PURE__*/__styles({\n start: {},\n end: {},\n bottom: {\n Bhzewxz: \"f198g47y\",\n Bqenvij: \"fub80nq\",\n a9b677: \"fr97h3j\"\n },\n absolute: {\n qhf8xq: \"f1euv43f\"\n }\n}, {\n d: [\".f198g47y{top:auto;}\", \".fub80nq{height:var(--fui-Drawer--size);}\", \".fr97h3j{width:100vw;}\", \".f1euv43f{position:absolute;}\"]\n});\n/**\n * Apply styling to the OverlayDrawer slots based on the state\n */\nexport const useOverlayDrawerStyles_unstable = state => {\n 'use no memo';\n\n const baseClassNames = useDrawerBaseClassNames(state);\n const resetStyles = useDrawerResetStyles();\n const rootStyles = useDrawerRootStyles();\n const absoluteStyles = state.hasMountNodeElement && rootStyles.absolute;\n const backdrop = state.root.backdrop;\n state.root.className = mergeClasses(overlayDrawerClassNames.root, baseClassNames, resetStyles, rootStyles[state.position], absoluteStyles, state.root.className);\n if (backdrop) {\n backdrop.className = mergeClasses(overlayDrawerClassNames.backdrop, absoluteStyles, backdrop.className);\n }\n return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerContextValue } from '../../contexts/drawerContext';\nimport { useOverlayDrawer_unstable } from './useOverlayDrawer';\nimport { renderOverlayDrawer_unstable } from './renderOverlayDrawer';\nimport { useOverlayDrawerStyles_unstable } from './useOverlayDrawerStyles.styles';\n/**\n * OverlayDrawer contains supplementary content and are used for complex creation, edit, or management experiences.\n */ export const OverlayDrawer = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useOverlayDrawer_unstable(props, ref);\n const contextValue = useDrawerContextValue();\n useOverlayDrawerStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerOverlayStyles_unstable')(state);\n useCustomStyleHook_unstable('useOverlayDrawerStyles_unstable')(state);\n return renderOverlayDrawer_unstable(state, contextValue);\n});\nOverlayDrawer.displayName = 'OverlayDrawer';\n","import * as React from 'react';\nimport { presenceMotionSlot } from '@fluentui/react-motion';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { InlineDrawerMotion } from '../../shared/drawerMotions';\nimport { useDrawerDefaultProps } from '../../shared/useDrawerDefaultProps';\nconst STATIC_MOTION = {\n active: true,\n canRender: true,\n ref: React.createRef(),\n type: 'idle'\n};\n/**\n * Create the state required to render InlineDrawer.\n *\n * The returned state can be modified with hooks such as useInlineDrawerStyles_unstable,\n * before being passed to renderInlineDrawer_unstable.\n *\n * @param props - props from this instance of InlineDrawer\n * @param ref - reference to root HTMLElement of InlineDrawer\n */ export const useInlineDrawer_unstable = (props, ref)=>{\n const { size, position, open } = useDrawerDefaultProps(props);\n const { separator = false, surfaceMotion } = props;\n const { dir } = useFluent();\n const state = {\n components: {\n root: 'div',\n // casting from internal type that has required properties\n // to external type that only has optional properties\n // converting to unknown first as both Function component signatures are not compatible\n surfaceMotion: InlineDrawerMotion\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ...props,\n ref\n }), {\n elementType: 'div'\n }),\n open,\n position,\n size,\n separator,\n surfaceMotion: presenceMotionSlot(surfaceMotion, {\n elementType: InlineDrawerMotion,\n defaultProps: {\n position,\n size,\n dir,\n visible: open,\n unmountOnExit: true\n }\n }),\n // Deprecated props\n motion: STATIC_MOTION\n };\n return state;\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { DrawerProvider } from '../../contexts/drawerContext';\n/**\n * Render the final JSX of InlineDrawer\n */ export const renderInlineDrawer_unstable = (state, contextValue)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(DrawerProvider, {\n value: contextValue,\n children: /*#__PURE__*/ _jsx(state.surfaceMotion, {\n children: /*#__PURE__*/ _jsx(state.root, {})\n })\n });\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { drawerCSSVars, drawerDefaultStyles, useDrawerBaseClassNames } from '../../shared/useDrawerBaseStyles.styles';\nexport const inlineDrawerClassNames = {\n root: 'fui-InlineDrawer'\n};\nconst useDrawerResetStyles = /*#__PURE__*/__resetStyles(\"rkjj3x6\", null, [\".rkjj3x6{overflow:hidden;width:var(--fui-Drawer--size);max-width:100vw;height:auto;max-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background-color:var(--colorNeutralBackground1);color:var(--colorNeutralForeground1);position:relative;}\"]);\n/**\n * Styles for the root slot\n */\nconst borderValue = `1px solid ${tokens.colorNeutralBackground3}`;\nconst useDrawerRootStyles = /*#__PURE__*/__styles({\n separatorStart: {\n h3c5rm: 0,\n vrafjx: 0,\n Bekrc4i: 0,\n u1mtju: [\"f1cxmi7i\", \"f1j970fk\"]\n },\n separatorEnd: {\n zhjwy3: 0,\n wvpqe5: 0,\n ibv6hh: 0,\n B4g9neb: [\"f1j970fk\", \"f1cxmi7i\"]\n },\n separatorBottom: {\n g2u3we: 0,\n icvyot: 0,\n B4j52fo: 0,\n i8vvqc: \"f1n3kblk\"\n },\n start: {},\n end: {},\n bottom: {\n a9b677: \"fly5x3f\",\n Bqenvij: \"fub80nq\"\n }\n}, {\n d: [[\".f1cxmi7i{border-right:1px solid var(--colorNeutralBackground3);}\", {\n p: -1\n }], [\".f1j970fk{border-left:1px solid var(--colorNeutralBackground3);}\", {\n p: -1\n }], [\".f1j970fk{border-left:1px solid var(--colorNeutralBackground3);}\", {\n p: -1\n }], [\".f1cxmi7i{border-right:1px solid var(--colorNeutralBackground3);}\", {\n p: -1\n }], [\".f1n3kblk{border-top:1px solid var(--colorNeutralBackground3);}\", {\n p: -1\n }], \".fly5x3f{width:100%;}\", \".fub80nq{height:var(--fui-Drawer--size);}\"]\n});\nfunction getSeparatorClass(state, classNames) {\n if (!state.separator) {\n return undefined;\n }\n switch (state.position) {\n case 'start':\n return classNames.separatorStart;\n case 'end':\n return classNames.separatorEnd;\n case 'bottom':\n return classNames.separatorBottom;\n default:\n return undefined;\n }\n}\n/**\n * Apply styling to the InlineDrawer slots based on the state\n */\nexport const useInlineDrawerStyles_unstable = state => {\n 'use no memo';\n\n const resetStyles = useDrawerResetStyles();\n const baseClassNames = useDrawerBaseClassNames(state);\n const rootStyles = useDrawerRootStyles();\n state.root.className = mergeClasses(inlineDrawerClassNames.root, resetStyles, baseClassNames, getSeparatorClass(state, rootStyles), rootStyles[state.position], state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerContextValue } from '../../contexts/drawerContext';\nimport { useInlineDrawer_unstable } from './useInlineDrawer';\nimport { renderInlineDrawer_unstable } from './renderInlineDrawer';\nimport { useInlineDrawerStyles_unstable } from './useInlineDrawerStyles.styles';\n/**\n * InlineDrawer is often used for navigation that is not dismissible. As it is on the same level as\n * the main surface, users can still interact with other UI elements.\n */ export const InlineDrawer = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useInlineDrawer_unstable(props, ref);\n const contextValue = useDrawerContextValue();\n useInlineDrawerStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerInlineStyles_unstable')(state);\n useCustomStyleHook_unstable('useInlineDrawerStyles_unstable')(state);\n return renderInlineDrawer_unstable(state, contextValue);\n});\nInlineDrawer.displayName = 'InlineDrawer';\n","import * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { OverlayDrawer } from '../OverlayDrawer';\nimport { InlineDrawer } from '../InlineDrawer';\n/**\n * Create the state required to render Drawer.\n *\n * The returned state can be modified with hooks such as useDrawerStyles_unstable,\n * before being passed to renderDrawer_unstable.\n *\n * @param props - props from this instance of Drawer\n * @param ref - reference to root HTMLElement of Drawer\n */ export const useDrawer_unstable = (props, ref)=>{\n // casting here to convert a union of functions to a single function with the union of parameters\n const elementType = props.type === 'inline' ? InlineDrawer : OverlayDrawer;\n const root = slot.always({\n ref,\n ...props\n }, {\n elementType\n });\n return {\n components: {\n root: elementType\n },\n root\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { DrawerProvider } from '../../contexts/drawerContext';\n/**\n * Render the final JSX of Drawer\n */ export const renderDrawer_unstable = (state, contextValue)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(DrawerProvider, {\n value: contextValue,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import { mergeClasses } from '@griffel/react';\nexport const drawerClassNames = {\n root: 'fui-Drawer'\n};\n/**\n * Apply styling to the Drawer slots based on the state\n */\nexport const useDrawerStyles_unstable = state => {\n 'use no memo';\n\n state.root.className = mergeClasses(drawerClassNames.root, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerContextValue } from '../../contexts/drawerContext';\nimport { useDrawer_unstable } from './useDrawer';\nimport { renderDrawer_unstable } from './renderDrawer';\nimport { useDrawerStyles_unstable } from './useDrawerStyles.styles';\n/**\n * Drawer contains supplementary content and are used for complex creation, edit, or management experiences.\n */ export const Drawer = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawer_unstable(props, ref);\n const contextValue = useDrawerContextValue();\n useDrawerStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerStyles_unstable')(state);\n return renderDrawer_unstable(state, contextValue);\n});\nDrawer.displayName = 'Drawer';\n","import { useBrowserTimer } from './useBrowserTimer';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nconst setAnimationFrameNoop = (callback)=>{\n callback(0);\n return 0;\n};\nconst cancelAnimationFrameNoop = (handle)=>handle;\n/**\n * @internal\n * Helper to manage a browser requestAnimationFrame.\n * Ensures that the requestAnimationFrame isn't set multiple times at once and is cleaned up\n * when the component is unloaded.\n *\n * @returns A pair of [requestAnimationFrame, cancelAnimationFrame] that are stable between renders.\n */ export function useAnimationFrame() {\n const { targetDocument } = useFluent();\n const win = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;\n const setAnimationFrame = win ? win.requestAnimationFrame : setAnimationFrameNoop;\n const clearAnimationFrame = win ? win.cancelAnimationFrame : cancelAnimationFrameNoop;\n return useBrowserTimer(setAnimationFrame, clearAnimationFrame);\n}\n","import * as React from 'react';\nimport { mergeCallbacks, slot, useAnimationFrame, useMergedRefs, useIsomorphicLayoutEffect, getIntrinsicElementProps } from '@fluentui/react-utilities';\nimport { useDrawerContext_unstable } from '../../contexts/drawerContext';\n/**\n * @internal\n *\n * Get the current scroll state of the DrawerBody.\n *\n * @param element - HTMLElement to check scroll state of\n */ const getScrollState = ({ scrollTop, scrollHeight, clientHeight })=>{\n if (scrollHeight <= clientHeight) {\n return 'none';\n }\n if (scrollTop === 0) {\n return 'top';\n }\n if (scrollTop + clientHeight === scrollHeight) {\n return 'bottom';\n }\n return 'middle';\n};\n/**\n * Create the state required to render DrawerBody.\n *\n * The returned state can be modified with hooks such as useDrawerBodyStyles_unstable,\n * before being passed to renderDrawerBody_unstable.\n *\n * @param props - props from this instance of DrawerBody\n * @param ref - reference to root HTMLElement of DrawerBody\n */ export const useDrawerBody_unstable = (props, ref)=>{\n const { setScrollState } = useDrawerContext_unstable();\n const scrollRef = React.useRef(null);\n const [setAnimationFrame, cancelAnimationFrame] = useAnimationFrame();\n const updateScrollState = React.useCallback(()=>{\n if (!scrollRef.current) {\n return;\n }\n setScrollState(getScrollState(scrollRef.current));\n }, [\n setScrollState\n ]);\n const onScroll = React.useCallback(()=>{\n cancelAnimationFrame();\n setAnimationFrame(()=>updateScrollState());\n }, [\n cancelAnimationFrame,\n setAnimationFrame,\n updateScrollState\n ]);\n useIsomorphicLayoutEffect(()=>{\n updateScrollState();\n /* update scroll state when children changes */ }, [\n props.children,\n updateScrollState\n ]);\n useIsomorphicLayoutEffect(()=>{\n updateScrollState();\n return ()=>cancelAnimationFrame();\n }, [\n cancelAnimationFrame,\n updateScrollState\n ]);\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, scrollRef),\n ...props,\n onScroll: mergeCallbacks(props.onScroll, onScroll)\n }), {\n elementType: 'div'\n })\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerBody\n */ export const renderDrawerBody_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerBodyClassNames = {\n root: 'fui-DrawerBody'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__resetStyles(\"ri6rvx7\", null, [\".ri6rvx7{padding:0 var(--spacingHorizontalXXL);flex:1;align-self:stretch;position:relative;z-index:1;overflow:auto;}\", \".ri6rvx7:last-child{padding-bottom:calc(var(--spacingHorizontalXXL) + 1px);}\", \".ri6rvx7:first-child{padding-top:calc(var(--spacingHorizontalXXL) + 1px);}\"]);\n/**\n * Apply styling to the DrawerBody slots based on the state\n */\nexport const useDrawerBodyStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(drawerBodyClassNames.root, styles, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerBody_unstable } from './useDrawerBody';\nimport { renderDrawerBody_unstable } from './renderDrawerBody';\nimport { useDrawerBodyStyles_unstable } from './useDrawerBodyStyles.styles';\n/**\n * DrawerBody provides with a container for the main content of a Drawer.\n */ export const DrawerBody = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerBody_unstable(props, ref);\n useDrawerBodyStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerBodyStyles_unstable')(state);\n return renderDrawerBody_unstable(state);\n});\nDrawerBody.displayName = 'DrawerBody';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useDrawerContext_unstable } from '../../contexts/drawerContext';\n/**\n * Create the state required to render DrawerHeader.\n *\n * The returned state can be modified with hooks such as useDrawerHeaderStyles_unstable,\n * before being passed to renderDrawerHeader_unstable.\n *\n * @param props - props from this instance of DrawerHeader\n * @param ref - reference to root HTMLElement of DrawerHeader\n */ export const useDrawerHeader_unstable = (props, ref)=>{\n const { scrollState } = useDrawerContext_unstable();\n return {\n components: {\n root: 'header'\n },\n root: slot.always(getIntrinsicElementProps('header', {\n ref,\n role: 'none',\n ...props\n }), {\n elementType: 'header'\n }),\n scrollState\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerHeader\n */ export const renderDrawerHeader_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { drawerSeparatorStyles } from '../../shared/drawerSeparatorStyles';\nexport const drawerHeaderClassNames = {\n root: 'fui-DrawerHeader'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__resetStyles(\"r3ovn4i\", null, [\".r3ovn4i{width:100%;max-width:100%;padding:var(--spacingVerticalXXL) var(--spacingHorizontalXXL) var(--spacingVerticalS);gap:var(--spacingHorizontalS);align-self:stretch;display:flex;flex-direction:column;box-sizing:border-box;position:relative;z-index:2;}\"]);\nconst useDrawerHeaderStyles = /*#__PURE__*/__styles({\n separator: {\n Dlnsje: \"fxnjyrl\",\n E3zdtr: \"f1mdlcz9\",\n B1piin3: [\"f15yvnhg\", \"f1n6gb5g\"],\n Eqx8gd: [\"f1n6gb5g\", \"f15yvnhg\"],\n Bp15pi3: \"f1564nw5\",\n Bjyk6c5: \"fdlpgxj\",\n F2fol1: \"f15cmg8x\",\n Ba2ppi3: \"f3f8dgl\",\n B1dyfl9: \"fjvo4va\",\n Bsft5z2: \"f13zj6fq\",\n By385i5: \"fo72kxq\"\n },\n separatorVisible: {\n Bp15pi3: \"fjsqi2x\"\n }\n}, {\n d: [\".fxnjyrl::after{height:1px;}\", \".f1mdlcz9::after{position:absolute;}\", \".f15yvnhg::after{right:0;}\", \".f1n6gb5g::after{left:0;}\", \".f1564nw5::after{opacity:0;}\", \".fdlpgxj::after{background-color:var(--colorNeutralStroke1);}\", \".f15cmg8x::after{transition-duration:var(--durationNormal);}\", \".f3f8dgl::after{transition-property:opacity;}\", \".fjvo4va::after{transition-timing-function:var(--curveEasyEase);}\", \".f13zj6fq::after{content:\\\"\\\";}\", \".fo72kxq::after{bottom:0;}\", \".fjsqi2x::after{opacity:1;}\"]\n});\n/**\n * Apply styling to the DrawerHeader slots based on the state\n */\nexport const useDrawerHeaderStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const rootStyles = useDrawerHeaderStyles();\n state.root.className = mergeClasses(drawerHeaderClassNames.root, styles, state.scrollState !== 'none' && rootStyles.separator, ['middle', 'bottom'].includes(state.scrollState) && rootStyles.separatorVisible, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerHeader_unstable } from './useDrawerHeader';\nimport { renderDrawerHeader_unstable } from './renderDrawerHeader';\nimport { useDrawerHeaderStyles_unstable } from './useDrawerHeaderStyles.styles';\n/**\n * DrawerHeader provides a structured header for the drawer component.\n */ export const DrawerHeader = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerHeader_unstable(props, ref);\n useDrawerHeaderStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerHeaderStyles_unstable')(state);\n return renderDrawerHeader_unstable(state);\n});\nDrawerHeader.displayName = 'DrawerHeader';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useDialogContext_unstable } from '@fluentui/react-dialog';\n/**\n * Create the state required to render DrawerHeaderTitle.\n *\n * The returned state can be modified with hooks such as useDrawerHeaderTitleStyles_unstable,\n * before being passed to renderDrawerHeaderTitle_unstable.\n *\n * @param props - props from this instance of DrawerHeaderTitle\n * @param ref - reference to root HTMLElement of DrawerHeaderTitle\n */ export const useDrawerHeaderTitle_unstable = (props, ref)=>{\n const { children, heading } = props;\n const headingId = useDialogContext_unstable((ctx)=>ctx.dialogTitleId);\n return {\n components: {\n root: 'div',\n heading: 'h2',\n action: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref,\n ...props\n }), {\n elementType: 'div'\n }),\n heading: slot.optional(heading, {\n defaultProps: {\n id: headingId,\n children\n },\n renderByDefault: true,\n elementType: 'h2'\n }),\n action: slot.optional(props.action, {\n elementType: 'div'\n })\n };\n};\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerHeaderTitle\n */ export const renderDrawerHeaderTitle_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.heading && /*#__PURE__*/ _jsx(state.heading, {}),\n state.action && /*#__PURE__*/ _jsx(state.action, {})\n ]\n });\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { typographyStyles } from '@fluentui/react-theme';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nexport const dialogTitleClassNames = {\n root: 'fui-DialogTitle',\n action: 'fui-DialogTitle__action'\n};\n/**\n * Styles for the root slot\n */\nconst useRootResetStyles = /*#__PURE__*/__resetStyles(\"rxjm636\", null, [\".rxjm636{font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase500);font-weight:var(--fontWeightSemibold);line-height:var(--lineHeightBase500);margin:0;grid-row-start:1;grid-row-end:1;grid-column-start:1;grid-column-end:3;}\"]);\nconst useStyles = /*#__PURE__*/__styles({\n rootWithoutAction: {\n Bw0ie65: \"fsyjsko\"\n }\n}, {\n d: [\".fsyjsko{grid-column-end:4;}\"]\n});\n/**\n * Styles for the action slot\n */\nconst useActionResetStyles = /*#__PURE__*/__resetStyles(\"r13kcrze\", null, [\".r13kcrze{grid-row-start:1;grid-row-end:1;grid-column-start:3;justify-self:end;align-self:start;}\"]);\n/**\n * Styles to be applied on internal elements used by default action on non-modal Dialog\n * @internal\n */\nexport const useDialogTitleInternalStyles = /*#__PURE__*/__resetStyles(\"r2avt6e\", \"roj2bbc\", {\n r: [\".r2avt6e{overflow:visible;padding:0;border-style:none;position:relative;box-sizing:content-box;background-color:inherit;color:inherit;font-family:inherit;font-size:inherit;cursor:pointer;line-height:0;-webkit-appearance:button;text-align:unset;}\", \".r2avt6e:focus{outline-style:none;}\", \".r2avt6e:focus-visible{outline-style:none;}\", \".r2avt6e[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".r2avt6e[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".roj2bbc{overflow:visible;padding:0;border-style:none;position:relative;box-sizing:content-box;background-color:inherit;color:inherit;font-family:inherit;font-size:inherit;cursor:pointer;line-height:0;-webkit-appearance:button;text-align:unset;}\", \".roj2bbc:focus{outline-style:none;}\", \".roj2bbc:focus-visible{outline-style:none;}\", \".roj2bbc[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".roj2bbc[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n s: [\"@media (forced-colors: active){.r2avt6e[data-fui-focus-visible]::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}\", \"@media (forced-colors: active){.roj2bbc[data-fui-focus-visible]::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}\"]\n});\n/**\n * Apply styling to the DialogTitle slots based on the state\n */\nexport const useDialogTitleStyles_unstable = state => {\n 'use no memo';\n\n const rootResetStyles = useRootResetStyles();\n const actionResetStyles = useActionResetStyles();\n const styles = useStyles();\n state.root.className = mergeClasses(dialogTitleClassNames.root, rootResetStyles, !state.action && styles.rootWithoutAction, state.root.className);\n if (state.action) {\n state.action.className = mergeClasses(dialogTitleClassNames.action, actionResetStyles, state.action.className);\n }\n return state;\n};","import { __styles, mergeClasses } from '@griffel/react';\nimport { useDialogTitleStyles_unstable } from '@fluentui/react-dialog';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerHeaderTitleClassNames = {\n root: 'fui-DrawerHeaderTitle',\n heading: 'fui-DrawerHeaderTitle__heading',\n action: 'fui-DrawerHeaderTitle__action'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Brf1p80: \"f1869bpl\",\n Bt984gj: \"f122n59\",\n i8kkvl: \"fsnqrgy\"\n },\n action: {\n t21cq0: [\"faqnl2i\", \"fd75udd\"]\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1869bpl{justify-content:space-between;}\", \".f122n59{align-items:center;}\", \".fsnqrgy{column-gap:var(--spacingHorizontalS);}\", \".faqnl2i{margin-right:calc(var(--spacingHorizontalS) * -1);}\", \".fd75udd{margin-left:calc(var(--spacingHorizontalS) * -1);}\"]\n});\n/**\n * Apply styling to the DrawerHeaderTitle slots based on the state\n */\nexport const useDrawerHeaderTitleStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const {\n heading: root = {},\n action,\n components\n } = state;\n useDialogTitleStyles_unstable({\n components: {\n root: components.heading,\n action: components.action\n },\n root,\n action\n });\n state.root.className = mergeClasses(drawerHeaderTitleClassNames.root, styles.root, state.root.className);\n if (state.heading) {\n state.heading.className = mergeClasses(drawerHeaderTitleClassNames.heading, state.heading.className);\n }\n if (state.action) {\n state.action.className = mergeClasses(drawerHeaderTitleClassNames.action, styles.action, state.action.className);\n }\n return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerHeaderTitle_unstable } from './useDrawerHeaderTitle';\nimport { renderDrawerHeaderTitle_unstable } from './renderDrawerHeaderTitle';\nimport { useDrawerHeaderTitleStyles_unstable } from './useDrawerHeaderTitleStyles.styles';\n/**\n * DrawerHeader provides a structured header for the drawer component.\n */ export const DrawerHeaderTitle = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerHeaderTitle_unstable(props, ref);\n useDrawerHeaderTitleStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerHeaderTitleStyles_unstable')(state);\n return renderDrawerHeaderTitle_unstable(state);\n});\nDrawerHeaderTitle.displayName = 'DrawerHeaderTitle';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render DrawerHeaderNavigation.\n *\n * The returned state can be modified with hooks such as useDrawerHeaderNavigationStyles_unstable,\n * before being passed to renderDrawerHeaderNavigation_unstable.\n *\n * @param props - props from this instance of DrawerHeaderNavigation\n * @param ref - reference to root HTMLElement of DrawerHeaderNavigation\n */ export const useDrawerHeaderNavigation_unstable = (props, ref)=>{\n return {\n components: {\n root: 'nav'\n },\n root: slot.always(getIntrinsicElementProps('nav', {\n ref,\n ...props\n }), {\n elementType: 'nav'\n })\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerHeaderNavigation\n */ export const renderDrawerHeaderNavigation_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerHeaderNavigationClassNames = {\n root: 'fui-DrawerHeaderNavigation'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__resetStyles(\"r1ig4pwh\", null, [\".r1ig4pwh{margin:calc(var(--spacingVerticalS) * -1) calc(var(--spacingHorizontalL) * -1);}\"]);\n/**\n * Apply styling to the DrawerHeaderNavigation slots based on the state\n */\nexport const useDrawerHeaderNavigationStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(drawerHeaderNavigationClassNames.root, styles, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerHeaderNavigation_unstable } from './useDrawerHeaderNavigation';\nimport { renderDrawerHeaderNavigation_unstable } from './renderDrawerHeaderNavigation';\nimport { useDrawerHeaderNavigationStyles_unstable } from './useDrawerHeaderNavigationStyles.styles';\n/**\n * DrawerHeaderNavigation provides a header navigation area for the Drawer.\n */ export const DrawerHeaderNavigation = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerHeaderNavigation_unstable(props, ref);\n useDrawerHeaderNavigationStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerHeaderNavigationStyles_unstable')(state);\n return renderDrawerHeaderNavigation_unstable(state);\n});\nDrawerHeaderNavigation.displayName = 'DrawerHeaderNavigation';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useDrawerContext_unstable } from '../../contexts/drawerContext';\n/**\n * Create the state required to render DrawerFooter.\n *\n * The returned state can be modified with hooks such as useDrawerFooterStyles_unstable,\n * before being passed to renderDrawerFooter_unstable.\n *\n * @param props - props from this instance of DrawerFooter\n * @param ref - reference to root HTMLElement of DrawerFooter\n */ export const useDrawerFooter_unstable = (props, ref)=>{\n const { scrollState } = useDrawerContext_unstable();\n return {\n components: {\n root: 'footer'\n },\n root: slot.always(getIntrinsicElementProps('footer', {\n ref,\n role: 'none',\n ...props\n }), {\n elementType: 'footer'\n }),\n scrollState\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerFooter\n */ export const renderDrawerFooter_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { drawerSeparatorStyles } from '../../shared/drawerSeparatorStyles';\nexport const drawerFooterClassNames = {\n root: 'fui-DrawerFooter'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__resetStyles(\"r1snvl2j\", null, [\".r1snvl2j{width:100%;max-width:100%;padding:var(--spacingVerticalL) var(--spacingHorizontalXXL) var(--spacingVerticalXXL);display:flex;justify-content:flex-start;align-items:center;column-gap:var(--spacingHorizontalS);box-sizing:border-box;position:relative;z-index:2;}\"]);\nconst useDrawerFooterStyles = /*#__PURE__*/__styles({\n separator: {\n Baz25je: \"f16b62f1\",\n Brfgrao: \"f1j7ml58\",\n mdwyqc: [\"f1f351id\", \"f1fzr1x6\"],\n Fbdkly: [\"f1fzr1x6\", \"f1f351id\"],\n vz82u: \"f1dhznln\",\n cmx5o7: \"f1p5zmk\",\n h7gv66: \"f1ljjo4k\",\n B8bqphf: \"ffd2d9j\",\n wjn42g: \"ffdt3s5\",\n Ftih45: \"f1wl9k8s\",\n Bciustq: \"ffi060y\"\n },\n separatorVisible: {\n vz82u: \"f1b3qyzu\"\n }\n}, {\n d: [\".f16b62f1::before{height:1px;}\", \".f1j7ml58::before{position:absolute;}\", \".f1f351id::before{right:0;}\", \".f1fzr1x6::before{left:0;}\", \".f1dhznln::before{opacity:0;}\", \".f1p5zmk::before{background-color:var(--colorNeutralStroke1);}\", \".f1ljjo4k::before{transition-duration:var(--durationNormal);}\", \".ffd2d9j::before{transition-property:opacity;}\", \".ffdt3s5::before{transition-timing-function:var(--curveEasyEase);}\", \".f1wl9k8s::before{content:\\\"\\\";}\", \".ffi060y::before{top:0;}\", \".f1b3qyzu::before{opacity:1;}\"]\n});\n/**\n * Apply styling to the DrawerFooter slots based on the state\n */\nexport const useDrawerFooterStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const rootStyles = useDrawerFooterStyles();\n state.root.className = mergeClasses(drawerFooterClassNames.root, styles, state.scrollState !== 'none' && rootStyles.separator, ['middle', 'top'].includes(state.scrollState) && rootStyles.separatorVisible, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerFooter_unstable } from './useDrawerFooter';\nimport { renderDrawerFooter_unstable } from './renderDrawerFooter';\nimport { useDrawerFooterStyles_unstable } from './useDrawerFooterStyles.styles';\n/**\n * DrawerFooter provides a structured footer for the drawer component.\n */ export const DrawerFooter = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useDrawerFooter_unstable(props, ref);\n useDrawerFooterStyles_unstable(state);\n useCustomStyleHook_unstable('useDrawerFooterStyles_unstable')(state);\n return renderDrawerFooter_unstable(state);\n});\nDrawerFooter.displayName = 'DrawerFooter';\n","import * as React from 'react';\nimport { getMetadataFromSlotComponent } from '../utils/getMetadataFromSlotComponent';\n/**\n * @internal\n * creates a ReactElement from a slot declaration\n */ export function createElementFromSlotComponent(type, overrideChildren) {\n const { elementType , renderFunction , props } = getMetadataFromSlotComponent(type);\n if (renderFunction) {\n if (overrideChildren.length > 0) {\n props.children = React.createElement(React.Fragment, {}, ...overrideChildren);\n }\n return React.createElement(React.Fragment, {}, renderFunction(elementType, props));\n }\n return React.createElement(elementType, props, ...overrideChildren);\n}\n","import { SLOT_ELEMENT_TYPE_SYMBOL, SLOT_RENDER_FUNCTION_SYMBOL } from '@fluentui/react-utilities';\n/**\n * @internal\n */ export function getMetadataFromSlotComponent(type) {\n const { as , [SLOT_ELEMENT_TYPE_SYMBOL]: baseElementType , [SLOT_RENDER_FUNCTION_SYMBOL]: renderFunction , ...propsWithoutMetadata } = type;\n const props = propsWithoutMetadata;\n const elementType = typeof baseElementType === 'string' ? as !== null && as !== void 0 ? as : baseElementType : baseElementType;\n if (typeof elementType !== 'string' && as) {\n props.as = as;\n }\n return {\n elementType,\n props,\n renderFunction\n };\n}\n","import * as React from 'react';\nimport { isSlot } from '@fluentui/react-utilities';\nimport { createElementFromSlotComponent } from './jsx/createElementFromSlotComponent';\nimport { createCompatSlotComponent } from './utils/createCompatSlotComponent';\nexport function createElement(type, props, ...children) {\n // TODO:\n // this is for backwards compatibility with getSlotsNext\n // it should be removed once getSlotsNext is obsolete\n if (isSlot(props)) {\n return createElementFromSlotComponent(createCompatSlotComponent(type, props), children);\n }\n if (isSlot(type)) {\n return createElementFromSlotComponent(type, children);\n }\n return React.createElement(type, props, ...children);\n}\n","import * as React from 'react';\nimport { SLOT_ELEMENT_TYPE_SYMBOL } from '@fluentui/react-utilities';\n// TODO:\n// this is for backwards compatibility with getSlotsNext\n// it should be removed once getSlotsNext is obsolete\nexport function createCompatSlotComponent(type, props) {\n return {\n ...props,\n [SLOT_ELEMENT_TYPE_SYMBOL]: type\n };\n}\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const labelClassNames = {\n root: 'fui-Label',\n required: 'fui-Label__required'\n};\n/**\n * Styles for the label\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n Bahqtrf: \"fk6fouc\",\n sj55zd: \"f19n0e5\"\n },\n disabled: {\n sj55zd: \"f1s2aq7o\",\n Bbusuzp: \"f1dcs8yz\"\n },\n required: {\n sj55zd: \"f1whyuy6\",\n uwmqm3: [\"fruq291\", \"f7x41pl\"]\n },\n small: {\n Be2twd7: \"fy9rknc\",\n Bg96gwp: \"fwrc4pm\"\n },\n medium: {\n Be2twd7: \"fkhj508\",\n Bg96gwp: \"f1i3iumi\"\n },\n large: {\n Be2twd7: \"fod5ikn\",\n Bg96gwp: \"faaz57k\",\n Bhrd7zp: \"fl43uef\"\n },\n semibold: {\n Bhrd7zp: \"fl43uef\"\n }\n}, {\n d: [\".fk6fouc{font-family:var(--fontFamilyBase);}\", \".f19n0e5{color:var(--colorNeutralForeground1);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".f1whyuy6{color:var(--colorPaletteRedForeground3);}\", \".fruq291{padding-left:var(--spacingHorizontalXS);}\", \".f7x41pl{padding-right:var(--spacingHorizontalXS);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\", \".fl43uef{font-weight:var(--fontWeightSemibold);}\"],\n m: [[\"@media (forced-colors: active){.f1dcs8yz{color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\n/**\n * Apply styling to the Label slots based on the state\n */\nexport const useLabelStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(labelClassNames.root, styles.root, state.disabled && styles.disabled, styles[state.size], state.weight === 'semibold' && styles.semibold, state.root.className);\n if (state.required) {\n state.required.className = mergeClasses(labelClassNames.required, styles.required, state.disabled && styles.disabled, state.required.className);\n }\n return state;\n};","import * as React from 'react';\nimport { useLabel_unstable } from './useLabel';\nimport { renderLabel_unstable } from './renderLabel';\nimport { useLabelStyles_unstable } from './useLabelStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A label component provides a title or name to a component.\n */ export const Label = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useLabel_unstable(props, ref);\n useLabelStyles_unstable(state);\n useCustomStyleHook_unstable('useLabelStyles_unstable')(state);\n return renderLabel_unstable(state);\n});\nLabel.displayName = 'Label';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render Label.\n *\n * The returned state can be modified with hooks such as useLabelStyles_unstable,\n * before being passed to renderLabel_unstable.\n *\n * @param props - props from this instance of Label\n * @param ref - reference to root HTMLElement of Label\n */ export const useLabel_unstable = (props, ref)=>{\n const { disabled = false, required = false, weight = 'regular', size = 'medium' } = props;\n return {\n disabled,\n required: slot.optional(required === true ? '*' : required || undefined, {\n defaultProps: {\n 'aria-hidden': 'true'\n },\n elementType: 'span'\n }),\n weight,\n size,\n components: {\n root: 'label',\n required: 'span'\n },\n root: slot.always(getIntrinsicElementProps('label', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLLabelElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...props\n }), {\n elementType: 'label'\n })\n };\n};\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Label\n */ export const renderLabel_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.root.children,\n state.required && /*#__PURE__*/ _jsx(state.required, {})\n ]\n });\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const checkboxClassNames = {\n root: 'fui-Checkbox',\n label: 'fui-Checkbox__label',\n input: 'fui-Checkbox__input',\n indicator: 'fui-Checkbox__indicator'\n};\n// CSS variables used internally in Checkbox's styles\nconst vars = {\n indicatorColor: '--fui-Checkbox__indicator--color',\n indicatorBorderColor: '--fui-Checkbox__indicator--borderColor',\n indicatorBackgroundColor: '--fui-Checkbox__indicator--backgroundColor'\n};\n// The indicator size is used by the indicator and label styles\nconst indicatorSizeMedium = '16px';\nconst indicatorSizeLarge = '20px';\nconst useRootBaseClassName = /*#__PURE__*/__resetStyles(\"r1q22k1j\", \"r18ze4k2\", {\n r: [\".r1q22k1j{position:relative;display:inline-flex;cursor:pointer;vertical-align:middle;color:var(--colorNeutralForeground3);}\", \".r1q22k1j:focus{outline-style:none;}\", \".r1q22k1j:focus-visible{outline-style:none;}\", \".r1q22k1j[data-fui-focus-within]:focus-within{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".r1q22k1j[data-fui-focus-within]:focus-within::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".r18ze4k2{position:relative;display:inline-flex;cursor:pointer;vertical-align:middle;color:var(--colorNeutralForeground3);}\", \".r18ze4k2:focus{outline-style:none;}\", \".r18ze4k2:focus-visible{outline-style:none;}\", \".r18ze4k2[data-fui-focus-within]:focus-within{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".r18ze4k2[data-fui-focus-within]:focus-within::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n s: [\"@media (forced-colors: active){.r1q22k1j[data-fui-focus-within]:focus-within::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}\", \"@media (forced-colors: active){.r18ze4k2[data-fui-focus-within]:focus-within::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}\"]\n});\nconst useRootStyles = /*#__PURE__*/__styles({\n unchecked: {\n Bi91k9c: \"f3p8bqa\",\n pv5h1i: \"fium13f\",\n lj723h: \"f1r2dosr\",\n Hnthvo: \"f1729es6\"\n },\n checked: {\n sj55zd: \"f19n0e5\",\n wkncrt: \"f35ds98\",\n zxk7z7: \"f12mnkne\",\n Hmsnfy: \"fei9a8h\",\n e6czan: \"fix56y3\",\n pv5h1i: \"f1bcv2js\",\n qbydtz: \"f7dr4go\",\n Hnthvo: \"f1r5cpua\"\n },\n mixed: {\n sj55zd: \"f19n0e5\",\n Hmsnfy: \"f1l27tf0\",\n zxk7z7: \"fcilktj\",\n pv5h1i: \"f1lphd54\",\n Bunfa6h: \"f1obkvq7\",\n Hnthvo: \"f2gmbuh\",\n B15ykmv: \"f1oy4fa1\"\n },\n disabled: {\n Bceei9c: \"f158kwzp\",\n sj55zd: \"f1s2aq7o\",\n Hmsnfy: \"f1w7mfl5\",\n zxk7z7: \"fcoafq6\",\n Bbusuzp: \"f1dcs8yz\",\n mrqfp9: \"fxb3eh3\"\n }\n}, {\n h: [\".f3p8bqa:hover{color:var(--colorNeutralForeground2);}\", \".fium13f:hover{--fui-Checkbox__indicator--borderColor:var(--colorNeutralStrokeAccessibleHover);}\", \".fix56y3:hover{--fui-Checkbox__indicator--backgroundColor:var(--colorCompoundBrandBackgroundHover);}\", \".f1bcv2js:hover{--fui-Checkbox__indicator--borderColor:var(--colorCompoundBrandBackgroundHover);}\", \".f1lphd54:hover{--fui-Checkbox__indicator--borderColor:var(--colorCompoundBrandStrokeHover);}\", \".f1obkvq7:hover{--fui-Checkbox__indicator--color:var(--colorCompoundBrandForeground1Hover);}\"],\n a: [\".f1r2dosr:active{color:var(--colorNeutralForeground1);}\", \".f1729es6:active{--fui-Checkbox__indicator--borderColor:var(--colorNeutralStrokeAccessiblePressed);}\", \".f7dr4go:active{--fui-Checkbox__indicator--backgroundColor:var(--colorCompoundBrandBackgroundPressed);}\", \".f1r5cpua:active{--fui-Checkbox__indicator--borderColor:var(--colorCompoundBrandBackgroundPressed);}\", \".f2gmbuh:active{--fui-Checkbox__indicator--borderColor:var(--colorCompoundBrandStrokePressed);}\", \".f1oy4fa1:active{--fui-Checkbox__indicator--color:var(--colorCompoundBrandForeground1Pressed);}\"],\n d: [\".f19n0e5{color:var(--colorNeutralForeground1);}\", \".f35ds98{--fui-Checkbox__indicator--backgroundColor:var(--colorCompoundBrandBackground);}\", \".f12mnkne{--fui-Checkbox__indicator--color:var(--colorNeutralForegroundInverted);}\", \".fei9a8h{--fui-Checkbox__indicator--borderColor:var(--colorCompoundBrandBackground);}\", \".f1l27tf0{--fui-Checkbox__indicator--borderColor:var(--colorCompoundBrandStroke);}\", \".fcilktj{--fui-Checkbox__indicator--color:var(--colorCompoundBrandForeground1);}\", \".f158kwzp{cursor:default;}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".f1w7mfl5{--fui-Checkbox__indicator--borderColor:var(--colorNeutralStrokeDisabled);}\", \".fcoafq6{--fui-Checkbox__indicator--color:var(--colorNeutralForegroundDisabled);}\"],\n m: [[\"@media (forced-colors: active){.f1dcs8yz{color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.fxb3eh3{--fui-Checkbox__indicator--color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\nconst useInputBaseClassName = /*#__PURE__*/__resetStyles(\"ruo9svu\", null, [\".ruo9svu{box-sizing:border-box;cursor:inherit;height:100%;margin:0;opacity:0;position:absolute;top:0;width:calc(16px + 2 * var(--spacingHorizontalS));}\"]);\nconst useInputStyles = /*#__PURE__*/__styles({\n before: {\n j35jbq: [\"f1e31b4d\", \"f1vgc2s3\"]\n },\n after: {\n oyh7mz: [\"f1vgc2s3\", \"f1e31b4d\"]\n },\n large: {\n a9b677: \"f1mq5jt6\"\n }\n}, {\n d: [\".f1e31b4d{right:0;}\", \".f1vgc2s3{left:0;}\", \".f1mq5jt6{width:calc(20px + 2 * var(--spacingHorizontalS));}\"]\n});\nconst useIndicatorBaseClassName = /*#__PURE__*/__resetStyles(\"rl7ci6d\", null, [\".rl7ci6d{align-self:flex-start;box-sizing:border-box;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--fui-Checkbox__indicator--color);background-color:var(--fui-Checkbox__indicator--backgroundColor);border-color:var(--fui-Checkbox__indicator--borderColor, var(--colorNeutralStrokeAccessible));border-style:solid;border-width:var(--strokeWidthThin);border-radius:var(--borderRadiusSmall);margin:var(--spacingVerticalS) var(--spacingHorizontalS);fill:currentColor;pointer-events:none;font-size:12px;height:16px;width:16px;}\"]);\nconst useIndicatorStyles = /*#__PURE__*/__styles({\n large: {\n Be2twd7: \"f4ybsrx\",\n Bqenvij: \"fjamq6b\",\n a9b677: \"f64fuq3\"\n },\n circular: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"f44lkw9\"\n }\n}, {\n d: [\".f4ybsrx{font-size:16px;}\", \".fjamq6b{height:20px;}\", \".f64fuq3{width:20px;}\", [\".f44lkw9{border-radius:var(--borderRadiusCircular);}\", {\n p: -1\n }]]\n});\n// Can't use makeResetStyles here because Label is a component that may itself use makeResetStyles.\nconst useLabelStyles = /*#__PURE__*/__styles({\n base: {\n qb2dma: \"f7nlbp4\",\n sj55zd: \"f1ym3bx4\",\n Bceei9c: \"fpo1scq\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f1f5q0n8\"\n },\n before: {\n z189sj: [\"f7x41pl\", \"fruq291\"]\n },\n after: {\n uwmqm3: [\"fruq291\", \"f7x41pl\"]\n },\n medium: {\n B6of3ja: \"fjzwpt6\",\n jrapky: \"fh6j2fo\"\n },\n large: {\n B6of3ja: \"f1xlvstr\",\n jrapky: \"f49ad5g\"\n }\n}, {\n d: [\".f7nlbp4{align-self:center;}\", \".f1ym3bx4{color:inherit;}\", \".fpo1scq{cursor:inherit;}\", [\".f1f5q0n8{padding:var(--spacingVerticalS) var(--spacingHorizontalS);}\", {\n p: -1\n }], \".f7x41pl{padding-right:var(--spacingHorizontalXS);}\", \".fruq291{padding-left:var(--spacingHorizontalXS);}\", \".fjzwpt6{margin-top:calc((16px - var(--lineHeightBase300)) / 2);}\", \".fh6j2fo{margin-bottom:calc((16px - var(--lineHeightBase300)) / 2);}\", \".f1xlvstr{margin-top:calc((20px - var(--lineHeightBase300)) / 2);}\", \".f49ad5g{margin-bottom:calc((20px - var(--lineHeightBase300)) / 2);}\"]\n});\n/**\n * Apply styling to the Checkbox slots based on the state\n */\nexport const useCheckboxStyles_unstable = state => {\n 'use no memo';\n\n const {\n checked,\n disabled,\n labelPosition,\n shape,\n size\n } = state;\n const rootBaseClassName = useRootBaseClassName();\n const rootStyles = useRootStyles();\n state.root.className = mergeClasses(checkboxClassNames.root, rootBaseClassName, disabled ? rootStyles.disabled : checked === 'mixed' ? rootStyles.mixed : checked ? rootStyles.checked : rootStyles.unchecked, state.root.className);\n const inputBaseClassName = useInputBaseClassName();\n const inputStyles = useInputStyles();\n state.input.className = mergeClasses(checkboxClassNames.input, inputBaseClassName, size === 'large' && inputStyles.large, inputStyles[labelPosition], state.input.className);\n const indicatorBaseClassName = useIndicatorBaseClassName();\n const indicatorStyles = useIndicatorStyles();\n if (state.indicator) {\n state.indicator.className = mergeClasses(checkboxClassNames.indicator, indicatorBaseClassName, size === 'large' && indicatorStyles.large, shape === 'circular' && indicatorStyles.circular, state.indicator.className);\n }\n const labelStyles = useLabelStyles();\n if (state.label) {\n state.label.className = mergeClasses(checkboxClassNames.label, labelStyles.base, labelStyles[size], labelStyles[labelPosition], state.label.className);\n }\n return state;\n};\n//# sourceMappingURL=useCheckboxStyles.styles.js.map","import * as React from 'react';\nimport { useCheckbox_unstable } from './useCheckbox';\nimport { renderCheckbox_unstable } from './renderCheckbox';\nimport { useCheckboxStyles_unstable } from './useCheckboxStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Checkboxes give people a way to select one or more items from a group,\n * or switch between two mutually exclusive options (checked or unchecked).\n */ export const Checkbox = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useCheckbox_unstable(props, ref);\n useCheckboxStyles_unstable(state);\n useCustomStyleHook_unstable('useCheckboxStyles_unstable')(state);\n return renderCheckbox_unstable(state);\n});\nCheckbox.displayName = 'Checkbox';\n","import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { getPartitionedNativeProps, useControllableState, useEventCallback, useId, useIsomorphicLayoutEffect, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { Checkmark12Filled, Checkmark16Filled, Square12Filled, Square16Filled, CircleFilled } from '@fluentui/react-icons';\nimport { Label } from '@fluentui/react-label';\nimport { useFocusWithin } from '@fluentui/react-tabster';\n/**\n * Create the state required to render Checkbox.\n *\n * The returned state can be modified with hooks such as useCheckboxStyles_unstable,\n * before being passed to renderCheckbox_unstable.\n *\n * @param props - props from this instance of Checkbox\n * @param ref - reference to `` element of Checkbox\n */ export const useCheckbox_unstable = (props, ref)=>{\n 'use no memo';\n // Merge props from surrounding , if any\n props = useFieldControlProps_unstable(props, {\n supportsLabelFor: true,\n supportsRequired: true\n });\n const { disabled = false, required, shape = 'square', size = 'medium', labelPosition = 'after', onChange } = props;\n const [checked, setChecked] = useControllableState({\n defaultState: props.defaultChecked,\n state: props.checked,\n initialState: false\n });\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'input',\n excludedPropNames: [\n 'checked',\n 'defaultChecked',\n 'size',\n 'onChange'\n ]\n });\n const mixed = checked === 'mixed';\n const id = useId('checkbox-', nativeProps.primary.id);\n let checkmarkIcon;\n if (mixed) {\n if (shape === 'circular') {\n checkmarkIcon = /*#__PURE__*/ React.createElement(CircleFilled, null);\n } else {\n checkmarkIcon = size === 'large' ? /*#__PURE__*/ React.createElement(Square16Filled, null) : /*#__PURE__*/ React.createElement(Square12Filled, null);\n }\n } else if (checked) {\n checkmarkIcon = size === 'large' ? /*#__PURE__*/ React.createElement(Checkmark16Filled, null) : /*#__PURE__*/ React.createElement(Checkmark12Filled, null);\n }\n const state = {\n shape,\n checked,\n disabled,\n size,\n labelPosition,\n components: {\n root: 'span',\n input: 'input',\n indicator: 'div',\n label: Label\n },\n root: slot.always(props.root, {\n defaultProps: {\n ref: useFocusWithin(),\n ...nativeProps.root\n },\n elementType: 'span'\n }),\n input: slot.always(props.input, {\n defaultProps: {\n type: 'checkbox',\n id,\n ref,\n checked: checked === true,\n ...nativeProps.primary\n },\n elementType: 'input'\n }),\n label: slot.optional(props.label, {\n defaultProps: {\n htmlFor: id,\n disabled,\n required,\n size: 'medium'\n },\n elementType: Label\n }),\n indicator: slot.optional(props.indicator, {\n renderByDefault: true,\n defaultProps: {\n 'aria-hidden': true,\n children: checkmarkIcon\n },\n elementType: 'div'\n })\n };\n state.input.onChange = useEventCallback((ev)=>{\n const val = ev.currentTarget.indeterminate ? 'mixed' : ev.currentTarget.checked;\n onChange === null || onChange === void 0 ? void 0 : onChange(ev, {\n checked: val\n });\n setChecked(val);\n });\n // Create a ref object for the input element so we can use it to set the indeterminate prop.\n // Use useMergedRefs, since the ref might be undefined or a function-ref (no .current)\n const inputRef = useMergedRefs(state.input.ref);\n state.input.ref = inputRef;\n // Set the element's checked and indeterminate properties based on our tri-state property.\n // Since indeterminate can only be set via javascript, it has to be done in a layout effect.\n useIsomorphicLayoutEffect(()=>{\n if (inputRef.current) {\n inputRef.current.indeterminate = mixed;\n }\n }, [\n inputRef,\n mixed\n ]);\n return state;\n};\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nexport const renderCheckbox_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n /*#__PURE__*/ _jsx(state.input, {}),\n state.labelPosition === 'before' && state.label && /*#__PURE__*/ _jsx(state.label, {}),\n /*#__PURE__*/ _jsx(state.indicator, {}),\n state.labelPosition === 'after' && state.label && /*#__PURE__*/ _jsx(state.label, {})\n ]\n });\n};\n","import * as React from 'react';\nexport const ListItemActionEventName = 'ListItemAction';\nexport const createListItemActionEvent = (originalEvent)=>new CustomEvent(ListItemActionEventName, {\n cancelable: true,\n bubbles: true,\n detail: {\n originalEvent\n }\n });\n","import * as React from 'react';\nimport { GroupperMoveFocusEvent, MoverMoveFocusEvent, GroupperMoveFocusActions, MoverKeys, useArrowNavigationGroup, useFocusableGroup, useMergedTabsterAttributes_unstable } from '@fluentui/react-tabster';\nimport { elementContains, getIntrinsicElementProps, mergeCallbacks, slot, useEventCallback, useId, useMergedRefs } from '@fluentui/react-utilities';\nimport { useListContext_unstable } from '../List/listContext';\nimport { Enter, Space, ArrowUp, ArrowDown, ArrowRight, ArrowLeft } from '@fluentui/keyboard-keys';\nimport { Checkbox } from '@fluentui/react-checkbox';\nimport { createListItemActionEvent, ListItemActionEventName } from '../../events/ListItemActionEvent';\nconst DEFAULT_ROOT_EL_TYPE = 'li';\n/**\n * Create the state required to render ListItem.\n *\n * The returned state can be modified with hooks such as useListItemStyles_unstable,\n * before being passed to renderListItem_unstable.\n *\n * @param props - props from this instance of ListItem\n * @param ref - reference to root HTMLLIElement | HTMLDivElementof ListItem\n */ export const useListItem_unstable = (props, ref)=>{\n const id = useId('listItem');\n const { value = id, onKeyDown, onClick, tabIndex, role, onAction } = props;\n const toggleItem = useListContext_unstable((ctx)=>{\n var _ctx_selection;\n return (_ctx_selection = ctx.selection) === null || _ctx_selection === void 0 ? void 0 : _ctx_selection.toggleItem;\n });\n const navigationMode = useListContext_unstable((ctx)=>ctx.navigationMode);\n const isSelectionEnabled = useListContext_unstable((ctx)=>!!ctx.selection);\n const isSelected = useListContext_unstable((ctx)=>{\n var _ctx_selection;\n return (_ctx_selection = ctx.selection) === null || _ctx_selection === void 0 ? void 0 : _ctx_selection.isSelected(value);\n });\n const listItemRole = useListContext_unstable((ctx)=>ctx.listItemRole);\n const validateListItem = useListContext_unstable((ctx)=>ctx.validateListItem);\n const finalListItemRole = role || listItemRole;\n const focusableItems = Boolean(isSelectionEnabled || navigationMode || tabIndex === 0);\n const rootRef = React.useRef(null);\n const checkmarkRef = React.useRef(null);\n const handleAction = useEventCallback((event)=>{\n onAction === null || onAction === void 0 ? void 0 : onAction(event, {\n event,\n value,\n type: ListItemActionEventName\n });\n if (event.defaultPrevented) {\n return;\n }\n if (isSelectionEnabled) {\n toggleItem === null || toggleItem === void 0 ? void 0 : toggleItem(event.detail.originalEvent, value);\n }\n });\n React.useEffect(()=>{\n if (rootRef.current) {\n validateListItem(rootRef.current);\n }\n }, [\n validateListItem\n ]);\n const triggerAction = (e)=>{\n const actionEvent = createListItemActionEvent(e);\n handleAction(actionEvent);\n e.target.dispatchEvent(actionEvent);\n };\n const focusableGroupAttrs = useFocusableGroup({\n ignoreDefaultKeydown: {\n Enter: true\n },\n tabBehavior: 'limited-trap-focus'\n });\n const handleClick = useEventCallback((e)=>{\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n if (e.defaultPrevented) {\n return;\n }\n const isFromCheckbox = elementContains(checkmarkRef.current, e.target);\n if (isFromCheckbox) {\n return;\n }\n triggerAction(e);\n });\n const handleKeyDown = useEventCallback((e)=>{\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n if (e.defaultPrevented) {\n return;\n }\n // If the event is fired from an element inside the list item\n if (e.target !== e.currentTarget) {\n if (focusableItems) {\n // If the items are focusable, we need to handle the arrow keys to move focus to them\n switch(e.key){\n // If it's one of the Arrows defined, jump out of the list item to focus on the ListItem itself\n // The ArrowLeft will only trigger if the target element is the leftmost, otherwise the\n // arrowNavigationAttributes handles it and prevents it from bubbling here.\n case ArrowLeft:\n e.target.dispatchEvent(new GroupperMoveFocusEvent({\n action: GroupperMoveFocusActions.Escape\n }));\n break;\n case ArrowDown:\n case ArrowUp:\n e.preventDefault();\n // Press ESC on the original target to get focus to the parent group (List)\n e.target.dispatchEvent(new GroupperMoveFocusEvent({\n action: GroupperMoveFocusActions.Escape\n }));\n // Now dispatch the original key to move up or down in the list\n e.currentTarget.dispatchEvent(new MoverMoveFocusEvent({\n key: MoverKeys[e.key]\n }));\n }\n return;\n }\n return;\n }\n switch(e.key){\n case Space:\n // we have to prevent default here otherwise the space key will scroll the page\n e.preventDefault();\n // Space always toggles selection (if enabled)\n if (isSelectionEnabled) {\n toggleItem === null || toggleItem === void 0 ? void 0 : toggleItem(e, value);\n } else {\n triggerAction(e);\n }\n break;\n case Enter:\n triggerAction(e);\n break;\n case ArrowRight:\n if (navigationMode === 'composite') {\n e.target.dispatchEvent(new GroupperMoveFocusEvent({\n action: GroupperMoveFocusActions.Enter\n }));\n }\n break;\n }\n });\n const onCheckboxChange = useEventCallback((e, data)=>{\n if (!isSelectionEnabled || e.defaultPrevented) {\n return;\n }\n toggleItem === null || toggleItem === void 0 ? void 0 : toggleItem(e, value);\n });\n const arrowNavigationAttributes = useArrowNavigationGroup({\n axis: 'horizontal'\n });\n const tabsterAttributes = useMergedTabsterAttributes_unstable(focusableItems ? arrowNavigationAttributes : {}, focusableGroupAttrs);\n const root = slot.always(getIntrinsicElementProps(DEFAULT_ROOT_EL_TYPE, {\n ref: useMergedRefs(rootRef, ref),\n tabIndex: focusableItems ? 0 : undefined,\n role: finalListItemRole,\n id: String(value),\n ...isSelectionEnabled && {\n 'aria-selected': isSelected\n },\n ...tabsterAttributes,\n ...props,\n onKeyDown: handleKeyDown,\n onClick: isSelectionEnabled || onClick || onAction ? handleClick : undefined\n }), {\n elementType: DEFAULT_ROOT_EL_TYPE\n });\n const checkmark = slot.optional(props.checkmark, {\n defaultProps: {\n checked: isSelected,\n tabIndex: -1\n },\n renderByDefault: isSelectionEnabled,\n elementType: Checkbox\n });\n const mergedCheckmarkRef = useMergedRefs(checkmark === null || checkmark === void 0 ? void 0 : checkmark.ref, checkmarkRef);\n if (checkmark) {\n checkmark.onChange = mergeCallbacks(checkmark.onChange, onCheckboxChange);\n checkmark.ref = mergedCheckmarkRef;\n }\n const state = {\n components: {\n root: DEFAULT_ROOT_EL_TYPE,\n checkmark: Checkbox\n },\n root,\n checkmark,\n selectable: isSelectionEnabled,\n navigable: focusableItems\n };\n return state;\n};\n","import { __styles, __resetStyles, mergeClasses } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const listItemClassNames = {\n root: 'fui-ListItem',\n checkmark: 'fui-ListItem__checkmark'\n};\nconst useRootBaseStyles = /*#__PURE__*/__resetStyles(\"rikgcmv\", null, [\".rikgcmv{padding:0;margin:0;text-indent:0;list-style-type:none;}\", \".rikgcmv[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);}\"]);\nconst useCheckmarkBaseStyles = /*#__PURE__*/__styles({\n root: {\n qb2dma: \"f7nlbp4\",\n Bpb5tq4: 0,\n Biccaaf: 0,\n Gaeyjg: 0,\n ldoezw: 0,\n B6gmeee: \"f1bgo3o3\"\n }\n}, {\n d: [\".f7nlbp4{align-self:center;}\", [\".f1bgo3o3 .fui-Checkbox__indicator{margin:4px;}\", {\n p: -1\n }]]\n});\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n rootClickableOrSelectable: {\n mc9l5x: \"f22iagw\",\n Bceei9c: \"f1k6fduh\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1k6fduh{cursor:pointer;}\"]\n});\n/**\n * Apply styling to the ListItem slots based on the state\n */\nexport const useListItemStyles_unstable = state => {\n 'use no memo';\n\n const rootBaseStyles = useRootBaseStyles();\n const checkmarkBaseStyles = useCheckmarkBaseStyles();\n const styles = useStyles();\n state.root.className = mergeClasses(listItemClassNames.root, rootBaseStyles, (state.selectable || state.navigable) && styles.rootClickableOrSelectable, state.root.className);\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(listItemClassNames.checkmark, checkmarkBaseStyles.root, state.checkmark.className);\n }\n return state;\n};\n//# sourceMappingURL=useListItemStyles.styles.js.map","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useListItem_unstable } from './useListItem';\nimport { renderListItem_unstable } from './renderListItem';\nimport { useListItemStyles_unstable } from './useListItemStyles.styles';\nexport const ListItem = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useListItem_unstable(props, ref);\n useListItemStyles_unstable(state);\n useCustomStyleHook_unstable('useListItemStyles_unstable')(state);\n return renderListItem_unstable(state);\n});\nListItem.displayName = 'ListItem';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of ListItem\n */ export const renderListItem_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.checkmark && /*#__PURE__*/ _jsx(state.checkmark, {}),\n state.root.children\n ]\n });\n};\n","/**\n * Creates a set from a given iterable, in case the iterable is a set itself, returns the given set instead.\n */ export function createSetFromIterable(iterable) {\n return iterable instanceof Set ? iterable : new Set(iterable);\n}\n","import * as React from 'react';\nimport { useControllableState } from '../hooks/useControllableState';\nimport { createSetFromIterable } from '../utils/createSetFromIterable';\nfunction useSelectionState(params) {\n const [selected, setSelected] = useControllableState({\n initialState: new Set(),\n defaultState: React.useMemo(()=>params.defaultSelectedItems && createSetFromIterable(params.defaultSelectedItems), [\n params.defaultSelectedItems\n ]),\n state: React.useMemo(()=>params.selectedItems && createSetFromIterable(params.selectedItems), [\n params.selectedItems\n ])\n });\n const changeSelection = (event, nextSelectedItems)=>{\n var _params_onSelectionChange;\n (_params_onSelectionChange = params.onSelectionChange) === null || _params_onSelectionChange === void 0 ? void 0 : _params_onSelectionChange.call(params, event, {\n selectedItems: nextSelectedItems\n });\n setSelected(nextSelectedItems);\n };\n return [\n selected,\n changeSelection\n ];\n}\nfunction useSingleSelection(params) {\n const [selected, changeSelection] = useSelectionState(params);\n const methods = {\n deselectItem: (event)=>changeSelection(event, new Set()),\n selectItem: (event, itemId)=>changeSelection(event, new Set([\n itemId\n ])),\n toggleAllItems: ()=>{\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('[react-utilities]: `toggleAllItems` should not be used in single selection mode');\n }\n },\n toggleItem: (event, itemId)=>changeSelection(event, new Set([\n itemId\n ])),\n clearItems: (event)=>changeSelection(event, new Set()),\n isSelected: (itemId)=>{\n var _selected_has;\n return (_selected_has = selected.has(itemId)) !== null && _selected_has !== void 0 ? _selected_has : false;\n }\n };\n return [\n selected,\n methods\n ];\n}\nfunction useMultipleSelection(params) {\n const [selected, changeSelection] = useSelectionState(params);\n const methods = {\n toggleItem: (event, itemId)=>{\n const nextSelectedItems = new Set(selected);\n if (selected.has(itemId)) {\n nextSelectedItems.delete(itemId);\n } else {\n nextSelectedItems.add(itemId);\n }\n changeSelection(event, nextSelectedItems);\n },\n selectItem: (event, itemId)=>{\n const nextSelectedItems = new Set(selected);\n nextSelectedItems.add(itemId);\n changeSelection(event, nextSelectedItems);\n },\n deselectItem: (event, itemId)=>{\n const nextSelectedItems = new Set(selected);\n nextSelectedItems.delete(itemId);\n changeSelection(event, nextSelectedItems);\n },\n clearItems: (event)=>{\n changeSelection(event, new Set());\n },\n isSelected: (itemId)=>selected.has(itemId),\n toggleAllItems: (event, itemIds)=>{\n const allItemsSelected = itemIds.every((itemId)=>selected.has(itemId));\n const nextSelectedItems = new Set(selected);\n if (allItemsSelected) {\n nextSelectedItems.clear();\n } else {\n itemIds.forEach((itemId)=>nextSelectedItems.add(itemId));\n }\n changeSelection(event, nextSelectedItems);\n }\n };\n return [\n selected,\n methods\n ];\n}\nexport function useSelection(params) {\n 'use no memo';\n if (params.selectionMode === 'multiselect') {\n // selectionMode is a static value, so we can safely ignore rules-of-hooks\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useMultipleSelection(params);\n }\n // selectionMode is a static value, so we can safely ignore rules-of-hooks\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useSingleSelection(params);\n}\n","/**\n * Validate that the proper roles are used for the given combination of roles and states.\n * If the roles are invalid and we're not running in production mode, an warning will be logged to the console.\n *\n * @param role - the role of the list\n * @param listItemRole - the role of the list item\n * @param hasSelection - whether the list has selection enabled\n * @param hasFocusableChildren - whether the list has focusable children\n * @returns\n */ export const validateProperRolesAreUsed = (role, listItemRole, hasSelection, hasFocusableChildren)=>{\n // Explode when the pair of roles is invalid\n if (role === 'list' && listItemRole !== 'listitem') {\n throw new Error('When the List role is \"list\", ListItem role must be \"listitem\".');\n }\n if (role === 'listbox' && listItemRole !== 'option') {\n throw new Error('When the List role is \"listbox\", ListItem role must be \"option\".');\n }\n if (role === 'grid' && listItemRole !== 'row') {\n throw new Error('When the List role is \"grid\", ListItem role must be \"row\".');\n }\n const expectedRole = (()=>{\n if (hasFocusableChildren) {\n return 'grid';\n } else {\n if (hasSelection) {\n return 'listbox';\n } else {\n return 'list';\n }\n }\n })();\n if (role !== expectedRole) {\n /* eslint-disable-next-line no-console */ console.warn(`@fluentui/react-list-preview [useList]:\\nThe role \"${role}\" does not match the expected role \"${expectedRole}\".\\nPlease use the \"navigationMode\" property for automatic role assignment and keyboard navigation.\\nIf you are using this role intentionally, make sure to verify screen reader support.\n `);\n }\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot, useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup, useFocusFinders } from '@fluentui/react-tabster';\nimport { useListSelection } from '../../hooks/useListSelection';\nimport { calculateListItemRoleForListRole, calculateListRole, validateGridCellsArePresent, validateProperElementTypes, validateProperRolesAreUsed } from '../../utils';\nconst DEFAULT_ROOT_EL_TYPE = 'ul';\n/**\n * Create the state required to render List.\n *\n * The returned state can be modified with hooks such as useListStyles_unstable,\n * before being passed to renderList_unstable.\n *\n * @param props - props from this instance of List\n * @param ref - reference to root HTMLElement of List\n */ export const useList_unstable = (props, ref)=>{\n const { navigationMode, selectionMode, selectedItems, defaultSelectedItems, as = DEFAULT_ROOT_EL_TYPE, onSelectionChange } = props;\n const arrowNavigationAttributes = useArrowNavigationGroup({\n axis: 'vertical',\n memorizeCurrent: true\n });\n const [selectionState, setSelectionState] = useControllableState({\n state: selectedItems,\n defaultState: defaultSelectedItems,\n initialState: []\n });\n const onChange = useEventCallback((e, data)=>{\n const selectedItemsAsArray = Array.from(data.selectedItems);\n setSelectionState(selectedItemsAsArray);\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e, {\n event: e,\n type: 'change',\n selectedItems: selectedItemsAsArray\n });\n });\n const selection = useListSelection({\n onSelectionChange: onChange,\n selectionMode: selectionMode || 'multiselect',\n selectedItems: selectionState\n });\n const listRole = props.role || calculateListRole(navigationMode, !!selectionMode);\n const listItemRole = calculateListItemRoleForListRole(listRole);\n const { findAllFocusable } = useFocusFinders();\n const validateListItem = useEventCallback((listItemEl)=>{\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n const itemRole = listItemEl.getAttribute('role') || '';\n const focusable = findAllFocusable(listItemEl);\n validateProperElementTypes(as, listItemEl.tagName.toLocaleLowerCase());\n validateProperRolesAreUsed(listRole, itemRole, !!selectionMode, focusable.length > 0);\n validateGridCellsArePresent(listRole, listItemEl);\n });\n return {\n components: {\n root: DEFAULT_ROOT_EL_TYPE\n },\n root: slot.always(getIntrinsicElementProps(DEFAULT_ROOT_EL_TYPE, {\n ref,\n role: listRole,\n ...selectionMode && {\n 'aria-multiselectable': selectionMode === 'multiselect' ? true : undefined\n },\n ...arrowNavigationAttributes,\n ...props\n }), {\n elementType: DEFAULT_ROOT_EL_TYPE\n }),\n listItemRole,\n validateListItem,\n navigationMode,\n // only pass down selection state if its handled internally, otherwise just report the events\n selection: selectionMode ? selection : undefined\n };\n};\n","import { useControllableState, useEventCallback, useSelection } from '@fluentui/react-utilities';\nimport * as React from 'react';\nexport function useListSelection(options = {\n selectionMode: 'multiselect'\n}) {\n const { selectionMode, defaultSelectedItems, onSelectionChange } = options;\n const [selectedItems, setSelectedItems] = useControllableState({\n state: options.selectedItems,\n defaultState: defaultSelectedItems,\n initialState: []\n });\n const [selected, selectionMethods] = useSelection({\n selectionMode,\n defaultSelectedItems,\n selectedItems,\n onSelectionChange: (e, data)=>{\n setSelectedItems(data.selectedItems);\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e, data);\n }\n });\n const toggleItem = useEventCallback((e, itemId)=>selectionMethods.toggleItem(e, itemId));\n const toggleAllItems = useEventCallback((e, itemIds)=>{\n selectionMethods.toggleAllItems(e, itemIds);\n });\n const deselectItem = useEventCallback((e, itemId)=>selectionMethods.deselectItem(e, itemId));\n const selectItem = useEventCallback((e, itemId)=>selectionMethods.selectItem(e, itemId));\n const clearSelection = useEventCallback((e)=>selectionMethods.clearItems(e));\n const selectedArray = React.useMemo(()=>Array.from(selected), [\n selected\n ]);\n return {\n selectedItems: selectedArray,\n toggleItem,\n toggleAllItems,\n deselectItem,\n selectItem,\n setSelectedItems,\n isSelected: (id)=>selectionMethods.isSelected(id),\n clearSelection\n };\n}\n","/**\n * Calculate the role for the list based on the navigation mode and selectable state\n * @param navigationMode - the navigation mode of the list\n * @param selectable - whether the list is selectable\n * @returns 'grid' if navigationMode is 'composite', otherwise 'listbox' if selectable or 'list' if not\n */ export const calculateListRole = (navigationMode, selectable)=>{\n if (navigationMode === 'composite') {\n return 'grid';\n } else if (selectable) {\n return 'listbox';\n } else {\n return 'list';\n }\n};\n","/**\n * Calculate the role for the list item based on the list role.\n * @param listRole - the role of the list\n * @returns proper role for the list item\n */ export const calculateListItemRoleForListRole = (listRole)=>{\n switch(listRole){\n case 'list':\n return 'listitem';\n case 'listbox':\n return 'option';\n case 'grid':\n return 'row';\n default:\n return 'listitem';\n }\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nexport const listClassNames = {\n root: 'fui-List'\n};\nconst useRootBaseStyles = /*#__PURE__*/__resetStyles(\"r1m6yby2\", null, [\".r1m6yby2{padding:0;margin:0;text-indent:0;list-style-type:none;}\"]);\n/**\n * Apply styling to the List slots based on the state\n */\nexport const useListStyles_unstable = state => {\n 'use no memo';\n\n const rootStyles = useRootBaseStyles();\n state.root.className = mergeClasses(listClassNames.root, rootStyles, state.root.className);\n return state;\n};\n//# sourceMappingURL=useListStyles.styles.js.map","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useList_unstable } from './useList';\nimport { renderList_unstable } from './renderList';\nimport { useListStyles_unstable } from './useListStyles.styles';\nimport { useListContextValues_unstable } from './useListContextValues';\nexport const List = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useList_unstable(props, ref);\n const contextValues = useListContextValues_unstable(state);\n useListStyles_unstable(state);\n useCustomStyleHook_unstable('useListStyles_unstable')(state);\n return renderList_unstable(state, contextValues);\n});\nList.displayName = 'List';\n","export function useListContextValues_unstable(state) {\n const { selection, navigationMode, listItemRole, validateListItem } = state;\n const listContext = {\n selection,\n listItemRole,\n navigationMode,\n validateListItem\n };\n return {\n listContext\n };\n}\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { ListContextProvider } from './listContext';\n/**\n * Render the final JSX of List\n */ export const renderList_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(ListContextProvider, {\n value: contextValues.listContext,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const listContextDefaultValue = {\n navigationMode: undefined,\n selection: undefined,\n listItemRole: 'listitem',\n validateListItem: ()=>{\n /* noop */ }\n};\nconst listContext = createContext(undefined);\nexport const ListContextProvider = listContext.Provider;\nexport const useListContext_unstable = (selector)=>useContextSelector(listContext, (ctx = listContextDefaultValue)=>selector(ctx));\n","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useMessageBarActions_unstable } from './useMessageBarActions';\nimport { renderMessageBarActions_unstable } from './renderMessageBarActions';\nimport { useMessageBarActionsStyles_unstable } from './useMessageBarActionsStyles.styles';\nimport { useMessageBarActionsContextValue_unstable } from './useMessageBarActionsContextValues';\n/**\n * MessageBarActions component\n */ export const MessageBarActions = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMessageBarActions_unstable(props, ref);\n useMessageBarActionsStyles_unstable(state);\n useCustomStyleHook_unstable('useMessageBarActionsStyles_unstable')(state);\n return renderMessageBarActions_unstable(state, useMessageBarActionsContextValue_unstable());\n});\nMessageBarActions.displayName = 'MessageBarActions';\n","import * as React from 'react';\nexport function useMessageBarActionsContextValue_unstable() {\n const buttonContext = React.useMemo(()=>({\n size: 'small'\n }), []);\n return {\n button: buttonContext\n };\n}\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { ButtonContextProvider } from '@fluentui/react-button';\n/**\n * Render the final JSX of MessageBarActions\n */ export const renderMessageBarActions_unstable = (state, contexts)=>{\n assertSlots(state);\n if (state.layout === 'multiline') {\n return /*#__PURE__*/ _jsxs(ButtonContextProvider, {\n value: contexts.button,\n children: [\n state.containerAction && /*#__PURE__*/ _jsx(state.containerAction, {}),\n /*#__PURE__*/ _jsx(state.root, {})\n ]\n });\n }\n return /*#__PURE__*/ _jsxs(ButtonContextProvider, {\n value: contexts.button,\n children: [\n /*#__PURE__*/ _jsx(state.root, {}),\n state.containerAction && /*#__PURE__*/ _jsx(state.containerAction, {})\n ]\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot, useMergedRefs } from '@fluentui/react-utilities';\nimport { useMessageBarContext } from '../../contexts/messageBarContext';\n/**\n * Create the state required to render MessageBarActions.\n *\n * The returned state can be modified with hooks such as useMessageBarActionsStyles_unstable,\n * before being passed to renderMessageBarActions_unstable.\n *\n * @param props - props from this instance of MessageBarActions\n * @param ref - reference to root HTMLElement of MessageBarActions\n */ export const useMessageBarActions_unstable = (props, ref)=>{\n const { layout = 'singleline', actionsRef } = useMessageBarContext();\n return {\n components: {\n root: 'div',\n containerAction: 'div'\n },\n containerAction: slot.optional(props.containerAction, {\n renderByDefault: false,\n elementType: 'div'\n }),\n root: slot.always(getIntrinsicElementProps('div', {\n ref: useMergedRefs(ref, actionsRef),\n ...props\n }), {\n elementType: 'div'\n }),\n layout\n };\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const messageBarActionsClassNames = {\n root: 'fui-MessageBarActions',\n containerAction: 'fui-MessageBarActions__containerAction'\n};\n/**\n * Styles for the root slot\n */\nconst useRootBaseStyles = /*#__PURE__*/__resetStyles(\"r1t4x98y\", \"r15utzv5\", [\".r1t4x98y{grid-area:secondaryActions;display:flex;column-gap:var(--spacingHorizontalM);padding-right:var(--spacingHorizontalM);}\", \".r15utzv5{grid-area:secondaryActions;display:flex;column-gap:var(--spacingHorizontalM);padding-left:var(--spacingHorizontalM);}\"]);\nconst useContainerActionBaseStyles = /*#__PURE__*/__resetStyles(\"rgzw8nq\", \"r13ur29z\", [\".rgzw8nq{grid-area:actions;padding-right:var(--spacingHorizontalM);}\", \".r13ur29z{grid-area:actions;padding-left:var(--spacingHorizontalM);}\"]);\nconst useMultilineStyles = /*#__PURE__*/__styles({\n root: {\n Brf1p80: \"f1e8xxv9\",\n B6of3ja: \"f1gaxbfw\",\n jrapky: \"fqcjy3b\",\n t21cq0: [\"fibjyge\", \"f9yszdx\"],\n z189sj: [\"f1p3vkop\", \"f8cewkv\"]\n }\n}, {\n d: [\".f1e8xxv9{justify-content:end;}\", \".f1gaxbfw{margin-top:var(--spacingVerticalMNudge);}\", \".fqcjy3b{margin-bottom:var(--spacingVerticalS);}\", \".fibjyge{margin-right:0px;}\", \".f9yszdx{margin-left:0px;}\", \".f1p3vkop{padding-right:var(--spacingVerticalM);}\", \".f8cewkv{padding-left:var(--spacingVerticalM);}\"]\n});\n/**\n * Apply styling to the MessageBarActions slots based on the state\n */\nexport const useMessageBarActionsStyles_unstable = state => {\n const rootBaseStyles = useRootBaseStyles();\n const containerActionBaseStyles = useContainerActionBaseStyles();\n const multilineStyles = useMultilineStyles();\n state.root.className = mergeClasses(messageBarActionsClassNames.root, rootBaseStyles, state.layout === 'multiline' && multilineStyles.root, state.root.className);\n if (state.containerAction) {\n state.containerAction.className = mergeClasses(messageBarActionsClassNames.containerAction, containerActionBaseStyles, state.containerAction.className);\n }\n return state;\n};\n//# sourceMappingURL=useMessageBarActionsStyles.styles.js.map","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useMessageBarTitle_unstable } from './useMessageBarTitle';\nimport { renderMessageBarTitle_unstable } from './renderMessageBarTitle';\nimport { useMessageBarTitleStyles_unstable } from './useMessageBarTitleStyles.styles';\n/**\n * MessageBarTitle component\n */ export const MessageBarTitle = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMessageBarTitle_unstable(props, ref);\n useMessageBarTitleStyles_unstable(state);\n useCustomStyleHook_unstable('useMessageBarTitleStyles_unstable')(state);\n return renderMessageBarTitle_unstable(state);\n});\nMessageBarTitle.displayName = 'MessageBarTitle';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of MessageBarTitle\n */ export const renderMessageBarTitle_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useMessageBarContext } from '../../contexts/messageBarContext';\n/**\n * Create the state required to render MessageBarTitle.\n *\n * The returned state can be modified with hooks such as useMessageBarTitleStyles_unstable,\n * before being passed to renderMessageBarTitle_unstable.\n *\n * @param props - props from this instance of MessageBarTitle\n * @param ref - reference to root HTMLElement of MessageBarTitle\n */ export const useMessageBarTitle_unstable = (props, ref)=>{\n const { titleId } = useMessageBarContext();\n return {\n components: {\n root: 'span'\n },\n root: slot.always(getIntrinsicElementProps('span', {\n ref,\n id: titleId,\n ...props\n }), {\n elementType: 'span'\n })\n };\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nimport { typographyStyles } from '@fluentui/react-theme';\nexport const messageBarTitleClassNames = {\n root: 'fui-MessageBarTitle'\n};\n/**\n * Styles for the root slot\n */\nconst useRootBaseStyles = /*#__PURE__*/__resetStyles(\"r168xkm9\", null, [\".r168xkm9{font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightSemibold);line-height:var(--lineHeightBase300);}\", \".r168xkm9::after{content:\\\" \\\";}\"]);\n/**\n * Apply styling to the MessageBarTitle slots based on the state\n */\nexport const useMessageBarTitleStyles_unstable = state => {\n const rootBaseStyles = useRootBaseStyles();\n state.root.className = mergeClasses(messageBarTitleClassNames.root, rootBaseStyles, state.root.className);\n return state;\n};\n//# sourceMappingURL=useMessageBarTitleStyles.styles.js.map","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render MessageBarGroup.\n *\n * The returned state can be modified with hooks such as useMessageBarGroupStyles_unstable,\n * before being passed to renderMessageBarGroup_unstable.\n *\n * @param props - props from this instance of MessageBarGroup\n * @param ref - reference to root HTMLElement of MessageBarGroup\n */ export const useMessageBarGroup_unstable = (props, ref)=>{\n if (process.env.NODE_ENV !== 'production') {\n React.Children.forEach(props.children, (c)=>{\n if (!React.isValidElement(c) || c.type === React.Fragment) {\n throw new Error(\"MessageBarGroup: children must be valid MessageBar components. Please ensure you're not using fragments. \");\n }\n });\n }\n var _props_children;\n const children = React.Children.map((_props_children = props.children) !== null && _props_children !== void 0 ? _props_children : [], (c)=>React.isValidElement(c) && c.type !== React.Fragment ? c : null).filter(Boolean);\n var _props_animate;\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref,\n ...props\n }), {\n elementType: 'div'\n }),\n children,\n animate: (_props_animate = props.animate) !== null && _props_animate !== void 0 ? _props_animate : 'exit-only',\n enterStyles: '',\n exitStyles: ''\n };\n};\n","import * as React from 'react';\nimport { Transition } from 'react-transition-group';\nimport { MessageBarTransitionContextProvider } from '../../contexts/messageBarTransitionContext';\nconst getClassName = (status, enterClassName, exitClassName, animate)=>{\n switch(status){\n case 'entering':\n case 'entered':\n return animate === 'both' ? enterClassName : '';\n case 'exiting':\n case 'exited':\n return exitClassName;\n default:\n return '';\n }\n};\n/**\n * Internal component that controls the animation transition for MessageBar components\n * @internal\n */ export const MessageBarTransition = ({ children, enterClassName, exitClassName, animate, ...rest })=>{\n const nodeRef = React.useRef(null);\n return /*#__PURE__*/ React.createElement(Transition, {\n timeout: 250,\n nodeRef: nodeRef,\n ...rest\n }, (state)=>/*#__PURE__*/ React.createElement(MessageBarTransitionInner, {\n animate: animate,\n enterClassName: enterClassName,\n exitClassName: exitClassName,\n nodeRef: nodeRef,\n state: state\n }, children));\n};\nconst MessageBarTransitionInner = ({ children, state, enterClassName, exitClassName, animate, nodeRef })=>{\n const className = getClassName(state, enterClassName, exitClassName, animate);\n const context = React.useMemo(()=>({\n className,\n nodeRef\n }), [\n className,\n nodeRef\n ]);\n return /*#__PURE__*/ React.createElement(MessageBarTransitionContextProvider, {\n value: context\n }, children);\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { TransitionGroup } from 'react-transition-group';\nimport { MessageBarTransition } from './MessageBarTransition';\n/**\n * Render the final JSX of MessageBarGroup\n */ export const renderMessageBarGroup_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {\n children: /*#__PURE__*/ _jsx(TransitionGroup, {\n component: null,\n children: state.children.map((child)=>/*#__PURE__*/ _jsx(MessageBarTransition, {\n animate: state.animate,\n enterClassName: state.enterStyles,\n exitClassName: state.exitStyles,\n children: child\n }, child.key))\n })\n });\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const messageBarGroupClassNames = {\n root: 'fui-MessageBarGroup'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n base: {\n Bf5fcs: \"f4cll0y\",\n vin17d: \"fy8si0b\"\n },\n enter: {\n Bv12yb3: \"f1dg9w1v\"\n },\n exit: {\n Bv12yb3: \"fu80iee\"\n }\n}, {\n d: [\".f4cll0y{animation-fill-mode:forwards;}\", \".fy8si0b{animation-duration:var(--durationNormal);}\", \".f1dg9w1v{animation-name:fngeioi;}\", \".fu80iee{animation-name:fk0lfw7;}\"],\n k: [\"@keyframes fngeioi{from{opacity:0;transform:translateY(-100%);}to{opacity:1;transform:translateY(0);}}\", \"@keyframes fk0lfw7{from{opacity:1;}to{opacity:0;}}\"]\n});\n/**\n * Apply styling to the MessageBarGroup slots based on the state\n */\nexport const useMessageBarGroupStyles_unstable = state => {\n const styles = useStyles();\n state.root.className = mergeClasses(messageBarGroupClassNames.root, state.root.className);\n state.enterStyles = mergeClasses(styles.base, styles.enter);\n state.exitStyles = mergeClasses(styles.base, styles.exit);\n return state;\n};\n//# sourceMappingURL=useMessageBarGroupStyles.styles.js.map","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useMessageBarGroup_unstable } from './useMessageBarGroup';\nimport { renderMessageBarGroup_unstable } from './renderMessageBarGroup';\nimport { useMessageBarGroupStyles_unstable } from './useMessageBarGroupStyles.styles';\n/**\n * MessageBarGroup component\n */ export const MessageBarGroup = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMessageBarGroup_unstable(props, ref);\n useMessageBarGroupStyles_unstable(state);\n useCustomStyleHook_unstable('useMessageBarGroupStyles_unstable')(state);\n return renderMessageBarGroup_unstable(state);\n});\nMessageBarGroup.displayName = 'MessageBarGroup';\n","import * as React from 'react';\nimport { useSearchBox_unstable } from './useSearchBox';\nimport { renderSearchBox_unstable } from './renderSearchBox';\nimport { useSearchBoxStyles_unstable } from './useSearchBoxStyles.styles';\n/**\n * SearchBox component - TODO: add more docs\n */ export const SearchBox = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useSearchBox_unstable(props, ref);\n useSearchBoxStyles_unstable(state);\n return renderSearchBox_unstable(state);\n});\nSearchBox.displayName = 'SearchBox';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of SearchBox\n */ export const renderSearchBox_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.contentBefore && /*#__PURE__*/ _jsx(state.contentBefore, {}),\n /*#__PURE__*/ _jsx(state.input, {}),\n state.contentAfter && /*#__PURE__*/ _jsxs(state.contentAfter, {\n children: [\n state.contentAfter.children,\n state.dismiss && /*#__PURE__*/ _jsx(state.dismiss, {})\n ]\n })\n ]\n });\n};\n","import * as React from 'react';\nimport { isResolvedShorthand, mergeCallbacks, slot, useControllableState, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useInput_unstable } from '@fluentui/react-input';\nimport { DismissRegular, SearchRegular } from '@fluentui/react-icons';\n/**\n * Create the state required to render SearchBox.\n *\n * The returned state can be modified with hooks such as useSearchBoxStyles_unstable,\n * before being passed to renderSearchBox_unstable.\n *\n * @param props - props from this instance of SearchBox\n * @param ref - reference to root HTMLElement of SearchBox\n */ export const useSearchBox_unstable = (props, ref)=>{\n const { size = 'medium', disabled = false, root, contentBefore, dismiss, contentAfter, value, defaultValue, ...inputProps } = props;\n const searchBoxRootRef = React.useRef(null);\n const searchBoxRef = React.useRef(null);\n const [internalValue, setInternalValue] = useControllableState({\n state: value,\n defaultState: defaultValue,\n initialState: ''\n });\n // Tracks the focus of the component for the contentAfter and dismiss button\n const [focused, setFocused] = React.useState(false);\n const onFocus = React.useCallback(()=>{\n setFocused(true);\n }, [\n setFocused\n ]);\n const onBlur = React.useCallback((ev)=>{\n var _searchBoxRootRef_current;\n setFocused(!!((_searchBoxRootRef_current = searchBoxRootRef.current) === null || _searchBoxRootRef_current === void 0 ? void 0 : _searchBoxRootRef_current.contains(ev.relatedTarget)));\n }, [\n setFocused\n ]);\n const rootProps = slot.resolveShorthand(root);\n const handleDismissClick = useEventCallback((event)=>{\n var _props_onChange;\n if (isResolvedShorthand(dismiss)) {\n var _dismiss_onClick;\n (_dismiss_onClick = dismiss.onClick) === null || _dismiss_onClick === void 0 ? void 0 : _dismiss_onClick.call(dismiss, event);\n }\n const newValue = '';\n setInternalValue(newValue);\n (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props, event, {\n value: newValue\n });\n });\n const inputState = useInput_unstable({\n type: 'search',\n disabled,\n size,\n value: internalValue,\n root: slot.always({\n ...rootProps,\n ref: useMergedRefs(rootProps === null || rootProps === void 0 ? void 0 : rootProps.ref, searchBoxRootRef),\n onFocus: mergeCallbacks(rootProps === null || rootProps === void 0 ? void 0 : rootProps.onFocus, onFocus),\n onBlur: mergeCallbacks(rootProps === null || rootProps === void 0 ? void 0 : rootProps.onBlur, onBlur)\n }, {\n elementType: 'span'\n }),\n contentBefore: slot.optional(contentBefore, {\n renderByDefault: true,\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(SearchRegular, null)\n },\n elementType: 'span'\n }),\n contentAfter: slot.optional(contentAfter, {\n renderByDefault: true,\n elementType: 'span'\n }),\n ...inputProps,\n onChange: useEventCallback((ev)=>{\n var _props_onChange;\n const newValue = ev.target.value;\n (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props, ev, {\n value: newValue\n });\n setInternalValue(newValue);\n })\n }, useMergedRefs(searchBoxRef, ref));\n const state = {\n ...inputState,\n components: {\n ...inputState.components,\n dismiss: 'span'\n },\n dismiss: slot.optional(dismiss, {\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(DismissRegular, null),\n role: 'button',\n 'aria-label': 'clear',\n tabIndex: -1\n },\n renderByDefault: true,\n elementType: 'span'\n }),\n disabled,\n focused,\n size\n };\n if (state.dismiss) {\n state.dismiss.onClick = handleDismissClick;\n }\n return state;\n};\n","import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { getPartitionedNativeProps, useControllableState, useEventCallback, slot } from '@fluentui/react-utilities';\nimport { useOverrides_unstable as useOverrides } from '@fluentui/react-shared-contexts';\n/**\n * Create the state required to render Input.\n *\n * The returned state can be modified with hooks such as useInputStyles_unstable,\n * before being passed to renderInput_unstable.\n *\n * @param props - props from this instance of Input\n * @param ref - reference to `` element of Input\n */ export const useInput_unstable = (props, ref)=>{\n props = useFieldControlProps_unstable(props, {\n supportsLabelFor: true,\n supportsRequired: true,\n supportsSize: true\n });\n const overrides = useOverrides();\n var _overrides_inputDefaultAppearance;\n const { size = 'medium', appearance = (_overrides_inputDefaultAppearance = overrides.inputDefaultAppearance) !== null && _overrides_inputDefaultAppearance !== void 0 ? _overrides_inputDefaultAppearance : 'outline', onChange } = props;\n if (process.env.NODE_ENV !== 'production' && (appearance === 'filled-darker-shadow' || appearance === 'filled-lighter-shadow')) {\n // eslint-disable-next-line no-console\n console.error(\"The 'filled-darker-shadow' and 'filled-lighter-shadow' appearances are deprecated and will be removed in the\" + ' future.');\n }\n const [value, setValue] = useControllableState({\n state: props.value,\n defaultState: props.defaultValue,\n initialState: ''\n });\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'input',\n excludedPropNames: [\n 'size',\n 'onChange',\n 'value',\n 'defaultValue'\n ]\n });\n const state = {\n size,\n appearance,\n components: {\n root: 'span',\n input: 'input',\n contentBefore: 'span',\n contentAfter: 'span'\n },\n input: slot.always(props.input, {\n defaultProps: {\n type: 'text',\n ref,\n ...nativeProps.primary\n },\n elementType: 'input'\n }),\n contentAfter: slot.optional(props.contentAfter, {\n elementType: 'span'\n }),\n contentBefore: slot.optional(props.contentBefore, {\n elementType: 'span'\n }),\n root: slot.always(props.root, {\n defaultProps: nativeProps.root,\n elementType: 'span'\n })\n };\n state.input.value = value;\n state.input.onChange = useEventCallback((ev)=>{\n const newValue = ev.target.value;\n onChange === null || onChange === void 0 ? void 0 : onChange(ev, {\n value: newValue\n });\n setValue(newValue);\n });\n return state;\n};\n","import { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';\nexport const inputClassNames = {\n root: 'fui-Input',\n input: 'fui-Input__input',\n contentBefore: 'fui-Input__contentBefore',\n contentAfter: 'fui-Input__contentAfter'\n};\n// TODO(sharing) should these be shared somewhere?\nconst fieldHeights = {\n small: '24px',\n medium: '32px',\n large: '40px'\n};\n// With no contentBefore or contentAfter, the input slot uses combined padding to increase its hit target.\n// If there is contentBefore or contentAfter, then the root and input slots use their individual padding.\nconst horizontalPadding = {\n root: {\n small: tokens.spacingHorizontalSNudge,\n medium: tokens.spacingHorizontalMNudge,\n large: tokens.spacingHorizontalM\n },\n input: {\n small: tokens.spacingHorizontalXXS,\n medium: tokens.spacingHorizontalXXS,\n large: tokens.spacingHorizontalSNudge\n },\n combined: {\n small: tokens.spacingHorizontalS,\n medium: tokens.spacingHorizontalM,\n large: `calc(${tokens.spacingHorizontalM} + ${tokens.spacingHorizontalSNudge})`\n }\n};\nconst useRootClassName = /*#__PURE__*/__resetStyles(\"r1oeeo9n\", \"r9sxh5\", {\n r: [\".r1oeeo9n{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:var(--spacingHorizontalXXS);border-radius:var(--borderRadiusMedium);position:relative;box-sizing:border-box;vertical-align:middle;min-height:32px;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);background-color:var(--colorNeutralBackground1);border:1px solid var(--colorNeutralStroke1);border-bottom-color:var(--colorNeutralStrokeAccessible);}\", \".r1oeeo9n::after{box-sizing:border-box;content:\\\"\\\";position:absolute;left:-1px;bottom:-1px;right:-1px;height:max(2px, var(--borderRadiusMedium));border-bottom-left-radius:var(--borderRadiusMedium);border-bottom-right-radius:var(--borderRadiusMedium);border-bottom:2px solid var(--colorCompoundBrandStroke);clip-path:inset(calc(100% - 2px) 0 0 0);transform:scaleX(0);transition-property:transform;transition-duration:var(--durationUltraFast);transition-delay:var(--curveAccelerateMid);}\", \".r1oeeo9n:focus-within::after{transform:scaleX(1);transition-property:transform;transition-duration:var(--durationNormal);transition-delay:var(--curveDecelerateMid);}\", \".r1oeeo9n:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\", \".r1oeeo9n:focus-within{outline:2px solid transparent;}\", \".r9sxh5{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:var(--spacingHorizontalXXS);border-radius:var(--borderRadiusMedium);position:relative;box-sizing:border-box;vertical-align:middle;min-height:32px;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);background-color:var(--colorNeutralBackground1);border:1px solid var(--colorNeutralStroke1);border-bottom-color:var(--colorNeutralStrokeAccessible);}\", \".r9sxh5::after{box-sizing:border-box;content:\\\"\\\";position:absolute;right:-1px;bottom:-1px;left:-1px;height:max(2px, var(--borderRadiusMedium));border-bottom-right-radius:var(--borderRadiusMedium);border-bottom-left-radius:var(--borderRadiusMedium);border-bottom:2px solid var(--colorCompoundBrandStroke);clip-path:inset(calc(100% - 2px) 0 0 0);transform:scaleX(0);transition-property:transform;transition-duration:var(--durationUltraFast);transition-delay:var(--curveAccelerateMid);}\", \".r9sxh5:focus-within::after{transform:scaleX(1);transition-property:transform;transition-duration:var(--durationNormal);transition-delay:var(--curveDecelerateMid);}\", \".r9sxh5:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\", \".r9sxh5:focus-within{outline:2px solid transparent;}\"],\n s: [\"@media screen and (prefers-reduced-motion: reduce){.r1oeeo9n::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \"@media screen and (prefers-reduced-motion: reduce){.r1oeeo9n:focus-within::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \"@media screen and (prefers-reduced-motion: reduce){.r9sxh5::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \"@media screen and (prefers-reduced-motion: reduce){.r9sxh5:focus-within::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\"]\n});\nconst useRootStyles = /*#__PURE__*/__styles({\n small: {\n sshi5w: \"f1pha7fy\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fy9rknc\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"fwrc4pm\"\n },\n medium: {},\n large: {\n sshi5w: \"f1w5jphr\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fod5ikn\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"faaz57k\",\n i8kkvl: 0,\n Belr9w4: 0,\n rmohyg: \"f1eyhf9v\"\n },\n outline: {},\n outlineInteractive: {\n Bgoe8wy: \"fvcxoqz\",\n Bwzppfd: [\"f1ub3y4t\", \"f1m52nbi\"],\n oetu4i: \"f1l4zc64\",\n gg5e9n: [\"f1m52nbi\", \"f1ub3y4t\"],\n Drbcw7: \"f8vnjqi\",\n udz0bu: [\"fz1etlk\", \"f1hc16gm\"],\n Be8ivqh: \"f1klwx88\",\n ofdepl: [\"f1hc16gm\", \"fz1etlk\"]\n },\n underline: {\n De3pzq: \"f1c21dwh\",\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"fokr779\",\n icvyot: \"f1ern45e\",\n vrafjx: [\"f1n71otn\", \"f1deefiw\"],\n wvpqe5: [\"f1deefiw\", \"f1n71otn\"],\n Eqx8gd: [\"f1n6gb5g\", \"f15yvnhg\"],\n B1piin3: [\"f15yvnhg\", \"f1n6gb5g\"]\n },\n underlineInteractive: {\n oetu4i: \"f1l4zc64\",\n Be8ivqh: \"f1klwx88\",\n d9w3h3: 0,\n B3778ie: 0,\n B4j8arr: 0,\n Bl18szs: 0,\n Blrzh8d: \"f2ale1x\"\n },\n filled: {\n g2u3we: \"fghlq4f\",\n h3c5rm: [\"f1gn591s\", \"fjscplz\"],\n B9xav0g: \"fb073pr\",\n zhjwy3: [\"fjscplz\", \"f1gn591s\"]\n },\n filledInteractive: {\n q7v0qe: \"ftmjh5b\",\n kmh5ft: [\"f17blpuu\", \"fsrcdbj\"],\n nagaa4: \"f1tpwn32\",\n B1yhkcb: [\"fsrcdbj\", \"f17blpuu\"]\n },\n invalid: {\n tvckwq: \"fs4k3qj\",\n gk2u95: [\"fcee079\", \"fmyw78r\"],\n hhx65j: \"f1fgmyf4\",\n Bxowmz0: [\"fmyw78r\", \"fcee079\"]\n },\n \"filled-darker\": {\n De3pzq: \"f16xq7d1\"\n },\n \"filled-lighter\": {\n De3pzq: \"fxugw4r\"\n },\n \"filled-darker-shadow\": {\n De3pzq: \"f16xq7d1\",\n E5pizo: \"fyed02w\"\n },\n \"filled-lighter-shadow\": {\n De3pzq: \"fxugw4r\",\n E5pizo: \"fyed02w\"\n },\n disabled: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1c21dwh\",\n g2u3we: \"f1jj8ep1\",\n h3c5rm: [\"f15xbau\", \"fy0fskl\"],\n B9xav0g: \"f4ikngz\",\n zhjwy3: [\"fy0fskl\", \"f15xbau\"],\n Bjwas2f: \"fg455y9\",\n Bn1d65q: [\"f1rvyvqg\", \"f14g86mu\"],\n Bxeuatn: \"f1cwzwz\",\n n51gp8: [\"f14g86mu\", \"f1rvyvqg\"],\n Bsft5z2: \"fhr9occ\",\n Bduesf4: \"f99w1ws\"\n },\n smallWithContentBefore: {\n uwmqm3: [\"fk8j09s\", \"fdw0yi8\"]\n },\n smallWithContentAfter: {\n z189sj: [\"fdw0yi8\", \"fk8j09s\"]\n },\n mediumWithContentBefore: {\n uwmqm3: [\"f1ng84yb\", \"f11gcy0p\"]\n },\n mediumWithContentAfter: {\n z189sj: [\"f11gcy0p\", \"f1ng84yb\"]\n },\n largeWithContentBefore: {\n uwmqm3: [\"f1uw59to\", \"fw5db7e\"]\n },\n largeWithContentAfter: {\n z189sj: [\"fw5db7e\", \"f1uw59to\"]\n }\n}, {\n d: [\".f1pha7fy{min-height:24px;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".f1w5jphr{min-height:40px;}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\", [\".f1eyhf9v{gap:var(--spacingHorizontalSNudge);}\", {\n p: -1\n }], \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", [\".fokr779{border-radius:0;}\", {\n p: -1\n }], \".f1ern45e{border-top-style:none;}\", \".f1n71otn{border-right-style:none;}\", \".f1deefiw{border-left-style:none;}\", \".f1n6gb5g::after{left:0;}\", \".f15yvnhg::after{right:0;}\", [\".f2ale1x::after{border-radius:0;}\", {\n p: -1\n }], \".fghlq4f{border-top-color:var(--colorTransparentStroke);}\", \".f1gn591s{border-right-color:var(--colorTransparentStroke);}\", \".fjscplz{border-left-color:var(--colorTransparentStroke);}\", \".fb073pr{border-bottom-color:var(--colorTransparentStroke);}\", \".fs4k3qj:not(:focus-within),.fs4k3qj:hover:not(:focus-within){border-top-color:var(--colorPaletteRedBorder2);}\", \".fcee079:not(:focus-within),.fcee079:hover:not(:focus-within){border-right-color:var(--colorPaletteRedBorder2);}\", \".fmyw78r:not(:focus-within),.fmyw78r:hover:not(:focus-within){border-left-color:var(--colorPaletteRedBorder2);}\", \".f1fgmyf4:not(:focus-within),.f1fgmyf4:hover:not(:focus-within){border-bottom-color:var(--colorPaletteRedBorder2);}\", \".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".fyed02w{box-shadow:var(--shadow2);}\", \".fdrzuqr{cursor:not-allowed;}\", \".f1jj8ep1{border-top-color:var(--colorNeutralStrokeDisabled);}\", \".f15xbau{border-right-color:var(--colorNeutralStrokeDisabled);}\", \".fy0fskl{border-left-color:var(--colorNeutralStrokeDisabled);}\", \".f4ikngz{border-bottom-color:var(--colorNeutralStrokeDisabled);}\", \".fhr9occ::after{content:unset;}\", \".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}\", \".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}\", \".f1ng84yb{padding-left:var(--spacingHorizontalMNudge);}\", \".f11gcy0p{padding-right:var(--spacingHorizontalMNudge);}\", \".f1uw59to{padding-left:var(--spacingHorizontalM);}\", \".fw5db7e{padding-right:var(--spacingHorizontalM);}\"],\n h: [\".fvcxoqz:hover{border-top-color:var(--colorNeutralStroke1Hover);}\", \".f1ub3y4t:hover{border-right-color:var(--colorNeutralStroke1Hover);}\", \".f1m52nbi:hover{border-left-color:var(--colorNeutralStroke1Hover);}\", \".f1l4zc64:hover{border-bottom-color:var(--colorNeutralStrokeAccessibleHover);}\", \".ftmjh5b:hover,.ftmjh5b:focus-within{border-top-color:var(--colorTransparentStrokeInteractive);}\", \".f17blpuu:hover,.f17blpuu:focus-within{border-right-color:var(--colorTransparentStrokeInteractive);}\", \".fsrcdbj:hover,.fsrcdbj:focus-within{border-left-color:var(--colorTransparentStrokeInteractive);}\", \".f1tpwn32:hover,.f1tpwn32:focus-within{border-bottom-color:var(--colorTransparentStrokeInteractive);}\"],\n a: [\".f8vnjqi:active,.f8vnjqi:focus-within{border-top-color:var(--colorNeutralStroke1Pressed);}\", \".fz1etlk:active,.fz1etlk:focus-within{border-right-color:var(--colorNeutralStroke1Pressed);}\", \".f1hc16gm:active,.f1hc16gm:focus-within{border-left-color:var(--colorNeutralStroke1Pressed);}\", \".f1klwx88:active,.f1klwx88:focus-within{border-bottom-color:var(--colorNeutralStrokeAccessiblePressed);}\"],\n m: [[\"@media (forced-colors: active){.fg455y9{border-top-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f14g86mu{border-left-color:GrayText;}.f1rvyvqg{border-right-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1cwzwz{border-bottom-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }]],\n w: [\".f99w1ws:focus-within{outline-style:none;}\"]\n});\nconst useInputClassName = /*#__PURE__*/__resetStyles(\"r12stul0\", null, [\".r12stul0{align-self:stretch;box-sizing:border-box;flex-grow:1;min-width:0;border-style:none;padding:0 var(--spacingHorizontalM);color:var(--colorNeutralForeground1);background-color:transparent;outline-style:none;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;}\", \".r12stul0::-webkit-input-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r12stul0::-moz-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r12stul0::placeholder{color:var(--colorNeutralForeground4);opacity:1;}\"]);\nconst useInputElementStyles = /*#__PURE__*/__styles({\n small: {\n uwmqm3: [\"f1f5gg8d\", \"f1vdfbxk\"],\n z189sj: [\"f1vdfbxk\", \"f1f5gg8d\"]\n },\n medium: {},\n large: {\n uwmqm3: [\"fnphzt9\", \"flt1dlf\"],\n z189sj: [\"flt1dlf\", \"fnphzt9\"]\n },\n smallWithContentBefore: {\n uwmqm3: [\"fgiv446\", \"ffczdla\"]\n },\n smallWithContentAfter: {\n z189sj: [\"ffczdla\", \"fgiv446\"]\n },\n mediumWithContentBefore: {\n uwmqm3: [\"fgiv446\", \"ffczdla\"]\n },\n mediumWithContentAfter: {\n z189sj: [\"ffczdla\", \"fgiv446\"]\n },\n largeWithContentBefore: {\n uwmqm3: [\"fk8j09s\", \"fdw0yi8\"]\n },\n largeWithContentAfter: {\n z189sj: [\"fdw0yi8\", \"fk8j09s\"]\n },\n disabled: {\n sj55zd: \"f1s2aq7o\",\n De3pzq: \"f1c21dwh\",\n Bceei9c: \"fdrzuqr\",\n yvdlaj: \"fahhnxm\"\n }\n}, {\n d: [\".f1f5gg8d{padding-left:var(--spacingHorizontalS);}\", \".f1vdfbxk{padding-right:var(--spacingHorizontalS);}\", \".fnphzt9{padding-left:calc(var(--spacingHorizontalM) + var(--spacingHorizontalSNudge));}\", \".flt1dlf{padding-right:calc(var(--spacingHorizontalM) + var(--spacingHorizontalSNudge));}\", \".fgiv446{padding-left:var(--spacingHorizontalXXS);}\", \".ffczdla{padding-right:var(--spacingHorizontalXXS);}\", \".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}\", \".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".fdrzuqr{cursor:not-allowed;}\", \".fahhnxm::-webkit-input-placeholder{color:var(--colorNeutralForegroundDisabled);}\", \".fahhnxm::-moz-placeholder{color:var(--colorNeutralForegroundDisabled);}\"]\n});\nconst useContentClassName = /*#__PURE__*/__resetStyles(\"r1572tok\", null, [\".r1572tok{box-sizing:border-box;color:var(--colorNeutralForeground3);display:flex;}\", \".r1572tok>svg{font-size:20px;}\"]);\nconst useContentStyles = /*#__PURE__*/__styles({\n disabled: {\n sj55zd: \"f1s2aq7o\"\n },\n small: {\n Duoase: \"f3qv9w\"\n },\n medium: {},\n large: {\n Duoase: \"f16u2scb\"\n }\n}, {\n d: [\".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".f3qv9w>svg{font-size:16px;}\", \".f16u2scb>svg{font-size:24px;}\"]\n});\n/**\n * Apply styling to the Input slots based on the state\n */\nexport const useInputStyles_unstable = state => {\n 'use no memo';\n\n const {\n size,\n appearance\n } = state;\n const disabled = state.input.disabled;\n const invalid = `${state.input['aria-invalid']}` === 'true';\n const filled = appearance.startsWith('filled');\n const rootStyles = useRootStyles();\n const inputStyles = useInputElementStyles();\n const contentStyles = useContentStyles();\n state.root.className = mergeClasses(inputClassNames.root, useRootClassName(), rootStyles[size], state.contentBefore && rootStyles[`${size}WithContentBefore`], state.contentAfter && rootStyles[`${size}WithContentAfter`], rootStyles[appearance], !disabled && appearance === 'outline' && rootStyles.outlineInteractive, !disabled && appearance === 'underline' && rootStyles.underlineInteractive, !disabled && filled && rootStyles.filledInteractive, filled && rootStyles.filled, !disabled && invalid && rootStyles.invalid, disabled && rootStyles.disabled, state.root.className);\n state.input.className = mergeClasses(inputClassNames.input, useInputClassName(), inputStyles[size], state.contentBefore && inputStyles[`${size}WithContentBefore`], state.contentAfter && inputStyles[`${size}WithContentAfter`], disabled && inputStyles.disabled, state.input.className);\n const contentClasses = [useContentClassName(), disabled && contentStyles.disabled, contentStyles[size]];\n if (state.contentBefore) {\n state.contentBefore.className = mergeClasses(inputClassNames.contentBefore, ...contentClasses, state.contentBefore.className);\n }\n if (state.contentAfter) {\n state.contentAfter.className = mergeClasses(inputClassNames.contentAfter, ...contentClasses, state.contentAfter.className);\n }\n return state;\n};","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { useInputStyles_unstable } from '@fluentui/react-input';\nexport const searchBoxClassNames = {\n root: 'fui-SearchBox',\n dismiss: 'fui-SearchBox__dismiss',\n contentAfter: 'fui-SearchBox__contentAfter',\n contentBefore: 'fui-SearchBox__contentBefore',\n input: 'fui-SearchBox__input'\n};\n/**\n * Styles for the root slot\n */\nconst useRootStyles = /*#__PURE__*/__styles({\n small: {\n i8kkvl: \"fjuset5\",\n B2u0y6b: \"f1xzfw5u\",\n uwmqm3: [\"fk8j09s\", \"fdw0yi8\"],\n z189sj: [\"fdw0yi8\", \"fk8j09s\"]\n },\n medium: {\n i8kkvl: \"fjuset5\",\n B2u0y6b: \"f1xzfw5u\",\n uwmqm3: [\"f1f5gg8d\", \"f1vdfbxk\"],\n z189sj: [\"f1vdfbxk\", \"f1f5gg8d\"]\n },\n large: {\n i8kkvl: \"fjuset5\",\n B2u0y6b: \"f1xzfw5u\",\n uwmqm3: [\"f1ng84yb\", \"f11gcy0p\"],\n z189sj: [\"f11gcy0p\", \"f1ng84yb\"]\n },\n input: {\n uwmqm3: [\"fk8j09s\", \"fdw0yi8\"],\n z189sj: [\"fhxju0i\", \"f1cnd47f\"],\n Boqhc8c: \"f18izjht\",\n B8uat0v: \"fcoa6sg\"\n },\n unfocusedNoContentAfter: {\n z189sj: [\"fhxju0i\", \"f1cnd47f\"]\n }\n}, {\n d: [\".fjuset5{column-gap:0;}\", \".f1xzfw5u{max-width:468px;}\", \".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}\", \".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}\", \".f1f5gg8d{padding-left:var(--spacingHorizontalS);}\", \".f1vdfbxk{padding-right:var(--spacingHorizontalS);}\", \".f1ng84yb{padding-left:var(--spacingHorizontalMNudge);}\", \".f11gcy0p{padding-right:var(--spacingHorizontalMNudge);}\", \".fhxju0i{padding-right:0;}\", \".f1cnd47f{padding-left:0;}\", \".f18izjht::-webkit-search-decoration{display:none;}\", \".fcoa6sg::-webkit-search-cancel-button{display:none;}\"]\n});\nconst useInputStyles = /*#__PURE__*/__styles({\n small: {\n z189sj: [\"fdw0yi8\", \"fk8j09s\"]\n },\n medium: {\n z189sj: [\"f1vdfbxk\", \"f1f5gg8d\"]\n },\n large: {\n z189sj: [\"f11gcy0p\", \"f1ng84yb\"]\n }\n}, {\n d: [\".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}\", \".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}\", \".f1vdfbxk{padding-right:var(--spacingHorizontalS);}\", \".f1f5gg8d{padding-left:var(--spacingHorizontalS);}\", \".f11gcy0p{padding-right:var(--spacingHorizontalMNudge);}\", \".f1ng84yb{padding-left:var(--spacingHorizontalMNudge);}\"]\n});\nconst useContentAfterStyles = /*#__PURE__*/__styles({\n contentAfter: {\n uwmqm3: [\"f1uw59to\", \"fw5db7e\"],\n i8kkvl: \"f1ufnopg\"\n },\n rest: {\n abs64n: \"fk73vx1\",\n Bqenvij: \"fniina8\",\n a9b677: \"f3tsq5r\",\n uwmqm3: [\"f1cnd47f\", \"fhxju0i\"]\n }\n}, {\n d: [\".f1uw59to{padding-left:var(--spacingHorizontalM);}\", \".fw5db7e{padding-right:var(--spacingHorizontalM);}\", \".f1ufnopg{column-gap:var(--spacingHorizontalXS);}\", \".fk73vx1{opacity:0;}\", \".fniina8{height:0;}\", \".f3tsq5r{width:0;}\", \".f1cnd47f{padding-left:0;}\", \".fhxju0i{padding-right:0;}\"]\n});\nconst useDismissClassName = /*#__PURE__*/__resetStyles(\"r1pvzcuu\", null, [\".r1pvzcuu{box-sizing:border-box;color:var(--colorNeutralForeground3);display:flex;cursor:pointer;}\", \".r1pvzcuu>svg{font-size:20px;}\"]);\nconst useDismissStyles = /*#__PURE__*/__styles({\n disabled: {\n sj55zd: \"f1s2aq7o\"\n },\n small: {\n Duoase: \"f3qv9w\"\n },\n medium: {},\n large: {\n Duoase: \"f16u2scb\"\n }\n}, {\n d: [\".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".f3qv9w>svg{font-size:16px;}\", \".f16u2scb>svg{font-size:24px;}\"]\n});\n/**\n * Apply styling to the SearchBox slots based on the state\n */\nexport const useSearchBoxStyles_unstable = state => {\n 'use no memo';\n\n const {\n disabled,\n focused,\n size\n } = state;\n const rootStyles = useRootStyles();\n const inputStyles = useInputStyles();\n const contentAfterStyles = useContentAfterStyles();\n const dismissClassName = useDismissClassName();\n const dismissStyles = useDismissStyles();\n state.root.className = mergeClasses(searchBoxClassNames.root, rootStyles[size], !focused && rootStyles.unfocusedNoContentAfter, state.root.className);\n state.input.className = mergeClasses(searchBoxClassNames.input, rootStyles.input, !focused && inputStyles[size], state.input.className);\n if (state.dismiss) {\n state.dismiss.className = mergeClasses(searchBoxClassNames.dismiss, dismissClassName, disabled && dismissStyles.disabled, dismissStyles[size], state.dismiss.className);\n }\n if (state.contentBefore) {\n state.contentBefore.className = mergeClasses(searchBoxClassNames.contentBefore, state.contentBefore.className);\n }\n if (state.contentAfter) {\n state.contentAfter.className = mergeClasses(searchBoxClassNames.contentAfter, contentAfterStyles.contentAfter, !focused && contentAfterStyles.rest, state.contentAfter.className);\n } else if (state.dismiss) {\n state.dismiss.className = mergeClasses(state.dismiss.className, contentAfterStyles.contentAfter);\n }\n useInputStyles_unstable(state);\n return state;\n};\n//# sourceMappingURL=useSearchBoxStyles.styles.js.map","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const tagPickerControlClassNames = {\n root: 'fui-TagPickerControl',\n expandIcon: 'fui-TagPickerControl__expandIcon',\n secondaryAction: 'fui-TagPickerControl__secondaryAction',\n aside: 'fui-TagPickerControl__aside'\n};\nexport const tagPickerControlAsideWidthToken = '--fui-TagPickerControl-aside-width';\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"ft85np5\",\n z189sj: [\"f1d8q41i\", \"f8lqu5g\"],\n uwmqm3: [\"f1uw59to\", \"fw5db7e\"],\n Bt984gj: \"f122n59\",\n i8kkvl: \"f14mj54c\",\n B7ck84d: \"f1ewtqcl\",\n mc9l5x: \"f22iagw\",\n Bf4jedk: \"f1exfvgq\",\n qhf8xq: \"f10pi13n\",\n Eh141a: \"fni485r\",\n Bbr2w1p: \"f14a1fxs\",\n Bduesf4: \"f3e99gv\",\n Bpq79vn: \"fhljsf7\",\n li1rpt: \"f1gw3sf2\",\n Bsft5z2: \"f13zj6fq\",\n E3zdtr: \"f1mdlcz9\",\n Eqx8gd: [\"f1a7op3\", \"f1cjjd47\"],\n By385i5: \"f1gboi2j\",\n B1piin3: [\"f1cjjd47\", \"f1a7op3\"],\n Dlnsje: \"f145g4dw\",\n d9w3h3: [\"f1kp91vd\", \"f1ibwz09\"],\n B3778ie: [\"f1ibwz09\", \"f1kp91vd\"],\n B1q35kw: 0,\n Bw17bha: 0,\n Bcgy8vk: 0,\n Bjuhk93: \"f1mnjydx\",\n Gjdm7m: \"f13evtba\",\n b1kco5: \"f1yk9hq\",\n Ba2ppi3: \"fhwpy7i\",\n F2fol1: \"f14ee0xe\",\n lck23g: \"f1xhbsuh\",\n df92cz: \"fv8e3ye\",\n I188md: \"ftb5wc6\",\n umuwi5: \"fjw5xc1\",\n Blcqepd: \"f1xdyd5c\",\n nplu4u: \"fatpbeo\",\n Bioka5o: \"fb7uyps\",\n H713fs: \"f1cmft4k\",\n B9ooomg: \"f1x58t8o\",\n Bercvud: \"f1ibeo51\"\n },\n listbox: {\n E5pizo: \"f1hg901r\",\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"ft85np5\",\n Bxyxcbc: \"fmmk62d\",\n B7ck84d: \"f1ewtqcl\"\n },\n listboxCollapsed: {\n mc9l5x: \"fjseox\"\n },\n medium: {\n sshi5w: \"f1nxs5xn\"\n },\n large: {\n sshi5w: \"f1w5jphr\"\n },\n \"extra-large\": {\n sshi5w: \"f5pgtk9\"\n },\n outline: {\n De3pzq: \"fxugw4r\",\n Bgfg5da: 0,\n B9xav0g: \"f1c1zstj\",\n oivjwe: 0,\n Bn0qgzm: 0,\n B4g9neb: 0,\n zhjwy3: 0,\n wvpqe5: 0,\n ibv6hh: 0,\n u1mtju: 0,\n h3c5rm: 0,\n vrafjx: 0,\n Bekrc4i: 0,\n i8vvqc: 0,\n g2u3we: 0,\n icvyot: 0,\n B4j52fo: 0,\n irswps: \"fhz96rm\"\n },\n outlineInteractive: {\n Bgoe8wy: \"fvcxoqz\",\n Bwzppfd: [\"f1ub3y4t\", \"f1m52nbi\"],\n oetu4i: \"flmw63s\",\n gg5e9n: [\"f1m52nbi\", \"f1ub3y4t\"],\n B6oc9vd: \"fvs00aa\",\n ak43y8: [\"f1assf6x\", \"f4ruux4\"],\n wmxk5l: \"fqhmt4z\",\n B50zh58: [\"f4ruux4\", \"f1assf6x\"]\n },\n underline: {\n De3pzq: \"f1c21dwh\",\n B9xav0g: 0,\n oivjwe: 0,\n Bn0qgzm: 0,\n Bgfg5da: \"f9ez7ne\",\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"fokr779\"\n },\n \"filled-lighter\": {\n De3pzq: \"fxugw4r\",\n Bgfg5da: 0,\n B9xav0g: 0,\n oivjwe: 0,\n Bn0qgzm: 0,\n B4g9neb: 0,\n zhjwy3: 0,\n wvpqe5: 0,\n ibv6hh: 0,\n u1mtju: 0,\n h3c5rm: 0,\n vrafjx: 0,\n Bekrc4i: 0,\n i8vvqc: 0,\n g2u3we: 0,\n icvyot: 0,\n B4j52fo: 0,\n irswps: \"f88035w\"\n },\n \"filled-darker\": {\n De3pzq: \"f16xq7d1\",\n Bgfg5da: 0,\n B9xav0g: 0,\n oivjwe: 0,\n Bn0qgzm: 0,\n B4g9neb: 0,\n zhjwy3: 0,\n wvpqe5: 0,\n ibv6hh: 0,\n u1mtju: 0,\n h3c5rm: 0,\n vrafjx: 0,\n Bekrc4i: 0,\n i8vvqc: 0,\n g2u3we: 0,\n icvyot: 0,\n B4j52fo: 0,\n irswps: \"f88035w\"\n },\n invalid: {\n tvckwq: \"fs4k3qj\",\n gk2u95: [\"fcee079\", \"fmyw78r\"],\n hhx65j: \"f1fgmyf4\",\n Bxowmz0: [\"fmyw78r\", \"fcee079\"]\n },\n invalidUnderline: {\n hhx65j: \"f1fgmyf4\"\n },\n disabled: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1c21dwh\",\n g2u3we: \"f1jj8ep1\",\n h3c5rm: [\"f15xbau\", \"fy0fskl\"],\n B9xav0g: \"f4ikngz\",\n zhjwy3: [\"fy0fskl\", \"f15xbau\"],\n Bjwas2f: \"fg455y9\",\n Bn1d65q: [\"f1rvyvqg\", \"f14g86mu\"],\n Bxeuatn: \"f1cwzwz\",\n n51gp8: [\"f14g86mu\", \"f1rvyvqg\"]\n }\n}, {\n d: [[\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], \".f1d8q41i{padding-right:calc(var(--spacingHorizontalM) + var(--fui-TagPickerControl-aside-width, 0px));}\", \".f8lqu5g{padding-left:calc(var(--spacingHorizontalM) + var(--fui-TagPickerControl-aside-width, 0px));}\", \".f1uw59to{padding-left:var(--spacingHorizontalM);}\", \".fw5db7e{padding-right:var(--spacingHorizontalM);}\", \".f122n59{align-items:center;}\", \".f14mj54c{column-gap:var(--spacingHorizontalXXS);}\", \".f1ewtqcl{box-sizing:border-box;}\", \".f22iagw{display:flex;}\", \".f1exfvgq{min-width:250px;}\", \".f10pi13n{position:relative;}\", \".fni485r{flex-wrap:wrap;}\", \".f1gw3sf2::after{box-sizing:border-box;}\", \".f13zj6fq::after{content:\\\"\\\";}\", \".f1mdlcz9::after{position:absolute;}\", \".f1a7op3::after{left:-1px;}\", \".f1cjjd47::after{right:-1px;}\", \".f1gboi2j::after{bottom:-1px;}\", \".f145g4dw::after{height:max(2px, var(--borderRadiusMedium));}\", \".f1kp91vd::after{border-bottom-left-radius:var(--borderRadiusMedium);}\", \".f1ibwz09::after{border-bottom-right-radius:var(--borderRadiusMedium);}\", [\".f1mnjydx::after{border-bottom:var(--strokeWidthThick) solid var(--colorCompoundBrandStroke);}\", {\n p: -1\n }], \".f13evtba::after{clip-path:inset(calc(100% - 2px) 0 0 0);}\", \".f1yk9hq::after{transform:scaleX(0);}\", \".fhwpy7i::after{transition-property:transform;}\", \".f14ee0xe::after{transition-duration:var(--durationUltraFast);}\", \".f1xhbsuh::after{transition-delay:var(--curveAccelerateMid);}\", \".f1hg901r{box-shadow:var(--shadow16);}\", [\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], \".fmmk62d{max-height:80vh;}\", \".fjseox{display:none;}\", \".f1nxs5xn{min-height:32px;}\", \".f1w5jphr{min-height:40px;}\", \".f5pgtk9{min-height:44px;}\", \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", [\".fhz96rm{border:var(--strokeWidthThin) solid var(--colorNeutralStroke1);}\", {\n p: -2\n }], \".f1c1zstj{border-bottom-color:var(--colorNeutralStrokeAccessible);}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", [\".f9ez7ne{border-bottom:var(--strokeWidthThin) solid var(--colorNeutralStrokeAccessible);}\", {\n p: -1\n }], [\".fokr779{border-radius:0;}\", {\n p: -1\n }], [\".f88035w{border:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n p: -2\n }], \".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", [\".f88035w{border:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n p: -2\n }], \".fs4k3qj:not(:focus-within),.fs4k3qj:hover:not(:focus-within){border-top-color:var(--colorPaletteRedBorder2);}\", \".fcee079:not(:focus-within),.fcee079:hover:not(:focus-within){border-right-color:var(--colorPaletteRedBorder2);}\", \".fmyw78r:not(:focus-within),.fmyw78r:hover:not(:focus-within){border-left-color:var(--colorPaletteRedBorder2);}\", \".f1fgmyf4:not(:focus-within),.f1fgmyf4:hover:not(:focus-within){border-bottom-color:var(--colorPaletteRedBorder2);}\", \".fdrzuqr{cursor:not-allowed;}\", \".f1jj8ep1{border-top-color:var(--colorNeutralStrokeDisabled);}\", \".f15xbau{border-right-color:var(--colorNeutralStrokeDisabled);}\", \".fy0fskl{border-left-color:var(--colorNeutralStrokeDisabled);}\", \".f4ikngz{border-bottom-color:var(--colorNeutralStrokeDisabled);}\"],\n w: [\".f14a1fxs:focus-within{outline-width:2px;}\", \".f3e99gv:focus-within{outline-style:solid;}\", \".fhljsf7:focus-within{outline-color:transparent;}\", \".fjw5xc1:focus-within::after{transform:scaleX(1);}\", \".f1xdyd5c:focus-within::after{transition-property:transform;}\", \".fatpbeo:focus-within::after{transition-duration:var(--durationNormal);}\", \".fb7uyps:focus-within::after{transition-delay:var(--curveDecelerateMid);}\", \".f1ibeo51:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\"],\n m: [[\"@media screen and (prefers-reduced-motion: reduce){.fv8e3ye::after{transition-duration:0.01ms;}}\", {\n m: \"screen and (prefers-reduced-motion: reduce)\"\n }], [\"@media screen and (prefers-reduced-motion: reduce){.ftb5wc6::after{transition-delay:0.01ms;}}\", {\n m: \"screen and (prefers-reduced-motion: reduce)\"\n }], [\"@media screen and (prefers-reduced-motion: reduce){.f1cmft4k:focus-within::after{transition-duration:0.01ms;}}\", {\n m: \"screen and (prefers-reduced-motion: reduce)\"\n }], [\"@media screen and (prefers-reduced-motion: reduce){.f1x58t8o:focus-within::after{transition-delay:0.01ms;}}\", {\n m: \"screen and (prefers-reduced-motion: reduce)\"\n }], [\"@media (forced-colors: active){.fg455y9{border-top-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f14g86mu{border-left-color:GrayText;}.f1rvyvqg{border-right-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1cwzwz{border-bottom-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }]],\n h: [\".fvcxoqz:hover{border-top-color:var(--colorNeutralStroke1Hover);}\", \".f1ub3y4t:hover{border-right-color:var(--colorNeutralStroke1Hover);}\", \".f1m52nbi:hover{border-left-color:var(--colorNeutralStroke1Hover);}\", \".flmw63s:hover{border-bottom-color:var(--colorNeutralStrokeAccessible);}\"],\n a: [\".fvs00aa:active{border-top-color:var(--colorNeutralStroke1Pressed);}\", \".f1assf6x:active{border-right-color:var(--colorNeutralStroke1Pressed);}\", \".f4ruux4:active{border-left-color:var(--colorNeutralStroke1Pressed);}\", \".fqhmt4z:active{border-bottom-color:var(--colorNeutralStrokeAccessible);}\"]\n});\nconst useAsideStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f13qh94s\",\n Bt984gj: \"f122n59\",\n qhf8xq: \"f1euv43f\",\n Bhzewxz: \"f15twtuk\",\n j35jbq: [\"f8b87gs\", \"fedtrts\"],\n Budl1dq: \"f13p5kfd\",\n wkccdc: \"fjg31ve\",\n Bqenvij: \"f1l02sjl\",\n Bceei9c: \"f113hnb5\"\n },\n medium: {\n sshi5w: \"f1nxs5xn\"\n },\n large: {\n sshi5w: \"f1w5jphr\"\n },\n \"extra-large\": {\n sshi5w: \"f5pgtk9\"\n }\n}, {\n d: [\".f13qh94s{display:grid;}\", \".f122n59{align-items:center;}\", \".f1euv43f{position:absolute;}\", \".f15twtuk{top:0;}\", \".f8b87gs{right:var(--spacingHorizontalM);}\", \".fedtrts{left:var(--spacingHorizontalM);}\", \".f13p5kfd{grid-template-columns:repeat(2, auto);}\", \".fjg31ve{grid-template-rows:minmax(32px, auto) 1fr;}\", \".f1l02sjl{height:100%;}\", \".f113hnb5{cursor:text;}\", \".f1nxs5xn{min-height:32px;}\", \".f1w5jphr{min-height:40px;}\", \".f5pgtk9{min-height:44px;}\"]\n});\nexport const iconSizes = {\n small: '16px',\n medium: '20px',\n large: '24px'\n};\nconst useIconStyles = /*#__PURE__*/__styles({\n icon: {\n B7ck84d: \"f1ewtqcl\",\n sj55zd: \"fxkbij4\",\n Bceei9c: \"f1k6fduh\",\n mc9l5x: \"ftgm304\",\n Be2twd7: \"f1pp30po\",\n Bo70h7d: \"fvc9v3g\"\n },\n medium: {\n Be2twd7: \"f4ybsrx\",\n Frg6f3: [\"f1h9en5y\", \"f1xk557c\"]\n },\n large: {\n Be2twd7: \"fe5j1ua\",\n Frg6f3: [\"f1h9en5y\", \"f1xk557c\"]\n },\n \"extra-large\": {\n Be2twd7: \"f1rt2boy\",\n Frg6f3: [\"f1t5qyk5\", \"f1ikr372\"]\n },\n disabled: {\n sj55zd: \"f1s2aq7o\",\n Bceei9c: \"fdrzuqr\"\n }\n}, {\n d: [\".f1ewtqcl{box-sizing:border-box;}\", \".fxkbij4{color:var(--colorNeutralStrokeAccessible);}\", \".f1k6fduh{cursor:pointer;}\", \".ftgm304{display:block;}\", \".f1pp30po{font-size:var(--fontSizeBase500);}\", \".fvc9v3g svg{display:block;}\", \".f4ybsrx{font-size:16px;}\", \".f1h9en5y{margin-left:var(--spacingHorizontalXXS);}\", \".f1xk557c{margin-right:var(--spacingHorizontalXXS);}\", \".fe5j1ua{font-size:20px;}\", \".f1rt2boy{font-size:24px;}\", \".f1t5qyk5{margin-left:var(--spacingHorizontalSNudge);}\", \".f1ikr372{margin-right:var(--spacingHorizontalSNudge);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".fdrzuqr{cursor:not-allowed;}\"]\n});\n/**\n * Apply styling to the PickerControl slots based on the state\n */\nexport const useTagPickerControlStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const iconStyles = useIconStyles();\n const asideStyles = useAsideStyles();\n state.root.className = mergeClasses(tagPickerControlClassNames.root, styles.root, styles[state.size], styles[state.appearance], !state.disabled && state.appearance === 'outline' && styles.outlineInteractive, state.invalid && state.appearance !== 'underline' && styles.invalid, state.invalid && state.appearance === 'underline' && styles.invalidUnderline, state.disabled && styles.disabled, state.root.className);\n if (state.aside) {\n state.aside.className = mergeClasses(tagPickerControlClassNames.aside, asideStyles.root, asideStyles[state.size], state.aside.className);\n }\n if (state.expandIcon) {\n state.expandIcon.className = mergeClasses(tagPickerControlClassNames.expandIcon, iconStyles.icon, iconStyles[state.size], state.disabled && iconStyles.disabled, state.expandIcon.className);\n }\n if (state.secondaryAction) {\n state.secondaryAction.className = mergeClasses(tagPickerControlClassNames.secondaryAction, state.secondaryAction.className);\n }\n return state;\n};\n//# sourceMappingURL=useTagPickerControlStyles.styles.js.map","import * as React from 'react';\nimport { elementContains, getIntrinsicElementProps, slot, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useTagPickerContext_unstable } from '../../contexts/TagPickerContext';\nimport { ChevronDownRegular } from '@fluentui/react-icons';\nimport { useResizeObserverRef } from '../../utils/useResizeObserverRef';\nimport { tagPickerControlAsideWidthToken } from './useTagPickerControlStyles.styles';\nimport { useFieldContext_unstable } from '@fluentui/react-field';\n/**\n * Create the state required to render PickerControl.\n *\n * The returned state can be modified with hooks such as usePickerControlStyles_unstable,\n * before being passed to renderPickerControl_unstable.\n *\n * @param props - props from this instance of PickerControl\n * @param ref - reference to root HTMLDivElement of PickerControl\n */ export const useTagPickerControl_unstable = (props, ref)=>{\n var _useFieldContext_unstable;\n const targetRef = useTagPickerContext_unstable((ctx)=>ctx.targetRef);\n const triggerRef = useTagPickerContext_unstable((ctx)=>ctx.triggerRef);\n const tagPickerGroupRef = useTagPickerContext_unstable((ctx)=>ctx.tagPickerGroupRef);\n const open = useTagPickerContext_unstable((ctx)=>ctx.open);\n const popoverId = useTagPickerContext_unstable((ctx)=>ctx.popoverId);\n const setOpen = useTagPickerContext_unstable((ctx)=>ctx.setOpen);\n const secondaryInnerActionRef = useTagPickerContext_unstable((ctx)=>ctx.secondaryActionRef);\n const size = useTagPickerContext_unstable((ctx)=>ctx.size);\n const appearance = useTagPickerContext_unstable((ctx)=>ctx.appearance);\n const disabled = useTagPickerContext_unstable((ctx)=>ctx.disabled);\n const invalid = ((_useFieldContext_unstable = useFieldContext_unstable()) === null || _useFieldContext_unstable === void 0 ? void 0 : _useFieldContext_unstable.validationState) === 'error';\n const innerRef = React.useRef(null);\n const expandIconRef = React.useRef(null);\n const asideRef = React.useRef(null);\n const secondaryAction = slot.optional(props.secondaryAction, {\n elementType: 'span'\n });\n const secondaryActionRef = useMergedRefs(secondaryInnerActionRef, secondaryAction === null || secondaryAction === void 0 ? void 0 : secondaryAction.ref);\n if (secondaryAction) {\n secondaryAction.ref = secondaryActionRef;\n }\n const expandIcon = slot.optional(props.expandIcon, {\n renderByDefault: true,\n defaultProps: {\n 'aria-expanded': open,\n children: /*#__PURE__*/ React.createElement(ChevronDownRegular, null),\n role: 'button'\n },\n elementType: 'span'\n });\n const expandIconMergeRef = useMergedRefs(expandIcon === null || expandIcon === void 0 ? void 0 : expandIcon.ref, expandIconRef);\n if (expandIcon) {\n expandIcon.ref = expandIconMergeRef;\n }\n const observerRef = useResizeObserverRef(([entry])=>{\n var _innerRef_current;\n (_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.style.setProperty(tagPickerControlAsideWidthToken, `${entry.contentRect.width}px`);\n });\n const aside = slot.optional(undefined, {\n elementType: 'span',\n renderByDefault: Boolean(secondaryAction || expandIcon),\n defaultProps: {\n ref: observerRef\n }\n });\n const mergedAsideRefs = useMergedRefs(asideRef, aside === null || aside === void 0 ? void 0 : aside.ref);\n if (aside) {\n aside.ref = mergedAsideRefs;\n }\n const handleMouseDown = useEventCallback((event)=>{\n if (event.isDefaultPrevented()) {\n return;\n }\n if (elementContains(expandIconRef.current, event.target) || event.target === innerRef.current || event.target === tagPickerGroupRef.current || event.target === asideRef.current) {\n var _triggerRef_current;\n event.preventDefault();\n setOpen(event, !open);\n (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();\n }\n });\n return {\n components: {\n root: 'div',\n expandIcon: 'span',\n secondaryAction: 'span',\n aside: 'span'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref: useMergedRefs(ref, targetRef, innerRef),\n 'aria-owns': open ? popoverId : undefined,\n ...props,\n onMouseDown: handleMouseDown\n }), {\n elementType: 'div'\n }),\n aside,\n expandIcon,\n secondaryAction,\n size,\n appearance,\n disabled,\n invalid\n };\n};\n","import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nexport const useResizeObserverRef = (callback)=>{\n const { targetDocument } = useFluent();\n const [observer] = React.useState(()=>{\n var _targetDocument_defaultView;\n const ResizeObserverConstructor = targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.ResizeObserver;\n if (ResizeObserverConstructor) {\n return new ResizeObserverConstructor(callback);\n }\n });\n const ref = React.useCallback((element)=>{\n if (element) {\n observer === null || observer === void 0 ? void 0 : observer.observe(element);\n } else {\n observer === null || observer === void 0 ? void 0 : observer.disconnect();\n }\n }, [\n observer\n ]);\n return ref;\n};\n","import * as React from 'react';\nimport { useTagPickerControl_unstable } from './useTagPickerControl';\nimport { renderTagPickerControl_unstable } from './renderTagPickerControl';\nimport { useTagPickerControlStyles_unstable } from './useTagPickerControlStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TagPickerControl component -\n * A TagPickerControl is a composite component that controls actions and state for a TagPicker.\n */ export const TagPickerControl = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTagPickerControl_unstable(props, ref);\n useTagPickerControlStyles_unstable(state);\n useCustomStyleHook_unstable('useTagPickerControlStyles_unstable')(state);\n return renderTagPickerControl_unstable(state);\n});\nTagPickerControl.displayName = 'TagPickerControl';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of PickerControl\n */ export const renderTagPickerControl_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.root.children,\n state.aside && /*#__PURE__*/ _jsxs(state.aside, {\n children: [\n state.secondaryAction && /*#__PURE__*/ _jsx(state.secondaryAction, {}),\n state.expandIcon && /*#__PURE__*/ _jsx(state.expandIcon, {})\n ]\n })\n ]\n });\n};\n","export const tagPickerInputCSSRules = {\n width: '--fluent-TagPickerInput__width'\n};\nexport const tagPickerInputTokens = {\n width: `var(${tagPickerInputCSSRules.width}, 0)`\n};\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { useActiveDescendantContext } from '@fluentui/react-aria';\nimport { useTagPickerContext_unstable } from '../../contexts/TagPickerContext';\nimport { useMergedRefs, getIntrinsicElementProps, useEventCallback, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport { ArrowLeft, Backspace, Enter, Space } from '@fluentui/keyboard-keys';\nimport { useInputTriggerSlot } from '@fluentui/react-combobox';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { tagPickerInputCSSRules } from '../../utils/tokens';\nimport { useFocusFinders } from '@fluentui/react-tabster';\n/**\n * Create the state required to render TagPickerInput.\n *\n * The returned state can be modified with hooks such as useTagPickerInputStyles_unstable,\n * before being passed to renderTagPickerInput_unstable.\n *\n * @param props - props from this instance of TagPickerInput\n * @param ref - reference to root HTMLDivElement of TagPickerInput\n */ export const useTagPickerInput_unstable = (propsArg, ref)=>{\n const props = useFieldControlProps_unstable(propsArg, {\n supportsLabelFor: true,\n supportsRequired: true,\n supportsSize: true\n });\n const { controller: activeDescendantController } = useActiveDescendantContext();\n const size = useTagPickerContext_unstable((ctx)=>ctx.size);\n const contextDisabled = useTagPickerContext_unstable((ctx)=>ctx.disabled);\n const tagPickerGroupRef = useTagPickerContext_unstable((ctx)=>ctx.tagPickerGroupRef);\n const triggerRef = useTagPickerContext_unstable((ctx)=>ctx.triggerRef);\n const selectedOptions = useTagPickerContext_unstable((ctx)=>ctx.selectedOptions);\n const setValue = useTagPickerContext_unstable((ctx)=>ctx.setValue);\n const setOpen = useTagPickerContext_unstable((ctx)=>ctx.setOpen);\n const setHasFocus = useTagPickerContext_unstable((ctx)=>ctx.setHasFocus);\n const clearSelection = useTagPickerContext_unstable((ctx)=>ctx.clearSelection);\n const open = useTagPickerContext_unstable((ctx)=>ctx.open);\n const popoverId = useTagPickerContext_unstable((ctx)=>ctx.popoverId);\n const selectOption = useTagPickerContext_unstable((ctx)=>ctx.selectOption);\n const getOptionById = useTagPickerContext_unstable((ctx)=>ctx.getOptionById);\n const contextValue = useTagPickerContext_unstable((ctx)=>ctx.value);\n useIsomorphicLayoutEffect(()=>{\n if (!triggerRef.current) {\n return;\n }\n setTagPickerInputStretchStyle(triggerRef.current);\n }, [\n selectedOptions,\n triggerRef\n ]);\n useIsomorphicLayoutEffect(()=>{\n if (triggerRef.current) {\n const input = triggerRef.current;\n const cb = ()=>setTagPickerInputStretchStyle(input);\n input.addEventListener('input', cb);\n return ()=>{\n input.removeEventListener('input', cb);\n };\n }\n }, [\n triggerRef\n ]);\n const { value = contextValue, disabled = contextDisabled } = props;\n const { findLastFocusable } = useFocusFinders();\n const isTypingRef = React.useRef(false);\n const root = useInputTriggerSlot({\n type: 'text',\n value: value !== null && value !== void 0 ? value : '',\n 'aria-controls': open ? popoverId : undefined,\n disabled,\n ...getIntrinsicElementProps('input', props),\n onKeyDown: useEventCallback((event)=>{\n var _props_onKeyDown;\n (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);\n if ((event.key === ArrowLeft || event.key === Backspace) && event.currentTarget.selectionStart === 0 && tagPickerGroupRef.current) {\n var _findLastFocusable;\n (_findLastFocusable = findLastFocusable(tagPickerGroupRef.current)) === null || _findLastFocusable === void 0 ? void 0 : _findLastFocusable.focus();\n } else if (event.key === Space) {\n if (open && !isTypingRef.current) {\n setOpen(event, false);\n }\n } else if (event.key === Enter) {\n if (open) {\n ReactDOM.unstable_batchedUpdates(()=>{\n setValue(undefined);\n setOpen(event, false);\n });\n } else {\n setOpen(event, true);\n }\n }\n isTypingRef.current = event.key.length === 1 && event.code !== Space && !event.altKey && !event.ctrlKey && !event.metaKey;\n })\n }, useMergedRefs(triggerRef, ref), {\n activeDescendantController,\n freeform: false,\n state: {\n clearSelection,\n getOptionById,\n open,\n selectedOptions,\n selectOption,\n setHasFocus,\n setOpen,\n setValue,\n multiselect: true,\n value: props.value\n }\n });\n const state = {\n components: {\n root: 'input'\n },\n root,\n disabled,\n size\n };\n return state;\n};\n/**\n * while typing the user might need a bit more of space to see the text,\n * which means the input should stretch to 100% width\n * occupying a whole new line.\n *\n * This function will set the CSS variable `--width` to `100%` if the scrollWidth is greater than the offsetWidth,\n * meaning the text is overflowing the input.\n *\n * @param input - input element to apply the style\n * @returns void\n */ const setTagPickerInputStretchStyle = (input)=>{\n // first we need to remove the CSS variable\n // to properly calculate the difference between scrollWidth and offsetWidth\n input.style.removeProperty(tagPickerInputCSSRules.width);\n if (input.scrollWidth > input.offsetWidth + 1) {\n input.style.setProperty(tagPickerInputCSSRules.width, '100%');\n } else {\n input.style.removeProperty(tagPickerInputCSSRules.width);\n }\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { typographyStyles, tokens } from '@fluentui/react-theme';\nimport { tagPickerInputTokens } from '../../utils/tokens';\nexport const tagPickerInputClassNames = {\n root: 'fui-TagPickerInput'\n};\nconst useBaseStyle = /*#__PURE__*/__resetStyles(\"r1hdk6fw\", null, [\".r1hdk6fw{background-color:var(--colorTransparentBackground);color:var(--colorNeutralForeground1);font-family:var(--fontFamilyBase);box-sizing:border-box;border:none;min-width:24px;max-width:100%;width:var(--fluent-TagPickerInput__width, 0);flex-grow:1;}\", \".r1hdk6fw:focus{outline-style:none;}\", \".r1hdk6fw::-webkit-input-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1hdk6fw::-moz-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1hdk6fw::placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1hdk6fw::after{visibility:hidden;white-space:pre-wrap;}\"]);\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n medium: {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"f1i3iumi\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"fa2pw7h\"\n },\n large: {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"f1i3iumi\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"ft37c3\"\n },\n \"extra-large\": {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"f1i3iumi\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f3abo53\"\n },\n disabled: {\n sj55zd: \"f1s2aq7o\",\n De3pzq: \"f1c21dwh\",\n Bceei9c: \"fdrzuqr\",\n yvdlaj: \"fahhnxm\"\n }\n}, {\n d: [\".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", [\".fa2pw7h{padding:var(--spacingVerticalSNudge) 0 var(--spacingVerticalSNudge) 0;}\", {\n p: -1\n }], [\".ft37c3{padding:var(--spacingVerticalMNudge) 0 var(--spacingVerticalMNudge) 0;}\", {\n p: -1\n }], [\".f3abo53{padding:var(--spacingVerticalM) 0 var(--spacingVerticalM) 0;}\", {\n p: -1\n }], \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".fdrzuqr{cursor:not-allowed;}\", \".fahhnxm::-webkit-input-placeholder{color:var(--colorNeutralForegroundDisabled);}\", \".fahhnxm::-moz-placeholder{color:var(--colorNeutralForegroundDisabled);}\"]\n});\n/**\n * Apply styling to the TagPickerInput slots based on the state\n */\nexport const useTagPickerInputStyles_unstable = state => {\n 'use no memo';\n\n const baseStyle = useBaseStyle();\n const styles = useStyles();\n state.root.className = mergeClasses(tagPickerInputClassNames.root, baseStyle, styles[state.size], state.disabled && styles.disabled, state.root.className);\n return state;\n};\n//# sourceMappingURL=useTagPickerInputStyles.styles.js.map","import * as React from 'react';\nimport { useTagPickerInput_unstable } from './useTagPickerInput';\nimport { renderTagPickerInput_unstable } from './renderTagPickerInput';\nimport { useTagPickerInputStyles_unstable } from './useTagPickerInputStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TagPickerInput component -\n * A TagPickerInput is a composite component that allows users to query tags.\n */ export const TagPickerInput = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTagPickerInput_unstable(props, ref);\n useTagPickerInputStyles_unstable(state);\n useCustomStyleHook_unstable('useTagPickerInputStyles_unstable')(state);\n return renderTagPickerInput_unstable(state);\n});\nTagPickerInput.displayName = 'TagPickerInput';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of TagPickerInput\n */ export const renderTagPickerInput_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const tagPickerListClassNames = {\n root: 'fui-TagPickerList'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n E5pizo: \"f1hg901r\",\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"ft85np5\",\n Bxyxcbc: \"fmmk62d\",\n B7ck84d: \"f1ewtqcl\"\n },\n collapsed: {\n mc9l5x: \"fjseox\"\n }\n}, {\n d: [\".f1hg901r{box-shadow:var(--shadow16);}\", [\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], \".fmmk62d{max-height:80vh;}\", \".f1ewtqcl{box-sizing:border-box;}\", \".fjseox{display:none;}\"]\n});\n/**\n * Apply styling to the TagPickerList slots based on the state\n */\nexport const useTagPickerListStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(tagPickerListClassNames.root, styles.root, !state.open && styles.collapsed, state.root.className);\n return state;\n};\n//# sourceMappingURL=useTagPickerListStyles.styles.js.map","import * as React from 'react';\nimport { useTagPickerList_unstable } from './useTagPickerList';\nimport { renderTagPickerList_unstable } from './renderTagPickerList';\nimport { useTagPickerListStyles_unstable } from './useTagPickerListStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TagPickerList component -\n * A TagPickerList is a composite component that allows users to display a list of tag options to be selected.\n */ export const TagPickerList = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTagPickerList_unstable(props, ref);\n useTagPickerListStyles_unstable(state);\n useCustomStyleHook_unstable('useTagPickerListStyles_unstable')(state);\n return renderTagPickerList_unstable(state);\n});\nTagPickerList.displayName = 'TagPickerList';\n","import * as React from 'react';\nimport { Listbox } from '@fluentui/react-combobox';\nimport { useTagPickerContext_unstable } from '../../contexts/TagPickerContext';\nimport { slot, useMergedRefs } from '@fluentui/react-utilities';\nimport { useListboxSlot } from '@fluentui/react-combobox';\n/**\n * Create the state required to render TagPickerList.\n *\n * The returned state can be modified with hooks such as useTagPickerListStyles_unstable,\n * before being passed to renderTagPickerList_unstable.\n *\n * @param props - props from this instance of TagPickerList\n * @param ref - reference to root HTMLDivElement of TagPickerList\n */ export const useTagPickerList_unstable = (props, ref)=>{\n const triggerRef = useTagPickerContext_unstable((ctx)=>ctx.triggerRef);\n const popoverRef = useTagPickerContext_unstable((ctx)=>ctx.popoverRef);\n const popoverId = useTagPickerContext_unstable((ctx)=>ctx.popoverId);\n const open = useTagPickerContext_unstable((ctx)=>ctx.open);\n return {\n open,\n components: {\n root: Listbox\n },\n root: slot.always({\n ...useListboxSlot(props, useMergedRefs(popoverRef, ref), {\n state: {\n multiselect: true\n },\n triggerRef,\n defaultProps: {\n id: popoverId\n }\n }),\n role: 'listbox'\n }, {\n elementType: Listbox\n })\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of TagPickerList\n */ export const renderTagPickerList_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { useOptionStyles_unstable } from '@fluentui/react-combobox';\nexport const tagPickerOptionClassNames = {\n root: 'fui-TagPickerOption',\n media: 'fui-TagPickerOption__media',\n secondaryContent: 'fui-TagPickerOption__secondaryContent'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f13qh94s\",\n Budl1dq: \"fjxzuw\",\n Bt984gj: \"f122n59\"\n },\n secondaryContent: {\n Br312pm: \"fd46tj4\",\n Ijaq50: \"faunodf\"\n },\n media: {\n Ijaq50: \"fldnz9j\"\n }\n}, {\n d: [\".f13qh94s{display:grid;}\", \".fjxzuw{grid-template-columns:auto 1fr;}\", \".f122n59{align-items:center;}\", \".fd46tj4{grid-column-start:2;}\", \".faunodf{grid-row-start:2;}\", \".fldnz9j{grid-row-start:span 2;}\"]\n});\n/**\n * Apply styling to the TagPickerOption slots based on the state\n */\nexport const useTagPickerOptionStyles_unstable = state => {\n 'use no memo';\n\n useOptionStyles_unstable({\n ...state,\n active: false,\n disabled: false,\n focusVisible: false,\n checkIcon: undefined,\n selected: false\n });\n const styles = useStyles();\n state.root.className = mergeClasses(tagPickerOptionClassNames.root, styles.root, state.root.className);\n if (state.media) {\n state.media.className = mergeClasses(tagPickerOptionClassNames.media, styles.media, state.media.className);\n }\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(tagPickerOptionClassNames.secondaryContent, styles.secondaryContent, state.secondaryContent.className);\n }\n return state;\n};\n//# sourceMappingURL=useTagPickerOptionStyles.styles.js.map","import * as React from 'react';\nimport { useTagPickerOption_unstable } from './useTagPickerOption';\nimport { renderTagPickerOption_unstable } from './renderTagPickerOption';\nimport { useTagPickerOptionStyles_unstable } from './useTagPickerOptionStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * TagPickerOption component -\n * A TagPickerOption is a composite component that allows users to select tags.\n */ export const TagPickerOption = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTagPickerOption_unstable(props, ref);\n useTagPickerOptionStyles_unstable(state);\n useCustomStyleHook_unstable('useTagPickerOptionStyles_unstable')(state);\n return renderTagPickerOption_unstable(state);\n});\nTagPickerOption.displayName = 'TagPickerOption';\n","import * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { useOption_unstable } from '@fluentui/react-combobox';\n/**\n * Create the state required to render TagPickerOption.\n *\n * The returned state can be modified with hooks such as useTagPickerOptionStyles_unstable,\n * before being passed to renderTagPickerOption_unstable.\n *\n * @param props - props from this instance of TagPickerOption\n * @param ref - reference to root HTMLDivElement of TagPickerOption\n */ export const useTagPickerOption_unstable = (props, ref)=>{\n const optionState = useOption_unstable(props, ref);\n const state = {\n components: {\n ...optionState.components,\n media: 'div',\n secondaryContent: 'span'\n },\n media: slot.optional(props.media, {\n elementType: 'div'\n }),\n secondaryContent: slot.optional(props.secondaryContent, {\n elementType: 'span'\n }),\n root: slot.always({\n ...optionState.root,\n role: 'option',\n 'aria-checked': props['aria-checked']\n }, {\n elementType: 'div'\n })\n };\n return state;\n};\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of TagPickerOption\n */ export const renderTagPickerOption_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.media && /*#__PURE__*/ _jsx(state.media, {}),\n state.root.children,\n state.secondaryContent && /*#__PURE__*/ _jsx(state.secondaryContent, {})\n ]\n });\n};\n","import * as React from 'react';\nimport { useEventCallback, useId, useMergedRefs } from '@fluentui/react-utilities';\nimport { optionClassNames } from '@fluentui/react-combobox';\nimport { resolvePositioningShorthand, usePositioning } from '@fluentui/react-positioning';\nimport { useActiveDescendant } from '@fluentui/react-aria';\nimport { useComboboxBaseState } from '@fluentui/react-combobox';\n// Set a default set of fallback positions to try if the dropdown does not fit on screen\nconst fallbackPositions = [\n 'above',\n 'after',\n 'after-top',\n 'before',\n 'before-top'\n];\n/**\n * Create the state required to render Picker.\n *\n * The returned state can be modified with hooks such as usePickerStyles_unstable,\n * before being passed to renderPicker_unstable.\n *\n * @param props - props from this instance of Picker\n */ export const useTagPicker_unstable = (props)=>{\n const popoverId = useId('picker-listbox');\n const triggerInnerRef = React.useRef(null);\n const secondaryActionRef = React.useRef(null);\n const tagPickerGroupRef = React.useRef(null);\n const { positioning, size = 'medium', inline = false } = props;\n const { targetRef, containerRef } = usePositioning({\n position: 'below',\n align: 'start',\n offset: {\n crossAxis: 0,\n mainAxis: 2\n },\n fallbackPositions,\n matchTargetSize: 'width',\n ...resolvePositioningShorthand(positioning)\n });\n const { controller: activeDescendantController, activeParentRef, listboxRef } = useActiveDescendant({\n matchOption: (el)=>el.classList.contains(optionClassNames.root)\n });\n const comboboxState = useComboboxBaseState({\n ...props,\n onOptionSelect: useEventCallback((event, data)=>{\n var _props_onOptionSelect;\n return (_props_onOptionSelect = props.onOptionSelect) === null || _props_onOptionSelect === void 0 ? void 0 : _props_onOptionSelect.call(props, event, {\n selectedOptions: data.selectedOptions,\n value: data.optionValue,\n type: event.type,\n event\n });\n }),\n onOpenChange: useEventCallback((event, data)=>{\n var _props_onOpenChange;\n return (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, {\n ...data,\n type: event.type,\n event\n });\n }),\n activeDescendantController,\n editable: true,\n multiselect: true,\n size: 'medium'\n });\n const { trigger, popover } = childrenToTriggerAndPopover(props.children);\n return {\n activeDescendantController,\n components: {},\n trigger,\n popover: comboboxState.open || comboboxState.hasFocus ? popover : undefined,\n popoverId,\n disabled: comboboxState.disabled,\n triggerRef: useMergedRefs(triggerInnerRef, activeParentRef),\n popoverRef: useMergedRefs(listboxRef, containerRef),\n secondaryActionRef,\n tagPickerGroupRef,\n targetRef,\n size,\n inline,\n open: comboboxState.open,\n mountNode: comboboxState.mountNode,\n onOptionClick: useEventCallback((event)=>{\n comboboxState.onOptionClick(event);\n comboboxState.setOpen(event, false);\n }),\n appearance: comboboxState.appearance,\n clearSelection: comboboxState.clearSelection,\n getOptionById: comboboxState.getOptionById,\n getOptionsMatchingValue: comboboxState.getOptionsMatchingValue,\n registerOption: comboboxState.registerOption,\n selectedOptions: comboboxState.selectedOptions,\n selectOption: comboboxState.selectOption,\n setHasFocus: comboboxState.setHasFocus,\n setOpen: comboboxState.setOpen,\n setValue: comboboxState.setValue,\n value: comboboxState.value\n };\n};\nconst childrenToTriggerAndPopover = (children)=>{\n const childrenArray = React.Children.toArray(children);\n if (process.env.NODE_ENV !== 'production') {\n if (childrenArray.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Picker must contain at least one child');\n }\n if (childrenArray.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Picker must contain at most two children');\n }\n }\n let trigger = undefined;\n let popover = undefined;\n if (childrenArray.length === 2) {\n trigger = childrenArray[0];\n popover = childrenArray[1];\n } else if (childrenArray.length === 1) {\n popover = childrenArray[0];\n }\n return {\n trigger,\n popover\n };\n};\n","import * as React from 'react';\nexport function useTagPickerContextValues(state) {\n const { onOptionClick, registerOption, selectedOptions, selectOption, value, triggerRef, secondaryActionRef, tagPickerGroupRef, targetRef, size, setValue, setOpen, setHasFocus, popoverRef, appearance, clearSelection, getOptionById, getOptionsMatchingValue, open, popoverId, disabled } = state;\n return {\n activeDescendant: React.useMemo(()=>({\n controller: state.activeDescendantController\n }), [\n state.activeDescendantController\n ]),\n listbox: {\n onOptionClick,\n registerOption,\n getOptionById,\n getOptionsMatchingValue,\n selectedOptions,\n selectOption,\n focusVisible: false,\n setActiveOption: noop\n },\n picker: {\n value,\n triggerRef,\n targetRef,\n secondaryActionRef,\n tagPickerGroupRef,\n size,\n setValue,\n setOpen,\n setHasFocus,\n selectOption,\n popoverRef,\n selectedOptions,\n appearance,\n clearSelection,\n getOptionById,\n open,\n popoverId,\n disabled\n }\n };\n}\nconst noop = ()=>{\n/** noop */ };\n","import * as React from 'react';\nimport { useTagPicker_unstable } from './useTagPicker';\nimport { renderTagPicker_unstable } from './renderTagPicker';\nimport { useTagPickerContextValues } from './useTagPickerContextValues';\n/**\n * TagPicker component -\n * A TagPicker is a composite component that allows users to pick tags from a list of options.\n */ export const TagPicker = /*#__PURE__*/ React.memo((props)=>{\n const state = useTagPicker_unstable(props);\n const contextValues = useTagPickerContextValues(state);\n return renderTagPicker_unstable(state, contextValues);\n});\nTagPicker.displayName = 'TagPicker';\n","import * as React from 'react';\nimport { ActiveDescendantContextProvider } from '@fluentui/react-aria';\nimport { ListboxProvider } from '@fluentui/react-combobox';\nimport { Portal } from '@fluentui/react-portal';\nimport { TagPickerContextProvider } from '../../contexts/TagPickerContext';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Picker\n */ export const renderTagPicker_unstable = (state, contexts)=>{\n assertSlots(state);\n return /*#__PURE__*/ React.createElement(TagPickerContextProvider, {\n value: contexts.picker\n }, /*#__PURE__*/ React.createElement(ActiveDescendantContextProvider, {\n value: contexts.activeDescendant\n }, /*#__PURE__*/ React.createElement(ListboxProvider, {\n value: contexts.listbox\n }, state.trigger, state.inline ? state.popover : /*#__PURE__*/ React.createElement(Portal, {\n mountNode: state.mountNode\n }, state.popover))));\n};\n","import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\n/**\n * @internal\n */ export const tagPickerContextDefaultValue = {\n triggerRef: React.createRef(),\n popoverRef: React.createRef(),\n targetRef: React.createRef(),\n tagPickerGroupRef: React.createRef(),\n secondaryActionRef: React.createRef(),\n open: false,\n clearSelection: ()=>null,\n getOptionById: ()=>undefined,\n selectedOptions: [],\n selectOption: ()=>null,\n setHasFocus: ()=>null,\n setOpen: ()=>null,\n setValue: ()=>null,\n value: undefined,\n popoverId: '',\n size: 'medium',\n appearance: 'outline',\n disabled: false\n};\nconst TagPickerContext = createContext(undefined);\nexport const TagPickerContextProvider = TagPickerContext.Provider;\nexport const useTagPickerContext_unstable = (selector)=>useContextSelector(TagPickerContext, (ctx = tagPickerContextDefaultValue)=>selector(ctx));\n","import * as React from 'react';\nimport { useInteractionTagPrimary_unstable } from './useInteractionTagPrimary';\nimport { renderInteractionTagPrimary_unstable } from './renderInteractionTagPrimary';\nimport { useInteractionTagPrimaryStyles_unstable } from './useInteractionTagPrimaryStyles.styles';\nimport { useTagAvatarContextValues_unstable } from '../../utils';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * InteractionTagPrimary component - used as the first child of the `InteractionTag` component.\n * Provides visual attributes such as media, icon, primary and secondary text, as well as the ability to attach a primary action.\n */ export const InteractionTagPrimary = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useInteractionTagPrimary_unstable(props, ref);\n useInteractionTagPrimaryStyles_unstable(state);\n useCustomStyleHook_unstable('useInteractionTagPrimaryStyles_unstable')(state);\n return renderInteractionTagPrimary_unstable(state, useTagAvatarContextValues_unstable(state));\n});\nInteractionTagPrimary.displayName = 'InteractionTagPrimary';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { AvatarContextProvider } from '@fluentui/react-avatar';\n/**\n * Render the final JSX of InteractionTagPrimary\n */ export const renderInteractionTagPrimary_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.media && /*#__PURE__*/ _jsx(AvatarContextProvider, {\n value: contextValues.avatar,\n children: /*#__PURE__*/ _jsx(state.media, {})\n }),\n state.icon && /*#__PURE__*/ _jsx(state.icon, {}),\n state.primaryText && /*#__PURE__*/ _jsx(state.primaryText, {}),\n state.secondaryText && /*#__PURE__*/ _jsx(state.secondaryText, {})\n ]\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useInteractionTagContext_unstable } from '../../contexts/interactionTagContext';\nconst avatarSizeMap = {\n medium: 28,\n small: 20,\n 'extra-small': 16\n};\nconst avatarShapeMap = {\n rounded: 'square',\n circular: 'circular'\n};\n/**\n * Create the state required to render InteractionTagPrimary.\n *\n * The returned state can be modified with hooks such as useInteractionTagPrimaryStyles_unstable,\n * before being passed to renderInteractionTagPrimary_unstable.\n *\n * @param props - props from this instance of InteractionTagPrimary\n * @param ref - reference to root HTMLButtonElement of InteractionTagPrimary\n */ export const useInteractionTagPrimary_unstable = (props, ref)=>{\n const { appearance, disabled, interactionTagPrimaryId, shape, size } = useInteractionTagContext_unstable();\n const { hasSecondaryAction = false } = props;\n return {\n appearance,\n avatarShape: avatarShapeMap[shape],\n avatarSize: avatarSizeMap[size],\n disabled,\n hasSecondaryAction,\n shape,\n size,\n components: {\n root: 'button',\n media: 'span',\n icon: 'span',\n primaryText: 'span',\n secondaryText: 'span'\n },\n root: slot.always(getIntrinsicElementProps('button', {\n ref,\n disabled,\n id: interactionTagPrimaryId,\n ...props\n }), {\n elementType: 'button'\n }),\n media: slot.optional(props.media, {\n elementType: 'span'\n }),\n icon: slot.optional(props.icon, {\n elementType: 'span'\n }),\n primaryText: slot.optional(props.primaryText, {\n renderByDefault: true,\n defaultProps: {\n children: props.children\n },\n elementType: 'span'\n }),\n secondaryText: slot.optional(props.secondaryText, {\n elementType: 'span'\n })\n };\n};\n","import { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { useIconStyles, useMediaStyles, usePrimaryTextStyles, useSecondaryTextBaseClassName } from '../Tag/useTagStyles.styles';\nexport const interactionTagPrimaryClassNames = {\n root: 'fui-InteractionTagPrimary',\n media: 'fui-InteractionTagPrimary__media',\n icon: 'fui-InteractionTagPrimary__icon',\n primaryText: 'fui-InteractionTagPrimary__primaryText',\n secondaryText: 'fui-InteractionTagPrimary__secondaryText'\n};\nconst baseStyles = {\n // reset default button style:\n color: 'inherit',\n fontFamily: 'inherit',\n padding: '0px',\n borderStyle: 'none',\n appearance: 'button',\n textAlign: 'unset',\n backgroundColor: 'transparent',\n display: 'inline-grid',\n height: '100%',\n alignItems: 'center',\n gridTemplateAreas: `\n \"media primary \"\n \"media secondary\"\n `,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorTransparentStroke}`,\n ... /*#__PURE__*/createCustomFocusIndicatorStyle({\n outline: `${tokens.strokeWidthThick} solid ${tokens.colorStrokeFocus2}`,\n zIndex: 1\n })\n};\nconst useRootRoundedBaseClassName = /*#__PURE__*/__resetStyles(\"r1tlgozh\", \"r80ltmz\", {\n r: [\".r1tlgozh{color:inherit;font-family:inherit;padding:0px;border-style:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;background-color:transparent;display:inline-grid;height:100%;align-items:center;grid-template-areas:\\\"media primary \\\" \\\"media secondary\\\";border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusMedium);}\", \".r1tlgozh[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);z-index:1;}\", \".r80ltmz{color:inherit;font-family:inherit;padding:0px;border-style:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;background-color:transparent;display:inline-grid;height:100%;align-items:center;grid-template-areas:\\\"media primary \\\" \\\"media secondary\\\";border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusMedium);}\", \".r80ltmz[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);z-index:1;}\"],\n s: [\"@media (forced-colors: active){.r1tlgozh{position:relative;}.r1tlgozh::before{content:\\\"\\\";border-top:var(--strokeWidthThin) solid;position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-top-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);}}\", \"@media (forced-colors: active){.r80ltmz{position:relative;}.r80ltmz::before{content:\\\"\\\";border-top:var(--strokeWidthThin) solid;position:absolute;top:-1px;right:-1px;left:-1px;bottom:-1px;border-top-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);}}\"]\n});\nconst useRootCircularBaseClassName = /*#__PURE__*/__resetStyles(\"r1cz4vob\", \"r1awuv7b\", {\n r: [\".r1cz4vob{color:inherit;font-family:inherit;padding:0px;border-style:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;background-color:transparent;display:inline-grid;height:100%;align-items:center;grid-template-areas:\\\"media primary \\\" \\\"media secondary\\\";border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusCircular);}\", \".r1cz4vob[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);z-index:1;}\", \".r1awuv7b{color:inherit;font-family:inherit;padding:0px;border-style:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;background-color:transparent;display:inline-grid;height:100%;align-items:center;grid-template-areas:\\\"media primary \\\" \\\"media secondary\\\";border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusCircular);}\", \".r1awuv7b[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);z-index:1;}\"],\n s: [\"@media (forced-colors: active){.r1cz4vob{position:relative;}.r1cz4vob::before{content:\\\"\\\";border-top:var(--strokeWidthThin) solid;border-left:var(--strokeWidthThin) solid;position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-top-left-radius:var(--borderRadiusCircular);border-bottom-left-radius:var(--borderRadiusCircular);}}\", \"@media (forced-colors: active){.r1awuv7b{position:relative;}.r1awuv7b::before{content:\\\"\\\";border-top:var(--strokeWidthThin) solid;border-right:var(--strokeWidthThin) solid;position:absolute;top:-1px;right:-1px;left:-1px;bottom:-1px;border-top-right-radius:var(--borderRadiusCircular);border-bottom-right-radius:var(--borderRadiusCircular);}}\"]\n});\n/**\n * Style override for pseudo element that draws the border for windows high contrast mode\n */\nconst useRootCircularContrastStyles = /*#__PURE__*/__styles({\n withoutSecondaryAction: {\n Bglfifq: \"ff3fe07\",\n hxi8he: 0,\n B33s42s: 0,\n G4pote: 0,\n gw1m2h: [\"f19rnj73\", \"f1jjg5yc\"],\n w20ur: [\"f6k8nl2\", \"f1ik0cvg\"],\n Byczuf6: [\"f10f1qdh\", \"fmb7qm7\"]\n }\n}, {\n m: [[\"@media (forced-colors: active){.ff3fe07{position:relative;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f19rnj73::before{border-right:var(--strokeWidthThin) solid transparent;}.f1jjg5yc::before{border-left:var(--strokeWidthThin) solid transparent;}}\", {\n p: -1,\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1ik0cvg::before{border-top-left-radius:var(--borderRadiusCircular);}.f6k8nl2::before{border-top-right-radius:var(--borderRadiusCircular);}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f10f1qdh::before{border-bottom-right-radius:var(--borderRadiusCircular);}.fmb7qm7::before{border-bottom-left-radius:var(--borderRadiusCircular);}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\nconst useRootStyles = /*#__PURE__*/__styles({\n filled: {\n De3pzq: \"f16xq7d1\",\n sj55zd: \"fkfq4zb\",\n eoavqd: \"f8491dx\",\n Jwef8y: \"f1h648pw\",\n Bi91k9c: \"fnwyq0v\",\n ecr2s2: \"fwdzr64\",\n lj723h: \"flvvhsy\",\n Bqrx1nm: \"fq7113v\",\n kx9iu6: \"fp3oj7s\"\n },\n outline: {\n De3pzq: \"fhovq9v\",\n sj55zd: \"fkfq4zb\",\n g2u3we: \"fj3muxo\",\n h3c5rm: [\"f1akhkt\", \"f1lxtadh\"],\n B9xav0g: \"f1aperda\",\n zhjwy3: [\"f1lxtadh\", \"f1akhkt\"],\n eoavqd: \"f8491dx\",\n Jwef8y: \"f1t94bn6\",\n Bi91k9c: \"fnwyq0v\",\n Bk3fhr4: \"ft1hn21\",\n I6i3kg: \"fqbfmpb\",\n Bmfj8id: \"fuxngvv\",\n ecr2s2: \"f1wfn5kd\",\n lj723h: \"flvvhsy\",\n Bnrwwps: \"fvpl5sy\",\n weioyw: \"f1xblose\",\n Bpre390: \"f8upcvr\",\n Bqrx1nm: \"fq7113v\",\n kx9iu6: \"fp3oj7s\"\n },\n brand: {\n De3pzq: \"f16xkysk\",\n sj55zd: \"faj9fo0\",\n eoavqd: \"f8491dx\",\n Jwef8y: \"f1yj72w4\",\n Bi91k9c: \"f3ymbdj\",\n ecr2s2: \"fy3sl2y\",\n lj723h: \"fryz5bw\",\n Bqrx1nm: \"fq7113v\",\n kx9iu6: \"fp3oj7s\"\n },\n medium: {\n z189sj: [\"f18k1jr3\", \"f1rtp3s9\"]\n },\n small: {\n z189sj: [\"fwiuce9\", \"f15vdbe4\"]\n },\n \"extra-small\": {\n z189sj: [\"fwiuce9\", \"f15vdbe4\"]\n }\n}, {\n d: [\".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", \".fkfq4zb{color:var(--colorNeutralForeground2);}\", \".fhovq9v{background-color:var(--colorSubtleBackground);}\", \".fj3muxo{border-top-color:var(--colorNeutralStroke1);}\", \".f1akhkt{border-right-color:var(--colorNeutralStroke1);}\", \".f1lxtadh{border-left-color:var(--colorNeutralStroke1);}\", \".f1aperda{border-bottom-color:var(--colorNeutralStroke1);}\", \".f16xkysk{background-color:var(--colorBrandBackground2);}\", \".faj9fo0{color:var(--colorBrandForeground2);}\", \".f18k1jr3{padding-right:7px;}\", \".f1rtp3s9{padding-left:7px;}\", \".fwiuce9{padding-right:5px;}\", \".f15vdbe4{padding-left:5px;}\"],\n h: [\".f8491dx:hover{cursor:pointer;}\", \".f1h648pw:hover{background-color:var(--colorNeutralBackground3Hover);}\", \".fnwyq0v:hover{color:var(--colorNeutralForeground2Hover);}\", \".f1t94bn6:hover{background-color:var(--colorSubtleBackgroundHover);}\", \".ft1hn21:hover .fui-Icon-filled{display:inline;}\", \".fqbfmpb:hover .fui-Icon-filled{color:var(--colorNeutralForeground2BrandHover);}\", \".fuxngvv:hover .fui-Icon-regular{display:none;}\", \".f1yj72w4:hover{background-color:var(--colorBrandBackground2Hover);}\", \".f3ymbdj:hover{color:var(--colorCompoundBrandForeground1Hover);}\"],\n a: [\".fwdzr64:active{background-color:var(--colorNeutralBackground3Pressed);}\", \".flvvhsy:active{color:var(--colorNeutralForeground2Pressed);}\", \".f1wfn5kd:active{background-color:var(--colorSubtleBackgroundPressed);}\", \".fvpl5sy:active .fui-Icon-filled{display:inline;}\", \".f1xblose:active .fui-Icon-filled{color:var(--colorNeutralForeground2BrandPressed);}\", \".f8upcvr:active .fui-Icon-regular{display:none;}\", \".fy3sl2y:active{background-color:var(--colorBrandBackground2Pressed);}\", \".fryz5bw:active{color:var(--colorCompoundBrandForeground1Pressed);}\"],\n m: [[\"@media (forced-colors: active){.fq7113v:hover{background-color:HighlightText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.fp3oj7s:active{background-color:HighlightText;}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\nconst useRootDisabledAppearances = /*#__PURE__*/__styles({\n filled: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1bg9a2p\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"fgig46g\",\n h3c5rm: [\"f1mxt3zg\", \"fziff3p\"],\n B9xav0g: \"f250w3l\",\n zhjwy3: [\"fziff3p\", \"f1mxt3zg\"]\n },\n outline: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"fhovq9v\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"f1jj8ep1\",\n h3c5rm: [\"f15xbau\", \"fy0fskl\"],\n B9xav0g: \"f4ikngz\",\n zhjwy3: [\"fy0fskl\", \"f15xbau\"]\n },\n brand: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1bg9a2p\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"fgig46g\",\n h3c5rm: [\"f1mxt3zg\", \"fziff3p\"],\n B9xav0g: \"f250w3l\",\n zhjwy3: [\"fziff3p\", \"f1mxt3zg\"]\n }\n}, {\n d: [\".fdrzuqr{cursor:not-allowed;}\", \".f1bg9a2p{background-color:var(--colorNeutralBackgroundDisabled);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".fgig46g{border-top-color:var(--colorTransparentStrokeDisabled);}\", \".f1mxt3zg{border-right-color:var(--colorTransparentStrokeDisabled);}\", \".fziff3p{border-left-color:var(--colorTransparentStrokeDisabled);}\", \".f250w3l{border-bottom-color:var(--colorTransparentStrokeDisabled);}\", \".fhovq9v{background-color:var(--colorSubtleBackground);}\", \".f1jj8ep1{border-top-color:var(--colorNeutralStrokeDisabled);}\", \".f15xbau{border-right-color:var(--colorNeutralStrokeDisabled);}\", \".fy0fskl{border-left-color:var(--colorNeutralStrokeDisabled);}\", \".f4ikngz{border-bottom-color:var(--colorNeutralStrokeDisabled);}\"]\n});\n/**\n * Styles for InteractionTagPrimary without leading media/icon\n */\nconst useRootWithoutMediaStyles = /*#__PURE__*/__styles({\n medium: {\n uwmqm3: [\"f1rtp3s9\", \"f18k1jr3\"]\n },\n small: {\n uwmqm3: [\"f15vdbe4\", \"fwiuce9\"]\n },\n \"extra-small\": {\n uwmqm3: [\"f15vdbe4\", \"fwiuce9\"]\n }\n}, {\n d: [\".f1rtp3s9{padding-left:7px;}\", \".f18k1jr3{padding-right:7px;}\", \".f15vdbe4{padding-left:5px;}\", \".fwiuce9{padding-right:5px;}\"]\n});\n/**\n * Styles for InteractionTagPrimary when InteractionTag has a Secondary button\n */\nconst useRootWithSecondaryActionStyles = /*#__PURE__*/__styles({\n base: {\n B7oj6ja: [\"f3fg2lr\", \"f13av6d4\"],\n Bbmb7ep: [\"fzi6hpg\", \"fyowgf4\"],\n vrafjx: [\"f1n71otn\", \"f1deefiw\"],\n B6xbmo0: [\"f146y5a9\", \"f1k2ftg\"],\n kdpuga: [\"f1ndz5i7\", \"f1co4qro\"]\n },\n medium: {\n z189sj: [\"f1vdfbxk\", \"f1f5gg8d\"]\n },\n small: {\n z189sj: [\"fdw0yi8\", \"fk8j09s\"]\n },\n \"extra-small\": {\n z189sj: [\"fdw0yi8\", \"fk8j09s\"]\n }\n}, {\n d: [\".f3fg2lr{border-top-right-radius:var(--borderRadiusNone);}\", \".f13av6d4{border-top-left-radius:var(--borderRadiusNone);}\", \".fzi6hpg{border-bottom-right-radius:var(--borderRadiusNone);}\", \".fyowgf4{border-bottom-left-radius:var(--borderRadiusNone);}\", \".f1n71otn{border-right-style:none;}\", \".f1deefiw{border-left-style:none;}\", \".f146y5a9[data-fui-focus-visible]{border-top-right-radius:var(--borderRadiusNone);}\", \".f1k2ftg[data-fui-focus-visible]{border-top-left-radius:var(--borderRadiusNone);}\", \".f1ndz5i7[data-fui-focus-visible]{border-bottom-right-radius:var(--borderRadiusNone);}\", \".f1co4qro[data-fui-focus-visible]{border-bottom-left-radius:var(--borderRadiusNone);}\", \".f1vdfbxk{padding-right:var(--spacingHorizontalS);}\", \".f1f5gg8d{padding-left:var(--spacingHorizontalS);}\", \".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}\", \".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}\"]\n});\nexport const useInteractionTagPrimaryStyles_unstable = state => {\n 'use no memo';\n\n const rootRoundedBaseClassName = useRootRoundedBaseClassName();\n const rootCircularBaseClassName = useRootCircularBaseClassName();\n const rootStyles = useRootStyles();\n const rootDisabledAppearances = useRootDisabledAppearances();\n const rootWithoutMediaStyles = useRootWithoutMediaStyles();\n const rootWithSecondaryActionStyles = useRootWithSecondaryActionStyles();\n const iconStyles = useIconStyles();\n const mediaStyles = useMediaStyles();\n const primaryTextStyles = usePrimaryTextStyles();\n const secondaryTextBaseClassName = useSecondaryTextBaseClassName();\n const rootCircularContrastStyles = useRootCircularContrastStyles();\n const {\n shape,\n size,\n appearance\n } = state;\n state.root.className = mergeClasses(interactionTagPrimaryClassNames.root, shape === 'rounded' ? rootRoundedBaseClassName : rootCircularBaseClassName, shape === 'circular' && !state.hasSecondaryAction && rootCircularContrastStyles.withoutSecondaryAction, state.disabled ? rootDisabledAppearances[appearance] : rootStyles[appearance], rootStyles[size], !state.media && !state.icon && rootWithoutMediaStyles[size], state.hasSecondaryAction && rootWithSecondaryActionStyles.base, state.hasSecondaryAction && rootWithSecondaryActionStyles[size], state.root.className);\n if (state.media) {\n state.media.className = mergeClasses(interactionTagPrimaryClassNames.media, mediaStyles.base, mediaStyles[size], state.media.className);\n }\n if (state.icon) {\n state.icon.className = mergeClasses(interactionTagPrimaryClassNames.icon, iconStyles.base, iconStyles[size], state.icon.className);\n }\n if (state.primaryText) {\n state.primaryText.className = mergeClasses(interactionTagPrimaryClassNames.primaryText, primaryTextStyles.base, primaryTextStyles[size], state.secondaryText ? primaryTextStyles.withSecondaryText : primaryTextStyles.withoutSecondaryText, state.primaryText.className);\n }\n if (state.secondaryText) {\n state.secondaryText.className = mergeClasses(interactionTagPrimaryClassNames.secondaryText, secondaryTextBaseClassName, state.secondaryText.className);\n }\n return state;\n};\n//# sourceMappingURL=useInteractionTagPrimaryStyles.styles.js.map","import { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const interactionTagSecondaryClassNames = {\n root: 'fui-InteractionTagSecondary'\n};\nconst mediumIconSize = '20px';\nconst smallIconSize = '16px';\nconst extraSmallIconSize = '12px';\nconst useRootBaseClassName = /*#__PURE__*/__resetStyles(\"rxqbxwz\", \"rdjx360\", [\".rxqbxwz{color:inherit;font-family:inherit;padding:0px;border-style:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;background-color:transparent;display:flex;height:100%;align-items:center;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-left-color:var(--colorNeutralStroke1);border-top-left-radius:var(--borderRadiusNone);border-bottom-left-radius:var(--borderRadiusNone);}\", \".rxqbxwz[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\", \".rdjx360{color:inherit;font-family:inherit;padding:0px;border-style:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;background-color:transparent;display:flex;height:100%;align-items:center;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-right-color:var(--colorNeutralStroke1);border-top-right-radius:var(--borderRadiusNone);border-bottom-right-radius:var(--borderRadiusNone);}\", \".rdjx360[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\"]);\nconst useRootStyles = /*#__PURE__*/__styles({\n filled: {\n De3pzq: \"f16xq7d1\",\n sj55zd: \"fkfq4zb\",\n eoavqd: \"f8491dx\",\n Jwef8y: \"f1h648pw\",\n Bi91k9c: \"f139oj5f\",\n ecr2s2: \"fwdzr64\",\n lj723h: \"f19au66r\",\n Bqrx1nm: \"fq7113v\",\n kx9iu6: \"fp3oj7s\"\n },\n outline: {\n De3pzq: \"fhovq9v\",\n sj55zd: \"fkfq4zb\",\n g2u3we: \"fj3muxo\",\n h3c5rm: [\"f1akhkt\", \"f1lxtadh\"],\n B9xav0g: \"f1aperda\",\n zhjwy3: [\"f1lxtadh\", \"f1akhkt\"],\n eoavqd: \"f8491dx\",\n Jwef8y: \"f1t94bn6\",\n Bi91k9c: \"f139oj5f\",\n ecr2s2: \"f1wfn5kd\",\n lj723h: \"f19au66r\",\n Bqrx1nm: \"fq7113v\",\n kx9iu6: \"fp3oj7s\"\n },\n brand: {\n De3pzq: \"f16xkysk\",\n sj55zd: \"faj9fo0\",\n zhjwy3: [\"f1sl6hi9\", \"f1c8dzaj\"],\n eoavqd: \"f8491dx\",\n Jwef8y: \"f1yj72w4\",\n Bi91k9c: \"f3ymbdj\",\n ecr2s2: \"fy3sl2y\",\n lj723h: \"fryz5bw\",\n Bqrx1nm: \"fq7113v\",\n kx9iu6: \"fp3oj7s\"\n },\n rounded: {\n B7oj6ja: [\"f1jar5jt\", \"fyu767a\"],\n Bbmb7ep: [\"f1aa9q02\", \"f16jpd5f\"]\n },\n circular: {\n B7oj6ja: [\"f1djnp8u\", \"f1s8kh49\"],\n Bbmb7ep: [\"f8fbkgy\", \"f1nfllo7\"]\n },\n medium: {\n Be2twd7: \"fe5j1ua\",\n uwmqm3: [\"f15vdbe4\", \"fwiuce9\"],\n z189sj: [\"fwiuce9\", \"f15vdbe4\"]\n },\n small: {\n Be2twd7: \"f4ybsrx\",\n uwmqm3: [\"f2lugmd\", \"f6zblan\"],\n z189sj: [\"f6zblan\", \"f2lugmd\"]\n },\n \"extra-small\": {\n Be2twd7: \"f1ugzwwg\",\n uwmqm3: [\"f15vdbe4\", \"fwiuce9\"],\n z189sj: [\"fwiuce9\", \"f15vdbe4\"]\n }\n}, {\n d: [\".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", \".fkfq4zb{color:var(--colorNeutralForeground2);}\", \".fhovq9v{background-color:var(--colorSubtleBackground);}\", \".fj3muxo{border-top-color:var(--colorNeutralStroke1);}\", \".f1akhkt{border-right-color:var(--colorNeutralStroke1);}\", \".f1lxtadh{border-left-color:var(--colorNeutralStroke1);}\", \".f1aperda{border-bottom-color:var(--colorNeutralStroke1);}\", \".f16xkysk{background-color:var(--colorBrandBackground2);}\", \".faj9fo0{color:var(--colorBrandForeground2);}\", \".f1sl6hi9{border-left-color:var(--colorBrandStroke2);}\", \".f1c8dzaj{border-right-color:var(--colorBrandStroke2);}\", \".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}\", \".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}\", \".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}\", \".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}\", \".f1djnp8u{border-top-right-radius:var(--borderRadiusCircular);}\", \".f1s8kh49{border-top-left-radius:var(--borderRadiusCircular);}\", \".f8fbkgy{border-bottom-right-radius:var(--borderRadiusCircular);}\", \".f1nfllo7{border-bottom-left-radius:var(--borderRadiusCircular);}\", \".fe5j1ua{font-size:20px;}\", \".f15vdbe4{padding-left:5px;}\", \".fwiuce9{padding-right:5px;}\", \".f4ybsrx{font-size:16px;}\", \".f2lugmd{padding-left:3px;}\", \".f6zblan{padding-right:3px;}\", \".f1ugzwwg{font-size:12px;}\"],\n h: [\".f8491dx:hover{cursor:pointer;}\", \".f1h648pw:hover{background-color:var(--colorNeutralBackground3Hover);}\", \".f139oj5f:hover{color:var(--colorNeutralForeground2BrandHover);}\", \".f1t94bn6:hover{background-color:var(--colorSubtleBackgroundHover);}\", \".f1yj72w4:hover{background-color:var(--colorBrandBackground2Hover);}\", \".f3ymbdj:hover{color:var(--colorCompoundBrandForeground1Hover);}\"],\n a: [\".fwdzr64:active{background-color:var(--colorNeutralBackground3Pressed);}\", \".f19au66r:active{color:var(--colorNeutralForeground2BrandPressed);}\", \".f1wfn5kd:active{background-color:var(--colorSubtleBackgroundPressed);}\", \".fy3sl2y:active{background-color:var(--colorBrandBackground2Pressed);}\", \".fryz5bw:active{color:var(--colorCompoundBrandForeground1Pressed);}\"],\n m: [[\"@media (forced-colors: active){.fq7113v:hover{background-color:HighlightText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.fp3oj7s:active{background-color:HighlightText;}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\nconst useRootDisabledStyles = /*#__PURE__*/__styles({\n filled: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1bg9a2p\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"fgig46g\",\n h3c5rm: [\"f1mxt3zg\", \"fziff3p\"],\n B9xav0g: \"f250w3l\",\n zhjwy3: [\"fy0fskl\", \"f15xbau\"]\n },\n outline: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"fhovq9v\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"f1jj8ep1\",\n h3c5rm: [\"f15xbau\", \"fy0fskl\"],\n B9xav0g: \"f4ikngz\",\n zhjwy3: [\"fy0fskl\", \"f15xbau\"]\n },\n brand: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1bg9a2p\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"fgig46g\",\n h3c5rm: [\"f1mxt3zg\", \"fziff3p\"],\n B9xav0g: \"f250w3l\",\n zhjwy3: [\"fy0fskl\", \"f15xbau\"]\n }\n}, {\n d: [\".fdrzuqr{cursor:not-allowed;}\", \".f1bg9a2p{background-color:var(--colorNeutralBackgroundDisabled);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".fgig46g{border-top-color:var(--colorTransparentStrokeDisabled);}\", \".f1mxt3zg{border-right-color:var(--colorTransparentStrokeDisabled);}\", \".fziff3p{border-left-color:var(--colorTransparentStrokeDisabled);}\", \".f250w3l{border-bottom-color:var(--colorTransparentStrokeDisabled);}\", \".fy0fskl{border-left-color:var(--colorNeutralStrokeDisabled);}\", \".f15xbau{border-right-color:var(--colorNeutralStrokeDisabled);}\", \".fhovq9v{background-color:var(--colorSubtleBackground);}\", \".f1jj8ep1{border-top-color:var(--colorNeutralStrokeDisabled);}\", \".f4ikngz{border-bottom-color:var(--colorNeutralStrokeDisabled);}\"]\n});\nexport const useInteractionTagSecondaryStyles_unstable = state => {\n 'use no memo';\n\n const rootBaseClassName = useRootBaseClassName();\n const rootStyles = useRootStyles();\n const rootDisabledStyles = useRootDisabledStyles();\n const {\n shape,\n size,\n appearance\n } = state;\n state.root.className = mergeClasses(interactionTagSecondaryClassNames.root, rootBaseClassName, state.disabled ? rootDisabledStyles[appearance] : rootStyles[appearance], rootStyles[shape], rootStyles[size], state.root.className);\n return state;\n};\n//# sourceMappingURL=useInteractionTagSecondaryStyles.styles.js.map","import * as React from 'react';\nimport { useInteractionTag_unstable } from './useInteractionTag';\nimport { renderInteractionTag_unstable } from './renderInteractionTag';\nimport { useInteractionTagStyles_unstable } from './useInteractionTagStyles.styles';\nimport { useInteractionTagContextValues_unstable } from './useInteractionTagContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * InteractionTag component - a visual representation of an attribute with primary and secondary actions.\n * Can have `InteractionTagPrimary` and `InteractionTagSecondary` components as its children.\n */ export const InteractionTag = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useInteractionTag_unstable(props, ref);\n useInteractionTagStyles_unstable(state);\n useCustomStyleHook_unstable('useInteractionTagStyles_unstable')(state);\n return renderInteractionTag_unstable(state, useInteractionTagContextValues_unstable(state));\n});\nInteractionTag.displayName = 'InteractionTag';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { InteractionTagContextProvider } from '../../contexts/interactionTagContext';\n/**\n * Render the final JSX of InteractionTag\n */ export const renderInteractionTag_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(InteractionTagContextProvider, {\n value: contextValues.interactionTag,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useId, slot } from '@fluentui/react-utilities';\nimport { useTagGroupContext_unstable } from '../../contexts/tagGroupContext';\n/**\n * Create the state required to render InteractionTag.\n *\n * The returned state can be modified with hooks such as useInteractionTagStyles_unstable,\n * before being passed to renderInteractionTag_unstable.\n *\n * @param props - props from this instance of InteractionTag\n * @param ref - reference to root HTMLDivElement of InteractionTag\n */ export const useInteractionTag_unstable = (props, ref)=>{\n const { handleTagDismiss, size: contextSize, appearance: contextAppearance } = useTagGroupContext_unstable();\n const id = useId('fui-InteractionTag-', props.id);\n const interactionTagPrimaryId = useId('fui-InteractionTagPrimary-');\n const { appearance = contextAppearance !== null && contextAppearance !== void 0 ? contextAppearance : 'filled', disabled = false, shape = 'rounded', size = contextSize, value = id } = props;\n return {\n appearance,\n disabled,\n handleTagDismiss,\n interactionTagPrimaryId,\n shape,\n size,\n value,\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ref,\n ...props,\n id\n }), {\n elementType: 'div'\n })\n };\n};\n","import * as React from 'react';\nexport function useInteractionTagContextValues_unstable(state) {\n const { appearance, disabled, handleTagDismiss, interactionTagPrimaryId, shape, size, value } = state;\n return {\n interactionTag: React.useMemo(()=>({\n appearance,\n disabled,\n handleTagDismiss,\n interactionTagPrimaryId,\n shape,\n size,\n value\n }), [\n appearance,\n disabled,\n handleTagDismiss,\n interactionTagPrimaryId,\n shape,\n size,\n value\n ])\n };\n}\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const interactionTagClassNames = {\n root: 'fui-InteractionTag'\n};\nconst useRootBaseClassName = /*#__PURE__*/__resetStyles(\"r1y684pp\", null, [\".r1y684pp{display:inline-flex;align-items:center;box-sizing:border-box;width:fit-content;}\"]);\nconst useRootStyles = /*#__PURE__*/__styles({\n rounded: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"ft85np5\"\n },\n circular: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"f44lkw9\"\n },\n medium: {\n Bqenvij: \"f1d2rq10\"\n },\n small: {\n Bqenvij: \"frvgh55\"\n },\n \"extra-small\": {\n Bqenvij: \"fjamq6b\"\n }\n}, {\n d: [[\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], [\".f44lkw9{border-radius:var(--borderRadiusCircular);}\", {\n p: -1\n }], \".f1d2rq10{height:32px;}\", \".frvgh55{height:24px;}\", \".fjamq6b{height:20px;}\"]\n});\n/**\n * Apply styling to the InteractionTag slots based on the state\n */\nexport const useInteractionTagStyles_unstable = state => {\n 'use no memo';\n\n const rootBaseClassName = useRootBaseClassName();\n const rootStyles = useRootStyles();\n const {\n shape,\n size\n } = state;\n state.root.className = mergeClasses(interactionTagClassNames.root, rootBaseClassName, rootStyles[shape], rootStyles[size], state.root.className);\n return state;\n};\n//# sourceMappingURL=useInteractionTagStyles.styles.js.map","import * as React from 'react';\nimport { useTagGroup_unstable } from './useTagGroup';\nimport { renderTagGroup_unstable } from './renderTagGroup';\nimport { useTagGroupStyles_unstable } from './useTagGroupStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useTagGroupContextValues_unstable } from './useTagGroupContextValues';\n/**\n * TagGroup component - a container for multiple tags.\n * Provides context to size or dismiss children tags.\n */ export const TagGroup = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTagGroup_unstable(props, ref);\n useTagGroupStyles_unstable(state);\n useCustomStyleHook_unstable('useTagGroupStyles_unstable')(state);\n return renderTagGroup_unstable(state, useTagGroupContextValues_unstable(state));\n});\nTagGroup.displayName = 'TagGroup';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { TagGroupContextProvider } from '../../contexts/tagGroupContext';\n/**\n * Render the final JSX of TagGroup\n */ export const renderTagGroup_unstable = (state, contextValue)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(TagGroupContextProvider, {\n value: contextValue.tagGroup,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useEventCallback, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup, useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { interactionTagSecondaryClassNames } from '../InteractionTagSecondary/useInteractionTagSecondaryStyles.styles';\n/**\n * Create the state required to render TagGroup.\n *\n * The returned state can be modified with hooks such as useTagGroupStyles_unstable,\n * before being passed to renderTagGroup_unstable.\n *\n * @param props - props from this instance of TagGroup\n * @param ref - reference to root HTMLDivElement of TagGroup\n */ export const useTagGroup_unstable = (props, ref)=>{\n const { onDismiss, size = 'medium', appearance = 'filled', dismissible = false, role = 'toolbar' } = props;\n const innerRef = React.useRef();\n const { targetDocument } = useFluent();\n const { findNextFocusable, findPrevFocusable } = useFocusFinders();\n const handleTagDismiss = useEventCallback((e, data)=>{\n var _innerRef_current;\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss(e, data);\n // set focus after tag dismiss\n const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;\n if ((_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.contains(activeElement)) {\n // focus on next tag only if the active element is within the current tag group\n const next = findNextFocusable(activeElement, {\n container: innerRef.current\n });\n if (next) {\n next.focus();\n return;\n }\n // if there is no next focusable, focus on the previous focusable\n if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.className.includes(interactionTagSecondaryClassNames.root)) {\n const prev = findPrevFocusable(activeElement.parentElement, {\n container: innerRef.current\n });\n prev === null || prev === void 0 ? void 0 : prev.focus();\n } else {\n const prev = findPrevFocusable(activeElement, {\n container: innerRef.current\n });\n prev === null || prev === void 0 ? void 0 : prev.focus();\n }\n }\n });\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: true,\n axis: 'both',\n memorizeCurrent: true\n });\n return {\n handleTagDismiss,\n role,\n size,\n appearance,\n dismissible,\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, innerRef),\n role,\n ...arrowNavigationProps,\n ...props\n }), {\n elementType: 'div'\n })\n };\n};\n","import * as React from 'react';\nexport function useTagGroupContextValues_unstable(state) {\n const { handleTagDismiss, size, appearance, dismissible, role } = state;\n return {\n tagGroup: React.useMemo(()=>({\n handleTagDismiss,\n size,\n appearance,\n dismissible,\n role\n }), [\n handleTagDismiss,\n size,\n appearance,\n dismissible,\n role\n ])\n };\n}\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const tagGroupClassNames = {\n root: 'fui-TagGroup'\n};\n/**\n * Styles for the root slot\n */\nconst useRootStyles = /*#__PURE__*/__styles({\n base: {\n mc9l5x: \"ftuwxu6\"\n },\n medium: {\n i8kkvl: \"fsnqrgy\"\n },\n small: {\n i8kkvl: \"f1rjii52\"\n },\n \"extra-small\": {\n i8kkvl: \"f1ufnopg\"\n }\n}, {\n d: [\".ftuwxu6{display:inline-flex;}\", \".fsnqrgy{column-gap:var(--spacingHorizontalS);}\", \".f1rjii52{column-gap:var(--spacingHorizontalSNudge);}\", \".f1ufnopg{column-gap:var(--spacingHorizontalXS);}\"]\n});\n/**\n * Apply styling to the TagGroup slots based on the state\n */\nexport const useTagGroupStyles_unstable = state => {\n 'use no memo';\n\n const styles = useRootStyles();\n const {\n size\n } = state;\n state.root.className = mergeClasses(tagGroupClassNames.root, styles.base, styles[size], state.root.className);\n return state;\n};\n//# sourceMappingURL=useTagGroupStyles.styles.js.map","import * as React from 'react';\nimport { useTag_unstable } from './useTag';\nimport { renderTag_unstable } from './renderTag';\nimport { useTagStyles_unstable } from './useTagStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useTagAvatarContextValues_unstable } from '../../utils';\n/**\n * Tag component - a visual representation of an attribute.\n * Provides visual attributes such as media, icon, primary and secondary text, as well as the ability to attach an action (by default it is dismiss)\n */ export const Tag = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTag_unstable(props, ref);\n useTagStyles_unstable(state);\n useCustomStyleHook_unstable('useTagStyles_unstable')(state);\n return renderTag_unstable(state, useTagAvatarContextValues_unstable(state));\n});\nTag.displayName = 'Tag';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { AvatarContextProvider } from '@fluentui/react-avatar';\n/**\n * Render the final JSX of Tag\n */ export const renderTag_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.media && /*#__PURE__*/ _jsx(AvatarContextProvider, {\n value: contextValues.avatar,\n children: /*#__PURE__*/ _jsx(state.media, {})\n }),\n state.icon && /*#__PURE__*/ _jsx(state.icon, {}),\n state.primaryText && /*#__PURE__*/ _jsx(state.primaryText, {}),\n state.secondaryText && /*#__PURE__*/ _jsx(state.secondaryText, {}),\n state.dismissIcon && state.dismissible && /*#__PURE__*/ _jsx(state.dismissIcon, {})\n ]\n });\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useEventCallback, useId, slot } from '@fluentui/react-utilities';\nimport { DismissRegular } from '@fluentui/react-icons';\nimport { Delete, Backspace } from '@fluentui/keyboard-keys';\nimport { useTagGroupContext_unstable } from '../../contexts/tagGroupContext';\nconst tagAvatarSizeMap = {\n medium: 28,\n small: 20,\n 'extra-small': 16\n};\nconst tagAvatarShapeMap = {\n rounded: 'square',\n circular: 'circular'\n};\n/**\n * Create the state required to render Tag.\n *\n * The returned state can be modified with hooks such as useTagStyles_unstable,\n * before being passed to renderTag_unstable.\n *\n * @param props - props from this instance of Tag\n * @param ref - reference to root HTMLSpanElement or HTMLButtonElement of Tag\n */ export const useTag_unstable = (props, ref)=>{\n const { handleTagDismiss, size: contextSize, appearance: contextAppearance, dismissible: contextDismissible, role: tagGroupRole } = useTagGroupContext_unstable();\n const id = useId('fui-Tag', props.id);\n const { appearance = contextAppearance !== null && contextAppearance !== void 0 ? contextAppearance : 'filled', disabled = false, dismissible = contextDismissible !== null && contextDismissible !== void 0 ? contextDismissible : false, shape = 'rounded', size = contextSize, value = id } = props;\n const dismissOnClick = useEventCallback((ev)=>{\n var _props_onClick;\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, ev);\n if (!ev.defaultPrevented) {\n handleTagDismiss === null || handleTagDismiss === void 0 ? void 0 : handleTagDismiss(ev, {\n value\n });\n }\n });\n const dismissOnKeyDown = useEventCallback((ev)=>{\n var _props_onKeyDown;\n props === null || props === void 0 ? void 0 : (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, ev);\n if (!ev.defaultPrevented && (ev.key === Delete || ev.key === Backspace)) {\n handleTagDismiss === null || handleTagDismiss === void 0 ? void 0 : handleTagDismiss(ev, {\n value\n });\n }\n });\n const elementType = dismissible ? 'button' : 'span';\n return {\n appearance,\n avatarShape: tagAvatarShapeMap[shape],\n avatarSize: tagAvatarSizeMap[size],\n disabled,\n dismissible,\n shape,\n size,\n components: {\n root: elementType,\n media: 'span',\n icon: 'span',\n primaryText: 'span',\n secondaryText: 'span',\n dismissIcon: 'span'\n },\n root: slot.always(getIntrinsicElementProps(elementType, {\n ref,\n role: tagGroupRole === 'listbox' ? 'option' : undefined,\n ...props,\n id,\n ...dismissible && {\n onClick: dismissOnClick,\n onKeyDown: dismissOnKeyDown\n }\n }), {\n elementType\n }),\n media: slot.optional(props.media, {\n elementType: 'span'\n }),\n icon: slot.optional(props.icon, {\n elementType: 'span'\n }),\n primaryText: slot.optional(props.primaryText, {\n renderByDefault: true,\n defaultProps: {\n children: props.children\n },\n elementType: 'span'\n }),\n secondaryText: slot.optional(props.secondaryText, {\n elementType: 'span'\n }),\n dismissIcon: slot.optional(props.dismissIcon, {\n renderByDefault: dismissible,\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(DismissRegular, null),\n role: 'img'\n },\n elementType: 'span'\n })\n };\n};\n","import { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nexport const tagClassNames = {\n root: 'fui-Tag',\n media: 'fui-Tag__media',\n icon: 'fui-Tag__icon',\n primaryText: 'fui-Tag__primaryText',\n secondaryText: 'fui-Tag__secondaryText',\n dismissIcon: 'fui-Tag__dismissIcon'\n};\n/**\n * Inner horizontal space left and right of Tag\n */\nconst tagSpacingMedium = '7px';\nconst tagSpacingSmall = '5px';\nconst tagSpacingExtraSmall = '5px';\nconst mediumIconSize = '20px';\nconst smallIconSize = '16px';\nconst extraSmallIconSize = '12px';\nconst baseStyles = {\n // reset default button style:\n fontFamily: 'inherit',\n padding: '0px',\n appearance: 'button',\n textAlign: 'unset',\n display: 'inline-grid',\n alignItems: 'center',\n gridTemplateAreas: `\n \"media primary dismissIcon\"\n \"media secondary dismissIcon\"\n `,\n boxSizing: 'border-box',\n width: 'fit-content',\n border: `${tokens.strokeWidthThin} solid ${tokens.colorTransparentStroke}`\n};\nconst useRootRoundedBaseClassName = /*#__PURE__*/__resetStyles(\"r1wstn2o\", \"r7a32g8\", {\n r: [\".r1wstn2o{font-family:inherit;padding:0px;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;display:inline-grid;align-items:center;grid-template-areas:\\\"media primary dismissIcon\\\" \\\"media secondary dismissIcon\\\";box-sizing:border-box;width:fit-content;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusMedium);}\", \".r1wstn2o[data-fui-focus-visible]{border-radius:var(--borderRadiusMedium);outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\", \".r7a32g8{font-family:inherit;padding:0px;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;display:inline-grid;align-items:center;grid-template-areas:\\\"media primary dismissIcon\\\" \\\"media secondary dismissIcon\\\";box-sizing:border-box;width:fit-content;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusMedium);}\", \".r7a32g8[data-fui-focus-visible]{border-radius:var(--borderRadiusMedium);outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\"],\n s: [\"@media (forced-colors: active){.r1wstn2o{position:relative;}.r1wstn2o::before{content:\\\"\\\";border-top:var(--strokeWidthThin) solid;position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-top-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);}}\", \"@media (forced-colors: active){.r7a32g8{position:relative;}.r7a32g8::before{content:\\\"\\\";border-top:var(--strokeWidthThin) solid;position:absolute;top:-1px;right:-1px;left:-1px;bottom:-1px;border-top-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);}}\"]\n});\nconst useRootCircularBaseClassName = /*#__PURE__*/__resetStyles(\"rlv0lsa\", \"r18mdwmi\", {\n r: [\".rlv0lsa{font-family:inherit;padding:0px;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;display:inline-grid;align-items:center;grid-template-areas:\\\"media primary dismissIcon\\\" \\\"media secondary dismissIcon\\\";box-sizing:border-box;width:fit-content;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusCircular);}\", \".rlv0lsa[data-fui-focus-visible]{border-radius:var(--borderRadiusCircular);outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\", \".r18mdwmi{font-family:inherit;padding:0px;-webkit-appearance:button;-moz-appearance:button;appearance:button;text-align:unset;display:inline-grid;align-items:center;grid-template-areas:\\\"media primary dismissIcon\\\" \\\"media secondary dismissIcon\\\";box-sizing:border-box;width:fit-content;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);border-radius:var(--borderRadiusCircular);}\", \".r18mdwmi[data-fui-focus-visible]{border-radius:var(--borderRadiusCircular);outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}\"],\n s: [\"@media (forced-colors: active){.rlv0lsa{position:relative;}.rlv0lsa::before{content:\\\"\\\";border-top:var(--strokeWidthThin) solid;border-left:var(--strokeWidthThin) solid;border-right:var(--strokeWidthThin) solid;position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:var(--borderRadiusCircular);}}\", \"@media (forced-colors: active){.r18mdwmi{position:relative;}.r18mdwmi::before{content:\\\"\\\";border-top:var(--strokeWidthThin) solid;border-right:var(--strokeWidthThin) solid;border-left:var(--strokeWidthThin) solid;position:absolute;top:-1px;right:-1px;left:-1px;bottom:-1px;border-radius:var(--borderRadiusCircular);}}\"]\n});\nconst useRootStyles = /*#__PURE__*/__styles({\n filled: {\n De3pzq: \"f16xq7d1\",\n sj55zd: \"fkfq4zb\"\n },\n outline: {\n De3pzq: \"fhovq9v\",\n sj55zd: \"fkfq4zb\",\n g2u3we: \"fj3muxo\",\n h3c5rm: [\"f1akhkt\", \"f1lxtadh\"],\n B9xav0g: \"f1aperda\",\n zhjwy3: [\"f1lxtadh\", \"f1akhkt\"]\n },\n brand: {\n De3pzq: \"f16xkysk\",\n sj55zd: \"faj9fo0\"\n },\n medium: {\n Bqenvij: \"f1d2rq10\"\n },\n small: {\n Bqenvij: \"frvgh55\"\n },\n \"extra-small\": {\n Bqenvij: \"fjamq6b\"\n }\n}, {\n d: [\".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", \".fkfq4zb{color:var(--colorNeutralForeground2);}\", \".fhovq9v{background-color:var(--colorSubtleBackground);}\", \".fj3muxo{border-top-color:var(--colorNeutralStroke1);}\", \".f1akhkt{border-right-color:var(--colorNeutralStroke1);}\", \".f1lxtadh{border-left-color:var(--colorNeutralStroke1);}\", \".f1aperda{border-bottom-color:var(--colorNeutralStroke1);}\", \".f16xkysk{background-color:var(--colorBrandBackground2);}\", \".faj9fo0{color:var(--colorBrandForeground2);}\", \".f1d2rq10{height:32px;}\", \".frvgh55{height:24px;}\", \".fjamq6b{height:20px;}\"]\n});\nconst useRootDisabledStyles = /*#__PURE__*/__styles({\n filled: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1bg9a2p\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"fgig46g\",\n h3c5rm: [\"f1mxt3zg\", \"fziff3p\"],\n B9xav0g: \"f250w3l\",\n zhjwy3: [\"fziff3p\", \"f1mxt3zg\"]\n },\n outline: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"fhovq9v\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"f1jj8ep1\",\n h3c5rm: [\"f15xbau\", \"fy0fskl\"],\n B9xav0g: \"f4ikngz\",\n zhjwy3: [\"fy0fskl\", \"f15xbau\"]\n },\n brand: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1bg9a2p\",\n sj55zd: \"f1s2aq7o\",\n g2u3we: \"fgig46g\",\n h3c5rm: [\"f1mxt3zg\", \"fziff3p\"],\n B9xav0g: \"f250w3l\",\n zhjwy3: [\"fziff3p\", \"f1mxt3zg\"]\n }\n}, {\n d: [\".fdrzuqr{cursor:not-allowed;}\", \".f1bg9a2p{background-color:var(--colorNeutralBackgroundDisabled);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".fgig46g{border-top-color:var(--colorTransparentStrokeDisabled);}\", \".f1mxt3zg{border-right-color:var(--colorTransparentStrokeDisabled);}\", \".fziff3p{border-left-color:var(--colorTransparentStrokeDisabled);}\", \".f250w3l{border-bottom-color:var(--colorTransparentStrokeDisabled);}\", \".fhovq9v{background-color:var(--colorSubtleBackground);}\", \".f1jj8ep1{border-top-color:var(--colorNeutralStrokeDisabled);}\", \".f15xbau{border-right-color:var(--colorNeutralStrokeDisabled);}\", \".fy0fskl{border-left-color:var(--colorNeutralStrokeDisabled);}\", \".f4ikngz{border-bottom-color:var(--colorNeutralStrokeDisabled);}\"]\n});\n/**\n * Styles for root slot when Tag is without leading media/icon\n */\nconst useRootWithoutMediaStyles = /*#__PURE__*/__styles({\n medium: {\n uwmqm3: [\"f1rtp3s9\", \"f18k1jr3\"]\n },\n small: {\n uwmqm3: [\"f15vdbe4\", \"fwiuce9\"]\n },\n \"extra-small\": {\n uwmqm3: [\"f15vdbe4\", \"fwiuce9\"]\n }\n}, {\n d: [\".f1rtp3s9{padding-left:7px;}\", \".f18k1jr3{padding-right:7px;}\", \".f15vdbe4{padding-left:5px;}\", \".fwiuce9{padding-right:5px;}\"]\n});\n/**\n * Styles for root slot when Tag is without dismiss icon\n */\nconst useRootWithoutDismissStyles = /*#__PURE__*/__styles({\n medium: {\n z189sj: [\"f18k1jr3\", \"f1rtp3s9\"]\n },\n small: {\n z189sj: [\"fwiuce9\", \"f15vdbe4\"]\n },\n \"extra-small\": {\n z189sj: [\"fwiuce9\", \"f15vdbe4\"]\n }\n}, {\n d: [\".f18k1jr3{padding-right:7px;}\", \".f1rtp3s9{padding-left:7px;}\", \".fwiuce9{padding-right:5px;}\", \".f15vdbe4{padding-left:5px;}\"]\n});\nexport const useIconStyles = /*#__PURE__*/__styles({\n base: {\n Bw0ie65: 0,\n Br312pm: 0,\n nk6f5a: 0,\n Ijaq50: 0,\n Bq1tomu: \"fujjg13\",\n mc9l5x: \"f22iagw\"\n },\n medium: {\n uwmqm3: [\"f1rtp3s9\", \"f18k1jr3\"],\n z189sj: [\"f7x41pl\", \"fruq291\"],\n a9b677: \"f64fuq3\",\n Be2twd7: \"fe5j1ua\"\n },\n small: {\n uwmqm3: [\"f15vdbe4\", \"fwiuce9\"],\n z189sj: [\"ffczdla\", \"fgiv446\"],\n a9b677: \"fjw5fx7\",\n Be2twd7: \"f4ybsrx\"\n },\n \"extra-small\": {\n uwmqm3: [\"f15vdbe4\", \"fwiuce9\"],\n z189sj: [\"ffczdla\", \"fgiv446\"],\n a9b677: \"frx94fk\",\n Be2twd7: \"f1ugzwwg\"\n }\n}, {\n d: [[\".fujjg13{grid-area:media;}\", {\n p: -1\n }], \".f22iagw{display:flex;}\", \".f1rtp3s9{padding-left:7px;}\", \".f18k1jr3{padding-right:7px;}\", \".f7x41pl{padding-right:var(--spacingHorizontalXS);}\", \".fruq291{padding-left:var(--spacingHorizontalXS);}\", \".f64fuq3{width:20px;}\", \".fe5j1ua{font-size:20px;}\", \".f15vdbe4{padding-left:5px;}\", \".fwiuce9{padding-right:5px;}\", \".ffczdla{padding-right:var(--spacingHorizontalXXS);}\", \".fgiv446{padding-left:var(--spacingHorizontalXXS);}\", \".fjw5fx7{width:16px;}\", \".f4ybsrx{font-size:16px;}\", \".frx94fk{width:12px;}\", \".f1ugzwwg{font-size:12px;}\"]\n});\nexport const useMediaStyles = /*#__PURE__*/__styles({\n base: {\n Bw0ie65: 0,\n Br312pm: 0,\n nk6f5a: 0,\n Ijaq50: 0,\n Bq1tomu: \"fujjg13\",\n mc9l5x: \"f22iagw\",\n uwmqm3: [\"f10xn8zz\", \"f136y8j8\"]\n },\n medium: {\n z189sj: [\"f1vdfbxk\", \"f1f5gg8d\"]\n },\n small: {\n z189sj: [\"fdw0yi8\", \"fk8j09s\"]\n },\n \"extra-small\": {\n z189sj: [\"fdw0yi8\", \"fk8j09s\"]\n }\n}, {\n d: [[\".fujjg13{grid-area:media;}\", {\n p: -1\n }], \".f22iagw{display:flex;}\", \".f10xn8zz{padding-left:1px;}\", \".f136y8j8{padding-right:1px;}\", \".f1vdfbxk{padding-right:var(--spacingHorizontalS);}\", \".f1f5gg8d{padding-left:var(--spacingHorizontalS);}\", \".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}\", \".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}\"]\n});\nconst useDismissIconStyles = /*#__PURE__*/__styles({\n base: {\n Bw0ie65: 0,\n Br312pm: 0,\n nk6f5a: 0,\n Ijaq50: 0,\n Bq1tomu: \"f1k1gsvr\",\n mc9l5x: \"f22iagw\",\n ze5xyy: \"f4xjyn1\",\n oy3o9n: \"f1xtr1b3\"\n },\n medium: {\n uwmqm3: [\"fruq291\", \"f7x41pl\"],\n z189sj: [\"f18k1jr3\", \"f1rtp3s9\"],\n Be2twd7: \"fe5j1ua\"\n },\n small: {\n uwmqm3: [\"fgiv446\", \"ffczdla\"],\n z189sj: [\"fwiuce9\", \"f15vdbe4\"],\n Be2twd7: \"f4ybsrx\"\n },\n \"extra-small\": {\n uwmqm3: [\"fgiv446\", \"ffczdla\"],\n z189sj: [\"fwiuce9\", \"f15vdbe4\"],\n Be2twd7: \"f1ugzwwg\"\n },\n filled: {\n eoavqd: \"f8491dx\",\n Bi91k9c: \"f3ymbdj\",\n lj723h: \"fryz5bw\"\n },\n outline: {\n eoavqd: \"f8491dx\",\n Bi91k9c: \"f3ymbdj\",\n lj723h: \"fryz5bw\"\n },\n brand: {\n eoavqd: \"f8491dx\",\n Bi91k9c: \"f3ymbdj\",\n lj723h: \"fryz5bw\"\n }\n}, {\n d: [[\".f1k1gsvr{grid-area:dismissIcon;}\", {\n p: -1\n }], \".f22iagw{display:flex;}\", \".fruq291{padding-left:var(--spacingHorizontalXS);}\", \".f7x41pl{padding-right:var(--spacingHorizontalXS);}\", \".f18k1jr3{padding-right:7px;}\", \".f1rtp3s9{padding-left:7px;}\", \".fe5j1ua{font-size:20px;}\", \".fgiv446{padding-left:var(--spacingHorizontalXXS);}\", \".ffczdla{padding-right:var(--spacingHorizontalXXS);}\", \".fwiuce9{padding-right:5px;}\", \".f15vdbe4{padding-left:5px;}\", \".f4ybsrx{font-size:16px;}\", \".f1ugzwwg{font-size:12px;}\"],\n m: [[\"@media (forced-colors: active){.f4xjyn1:hover{color:Highlight;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1xtr1b3:active{color:Highlight;}}\", {\n m: \"(forced-colors: active)\"\n }]],\n h: [\".f8491dx:hover{cursor:pointer;}\", \".f3ymbdj:hover{color:var(--colorCompoundBrandForeground1Hover);}\"],\n a: [\".fryz5bw:active{color:var(--colorCompoundBrandForeground1Pressed);}\"]\n});\nexport const usePrimaryTextStyles = /*#__PURE__*/__styles({\n base: {\n Huce71: \"fz5stix\",\n uwmqm3: [\"fgiv446\", \"ffczdla\"],\n z189sj: [\"ffczdla\", \"fgiv446\"]\n },\n medium: {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"f1i3iumi\"\n },\n small: {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fy9rknc\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"fwrc4pm\"\n },\n \"extra-small\": {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fy9rknc\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"fwrc4pm\"\n },\n withoutSecondaryText: {\n Br312pm: \"faqcfhe\",\n Ijaq50: \"f1q3ipgb\",\n nk6f5a: \"fc0ab3q\",\n Byoj8tv: \"f1g03r3y\"\n },\n withSecondaryText: {\n Bw0ie65: 0,\n Br312pm: 0,\n nk6f5a: 0,\n Ijaq50: 0,\n Bq1tomu: \"f1ebragv\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fy9rknc\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"fwrc4pm\",\n B6of3ja: \"f1ryq6si\"\n }\n}, {\n d: [\".fz5stix{white-space:nowrap;}\", \".fgiv446{padding-left:var(--spacingHorizontalXXS);}\", \".ffczdla{padding-right:var(--spacingHorizontalXXS);}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".faqcfhe{grid-column-start:primary;}\", \".f1q3ipgb{grid-row-start:primary;}\", \".fc0ab3q{grid-row-end:secondary;}\", \".f1g03r3y{padding-bottom:var(--spacingHorizontalXXS);}\", [\".f1ebragv{grid-area:primary;}\", {\n p: -1\n }], \".f1ryq6si{margin-top:-2px;}\"]\n});\nexport const useSecondaryTextBaseClassName = /*#__PURE__*/__resetStyles(\"r7hv1ps\", \"rnrslm9\", [\".r7hv1ps{grid-area:secondary;padding-left:var(--spacingHorizontalXXS);padding-right:var(--spacingHorizontalXXS);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase100);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase100);white-space:nowrap;}\", \".rnrslm9{grid-area:secondary;padding-right:var(--spacingHorizontalXXS);padding-left:var(--spacingHorizontalXXS);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase100);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase100);white-space:nowrap;}\"]);\n/**\n * Apply styling to the Tag slots based on the state\n */\nexport const useTagStyles_unstable = state => {\n 'use no memo';\n\n const rootRoundedBaseClassName = useRootRoundedBaseClassName();\n const rootCircularBaseClassName = useRootCircularBaseClassName();\n const rootStyles = useRootStyles();\n const rootDisabledStyles = useRootDisabledStyles();\n const rootWithoutMediaStyles = useRootWithoutMediaStyles();\n const rootWithoutDismissStyles = useRootWithoutDismissStyles();\n const iconStyles = useIconStyles();\n const mediaStyles = useMediaStyles();\n const dismissIconStyles = useDismissIconStyles();\n const primaryTextStyles = usePrimaryTextStyles();\n const secondaryTextBaseClassName = useSecondaryTextBaseClassName();\n const {\n shape,\n size,\n appearance\n } = state;\n state.root.className = mergeClasses(tagClassNames.root, shape === 'rounded' ? rootRoundedBaseClassName : rootCircularBaseClassName, state.disabled ? rootDisabledStyles[appearance] : rootStyles[appearance], rootStyles[size], !state.media && !state.icon && rootWithoutMediaStyles[size], !state.dismissIcon && rootWithoutDismissStyles[size], state.root.className);\n if (state.media) {\n state.media.className = mergeClasses(tagClassNames.media, mediaStyles.base, mediaStyles[size], state.media.className);\n }\n if (state.icon) {\n state.icon.className = mergeClasses(tagClassNames.icon, iconStyles.base, iconStyles[size], state.icon.className);\n }\n if (state.primaryText) {\n state.primaryText.className = mergeClasses(tagClassNames.primaryText, primaryTextStyles.base, primaryTextStyles[size], state.secondaryText ? primaryTextStyles.withSecondaryText : primaryTextStyles.withoutSecondaryText, state.primaryText.className);\n }\n if (state.secondaryText) {\n state.secondaryText.className = mergeClasses(tagClassNames.secondaryText, secondaryTextBaseClassName, state.secondaryText.className);\n }\n if (state.dismissIcon) {\n state.dismissIcon.className = mergeClasses(tagClassNames.dismissIcon, dismissIconStyles.base, dismissIconStyles[size], !state.disabled && dismissIconStyles[appearance], state.dismissIcon.className);\n }\n return state;\n};\n//# sourceMappingURL=useTagStyles.styles.js.map","import * as React from 'react';\nexport const InteractionTagContext = /*#__PURE__*/ React.createContext(undefined);\nconst interactionTagContextDefaultValue = {\n appearance: 'filled',\n disabled: false,\n handleTagDismiss: ()=>({}),\n interactionTagPrimaryId: '',\n shape: 'rounded',\n size: 'medium',\n value: ''\n};\nexport const InteractionTagContextProvider = InteractionTagContext.Provider;\nexport const useInteractionTagContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(InteractionTagContext)) !== null && _React_useContext !== void 0 ? _React_useContext : interactionTagContextDefaultValue;\n};\n","import * as React from 'react';\nexport const TagGroupContext = /*#__PURE__*/ React.createContext(undefined);\nconst tagGroupContextDefaultValue = {\n handleTagDismiss: ()=>({}),\n size: 'medium',\n role: 'toolbar'\n};\nexport const TagGroupContextProvider = TagGroupContext.Provider;\nexport const useTagGroupContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(TagGroupContext)) !== null && _React_useContext !== void 0 ? _React_useContext : tagGroupContextDefaultValue;\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, useEventCallback, slot, useId } from '@fluentui/react-utilities';\nimport { Delete, Backspace } from '@fluentui/keyboard-keys';\nimport { DismissRegular } from '@fluentui/react-icons';\nimport { useInteractionTagContext_unstable } from '../../contexts/interactionTagContext';\n/**\n * Create the state required to render InteractionTagSecondary.\n *\n * The returned state can be modified with hooks such as useInteractionTagSecondaryStyles_unstable,\n * before being passed to renderInteractionTagSecondary_unstable.\n *\n * @param props - props from this instance of InteractionTagSecondary\n * @param ref - reference to root HTMLButtonElement of InteractionTagSecondary\n */ export const useInteractionTagSecondary_unstable = (props, ref)=>{\n const { appearance, disabled, handleTagDismiss, interactionTagPrimaryId, shape, size, value } = useInteractionTagContext_unstable();\n const id = useId('fui-InteractionTagSecondary-', props.id);\n const onClick = useEventCallback((ev)=>{\n var _props_onClick;\n props === null || props === void 0 ? void 0 : (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, ev);\n if (!ev.defaultPrevented) {\n handleTagDismiss === null || handleTagDismiss === void 0 ? void 0 : handleTagDismiss(ev, {\n value\n });\n }\n });\n const onKeyDown = useEventCallback((ev)=>{\n var _props_onKeyDown;\n props === null || props === void 0 ? void 0 : (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, ev);\n if (!ev.defaultPrevented && (ev.key === Delete || ev.key === Backspace)) {\n handleTagDismiss === null || handleTagDismiss === void 0 ? void 0 : handleTagDismiss(ev, {\n value\n });\n }\n });\n return {\n appearance,\n disabled,\n shape,\n size,\n components: {\n root: 'button'\n },\n root: slot.always(getIntrinsicElementProps('button', {\n children: /*#__PURE__*/ React.createElement(DismissRegular, null),\n type: 'button',\n disabled,\n ref,\n 'aria-labelledby': `${interactionTagPrimaryId} ${id}`,\n ...props,\n id,\n onClick,\n onKeyDown\n }), {\n elementType: 'button'\n })\n };\n};\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of InteractionTagSecondary\n */ export const renderInteractionTagSecondary_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import * as React from 'react';\nimport { useInteractionTagSecondary_unstable } from './useInteractionTagSecondary';\nimport { renderInteractionTagSecondary_unstable } from './renderInteractionTagSecondary';\nimport { useInteractionTagSecondaryStyles_unstable } from './useInteractionTagSecondaryStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * InteractionTagSecondary component - used as the second child of the `InteractionTag` component and provides the secondary action, which is dismiss by default.\n */ export const InteractionTagSecondary = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useInteractionTagSecondary_unstable(props, ref);\n useInteractionTagSecondaryStyles_unstable(state);\n useCustomStyleHook_unstable('useInteractionTagSecondaryStyles_unstable')(state);\n return renderInteractionTagSecondary_unstable(state);\n});\nInteractionTagSecondary.displayName = 'InteractionTagSecondary';\n","import * as React from 'react';\nexport function useTagAvatarContextValues_unstable(state) {\n const { avatarSize, avatarShape } = state;\n const avatar = React.useMemo(()=>({\n size: avatarSize,\n shape: avatarShape\n }), [\n avatarShape,\n avatarSize\n ]);\n return {\n avatar\n };\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","var matcher = function(selector) {\n return function() {\n return this.matches(selector);\n };\n};\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!element.matches) {\n var vendorMatches = element.webkitMatchesSelector\n || element.msMatchesSelector\n || element.mozMatchesSelector\n || element.oMatchesSelector;\n matcher = function(selector) {\n return function() {\n return vendorMatches.call(this, selector);\n };\n };\n }\n}\n\nexport default matcher;\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling);\n}\n\nfunction selection_cloneDeep() {\n return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling);\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","/*! file-extension v4.0.5 | (c) silverwind | BSD license */\n\"use strict\";\n\n(function(m) {\n if (typeof exports === \"object\") {\n module.exports = m();\n } else if (typeof define === \"function\" && define.amd) {\n define([], m);\n } else {\n this.fileExtension = m();\n }\n})(function() {\n return function fileExtension(filename, opts) {\n if (!opts) opts = {};\n if (!filename) return \"\";\n var ext = (/[^./\\\\]*$/.exec(filename) || [\"\"])[0];\n return opts.preserveCase ? ext : ext.toLowerCase();\n };\n});\n","console.log(\"I'm `fs` modules\");\n"],"names":["avatarContext","undefined","AvatarContextProvider","Provider","breadcrumbButtonClassNames","useIconStyles","base","Be2twd7","Bqenvij","Bg96gwp","a9b677","t21cq0","small","u3h8gg","Biu6dll","medium","large","d","useStyles","tokens","colorTransparentBackground","colorNeutralForeground2","icon","root","Bf4jedk","j4b8c3","Bahqtrf","Bhrd7zp","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","current","Jwef8y","Bi91k9c","eoavqd","Bbdnnc7","Bk3fhr4","Bmfj8id","iro3zm","B2d53fq","c3iz72","x3br3k","em6i61","vm6p8p","Bszkowt","Dyrjrp","ezr58z","nhk3du","Bfrek18","G209fr","currentSmall","currentMedium","currentLarge","p","h","BreadcrumbButton","props","ref","state","size","as","rest","controlType","href","_props_ariacurrent","_props_ariadisabled","useButton","appearance","role","type","iconPosition","useBreadcrumbButton_unstable","styles","iconStyles","currentSizeMap","className","useBreadcrumbButtonStyles_unstable","renderButton","renderBreadcrumbButton_unstable","displayName","useBreadcrumbDivider_unstable","dir","getDividerIcon","components","slot","getIntrinsicElementProps","g","children","elementType","breadcrumbDividerClassNames","BreadcrumbDivider","useBreadcrumbDividerStyles_unstable","assertSlots","renderBreadcrumbDivider_unstable","breadcrumbItemClassNames","useBreadcrumbItemResetStyles","BreadcrumbItem","useBreadcrumbItem_unstable","resetStyles","useBreadcrumbItemStyles_unstable","renderBreadcrumbItem_unstable","breadcrumbClassNames","useListClassName","Breadcrumb","focusMode","list","focusAttributes","useArrowNavigationGroup","circular","axis","memorizeCurrent","_props_arialabel","renderByDefault","defaultProps","useBreadcrumb_unstable","contextValues","useBreadcrumbContextValues_unstable","listBaseClassName","useBreadcrumbStyles_unstable","value","renderBreadcrumb_unstable","BreadcrumbContext","breadcrumbDefaultValue","BreadcrumbProvider","useBreadcrumbContext_unstable","_React_useContext","partitionBreadcrumbItems","options","startDisplayedItems","overflowItems","endDisplayedItems","items","itemsCount","length","maxDisplayedItems","getMaxDisplayedItems","_options_overflowIndex","overflowIndex","slice","numberItemsToHide","menuLastItemIdx","truncateBreadcrumb","content","maxLength","isTruncatableBreadcrumbContent","trim","concat","truncateBreadcrumbLongName","CarouselCard","autoSize","elementRef","isMouseEvent","selectPageByElement","ctx","containerRef","cardFocus","focusAttr","useFocusableGroup","tabBehavior","focusAttrProps","tabIndex","id","useId","element","listener","_e","hidden","detail","isVisible","ariaHidden","toString","inert","addEventListener","removeEventListener","handleFocus","e","_containerRef_current","defaultPrevented","isHTMLElement","currentTarget","scrollTo","onFocusCapture","mergeCallbacks","onPointerUp","onPointerDown","useMergedRefs","useCarouselCard_unstable","renderCarouselCard_unstable","carouselCardClassNames","xawz","Bh6795r","Bnnss6s","fkmc3a","B2u0y6b","useCarouselCardStyles_unstable","carouselContextDefaultValue","activeIndex","selectPageByDirection","selectPageByIndex","subscribeForValues","enableAutoplay","resetAutoplay","viewportRef","CarouselContext","CarouselProvider","useCarouselContext_unstable","selector","carouselNavButtonClassNames","Bceei9c","Bkecrkj","B7ck84d","De3pzq","B4j52fo","Bekrc4i","Bn0qgzm","ibv6hh","Bsft5z2","ap17g6","li1rpt","d9w3h3","B3778ie","B4j8arr","Bl18szs","Blrzh8d","Bjuhk93","B1q35kw","Bw17bha","Bcgy8vk","Du69r6","Gp14am","vfts7","Bhxzhr1","G63luc","s924m2","Barhvk9","Ihftqj","wywymt","B0n5ga8","Bm2nyyq","xrcqlc","e1d83w","Dlnsje","a2br6o","Bjyk6c5","go7t6h","qx5q1e","f7digc","Bfz3el7","rootUnselected","Bw0xxkn","oeaueh","Bpd4iqm","Befb4lg","Byu6kyc","n8qw10","Bbjhlyh","i2cumq","Bunx835","Bdrgwmp","mqozju","lbo84a","Bksnhdo","Bci5o5g","u5e7qz","Bn40d3w","B7b6zxw","B8q5s1w","B5gfjzb","Bbcte9g","Bqz3imu","Bj9ihqo","Bl51kww","B3bvztg","Btyt4dx","Brhw1f9","Bw81rd7","kdpuga","dm238s","B6xbmo0","B3whbx2","Bp15pi3","Bay5ve9","Bni0232","rootSelected","brand","Glksuk","Blzl0y7","unselectedBrand","m","a","CarouselNavButton","onClick","index","selected","handleClick","useEventCallback","event","target","defaultTabProps","useTabsterAttributes","focusable","isDefault","buttonRef","_carouselButton","useARIAButtonProps","useIsomorphicLayoutEffect","data","_controlledSlideIds","groupIndexList","map","slideIndex","slideNodes","join","setAttribute","useCarouselNavButton_unstable","useCarouselNavButtonStyles_unstable","renderCarouselNavButton_unstable","carouselAutoplayButtonClassNames","B6of3ja","jrapky","g2u3we","h3c5rm","B9xav0g","zhjwy3","sj55zd","CarouselAutoplayButton","onCheckedChange","checked","defaultChecked","autoplay","setAutoplay","useControllableState","defaultState","initialState","useToggleButton","isDefaultPrevented","newValue","useCarouselAutoplayButton_unstable","useCarouselAutoplayButtonStyles_unstable","renderCarouselAutoplayButton_unstable","carouselButtonClassNames","CarouselButton","navType","totalSlides","setTotalSlides","isTrailing","navItemsCount","nextArrowIcon","prevArrowIcon","disabled","nextIndex","_trailing","querySelectorAll","forEach","_buttonRef","focus","useCarouselButton_unstable","useCarouselButtonStyles_unstable","renderCarouselButton_unstable","carouselNavContainerClassNames","mc9l5x","Beiy3e4","Brf1p80","next","prev","inline","overlay","qhf8xq","B5kzvoi","overlayWide","nextWide","Frg6f3","prevWide","nextOverlayWide","prevOverlayWide","autoplayOverlayWide","expanded","Bt984gj","c7y7m3","yx0ijg","v4amzz","nextOverlayExpanded","j35jbq","Bhzewxz","Bz10aip","prevOverlayExpanded","oyh7mz","autoplayExpanded","CarouselNavContainer","layout","useCarouselNavContainer_unstable","isOverlay","isWide","useCarouselNavContainerStyles_unstable","renderCarouselNavContainer_unstable","carouselNavClassNames","Bfpq7zp","g9k6zt","Bn4voq9","giviqs","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","B74szlk","CarouselNav","focusableGroupAttr","unstable_hasDefault","renderNavButton","useCarouselNav_unstable","useCarouselNavStyles_unstable","CarouselNavContext","carouselNav","Array","fill","_","CarouselNavIndexContext","renderCarouselNav_unstable","carouselNavContext","carouselNavContextDefaultValue","useCarouselNavContext","CarouselNavContextProvider","useCarouselNavContextValues_unstable","carouselNavIndexContext","useCarouselNavIndexContext","CarouselNavIndexContextProvider","CarouselSlider","focusProps","useCarouselSlider_unstable","CarouselSliderContext","carouselSlider","renderCarouselSlider_unstable","carouselSliderContext","carouselSliderContextDefaultValue","useCarouselSliderContext","CarouselSliderContextProvider","useCarouselSliderContextValues_unstable","carouselSliderClassNames","Eiaeu8","useCarouselSliderStyles_unstable","carouselViewportClassNames","CarouselViewport","hasFocus","hasMouse","handleFocusCapture","handleBlurCapture","contains","relatedTarget","handleMouseEnter","handleMouseLeave","onBlurCapture","onMouseEnter","onMouseLeave","draggable","useCarouselViewport_unstable","useCarouselViewportStyles_unstable","renderCarouselViewport_unstable","Carousel","align","onActiveIndexChange","groupSize","whitespace","announcement","motion","carouselApi","useEmblaCarousel","direction","loop","slidesToScroll","defaultActiveIndex","watchDrag","containScroll","onDragIndexChange","onAutoplayIndexChange","jump","foundIndex","scrollToElement","scrollToIndex","nextPageIndex","scrollInDirection","mergedContainerRef","announcementTextRef","totalNavLength","navGroupRef","announce","updateAnnouncement","announcementText","polite","useCarousel_unstable","carousel","useCarouselContextValues_unstable","renderCarousel_unstable","carouselClassNames","B68tc82","useCarouselStyles_unstable","isNumber","subject","isString","isBoolean","isObject","Object","prototype","call","mathAbs","n","Math","abs","mathSign","sign","deltaAbs","valueB","valueA","arrayKeys","array","objectKeys","Number","arrayLast","arrayLastIndex","max","arrayIsLastIndex","arrayFromNumber","startAt","from","i","object","keys","objectsMergeDeep","objectA","objectB","reduce","mergedObjects","currentObject","key","areObjects","evt","ownerWindow","MouseEvent","EventStore","listeners","self","add","node","handler","passive","removeListener","legacyMediaQueryList","addListener","push","clear","filter","remove","Animations","ownerDocument","update","render","documentVisibleHandler","fixedTimeStep","lastTimeStamp","accumulatedTime","animationId","animate","timeStamp","timeElapsed","requestAnimationFrame","stop","cancelAnimationFrame","init","destroy","start","Limit","min","reachedMin","reachedMax","reachedAny","constrain","removeOffset","ceil","Counter","loopEnd","counter","withinLimit","get","clone","set","DragHandler","rootNode","dragTracker","location","animation","scrollBody","scrollTarget","eventHandler","percentOfView","dragFree","dragThreshold","skipSnaps","baseFriction","cross","crossAxis","focusNodes","nonPassiveEvent","initEvents","dragEvents","goToNextThreshold","measure","snapForceBoost","mouse","touch","freeForceBoost","baseSpeed","isMoving","startScroll","startCross","pointerIsDown","preventScroll","preventClick","isMouse","move","touches","up","lastScroll","readPoint","lastCross","diffScroll","diffCross","cancelable","diff","pointerMove","useFriction","useDuration","preventDefault","targetChanged","byDistance","rawForce","pointerUp","force","baseForce","distance","byIndex","allowedForce","forceFactor","factorAbs","speed","friction","emit","click","stopPropagation","emblaApi","downIfAllowed","isMouseEvt","buttons","button","nodeName","includes","isFocusNode","pointerDown","addDragEvents","down","DragTracker","startEvent","lastEvent","readTime","evtAxis","coord","scroll","expired","diffDrag","diffTime","ResizeHandler","container","slides","watchResize","nodeRects","observeNodes","resizeObserver","containerSize","slideSizes","destroyed","readSize","measureSize","ResizeObserver","entries","entry","isContainer","indexOf","lastSize","reInit","defaultCallback","observe","disconnect","ScrollBounds","limit","pullBackThreshold","edgeOffsetTolerance","frictionLimit","shouldConstrain","edge","diffToEdge","diffToTarget","subtract","useBaseFriction","toggleActive","active","ScrollLooper","contentSize","vectors","shouldLoop","loopDistance","v","ScrollTarget","scrollSnaps","targetVector","minDistance","distances","sort","b","shortcut","targets","matchingTargets","t","snap","targetSnapDistance","ascDiffsToSnaps","d1","d2","findTargetSnap","reachedBound","SlideFocus","slideRegistry","eventStore","watchFocus","focusListenerOptions","capture","lastTabPressTime","registerTabPress","code","Date","getTime","document","slide","scrollLeft","group","findIndex","Vector1D","initialValue","normalizeInput","Translate","translate","containerStyle","style","previousTarget","transform","getAttribute","removeAttribute","to","newTarget","num","round","SlideLooper","viewSize","slideSizesWithGaps","snaps","ascItems","descItems","reverse","loopPoints","gap","findLoopPoints","slidesInGap","startPoints","endPoints","removeSlideSizes","indexes","offset","isEndEdge","slideBounds","end","findSlideBounds","initial","altered","boundEdge","loopPoint","slideLocation","canLoop","every","shiftLocation","SlidesHandler","watchSlides","mutationObserver","MutationObserver","mutations","mutation","childList","SlidesInView","threshold","intersectionEntryMap","intersectionObserver","inViewCache","notInViewCache","IntersectionObserver","parentElement","inView","slideIndexes","parseInt","isIntersecting","createInViewList","SlidesToScroll","containerRect","slideRects","startGap","endGap","pixelTolerance","startEdge","endEdge","groupByNumber","groupSlides","byNumber","groups","rectB","rectA","isFirst","isLast","edgeA","edgeB","gapA","chunkSize","currentSize","previousSize","bySize","Engine","scrollAxis","startIndex","duration","inViewThreshold","offsetTop","offsetLeft","offsetWidth","offsetHeight","top","right","bottom","left","width","height","contentDirection","isRightToLeft","isVertical","nodeRect","Axis","PercentOfView","alignment","predefined","center","Alignment","containSnaps","readEdgeGap","withEdgeGap","slideRect","measureStartGap","getComputedStyle","parseFloat","getPropertyValue","measureEndGap","rect","rects","SlideSizes","snapsAligned","alignments","ScrollSnaps","snapsContained","scrollContainLimit","scrollBounds","snapsBounded","snapAligned","usePixelTolerance","scrollBound","toFixed","startSnap","endSnap","lastIndexOf","findScrollContainLimit","bound","measureContained","ScrollContain","ScrollLimit","indexPrevious","dragHandler","seek","engine","alpha","offsetLocation","previousLocation","scrollLooper","slideLooper","shouldSettle","settled","withinBounds","hasSettled","interpolatedLocation","startLocation","baseDuration","scrollVelocity","scrollDirection","scrollDuration","scrollFriction","rawLocation","rawLocationPrevious","velocity","displacement","scrollDistance","useBaseDuration","ScrollBody","indexCurrent","distanceDiff","indexDiff","targetIndex","ScrollTo","scrollProgress","ScrollProgress","slidesInView","groupedSlideIndexes","doNotContain","createSlideRegistry","SlideRegistry","slideFocus","resizeHandler","scrollSnapList","slidesHandler","defaultOptions","breakpoints","OptionsHandler","mergeOptions","optionsA","optionsB","optionsAtMedia","matchedMediaOptions","media","matchMedia","matches","mediaOption","optionsMediaQueries","optionsList","acc","mediaQueries","EmblaCarousel","userOptions","userPlugins","defaultView","optionsHandler","pluginsHandler","activePlugins","plugins","plugin","assign","name","PluginsHandler","mediaHandlers","api","getListeners","off","cb","on","EventHandler","reActivate","pluginApis","optionsBase","globalOptions","pluginList","createEngine","activate","withOptions","withPlugins","userContainer","userSlides","customContainer","querySelector","customSlides","storeElements","query","offsetParent","selectedScrollSnap","deActivate","canScrollNext","canScrollPrev","containerNode","internalEngine","previousScrollSnap","scrollNext","scrollPrev","slidesNotInView","setTimeout","delay","playOnInit","stopOnFocusIn","stopOnInteraction","stopOnMouseEnter","stopOnLastSnap","Autoplay","timerStartTime","timerId","autoplayActive","mouseIsOver","playOnDocumentVisible","startAutoplay","documentIsHidden","clearTimeout","setTimer","stopAutoplay","clearTimer","visibilityChange","visibilityState","mouseEnter","mouseLeave","lastIndex","kill","emblaApiInstance","allOptions","normalizeDelay","isDraggable","emblaRootNode","getAutoplayRootNode","play","jumpOverride","reset","isPlaying","timeUntilNext","clampNumber","number","isNaN","Fade","fadeToNextDistance","defaultSettledBehaviour","defaultProgressBehaviour","opacities","distanceFromPointerDown","fadeVelocity","progress","shouldFadePair","fadeToSelectedSnapInstantly","setOpacities","select","lockExcessiveScroll","fadeIndex","indexA","absVelocity","currentOpacity","isFadeIndex","clampedOpacity","fadePair","indexB","opacity","snapFraction","reverseSign","currentPosition","diffPosition","setProgress","slidesInSnap","slideStyle","roundedOpacity","hasOpacity","position","toUpperCase","getSlideTransform","pointerEvents","setOpacity","getFadeIndex","selectedSnap","directionSign","distanceSign","nextSnap","notReachedTarget","noFadeIndex","fade","disableScroll","slideNode","DEFAULT_EMBLA_OPTIONS","EMBLA_VISIBILITY_EVENT","setActiveIndex","onDragEvent","emblaOptions","autoplayRef","_emblaApi_current_plugins_autoplay","_emblaApi_current","getPlugins","pointerEvent","documentDownListener","targetDocument","targetNode","classList","pointerUpListener","clearPointerEvent","selectListener","_emblaApi_selectedScrollSnap","newIndex","onSelectViaDrag","pointerEventPlugin","temporary","_emblaApi_current_plugins_autoplay1","_emblaApi_current1","Set","delete","updateIndex","_emblaApi_current2","_emblaApi_current_selectedScrollSnap","_emblaApi_current_internalEngine_slideRegistry_newIndex_","actualIndex","tabsterAttr","tabsterAttributes","JSON","parse","stringify","setTabsterDefault","handleReinit","_emblaApi_current3","_emblaApi_current_slideNodes","nodes","_emblaApi_current_internalEngine_slideRegistry","handleIndexChange","eventType","noopEvent","Event","currentElement","handleVisibilityChange","cardElements","_emblaApi_current_slidesInView","visibleIndexes","cardElement","dispatchEvent","CustomEvent","bubbles","newElement","_emblaApi_current4","_viewportRef_current","_emblaApi_current5","_emblaApi_current6","_emblaApi_current7","_emblaApi_current8","_cardElements_indexOf","cardIndex","groupIndex","indexFocus","currentActiveIndex","_emblaApi_current_slideNodes_length","slideLength","getClassNames","classNamesFunction","HorizontalBarChartBase","_super","_this","this","_handleChartMouseLeave","_calloutAnchorPoint","isCalloutVisible","setState","hoverValue","refSelected","lineColor","legend","_adjustProps","_barHeight","barHeight","_classNames","theme","color","_getChartDataText","barChartCustomData","_getDefaultTextData","_closeCallout","_getAccessibleDataObject","accessibleData","ariaLabel","ariaLabelledBy","ariaDescribedBy","xCalloutValue","yCalloutValue","_refArray","_uniqLineText","random","substring","_hoverOff","bind","_calloutId","getId","_a","palette","datapoint","points","chartData","horizontalBarChartdata","x","y","neutralTertiaryAlt","chartDataText","bars","_createBars","keyVal","FocusZone","horizontal","chartTitle","chartTitleAccessibilityData","_createBenchmark","chart","_refCallback","barWrapper","Callout","coverTarget","isBeakVisible","gapSpace","hideTooltip","directionalHint","DirectionalHint","topAutoEdge","onDismiss","preventDismissOnLostFocus","calloutProps","callOutAccessibilityData","onRenderCalloutPerHorizontalBar","barCalloutProps","ChartHoverCard","Legend","YValue","culture","legendTitle","refElement","_hoverOn","point","currentHoveredElement","xAxisCalloutData","yAxisCalloutData","chartDataMode","accessibilityData","chartDataAccessibilityData","chartDataTextDenominator","dataRatioPercentage","totalData","benchmarkData","benchmarkRatio","benchmarkStyles","marginLeft","marginRight","triangle","defaultPalette","blueLight","blue","blueMid","red","black","startingPoint","total","prevPosition","floor","pointData","xValue","onMouseOver","onFocus","onBlur","HorizontalBarChart","styled","display","flexDirection","marginTop","marginBottom","stroke","white","strokeWidth","fonts","justifyContent","fontWeight","FontWeights","bold","semibold","borderLeft","borderRight","borderTop","borderTopColor","LegendsBase","_onRenderData","overflowProps","_b","allowFocusOnLegends","rootStyles","centerLegends","flexWrap","OverflowSet","primary","overflow","onRenderItem","_renderButton","onRenderOverflowButton","_renderOverflowItems","_onReduceData","currentdata","_onGrowData","_canSelectMultipleLegends","selectedLegends","title","legends","selectedState","selecetedLegendInHoverCard","isHoverCardVisible","selectedLegend","hoverState","_canSelectOnlySingleLegend","_onClick","action","canSelectMultipleLegends","_onRenderCompactCard","expandingCard","overflowHoverCardLegends","classNames","renderData","hoverCardElement","vertical","focusZonePropsInHoverCard","hoverCardRoot","renderOverflowData","overflowText","plainCardProps","onRenderPlainCard","overflowString","HoverCard","plain","instantOpenOnClick","onCardHide","selectedOverflowItem","onLegendHoverCardLeave","onMouseOutAction","setInitialFocus","trapFocus","onCardVisible","_hoverCardVisible","subComponentStyles","hoverCardStyles","cardDismissDelay","_hoverCardRef","overflowIndicationTextStyle","rootElem","_onHoverOverLegend","hoverAction","_onLeave","shape","stripePattern","isLineLegendInBarChart","_getColor","colorOnSelectedState","borderColor","onHoverHandler","onMouseOut","_getShape","nativeButtonProps","text","componentDidUpdate","prevProps","dataToRender","_generateData","enabledWrapLines","ResizeGroup","onReduceData","onRenderData","onGrowData","svgParentProps","svgChildProps","svgProps","pathProps","classNameForNonSvg","Legends","_c","_d","inset","highContrastStyle","outlineColor","semanticColors","focusBorder","whiteSpace","alignItems","margin","getFocusStyle","cursor","border","padding","background","textTransform","selectors","HighContrastSelector","backgroundColor","buttonBorder","clipPath","backgroundImage","lineHeight","bodyText","hoverChange","host","pointPath","circle","square","pyramid","diamond","hexagon","pentagon","octagon","dottedLine","Shape","viewBox","CartesianChartBase","_f","_g","_h","_j","_k","_l","_m","minLegendContainerHeight","_isRtl","_multiValueCallout","yValueHoverSubCountsExists","_yValueHoverSubCountsExists","YValueHover","calloutContentRoot","calloutDateTimeContainer","calloutContentX","xAxisCalloutAccessibilityData","hoverXValue","calloutInfoContainer","yValue","yValues","shouldDrawBorderBottom","borderBottom","menuDivider","paddingBottom","_getCalloutContent","descriptionMessage","_getData","xScale","yScale","getGraphData","containerHeight","_removalValueForTextTuncate","containerWidth","xAxisElement","_width","_height","isRemoveValCalculated","idForGraph","margins","componentDidMount","_fitParentContainer","componentWillUnmount","_reqID","wrapXAxisLables","rotateXAxisLables","xAxisType","StringAxis","rotateLabelProps","xAxis","_xScale","rotatedHeight","chartType","chartHoverProps","svgFocusZoneProps","parentRef","getmargins","XAxisParams","domainNRangeValues","barwidth","tickValues","showRoundOffXTickValues","xAxisCount","xAxisTickCount","xAxistickSize","tickPadding","showXAxisLablesTooltip","xAxisPadding","YAxisParams","yAxisElement","yAxisTickFormat","yAxisTickCount","yMinValue","yMaxValue","maxOfYVal","yMinMaxValues","yAxisPadding","NumericAxis","DateAxis","tickParams","datasetForXAxisDomain","wrapLabelProps","noOfCharsToTruncate","temp","axisData","yAxisDomainValues","yAxisType","stringDatasetForYAxisDomain","getAxisData","isRtl","focusDirection","svgDimensions","focusZoneDirection","chartContainer","onChartMouseLeave","yAxis","hideLegend","legendContainer","legendBars","customizedCallout","isCalloutForStack","XValue","yValueHover","some","marginStyle","toDrawShape","subcounts_1","fontSize","subcountName","calloutBlockContainer","calloutlegendText","calloutContentY","shapeStyles","legendContainerHeight","legendContainerComputedStyles","getBoundingClientRect","currentContainerWidth","currentContainerHeight","isIE11Var","CartesianChart","shouldHighlight","tiny","HighContrastSelectorBlack","line","path","textAnchor","opacityChangeOnHover","bodyBackground","backgroundBlendMode","bodySubtext","mediumPlus","forcedColorAdjust","paddingLeft","paddingTop","Textbox","textElementRef","words","split","tspan","append","numLines","word","getComputedTextLength","pop","attr","selectAll","LabelLink","gRef","showCard","setShowCard","callout","cards","labelDef","aggregatedIdx","lineDefs","onRenderCard","c","isCircularNavigation","List","onRenderCell","window","textColor","mergedLabel","textY","textWidth","textLineHeight","anchor","textFontSize","EventsAnnotation","labelWidth","chartYTop","lineTopY","axisRange","scale","range","events","date","e1","e2","strokeColor","lines","arr","iteratee","seen","result","_i","arr_1","comp","uniqBy","x1","x2","y1","y2","chartYBottom","strokeDasharray","labelLinks","maxX","minX","calculateLabel","lastX","currentIdx","leftXBoundary","backtrack","bd","idx","ds","unshift","calculateLabels","labelColor","PointSize","LineChartBase","_this_1","_xAxisScale","_yAxisScale","eventLabelHeight","_injectIndexPropertyInLineChartData","lineChartData","allowMultipleShapesForPoints","item","_getCustomizedCallout","onRenderCalloutPerStack","stackCalloutProps","onRenderCalloutPerDataPoint","dataPointCalloutProps","_getMargins","_initializeLineChartData","xElement","_renderedColorFillBars","colorFillBars","_createColorFillBars","_createLines","_handleSingleLegendSelectionAction","lineChartItem","activeLegend","_handleLegendClick","_onHoverCardHide","selectedLegendPoints","selectedColorBarLegend","isSelectedLegend","_getBoxWidthOfShape","pointId","pointIndex","isLastPoint","activePoint","hoverSize","invisibleSize","_getPath","xPos","yPos","pointOftheLine","w","widthRatio","_getPointPath","_getPointFill","_colorFillBars","_points","LineChart","colorFillBar","colorFillBarId","replace","applyPattern","_getStripePattern","j","startX","endX","_colorFillBarsOpacity","_colorFillBarPatternId","fillOpacity","endValue","patternUnits","_checkInGap","gaps","currentGapIndex","gapIndex","isInGap","endIndex","_handleFocus","lineId","circleId","_uniqueCallOutID","formattedData","toLocaleDateString","xVal","found","_calloutPoints","_this_2","_verticalLine","obj","values","_handleHover","mouseEvent","persist","_onLineClick","func","_onDataPointClick","_handleMouseOut","onLegendClick","_handleMultipleLineLegendSelectionAction","selectedLine","selectedLines","selectedLineIndex","_clearMultipleLegendSelections","selectedLegendTitlesToPass","_handleMultipleColorFillBarLegendSelectionAction","selectedColorFillBar","selectedColorFillBars","selectedColorFillBarIndex","_circleId","_lineId","_borderId","_tooltipId","eventAnnotationProps","labelHeight","tickFormat","legendProps","isXAxisDateType","_createLegends","preventDismissOnEvent","getCalloutDescriptionMessage","visibility","isLegendMultiSelectEnabled","legendDataItems","legendShape","colorFillBarsLegendDataItems","enabledLegendsWrapLines","legendsOverflowProps","focusZonePropsForLegendsInHoverCard","legendsOverflowText","_o","_p","_q","linesForLine","bordersForLine","pointsForLine","legendVal","verticaLineHeight","_r","r","cx","cy","onMouseMove","_loop_1","gapResult","this_1","borderId","_s","_t","lineOptions","isLegendSelected","currentPointHidden","hideNonActiveDots","onDataPointClick","lastCircleId_1","lastPointHidden","_u","lastCirlceXCallout_1","lastCirlceXCalloutAccessibilityData_1","lineBorderWidth","strokeLinecap","lineBorderColor","strokeDashoffset","onLineClick","apply","getElementById","tooltipProps","tooltipCls","tooltip","textAlign","borderRadius","MultiStackedBarChartBase","legendColor","_getLegendData","hideRatio","actions","singleChartData","validChartData","placeHolder","leg","_onHover","isDataFocusable","refArray","selectedLegendTitle","dataForHoverCard","isLegendHovered","_onBarLeave","legendName","calloutYVal","singleChartBars","_createBarsAndLegends","hideDenominator","placeHolderOnHover","_onBarFocus","_onBarHover","_redirectToUrl","noData","hideNumber","showRatio","showNumber","getChartData","singleChartRoot","legendText","customMessage","isLegendFocused","MultiStackedBarChart","StackedBarChartBase","targetData","hideNumberDisplay","ignoreFixStyle","neutralTertiary","neutralSecondary","targetRatio","showLegend","benchmarkColor","targetColor","ratioNumerator","ratioDenominator","benchmarkContainer","benchmark","_addLegend","_generateEmptyBar","barBackgroundColor","StackedBarChart","FontSizes","ChartHoverCardBase","arguments","ratio","isRatioPresent","numerator","denominator","xxLarge","epsilon","translateX","translateY","bandwidth","entering","__axis","orient","tickArguments","tickSizeInner","tickSizeOuter","k","context","ticks","domain","format","spacing","range0","range1","copy","selection","tick","order","tickExit","exit","tickEnter","enter","merge","insert","transition","isFinite","parentNode","each","tickSize","axisRight","axisBottom","axisLeft","NaN","compare","f","lo","hi","mid","ascendingBisect","bisector","bisectRight","e10","sqrt","e5","tickIncrement","count","step","power","log","LN10","error","pow","step0","step1","valueof","prefix","Map","isArray","o","constructor","has","property","empty","proto","implicit","ordinal","unknown","band","ordinalRange","paddingInner","paddingOuter","rescale","rangeRound","factory","extend","parent","definition","create","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","l","toLowerCase","exec","rgbn","Rgb","rgba","hsla","hasOwnProperty","rgb_formatHex","hex","rgb_formatRgb","s","Hsl","hslConvert","hsl2rgb","m1","m2","basis","t1","v0","v1","v2","v3","t2","t3","linear","gamma","nogamma","exponential","channels","displayable","formatHsl","rgbGamma","rgbSpline","spline","colors","genericArray","nb","na","setTime","reA","reB","source","am","bm","bs","bi","q","one","zero","string","ArrayBuffer","isView","DataView","valueOf","unit","deinterpolateLinear","bimap","deinterpolate","reinterpolate","d0","r0","r1","polymap","interpolate","clamp","piecewise","output","input","deinterpolateClamp","invert","reinterpolateClamp","prefixExponent","re","formatSpecifier","specifier","match","Error","FormatSpecifier","symbol","comma","precision","formatDecimalParts","toExponential","coefficient","exponent","toLocaleString","toPrecision","formatRounded","formatPrefix","prefixes","locale","grouping","thousands","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","String","percent","minus","nan","newFormat","formatTypes","test","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","i1","i0","formatTrim","charCodeAt","Infinity","precisionPrefix","precisionRound","precisionFixed","nice","t0","newInterval","floori","offseti","field","interval","previous","year","setMonth","setHours","setFullYear","getFullYear","month","setDate","getMonth","durationSecond","durationMinute","durationHour","durationDay","durationWeek","weekday","getDate","getDay","getTimezoneOffset","sunday","monday","tuesday","wednesday","thursday","friday","saturday","day","hour","getMilliseconds","getSeconds","getMinutes","getHours","minute","second","getUTCSeconds","millisecond","utcWeekday","setUTCDate","getUTCDate","getUTCDay","setUTCHours","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","setUTCMonth","setUTCFullYear","getUTCFullYear","localDate","H","M","S","L","utcDate","UTC","newDate","timeFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","names","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","u","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","z","formatUTCDayOfMonth","formatUTCHour24","getUTCHours","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","getUTCMonth","formatUTCMinutes","getUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","locale_dateTime","dateTime","locale_date","locale_time","time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","charAt","newParse","week","X","utcFormat","utcParse","formatLocale","durationMonth","durationYear","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","tickIntervals","tickInterval","x0","ChartTypes","XAxisTypes","YAxisType","createNumericXAxis","xAxisParams","xAxisScale","dStartValue","dEndValue","rStartValue","rEndValue","domainValue","xAxisValue","convertToLocaleString","createDateXAxis","createStringXAxis","dataset","createYAxis","yAxisParams","startValue","tempVal","finalYmax","finalYmin","domainValues","maxVal","minVal","splitInto","val","dataPointsArray","prepareDatapoints","yAxisScale","createStringYAxis","dataPoints","calloutData","combinedResult","elements","ele","hideCallout","filteredValues","final","silceOrAppendToArray","pos","createWrapOfXLabels","axisNode","removeVal","totalWord","truncatedWord","totalWordLength","lineNumber","dy","maxDigit","maxHeight_1","outerHTMLElement","BoxCordinates","boxHeight","removeDigit","tooltipOfXAxislabels","xAxistooltipProps","div","aa","_groups","baseSpanLength","originalDataArray","originalData","tickObject","tickObjectLength","html","pageX","pageY","getXAxisType","getDomainNRangeValues","isRTL","barWidth","domainNRangeValue","AreaChart","xMin","xMax","domainRangeOfNumericForAreaChart","VerticalStackedBarChart","rMax","rMin","domainRangeOfVSBCNumeric","VerticalBarChart","domainRageOfVerticalNumeric","sDate","lDate","smallestDate","largestDate","domainRangeOfDateForAreaChart","GroupedVerticalBarChart","HeatMapChart","domainRangeOfXStringAxis","getMinMaxOfYAxis","minMaxValues","yMax","yMin","findNumericMinMaxOfY","findVSBCNumericMinMaxOfY","findVerticalNumericMinMaxOfY","Points","CustomPoints","pointTypes","getAccessibleDataObject","rotateXAxisLabels","maxHeight","xAxisTranslations","translateValue","translatePair","defaultFilter","optionText","defaultToString","option","useComboboxFilter","config","noOptionsMessage","optionToReactKey","optionToText","renderOption","Option","filteredOptions","searchValue","drawerBodyClassNames","Bmxbyg5","qb2dma","Bcmaq0h","B676am1","e5kdtc","Bkjc3bi","Bgh53k4","Bcx2cba","gonrqn","DrawerBody","always","getNativeElementProps","useDrawerBody_unstable","useDrawerBodyStyles_unstable","createElement","renderDrawerBody_unstable","drawerFooterClassNames","i8kkvl","DrawerFooter","useDrawerFooter_unstable","useDrawerFooterStyles_unstable","renderDrawerFooter_unstable","drawerHeaderTitleClassNames","DrawerHeaderTitle","heading","titleComponents","useDialogTitle","optional","useDrawerHeaderTitle_unstable","useDrawerHeaderTitleStyles_unstable","renderDrawerHeaderTitle_unstable","drawerHeaderClassNames","Belr9w4","DrawerHeader","useDrawerHeader_unstable","useDrawerHeaderStyles_unstable","renderDrawerHeader_unstable","drawerInlineClassNames","separatorStart","vrafjx","separatorEnd","wvpqe5","DrawerInline","open","initialOpen","defaultOpen","getDefaultDrawerProps","separator","useDrawerInline_unstable","baseStyles","separatorClass","useDrawerInlineStyles_unstable","renderDrawerInline_unstable","drawerOverlayClassNames","DrawerOverlay","modalType","inertTrapFocus","onOpenChange","DialogSurface","backdrop","dialog","useDrawerOverlay_unstable","useDrawerOverlayStyles_unstable","Dialog","renderDrawerOverlay_unstable","drawerClassNames","Drawer","useDrawer_unstable","useDrawerStyles_unstable","renderDrawer_unstable","useDrawerBaseStyles","full","defaultContextValue","scrollState","setScrollState","drawerContext","DrawerProvider","useDrawerContext_unstable","useDrawerContextValue","presenceMotionSlot","isUnmounted","visible","unmountOnExit","renderFn","propsWithMetadata","isNestedDialog","dialogRef","requestOpenChange","DialogContext","createContext","DialogProvider","useDialogContext_unstable","useContextSelector","PresenceGroupChildContext","useAnimateAtomsInSupportedEnvironment","_window_Animation","SUPPORTS_PERSIST","Animation","atoms","isReducedMotion","animations","keyframes","params","resultKeyframe","_element_style","playbackRate","rate","setMotionEndCallbacks","onfinish","oncancel","promises","Promise","resolve","reject","all","then","catch","cancel","pause","finish","useMountedState","mountedRef","forceUpdate","setMounted","MotionBehaviourContext","MOTION_DEFINITION","Symbol","createPresenceComponent","merged","skipMotions","useMotionBehaviourContext","appear","imperativeRef","onExit","onMotionFinish","onMotionStart","onMotionCancel","_rest","mounted","child","only","getChildElement","handleRef","animationRef","setPlayState","_animationRef_current","_animationRef_current1","setPlaybackRate","useMotionImperativeRef","optionsRef","animateAtoms","isFirstMount","useFirstMount","_targetDocument_defaultView","targetWindow","queryValue","isEnabled","queryMatch","matchListener","useIsReducedMotion","handleMotionStart","handleMotionFinish","handleMotionCancel","shouldSkipAnimation","presenceMotion","applyInitialStyles","skipAnimation","handle","motionTokens","durationUltraFast","durationFaster","durationFast","durationNormal","durationGentle","durationSlow","durationSlower","durationUltraSlow","curveAccelerateMax","curveAccelerateMid","curveAccelerateMin","curveDecelerateMax","curveDecelerateMid","curveDecelerateMin","curveEasyEaseMax","curveEasyEase","curveLinear","boxShadow","shadow64","DialogSurfaceMotion","easing","useDialog_unstable","trigger","childrenArray","toArray","childrenToTriggerAndContent","setOpen","focusRef","findFirstFocusable","useFocusFinders","_dialogRef_current","useFocusFirstElement","modalAttributes","triggerAttributes","useModalAttributes","legacyTrapFocus","useHasParentContext","surfaceMotion","dialogTitleId","MotionRefForwarderContext","MotionRefForwarder","DialogSurfaceContext","DialogSurfaceProvider","dialogSurface","useDialogContextValues_unstable","renderDialog_unstable","drawerCSSVars","useDrawerStyles","colorNeutralBackground1","colorNeutralForeground1","u1mtju","B4g9neb","Bjr0ffy","useDrawerBottomBaseStyles","useDrawerBaseClassNames","bottomBaseStyles","getPositionTransform","sizeVar","leftToRightTransform","rightToLeftTransform","InlineDrawerMotion","OverlayDrawerMotion","OverlaySurfaceBackdropMotion","useDrawerDefaultProps","useHTMLNoScrollStyles","useBodyNoScrollStyles","createFadePresence","enterDuration","enterEasing","exitDuration","exitEasing","DialogBackdropMotion","useDialogSurface_unstable","contextRef","dialogTitleID","handledBackdropClick","_props_backdrop_onClick","_props_backdrop","isResolvedShorthand","handleKeyDown","_props_onKeyDown","onKeyDown","disableBodyScroll","enableBodyScroll","htmlNoScrollStyles","bodyNoScrollStyles","_targetDocument_defaultView_innerHeight","body","innerHeight","documentElement","useDisableBodyScroll","backdropMotion","mountNode","transitionStatus","useBackdropResetStyles","useBackdropStyles","nested","OverlayDrawerSurface","dialogSurfaceState","dialogSurfaceContextValues","backdropResetStyles","backdropStyles","useOverlayDrawerSurfaceStyles_unstable","Portal","mergePresenceSlots","inputSlot","Component","STATIC_MOTION","canRender","useOverlayDrawer_unstable","mountNodeElement","toMountNodeProps","hasMountNodeElement","Boolean","backdropProps","hasCustomBackdrop","renderOverlayDrawer_unstable","contextValue","overlayDrawerClassNames","useDrawerResetStyles","useDrawerRootStyles","absolute","useOverlayDrawerStyles_unstable","baseClassNames","absoluteStyles","OverlayDrawer","useInlineDrawer_unstable","renderInlineDrawer_unstable","inlineDrawerClassNames","separatorBottom","icvyot","i8vvqc","useInlineDrawerStyles_unstable","getSeparatorClass","InlineDrawer","setAnimationFrameNoop","callback","cancelAnimationFrameNoop","scrollRef","setAnimationFrame","win","clearAnimationFrame","useBrowserTimer","useAnimationFrame","updateScrollState","scrollTop","scrollHeight","clientHeight","getScrollState","onScroll","useDrawerHeaderStyles","E3zdtr","B1piin3","Eqx8gd","F2fol1","Ba2ppi3","B1dyfl9","By385i5","separatorVisible","headingId","dialogTitleClassNames","useRootResetStyles","rootWithoutAction","Bw0ie65","useActionResetStyles","rootResetStyles","actionResetStyles","useDialogTitleStyles_unstable","useDrawerHeaderNavigation_unstable","renderDrawerHeaderNavigation_unstable","drawerHeaderNavigationClassNames","useDrawerHeaderNavigationStyles_unstable","DrawerHeaderNavigation","useDrawerFooterStyles","Baz25je","Brfgrao","mdwyqc","Fbdkly","vz82u","cmx5o7","h7gv66","B8bqphf","wjn42g","Ftih45","Bciustq","createElementFromSlotComponent","overrideChildren","renderFunction","baseElementType","propsWithoutMetadata","getMetadataFromSlotComponent","isSlot","createCompatSlotComponent","labelClassNames","Bbusuzp","required","Label","weight","useLabel_unstable","useLabelStyles_unstable","renderLabel_unstable","checkboxClassNames","useRootBaseClassName","useRootStyles","unchecked","pv5h1i","lj723h","Hnthvo","wkncrt","zxk7z7","Hmsnfy","e6czan","qbydtz","mixed","Bunfa6h","B15ykmv","mrqfp9","useInputBaseClassName","useInputStyles","before","after","useIndicatorBaseClassName","useIndicatorStyles","useLabelStyles","Checkbox","useFieldControlProps","supportsLabelFor","supportsRequired","labelPosition","onChange","setChecked","nativeProps","primarySlotTagName","excludedPropNames","checkmarkIcon","indicator","label","useFocusWithin","htmlFor","ev","indeterminate","inputRef","useCheckbox_unstable","rootBaseClassName","inputBaseClassName","inputStyles","indicatorBaseClassName","indicatorStyles","labelStyles","useCheckboxStyles_unstable","renderCheckbox_unstable","ListItemActionEventName","DEFAULT_ROOT_EL_TYPE","useListItem_unstable","onAction","toggleItem","_ctx_selection","navigationMode","isSelectionEnabled","isSelected","listItemRole","validateListItem","finalListItemRole","focusableItems","rootRef","checkmarkRef","handleAction","originalEvent","triggerAction","actionEvent","focusableGroupAttrs","ignoreDefaultKeydown","Enter","elementContains","Escape","onCheckboxChange","arrowNavigationAttributes","checkmark","mergedCheckmarkRef","selectable","navigable","listItemClassNames","useRootBaseStyles","useCheckmarkBaseStyles","Bpb5tq4","Biccaaf","Gaeyjg","ldoezw","B6gmeee","rootClickableOrSelectable","ListItem","rootBaseStyles","checkmarkBaseStyles","useListItemStyles_unstable","renderListItem_unstable","createSetFromIterable","iterable","useSelectionState","setSelected","defaultSelectedItems","selectedItems","nextSelectedItems","_params_onSelectionChange","onSelectionChange","useSelection","selectionMode","changeSelection","methods","itemId","selectItem","deselectItem","clearItems","toggleAllItems","itemIds","allItemsSelected","useMultipleSelection","_selected_has","useSingleSelection","useList_unstable","selectionState","setSelectionState","setSelectedItems","selectionMethods","clearSelection","useListSelection","selectedItemsAsArray","listRole","calculateListRole","calculateListItemRoleForListRole","findAllFocusable","listItemEl","listClassNames","listContext","useListContextValues_unstable","useListStyles_unstable","renderList_unstable","listContextDefaultValue","ListContextProvider","useListContext_unstable","MessageBarActions","useMessageBarActions","renderMessageBarActions","renderMessageBarActions_unstable","contexts","containerAction","useMessageBarActions_unstable","actionsRef","messageBarActionsClassNames","useContainerActionBaseStyles","useMultilineStyles","useMessageBarActionsStyles_unstable","containerActionBaseStyles","multilineStyles","MessageBarTitle","renderMessageBarTitle_unstable","useMessageBarTitle_unstable","titleId","messageBarTitleClassNames","useMessageBarTitleStyles_unstable","useMessageBarGroup_unstable","_props_children","_props_animate","enterStyles","exitStyles","MessageBarTransition","enterClassName","exitClassName","nodeRef","Transition","timeout","MessageBarTransitionInner","status","getClassName","renderMessageBarGroup_unstable","TransitionGroup","component","messageBarGroupClassNames","Bf5fcs","vin17d","Bv12yb3","useMessageBarGroupStyles_unstable","MessageBarGroup","SearchBox","renderSearchBox_unstable","contentBefore","contentAfter","dismiss","useSearchBox_unstable","defaultValue","inputProps","searchBoxRootRef","searchBoxRef","internalValue","setInternalValue","focused","setFocused","_searchBoxRootRef_current","rootProps","handleDismissClick","_props_onChange","_dismiss_onClick","inputState","supportsSize","overrides","_overrides_inputDefaultAppearance","inputDefaultAppearance","setValue","useInput_unstable","inputClassNames","useRootClassName","spacingHorizontalSNudge","spacingHorizontalMNudge","spacingHorizontalM","spacingHorizontalXXS","spacingHorizontalS","sshi5w","rmohyg","outline","outlineInteractive","Bgoe8wy","Bwzppfd","oetu4i","gg5e9n","Drbcw7","udz0bu","Be8ivqh","ofdepl","underline","underlineInteractive","filled","filledInteractive","q7v0qe","kmh5ft","nagaa4","B1yhkcb","invalid","tvckwq","gk2u95","hhx65j","Bxowmz0","E5pizo","Bjwas2f","Bn1d65q","Bxeuatn","n51gp8","Bduesf4","smallWithContentBefore","smallWithContentAfter","mediumWithContentBefore","mediumWithContentAfter","largeWithContentBefore","largeWithContentAfter","useInputClassName","useInputElementStyles","yvdlaj","useContentClassName","useContentStyles","Duoase","searchBoxClassNames","Boqhc8c","B8uat0v","unfocusedNoContentAfter","useContentAfterStyles","abs64n","useDismissClassName","useDismissStyles","useSearchBoxStyles_unstable","contentAfterStyles","dismissClassName","dismissStyles","startsWith","contentStyles","contentClasses","useInputStyles_unstable","tagPickerControlClassNames","Eh141a","Bbr2w1p","Bpq79vn","Gjdm7m","b1kco5","lck23g","df92cz","I188md","umuwi5","Blcqepd","nplu4u","Bioka5o","H713fs","B9ooomg","Bercvud","listbox","Bxyxcbc","listboxCollapsed","Bgfg5da","oivjwe","irswps","B6oc9vd","ak43y8","wmxk5l","B50zh58","invalidUnderline","useAsideStyles","Budl1dq","wkccdc","Bo70h7d","useTagPickerControl_unstable","_useFieldContext_unstable","targetRef","triggerRef","tagPickerGroupRef","popoverId","secondaryInnerActionRef","secondaryActionRef","validationState","innerRef","expandIconRef","asideRef","secondaryAction","expandIcon","expandIconMergeRef","observerRef","observer","ResizeObserverConstructor","useResizeObserverRef","_innerRef_current","setProperty","contentRect","aside","mergedAsideRefs","handleMouseDown","_triggerRef_current","onMouseDown","TagPickerControl","asideStyles","useTagPickerControlStyles_unstable","renderTagPickerControl_unstable","tagPickerInputCSSRules","setTagPickerInputStretchStyle","removeProperty","scrollWidth","tagPickerInputClassNames","useBaseStyle","TagPickerInput","propsArg","controller","activeDescendantController","contextDisabled","selectedOptions","setHasFocus","selectOption","getOptionById","findLastFocusable","isTypingRef","useInputTriggerSlot","_findLastFocusable","selectionStart","altKey","ctrlKey","metaKey","freeform","multiselect","useTagPickerInput_unstable","baseStyle","useTagPickerInputStyles_unstable","renderTagPickerInput_unstable","tagPickerListClassNames","collapsed","TagPickerList","popoverRef","Listbox","useListboxSlot","useTagPickerList_unstable","useTagPickerListStyles_unstable","renderTagPickerList_unstable","tagPickerOptionClassNames","secondaryContent","Br312pm","Ijaq50","TagPickerOption","optionState","useOption","useTagPickerOption_unstable","focusVisible","checkIcon","useTagPickerOptionStyles_unstable","renderTagPickerOption_unstable","fallbackPositions","childrenToTriggerAndPopover","popover","noop","TagPicker","triggerInnerRef","positioning","usePositioning","mainAxis","matchTargetSize","resolvePositioningShorthand","activeParentRef","listboxRef","useActiveDescendant","matchOption","el","comboboxState","useComboboxBaseState","onOptionSelect","_props_onOptionSelect","optionValue","_props_onOpenChange","editable","onOptionClick","getOptionsMatchingValue","registerOption","useTagPicker_unstable","activeDescendant","setActiveOption","picker","useTagPickerContextValues","TagPickerContext","ActiveDescendantContext","renderTagPicker_unstable","tagPickerContextDefaultValue","TagPickerContextProvider","useTagPickerContext_unstable","InteractionTagPrimary","renderInteractionTagPrimary_unstable","avatar","primaryText","secondaryText","avatarSizeMap","avatarShapeMap","rounded","useInteractionTagPrimary_unstable","interactionTagPrimaryId","hasSecondaryAction","avatarShape","avatarSize","interactionTagPrimaryClassNames","useRootRoundedBaseClassName","strokeWidthThin","colorTransparentStroke","strokeWidthThick","colorStrokeFocus2","useRootCircularBaseClassName","useRootCircularContrastStyles","withoutSecondaryAction","Bglfifq","hxi8he","B33s42s","G4pote","gw1m2h","w20ur","Byczuf6","ecr2s2","Bqrx1nm","kx9iu6","I6i3kg","Bnrwwps","weioyw","Bpre390","useRootDisabledAppearances","useRootWithoutMediaStyles","useRootWithSecondaryActionStyles","useInteractionTagPrimaryStyles_unstable","rootRoundedBaseClassName","rootCircularBaseClassName","rootDisabledAppearances","rootWithoutMediaStyles","rootWithSecondaryActionStyles","mediaStyles","primaryTextStyles","secondaryTextBaseClassName","rootCircularContrastStyles","withSecondaryText","withoutSecondaryText","interactionTagSecondaryClassNames","useRootDisabledStyles","useInteractionTagSecondaryStyles_unstable","rootDisabledStyles","InteractionTag","renderInteractionTag_unstable","interactionTag","useInteractionTag_unstable","handleTagDismiss","contextSize","contextAppearance","useInteractionTagContextValues_unstable","interactionTagClassNames","useInteractionTagStyles_unstable","TagGroup","renderTagGroup_unstable","tagGroup","useTagGroup_unstable","dismissible","findNextFocusable","findPrevFocusable","activeElement","arrowNavigationProps","useTagGroupContextValues_unstable","tagGroupClassNames","useTagGroupStyles_unstable","Tag","renderTag_unstable","dismissIcon","tagAvatarSizeMap","tagAvatarShapeMap","useTag_unstable","contextDismissible","tagGroupRole","dismissOnClick","_props_onClick","dismissOnKeyDown","tagClassNames","useRootWithoutDismissStyles","nk6f5a","Bq1tomu","useMediaStyles","useDismissIconStyles","ze5xyy","oy3o9n","usePrimaryTextStyles","Huce71","useSecondaryTextBaseClassName","useTagStyles_unstable","rootWithoutDismissStyles","dismissIconStyles","InteractionTagContext","interactionTagContextDefaultValue","InteractionTagContextProvider","useInteractionTagContext_unstable","TagGroupContext","tagGroupContextDefaultValue","TagGroupContextProvider","useTagGroupContext_unstable","useInteractionTagSecondary_unstable","renderInteractionTagSecondary_unstable","InteractionTagSecondary","useTagAvatarContextValues_unstable","xhtml","svg","xlink","xml","xmlns","namespaces","space","local","creatorInherit","uri","namespaceURI","createElementNS","creatorFixed","fullname","namespace","none","matcher","vendorMatches","webkitMatchesSelector","msMatchesSelector","mozMatchesSelector","oMatchesSelector","EnterNode","datum","_next","_parent","__data__","appendChild","insertBefore","bindIndex","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","ascending","attrRemove","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","styleRemove","styleConstant","priority","styleFunction","propertyRemove","propertyConstant","propertyFunction","classArray","ClassList","_node","_names","classedAdd","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textContent","textConstant","textFunction","htmlRemove","innerHTML","htmlConstant","htmlFunction","raise","nextSibling","lower","previousSibling","firstChild","constantNull","removeChild","selection_cloneShallow","cloneNode","selection_cloneDeep","splice","filterEvents","mouseenter","mouseleave","filterContextListener","contextListener","related","compareDocumentPosition","event1","event0","onRemove","typename","__on","onAdd","wrap","createEvent","initEvent","dispatchConstant","dispatchFunction","parents","_parents","subgroups","subnode","subgroup","selectorAll","enterGroup","updateGroup","_enter","_exit","sparse","groups0","groups1","m0","merges","group0","group1","compareNode","sortgroups","sortgroup","getAttributeNS","styleValue","classed","deep","typenames","parseTypenames","dispatch","nextId","Local","module","exports","filename","opts","ext","preserveCase","console"],"sourceRoot":""}