{"version":3,"file":"static/js/vendor.async.landing~6575d636.4922b7df.chunk.js","mappings":"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,EAAS,CACX,CAAI,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,QAAY,UAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,SACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,YACxC,CAAI,WAAY,WAAY,WAAY,WACpC,SAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,UAAY,UAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,SAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,UAAY,WAAY,WACpC,UAAY,WAAY,SAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,WAAY,UAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,YACxC,CAAI,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,SACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,UAAY,SAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,UAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,QAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,YACxC,CAAI,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,UAAY,SACpC,WAAY,SAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,SAAY,SACpC,WAAY,WAAY,WAAY,WACpC,UAAY,UAAY,WAAY,UACpC,WAAY,WAAY,SAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,SACpC,UA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","sources":["../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/helpers/extends.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/helpers/inheritsLoose.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose.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-context-selector@9.1.44_@types+react-dom@17.0.22_@types+react@17.0.69_react-d_eqt2bda73btjdr7ss5mfvpgfbq/node_modules/@fluentui/react-context-selector/lib/useContextSelector.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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-context-selector@9.1.44_@types+react-dom@17.0.22_@types+react@17.0.69_react-d_eqt2bda73btjdr7ss5mfvpgfbq/node_modules/@fluentui/react-context-selector/lib/createContext.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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-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-dialog@9.9.1_@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/DialogTrigger/useDialogTrigger.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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/DialogTrigger/DialogTrigger.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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/DialogTrigger/renderDialogTrigger.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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.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-dialog@9.9.1_@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/useDialogTitle.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/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/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-dialog@9.9.1_@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/dialogTransitionContext.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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-portal@9.4.5_@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-portal/lib/components/Portal/usePortalMountNodeStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-portal@9.4.5_@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-portal/lib/components/Portal/usePortalMountNode.js","../../../../node_modules/.pnpm/@fluentui+react-portal@9.4.5_@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-portal/lib/components/Portal/usePortal.js","../../../../node_modules/.pnpm/@fluentui+react-portal@9.4.5_@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-portal/lib/utils/toMountNodeProps.js","../../../../node_modules/.pnpm/@fluentui+react-portal@9.4.5_@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-portal/lib/components/Portal/renderPortal.js","../../../../node_modules/.pnpm/@fluentui+react-portal@9.4.5_@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-portal/lib/components/Portal/Portal.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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/useDialogSurfaceStyles.styles.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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/DialogSurface.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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-dialog@9.9.1_@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-context-selector@9.1.44_@types+react-dom@17.0.22_@types+react@17.0.69_react-d_eqt2bda73btjdr7ss5mfvpgfbq/node_modules/@fluentui/react-context-selector/lib/useHasParentContext.js","../../../../node_modules/.pnpm/@fluentui+react-dialog@9.9.1_@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.9.1_@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.9.1_@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.9.1_@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.9.1_@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.9.1_@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.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.5.18_@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-drawer@9.5.18_@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.5.18_@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.5.18_@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-drawer@9.5.18_@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.5.18_@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-drawer@9.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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-drawer@9.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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-drawer@9.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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.5.18_@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-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-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-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/cron-parser@0.3.4/node_modules/cron-parser/lib/date.js","../../../../node_modules/.pnpm/cron-parser@0.3.4/node_modules/cron-parser/lib/expression.js","../../../../node_modules/.pnpm/cron-parser@0.3.4/node_modules/cron-parser/lib/parser.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.js","../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.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","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../../node_modules/.pnpm/a11y-contrast-color@1.1.0/node_modules/a11y-contrast-color/dist/lib/color.js","../../../../node_modules/.pnpm/a11y-contrast-color@1.1.0/node_modules/a11y-contrast-color/dist/src/index.js","../../../../node_modules/.pnpm/a11y-contrast-color@1.1.0/node_modules/a11y-contrast-color/dist/types/color.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js"],"sourcesContent":["var _Object$assign = require(\"@babel/runtime-corejs2/core-js/object/assign\");\n\nfunction _extends() {\n module.exports = _extends = _Object$assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","var _Object$create = require(\"@babel/runtime-corejs2/core-js/object/create\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = _Object$create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","var _Object$keys = require(\"@babel/runtime-corejs2/core-js/object/keys\");\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n\n var sourceKeys = _Object$keys(source);\n\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","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 { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\n/**\n * @internal\n * This hook returns context selected value by selector.\n * It will only accept context created by `createContext`.\n * It will trigger re-render if only the selected value is referentially changed.\n */ export const useContextSelector = (context, selector)=>{\n const contextValue = React.useContext(context);\n const { value: { current: value }, version: { current: version }, listeners } = contextValue;\n const selected = selector(value);\n const [state, dispatch] = React.useReducer((prevState, payload)=>{\n if (!payload) {\n // early bail out when is dispatched during render\n return [\n value,\n selected\n ];\n }\n if (payload[0] <= version) {\n if (objectIs(prevState[1], selected)) {\n return prevState; // bail out\n }\n return [\n value,\n selected\n ];\n }\n try {\n if (objectIs(prevState[0], payload[1])) {\n return prevState; // do not update\n }\n const nextSelected = selector(payload[1]);\n if (objectIs(prevState[1], nextSelected)) {\n return prevState; // do not update\n }\n return [\n payload[1],\n nextSelected\n ];\n } catch (e) {\n // ignored (stale props or some other reason)\n }\n // explicitly spread to enforce typing\n return [\n prevState[0],\n prevState[1]\n ]; // schedule update\n }, [\n value,\n selected\n ]);\n if (!objectIs(state[1], selected)) {\n // schedule re-render\n // this is safe because it's self contained\n dispatch(undefined);\n }\n useIsomorphicLayoutEffect(()=>{\n listeners.push(dispatch);\n return ()=>{\n const index = listeners.indexOf(dispatch);\n listeners.splice(index, 1);\n };\n }, [\n listeners\n ]);\n return state[1];\n};\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */ // eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst objectIs = // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore fallback to native if it exists (not in IE11)\ntypeof Object.is === 'function' ? Object.is : is;\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 { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { unstable_NormalPriority as NormalPriority, unstable_runWithPriority as runWithPriority } from 'scheduler';\nconst createProvider = (Original)=>{\n const Provider = (props)=>{\n // Holds an actual \"props.value\"\n const valueRef = React.useRef(props.value);\n // Used to sync context updates and avoid stale values, can be considered as render/effect counter of Provider.\n const versionRef = React.useRef(0);\n // A stable object, is used to avoid context updates via mutation of its values.\n const contextValue = React.useRef();\n if (!contextValue.current) {\n contextValue.current = {\n value: valueRef,\n version: versionRef,\n listeners: []\n };\n }\n useIsomorphicLayoutEffect(()=>{\n valueRef.current = props.value;\n versionRef.current += 1;\n runWithPriority(NormalPriority, ()=>{\n contextValue.current.listeners.forEach((listener)=>{\n listener([\n versionRef.current,\n props.value\n ]);\n });\n });\n }, [\n props.value\n ]);\n return React.createElement(Original, {\n value: contextValue.current\n }, props.children);\n };\n /* istanbul ignore else */ if (process.env.NODE_ENV !== 'production') {\n Provider.displayName = 'ContextSelector.Provider';\n }\n return Provider;\n};\n/**\n * @internal\n */ export const createContext = (defaultValue)=>{\n // eslint-disable-next-line @fluentui/no-context-default-value\n const context = React.createContext({\n value: {\n current: defaultValue\n },\n version: {\n current: -1\n },\n listeners: []\n });\n context.Provider = createProvider(context.Provider);\n // We don't support Consumer API\n delete context.Consumer;\n return context;\n};\n","import { createContext, useContext } from 'react';\nconst defaultContextValue = false;\nexport const DialogSurfaceContext = createContext(undefined);\nexport const DialogSurfaceProvider = DialogSurfaceContext.Provider;\nexport const useDialogSurfaceContext_unstable = ()=>{\n var _useContext;\n return (_useContext = useContext(DialogSurfaceContext)) !== null && _useContext !== void 0 ? _useContext : defaultContextValue;\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 * as React from 'react';\nimport { applyTriggerPropsToChildren, getTriggerChild, useEventCallback } from '@fluentui/react-utilities';\nimport { useDialogContext_unstable, useDialogSurfaceContext_unstable } from '../../contexts';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport { useModalAttributes } from '@fluentui/react-tabster';\n/**\n * Create the state required to render DialogTrigger.\n * Clones the only child component and adds necessary event handling behaviours to open a popup Dialog\n *\n * @param props - props from this instance of DialogTrigger\n */ export const useDialogTrigger_unstable = (props)=>{\n const isInsideSurfaceDialog = useDialogSurfaceContext_unstable();\n const { children, disableButtonEnhancement = false, action = isInsideSurfaceDialog ? 'close' : 'open' } = props;\n const child = getTriggerChild(children);\n const requestOpenChange = useDialogContext_unstable((ctx)=>ctx.requestOpenChange);\n const { triggerAttributes } = useModalAttributes();\n const handleClick = useEventCallback((event)=>{\n var _child_props_onClick, _child_props;\n child === null || child === void 0 ? void 0 : (_child_props_onClick = (_child_props = child.props).onClick) === null || _child_props_onClick === void 0 ? void 0 : _child_props_onClick.call(_child_props, event);\n if (!event.isDefaultPrevented()) {\n requestOpenChange({\n event,\n type: 'triggerClick',\n open: action === 'open'\n });\n }\n });\n const triggerChildProps = {\n ...child === null || child === void 0 ? void 0 : child.props,\n ref: child === null || child === void 0 ? void 0 : child.ref,\n onClick: handleClick,\n ...triggerAttributes\n };\n const ariaButtonTriggerChildProps = useARIAButtonProps((child === null || child === void 0 ? void 0 : child.type) === 'button' || (child === null || child === void 0 ? void 0 : child.type) === 'a' ? child.type : 'div', {\n ...triggerChildProps,\n type: 'button'\n });\n return {\n children: applyTriggerPropsToChildren(children, disableButtonEnhancement ? triggerChildProps : ariaButtonTriggerChildProps)\n };\n};\n","import * as React from 'react';\nimport { useDialogTrigger_unstable } from './useDialogTrigger';\nimport { renderDialogTrigger_unstable } from './renderDialogTrigger';\n/**\n * A non-visual component that wraps its child\n * and configures them to be the trigger that will open or close a `Dialog`.\n * This component should only accept one child.\n *\n * This component sole purpose is to avoid opting out of the internal controlled open state of a `Dialog`\n * Besides being a trigger that opens/close a dialog through context this component doesn't do much,\n * making it basically unnecessary in cases where the trigger is outside of the `Dialog` component.\n */ export const DialogTrigger = (props)=>{\n const state = useDialogTrigger_unstable(props);\n return renderDialogTrigger_unstable(state);\n};\nDialogTrigger.displayName = 'DialogTrigger';\n// type casting here is required to ensure internal type FluentTriggerComponent is not leaked\nDialogTrigger.isFluentTriggerComponent = true;\n","/**\n * Render the final JSX of MenuTrigger\n *\n * Only renders children\n */ export const renderDialogTrigger_unstable = (state)=>state.children;\n","import { __resetStyles, __styles, mergeClasses, shorthands } 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(\"rztv7rx\", \"rt0yqbx\", [\".rztv7rx{font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase500);font-weight:var(--fontWeightSemibold);line-height:var(--lineHeightBase500);margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;grid-row-start:1;grid-row-end:1;grid-column-start:1;grid-column-end:3;}\", \".rt0yqbx{font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase500);font-weight:var(--fontWeightSemibold);line-height:var(--lineHeightBase500);margin-top:0;margin-left:0;margin-bottom:0;margin-right: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(\"r51tj\", \"rgre5d\", {\n r: [\".r51tj{overflow-x:visible;overflow-y:visible;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-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;}\", \".r51tj:focus{outline-style:none;}\", \".r51tj:focus-visible{outline-style:none;}\", \".r51tj[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".r51tj[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-width:2px;border-right-width:2px;border-bottom-width:2px;border-left-width:2px;border-bottom-right-radius:var(--borderRadiusMedium);border-bottom-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);border-top-color:var(--colorStrokeFocus2);border-right-color:var(--colorStrokeFocus2);border-bottom-color:var(--colorStrokeFocus2);border-left-color:var(--colorStrokeFocus2);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".rgre5d{overflow-x:visible;overflow-y:visible;padding-top:0;padding-left:0;padding-bottom:0;padding-right:0;border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-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;}\", \".rgre5d:focus{outline-style:none;}\", \".rgre5d:focus-visible{outline-style:none;}\", \".rgre5d[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".rgre5d[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border-top-style:solid;border-left-style:solid;border-bottom-style:solid;border-right-style:solid;border-top-width:2px;border-left-width:2px;border-bottom-width:2px;border-right-width:2px;border-bottom-left-radius:var(--borderRadiusMedium);border-bottom-right-radius:var(--borderRadiusMedium);border-top-left-radius:var(--borderRadiusMedium);border-top-right-radius:var(--borderRadiusMedium);border-top-color:var(--colorStrokeFocus2);border-left-color:var(--colorStrokeFocus2);border-bottom-color:var(--colorStrokeFocus2);border-right-color:var(--colorStrokeFocus2);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n s: [\"@media (forced-colors: active){.r51tj[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){.rgre5d[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 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};\n//# sourceMappingURL=useDialogTitleStyles.styles.js.map","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","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useDialogContext_unstable } from '../../contexts/dialogContext';\nimport { Dismiss20Regular } from '@fluentui/react-icons';\nimport { DialogTrigger } from '../DialogTrigger/DialogTrigger';\nimport { useDialogTitleInternalStyles } from './useDialogTitleStyles.styles';\n/**\n * Create the state required to render DialogTitle.\n *\n * The returned state can be modified with hooks such as useDialogTitleStyles_unstable,\n * before being passed to renderDialogTitle_unstable.\n *\n * @param props - props from this instance of DialogTitle\n * @param ref - reference to root HTMLElement of DialogTitle\n */ export const useDialogTitle_unstable = (props, ref)=>{\n const { action } = props;\n const modalType = useDialogContext_unstable((ctx)=>ctx.modalType);\n const internalStyles = useDialogTitleInternalStyles();\n return {\n components: {\n root: 'h2',\n action: 'div'\n },\n root: slot.always(getIntrinsicElementProps('h2', {\n ref,\n id: useDialogContext_unstable((ctx)=>ctx.dialogTitleId),\n ...props\n }), {\n elementType: 'h2'\n }),\n action: slot.optional(action, {\n renderByDefault: modalType === 'non-modal',\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(DialogTrigger, {\n disableButtonEnhancement: true,\n action: \"close\"\n }, /*#__PURE__*/ React.createElement(\"button\", {\n type: \"button\",\n className: internalStyles,\n // TODO: find a better way to add internal labels\n \"aria-label\": \"close\"\n }, /*#__PURE__*/ React.createElement(Dismiss20Regular, null)))\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 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 } 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 { __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 * as React from 'react';\n/**\n * @internal\n */ const defaultContextValue = undefined;\n// Contexts should default to undefined\n/**\n * @internal\n */ export const DialogTransitionContext = React.createContext(undefined);\n/**\n * @internal\n */ export const DialogTransitionProvider = DialogTransitionContext.Provider;\n/**\n * @internal\n */ export const useDialogTransitionContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(DialogTransitionContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultContextValue;\n};\n","import * as React from 'react';\nimport { useEventCallback, useMergedRefs, isResolvedShorthand, slot, getIntrinsicElementProps } from '@fluentui/react-utilities';\nimport { useDialogContext_unstable } from '../../contexts';\nimport { Escape } from '@fluentui/keyboard-keys';\nimport { useDialogTransitionContext_unstable } from '../../contexts/dialogTransitionContext';\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 modalType = useDialogContext_unstable((ctx)=>ctx.modalType);\n const isNestedDialog = useDialogContext_unstable((ctx)=>ctx.isNestedDialog);\n const transitionStatus = useDialogTransitionContext_unstable();\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 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 return {\n components: {\n backdrop: 'div',\n root: 'div'\n },\n backdrop,\n isNestedDialog,\n transitionStatus,\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, dialogRef)\n }), {\n elementType: 'div'\n })\n };\n};\n","import { __styles } from '@griffel/react';\nexport const usePortalMountNodeStylesStyles = /*#__PURE__*/__styles({\n root: {\n qhf8xq: \"f1euv43f\",\n Bhzewxz: \"f15twtuk\",\n oyh7mz: [\"f1vgc2s3\", \"f1e31b4d\"],\n j35jbq: [\"f1e31b4d\", \"f1vgc2s3\"],\n Bj3rh1h: \"f494woh\"\n }\n}, {\n d: [\".f1euv43f{position:absolute;}\", \".f15twtuk{top:0;}\", \".f1vgc2s3{left:0;}\", \".f1e31b4d{right:0;}\", \".f494woh{z-index:1000000;}\"]\n});\n//# sourceMappingURL=usePortalMountNodeStyles.styles.js.map","import * as React from 'react';\nimport { useThemeClassName_unstable as useThemeClassName, useFluent_unstable as useFluent, usePortalMountNode as usePortalMountNodeContext } from '@fluentui/react-shared-contexts';\nimport { mergeClasses } from '@griffel/react';\nimport { useFocusVisible } from '@fluentui/react-tabster';\nimport { useDisposable } from 'use-disposable';\nimport { usePortalMountNodeStylesStyles } from './usePortalMountNodeStyles.styles';\nconst useInsertionEffect = React['useInsertion' + 'Effect'];\n/**\n * Creates a new element on a \"document.body\" to mount portals.\n */ export const usePortalMountNode = (options)=>{\n const { targetDocument, dir } = useFluent();\n const mountNode = usePortalMountNodeContext();\n const focusVisibleRef = useFocusVisible();\n const classes = usePortalMountNodeStylesStyles();\n const themeClassName = useThemeClassName();\n const className = mergeClasses(themeClassName, classes.root, options.className);\n const targetNode = mountNode !== null && mountNode !== void 0 ? mountNode : targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.body;\n const element = useDisposable(()=>{\n if (targetNode === undefined || options.disabled) {\n return [\n null,\n ()=>null\n ];\n }\n const newElement = targetNode.ownerDocument.createElement('div');\n targetNode.appendChild(newElement);\n return [\n newElement,\n ()=>newElement.remove()\n ];\n }, [\n targetNode\n ]);\n if (useInsertionEffect) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useInsertionEffect(()=>{\n if (!element) {\n return;\n }\n const classesToApply = className.split(' ').filter(Boolean);\n element.classList.add(...classesToApply);\n element.setAttribute('dir', dir);\n focusVisibleRef.current = element;\n return ()=>{\n element.classList.remove(...classesToApply);\n element.removeAttribute('dir');\n };\n }, [\n className,\n dir,\n element,\n focusVisibleRef\n ]);\n } else {\n // This useMemo call is intentional for React 17\n // We don't want to re-create the portal element when its attributes change.\n // This also should not be done in an effect because, changing the value of css variables\n // after initial mount can trigger interesting CSS side effects like transitions.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useMemo(()=>{\n if (!element) {\n return;\n }\n // Force replace all classes\n element.className = className;\n element.setAttribute('dir', dir);\n focusVisibleRef.current = element;\n }, [\n className,\n dir,\n element,\n focusVisibleRef\n ]);\n }\n return element;\n};\n","import { setVirtualParent } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { toMountNodeProps } from '../../utils/toMountNodeProps';\nimport { usePortalMountNode } from './usePortalMountNode';\n/**\n * Create the state required to render Portal.\n *\n * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal_unstable.\n *\n * @param props - props from this instance of Portal\n */ export const usePortal_unstable = (props)=>{\n const { element, className } = toMountNodeProps(props.mountNode);\n const virtualParentRootRef = React.useRef(null);\n const fallbackElement = usePortalMountNode({\n disabled: !!element,\n className\n });\n const mountNode = element !== null && element !== void 0 ? element : fallbackElement;\n const state = {\n children: props.children,\n mountNode,\n virtualParentRootRef\n };\n React.useEffect(()=>{\n if (!mountNode) {\n return;\n }\n const virtualParent = virtualParentRootRef.current;\n // By default, we create a mount node for portal on `document.body` (see usePortalMountNode()) and have following structure:\n //\n //
\n // \n //