{"version":3,"file":"static/js/8437_a052d0498507a596e90d.js","mappings":"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A,YACA,YACA,YACA,eACA,iBACA,YACA,UACA,iBACA,gBACA,gBACA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SACA,cACA,qBACA,eACA,eACA,cACA,aACA,cACA,YACA,mBACA,WACA,gBACA,aACA,cACA,eACA,WACA,UACA,kBACA,gBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,sBACA,yBAMaK,EAAwBL,EAAY,CACjD,YACA,WACA,YACA,kBACA,MACA,YACA,SACA,UACA,KACA,OACA,MACA,OACA,QACA,WACA,QACA,YACA,aACA,SAMaM,EAAsBN,EAAY,CAC/C,SACA,WACA,UACA,YACA,aAMaO,EAAwBP,EAAYK,EAAuBD,EAAmBE,GAK9EE,EAAkBR,EAAYO,EAAuB,CAClE,SAMaE,EAAkBT,EAAYO,EAAuB,CAClE,SACA,OACA,QACA,UACA,MACA,UAMaG,EAAkBV,EAAYS,EAAiB,CAC5D,WAMaE,EAAeX,EAAYO,EAAuB,CAC/D,UAMaK,EAAeZ,EAAYO,EAAuB,CAC/D,UAMaM,EAAmBb,EAAYO,EAAuB,CACnE,WACA,OACA,WACA,QACA,MACA,SACA,SAMaO,EAAiBd,EAAYO,EAAuB,CACjE,aAMaQ,EAAmBf,EAAYO,EAAuB,CACnE,YACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,UClNJ,MAAMS,EAAmB,CACrBC,MAAOT,EACPU,MAAOT,EACPU,MAAOT,EACPU,GAAIT,EACJU,GAAIT,EACJz8B,EAAG08B,EACHS,OAAQP,EACRQ,MDgN+BvB,EAAYe,EAAkB,CAC7D,SACA,MACA,iBACA,eACA,UACA,UACA,OACA,SACA,YACA,OACA,MACA,YACA,MACA,WACA,UACA,cACA,WACA,WACA,MACA,OACA,OACA,OACA,QACA,UCvOAS,SD6OkCxB,EAAYe,EAAkB,CAChE,iBACA,OACA,UACA,OACA,YACA,cACA,WACA,WACA,OACA,SCtPAU,OD4PgCzB,EAAYe,EAAkB,CAC9D,OACA,WACA,aC9PAW,ODgQ4B1B,EAAYO,EAAuB,CAC/D,WACA,UCjQAoB,MDuQ+B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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/usePositioningMouseTarget.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/resolvePositioningShorthand.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/useCallbackRef.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/normalizeAutoSize.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/getScrollParent.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/toFloatingUIPlacement.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/getBoundary.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/toFloatingUIPadding.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/middleware/maxSize.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/middleware/matchTargetSize.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/parseFloatingUIPlacement.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/fromFloatingUIPlacement.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/middleware/offset.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/getFloatingUIOffset.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/middleware/coverTarget.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/middleware/flip.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/middleware/shift.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/middleware/intersecting.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/constants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/listScrollParents.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/createPositionManager.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/createResizeObserver.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/writeArrowUpdates.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/writeContainerupdates.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/utils/debounce.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/usePositioning.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useOnClickOutside.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/Menu/useMenu.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-positioning@9.16.1_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-positioning/lib/createVirtualElementFromClick.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useOnScrollOutside.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useFirstMount.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/Menu/renderMenu.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/Menu/Menu.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/Menu/useMenuContextValues.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuItem/useMenuItem.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuItem/useCharacterSearch.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/selectable/useCheckmarkStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuItem/useMenuItemStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuItem/MenuItem.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuItem/renderMenuItem.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuList.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuListStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuList/MenuList.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuListContextValues.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuList/renderMenuList.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuPopover/useMenuPopover.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/hooks/useRestoreFocus.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuPopover/useMenuPopoverStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/virtualParent/setVirtualParent.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-shared-contexts@9.21.2_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-shared-contexts/lib/PortalMountNodeContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-portal@9.4.41_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-portal/lib/components/Portal/usePortalMountNodeStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-portal@9.4.41_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-portal/lib/components/Portal/usePortalMountNode.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-portal@9.4.41_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-portal/lib/components/Portal/usePortal.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-portal@9.4.41_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-portal/lib/utils/toMountNodeProps.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-portal@9.4.41_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-portal/lib/components/Portal/renderPortal.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-portal@9.4.41_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-portal/lib/components/Portal/Portal.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuPopover/MenuPopover.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuPopover/renderMenuPopover.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/trigger/isFluentTrigger.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/trigger/getTriggerChild.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/trigger/applyTriggerPropsToChildren.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuTrigger/useMenuTrigger.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuTrigger/renderMenuTrigger.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/components/MenuTrigger/MenuTrigger.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/contexts/menuContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/contexts/menuListContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/contexts/menuTriggerContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/utils/useIsSubmenu.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-menu@9.14.25_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-menu/lib/utils/useOnMenuEnter.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-popover@9.9.30_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-popover/lib/popoverContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-portal-compat-context@9.0.13_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-portal-compat-context/lib/PortalCompatContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-progress@9.1.95_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-progress/lib/components/ProgressBar/useProgressBarStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-progress@9.1.95_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-progress/lib/components/ProgressBar/ProgressBar.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-progress@9.1.95_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-progress/lib/components/ProgressBar/useProgressBar.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-progress@9.1.95_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-progress/lib/utils/clampMax.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-progress@9.1.95_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-progress/lib/utils/clampValue.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-progress@9.1.95_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-progress/lib/components/ProgressBar/renderProgressBar.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-shared-contexts@9.21.2_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-shared-contexts/lib/ThemeContext/ThemeContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-shared-contexts@9.21.2_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-shared-contexts/lib/TooltipVisibilityContext/TooltipContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-shared-contexts@9.21.2_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-shared-contexts/lib/OverridesContext/OverridesContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-provider@9.18.3_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-provider@9.18.3_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderThemeStyleTag.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-provider@9.18.3_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-provider/lib/components/FluentProvider/createCSSRuleFromTheme.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-provider@9.18.3_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProvider.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-provider@9.18.3_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-provider/lib/components/FluentProvider/FluentProvider.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-provider@9.18.3_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderContextValues.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-provider@9.18.3_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-provider/lib/components/FluentProvider/renderFluentProvider.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-shared-contexts@9.21.2_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-shared-contexts/lib/CustomStyleHooksContext/CustomStyleHooksContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-shared-contexts@9.21.2_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-shared-contexts/lib/ProviderContext/ProviderContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-shared-contexts@9.21.2_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-shared-contexts/lib/ThemeClassNameContext/ThemeClassNameContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/focus/constants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/focus/createCustomFocusIndicatorStyle.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/focus/createFocusOutlineStyle.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/hooks/useArrowNavigationGroup.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/hooks/useFocusFinders.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/focus/focusVisiblePolyfill.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/hooks/useFocusVisible.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/focus/focusWithinPolyfill.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/hooks/useFocusWithin.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/hooks/useFocusableGroup.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/hooks/useTabster.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-tabster@9.23.2_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-tabster/lib/hooks/useTabsterAttributes.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-text@9.4.31_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-text/lib/components/Text/useTextStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-text@9.4.31_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-text/lib/components/Text/Text.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-text@9.4.31_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-text/lib/components/Text/useText.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-text@9.4.31_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react-text/lib/components/Text/renderText.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/Toolbar/useToolbar.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/Toolbar/ToolbarContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/Toolbar/useToolbarStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/Toolbar/Toolbar.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/Toolbar/useToolbarContextValues.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/Toolbar/renderToolbar.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/ToolbarButton/useToolbarButtonStyles.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/ToolbarButton/ToolbarButton.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-toolbar@9.2.14_mgknbt46f4ehxiy35jquon5gmq/node_modules/@fluentui/react-toolbar/lib/components/ToolbarButton/useToolbarButton.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/compose/assertSlots.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/compose/constants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/compose/getIntrinsicElementProps.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/compose/isSlot.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/compose/slot.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useControllableState.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useEventCallback.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/ssr/SSRContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useId.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useIsomorphicLayoutEffect.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useMergedRefs.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useTimeout.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/hooks/useBrowserTimer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/ssr/canUseDOM.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/utils/properties.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/utils/getNativeElementProps.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/utils/isHTMLElement.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/utils/mergeCallbacks.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/virtualParent/elementContains.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/virtualParent/getParent.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-utilities@9.18.19_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-utilities/lib/virtualParent/isVirtualElement.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react-window-provider@2.2.28_z4qn5m62jnw5xrigtnmlk62un4/node_modules/@fluentui/react-window-provider/lib/WindowProvider.js"],"sourcesContent":["import * as React from 'react';\nimport { createVirtualElementFromClick } from './createVirtualElementFromClick';\n/**\n * @internal\n * A state hook that manages a popper virtual element from mouseevents.\n * Useful for scenarios where a component needs to be positioned by mouse click (e.g. contextmenu)\n * React synthetic events are not persisted by this hook\n *\n * @param initialState - initializes a user provided state similare to useState\n * @returns state and dispatcher for a Popper virtual element that uses native/synthetic mouse events\n */ export const usePositioningMouseTarget = (initialState)=>{\n const [virtualElement, setVirtualElement] = React.useState(initialState);\n const setVirtualMouseTarget = (event)=>{\n if (event === undefined || event === null) {\n setVirtualElement(undefined);\n return;\n }\n let mouseevent;\n if (!(event instanceof MouseEvent)) {\n mouseevent = event.nativeEvent;\n } else {\n mouseevent = event;\n }\n if (!(mouseevent instanceof MouseEvent) && process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('usePositioningMouseTarget should only be used with MouseEvent');\n }\n const contextTarget = createVirtualElementFromClick(mouseevent);\n setVirtualElement(contextTarget);\n };\n return [\n virtualElement,\n setVirtualMouseTarget\n ];\n};\n","// Look up table for shorthand to avoid parsing strings\nconst shorthandLookup = {\n above: {\n position: 'above',\n align: 'center'\n },\n 'above-start': {\n position: 'above',\n align: 'start'\n },\n 'above-end': {\n position: 'above',\n align: 'end'\n },\n below: {\n position: 'below',\n align: 'center'\n },\n 'below-start': {\n position: 'below',\n align: 'start'\n },\n 'below-end': {\n position: 'below',\n align: 'end'\n },\n before: {\n position: 'before',\n align: 'center'\n },\n 'before-top': {\n position: 'before',\n align: 'top'\n },\n 'before-bottom': {\n position: 'before',\n align: 'bottom'\n },\n after: {\n position: 'after',\n align: 'center'\n },\n 'after-top': {\n position: 'after',\n align: 'top'\n },\n 'after-bottom': {\n position: 'after',\n align: 'bottom'\n }\n};\nexport function resolvePositioningShorthand(shorthand) {\n if (shorthand === undefined || shorthand === null) {\n return {};\n }\n if (typeof shorthand === 'string') {\n return shorthandLookup[shorthand];\n }\n return shorthand;\n}\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\n/**\n * Creates a MutableRef with ref change callback. Is useful as React.useRef() doesn't notify you when its content\n * changes and mutating the .current property doesn't cause a re-render. An opt-out will be use a callback ref via\n * React.useState(), but it will cause re-renders always.\n *\n * https://reactjs.org/docs/hooks-reference.html#useref\n * https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n *\n * @param initialValue - initial ref value\n * @param callback - a callback to run when value changes\n * @param skipInitialResolve - a flag to skip an initial ref report\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n */ export function useCallbackRef(initialValue, callback, skipInitialResolve) {\n const isFirst = React.useRef(true);\n const [ref] = React.useState(()=>({\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current () {\n return ref.value;\n },\n set current (value){\n const last = ref.value;\n if (last !== value) {\n ref.value = value;\n if (skipInitialResolve && isFirst.current) {\n return;\n }\n ref.callback(value, last);\n }\n }\n }\n }));\n useIsomorphicLayoutEffect(()=>{\n isFirst.current = false;\n }, []);\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * AutoSizes contains many options from historic implementation.\n * Now options 'always'/'height-always'/'width-always' are obsolete.\n * This function maps them to true/'height'/'width'\n */ export const normalizeAutoSize = (autoSize)=>{\n switch(autoSize){\n case 'always':\n case true:\n return {\n applyMaxWidth: true,\n applyMaxHeight: true\n };\n case 'width-always':\n case 'width':\n return {\n applyMaxWidth: true,\n applyMaxHeight: false\n };\n case 'height-always':\n case 'height':\n return {\n applyMaxWidth: false,\n applyMaxHeight: true\n };\n default:\n return false;\n }\n};\n","/**\n * Returns the parent node or the host of the node argument.\n * @param node - DOM node.\n * @returns - parent DOM node.\n */ export const getParentNode = (node)=>{\n if (node.nodeName === 'HTML') {\n return node;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node.parentNode || node.host;\n};\n/**\n * Returns CSS styles of the given node.\n * @param node - DOM node.\n * @returns - CSS styles.\n */ const getStyleComputedProperty = (node)=>{\n var _node_ownerDocument;\n if (node.nodeType !== 1) {\n return {};\n }\n const window = (_node_ownerDocument = node.ownerDocument) === null || _node_ownerDocument === void 0 ? void 0 : _node_ownerDocument.defaultView;\n return window.getComputedStyle(node, null);\n};\n/**\n * Returns the first scrollable parent of the given element.\n * @param node - DOM node.\n * @returns - the first scrollable parent.\n */ export const getScrollParent = (node)=>{\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n const parentNode = node && getParentNode(node);\n // eslint-disable-next-line\n if (!parentNode) return document.body;\n switch(parentNode.nodeName){\n case 'HTML':\n case 'BODY':\n return parentNode.ownerDocument.body;\n case '#document':\n return parentNode.body;\n }\n // If any of the overflow props is defined for the node then we return it as the parent\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(parentNode);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return parentNode;\n }\n return getScrollParent(parentNode);\n};\nexport const hasScrollParent = (node)=>{\n var _scrollParentElement_ownerDocument;\n const scrollParentElement = getScrollParent(node);\n return scrollParentElement ? scrollParentElement !== ((_scrollParentElement_ownerDocument = scrollParentElement.ownerDocument) === null || _scrollParentElement_ownerDocument === void 0 ? void 0 : _scrollParentElement_ownerDocument.body) : false;\n};\n","const getPositionMap = (rtl)=>({\n above: 'top',\n below: 'bottom',\n before: rtl ? 'right' : 'left',\n after: rtl ? 'left' : 'right'\n });\n// Floating UI automatically flips alignment\n// https://github.com/floating-ui/floating-ui/issues/1563\nconst getAlignmentMap = ()=>({\n start: 'start',\n end: 'end',\n top: 'start',\n bottom: 'end',\n center: undefined\n });\nconst shouldAlignToCenter = (p, a)=>{\n const positionedVertically = p === 'above' || p === 'below';\n const alignedVertically = a === 'top' || a === 'bottom';\n return positionedVertically && alignedVertically || !positionedVertically && !alignedVertically;\n};\n/**\n * Maps internal positioning values to Floating UI placement\n * @see positioningHelper.test.ts for expected placement values\n */ export const toFloatingUIPlacement = (align, position, rtl)=>{\n const alignment = shouldAlignToCenter(position, align) ? 'center' : align;\n const computedPosition = position && getPositionMap(rtl)[position];\n const computedAlignment = alignment && getAlignmentMap()[alignment];\n if (computedPosition && computedAlignment) {\n return `${computedPosition}-${computedAlignment}`;\n }\n return computedPosition;\n};\n","import { getScrollParent } from './getScrollParent';\n/**\n * Allows to mimic a behavior from V1 of Popper and accept `window` and `scrollParent` as strings.\n */ export function getBoundary(element, boundary) {\n if (boundary === 'window') {\n return element === null || element === void 0 ? void 0 : element.ownerDocument.documentElement;\n }\n if (boundary === 'clippingParents') {\n return 'clippingAncestors';\n }\n if (boundary === 'scrollParent') {\n let boundariesNode = getScrollParent(element);\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = element === null || element === void 0 ? void 0 : element.ownerDocument.documentElement;\n }\n return boundariesNode;\n }\n return boundary;\n}\n","export function toFloatingUIPadding(padding, isRtl) {\n if (typeof padding === 'number') {\n return padding;\n }\n const { start, end, ...verticalPadding } = padding;\n const paddingObject = verticalPadding;\n const left = isRtl ? 'end' : 'start';\n const right = isRtl ? 'start' : 'end';\n // assign properties explicitly since undefined values are actually handled by floating UI\n // TODO create floating UI issue\n if (padding[left]) {\n paddingObject.left = padding[left];\n }\n if (padding[right]) {\n paddingObject.right = padding[right];\n }\n return paddingObject;\n}\n","import { size } from '@floating-ui/dom';\nimport { getBoundary } from '../utils/getBoundary';\nimport { toFloatingUIPadding } from '../utils';\n/**\n * floating-ui `size` middleware uses floating element's height/width to calculate available height/width.\n * This middleware only runs once per lifecycle, resetting styles applied by maxSize from previous lifecycle.\n * Then floating element's original size is restored and `size` middleware can calculate available height/width correctly.\n */ export const resetMaxSize = (autoSize)=>({\n name: 'resetMaxSize',\n fn ({ middlewareData, elements }) {\n var _middlewareData_resetMaxSize;\n if ((_middlewareData_resetMaxSize = middlewareData.resetMaxSize) === null || _middlewareData_resetMaxSize === void 0 ? void 0 : _middlewareData_resetMaxSize.maxSizeAlreadyReset) {\n return {};\n }\n const { applyMaxWidth, applyMaxHeight } = autoSize;\n if (applyMaxWidth) {\n elements.floating.style.removeProperty('box-sizing');\n elements.floating.style.removeProperty('max-width');\n elements.floating.style.removeProperty('width');\n }\n if (applyMaxHeight) {\n elements.floating.style.removeProperty('box-sizing');\n elements.floating.style.removeProperty('max-height');\n elements.floating.style.removeProperty('height');\n }\n return {\n data: {\n maxSizeAlreadyReset: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\nexport function maxSize(autoSize, options) {\n const { container, overflowBoundary, overflowBoundaryPadding, isRtl } = options;\n return size({\n ...overflowBoundaryPadding && {\n padding: toFloatingUIPadding(overflowBoundaryPadding, isRtl)\n },\n ...overflowBoundary && {\n altBoundary: true,\n boundary: getBoundary(container, overflowBoundary)\n },\n apply ({ availableHeight, availableWidth, elements, rects }) {\n const applyMaxSizeStyles = (apply, dimension, availableSize)=>{\n if (!apply) {\n return;\n }\n elements.floating.style.setProperty('box-sizing', 'border-box');\n elements.floating.style.setProperty(`max-${dimension}`, `${availableSize}px`);\n if (rects.floating[dimension] > availableSize) {\n elements.floating.style.setProperty(dimension, `${availableSize}px`);\n const axis = dimension === 'width' ? 'x' : 'y';\n if (!elements.floating.style.getPropertyValue(`overflow-${axis}`)) {\n elements.floating.style.setProperty(`overflow-${axis}`, 'auto');\n }\n }\n };\n const { applyMaxWidth, applyMaxHeight } = autoSize;\n applyMaxSizeStyles(applyMaxWidth, 'width', availableWidth);\n applyMaxSizeStyles(applyMaxHeight, 'height', availableHeight);\n }\n });\n}\n","export const matchTargetSizeCssVar = '--fui-match-target-size';\nexport function matchTargetSize() {\n return {\n name: 'matchTargetSize',\n fn: async (middlewareArguments)=>{\n const { rects: { reference: referenceRect, floating: floatingRect }, elements: { floating: floatingElement }, middlewareData: { matchTargetSize: { matchTargetSizeAttempt = false } = {} } } = middlewareArguments;\n if (referenceRect.width === floatingRect.width || matchTargetSizeAttempt) {\n return {};\n }\n const { width } = referenceRect;\n floatingElement.style.setProperty(matchTargetSizeCssVar, `${width}px`);\n if (!floatingElement.style.width) {\n floatingElement.style.width = `var(${matchTargetSizeCssVar})`;\n }\n return {\n data: {\n matchTargetSizeAttempt: true\n },\n reset: {\n rects: true\n }\n };\n }\n };\n}\n","/**\n * Parses Floating UI placement and returns the different components\n * @param placement - the floating ui placement (i.e. bottom-start)\n *\n * @returns side and alignment components of the placement\n */ export function parseFloatingUIPlacement(placement) {\n const tokens = placement.split('-');\n return {\n side: tokens[0],\n alignment: tokens[1]\n };\n}\n","import { parseFloatingUIPlacement } from './parseFloatingUIPlacement';\nconst getPositionMap = ()=>({\n top: 'above',\n bottom: 'below',\n right: 'after',\n left: 'before'\n });\n// Floating UI automatically flips alignment\n// https://github.com/floating-ui/floating-ui/issues/1563\nconst getAlignmentMap = (position)=>{\n if (position === 'above' || position === 'below') {\n return {\n start: 'start',\n end: 'end'\n };\n }\n return {\n start: 'top',\n end: 'bottom'\n };\n};\n/**\n * Maps Floating UI placement to positioning values\n * @see positioningHelper.test.ts for expected placement values\n */ export const fromFloatingUIPlacement = (placement)=>{\n const { side, alignment: floatingUIAlignment } = parseFloatingUIPlacement(placement);\n const position = getPositionMap()[side];\n const alignment = floatingUIAlignment && getAlignmentMap(position)[floatingUIAlignment];\n return {\n position,\n alignment\n };\n};\n","import { offset as baseOffset } from '@floating-ui/dom';\nimport { getFloatingUIOffset } from '../utils/getFloatingUIOffset';\n/**\n * Wraps floating UI offset middleware to to transform offset value\n */ export function offset(offsetValue) {\n const floatingUIOffset = getFloatingUIOffset(offsetValue);\n return baseOffset(floatingUIOffset);\n}\n","import { fromFloatingUIPlacement } from './fromFloatingUIPlacement';\n/**\n * Shim to transform offset values from this library to Floating UI\n * @param rawOffset Offset from this library\n * @returns An offset value compatible with Floating UI\n */ export function getFloatingUIOffset(rawOffset) {\n if (!rawOffset) {\n return rawOffset;\n }\n if (typeof rawOffset === 'number' || typeof rawOffset === 'object') {\n return rawOffset;\n }\n return ({ rects: { floating, reference }, placement })=>{\n const { position, alignment } = fromFloatingUIPlacement(placement);\n return rawOffset({\n positionedRect: floating,\n targetRect: reference,\n position,\n alignment\n });\n };\n}\n","import { parseFloatingUIPlacement } from '../utils/index';\nexport function coverTarget() {\n return {\n name: 'coverTarget',\n fn: (middlewareArguments)=>{\n const { placement, rects, x, y } = middlewareArguments;\n const basePlacement = parseFloatingUIPlacement(placement).side;\n const newCoords = {\n x,\n y\n };\n switch(basePlacement){\n case 'bottom':\n newCoords.y -= rects.reference.height;\n break;\n case 'top':\n newCoords.y += rects.reference.height;\n break;\n case 'left':\n newCoords.x += rects.reference.width;\n break;\n case 'right':\n newCoords.x -= rects.reference.width;\n break;\n }\n return newCoords;\n }\n };\n}\n","import { flip as baseFlip } from '@floating-ui/dom';\nimport { getBoundary, resolvePositioningShorthand, toFloatingUIPlacement } from '../utils/index';\nexport function flip(options) {\n const { hasScrollableElement, flipBoundary, container, fallbackPositions = [], isRtl } = options;\n const fallbackPlacements = fallbackPositions.reduce((acc, shorthand)=>{\n const { position, align } = resolvePositioningShorthand(shorthand);\n const placement = toFloatingUIPlacement(align, position, isRtl);\n if (placement) {\n acc.push(placement);\n }\n return acc;\n }, []);\n return baseFlip({\n ...hasScrollableElement && {\n boundary: 'clippingAncestors'\n },\n ...flipBoundary && {\n altBoundary: true,\n boundary: getBoundary(container, flipBoundary)\n },\n fallbackStrategy: 'bestFit',\n ...fallbackPlacements.length && {\n fallbackPlacements\n }\n });\n}\n","import { shift as baseShift, limitShift } from '@floating-ui/dom';\nimport { getBoundary, toFloatingUIPadding } from '../utils/index';\n/**\n * Wraps the floating UI shift middleware for easier usage of our options\n */ export function shift(options) {\n const { hasScrollableElement, shiftToCoverTarget, disableTether, overflowBoundary, container, overflowBoundaryPadding, isRtl } = options;\n return baseShift({\n ...hasScrollableElement && {\n boundary: 'clippingAncestors'\n },\n ...shiftToCoverTarget && {\n crossAxis: true,\n limiter: limitShift({\n crossAxis: true,\n mainAxis: false\n })\n },\n ...disableTether && {\n crossAxis: disableTether === 'all',\n limiter: limitShift({\n crossAxis: disableTether !== 'all',\n mainAxis: false\n })\n },\n ...overflowBoundaryPadding && {\n padding: toFloatingUIPadding(overflowBoundaryPadding, isRtl)\n },\n ...overflowBoundary && {\n altBoundary: true,\n boundary: getBoundary(container, overflowBoundary)\n }\n });\n}\n","import { detectOverflow } from '@floating-ui/dom';\nexport function intersecting() {\n return {\n name: 'intersectionObserver',\n fn: async (middlewareArguments)=>{\n const floatingRect = middlewareArguments.rects.floating;\n const altOverflow = await detectOverflow(middlewareArguments, {\n altBoundary: true\n });\n const isIntersectingTop = altOverflow.top < floatingRect.height && altOverflow.top > 0;\n const isIntersectingBottom = altOverflow.bottom < floatingRect.height && altOverflow.bottom > 0;\n const isIntersecting = isIntersectingTop || isIntersectingBottom;\n return {\n data: {\n intersecting: isIntersecting\n }\n };\n }\n };\n}\n","export const DATA_POSITIONING_INTERSECTING = 'data-popper-is-intersecting';\nexport const DATA_POSITIONING_ESCAPED = 'data-popper-escaped';\nexport const DATA_POSITIONING_HIDDEN = 'data-popper-reference-hidden';\nexport const DATA_POSITIONING_PLACEMENT = 'data-popper-placement';\nexport const POSITIONING_END_EVENT = 'fui-positioningend';\n","import { getScrollParent } from './getScrollParent';\nexport function listScrollParents(node) {\n const scrollParents = [];\n let cur = node;\n while(cur){\n const scrollParent = getScrollParent(cur);\n if (node.ownerDocument.body === scrollParent) {\n scrollParents.push(scrollParent);\n break;\n }\n if (scrollParent.nodeName === 'BODY' && scrollParent !== node.ownerDocument.body) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('@fluentui/react-positioning: You are comparing two different documents! This is an unexpected error, please report this as a bug to the Fluent UI team ');\n }\n break;\n }\n scrollParents.push(scrollParent);\n cur = scrollParent;\n }\n return scrollParents;\n}\n","import { computePosition } from '@floating-ui/dom';\nimport { isHTMLElement } from '@fluentui/react-utilities';\nimport { debounce, writeArrowUpdates, writeContainerUpdates } from './utils';\nimport { listScrollParents } from './utils/listScrollParents';\nimport { POSITIONING_END_EVENT } from './constants';\nimport { createResizeObserver } from './utils/createResizeObserver';\n/**\n * @internal\n * @returns manager that handles positioning out of the react lifecycle\n */ export function createPositionManager(options) {\n let isDestroyed = false;\n const { container, target, arrow, strategy, middleware, placement, useTransform = true, disableUpdateOnResize = false } = options;\n const targetWindow = container.ownerDocument.defaultView;\n if (!target || !container || !targetWindow) {\n return {\n updatePosition: ()=>undefined,\n dispose: ()=>undefined\n };\n }\n // When the dimensions of the target or the container change - trigger a position update\n const resizeObserver = disableUpdateOnResize ? null : createResizeObserver(targetWindow, (entries)=>{\n // If content rect dimensions to go 0 -> very likely that `display: none` is being used to hide the element\n // In this case don't update and let users update imperatively\n const shouldUpdateOnResize = entries.every((entry)=>{\n return entry.contentRect.width > 0 && entry.contentRect.height > 0;\n });\n if (shouldUpdateOnResize) {\n updatePosition();\n }\n });\n let isFirstUpdate = true;\n const scrollParents = new Set();\n // When the container is first resolved, set position `fixed` to avoid scroll jumps.\n // Without this scroll jumps can occur when the element is rendered initially and receives focus\n Object.assign(container.style, {\n position: 'fixed',\n left: 0,\n top: 0,\n margin: 0\n });\n const forceUpdate = ()=>{\n // debounced update can still occur afterwards\n // early return to avoid memory leaks\n if (isDestroyed) {\n return;\n }\n if (isFirstUpdate) {\n listScrollParents(container).forEach((scrollParent)=>scrollParents.add(scrollParent));\n if (isHTMLElement(target)) {\n listScrollParents(target).forEach((scrollParent)=>scrollParents.add(scrollParent));\n }\n scrollParents.forEach((scrollParent)=>{\n scrollParent.addEventListener('scroll', updatePosition, {\n passive: true\n });\n });\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(container);\n if (isHTMLElement(target)) {\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(target);\n }\n isFirstUpdate = false;\n }\n Object.assign(container.style, {\n position: strategy\n });\n computePosition(target, container, {\n placement,\n middleware,\n strategy\n }).then(({ x, y, middlewareData, placement: computedPlacement })=>{\n // Promise can still resolve after destruction\n // early return to avoid applying outdated position\n if (isDestroyed) {\n return;\n }\n writeArrowUpdates({\n arrow,\n middlewareData\n });\n writeContainerUpdates({\n container,\n middlewareData,\n placement: computedPlacement,\n coordinates: {\n x,\n y\n },\n lowPPI: ((targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.devicePixelRatio) || 1) <= 1,\n strategy,\n useTransform\n });\n container.dispatchEvent(new CustomEvent(POSITIONING_END_EVENT));\n }).catch((err)=>{\n // https://github.com/floating-ui/floating-ui/issues/1845\n // FIXME for node > 14\n // node 15 introduces promise rejection which means that any components\n // tests need to be `it('', async () => {})` otherwise there can be race conditions with\n // JSDOM being torn down before this promise is resolved so globals like `window` and `document` don't exist\n // Unless all tests that ever use `usePositioning` are turned into async tests, any logging during testing\n // will actually be counter productive\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error('[usePositioning]: Failed to calculate position', err);\n }\n });\n };\n const updatePosition = debounce(()=>forceUpdate());\n const dispose = ()=>{\n isDestroyed = true;\n if (targetWindow) {\n targetWindow.removeEventListener('scroll', updatePosition);\n targetWindow.removeEventListener('resize', updatePosition);\n }\n scrollParents.forEach((scrollParent)=>{\n scrollParent.removeEventListener('scroll', updatePosition);\n });\n scrollParents.clear();\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n if (targetWindow) {\n targetWindow.addEventListener('scroll', updatePosition, {\n passive: true\n });\n targetWindow.addEventListener('resize', updatePosition);\n }\n // Update the position on initialization\n updatePosition();\n return {\n updatePosition,\n dispose\n };\n}\n","export function createResizeObserver(targetWindow, callback) {\n // https://github.com/jsdom/jsdom/issues/3368\n // Add the polyfill here so it is not needed for all unit tests that leverage positioning\n if (process.env.NODE_ENV === 'test') {\n targetWindow.ResizeObserver = class ResizeObserver {\n observe() {\n // do nothing\n }\n unobserve() {\n // do nothing\n }\n disconnect() {\n // do nothing\n }\n };\n }\n return new targetWindow.ResizeObserver(callback);\n}\n","/**\n * Writes all DOM element updates after position is computed\n */ export function writeArrowUpdates(options) {\n const { arrow, middlewareData } = options;\n if (!middlewareData.arrow || !arrow) {\n return;\n }\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n Object.assign(arrow.style, {\n left: arrowX !== null && arrowX !== undefined ? `${arrowX}px` : '',\n top: arrowY !== null && arrowY !== undefined ? `${arrowY}px` : ''\n });\n}\n","import { DATA_POSITIONING_ESCAPED, DATA_POSITIONING_HIDDEN, DATA_POSITIONING_INTERSECTING, DATA_POSITIONING_PLACEMENT } from '../constants';\n/**\n * Writes all container element position updates after the position is computed\n */ export function writeContainerUpdates(options) {\n var _middlewareData_hide, _middlewareData_hide1, _container_ownerDocument_defaultView;\n const { container, placement, middlewareData, strategy, lowPPI, coordinates, useTransform = true } = options;\n if (!container) {\n return;\n }\n container.setAttribute(DATA_POSITIONING_PLACEMENT, placement);\n container.removeAttribute(DATA_POSITIONING_INTERSECTING);\n if (middlewareData.intersectionObserver.intersecting) {\n container.setAttribute(DATA_POSITIONING_INTERSECTING, '');\n }\n container.removeAttribute(DATA_POSITIONING_ESCAPED);\n if ((_middlewareData_hide = middlewareData.hide) === null || _middlewareData_hide === void 0 ? void 0 : _middlewareData_hide.escaped) {\n container.setAttribute(DATA_POSITIONING_ESCAPED, '');\n }\n container.removeAttribute(DATA_POSITIONING_HIDDEN);\n if ((_middlewareData_hide1 = middlewareData.hide) === null || _middlewareData_hide1 === void 0 ? void 0 : _middlewareData_hide1.referenceHidden) {\n container.setAttribute(DATA_POSITIONING_HIDDEN, '');\n }\n // Round so that the coordinates land on device pixels.\n // This prevents blurriness in cases where the browser doesn't apply pixel snapping, such as when other effects like\n // `backdrop-filter: blur()` are applied to the container, and the browser is zoomed in.\n // See https://github.com/microsoft/fluentui/issues/26764 for more info.\n const devicePixelRatio = ((_container_ownerDocument_defaultView = container.ownerDocument.defaultView) === null || _container_ownerDocument_defaultView === void 0 ? void 0 : _container_ownerDocument_defaultView.devicePixelRatio) || 1;\n const x = Math.round(coordinates.x * devicePixelRatio) / devicePixelRatio;\n const y = Math.round(coordinates.y * devicePixelRatio) / devicePixelRatio;\n Object.assign(container.style, {\n position: strategy\n });\n if (useTransform) {\n Object.assign(container.style, {\n transform: lowPPI ? `translate(${x}px, ${y}px)` : `translate3d(${x}px, ${y}px, 0)`\n });\n return;\n }\n Object.assign(container.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n}\n","/**\n * Promise microtask debouncer used by Popper.js v2\n * This is no longer exported in Floating UI (Popper.js v3)\n * https://github.com/floating-ui/floating-ui/blob/v2.x/src/utils/debounce.js\n * @param fn function that will be debounced\n */ export function debounce(fn) {\n let pending;\n return ()=>{\n if (!pending) {\n pending = new Promise((resolve)=>{\n Promise.resolve().then(()=>{\n pending = undefined;\n resolve(fn());\n });\n });\n }\n return pending;\n };\n}\n","import { hide as hideMiddleware, arrow as arrowMiddleware } from '@floating-ui/dom';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { canUseDOM, useEventCallback, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useCallbackRef, toFloatingUIPlacement, hasAutofocusFilter, hasScrollParent, normalizeAutoSize } from './utils';\nimport { shift as shiftMiddleware, flip as flipMiddleware, coverTarget as coverTargetMiddleware, maxSize as maxSizeMiddleware, resetMaxSize as resetMaxSizeMiddleware, offset as offsetMiddleware, intersecting as intersectingMiddleware, matchTargetSize as matchTargetSizeMiddleware } from './middleware';\nimport { createPositionManager } from './createPositionManager';\nimport { devtools } from '@floating-ui/devtools';\nimport { devtoolsCallback } from './utils/devtools';\nimport { POSITIONING_END_EVENT } from './constants';\n/**\n * @internal\n */ export function usePositioning(options) {\n 'use no memo';\n const managerRef = React.useRef(null);\n const targetRef = React.useRef(null);\n const overrideTargetRef = React.useRef(null);\n const containerRef = React.useRef(null);\n const arrowRef = React.useRef(null);\n const { enabled = true } = options;\n const resolvePositioningOptions = usePositioningOptions(options);\n const updatePositionManager = React.useCallback(()=>{\n if (managerRef.current) {\n managerRef.current.dispose();\n }\n managerRef.current = null;\n var _overrideTargetRef_current;\n const target = (_overrideTargetRef_current = overrideTargetRef.current) !== null && _overrideTargetRef_current !== void 0 ? _overrideTargetRef_current : targetRef.current;\n if (enabled && canUseDOM() && target && containerRef.current) {\n managerRef.current = createPositionManager({\n container: containerRef.current,\n target,\n arrow: arrowRef.current,\n ...resolvePositioningOptions(containerRef.current, arrowRef.current)\n });\n }\n }, [\n enabled,\n resolvePositioningOptions\n ]);\n const setOverrideTarget = useEventCallback((target)=>{\n overrideTargetRef.current = target;\n updatePositionManager();\n });\n React.useImperativeHandle(options.positioningRef, ()=>({\n updatePosition: ()=>{\n var _managerRef_current;\n return (_managerRef_current = managerRef.current) === null || _managerRef_current === void 0 ? void 0 : _managerRef_current.updatePosition();\n },\n setTarget: (target)=>{\n if (options.target && process.env.NODE_ENV !== 'production') {\n const err = new Error();\n // eslint-disable-next-line no-console\n console.warn('Imperative setTarget should not be used at the same time as target option');\n // eslint-disable-next-line no-console\n console.warn(err.stack);\n }\n setOverrideTarget(target);\n }\n }), [\n options.target,\n setOverrideTarget\n ]);\n useIsomorphicLayoutEffect(()=>{\n var _options_target;\n setOverrideTarget((_options_target = options.target) !== null && _options_target !== void 0 ? _options_target : null);\n }, [\n options.target,\n setOverrideTarget\n ]);\n useIsomorphicLayoutEffect(()=>{\n updatePositionManager();\n }, [\n updatePositionManager\n ]);\n if (process.env.NODE_ENV !== 'production') {\n // This checked should run only in development mode\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(()=>{\n if (containerRef.current) {\n var _contentNode_ownerDocument;\n const contentNode = containerRef.current;\n const treeWalker = (_contentNode_ownerDocument = contentNode.ownerDocument) === null || _contentNode_ownerDocument === void 0 ? void 0 : _contentNode_ownerDocument.createTreeWalker(contentNode, NodeFilter.SHOW_ELEMENT, {\n acceptNode: hasAutofocusFilter\n });\n while(treeWalker.nextNode()){\n const node = treeWalker.currentNode;\n // eslint-disable-next-line no-console\n console.warn(':', node);\n // eslint-disable-next-line no-console\n console.warn([\n ': ^ this node contains \"autoFocus\" prop on a React element. This can break the initial',\n 'positioning of an element and cause a window jump effect. This issue occurs because React polyfills',\n '\"autoFocus\" behavior to solve inconsistencies between different browsers:',\n 'https://github.com/facebook/react/issues/11851#issuecomment-351787078',\n '\\n',\n 'However, \".focus()\" in this case occurs before any other React effects will be executed',\n '(React.useEffect(), componentDidMount(), etc.) and we can not prevent this behavior. If you really',\n 'want to use \"autoFocus\" please add \"position: fixed\" to styles of the element that is wrapped by',\n '\"Popper\".',\n `In general, it's not recommended to use \"autoFocus\" as it may break accessibility aspects:`,\n 'https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-autofocus.md',\n '\\n',\n 'We suggest to use the \"trapFocus\" prop on Fluent components or a catch \"ref\" and then use',\n '\"ref.current.focus\" in React.useEffect():',\n 'https://reactjs.org/docs/refs-and-the-dom.html#adding-a-ref-to-a-dom-element'\n ].join(' '));\n }\n }\n // We run this check once, no need to add deps here\n // TODO: Should be rework to handle options.enabled and contentRef updates\n }, []);\n }\n const setTarget = useCallbackRef(null, (target)=>{\n if (targetRef.current !== target) {\n targetRef.current = target;\n updatePositionManager();\n }\n });\n const onPositioningEnd = useEventCallback(()=>{\n var _options_onPositioningEnd;\n return (_options_onPositioningEnd = options.onPositioningEnd) === null || _options_onPositioningEnd === void 0 ? void 0 : _options_onPositioningEnd.call(options);\n });\n const setContainer = useCallbackRef(null, (container)=>{\n if (containerRef.current !== container) {\n var _containerRef_current;\n (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.removeEventListener(POSITIONING_END_EVENT, onPositioningEnd);\n container === null || container === void 0 ? void 0 : container.addEventListener(POSITIONING_END_EVENT, onPositioningEnd);\n containerRef.current = container;\n updatePositionManager();\n }\n });\n const setArrow = useCallbackRef(null, (arrow)=>{\n if (arrowRef.current !== arrow) {\n arrowRef.current = arrow;\n updatePositionManager();\n }\n });\n // Let users use callback refs so they feel like 'normal' DOM refs\n return {\n targetRef: setTarget,\n containerRef: setContainer,\n arrowRef: setArrow\n };\n}\nfunction usePositioningOptions(options) {\n 'use no memo';\n const { align, arrowPadding, autoSize: rawAutoSize, coverTarget, flipBoundary, offset, overflowBoundary, pinned, position, unstable_disableTether: disableTether, // eslint-disable-next-line deprecation/deprecation\n positionFixed, strategy, overflowBoundaryPadding, fallbackPositions, useTransform, matchTargetSize, disableUpdateOnResize = false, shiftToCoverTarget } = options;\n const { dir, targetDocument } = useFluent();\n const isRtl = dir === 'rtl';\n const positionStrategy = (strategy !== null && strategy !== void 0 ? strategy : positionFixed) ? 'fixed' : 'absolute';\n const autoSize = normalizeAutoSize(rawAutoSize);\n return React.useCallback((container, arrow)=>{\n const hasScrollableElement = hasScrollParent(container);\n const middleware = [\n autoSize && resetMaxSizeMiddleware(autoSize),\n matchTargetSize && matchTargetSizeMiddleware(),\n offset && offsetMiddleware(offset),\n coverTarget && coverTargetMiddleware(),\n !pinned && flipMiddleware({\n container,\n flipBoundary,\n hasScrollableElement,\n isRtl,\n fallbackPositions\n }),\n shiftMiddleware({\n container,\n hasScrollableElement,\n overflowBoundary,\n disableTether,\n overflowBoundaryPadding,\n isRtl,\n shiftToCoverTarget\n }),\n autoSize && maxSizeMiddleware(autoSize, {\n container,\n overflowBoundary,\n overflowBoundaryPadding,\n isRtl\n }),\n intersectingMiddleware(),\n arrow && arrowMiddleware({\n element: arrow,\n padding: arrowPadding\n }),\n hideMiddleware({\n strategy: 'referenceHidden'\n }),\n hideMiddleware({\n strategy: 'escaped'\n }),\n process.env.NODE_ENV !== 'production' && targetDocument && devtools(targetDocument, devtoolsCallback(options))\n ].filter(Boolean);\n const placement = toFloatingUIPlacement(align, position, isRtl);\n return {\n placement,\n middleware,\n strategy: positionStrategy,\n useTransform,\n disableUpdateOnResize\n };\n }, // Options is missing here, but it's not required\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n align,\n arrowPadding,\n autoSize,\n coverTarget,\n disableTether,\n flipBoundary,\n isRtl,\n offset,\n overflowBoundary,\n pinned,\n position,\n positionStrategy,\n overflowBoundaryPadding,\n fallbackPositions,\n useTransform,\n matchTargetSize,\n targetDocument,\n disableUpdateOnResize\n ]);\n}\n","import * as React from 'react';\nimport { useEventCallback } from './useEventCallback';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nconst DEFAULT_CONTAINS = (parent, child)=>!!(parent === null || parent === void 0 ? void 0 : parent.contains(child));\n/**\n * @internal\n * Utility to perform checks where a click/touch event was made outside a component\n */ export const useOnClickOutside = (options)=>{\n const { targetDocument } = useFluent();\n const win = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;\n const { refs, callback, element, disabled, disabledFocusOnIframe, contains = DEFAULT_CONTAINS } = options;\n const timeoutId = React.useRef(undefined);\n useIFrameFocus({\n element,\n disabled: disabledFocusOnIframe || disabled,\n callback,\n refs,\n contains\n });\n const isMouseDownInsideRef = React.useRef(false);\n const listener = useEventCallback((ev)=>{\n if (isMouseDownInsideRef.current) {\n isMouseDownInsideRef.current = false;\n return;\n }\n const target = ev.composedPath()[0];\n const isOutside = refs.every((ref)=>!contains(ref.current || null, target));\n if (isOutside && !disabled) {\n callback(ev);\n }\n });\n const handleMouseDown = useEventCallback((ev)=>{\n // Selecting text from inside to outside will rigger click event.\n // In this case click event target is outside but mouse down event target is inside.\n // And this click event should be considered as inside click.\n isMouseDownInsideRef.current = refs.some((ref)=>contains(ref.current || null, ev.target));\n });\n React.useEffect(()=>{\n if (disabled) {\n return;\n }\n // Store the current event to avoid triggering handlers immediately\n // Note this depends on a deprecated but extremely well supported quirk of the web platform\n // https://github.com/facebook/react/issues/20074\n let currentEvent = getWindowEvent(win);\n const conditionalHandler = (event)=>{\n // Skip if this event is the same as the one running when we added the handlers\n if (event === currentEvent) {\n currentEvent = undefined;\n return;\n }\n listener(event);\n };\n // use capture phase because React can update DOM before the event bubbles to the document\n element === null || element === void 0 ? void 0 : element.addEventListener('click', conditionalHandler, true);\n element === null || element === void 0 ? void 0 : element.addEventListener('touchstart', conditionalHandler, true);\n element === null || element === void 0 ? void 0 : element.addEventListener('contextmenu', conditionalHandler, true);\n element === null || element === void 0 ? void 0 : element.addEventListener('mousedown', handleMouseDown, true);\n // Garbage collect this event after it's no longer useful to avoid memory leaks\n timeoutId.current = win === null || win === void 0 ? void 0 : win.setTimeout(()=>{\n currentEvent = undefined;\n }, 1);\n return ()=>{\n element === null || element === void 0 ? void 0 : element.removeEventListener('click', conditionalHandler, true);\n element === null || element === void 0 ? void 0 : element.removeEventListener('touchstart', conditionalHandler, true);\n element === null || element === void 0 ? void 0 : element.removeEventListener('contextmenu', conditionalHandler, true);\n element === null || element === void 0 ? void 0 : element.removeEventListener('mousedown', handleMouseDown, true);\n win === null || win === void 0 ? void 0 : win.clearTimeout(timeoutId.current);\n currentEvent = undefined;\n };\n }, [\n listener,\n element,\n disabled,\n handleMouseDown,\n win\n ]);\n};\nconst getWindowEvent = (target)=>{\n if (target) {\n var _target_ownerDocument_defaultView, _target_ownerDocument;\n if (typeof target.window === 'object' && target.window === target) {\n // eslint-disable-next-line deprecation/deprecation\n return target.event;\n }\n var _target_ownerDocument_defaultView_event;\n // eslint-disable-next-line deprecation/deprecation\n return (_target_ownerDocument_defaultView_event = (_target_ownerDocument = target.ownerDocument) === null || _target_ownerDocument === void 0 ? void 0 : (_target_ownerDocument_defaultView = _target_ownerDocument.defaultView) === null || _target_ownerDocument_defaultView === void 0 ? void 0 : _target_ownerDocument_defaultView.event) !== null && _target_ownerDocument_defaultView_event !== void 0 ? _target_ownerDocument_defaultView_event : undefined;\n }\n return undefined;\n};\nconst FUI_FRAME_EVENT = 'fuiframefocus';\n/**\n * Since click events do not propagate past iframes, we use focus to detect if a\n * click has happened inside an iframe, since the only ways of focusing inside an\n * iframe are:\n * - clicking inside\n * - tabbing inside\n *\n * Polls the value of `document.activeElement`. If it is an iframe, then dispatch\n * a custom DOM event. When the custom event is received call the provided callback\n */ const useIFrameFocus = (options)=>{\n const { disabled, element: targetDocument, callback, contains = DEFAULT_CONTAINS, pollDuration = 1000, refs } = options;\n const timeoutRef = React.useRef();\n const listener = useEventCallback((e)=>{\n const isOutside = refs.every((ref)=>!contains(ref.current || null, e.target));\n if (isOutside && !disabled) {\n callback(e);\n }\n });\n // Adds listener to the custom iframe focus event\n React.useEffect(()=>{\n if (disabled) {\n return;\n }\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener(FUI_FRAME_EVENT, listener, true);\n return ()=>{\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener(FUI_FRAME_EVENT, listener, true);\n };\n }, [\n targetDocument,\n disabled,\n listener\n ]);\n // Starts polling for the active element\n React.useEffect(()=>{\n var _targetDocument_defaultView;\n if (disabled) {\n return;\n }\n timeoutRef.current = targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.setInterval(()=>{\n const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;\n if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) === 'IFRAME' || (activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) === 'WEBVIEW') {\n const event = new CustomEvent(FUI_FRAME_EVENT, {\n bubbles: true\n });\n activeElement.dispatchEvent(event);\n }\n }, pollDuration);\n return ()=>{\n var _targetDocument_defaultView;\n targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.clearTimeout(timeoutRef.current);\n };\n }, [\n targetDocument,\n disabled,\n pollDuration\n ]);\n};\n","import * as React from 'react';\nimport { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from '@fluentui/react-positioning';\nimport { useControllableState, useId, useOnClickOutside, useEventCallback, useOnScrollOutside, elementContains, useTimeout, useFirstMount } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\n// If it's not possible to position the submenu in smaller viewports, try\n// and fallback to this order of positions\nconst submenuFallbackPositions = [\n 'after',\n 'after-bottom',\n 'before-top',\n 'before',\n 'before-bottom',\n 'above'\n];\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */ export const useMenu_unstable = (props)=>{\n const isSubmenu = useIsSubmenu();\n const { hoverDelay = 500, inline = false, hasCheckmarks = false, hasIcons = false, closeOnScroll = false, openOnContext = false, persistOnItemClick = false, openOnHover = isSubmenu, defaultCheckedValues, mountNode = null } = props;\n const triggerId = useId('menu');\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const positioningState = {\n position: isSubmenu ? 'after' : 'below',\n align: isSubmenu ? 'top' : 'start',\n target: props.openOnContext ? contextTarget : undefined,\n fallbackPositions: isSubmenu ? submenuFallbackPositions : undefined,\n ...resolvePositioningShorthand(props.positioning)\n };\n const children = React.Children.toArray(props.children);\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at least one child');\n }\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at most two children');\n }\n }\n let menuTrigger = undefined;\n let menuPopover = undefined;\n if (children.length === 2) {\n menuTrigger = children[0];\n menuPopover = children[1];\n } else if (children.length === 1) {\n menuPopover = children[0];\n }\n const { targetRef: triggerRef, containerRef: menuPopoverRef } = usePositioning(positioningState);\n // TODO Better way to narrow types ?\n const [open, setOpen] = useMenuOpenState({\n hoverDelay,\n isSubmenu,\n setContextTarget,\n closeOnScroll,\n menuPopoverRef,\n triggerRef,\n open: props.open,\n defaultOpen: props.defaultOpen,\n onOpenChange: props.onOpenChange,\n openOnContext\n });\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange\n });\n return {\n inline,\n hoverDelay,\n triggerId,\n isSubmenu,\n openOnHover,\n contextTarget,\n setContextTarget,\n hasCheckmarks,\n hasIcons,\n closeOnScroll,\n menuTrigger,\n menuPopover,\n mountNode,\n triggerRef,\n menuPopoverRef,\n components: {},\n openOnContext,\n open,\n setOpen,\n checkedValues,\n onCheckedValueChange,\n persistOnItemClick\n };\n};\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */ const useMenuSelectableState = (props)=>{\n const [checkedValues, setCheckedValues] = useControllableState({\n state: props.checkedValues,\n defaultState: props.defaultCheckedValues,\n initialState: {}\n });\n const onCheckedValueChange = useEventCallback((e, { name, checkedItems })=>{\n var _props_onCheckedValueChange;\n (_props_onCheckedValueChange = props.onCheckedValueChange) === null || _props_onCheckedValueChange === void 0 ? void 0 : _props_onCheckedValueChange.call(props, e, {\n name,\n checkedItems\n });\n setCheckedValues((currentValue)=>({\n ...currentValue,\n [name]: checkedItems\n }));\n });\n return [\n checkedValues,\n onCheckedValueChange\n ];\n};\nconst useMenuOpenState = (state)=>{\n 'use no memo';\n const { targetDocument } = useFluent();\n const parentSetOpen = useMenuContext_unstable((context)=>context.setOpen);\n const onOpenChange = useEventCallback((e, data)=>{\n var _state_onOpenChange;\n return (_state_onOpenChange = state.onOpenChange) === null || _state_onOpenChange === void 0 ? void 0 : _state_onOpenChange.call(state, e, data);\n });\n const enteringTriggerRef = React.useRef(false);\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false\n });\n const trySetOpen = useEventCallback((e, data)=>{\n const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, {\n ...data\n });\n if (data.open && e.type === 'contextmenu') {\n state.setContextTarget(e);\n }\n if (!data.open) {\n state.setContextTarget(undefined);\n }\n if (data.bubble) {\n parentSetOpen(e, {\n ...data\n });\n }\n setOpenState(data.open);\n });\n const [setOpenTimeout, clearOpenTimeout] = useTimeout();\n const setOpen = useEventCallback((e, data)=>{\n clearOpenTimeout();\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n var _state_triggerRef_current;\n if ((_state_triggerRef_current = state.triggerRef.current) === null || _state_triggerRef_current === void 0 ? void 0 : _state_triggerRef_current.contains(e.target)) {\n enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n }\n setOpenTimeout(()=>trySetOpen(e, data), state.hoverDelay);\n } else {\n trySetOpen(e, data);\n }\n });\n useOnClickOutside({\n contains: elementContains,\n disabled: !open,\n element: targetDocument,\n refs: [\n state.menuPopoverRef,\n !state.openOnContext && state.triggerRef\n ].filter(Boolean),\n callback: (event)=>setOpen(event, {\n open: false,\n type: 'clickOutside',\n event\n })\n });\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = state.openOnContext || state.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: (event)=>setOpen(event, {\n open: false,\n type: 'scrollOutside',\n event\n }),\n refs: [\n state.menuPopoverRef,\n !state.openOnContext && state.triggerRef\n ].filter(Boolean),\n disabled: !open || !closeOnScroll\n });\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: (event)=>{\n // When moving from a menu directly back to its trigger, this handler can close the menu\n // Explicitly check a flag to see if this situation happens\n if (!enteringTriggerRef.current) {\n setOpen(event, {\n open: false,\n type: 'menuMouseEnter',\n event\n });\n }\n },\n disabled: !open,\n refs: [\n state.menuPopoverRef\n ]\n });\n // Manage focus for open state\n const { findFirstFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(()=>{\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }, [\n findFirstFocusable,\n state.menuPopoverRef\n ]);\n const firstMount = useFirstMount();\n React.useEffect(()=>{\n if (open) {\n focusFirst();\n } else {\n if (!firstMount) {\n if ((targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement) === (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.body)) {\n var // We know that React effects are sync so we focus the trigger here\n // after any event handler (event handlers will update state and re-render).\n // Since the browser only performs the default behaviour for the Tab key once\n // keyboard events have fully bubbled up the window, the browser will move\n // focus to the next tabbable element before/after the trigger if needed.\n // If the Tab key was not pressed, focus will remain on the trigger as expected.\n _state_triggerRef_current;\n (_state_triggerRef_current = state.triggerRef.current) === null || _state_triggerRef_current === void 0 ? void 0 : _state_triggerRef_current.focus();\n }\n }\n }\n // firstMount change should not re-run this effect\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n state.triggerRef,\n state.isSubmenu,\n open,\n focusFirst,\n targetDocument,\n state.menuPopoverRef\n ]);\n return [\n open,\n setOpen\n ];\n};\n","/**\n * Creates a virtual element based on the position of a click event\n * Can be used as a target for popper in scenarios such as context menus\n */ export function createVirtualElementFromClick(nativeEvent) {\n const left = nativeEvent.clientX;\n const top = nativeEvent.clientY;\n const right = left + 1;\n const bottom = top + 1;\n function getBoundingClientRect() {\n return {\n left,\n top,\n right,\n bottom,\n x: left,\n y: top,\n height: 1,\n width: 1\n };\n }\n return {\n getBoundingClientRect\n };\n}\n","import * as React from 'react';\nimport { useEventCallback } from './useEventCallback';\n/**\n * @internal\n * Utility to perform checks where a click/touch event was made outside a component\n */ export const useOnScrollOutside = (options)=>{\n const { refs, callback, element, disabled, contains: containsProp } = options;\n const listener = useEventCallback((ev)=>{\n const contains = containsProp || ((parent, child)=>!!(parent === null || parent === void 0 ? void 0 : parent.contains(child)));\n const target = ev.composedPath()[0];\n const isOutside = refs.every((ref)=>!contains(ref.current || null, target));\n if (isOutside && !disabled) {\n callback(ev);\n }\n });\n React.useEffect(()=>{\n if (disabled) {\n return;\n }\n element === null || element === void 0 ? void 0 : element.addEventListener('wheel', listener);\n element === null || element === void 0 ? void 0 : element.addEventListener('touchmove', listener);\n return ()=>{\n element === null || element === void 0 ? void 0 : element.removeEventListener('wheel', listener);\n element === null || element === void 0 ? void 0 : element.removeEventListener('touchmove', listener);\n };\n }, [\n listener,\n element,\n disabled\n ]);\n};\n","import * as React from 'react';\n/**\n * @internal\n * Checks if components was mounted the first time.\n * Since concurrent mode will be released in the future this needs to be verified\n * Currently (React 17) will always render the initial mount once\n * https://codesandbox.io/s/heuristic-brook-s4w0q?file=/src/App.jsx\n * https://codesandbox.io/s/holy-grass-8nieu?file=/src/App.jsx\n *\n * @example\n * const isFirstMount = useFirstMount();\n */ export function useFirstMount() {\n const isFirst = React.useRef(true);\n if (isFirst.current) {\n isFirst.current = false;\n return true;\n }\n return isFirst.current;\n}\n","import * as React from 'react';\nimport { MenuProvider } from '../../contexts/menuContext';\n/**\n * Render the final JSX of Menu\n */ export const renderMenu_unstable = (state, contextValues)=>{\n return /*#__PURE__*/ React.createElement(MenuProvider, {\n value: contextValues.menu\n }, state.menuTrigger, state.open && state.menuPopover);\n};\n","import * as React from 'react';\nimport { useMenu_unstable } from './useMenu';\nimport { useMenuContextValues_unstable } from './useMenuContextValues';\nimport { renderMenu_unstable } from './renderMenu';\n/**\n * Wrapper component that manages state for a popup MenuList and a MenuTrigger\n */ export const Menu = (props)=>{\n const state = useMenu_unstable(props);\n const contextValues = useMenuContextValues_unstable(state);\n return renderMenu_unstable(state, contextValues);\n};\nMenu.displayName = 'Menu';\n","export function useMenuContextValues_unstable(state) {\n const { checkedValues, hasCheckmarks, hasIcons, inline, isSubmenu, menuPopoverRef, mountNode, onCheckedValueChange, open, openOnContext, openOnHover, persistOnItemClick, setOpen, triggerId, triggerRef } = state;\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menu = {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n mountNode,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef\n };\n return {\n menu\n };\n}\n","import * as React from 'react';\nimport { useEventCallback, useMergedRefs, getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useCharacterSearch } from './useCharacterSearch';\nimport { useMenuTriggerContext_unstable } from '../../contexts/menuTriggerContext';\nimport { ChevronRightFilled, ChevronRightRegular, ChevronLeftFilled, ChevronLeftRegular, bundleIcon } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nconst ChevronRightIcon = bundleIcon(ChevronRightFilled, ChevronRightRegular);\nconst ChevronLeftIcon = bundleIcon(ChevronLeftFilled, ChevronLeftRegular);\n/**\n * Returns the props and state required to render the component\n */ export const useMenuItem_unstable = (props, ref)=>{\n const isSubmenuTrigger = useMenuTriggerContext_unstable();\n const persistOnClickContext = useMenuContext_unstable((context)=>context.persistOnItemClick);\n const { as = 'div', disabled = false, hasSubmenu = isSubmenuTrigger, persistOnClick = persistOnClickContext } = props;\n const hasIcons = useMenuListContext_unstable((context)=>context.hasIcons);\n const hasCheckmarks = useMenuListContext_unstable((context)=>context.hasCheckmarks);\n const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n const { dir } = useFluent();\n const innerRef = React.useRef(null);\n const dismissedWithKeyboardRef = React.useRef(false);\n const state = {\n hasSubmenu,\n disabled,\n persistOnClick,\n components: {\n root: 'div',\n icon: 'span',\n checkmark: 'span',\n submenuIndicator: 'span',\n content: 'span',\n secondaryContent: 'span'\n },\n root: slot.always(getIntrinsicElementProps(as, useARIAButtonProps(as, {\n role: 'menuitem',\n ...props,\n disabled: false,\n disabledFocusable: disabled,\n ref: useMergedRefs(ref, innerRef),\n onKeyDown: useEventCallback((event)=>{\n var _props_onKeyDown;\n (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);\n if (!event.isDefaultPrevented() && (event.key === Space || event.key === Enter)) {\n dismissedWithKeyboardRef.current = true;\n }\n }),\n onMouseEnter: useEventCallback((event)=>{\n var _innerRef_current, _props_onMouseEnter;\n (_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.focus();\n (_props_onMouseEnter = props.onMouseEnter) === null || _props_onMouseEnter === void 0 ? void 0 : _props_onMouseEnter.call(props, event);\n }),\n onClick: useEventCallback((event)=>{\n var _props_onClick;\n if (!hasSubmenu && !persistOnClick) {\n setOpen(event, {\n open: false,\n keyboard: dismissedWithKeyboardRef.current,\n bubble: true,\n type: 'menuItemClick',\n event\n });\n dismissedWithKeyboardRef.current = false;\n }\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, event);\n })\n })), {\n elementType: 'div'\n }),\n icon: slot.optional(props.icon, {\n renderByDefault: hasIcons,\n elementType: 'span'\n }),\n checkmark: slot.optional(props.checkmark, {\n renderByDefault: hasCheckmarks,\n elementType: 'span'\n }),\n submenuIndicator: slot.optional(props.submenuIndicator, {\n renderByDefault: hasSubmenu,\n defaultProps: {\n children: dir === 'ltr' ? /*#__PURE__*/ React.createElement(ChevronRightIcon, null) : /*#__PURE__*/ React.createElement(ChevronLeftIcon, null)\n },\n elementType: 'span'\n }),\n content: slot.optional(props.content, {\n renderByDefault: !!props.children,\n defaultProps: {\n children: props.children\n },\n elementType: 'span'\n }),\n secondaryContent: slot.optional(props.secondaryContent, {\n elementType: 'span'\n })\n };\n useCharacterSearch(state, innerRef);\n return state;\n};\n","import * as React from 'react';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nexport const useCharacterSearch = (state, ref)=>{\n 'use no memo';\n const setFocusByFirstCharacter = useMenuListContext_unstable((context)=>context.setFocusByFirstCharacter);\n const { onKeyDown: originalOnKeyDown } = state.root;\n state.root.onKeyDown = (e)=>{\n var _e_key;\n originalOnKeyDown === null || originalOnKeyDown === void 0 ? void 0 : originalOnKeyDown(e);\n if (((_e_key = e.key) === null || _e_key === void 0 ? void 0 : _e_key.length) > 1) {\n return;\n }\n if (ref.current) {\n setFocusByFirstCharacter === null || setFocusByFirstCharacter === void 0 ? void 0 : setFocusByFirstCharacter(e, ref.current);\n }\n };\n return state;\n};\n","import { mergeClasses, __styles } from '@griffel/react';\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n a9b677: \"fjw5fx7\",\n Bqenvij: \"fd461yt\",\n Bcdw1i0: \"fd7fpy0\",\n Bnnss6s: \"fi64zpg\"\n },\n rootChecked: {\n Bcdw1i0: \"f1022m68\",\n Bnnss6s: \"fi64zpg\"\n }\n}, {\n d: [\".fjw5fx7{width:16px;}\", \".fd461yt{height:16px;}\", \".fd7fpy0{visibility:hidden;}\", \".fi64zpg{flex-shrink:0;}\", \".f1022m68{visibility:visible;}\"]\n});\n/**\n * Applies styles to a checkmark slot for selectable menu items\n *\n * @param state - should contain a `checkmark` slot\n */\nexport const useCheckmarkStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(styles.root, state.checked && styles.rootChecked, state.checkmark.className);\n }\n};","import { mergeClasses, __styles, __resetStyles } from '@griffel/react';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nexport const menuItemClassNames = {\n root: 'fui-MenuItem',\n icon: 'fui-MenuItem__icon',\n checkmark: 'fui-MenuItem__checkmark',\n submenuIndicator: 'fui-MenuItem__submenuIndicator',\n content: 'fui-MenuItem__content',\n secondaryContent: 'fui-MenuItem__secondaryContent'\n};\nconst useRootBaseStyles = /*#__PURE__*/__resetStyles(\"r11normc\", \"r1lnj0i0\", {\n r: [\".r11normc{border-radius:var(--borderRadiusMedium);position:relative;color:var(--colorNeutralForeground2);background-color:var(--colorNeutralBackground1);padding-right:var(--spacingVerticalSNudge);padding-left:var(--spacingVerticalSNudge);padding-top:var(--spacingVerticalSNudge);padding-bottom:var(--spacingVerticalSNudge);box-sizing:border-box;max-width:290px;min-height:32px;flex-shrink:0;display:flex;align-items:start;font-size:var(--fontSizeBase300);cursor:pointer;gap:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;}\", \".r11normc:hover{background-color:var(--colorNeutralBackground1Hover);color:var(--colorNeutralForeground2Hover);}\", \".r11normc:hover .fui-Icon-filled{display:inline;}\", \".r11normc:hover .fui-Icon-regular{display:none;}\", \".r11normc:hover .fui-MenuItem__icon{color:var(--colorNeutralForeground2BrandSelected);}\", \".r11normc:hover:active{background-color:var(--colorNeutralBackground1Pressed);color:var(--colorNeutralForeground2Pressed);}\", \".r11normc:focus{outline-style:none;}\", \".r11normc:focus-visible{outline-style:none;}\", \".r11normc[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".r11normc[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".r1lnj0i0{border-radius:var(--borderRadiusMedium);position:relative;color:var(--colorNeutralForeground2);background-color:var(--colorNeutralBackground1);padding-left:var(--spacingVerticalSNudge);padding-right:var(--spacingVerticalSNudge);padding-top:var(--spacingVerticalSNudge);padding-bottom:var(--spacingVerticalSNudge);box-sizing:border-box;max-width:290px;min-height:32px;flex-shrink:0;display:flex;align-items:start;font-size:var(--fontSizeBase300);cursor:pointer;gap:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;}\", \".r1lnj0i0:hover{background-color:var(--colorNeutralBackground1Hover);color:var(--colorNeutralForeground2Hover);}\", \".r1lnj0i0:hover .fui-Icon-filled{display:inline;}\", \".r1lnj0i0:hover .fui-Icon-regular{display:none;}\", \".r1lnj0i0:hover .fui-MenuItem__icon{color:var(--colorNeutralForeground2BrandSelected);}\", \".r1lnj0i0:hover:active{background-color:var(--colorNeutralBackground1Pressed);color:var(--colorNeutralForeground2Pressed);}\", \".r1lnj0i0:focus{outline-style:none;}\", \".r1lnj0i0:focus-visible{outline-style:none;}\", \".r1lnj0i0[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".r1lnj0i0[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n s: [\"@media (forced-colors: active){.r11normc:hover{background-color:Canvas;border-color:Highlight;color:Highlight;}.r11normc:focus{outline-style:none;}.r11normc:focus-visible{outline-style:none;}.r11normc[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}@media (forced-colors: active){.r11normc[data-fui-focus-visible]::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}.r11normc[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid Highlight;border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}}\", \"@media (forced-colors: active){.r11normc[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){.r1lnj0i0:hover{background-color:Canvas;border-color:Highlight;color:Highlight;}.r1lnj0i0:focus{outline-style:none;}.r1lnj0i0:focus-visible{outline-style:none;}.r1lnj0i0[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}@media (forced-colors: active){.r1lnj0i0[data-fui-focus-visible]::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}.r1lnj0i0[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid Highlight;border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}}\", \"@media (forced-colors: active){.r1lnj0i0[data-fui-focus-visible]::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}\"]\n});\nconst useContentBaseStyles = /*#__PURE__*/__resetStyles(\"r1ls86vo\", \"rpbc5dr\", [\".r1ls86vo{padding-left:2px;padding-right:2px;background-color:transparent;flex-grow:1;}\", \".rpbc5dr{padding-right:2px;padding-left:2px;background-color:transparent;flex-grow:1;}\"]);\nconst useSecondaryContentBaseStyles = /*#__PURE__*/__resetStyles(\"r12mwwux\", \"r1ewgu5j\", [\".r12mwwux{padding-left:2px;padding-right:2px;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);color:var(--colorNeutralForeground3);}\", \".r12mwwux:hover{color:var(--colorNeutralForeground3Hover);}\", \".r12mwwux:focus{color:var(--colorNeutralForeground3Hover);}\", \".r1ewgu5j{padding-right:2px;padding-left:2px;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);color:var(--colorNeutralForeground3);}\", \".r1ewgu5j:hover{color:var(--colorNeutralForeground3Hover);}\", \".r1ewgu5j:focus{color:var(--colorNeutralForeground3Hover);}\"]);\nconst useIconBaseStyles = /*#__PURE__*/__resetStyles(\"ro9koqv\", null, [\".ro9koqv{width:20px;height:20px;font-size:20px;line-height:0;align-items:center;display:inline-flex;justify-content:center;flex-shrink:0;}\"]);\nconst useSubmenuIndicatorBaseStyles = /*#__PURE__*/__resetStyles(\"r9c34qo\", null, [\".r9c34qo{width:20px;height:20px;font-size:20px;line-height:0;align-items:center;display:inline-flex;justify-content:center;}\"]);\nconst useStyles = /*#__PURE__*/__styles({\n checkmark: {\n B6of3ja: \"fmnzpld\"\n },\n splitItemMain: {\n Bh6795r: \"fqerorx\"\n },\n splitItemTrigger: {\n Btl43ni: [\"f1ozlkrg\", \"f10ostut\"],\n Beyfa6y: [\"f1deotkl\", \"f1krrbdw\"],\n uwmqm3: [\"f1cnd47f\", \"fhxju0i\"],\n Ftih45: \"f1wl9k8s\",\n Ccq8qp: \"f1yn80uh\",\n Baz25je: \"f68mna0\",\n cmx5o7: \"f1p5zmk\"\n },\n disabled: {\n sj55zd: \"f1s2aq7o\",\n Bi91k9c: \"fvgxktp\",\n Jwef8y: \"f1ijtazh\",\n eoavqd: \"fphbwmw\",\n Bk3fhr4: \"f19vpps7\",\n Bmfj8id: \"fv5swzo\",\n Bg7n49j: \"f1q1x1ba\",\n B2d53fq: \"fcvwxyo\",\n iro3zm: \"f1to34ca\",\n t0hwav: \"ft33916\",\n Bbusuzp: \"f1dcs8yz\",\n ze5xyy: \"f1kc2mi9\",\n Bqrx1nm: \"fkavljg\",\n Bctn1xl: \"fk56vqo\",\n h5esng: \"ff3wi9b\",\n Bh6z0a4: \"f1ikwg0d\",\n Bh953qp: \"f10l1t5h\"\n }\n}, {\n d: [\".fmnzpld{margin-top:2px;}\", \".fqerorx{flex-grow:1;}\", \".f1ozlkrg{border-top-left-radius:0;}\", \".f10ostut{border-top-right-radius:0;}\", \".f1deotkl{border-bottom-left-radius:0;}\", \".f1krrbdw{border-bottom-right-radius:0;}\", \".f1cnd47f{padding-left:0;}\", \".fhxju0i{padding-right:0;}\", \".f1wl9k8s::before{content:\\\"\\\";}\", \".f1yn80uh::before{width:var(--strokeWidthThin);}\", \".f68mna0::before{height:24px;}\", \".f1p5zmk::before{background-color:var(--colorNeutralStroke1);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\"],\n h: [\".fvgxktp:hover{color:var(--colorNeutralForegroundDisabled);}\", \".f1ijtazh:hover{background-color:var(--colorNeutralBackground1);}\", \".fphbwmw:hover{cursor:not-allowed;}\", \".f19vpps7:hover .fui-Icon-filled{display:none;}\", \".fv5swzo:hover .fui-Icon-regular{display:inline;}\", \".f1q1x1ba:hover .fui-MenuItem__icon{color:var(--colorNeutralForegroundDisabled);}\", \".fcvwxyo:hover:active{color:var(--colorNeutralForegroundDisabled);}\", \".f1to34ca:hover:active{background-color:var(--colorNeutralBackground1);}\"],\n f: [\".ft33916:focus{color:var(--colorNeutralForegroundDisabled);}\"],\n m: [[\"@media (forced-colors: active){.f1dcs8yz{color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1kc2mi9:hover{color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.fkavljg:hover{background-color:Canvas;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.fk56vqo:hover .fui-MenuItem__icon{color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.ff3wi9b:hover .fui-MenuItem__icon{background-color:Canvas;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1ikwg0d:focus{color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f10l1t5h:focus{background-color:Canvas;}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\n/** Applies style classnames to slots */\nexport const useMenuItemStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const rootBaseStyles = useRootBaseStyles();\n const contentBaseStyles = useContentBaseStyles();\n const secondaryContentBaseStyles = useSecondaryContentBaseStyles();\n const iconBaseStyles = useIconBaseStyles();\n const submenuIndicatorBaseStyles = useSubmenuIndicatorBaseStyles();\n state.root.className = mergeClasses(menuItemClassNames.root, rootBaseStyles, state.disabled && styles.disabled, state.root.className);\n if (state.content) {\n state.content.className = mergeClasses(menuItemClassNames.content, contentBaseStyles, state.content.className);\n }\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemClassNames.checkmark, styles.checkmark, state.checkmark.className);\n }\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(menuItemClassNames.secondaryContent, !state.disabled && secondaryContentBaseStyles, state.secondaryContent.className);\n }\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemClassNames.icon, iconBaseStyles, state.icon.className);\n }\n if (state.submenuIndicator) {\n state.submenuIndicator.className = mergeClasses(menuItemClassNames.submenuIndicator, submenuIndicatorBaseStyles, state.submenuIndicator.className);\n }\n useCheckmarkStyles_unstable(state);\n return state;\n};","import * as React from 'react';\nimport { useMenuItem_unstable } from './useMenuItem';\nimport { renderMenuItem_unstable } from './renderMenuItem';\nimport { useMenuItemStyles_unstable } from './useMenuItemStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuItem, using the `useMenuItem_unstable` and `useMenuItemStyles_unstable` hook.\n */ export const MenuItem = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMenuItem_unstable(props, ref);\n useMenuItemStyles_unstable(state);\n useCustomStyleHook_unstable('useMenuItemStyles_unstable')(state);\n return renderMenuItem_unstable(state);\n});\nMenuItem.displayName = 'MenuItem';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuItem_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.checkmark && /*#__PURE__*/ _jsx(state.checkmark, {}),\n state.icon && /*#__PURE__*/ _jsx(state.icon, {}),\n state.content && /*#__PURE__*/ _jsx(state.content, {}),\n state.secondaryContent && /*#__PURE__*/ _jsx(state.secondaryContent, {}),\n state.submenuIndicator && /*#__PURE__*/ _jsx(state.submenuIndicator, {})\n ]\n });\n};\n","import * as React from 'react';\nimport { useMergedRefs, useEventCallback, useControllableState, getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup, useFocusFinders, TabsterMoveFocusEventName } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MenuContext } from '../../contexts/menuContext';\n/**\n * Returns the props and state required to render the component\n */ export const useMenuList_unstable = (props, ref)=>{\n const { findAllFocusable } = useFocusFinders();\n const { targetDocument } = useFluent();\n const menuContext = useMenuContextSelectors();\n const hasMenuContext = useHasParentContext(MenuContext);\n const focusAttributes = useArrowNavigationGroup({\n circular: true\n });\n if (usingPropsAndMenuContext(props, menuContext, hasMenuContext)) {\n // TODO throw warnings in development safely\n // eslint-disable-next-line no-console\n console.warn('You are using both MenuList and Menu props, we recommend you to use Menu props when available');\n }\n const innerRef = React.useRef(null);\n React.useEffect(()=>{\n const element = innerRef.current;\n if (hasMenuContext && targetDocument && element) {\n const onTabsterMoveFocus = (e)=>{\n const nextElement = e.detail.next;\n if (nextElement && element.contains(targetDocument.activeElement) && !element.contains(nextElement)) {\n // Preventing Tabster from handling Tab press, useMenuPopover will handle it.\n e.preventDefault();\n }\n };\n targetDocument.addEventListener(TabsterMoveFocusEventName, onTabsterMoveFocus);\n return ()=>{\n targetDocument.removeEventListener(TabsterMoveFocusEventName, onTabsterMoveFocus);\n };\n }\n }, [\n innerRef,\n targetDocument,\n hasMenuContext\n ]);\n const setFocusByFirstCharacter = React.useCallback((e, itemEl)=>{\n // TODO use some kind of children registration to reduce dependency on DOM roles\n const acceptedRoles = [\n 'menuitem',\n 'menuitemcheckbox',\n 'menuitemradio'\n ];\n if (!innerRef.current) {\n return;\n }\n const menuItems = findAllFocusable(innerRef.current, (el)=>el.hasAttribute('role') && acceptedRoles.indexOf(el.getAttribute('role')) !== -1);\n let startIndex = menuItems.indexOf(itemEl) + 1;\n if (startIndex === menuItems.length) {\n startIndex = 0;\n }\n const firstChars = menuItems.map((menuItem)=>{\n var _menuItem_textContent;\n return (_menuItem_textContent = menuItem.textContent) === null || _menuItem_textContent === void 0 ? void 0 : _menuItem_textContent.charAt(0).toLowerCase();\n });\n const char = e.key.toLowerCase();\n const getIndexFirstChars = (start, firstChar)=>{\n for(let i = start; i < firstChars.length; i++){\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n };\n // Check remaining slots in the menu\n let index = getIndexFirstChars(startIndex, char);\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = getIndexFirstChars(0, char);\n }\n // If match was found...\n if (index > -1) {\n menuItems[index].focus();\n }\n }, [\n findAllFocusable\n ]);\n var _props_checkedValues;\n const [checkedValues, setCheckedValues] = useControllableState({\n state: (_props_checkedValues = props.checkedValues) !== null && _props_checkedValues !== void 0 ? _props_checkedValues : hasMenuContext ? menuContext.checkedValues : undefined,\n defaultState: props.defaultCheckedValues,\n initialState: {}\n });\n var _props_onCheckedValueChange;\n const handleCheckedValueChange = (_props_onCheckedValueChange = props.onCheckedValueChange) !== null && _props_onCheckedValueChange !== void 0 ? _props_onCheckedValueChange : hasMenuContext ? menuContext.onCheckedValueChange : undefined;\n const toggleCheckbox = useEventCallback((e, name, value, checked)=>{\n const checkedItems = (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues[name]) || [];\n const newCheckedItems = [\n ...checkedItems\n ];\n if (checked) {\n newCheckedItems.splice(newCheckedItems.indexOf(value), 1);\n } else {\n newCheckedItems.push(value);\n }\n handleCheckedValueChange === null || handleCheckedValueChange === void 0 ? void 0 : handleCheckedValueChange(e, {\n name,\n checkedItems: newCheckedItems\n });\n setCheckedValues((s)=>({\n ...s,\n [name]: newCheckedItems\n }));\n });\n const selectRadio = useEventCallback((e, name, value)=>{\n const newCheckedItems = [\n value\n ];\n setCheckedValues((s)=>({\n ...s,\n [name]: newCheckedItems\n }));\n handleCheckedValueChange === null || handleCheckedValueChange === void 0 ? void 0 : handleCheckedValueChange(e, {\n name,\n checkedItems: newCheckedItems\n });\n });\n return {\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, innerRef),\n role: 'menu',\n 'aria-labelledby': menuContext.triggerId,\n ...focusAttributes,\n ...props\n }), {\n elementType: 'div'\n }),\n hasIcons: menuContext.hasIcons || false,\n hasCheckmarks: menuContext.hasCheckmarks || false,\n checkedValues,\n hasMenuContext,\n setFocusByFirstCharacter,\n selectRadio,\n toggleCheckbox\n };\n};\n/**\n * Adds some sugar to fetching multiple context selector values\n */ const useMenuContextSelectors = ()=>{\n const checkedValues = useMenuContext_unstable((context)=>context.checkedValues);\n const onCheckedValueChange = useMenuContext_unstable((context)=>context.onCheckedValueChange);\n const triggerId = useMenuContext_unstable((context)=>context.triggerId);\n const hasIcons = useMenuContext_unstable((context)=>context.hasIcons);\n const hasCheckmarks = useMenuContext_unstable((context)=>context.hasCheckmarks);\n return {\n checkedValues,\n onCheckedValueChange,\n triggerId,\n hasIcons,\n hasCheckmarks\n };\n};\n/**\n * Helper function to detect if props and MenuContext values are both used\n */ const usingPropsAndMenuContext = (props, contextValue, hasMenuContext)=>{\n let isUsingPropsAndContext = false;\n for(const val in contextValue){\n if (props[val]) {\n isUsingPropsAndContext = true;\n }\n }\n return hasMenuContext && isUsingPropsAndContext;\n};\n","import { mergeClasses, __styles } from '@griffel/react';\nexport const menuListClassNames = {\n root: 'fui-MenuList'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n i8kkvl: 0,\n Belr9w4: 0,\n rmohyg: \"f1t6b6ee\"\n },\n hasMenuContext: {\n Bqenvij: \"f1l02sjl\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\", [\".f1t6b6ee{gap:2px;}\", {\n p: -1\n }], \".f1l02sjl{height:100%;}\"]\n});\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuListStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(menuListClassNames.root, styles.root, state.hasMenuContext && styles.hasMenuContext, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useMenuList_unstable } from './useMenuList';\nimport { renderMenuList_unstable } from './renderMenuList';\nimport { useMenuListContextValues_unstable } from './useMenuListContextValues';\nimport { useMenuListStyles_unstable } from './useMenuListStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuList, using the `useMenuList_unstable` hook.\n */ export const MenuList = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMenuList_unstable(props, ref);\n const contextValues = useMenuListContextValues_unstable(state);\n useMenuListStyles_unstable(state);\n useCustomStyleHook_unstable('useMenuListStyles_unstable')(state);\n return renderMenuList_unstable(state, contextValues);\n});\nMenuList.displayName = 'MenuList';\n","export function useMenuListContextValues_unstable(state) {\n const { checkedValues, hasCheckmarks, hasIcons, selectRadio, setFocusByFirstCharacter, toggleCheckbox } = state;\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menuList = {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n selectRadio,\n setFocusByFirstCharacter,\n toggleCheckbox\n };\n return {\n menuList\n };\n}\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { MenuListProvider } from '../../contexts/menuListContext';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuList_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(MenuListProvider, {\n value: contextValues.menuList,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import * as React from 'react';\nimport { ArrowLeft, Tab, ArrowRight, Escape } from '@fluentui/keyboard-keys';\nimport { getIntrinsicElementProps, useEventCallback, useMergedRefs, slot, useTimeout } from '@fluentui/react-utilities';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { dispatchMenuEnterEvent } from '../../utils/index';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useRestoreFocusSource } from '@fluentui/react-tabster';\n/**\n * Create the state required to render MenuPopover.\n *\n * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,\n * before being passed to renderMenuPopover_unstable.\n *\n * @param props - props from this instance of MenuPopover\n * @param ref - reference to root HTMLElement of MenuPopover\n */ export const useMenuPopover_unstable = (props, ref)=>{\n 'use no memo';\n const popoverRef = useMenuContext_unstable((context)=>context.menuPopoverRef);\n const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n const open = useMenuContext_unstable((context)=>context.open);\n const openOnHover = useMenuContext_unstable((context)=>context.openOnHover);\n const triggerRef = useMenuContext_unstable((context)=>context.triggerRef);\n const isSubmenu = useIsSubmenu();\n const canDispatchCustomEventRef = React.useRef(true);\n const restoreFocusSourceAttributes = useRestoreFocusSource();\n const [setThrottleTimeout, clearThrottleTimeout] = useTimeout();\n const { dir } = useFluent();\n const CloseArrowKey = dir === 'ltr' ? ArrowLeft : ArrowRight;\n // use DOM listener since react events propagate up the react tree\n // no need to do `contains` logic as menus are all positioned in different portals\n const mouseOverListenerCallbackRef = React.useCallback((node)=>{\n if (node) {\n // Dispatches the custom menu mouse enter event with throttling\n // Needs to trigger on mouseover to support keyboard + mouse together\n // i.e. keyboard opens submenus while cursor is still on the parent\n node.addEventListener('mouseover', (e)=>{\n if (canDispatchCustomEventRef.current) {\n canDispatchCustomEventRef.current = false;\n dispatchMenuEnterEvent(popoverRef.current, e);\n setThrottleTimeout(()=>canDispatchCustomEventRef.current = true, 250);\n }\n });\n }\n }, [\n popoverRef,\n setThrottleTimeout\n ]);\n React.useEffect(()=>{\n ()=>clearThrottleTimeout();\n }, [\n clearThrottleTimeout\n ]);\n var _useMenuContext_unstable;\n const inline = (_useMenuContext_unstable = useMenuContext_unstable((context)=>context.inline)) !== null && _useMenuContext_unstable !== void 0 ? _useMenuContext_unstable : false;\n const mountNode = useMenuContext_unstable((context)=>context.mountNode);\n const rootProps = slot.always(getIntrinsicElementProps('div', {\n role: 'presentation',\n ...restoreFocusSourceAttributes,\n ...props,\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, popoverRef, mouseOverListenerCallbackRef)\n }), {\n elementType: 'div'\n });\n const { onMouseEnter: onMouseEnterOriginal, onKeyDown: onKeyDownOriginal } = rootProps;\n rootProps.onMouseEnter = useEventCallback((event)=>{\n if (openOnHover || isSubmenu) {\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuPopoverMouseEnter',\n event\n });\n }\n onMouseEnterOriginal === null || onMouseEnterOriginal === void 0 ? void 0 : onMouseEnterOriginal(event);\n });\n rootProps.onKeyDown = useEventCallback((event)=>{\n const key = event.key;\n if (key === Escape || isSubmenu && key === CloseArrowKey) {\n var _popoverRef_current;\n if (open && ((_popoverRef_current = popoverRef.current) === null || _popoverRef_current === void 0 ? void 0 : _popoverRef_current.contains(event.target)) && !event.isDefaultPrevented()) {\n setOpen(event, {\n open: false,\n keyboard: true,\n type: 'menuPopoverKeyDown',\n event\n });\n // stop propagation to avoid conflicting with other elements that listen for `Escape`\n // e,g: Dialog, Popover, Menu and Tooltip\n event.preventDefault();\n }\n }\n if (key === Tab) {\n setOpen(event, {\n open: false,\n keyboard: true,\n type: 'menuPopoverKeyDown',\n event\n });\n if (!isSubmenu) {\n var _triggerRef_current;\n (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();\n }\n }\n onKeyDownOriginal === null || onKeyDownOriginal === void 0 ? void 0 : onKeyDownOriginal(event);\n });\n return {\n inline,\n mountNode,\n components: {\n root: 'div'\n },\n root: rootProps\n };\n};\n","import { getRestorer, getTabsterAttribute, RestorerTypes } from 'tabster';\nimport { useTabster } from './useTabster';\n/**\n * Focus will be restored to the most recent target element when it is lost from a source\n * @returns Attribute to apply to the target element where focus is restored\n */ export function useRestoreFocusTarget() {\n const tabster = useTabster();\n // Initializes the restorer API\n if (tabster) {\n getRestorer(tabster);\n }\n return getTabsterAttribute({\n restorer: {\n type: RestorerTypes.Target\n }\n });\n}\n/**\n * Focus will be restored to the most recent target element when it is lost from a source\n * @returns Attribute to apply to the element that might lose focus\n */ export function useRestoreFocusSource() {\n const tabster = useTabster();\n // Initializes the restorer API\n if (tabster) {\n getRestorer(tabster);\n }\n return getTabsterAttribute({\n restorer: {\n type: RestorerTypes.Source\n }\n });\n}\n","import { mergeClasses, __styles } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { createSlideStyles } from '@fluentui/react-positioning';\nexport const menuPopoverClassNames = {\n root: 'fui-MenuPopover'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"ft85np5\",\n De3pzq: \"fxugw4r\",\n sj55zd: \"f19n0e5\",\n B7ck84d: \"f1ewtqcl\",\n Bf4jedk: \"fl8fusi\",\n B2u0y6b: \"f1kaai3v\",\n B68tc82: \"f1p9o1ba\",\n a9b677: \"f1ahpp82\",\n E5pizo: \"f1hg901r\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"fd3pd8h\",\n Bgfg5da: 0,\n B9xav0g: 0,\n oivjwe: 0,\n Bn0qgzm: 0,\n B4g9neb: 0,\n zhjwy3: 0,\n wvpqe5: 0,\n ibv6hh: 0,\n u1mtju: 0,\n h3c5rm: 0,\n vrafjx: 0,\n Bekrc4i: 0,\n i8vvqc: 0,\n g2u3we: 0,\n icvyot: 0,\n B4j52fo: 0,\n irswps: \"f9ggezi\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"f1i3iumi\",\n B93otf3: \"f1hdglry\",\n vin17d: \"fo1kyvf\",\n Ezkn3b: \"fetxo7e\",\n nyiy2g: \"f8x1vz1\",\n swvrvq: \"f8g0anz\",\n Bkovbt3: \"fezwn9i\",\n hgjdhn: \"fz5efge\",\n fsy9dk: \"f1ydixl4\",\n B3ogreh: \"f8dgqj5\",\n jv49x5: \"fnyfnr8\",\n Bk7o48c: \"fgw77r4\",\n Bv12yb3: \"ftje0s4\",\n vcguit: \"fxes1gr\",\n z0t1cu: \"fi19xcv\",\n Bks05zx: \"f1mzajhk\",\n yckwsp: \"fgez7cy\",\n Bvtglag: \"fjp4h9y\"\n }\n}, {\n d: [[\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".f19n0e5{color:var(--colorNeutralForeground1);}\", \".f1ewtqcl{box-sizing:border-box;}\", \".fl8fusi{min-width:138px;}\", \".f1kaai3v{max-width:300px;}\", \".f1p9o1ba{overflow-x:hidden;}\", \".f1ahpp82{width:max-content;}\", \".f1hg901r{box-shadow:var(--shadow16);}\", [\".fd3pd8h{padding:4px;}\", {\n p: -1\n }], [\".f9ggezi{border:1px solid var(--colorTransparentStroke);}\", {\n p: -2\n }], \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", \".f1hdglry{animation-composition:replace,accumulate;}\", \".fo1kyvf{animation-duration:var(--durationSlower);}\", \".fetxo7e{animation-timing-function:var(--curveDecelerateMid);}\", \".f8x1vz1{--fui-positioning-slide-distance-x:0px;}\", \".f8g0anz{--fui-positioning-slide-distance-y:10px;}\", \".fezwn9i[data-popper-placement^=right]{--fui-positioning-slide-distance-x:-10px;}\", \".fz5efge[data-popper-placement^=right]{--fui-positioning-slide-distance-y:0px;}\", \".f1ydixl4[data-popper-placement^=bottom]{--fui-positioning-slide-distance-x:0px;}\", \".f8dgqj5[data-popper-placement^=bottom]{--fui-positioning-slide-distance-y:-10px;}\", \".fnyfnr8[data-popper-placement^=left]{--fui-positioning-slide-distance-x:10px;}\", \".fgw77r4[data-popper-placement^=left]{--fui-positioning-slide-distance-y:0px;}\", \".ftje0s4{animation-name:f5j8bii,f79suad;}\"],\n k: [\"@keyframes f5j8bii{from{opacity:0;}to{opacity:1;}}\", \"@keyframes f79suad{from{transform:translate(var(--fui-positioning-slide-distance-x), var(--fui-positioning-slide-distance-y));}}\"],\n m: [[\"@media (prefers-reduced-motion){.fxes1gr[data-popper-placement]{animation-composition:replace;}}\", {\n m: \"(prefers-reduced-motion)\"\n }], [\"@media (prefers-reduced-motion){.fi19xcv[data-popper-placement]{animation-duration:1ms;}}\", {\n m: \"(prefers-reduced-motion)\"\n }], [\"@media (prefers-reduced-motion){.f1mzajhk[data-popper-placement]{animation-name:f5j8bii;}}\", {\n m: \"(prefers-reduced-motion)\"\n }]],\n t: [\"@supports not (animation-composition: accumulate){.fgez7cy[data-popper-placement]{animation-composition:replace;}}\", \"@supports not (animation-composition: accumulate){.fjp4h9y[data-popper-placement]{animation-name:f5j8bii;}}\"]\n});\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuPopoverStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(menuPopoverClassNames.root, styles.root, state.root.className);\n return state;\n};","/**\n * Sets the virtual parent of an element.\n *\n * @internal\n * @param child - Theme element to set the virtual parent\n * @param parent - The virtual parent, use `undefined` to remove a virtual parent relationship\n */ export function setVirtualParent(child, parent) {\n if (!child) {\n return;\n }\n const virtualChild = child;\n if (!virtualChild._virtual) {\n virtualChild._virtual = {};\n }\n virtualChild._virtual.parent = parent;\n}\n","import * as React from 'react';\n/**\n * Provides a mount node for portals to render into.\n *\n * @internal\n */ const PortalMountNodeContext = React.createContext(undefined);\n/**\n * @internal\n */ export const PortalMountNodeProvider = PortalMountNodeContext.Provider;\nexport function usePortalMountNode() {\n return React.useContext(PortalMountNodeContext);\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});","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 'use no memo';\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 element.setAttribute('data-portal-node', 'true');\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 element.setAttribute('data-portal-node', 'true');\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 //
\n // \n // \n //
\n //
\n // \n //
\n // \n //\n // To make sure that `.elementContains()` works correctly, we link a virtual parent to a portal node (a virtual parent node becomes a parent of mount node):\n // virtual.contains(mountNode) === false\n // (while we need ⬇️⬇️⬇️)\n // elementsContains(virtualParent, mountNode) === true\n // elementsContains(mountNode, virtualParent) === false\n //\n // For more details, check docs for virtual parent utils.\n //\n // However, if a user provides a custom mount node (via `props`) the structure could be different:\n //\n // \n // \n //
\n //
\n // \n //\n // \n //
\n //
\n // \n //\n // A mount node in this case contains portal's content and a virtual parent node. In this case nodes linking is redundant and the check below avoids it.\n //\n // Otherwise, there is a circular reference - both elements are parents of each other:\n // elementsContains(mountNode, virtualParent) === true\n // elementsContains(virtualParent, mountNode) === true\n const isVirtualParentInsideChild = mountNode.contains(virtualParent);\n if (virtualParent && !isVirtualParentInsideChild) {\n setVirtualParent(mountNode, virtualParent);\n return ()=>{\n setVirtualParent(mountNode, undefined);\n };\n }\n }, [\n virtualParentRootRef,\n mountNode\n ]);\n return state;\n};\n","import { isHTMLElement } from '@fluentui/react-utilities';\n/**\n * The function that normalizes the `mountNode` prop into an object with element and className props.\n *\n * @param mountNode - an HTML element or an object with props\n */ export function toMountNodeProps(mountNode) {\n if (isHTMLElement(mountNode)) {\n return {\n element: mountNode\n };\n }\n if (typeof mountNode === 'object') {\n if (mountNode === null) {\n return {\n element: null\n };\n }\n return mountNode;\n }\n return {};\n}\n","import * as ReactDOM from 'react-dom';\nimport * as React from 'react';\n/**\n * Render the final JSX of Portal\n */ export const renderPortal_unstable = (state)=>{\n return /*#__PURE__*/ React.createElement(\"span\", {\n hidden: true,\n ref: state.virtualParentRootRef\n }, state.mountNode && /*#__PURE__*/ ReactDOM.createPortal(state.children, state.mountNode));\n};\n","import * as React from 'react';\nimport { usePortal_unstable } from './usePortal';\nimport { renderPortal_unstable } from './renderPortal';\n/**\n * A portal provides a way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n */ export const Portal = (props)=>{\n const state = usePortal_unstable(props);\n return renderPortal_unstable(state);\n};\nPortal.displayName = 'Portal';\n","import * as React from 'react';\nimport { useMenuPopover_unstable } from './useMenuPopover';\nimport { useMenuPopoverStyles_unstable } from './useMenuPopoverStyles.styles';\nimport { renderMenuPopover_unstable } from './renderMenuPopover';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Popover intended to wrap `MenuList` and adds styling and interaction support specific to menus\n */ export const MenuPopover = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMenuPopover_unstable(props, ref);\n useMenuPopoverStyles_unstable(state);\n useCustomStyleHook_unstable('useMenuPopoverStyles_unstable')(state);\n return renderMenuPopover_unstable(state);\n});\nMenuPopover.displayName = 'MenuPopover';\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { Portal } from '@fluentui/react-portal';\n/**\n * Render the final JSX of MenuPopover\n */ export const renderMenuPopover_unstable = (state)=>{\n assertSlots(state);\n if (state.inline) {\n return /*#__PURE__*/ _jsx(state.root, {});\n }\n return /*#__PURE__*/ _jsx(Portal, {\n mountNode: state.mountNode,\n children: /*#__PURE__*/ _jsx(state.root, {})\n });\n};\n","import * as React from 'react';\n/**\n * @internal\n * Checks if a given element is a FluentUI trigger (e.g. `MenuTrigger` or `Tooltip`).\n * See the {@link FluentTriggerComponent} type for more info.\n */ export function isFluentTrigger(element) {\n return Boolean(element.type.isFluentTriggerComponent);\n}\n","import * as React from 'react';\nimport { isFluentTrigger } from './isFluentTrigger';\n/**\n * @internal\n * Gets the trigger element of a FluentTriggerComponent (such as Tooltip or MenuTrigger).\n *\n * In the case where the immediate child is itself a FluentTriggerComponent and/or React Fragment,\n * it returns the first descendant that is _not_ a FluentTriggerComponent or Fragment.\n * This allows multiple triggers to be stacked, and still apply their props to the actual trigger element.\n *\n * For example, the following returns `
`:\n * ```jsx\n * getTriggerChild(\n * \n * \n *
\n * \n * \n * );\n * ```\n *\n * In the case where the immediate child is not a valid element,\n * null is returned\n */ export function getTriggerChild(children) {\n if (!React.isValidElement(children)) {\n return null;\n }\n return isFluentTrigger(children) ? getTriggerChild(// FIXME: This casting should be unnecessary as isFluentTrigger is a guard type method,\n // but for some reason it's failing on build\n children.props.children) : children;\n}\n","import * as React from 'react';\nimport { isFluentTrigger } from './isFluentTrigger';\n/**\n * @internal\n * resolve the trigger props to the children, either by calling the render function, or cloning with the new props.\n */ export function applyTriggerPropsToChildren(children, triggerChildProps) {\n if (typeof children === 'function') {\n return children(triggerChildProps);\n } else if (children) {\n return cloneTriggerTree(children, triggerChildProps);\n }\n // Components in React should return either JSX elements or \"null\", otherwise React will throw:\n // Nothing was returned from render.\n // This usually means a return statement is missing. Or, to render nothing, return null.\n return children || null;\n}\n/**\n * Clones a React element tree, and applies the given props to the first grandchild that is not\n * a FluentTriggerComponent or React Fragment (the same element returned by {@link getTriggerChild}).\n */ function cloneTriggerTree(child, triggerProps) {\n if (!React.isValidElement(child) || child.type === React.Fragment) {\n throw new Error('A trigger element must be a single element for this component. ' + \"Please ensure that you're not using React Fragments.\");\n }\n if (isFluentTrigger(child)) {\n const grandchild = cloneTriggerTree(child.props.children, triggerProps);\n return React.cloneElement(child, undefined, grandchild);\n } else {\n return React.cloneElement(child, triggerProps);\n }\n}\n","import * as React from 'react';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { ArrowRight, ArrowLeft, Escape, ArrowDown } from '@fluentui/keyboard-keys';\nimport { applyTriggerPropsToChildren, getTriggerChild, isHTMLElement, mergeCallbacks, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\n/**\n * Create the state required to render MenuTrigger.\n * Clones the only child component and adds necessary event handling behaviours to open a popup menu\n *\n * @param props - props from this instance of MenuTrigger\n */ export const useMenuTrigger_unstable = (props)=>{\n const { children, disableButtonEnhancement = false } = props;\n const triggerRef = useMenuContext_unstable((context)=>context.triggerRef);\n const menuPopoverRef = useMenuContext_unstable((context)=>context.menuPopoverRef);\n const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n const open = useMenuContext_unstable((context)=>context.open);\n const triggerId = useMenuContext_unstable((context)=>context.triggerId);\n const openOnHover = useMenuContext_unstable((context)=>context.openOnHover);\n const openOnContext = useMenuContext_unstable((context)=>context.openOnContext);\n const isSubmenu = useIsSubmenu();\n const { findFirstFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(()=>{\n const firstFocusable = findFirstFocusable(menuPopoverRef.current);\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }, [\n findFirstFocusable,\n menuPopoverRef\n ]);\n const openedWithKeyboardRef = React.useRef(false);\n const hasMouseMoved = React.useRef(false);\n const { dir } = useFluent();\n const OpenArrowKey = dir === 'ltr' ? ArrowRight : ArrowLeft;\n const child = getTriggerChild(children);\n const onContextMenu = (event)=>{\n if (isTargetDisabled(event) || event.isDefaultPrevented()) {\n return;\n }\n if (openOnContext) {\n event.preventDefault();\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuTriggerContextMenu',\n event\n });\n }\n };\n const onClick = (event)=>{\n if (isTargetDisabled(event)) {\n return;\n }\n if (!openOnContext) {\n setOpen(event, {\n open: !open,\n keyboard: openedWithKeyboardRef.current,\n type: 'menuTriggerClick',\n event\n });\n openedWithKeyboardRef.current = false;\n }\n };\n const onKeyDown = (event)=>{\n if (isTargetDisabled(event)) {\n return;\n }\n const key = event.key;\n if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === ArrowDown)) {\n setOpen(event, {\n open: true,\n keyboard: true,\n type: 'menuTriggerKeyDown',\n event\n });\n }\n if (key === Escape && !isSubmenu) {\n setOpen(event, {\n open: false,\n keyboard: true,\n type: 'menuTriggerKeyDown',\n event\n });\n }\n // if menu is already open, can't rely on effects to focus\n if (open && key === OpenArrowKey && isSubmenu) {\n focusFirst();\n }\n };\n const onMouseEnter = (event)=>{\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover && hasMouseMoved.current) {\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuTriggerMouseEnter',\n event\n });\n }\n };\n // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience\n // First time open the mouse using mousemove and then continue with mouseenter\n // Only use once to determine that the user is using the mouse since it is an expensive event to handle\n const onMouseMove = (event)=>{\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover && !hasMouseMoved.current) {\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuTriggerMouseMove',\n event\n });\n hasMouseMoved.current = true;\n }\n };\n const onMouseLeave = (event)=>{\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover) {\n setOpen(event, {\n open: false,\n keyboard: false,\n type: 'menuTriggerMouseLeave',\n event\n });\n }\n };\n const contextMenuProps = {\n id: triggerId,\n ...child === null || child === void 0 ? void 0 : child.props,\n ref: useMergedRefs(triggerRef, child === null || child === void 0 ? void 0 : child.ref),\n onMouseEnter: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseEnter, onMouseEnter)),\n onMouseLeave: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseLeave, onMouseLeave)),\n onContextMenu: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onContextMenu, onContextMenu)),\n onMouseMove: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseMove, onMouseMove))\n };\n const triggerChildProps = {\n 'aria-haspopup': 'menu',\n 'aria-expanded': !open && !isSubmenu ? undefined : open,\n ...contextMenuProps,\n onClick: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onClick, onClick)),\n onKeyDown: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onKeyDown, onKeyDown))\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', triggerChildProps);\n return {\n isSubmenu,\n children: applyTriggerPropsToChildren(children, openOnContext ? contextMenuProps : disableButtonEnhancement ? triggerChildProps : ariaButtonTriggerChildProps)\n };\n};\nconst isTargetDisabled = (event)=>{\n const isDisabled = (el)=>el.hasAttribute('disabled') || el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true';\n if (isHTMLElement(event.target) && isDisabled(event.target)) {\n return true;\n }\n return isHTMLElement(event.currentTarget) && isDisabled(event.currentTarget);\n};\n","import * as React from 'react';\nimport { MenuTriggerContextProvider } from '../../contexts/menuTriggerContext';\n/**\n * Render the final JSX of MenuTrigger\n *\n * Only renders children\n */ export const renderMenuTrigger_unstable = (state)=>{\n return /*#__PURE__*/ React.createElement(MenuTriggerContextProvider, {\n value: state.isSubmenu\n }, state.children);\n};\n","import * as React from 'react';\nimport { useMenuTrigger_unstable } from './useMenuTrigger';\nimport { renderMenuTrigger_unstable } from './renderMenuTrigger';\n/**\n * Wraps a trigger element as an only child\n * and adds the necessary event handling to open a popup menu\n */ export const MenuTrigger = (props)=>{\n const state = useMenuTrigger_unstable(props);\n return renderMenuTrigger_unstable(state);\n};\nMenuTrigger.displayName = 'MenuTrigger';\n// type casting here is required to ensure internal type FluentTriggerComponent is not leaked\nMenuTrigger.isFluentTriggerComponent = true;\n","import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const MenuContext = createContext(undefined);\nconst menuContextDefaultValue = {\n open: false,\n setOpen: ()=>false,\n checkedValues: {},\n onCheckedValueChange: ()=>null,\n isSubmenu: false,\n triggerRef: {\n current: null\n },\n menuPopoverRef: {\n current: null\n },\n mountNode: null,\n triggerId: '',\n openOnContext: false,\n openOnHover: false,\n hasIcons: false,\n hasCheckmarks: false,\n inline: false,\n persistOnItemClick: false\n};\nexport const MenuProvider = MenuContext.Provider;\nexport const useMenuContext_unstable = (selector)=>useContextSelector(MenuContext, (ctx = menuContextDefaultValue)=>selector(ctx));\n","import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const MenuListContext = createContext(undefined);\nconst menuListContextDefaultValue = {\n checkedValues: {},\n setFocusByFirstCharacter: ()=>null,\n toggleCheckbox: ()=>null,\n selectRadio: ()=>null,\n hasIcons: false,\n hasCheckmarks: false\n};\nexport const MenuListProvider = MenuListContext.Provider;\nexport const useMenuListContext_unstable = (selector)=>useContextSelector(MenuListContext, (ctx = menuListContextDefaultValue)=>selector(ctx));\n","import * as React from 'react';\n/**\n * Context used communicate with a child menu item that it is a trigger for a submenu\n */ const MenuTriggerContext = React.createContext(undefined);\nconst menuTriggerContextDefaultValue = false;\nexport const MenuTriggerContextProvider = MenuTriggerContext.Provider;\nexport const useMenuTriggerContext_unstable = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(MenuTriggerContext)) !== null && _React_useContext !== void 0 ? _React_useContext : menuTriggerContextDefaultValue;\n};\n","import { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useMenuContext_unstable } from '../contexts/menuContext';\nimport { MenuListContext } from '../contexts/menuListContext';\n/**\n * A component can be a part of a submenu whether its menu context `isSubmenu` flag is true\n * or whether it is a part of a `MenuList`\n *\n * A simple hook to check box contexts easily\n *\n * @returns whether the component is part of a submenu\n */ export function useIsSubmenu() {\n const menuContextValue = useMenuContext_unstable((context)=>context.isSubmenu);\n const hasMenuListContext = useHasParentContext(MenuListContext);\n return menuContextValue || hasMenuListContext;\n}\n","import * as React from 'react';\nimport { useEventCallback, elementContains } from '@fluentui/react-utilities';\n/**\n * Name of the custom event\n */ export const MENU_ENTER_EVENT = 'fuimenuenter';\n/**\n * This hook works similarly to @see useOnClickOutside\n *\n * Problem: Trying to behave the same as system menus:\n * When the mouse leaves a stack of nested menus the stack should not dismiss.\n * However if the mouse leaves a stack of menus and enters a parent menu all its children menu should dismiss.\n *\n * We don't use the native mouseenter event because it would trigger too many times in the document\n * Instead, dispatch custom DOM event from the menu so that it can bubble\n * Each nested menu can use the listener to check if the event is from a child or parent menu\n */ export const useOnMenuMouseEnter = (options)=>{\n const { refs, callback, element, disabled } = options;\n // Keep mouse event here because this is essentially a custom 'mouseenter' event\n const listener = useEventCallback((ev)=>{\n const popoverRef = refs[0];\n const someMenuPopover = ev.target;\n var _popoverRef_current;\n // someMenu is a child -> will always be contained because of vParents\n // someMenu is a parent -> will always not be contained because no vParent\n // someMenu is the current popover -> it will contain itself\n const isOutsidePopover = !elementContains((_popoverRef_current = popoverRef.current) !== null && _popoverRef_current !== void 0 ? _popoverRef_current : null, someMenuPopover);\n if (isOutsidePopover && !disabled) {\n callback(ev);\n }\n });\n React.useEffect(()=>{\n // eslint-disable-next-line eqeqeq\n if (element == null) {\n return;\n }\n if (!disabled) {\n element.addEventListener(MENU_ENTER_EVENT, listener);\n }\n return ()=>{\n element.removeEventListener(MENU_ENTER_EVENT, listener);\n };\n }, [\n listener,\n element,\n disabled\n ]);\n};\n/**\n * Dispatches the custom MouseEvent enter event. Similar to calling `el.click()`\n * @param el - element for the event target\n * @param nativeEvent - the native mouse event this is mapped to\n */ export const dispatchMenuEnterEvent = (el, nativeEvent)=>{\n el.dispatchEvent(new CustomEvent(MENU_ENTER_EVENT, {\n bubbles: true,\n detail: {\n nativeEvent\n }\n }));\n};\n","import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const PopoverContext = createContext(undefined);\nconst popoverContextDefaultValue = {\n open: false,\n setOpen: ()=>null,\n toggleOpen: ()=>null,\n triggerRef: {\n current: null\n },\n contentRef: {\n current: null\n },\n arrowRef: {\n current: null\n },\n openOnContext: false,\n openOnHover: false,\n size: 'medium',\n trapFocus: false,\n inline: false\n};\nexport const PopoverProvider = PopoverContext.Provider;\nexport const usePopoverContext_unstable = (selector)=>useContextSelector(PopoverContext, (ctx = popoverContextDefaultValue)=>selector(ctx));\n","import * as React from 'react';\nvar PortalCompatContext = React.createContext(undefined);\nvar portalCompatContextDefaultValue = function() {\n return function() {\n return undefined;\n };\n};\nexport var PortalCompatContextProvider = PortalCompatContext.Provider;\nexport function usePortalCompat() {\n var _React_useContext;\n return (_React_useContext = React.useContext(PortalCompatContext)) !== null && _React_useContext !== void 0 ? _React_useContext : portalCompatContextDefaultValue;\n}\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const progressBarClassNames = {\n root: 'fui-ProgressBar',\n bar: 'fui-ProgressBar__bar'\n};\n// If the percentComplete is near 0, don't animate it.\n// This prevents animations on reset to 0 scenarios.\nconst ZERO_THRESHOLD = 0.01;\nconst barThicknessValues = {\n medium: '2px',\n large: '4px'\n};\nconst indeterminateProgressBar = {\n '0%': {\n left: '-33%'\n },\n '100%': {\n left: '100%'\n }\n};\n/**\n * Styles for the root slot\n */\nconst useRootStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"ftgm304\",\n De3pzq: \"f18f03hv\",\n a9b677: \"fly5x3f\",\n B68tc82: 0,\n Bmxbyg5: 0,\n Bpg54ce: \"f1a3p1vp\",\n Bpep1pd: \"fu42dvn\"\n },\n rounded: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"ft85np5\"\n },\n square: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"f1fabniw\"\n },\n medium: {\n Bqenvij: \"f4t8t6x\"\n },\n large: {\n Bqenvij: \"f6ywr7j\"\n }\n}, {\n d: [\".ftgm304{display:block;}\", \".f18f03hv{background-color:var(--colorNeutralBackground6);}\", \".fly5x3f{width:100%;}\", [\".f1a3p1vp{overflow:hidden;}\", {\n p: -1\n }], [\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], [\".f1fabniw{border-radius:var(--borderRadiusNone);}\", {\n p: -1\n }], \".f4t8t6x{height:2px;}\", \".f6ywr7j{height:4px;}\"],\n m: [[\"@media screen and (forced-colors: active){.fu42dvn{background-color:CanvasText;}}\", {\n m: \"screen and (forced-colors: active)\"\n }]]\n});\n/**\n * Styles for the ProgressBar bar\n */\nconst useBarStyles = /*#__PURE__*/__styles({\n base: {\n Bpep1pd: \"f1neahkh\",\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"f12b9xdw\",\n Bqenvij: \"f1l02sjl\"\n },\n nonZeroDeterminate: {\n Bmy1vo4: \"fjt6zfz\",\n B3o57yi: \"f1wofebd\",\n Bkqvd7p: \"fv71qf3\"\n },\n indeterminate: {\n B2u0y6b: \"fa0wk36\",\n qhf8xq: \"f10pi13n\",\n Bcmaq0h: [\"fpo0yib\", \"f1u5hf6c\"],\n Bv12yb3: [\"fwd2bol\", \"f14gig94\"],\n vin17d: \"f1a27w2r\",\n Ezkn3b: \"f452v7t\",\n w3vfg9: \"f1cpbl36\",\n Gqtpxc: \"f4akx1t\",\n B3vm3ge: \"f18p5put\"\n },\n brand: {\n De3pzq: \"ftywsgz\"\n },\n error: {\n De3pzq: \"fdl5y0r\"\n },\n warning: {\n De3pzq: \"f1s438gw\"\n },\n success: {\n De3pzq: \"flxk52p\"\n }\n}, {\n m: [[\"@media screen and (forced-colors: active){.f1neahkh{background-color:Highlight;}}\", {\n m: \"screen and (forced-colors: active)\"\n }], [\"@media screen and (prefers-reduced-motion: reduce){.f4akx1t{animation-duration:0.01ms;}}\", {\n m: \"screen and (prefers-reduced-motion: reduce)\"\n }], [\"@media screen and (prefers-reduced-motion: reduce){.f18p5put{animation-iteration-count:1;}}\", {\n m: \"screen and (prefers-reduced-motion: reduce)\"\n }]],\n d: [[\".f12b9xdw{border-radius:inherit;}\", {\n p: -1\n }], \".f1l02sjl{height:100%;}\", \".fjt6zfz{transition-property:width;}\", \".f1wofebd{transition-duration:0.3s;}\", \".fv71qf3{transition-timing-function:ease;}\", \".fa0wk36{max-width:33%;}\", \".f10pi13n{position:relative;}\", \".fpo0yib{background-image:linear-gradient(\\n to right,\\n var(--colorNeutralBackground6) 0%,\\n var(--colorTransparentBackground) 50%,\\n var(--colorNeutralBackground6) 100%\\n );}\", \".f1u5hf6c{background-image:linear-gradient(\\n to left,\\n var(--colorNeutralBackground6) 0%,\\n var(--colorTransparentBackground) 50%,\\n var(--colorNeutralBackground6) 100%\\n );}\", \".fwd2bol{animation-name:f1keuaan;}\", \".f14gig94{animation-name:f10x8f8u;}\", \".f1a27w2r{animation-duration:3s;}\", \".f452v7t{animation-timing-function:linear;}\", \".f1cpbl36{animation-iteration-count:infinite;}\", \".ftywsgz{background-color:var(--colorCompoundBrandBackground);}\", \".fdl5y0r{background-color:var(--colorPaletteRedBackground3);}\", \".f1s438gw{background-color:var(--colorPaletteDarkOrangeBackground3);}\", \".flxk52p{background-color:var(--colorPaletteGreenBackground3);}\"],\n k: [\"@keyframes f1keuaan{0%{left:-33%;}100%{left:100%;}}\", \"@keyframes f10x8f8u{0%{right:-33%;}100%{right:100%;}}\"]\n});\n/**\n * Apply styling to the ProgressBar slots based on the state\n */\nexport const useProgressBarStyles_unstable = state => {\n 'use no memo';\n\n const {\n color,\n max,\n shape,\n thickness,\n value\n } = state;\n const rootStyles = useRootStyles();\n const barStyles = useBarStyles();\n state.root.className = mergeClasses(progressBarClassNames.root, rootStyles.root, rootStyles[shape], rootStyles[thickness], state.root.className);\n if (state.bar) {\n state.bar.className = mergeClasses(progressBarClassNames.bar, barStyles.base, barStyles.brand, value === undefined && barStyles.indeterminate, value !== undefined && value > ZERO_THRESHOLD && barStyles.nonZeroDeterminate, color && value !== undefined && barStyles[color], state.bar.className);\n }\n if (state.bar && value !== undefined) {\n state.bar.style = {\n width: Math.min(100, Math.max(0, value / max * 100)) + '%',\n ...state.bar.style\n };\n }\n return state;\n};","import * as React from 'react';\nimport { useProgressBar_unstable } from './useProgressBar';\nimport { renderProgressBar_unstable } from './renderProgressBar';\nimport { useProgressBarStyles_unstable } from './useProgressBarStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A ProgressBar bar shows the progression of a task.\n */ export const ProgressBar = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useProgressBar_unstable(props, ref);\n useProgressBarStyles_unstable(state);\n useCustomStyleHook_unstable('useProgressBarStyles_unstable')(state);\n return renderProgressBar_unstable(state);\n});\nProgressBar.displayName = 'ProgressBar';\n","import * as React from 'react';\nimport { useFieldContext_unstable } from '@fluentui/react-field';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { clampValue, clampMax } from '../../utils/index';\n/**\n * Create the state required to render ProgressBar.\n *\n * The returned state can be modified with hooks such as useProgressBarStyles_unstable,\n * before being passed to renderProgressBar_unstable.\n *\n * @param props - props from this instance of ProgressBar\n * @param ref - reference to root HTMLElement of ProgressBar\n */ export const useProgressBar_unstable = (props, ref)=>{\n const field = useFieldContext_unstable();\n const fieldState = field === null || field === void 0 ? void 0 : field.validationState;\n const { color = fieldState === 'error' || fieldState === 'warning' || fieldState === 'success' ? fieldState : 'brand', shape = 'rounded', thickness = 'medium' } = props;\n var _props_max;\n const max = clampMax((_props_max = props.max) !== null && _props_max !== void 0 ? _props_max : 1);\n const value = clampValue(props.value, max);\n const root = slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n role: 'progressbar',\n 'aria-valuemin': value !== undefined ? 0 : undefined,\n 'aria-valuemax': value !== undefined ? max : undefined,\n 'aria-valuenow': value,\n 'aria-labelledby': field === null || field === void 0 ? void 0 : field.labelId,\n ...props\n }), {\n elementType: 'div'\n });\n if (field && (field.validationMessageId || field.hintId)) {\n // Prepend the field's validation message and/or hint to the user's aria-describedby\n root['aria-describedby'] = [\n field === null || field === void 0 ? void 0 : field.validationMessageId,\n field === null || field === void 0 ? void 0 : field.hintId,\n root['aria-describedby']\n ].filter(Boolean).join(' ');\n }\n const bar = slot.always(props.bar, {\n elementType: 'div'\n });\n const state = {\n color,\n max,\n shape,\n thickness,\n value,\n components: {\n root: 'div',\n bar: 'div'\n },\n root,\n bar\n };\n return state;\n};\n","export const clampMax = (max)=>{\n const internalMax = max <= 0 ? 1 : max;\n if (process.env.NODE_ENV !== 'production') {\n if (max <= 0) {\n // eslint-disable-next-line no-console\n console.error(`The prop 'max' must be greater than 0. Received max: ${max}`);\n }\n }\n return internalMax;\n};\n","export const clampValue = (value, max)=>{\n if (value === undefined) {\n return value;\n }\n const internalValue = value < 0 ? 0 : value > max ? max : value;\n if (process.env.NODE_ENV !== 'production') {\n if (value < 0) {\n // eslint-disable-next-line no-console\n console.error(`The prop 'value' must be greater than or equal to zero. Received value: ${value}`);\n }\n if (value > max) {\n // eslint-disable-next-line no-console\n console.error(`The prop 'value' must be less than or equal to 'max'. Received value: ${value}, max: ${max}`);\n }\n }\n return internalValue;\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 ProgressBar\n */ export const renderProgressBar_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {\n children: state.bar && /*#__PURE__*/ _jsx(state.bar, {})\n });\n};\n","import * as React from 'react';\n/**\n * @internal\n */ export const ThemeContext = React.createContext(undefined);\n/**\n * @internal\n */ export const ThemeProvider = ThemeContext.Provider;\n","import * as React from 'react';\n/**\n * @internal\n * Context shared by all of the tooltips in the app\n */ const TooltipVisibilityContext = React.createContext(undefined);\nconst tooltipVisibilityContextDefaultValue = {};\n/**\n * @internal\n */ export const TooltipVisibilityProvider = TooltipVisibilityContext.Provider;\nexport function useTooltipVisibility() {\n var _React_useContext;\n return (_React_useContext = React.useContext(TooltipVisibilityContext)) !== null && _React_useContext !== void 0 ? _React_useContext : tooltipVisibilityContextDefaultValue;\n}\n","import * as React from 'react';\n/**\n * @internal\n */ export const OverridesContext = React.createContext(undefined);\n/**\n * @internal\n */ export const OverridesProvider = OverridesContext.Provider;\nexport function useOverrides() {\n var _React_useContext;\n return (_React_useContext = React.useContext(OverridesContext)) !== null && _React_useContext !== void 0 ? _React_useContext : {};\n}\n","import { __styles, mergeClasses } from '@griffel/core';\nimport { useRenderer_unstable } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const fluentProviderClassNames = {\n root: 'fui-FluentProvider'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n sj55zd: \"f19n0e5\",\n De3pzq: \"fxugw4r\",\n fsow6f: [\"f1o700av\", \"fes3tcz\"],\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"f1i3iumi\"\n }\n}, {\n d: [\".f19n0e5{color:var(--colorNeutralForeground1);}\", \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".f1o700av{text-align:left;}\", \".fes3tcz{text-align:right;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\"]\n});\n/** Applies style classnames to slots */\nexport const useFluentProviderStyles_unstable = state => {\n 'use no memo';\n\n const renderer = useRenderer_unstable();\n const styles = useStyles({\n dir: state.dir,\n renderer\n });\n state.root.className = mergeClasses(fluentProviderClassNames.root, state.themeClassName, styles.root, state.root.className);\n return state;\n};","import { useId, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createCSSRuleFromTheme } from './createCSSRuleFromTheme';\nimport { fluentProviderClassNames } from './useFluentProviderStyles.styles';\n// String concatenation is used to prevent bundlers to complain with older versions of React\nconst useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : useIsomorphicLayoutEffect;\nconst createStyleTag = (target, elementAttributes)=>{\n if (!target) {\n return undefined;\n }\n const tag = target.createElement('style');\n Object.keys(elementAttributes).forEach((attrName)=>{\n tag.setAttribute(attrName, elementAttributes[attrName]);\n });\n target.head.appendChild(tag);\n return tag;\n};\nconst insertSheet = (tag, rule)=>{\n const sheet = tag.sheet;\n if (sheet) {\n if (sheet.cssRules.length > 0) {\n sheet.deleteRule(0);\n }\n sheet.insertRule(rule, 0);\n } else if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error('FluentProvider: No sheet available on styleTag, styles will not be inserted into DOM.');\n }\n};\n/**\n * Writes a theme as css variables in a style tag on the provided targetDocument as a rule applied to a CSS class\n * @internal\n * @returns CSS class to apply the rule\n */ export const useFluentProviderThemeStyleTag = (options)=>{\n 'use no memo';\n const { targetDocument, theme, rendererAttributes } = options;\n const styleTag = React.useRef();\n const styleTagId = useId(fluentProviderClassNames.root);\n const styleElementAttributes = rendererAttributes;\n const rule = React.useMemo(()=>createCSSRuleFromTheme(`.${styleTagId}`, theme), [\n theme,\n styleTagId\n ]);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useMemo(()=>{\n // Heads up!\n // .useMemo() is used because it is called during render and DOM for _current_ component is not mounted yet. Also,\n // this allows to do checks with strict mode enabled as .useEffect() will be called with incremented IDs because\n // of double render.\n if (targetDocument) {\n const providerSelector = `.${fluentProviderClassNames.root}.${styleTagId}`;\n const providerElements = targetDocument.querySelectorAll(providerSelector);\n // In SSR, we will have DOM upfront. To avoid false positives the check on nested style tag is performed\n const isSSR = targetDocument.querySelector(`${providerSelector} > style[id=\"${styleTagId}\"]`) !== null;\n const elementsCount = isSSR ? 1 : 0;\n if (providerElements.length > elementsCount) {\n // eslint-disable-next-line no-console\n console.error([\n '@fluentui/react-provider: There are conflicting ids in your DOM.',\n 'Please make sure that you configured your application properly.',\n '\\n',\n '\\n',\n 'Configuration guide: https://aka.ms/fluentui-conflicting-ids'\n ].join(' '));\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n }\n useHandleSSRStyleElements(targetDocument, styleTagId);\n useInsertionEffect(()=>{\n // The style element could already have been created during SSR - no need to recreate it\n const ssrStyleElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.getElementById(styleTagId);\n if (ssrStyleElement) {\n styleTag.current = ssrStyleElement;\n } else {\n styleTag.current = createStyleTag(targetDocument, {\n ...styleElementAttributes,\n id: styleTagId\n });\n if (styleTag.current) {\n insertSheet(styleTag.current, rule);\n }\n }\n return ()=>{\n var _styleTag_current;\n (_styleTag_current = styleTag.current) === null || _styleTag_current === void 0 ? void 0 : _styleTag_current.remove();\n };\n }, [\n styleTagId,\n targetDocument,\n rule,\n styleElementAttributes\n ]);\n return {\n styleTagId,\n rule\n };\n};\nfunction useHandleSSRStyleElements(targetDocument, styleTagId) {\n // Using a state factory so that this logic only runs once per render\n // Each FluentProvider can create its own style element during SSR as a slot\n // Moves all theme style elements to document head during render to avoid hydration errors.\n // Should be strict mode safe since the logic is idempotent.\n React.useState(()=>{\n if (!targetDocument) {\n return;\n }\n const themeStyleElement = targetDocument.getElementById(styleTagId);\n if (themeStyleElement) {\n targetDocument.head.append(themeStyleElement);\n }\n });\n}\n","/**\n * Creates a CSS rule from a theme object.\n *\n * Useful for scenarios when you want to apply theming statically to a top level elements like `body`.\n */ export function createCSSRuleFromTheme(selector, theme) {\n if (theme) {\n const cssVarsAsString = Object.keys(theme).reduce((cssVarRule, cssVar)=>{\n return `${cssVarRule}--${cssVar}: ${theme[cssVar]}; `;\n }, '');\n return `${selector} { ${cssVarsAsString} }`;\n }\n return `${selector} {}`;\n}\n","import { useRenderer_unstable } from '@griffel/react';\nimport { useFocusVisible } from '@fluentui/react-tabster';\nimport { ThemeContext_unstable as ThemeContext, useFluent_unstable as useFluent, useOverrides_unstable as useOverrides, CustomStyleHooksContext_unstable as CustomStyleHooksContext } from '@fluentui/react-shared-contexts';\nimport { getIntrinsicElementProps, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useFluentProviderThemeStyleTag } from './useFluentProviderThemeStyleTag';\n// Meomizing empty objects to avoid unnecessary rerenders.\nconst DEFAULT_STYLE_HOOKS = {};\nconst DEFAULT_RENDERER_ATTRIBUTES = {};\n/**\n * Create the state required to render FluentProvider.\n *\n * The returned state can be modified with hooks such as useFluentProviderStyles_unstable,\n * before being passed to renderFluentProvider_unstable.\n *\n * @param props - props from this instance of FluentProvider\n * @param ref - reference to root HTMLElement of FluentProvider\n */ export const useFluentProvider_unstable = (props, ref)=>{\n 'use no memo';\n const parentContext = useFluent();\n const parentTheme = useTheme();\n const parentOverrides = useOverrides();\n const parentCustomStyleHooks = React.useContext(CustomStyleHooksContext) || DEFAULT_STYLE_HOOKS;\n /**\n * TODO: add merge functions to \"dir\" merge,\n * nesting providers with the same \"dir\" should not add additional attributes to DOM\n * see https://github.com/microsoft/fluentui/blob/0dc74a19f3aa5a058224c20505016fbdb84db172/packages/fluentui/react-northstar/src/utils/mergeProviderContexts.ts#L89-L93\n */ const { applyStylesToPortals = true, // eslint-disable-next-line @typescript-eslint/naming-convention\n customStyleHooks_unstable, dir = parentContext.dir, targetDocument = parentContext.targetDocument, theme, overrides_unstable: overrides = {} } = props;\n const mergedTheme = shallowMerge(parentTheme, theme);\n const mergedOverrides = shallowMerge(parentOverrides, overrides);\n const mergedCustomStyleHooks = shallowMerge(parentCustomStyleHooks, customStyleHooks_unstable);\n const renderer = useRenderer_unstable();\n var _renderer_styleElementAttributes;\n const { styleTagId, rule } = useFluentProviderThemeStyleTag({\n theme: mergedTheme,\n targetDocument,\n rendererAttributes: (_renderer_styleElementAttributes = renderer.styleElementAttributes) !== null && _renderer_styleElementAttributes !== void 0 ? _renderer_styleElementAttributes : DEFAULT_RENDERER_ATTRIBUTES\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(()=>{\n if (mergedTheme === undefined) {\n // eslint-disable-next-line no-console\n console.warn([\n '@fluentui/react-provider: FluentProvider does not have your \"theme\" defined.',\n \"Make sure that your top-level FluentProvider has set a `theme` prop or you're setting the theme in your child FluentProvider.\"\n ].join(' '));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n }\n return {\n applyStylesToPortals,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n customStyleHooks_unstable: mergedCustomStyleHooks,\n dir,\n targetDocument,\n theme: mergedTheme,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n overrides_unstable: mergedOverrides,\n themeClassName: styleTagId,\n components: {\n root: 'div'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n ...props,\n dir,\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: useMergedRefs(ref, useFocusVisible({\n targetDocument\n }))\n }), {\n elementType: 'div'\n }),\n serverStyleProps: {\n cssRule: rule,\n attributes: {\n ...renderer.styleElementAttributes,\n id: styleTagId\n }\n }\n };\n};\nfunction shallowMerge(a, b) {\n // Merge impacts perf: we should like to avoid it if it's possible\n if (a && b) {\n return {\n ...a,\n ...b\n };\n }\n if (a) {\n return a;\n }\n return b;\n}\nfunction useTheme() {\n return React.useContext(ThemeContext);\n}\n","import * as React from 'react';\nimport { renderFluentProvider_unstable } from './renderFluentProvider';\nimport { useFluentProvider_unstable } from './useFluentProvider';\nimport { useFluentProviderStyles_unstable } from './useFluentProviderStyles.styles';\nimport { useFluentProviderContextValues_unstable } from './useFluentProviderContextValues';\nexport const FluentProvider = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useFluentProvider_unstable(props, ref);\n useFluentProviderStyles_unstable(state);\n const contextValues = useFluentProviderContextValues_unstable(state);\n return renderFluentProvider_unstable(state, contextValues);\n});\nFluentProvider.displayName = 'FluentProvider';\n","import * as React from 'react';\nexport function useFluentProviderContextValues_unstable(state) {\n const { applyStylesToPortals, // eslint-disable-next-line @typescript-eslint/naming-convention\n customStyleHooks_unstable, dir, root, targetDocument, theme, themeClassName, // eslint-disable-next-line @typescript-eslint/naming-convention\n overrides_unstable } = state;\n const provider = React.useMemo(()=>({\n dir,\n targetDocument\n }), [\n dir,\n targetDocument\n ]);\n // \"Tooltip\" component mutates an object in this context, instance should be stable\n const [tooltip] = React.useState(()=>({}));\n const iconDirection = React.useMemo(()=>({\n textDirection: dir\n }), [\n dir\n ]);\n return {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n customStyleHooks_unstable,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n overrides_unstable,\n provider,\n textDirection: dir,\n iconDirection,\n tooltip,\n theme,\n themeClassName: applyStylesToPortals ? root.className : themeClassName\n };\n}\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { canUseDOM, assertSlots } from '@fluentui/react-utilities';\nimport { TextDirectionProvider } from '@griffel/react';\nimport { OverridesProvider_unstable as OverridesProvider, Provider_unstable as Provider, TooltipVisibilityProvider_unstable as TooltipVisibilityProvider, ThemeProvider_unstable as ThemeProvider, ThemeClassNameProvider_unstable as ThemeClassNameProvider, CustomStyleHooksProvider_unstable as CustomStyleHooksProvider } from '@fluentui/react-shared-contexts';\nimport { IconDirectionContextProvider } from '@fluentui/react-icons/lib/providers';\n/**\n * Render the final JSX of FluentProvider\n */ export const renderFluentProvider_unstable = (state, contextValues)=>{\n assertSlots(state);\n // Typescript (vscode) incorrectly references the FluentProviderProps.customStyleHooks_unstable\n // instead of FluentProviderContextValues.customStyleHooks_unstable and thinks it is\n // Partial, so it needs to be cast to Required\n return /*#__PURE__*/ _jsx(Provider, {\n value: contextValues.provider,\n children: /*#__PURE__*/ _jsx(ThemeProvider, {\n value: contextValues.theme,\n children: /*#__PURE__*/ _jsx(ThemeClassNameProvider, {\n value: contextValues.themeClassName,\n children: /*#__PURE__*/ _jsx(CustomStyleHooksProvider, {\n value: contextValues.customStyleHooks_unstable,\n children: /*#__PURE__*/ _jsx(TooltipVisibilityProvider, {\n value: contextValues.tooltip,\n children: /*#__PURE__*/ _jsx(TextDirectionProvider, {\n dir: contextValues.textDirection,\n children: /*#__PURE__*/ _jsx(IconDirectionContextProvider, {\n value: contextValues.iconDirection,\n children: /*#__PURE__*/ _jsx(OverridesProvider, {\n value: contextValues.overrides_unstable,\n children: /*#__PURE__*/ _jsxs(state.root, {\n children: [\n canUseDOM() ? null : /*#__PURE__*/ _jsx(\"style\", {\n // Using dangerous HTML because react can escape characters\n // which can lead to invalid CSS.\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML: {\n __html: state.serverStyleProps.cssRule\n },\n ...state.serverStyleProps.attributes\n }),\n state.root.children\n ]\n })\n })\n })\n })\n })\n })\n })\n })\n });\n};\n","/* eslint-disable */ import * as React from 'react';\n/**\n * @internal\n */ export const CustomStyleHooksContext = React.createContext(undefined);\nconst noop = ()=>{};\n/**\n * @internal\n */ export const CustomStyleHooksProvider = CustomStyleHooksContext.Provider;\n/**\n * Gets a custom style hook\n * @param hook - One of the hook properties in CustomStyleHooksContextValue\n * @returns The corresponding hook when defined, otherwise a no-op function.\n */ export const useCustomStyleHook = (hook)=>{\n var _React_useContext;\n var _React_useContext_hook;\n return (_React_useContext_hook = (_React_useContext = React.useContext(CustomStyleHooksContext)) === null || _React_useContext === void 0 ? void 0 : _React_useContext[hook]) !== null && _React_useContext_hook !== void 0 ? _React_useContext_hook : noop;\n};\n","import * as React from 'react';\n/**\n * @internal\n */ const ProviderContext = React.createContext(undefined);\nconst providerContextDefaultValue = {\n // eslint-disable-next-line @nx/workspace-no-restricted-globals -- expected ignore ( SSR friendly acquisition of globals )\n targetDocument: typeof document === 'object' ? document : undefined,\n dir: 'ltr'\n};\n/**\n * @internal\n */ export const Provider = ProviderContext.Provider;\nexport function useFluent() {\n var _React_useContext;\n return (_React_useContext = React.useContext(ProviderContext)) !== null && _React_useContext !== void 0 ? _React_useContext : providerContextDefaultValue;\n}\n","import * as React from 'react';\n/**\n * @internal\n * Used to provide a CSS class that applies theme css variables\n *\n * Useful for elements in the React tree (can read context) but not in the DOM Tree. E.g. Portals\n */ const ThemeClassNameContext = React.createContext(undefined);\nconst themeClassNameContextDefaultVaue = '';\nexport const ThemeClassNameProvider = ThemeClassNameContext.Provider;\n/**\n * @returns CSS class that applies css variables\n */ export function useThemeClassName() {\n var _React_useContext;\n return (_React_useContext = React.useContext(ThemeClassNameContext)) !== null && _React_useContext !== void 0 ? _React_useContext : themeClassNameContextDefaultVaue;\n}\n","export const KEYBOARD_NAV_ATTRIBUTE = 'data-keyboard-nav';\nexport const KEYBOARD_NAV_SELECTOR = `:global([${KEYBOARD_NAV_ATTRIBUTE}])`;\n/**\n * @internal\n */ export const FOCUS_VISIBLE_ATTR = 'data-fui-focus-visible';\n/**\n * @internal\n */ export const FOCUS_WITHIN_ATTR = 'data-fui-focus-within';\nexport const defaultOptions = {\n style: {},\n selector: 'focus',\n customizeSelector: (selector)=>selector\n};\n","import { defaultOptions, FOCUS_VISIBLE_ATTR, FOCUS_WITHIN_ATTR } from './constants';\n/**\n * Creates a style for @see makeStyles that includes the necessary selectors for focus.\n * Should be used only when @see createFocusOutlineStyle does not fit requirements\n *\n * If you're using `createCustomFocusIndicatorStyle` instead of `createFocusOutlineStyle`\n * keep in mind that the default outline style is not going to be removed\n * (as it is in `createFocusOutlineStyle`),\n * and is your responsibility to manually remove it from your styles.\n *\n * @example\n * ```ts\n * // Link styles\n * const useStyles = makeStyles({\n focusIndicator: createCustomFocusIndicatorStyle({\n textDecorationColor: tokens.colorStrokeFocus2,\n textDecorationLine: 'underline',\n textDecorationStyle: 'double',\n outlineStyle: 'none',\n }),\n // Common styles.\n root: {\n // ❗️ DO NOT FORGET TO REMOVE THE DEFAULT OUTLINE STYLE\n ':focus-visible': {\n outlineStyle: 'none',\n },\n * ```\n *\n * @param style - styling applied on focus, defaults to @see getDefaultFocusOutlineStyles\n * @param options - Configure the style of the focus outline\n */ export function createCustomFocusIndicatorStyle(style, { selector: selectorType = defaultOptions.selector, customizeSelector = defaultOptions.customizeSelector } = defaultOptions) {\n return {\n [customizeSelector(createBaseSelector(selectorType))]: style\n };\n}\nfunction createBaseSelector(selectorType) {\n switch(selectorType){\n case 'focus':\n return `&[${FOCUS_VISIBLE_ATTR}]`;\n case 'focus-within':\n return `&[${FOCUS_WITHIN_ATTR}]:focus-within`;\n }\n}\n","import { tokens } from '@fluentui/react-theme';\nimport { shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from './createCustomFocusIndicatorStyle';\nimport { defaultOptions } from './constants';\n/**\n * Get the position of the focus outline\n *\n * @param options - Configures the style of the focus outline\n * @param position - The position of the focus outline\n * @returns CSS value for the position of the focus outline\n */ function getOutlinePosition({ outlineWidth, outlineOffset }, position) {\n const offsetValue = (outlineOffset === null || outlineOffset === void 0 ? void 0 : outlineOffset[position]) || outlineOffset;\n if (!outlineOffset) {\n return `calc(${outlineWidth} * -1)`;\n }\n return `calc(0px - ${outlineWidth} - ${offsetValue})`;\n}\n/**\n * NOTE: the element with the focus outline needs to have `position: relative` so that the\n * pseudo element can be properly positioned.\n *\n * @param options - Configures the style of the focus outline\n * @returns focus outline styles object\n */ const getFocusOutlineStyles = (options)=>{\n const { outlineRadius, outlineColor, outlineWidth } = options;\n return {\n ...shorthands.borderColor('transparent'),\n '@media (forced-colors: active)': {\n '::after': {\n ...shorthands.borderColor('Highlight')\n }\n },\n '::after': {\n content: '\"\"',\n position: 'absolute',\n pointerEvents: 'none',\n zIndex: 1,\n border: `${outlineWidth} solid ${outlineColor}`,\n borderRadius: outlineRadius,\n top: getOutlinePosition(options, 'top'),\n right: getOutlinePosition(options, 'right'),\n bottom: getOutlinePosition(options, 'bottom'),\n left: getOutlinePosition(options, 'left')\n }\n };\n};\n/**\n * NOTE: The element with the focus outline needs to have `position: relative` so that the\n * pseudo element can be properly positioned.\n *\n * @param options - Configure the style of the focus outline\n * @returns focus outline styles object for @see makeStyles\n */ export const createFocusOutlineStyle = ({ enableOutline = false, selector = defaultOptions.selector, customizeSelector, style = defaultOptions.style } = defaultOptions)=>({\n ':focus': {\n outlineStyle: enableOutline ? undefined : 'none'\n },\n ':focus-visible': {\n outlineStyle: enableOutline ? undefined : 'none'\n },\n ...createCustomFocusIndicatorStyle(getFocusOutlineStyles({\n outlineColor: tokens.colorStrokeFocus2,\n outlineRadius: tokens.borderRadiusMedium,\n // FIXME: tokens.strokeWidthThick causes some weird bugs\n outlineWidth: '2px',\n ...style\n }), {\n selector,\n customizeSelector\n })\n });\n","import { getMover, MoverDirections } from 'tabster';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nimport { useTabster } from './useTabster';\n/**\n * A hook that returns the necessary tabster attributes to support arrow key navigation\n * @param options - Options to configure keyboard navigation\n */ export const useArrowNavigationGroup = (options = {})=>{\n const { circular, axis, memorizeCurrent = true, tabbable, ignoreDefaultKeydown, // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_hasDefault } = options;\n const tabster = useTabster();\n if (tabster) {\n getMover(tabster);\n }\n return useTabsterAttributes({\n mover: {\n cyclic: !!circular,\n direction: axisToMoverDirection(axis !== null && axis !== void 0 ? axis : 'vertical'),\n memorizeCurrent,\n tabbable,\n hasDefault: unstable_hasDefault\n },\n ...ignoreDefaultKeydown && {\n focusable: {\n ignoreKeydown: ignoreDefaultKeydown\n }\n }\n });\n};\nfunction axisToMoverDirection(axis) {\n switch(axis){\n case 'horizontal':\n return MoverDirections.Horizontal;\n case 'grid':\n return MoverDirections.Grid;\n case 'grid-linear':\n return MoverDirections.GridLinear;\n case 'both':\n return MoverDirections.Both;\n case 'vertical':\n default:\n return MoverDirections.Vertical;\n }\n}\n","import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useTabster } from './useTabster';\n/**\n * Returns a set of helper functions that will traverse focusable elements in the context of a root DOM element\n */ export const useFocusFinders = ()=>{\n const tabster = useTabster();\n const { targetDocument } = useFluent();\n // Narrow props for now and let need dictate additional props in the future\n const findAllFocusable = React.useCallback((container, acceptCondition)=>(tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findAll({\n container,\n acceptCondition\n })) || [], [\n tabster\n ]);\n const findFirstFocusable = React.useCallback((container)=>tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findFirst({\n container\n }), [\n tabster\n ]);\n const findLastFocusable = React.useCallback((container)=>tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findLast({\n container\n }), [\n tabster\n ]);\n const findNextFocusable = React.useCallback((currentElement, options = {})=>{\n if (!tabster || !targetDocument) {\n return null;\n }\n const { container = targetDocument.body } = options;\n return tabster.focusable.findNext({\n currentElement,\n container\n });\n }, [\n tabster,\n targetDocument\n ]);\n const findPrevFocusable = React.useCallback((currentElement, options = {})=>{\n if (!tabster || !targetDocument) {\n return null;\n }\n const { container = targetDocument.body } = options;\n return tabster.focusable.findPrev({\n currentElement,\n container\n });\n }, [\n tabster,\n targetDocument\n ]);\n return {\n findAllFocusable,\n findFirstFocusable,\n findLastFocusable,\n findNextFocusable,\n findPrevFocusable\n };\n};\n","import { isHTMLElement } from '@fluentui/react-utilities';\nimport { KEYBORG_FOCUSIN, createKeyborg, disposeKeyborg } from 'keyborg';\nimport { FOCUS_VISIBLE_ATTR } from './constants';\n/**\n * @internal\n * @param scope - Applies the ponyfill to all DOM children\n * @param targetWindow - window\n */ export function applyFocusVisiblePolyfill(scope, targetWindow) {\n if (alreadyInScope(scope)) {\n // Focus visible polyfill already applied at this scope\n return ()=>undefined;\n }\n const state = {\n current: undefined\n };\n const keyborg = createKeyborg(targetWindow);\n function registerElementIfNavigating(el) {\n if (keyborg.isNavigatingWithKeyboard() && isHTMLElement(el)) {\n state.current = el;\n el.setAttribute(FOCUS_VISIBLE_ATTR, '');\n }\n }\n function disposeCurrentElement() {\n if (state.current) {\n state.current.removeAttribute(FOCUS_VISIBLE_ATTR);\n state.current = undefined;\n }\n }\n // When navigation mode changes remove the focus-visible selector\n keyborg.subscribe((isNavigatingWithKeyboard)=>{\n if (!isNavigatingWithKeyboard) {\n disposeCurrentElement();\n }\n });\n // Keyborg's focusin event is delegated so it's only registered once on the window\n // and contains metadata about the focus event\n const keyborgListener = (e)=>{\n disposeCurrentElement();\n const target = e.composedPath()[0];\n registerElementIfNavigating(target);\n };\n // Make sure that when focus leaves the scope, the focus visible class is removed\n const blurListener = (e)=>{\n if (!e.relatedTarget || isHTMLElement(e.relatedTarget) && !scope.contains(e.relatedTarget)) {\n disposeCurrentElement();\n }\n };\n scope.addEventListener(KEYBORG_FOCUSIN, keyborgListener);\n scope.addEventListener('focusout', blurListener);\n scope.focusVisible = true;\n if (scope.contains(targetWindow.document.activeElement)) {\n registerElementIfNavigating(targetWindow.document.activeElement);\n }\n // Return disposer\n return ()=>{\n disposeCurrentElement();\n scope.removeEventListener(KEYBORG_FOCUSIN, keyborgListener);\n scope.removeEventListener('focusout', blurListener);\n delete scope.focusVisible;\n disposeKeyborg(keyborg);\n };\n}\nfunction alreadyInScope(el) {\n if (!el) {\n return false;\n }\n if (el.focusVisible) {\n return true;\n }\n return alreadyInScope(el === null || el === void 0 ? void 0 : el.parentElement);\n}\n","import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { applyFocusVisiblePolyfill } from '../focus/focusVisiblePolyfill';\nexport function useFocusVisible(options = {}) {\n const contextValue = useFluent();\n const scopeRef = React.useRef(null);\n var _options_targetDocument;\n const targetDocument = (_options_targetDocument = options.targetDocument) !== null && _options_targetDocument !== void 0 ? _options_targetDocument : contextValue.targetDocument;\n React.useEffect(()=>{\n if ((targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) && scopeRef.current) {\n return applyFocusVisiblePolyfill(scopeRef.current, targetDocument.defaultView);\n }\n }, [\n scopeRef,\n targetDocument\n ]);\n return scopeRef;\n}\n","import { KEYBORG_FOCUSIN, createKeyborg, disposeKeyborg } from 'keyborg';\nimport { FOCUS_WITHIN_ATTR } from './constants';\n/**\n * A ponyfill that allows `:focus-within` to support visibility based on keyboard/mouse navigation\n * like `:focus-visible` https://github.com/WICG/focus-visible/issues/151\n * @returns ref to the element that uses `:focus-within` styles\n */ export function applyFocusWithinPolyfill(element, win) {\n const keyborg = createKeyborg(win);\n // When navigation mode changes to mouse, remove the focus-within selector\n keyborg.subscribe((isNavigatingWithKeyboard)=>{\n if (!isNavigatingWithKeyboard) {\n removeFocusWithinClass(element);\n }\n });\n // Keyborg's focusin event is delegated so it's only registered once on the window\n // and contains metadata about the focus event\n const keyborgListener = (e)=>{\n if (keyborg.isNavigatingWithKeyboard() && isHTMLElement(e.target)) {\n // Griffel can't create chained global styles so use the parent element for now\n applyFocusWithinClass(element);\n }\n };\n // Make sure that when focus leaves the scope, the focus within class is removed\n const blurListener = (e)=>{\n if (!e.relatedTarget || isHTMLElement(e.relatedTarget) && !element.contains(e.relatedTarget)) {\n removeFocusWithinClass(element);\n }\n };\n element.addEventListener(KEYBORG_FOCUSIN, keyborgListener);\n element.addEventListener('focusout', blurListener);\n // Return disposer\n return ()=>{\n element.removeEventListener(KEYBORG_FOCUSIN, keyborgListener);\n element.removeEventListener('focusout', blurListener);\n disposeKeyborg(keyborg);\n };\n}\nfunction applyFocusWithinClass(el) {\n el.setAttribute(FOCUS_WITHIN_ATTR, '');\n}\nfunction removeFocusWithinClass(el) {\n el.removeAttribute(FOCUS_WITHIN_ATTR);\n}\nfunction isHTMLElement(target) {\n if (!target) {\n return false;\n }\n return Boolean(target && typeof target === 'object' && 'classList' in target && 'contains' in target);\n}\n","import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { applyFocusWithinPolyfill } from '../focus/focusWithinPolyfill';\n/**\n * A ponyfill that allows `:focus-within` to support visibility based on keyboard/mouse navigation\n * like `:focus-visible` https://github.com/WICG/focus-visible/issues/151\n * @returns ref to the element that uses `:focus-within` styles\n */ export function useFocusWithin() {\n const { targetDocument } = useFluent();\n const elementRef = React.useRef(null);\n React.useEffect(()=>{\n if ((targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) && elementRef.current) {\n return applyFocusWithinPolyfill(elementRef.current, targetDocument.defaultView);\n }\n }, [\n elementRef,\n targetDocument\n ]);\n return elementRef;\n}\n","import { getGroupper, GroupperTabbabilities } from 'tabster';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nimport { useTabster } from './useTabster';\n/**\n * A hook that returns the necessary tabster attributes to support groupping.\n * @param options - Options to configure keyboard navigation\n */ export const useFocusableGroup = (options)=>{\n const tabster = useTabster();\n if (tabster) {\n getGroupper(tabster);\n }\n return useTabsterAttributes({\n groupper: {\n tabbability: getTabbability(options === null || options === void 0 ? void 0 : options.tabBehavior)\n },\n focusable: {\n ignoreKeydown: options === null || options === void 0 ? void 0 : options.ignoreDefaultKeydown\n }\n });\n};\nconst getTabbability = (tabBehavior)=>{\n switch(tabBehavior){\n case 'unlimited':\n return GroupperTabbabilities.Unlimited;\n case 'limited':\n return GroupperTabbabilities.Limited;\n case 'limited-trap-focus':\n return GroupperTabbabilities.LimitedTrapFocus;\n default:\n return undefined;\n }\n};\n","import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { createTabster, disposeTabster } from 'tabster';\nimport { useIsomorphicLayoutEffect, getParent } from '@fluentui/react-utilities';\n/**\n * Tries to get a tabster instance on the current window or creates a new one\n * Since Tabster is single instance only, feel free to call this hook to ensure Tabster exists if necessary\n *\n * @internal\n * @returns Tabster core instance\n */ export const useTabster = ()=>{\n const { targetDocument } = useFluent();\n const defaultView = (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) || undefined;\n const shadowDOMAPI = defaultView === null || defaultView === void 0 ? void 0 : defaultView.__tabsterShadowDOMAPI;\n const tabster = React.useMemo(()=>{\n if (!defaultView) {\n return null;\n }\n return createTabster(defaultView, {\n autoRoot: {},\n controlTab: false,\n getParent,\n checkUncontrolledTrappingFocus: (element)=>{\n var _element_firstElementChild;\n return !!((_element_firstElementChild = element.firstElementChild) === null || _element_firstElementChild === void 0 ? void 0 : _element_firstElementChild.hasAttribute('data-is-focus-trap-zone-bumper'));\n },\n DOMAPI: shadowDOMAPI\n });\n }, [\n defaultView,\n shadowDOMAPI\n ]);\n useIsomorphicLayoutEffect(()=>{\n return ()=>{\n if (tabster) {\n disposeTabster(tabster);\n }\n };\n }, [\n tabster\n ]);\n return tabster;\n};\n","import { getTabsterAttribute, TABSTER_ATTRIBUTE_NAME } from 'tabster';\nimport { useTabster } from './useTabster';\nimport * as React from 'react';\n/**\n * @internal\n * Hook that returns tabster attributes while ensuring tabster exists\n */ export const useTabsterAttributes = (props)=>{\n // A tabster instance is not necessary to generate tabster attributes\n // but calling the hook will ensure that a tabster instance exists internally and avoids consumers doing the same\n useTabster();\n const strAttr = getTabsterAttribute(props, true);\n return React.useMemo(()=>({\n [TABSTER_ATTRIBUTE_NAME]: strAttr\n }), [\n strAttr\n ]);\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const textClassNames = {\n root: 'fui-Text'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fkhj508\",\n Bg96gwp: \"f1i3iumi\",\n Bhrd7zp: \"figsok6\",\n fsow6f: \"fpgzoln\",\n mc9l5x: \"f1w7gpdv\",\n Huce71: \"f6juhto\",\n B68tc82: 0,\n Bmxbyg5: 0,\n Bpg54ce: \"f1gl81tg\",\n ygn44y: \"f2jf649\"\n },\n nowrap: {\n Huce71: \"fz5stix\",\n B68tc82: 0,\n Bmxbyg5: 0,\n Bpg54ce: \"f1a3p1vp\"\n },\n truncate: {\n ygn44y: \"f1cmbuwj\"\n },\n block: {\n mc9l5x: \"ftgm304\"\n },\n italic: {\n B80ckks: \"f1j4dglz\"\n },\n underline: {\n w71qe1: \"f13mvf36\"\n },\n strikethrough: {\n w71qe1: \"fv5q2k7\"\n },\n strikethroughUnderline: {\n w71qe1: \"f1drk4o6\"\n },\n base100: {\n Be2twd7: \"f13mqy1h\",\n Bg96gwp: \"fcpl73t\"\n },\n base200: {\n Be2twd7: \"fy9rknc\",\n Bg96gwp: \"fwrc4pm\"\n },\n base400: {\n Be2twd7: \"fod5ikn\",\n Bg96gwp: \"faaz57k\"\n },\n base500: {\n Be2twd7: \"f1pp30po\",\n Bg96gwp: \"f106mvju\"\n },\n base600: {\n Be2twd7: \"f1x0m3f5\",\n Bg96gwp: \"fb86gi6\"\n },\n hero700: {\n Be2twd7: \"fojgt09\",\n Bg96gwp: \"fcen8rp\"\n },\n hero800: {\n Be2twd7: \"fccw675\",\n Bg96gwp: \"f1ebx5kk\"\n },\n hero900: {\n Be2twd7: \"f15afnhw\",\n Bg96gwp: \"fr3w3wp\"\n },\n hero1000: {\n Be2twd7: \"fpyltcb\",\n Bg96gwp: \"f1ivgwrt\"\n },\n monospace: {\n Bahqtrf: \"f1fedwem\"\n },\n numeric: {\n Bahqtrf: \"f1uq0ln5\"\n },\n weightMedium: {\n Bhrd7zp: \"fdj6btp\"\n },\n weightSemibold: {\n Bhrd7zp: \"fl43uef\"\n },\n weightBold: {\n Bhrd7zp: \"flh3ekv\"\n },\n alignCenter: {\n fsow6f: \"f17mccla\"\n },\n alignEnd: {\n fsow6f: \"f12ymhq5\"\n },\n alignJustify: {\n fsow6f: \"f1j59e10\"\n }\n}, {\n d: [\".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fpgzoln{text-align:start;}\", \".f1w7gpdv{display:inline;}\", \".f6juhto{white-space:normal;}\", [\".f1gl81tg{overflow:visible;}\", {\n p: -1\n }], \".f2jf649{text-overflow:clip;}\", \".fz5stix{white-space:nowrap;}\", [\".f1a3p1vp{overflow:hidden;}\", {\n p: -1\n }], \".f1cmbuwj{text-overflow:ellipsis;}\", \".ftgm304{display:block;}\", \".f1j4dglz{font-style:italic;}\", \".f13mvf36{text-decoration-line:underline;}\", \".fv5q2k7{text-decoration-line:line-through;}\", \".f1drk4o6{text-decoration-line:line-through underline;}\", \".f13mqy1h{font-size:var(--fontSizeBase100);}\", \".fcpl73t{line-height:var(--lineHeightBase100);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\", \".f1pp30po{font-size:var(--fontSizeBase500);}\", \".f106mvju{line-height:var(--lineHeightBase500);}\", \".f1x0m3f5{font-size:var(--fontSizeBase600);}\", \".fb86gi6{line-height:var(--lineHeightBase600);}\", \".fojgt09{font-size:var(--fontSizeHero700);}\", \".fcen8rp{line-height:var(--lineHeightHero700);}\", \".fccw675{font-size:var(--fontSizeHero800);}\", \".f1ebx5kk{line-height:var(--lineHeightHero800);}\", \".f15afnhw{font-size:var(--fontSizeHero900);}\", \".fr3w3wp{line-height:var(--lineHeightHero900);}\", \".fpyltcb{font-size:var(--fontSizeHero1000);}\", \".f1ivgwrt{line-height:var(--lineHeightHero1000);}\", \".f1fedwem{font-family:var(--fontFamilyMonospace);}\", \".f1uq0ln5{font-family:var(--fontFamilyNumeric);}\", \".fdj6btp{font-weight:var(--fontWeightMedium);}\", \".fl43uef{font-weight:var(--fontWeightSemibold);}\", \".flh3ekv{font-weight:var(--fontWeightBold);}\", \".f17mccla{text-align:center;}\", \".f12ymhq5{text-align:end;}\", \".f1j59e10{text-align:justify;}\"]\n});\n/**\n * Apply styling to the Text slots based on the state\n */\nexport const useTextStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(textClassNames.root, styles.root, state.wrap === false && styles.nowrap, state.truncate && styles.truncate, state.block && styles.block, state.italic && styles.italic, state.underline && styles.underline, state.strikethrough && styles.strikethrough, state.underline && state.strikethrough && styles.strikethroughUnderline, state.size === 100 && styles.base100, state.size === 200 && styles.base200, state.size === 400 && styles.base400, state.size === 500 && styles.base500, state.size === 600 && styles.base600, state.size === 700 && styles.hero700, state.size === 800 && styles.hero800, state.size === 900 && styles.hero900, state.size === 1000 && styles.hero1000, state.font === 'monospace' && styles.monospace, state.font === 'numeric' && styles.numeric, state.weight === 'medium' && styles.weightMedium, state.weight === 'semibold' && styles.weightSemibold, state.weight === 'bold' && styles.weightBold, state.align === 'center' && styles.alignCenter, state.align === 'end' && styles.alignEnd, state.align === 'justify' && styles.alignJustify, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useText_unstable } from './useText';\nimport { renderText_unstable } from './renderText';\nimport { useTextStyles_unstable } from './useTextStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Typography and styling abstraction component used to ensure consistency of text.\n */ export const Text = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useText_unstable(props, ref);\n useTextStyles_unstable(state);\n useCustomStyleHook_unstable('useTextStyles_unstable')(state);\n return renderText_unstable(state);\n// Work around some small mismatches in inferred types which don't matter in practice\n});\nText.displayName = 'Text';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render Text.\n *\n * The returned state can be modified with hooks such as useTextStyles_unstable,\n * before being passed to renderText_unstable.\n *\n * @param props - props from this instance of Text\n * @param ref - reference to root HTMLElement of Text\n */ export const useText_unstable = (props, ref)=>{\n const { wrap, truncate, block, italic, underline, strikethrough, size, font, weight, align } = props;\n const state = {\n align: align !== null && align !== void 0 ? align : 'start',\n block: block !== null && block !== void 0 ? block : false,\n font: font !== null && font !== void 0 ? font : 'base',\n italic: italic !== null && italic !== void 0 ? italic : false,\n size: size !== null && size !== void 0 ? size : 300,\n strikethrough: strikethrough !== null && strikethrough !== void 0 ? strikethrough : false,\n truncate: truncate !== null && truncate !== void 0 ? truncate : false,\n underline: underline !== null && underline !== void 0 ? underline : false,\n weight: weight !== null && weight !== void 0 ? weight : 'regular',\n wrap: wrap !== null && wrap !== void 0 ? wrap : true,\n components: {\n root: 'span'\n },\n root: slot.always(getIntrinsicElementProps('span', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLHeadingElement & HTMLPreElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...props\n }), {\n elementType: 'span'\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 Text\n */ export const renderText_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import * as React from 'react';\nimport { useEventCallback, useControllableState, getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n/**\n * Create the state required to render Toolbar.\n *\n * The returned state can be modified with hooks such as useToolbarStyles_unstable,\n * before being passed to renderToolbar_unstable.\n *\n * @param props - props from this instance of Toolbar\n * @param ref - reference to root HTMLElement of Toolbar\n */ export const useToolbar_unstable = (props, ref)=>{\n const { size = 'medium', vertical = false } = props;\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: true,\n axis: 'both'\n });\n const initialState = {\n size,\n vertical,\n // TODO add appropriate props/defaults\n components: {\n // TODO add each slot's element type or component\n root: 'div'\n },\n // TODO add appropriate slots, for example:\n // mySlot: resolveShorthand(props.mySlot),\n root: slot.always(getIntrinsicElementProps('div', {\n role: 'toolbar',\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...vertical && {\n 'aria-orientation': 'vertical'\n },\n ...arrowNavigationProps,\n ...props\n }), {\n elementType: 'div'\n })\n };\n const [checkedValues, onCheckedValueChange] = useToolbarSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues: props.defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange\n });\n const handleToggleButton = useEventCallback((e, name, value, checked)=>{\n if (name && value) {\n const checkedItems = (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues[name]) || [];\n const newCheckedItems = [\n ...checkedItems\n ];\n if (checked) {\n newCheckedItems.splice(newCheckedItems.indexOf(value), 1);\n } else {\n newCheckedItems.push(value);\n }\n onCheckedValueChange === null || onCheckedValueChange === void 0 ? void 0 : onCheckedValueChange(e, {\n name,\n checkedItems: newCheckedItems\n });\n }\n });\n const handleRadio = useEventCallback((e, name, value, checked)=>{\n if (name && value) {\n onCheckedValueChange === null || onCheckedValueChange === void 0 ? void 0 : onCheckedValueChange(e, {\n name,\n checkedItems: [\n value\n ]\n });\n }\n });\n return {\n ...initialState,\n handleToggleButton,\n handleRadio,\n checkedValues: checkedValues !== null && checkedValues !== void 0 ? checkedValues : {}\n };\n};\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */ const useToolbarSelectableState = (state)=>{\n const [checkedValues, setCheckedValues] = useControllableState({\n state: state.checkedValues,\n defaultState: state.defaultCheckedValues,\n initialState: {}\n });\n const { onCheckedValueChange: onCheckedValueChangeOriginal } = state;\n const onCheckedValueChange = useEventCallback((e, { name, checkedItems })=>{\n if (onCheckedValueChangeOriginal) {\n onCheckedValueChangeOriginal(e, {\n name,\n checkedItems\n });\n }\n setCheckedValues((s)=>{\n return s ? {\n ...s,\n [name]: checkedItems\n } : {\n [name]: checkedItems\n };\n });\n });\n return [\n checkedValues,\n onCheckedValueChange\n ];\n};\n","import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const ToolbarContext = createContext(undefined);\nconst toolbarContextDefaultValue = {\n size: 'medium',\n handleToggleButton: ()=>null,\n handleRadio: ()=>null,\n vertical: false,\n checkedValues: {}\n};\nexport const useToolbarContext_unstable = (selector)=>useContextSelector(ToolbarContext, (ctx = toolbarContextDefaultValue)=>selector(ctx));\n","import { __styles, mergeClasses } from '@griffel/react';\nexport const toolbarClassNames = {\n root: 'fui-Toolbar'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Bt984gj: \"f122n59\",\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f1yqiaad\"\n },\n vertical: {\n Beiy3e4: \"f1vx9l62\",\n a9b677: \"f1acs6jw\"\n },\n small: {\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"fvz760z\"\n },\n medium: {\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f1yqiaad\"\n },\n large: {\n Byoj8tv: 0,\n uwmqm3: 0,\n z189sj: 0,\n z8tnut: 0,\n B0ocmuz: \"f1ms6bdn\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f122n59{align-items:center;}\", [\".f1yqiaad{padding:4px 8px;}\", {\n p: -1\n }], \".f1vx9l62{flex-direction:column;}\", \".f1acs6jw{width:fit-content;}\", [\".fvz760z{padding:0px 4px;}\", {\n p: -1\n }], [\".f1yqiaad{padding:4px 8px;}\", {\n p: -1\n }], [\".f1ms6bdn{padding:4px 20px;}\", {\n p: -1\n }]]\n});\n/**\n * Apply styling to the Toolbar slots based on the state\n */\nexport const useToolbarStyles_unstable = state => {\n 'use no memo';\n\n const styles = useStyles();\n const {\n vertical,\n size\n } = state;\n state.root.className = mergeClasses(toolbarClassNames.root, styles.root, vertical && styles.vertical, size === 'small' && !vertical && styles.small, size === 'medium' && !vertical && styles.medium, size === 'large' && !vertical && styles.large, state.root.className);\n return state;\n};","import * as React from 'react';\nimport { useToolbar_unstable } from './useToolbar';\nimport { renderToolbar_unstable } from './renderToolbar';\nimport { useToolbarStyles_unstable } from './useToolbarStyles.styles';\nimport { useToolbarContextValues_unstable } from './useToolbarContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Toolbar component\n */ export const Toolbar = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useToolbar_unstable(props, ref);\n const contextValues = useToolbarContextValues_unstable(state);\n useToolbarStyles_unstable(state);\n useCustomStyleHook_unstable('useToolbarStyles_unstable')(state);\n return renderToolbar_unstable(state, contextValues);\n});\nToolbar.displayName = 'Toolbar';\n","export function useToolbarContextValues_unstable(state) {\n const { size, handleToggleButton, vertical, checkedValues, handleRadio } = state;\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const toolbar = {\n size,\n vertical,\n handleToggleButton,\n handleRadio,\n checkedValues\n };\n return {\n toolbar\n };\n}\n"," import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { ToolbarContext } from './ToolbarContext';\n/**\n * Render the final JSX of Toolbar\n */ export const renderToolbar_unstable = (state, contextValues)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsx(ToolbarContext.Provider, {\n value: contextValues.toolbar,\n children: /*#__PURE__*/ _jsx(state.root, {\n children: state.root.children\n })\n });\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { useButtonStyles_unstable } from '@fluentui/react-button';\nconst useBaseStyles = /*#__PURE__*/__styles({\n vertical: {\n Beiy3e4: \"f1vx9l62\"\n },\n verticalIcon: {\n Be2twd7: \"f1rt2boy\",\n jrapky: 0,\n Frg6f3: 0,\n t21cq0: 0,\n B6of3ja: 0,\n B74szlk: \"f1s184ao\"\n }\n}, {\n d: [\".f1vx9l62{flex-direction:column;}\", \".f1rt2boy{font-size:24px;}\", [\".f1s184ao{margin:0;}\", {\n p: -1\n }]]\n});\n/**\n * Apply styling to the ToolbarButton slots based on the state\n */\nexport const useToolbarButtonStyles_unstable = state => {\n 'use no memo';\n\n useButtonStyles_unstable(state);\n const buttonStyles = useBaseStyles();\n state.root.className = mergeClasses(state.root.className, state.vertical && buttonStyles.vertical);\n if (state.icon) {\n state.icon.className = mergeClasses(state.icon.className, state.vertical && buttonStyles.verticalIcon);\n }\n};","import * as React from 'react';\nimport { renderButton_unstable } from '@fluentui/react-button';\nimport { useToolbarButtonStyles_unstable } from './useToolbarButtonStyles.styles';\nimport { useToolbarButton_unstable } from './useToolbarButton';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * ToolbarButton component is a Button to be used inside Toolbar\n * which will respect toolbar props such as `size`\n */ export const ToolbarButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useToolbarButton_unstable(props, ref);\n useToolbarButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useToolbarButtonStyles_unstable')(state);\n return renderButton_unstable(state);\n// Casting is required due to lack of distributive union to support unions on @types/react\n});\nToolbarButton.displayName = 'ToolbarButton';\n","import * as React from 'react';\nimport { useButton_unstable } from '@fluentui/react-button';\n/**\n * Given user props, defines default props for the Button, calls useButtonState and useChecked, and returns\n * processed state.\n * @param props - User provided props to the Button component.\n * @param ref - User provided ref to be passed to the Button component.\n */ export const useToolbarButton_unstable = (props, ref)=>{\n const { vertical = false, ...buttonProps } = props;\n const state = useButton_unstable({\n appearance: 'subtle',\n ...buttonProps,\n size: 'medium'\n }, ref);\n return {\n vertical,\n ...state\n };\n};\n","import * as React from 'react';\nimport { SLOT_ELEMENT_TYPE_SYMBOL } from './constants';\nimport { isSlot } from './isSlot';\nimport * as slot from './slot';\n/**\n * @internal\n * Assertion method to ensure state slots properties are properly declared.\n * A properly declared slot must be declared by using the `slot` method.\n *\n * @example\n * ```tsx\n * export const renderInput_unstable = (state: InputState) => {\n assertSlots(state);\n return (\n \n {state.contentBefore && }\n \n {state.contentAfter && }\n \n );\n };\n * ```\n */ export function assertSlots(state) {\n /**\n * This verification is not necessary in production\n * as we're verifying static properties that will not change between environments\n */ if (process.env.NODE_ENV !== 'production') {\n const typedState = state;\n for (const slotName of Object.keys(typedState.components)){\n const slotElement = typedState[slotName];\n if (slotElement === undefined) {\n continue;\n }\n // this means a slot is being declared without using, slot.always or slot.optional or even resolveShorthand on the state hook,\n // but the render method is using the new `assertSlots` method. That scenario can be solved by simply updating the slot element with the proper element type\n // FIXME: this slot will still fail to support child render function scenario\n if (!isSlot(slotElement)) {\n typedState[slotName] = slot.always(slotElement, {\n elementType: typedState.components[slotName]\n });\n // eslint-disable-next-line no-console\n console.warn(`@fluentui/react-utilities [${assertSlots.name}]:\n\"state.${slotName}\" is not a slot!\nBe sure to create slots properly by using \"slot.always\" or \"slot.optional\".`);\n } else {\n // This means a slot is being declared by using resolveShorthand on the state hook,\n // but the render method is using the new `assertSlots` method. That scenario can be solved by simply updating the slot element with the proper element type\n const { [SLOT_ELEMENT_TYPE_SYMBOL]: elementType } = slotElement;\n if (elementType !== typedState.components[slotName]) {\n slotElement[SLOT_ELEMENT_TYPE_SYMBOL] = typedState.components[slotName];\n // eslint-disable-next-line no-console\n console.warn(`@fluentui/react-utilities [${assertSlots.name}]:\n\"state.${slotName}\" element type differs from \"state.components.${slotName}\",\n${elementType} !== ${typedState.components[slotName]}.\nBe sure to create slots properly by using \"slot.always\" or \"slot.optional\" with the correct elementType.`);\n }\n }\n }\n }\n}\n","/**\n * @internal\n * Internal reference for the render function\n */ export const SLOT_RENDER_FUNCTION_SYMBOL = Symbol.for('fui.slotRenderFunction');\n/**\n * @internal\n * Internal reference for the render function\n */ export const SLOT_ELEMENT_TYPE_SYMBOL = Symbol.for('fui.slotElementType');\n","import * as React from 'react';\nimport { getNativeElementProps } from '../utils/getNativeElementProps';\n/**\n * Given an element tagname and user props, filters the props to only allowed props for the given\n * element type.\n *\n * Equivalent to {@link getNativeElementProps}, but more type-safe.\n */ export const getIntrinsicElementProps = (/** The slot's default element type (e.g. 'div') */ tagName, /** The component's props object */ props, /** List of native props to exclude from the returned value */ excludedPropNames)=>{\n var _props_as;\n // eslint-disable-next-line deprecation/deprecation\n return getNativeElementProps((_props_as = props.as) !== null && _props_as !== void 0 ? _props_as : tagName, props, excludedPropNames);\n};\n","import { SLOT_ELEMENT_TYPE_SYMBOL } from './constants';\n/**\n * Guard method to ensure a given element is a slot.\n * This is mainly used internally to ensure a slot is being used as a component.\n */ export function isSlot(element) {\n return Boolean(element === null || element === void 0 ? void 0 : element.hasOwnProperty(SLOT_ELEMENT_TYPE_SYMBOL));\n}\n","import * as React from 'react';\nimport { SLOT_ELEMENT_TYPE_SYMBOL, SLOT_RENDER_FUNCTION_SYMBOL } from './constants';\n/**\n * Creates a slot from a slot shorthand or properties (`props.SLOT_NAME` or `props` itself)\n * @param value - the value of the slot, it can be a slot shorthand, a slot component or a slot properties\n * @param options - values you can pass to alter the signature of a slot, those values are:\n *\n * * `elementType` - the base element type of a slot, defaults to `'div'`\n * * `defaultProps` - similar to a React component declaration, you can provide a slot default properties to be merged with the shorthand/properties provided.\n */ export function always(value, options) {\n const { defaultProps, elementType } = options;\n const props = resolveShorthand(value);\n /**\n * Casting is required here as SlotComponentType is a function, not an object.\n * Although SlotComponentType has a function signature, it is still just an object.\n * This is required to make a slot callable (JSX compatible), this is the exact same approach\n * that is used on `@types/react` components\n */ const propsWithMetadata = {\n ...defaultProps,\n ...props,\n [SLOT_ELEMENT_TYPE_SYMBOL]: elementType\n };\n if (props && typeof props.children === 'function') {\n propsWithMetadata[SLOT_RENDER_FUNCTION_SYMBOL] = props.children;\n propsWithMetadata.children = defaultProps === null || defaultProps === void 0 ? void 0 : defaultProps.children;\n }\n return propsWithMetadata;\n}\n/**\n * Creates a slot from a slot shorthand or properties (`props.SLOT_NAME` or `props` itself)\n * @param value - the value of the slot, it can be a slot shorthand, a slot component or a slot properties\n * @param options - values you can pass to alter the signature of a slot, those values are:\n *\n * * `elementType` - the base element type of a slot, defaults to `'div'`\n * * `defaultProps` - similar to a React component declaration, you can provide a slot default properties to be merged with the shorthand/properties provided\n * * `renderByDefault` - a boolean that indicates if a slot will be rendered even if it's base value is `undefined`.\n * By default if `props.SLOT_NAME` is `undefined` then `state.SLOT_NAME` becomes `undefined`\n * and nothing will be rendered, but if `renderByDefault = true` then `state.SLOT_NAME` becomes an object\n * with the values provided by `options.defaultProps` (or `{}`). This is useful for cases such as providing a default content\n * in case no shorthand is provided, like the case of the `expandIcon` slot for the `AccordionHeader`\n */ export function optional(value, options) {\n if (value === null || value === undefined && !options.renderByDefault) {\n return undefined;\n }\n return always(value, options);\n}\n/**\n * Helper function that converts a slot shorthand or properties to a slot properties object\n * The main difference between this function and `slot` is that this function does not return the metadata required for a slot to be considered a properly renderable slot, it only converts the value to a slot properties object\n * @param value - the value of the slot, it can be a slot shorthand or a slot properties object\n */ export function resolveShorthand(value) {\n if (typeof value === 'string' || typeof value === 'number' || Array.isArray(value) || // eslint-disable-next-line @typescript-eslint/no-explicit-any\n React.isValidElement(value)) {\n return {\n children: value\n };\n }\n if (value && typeof value !== 'object' && process.env.NODE_ENV !== 'production') {\n // TODO: would be nice to have a link to slot documentation in this error message\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-utilities [slot.${resolveShorthand.name}]:\nA slot got an invalid value \"${value}\" (${typeof value}).\nA valid value for a slot is a slot shorthand or slot properties object.\nSlot shorthands can be strings, numbers, arrays or JSX elements`);\n }\n return value;\n}\n","import * as React from 'react';\nfunction isFactoryDispatch(newState) {\n return typeof newState === 'function';\n}\n/**\n * @internal\n *\n * A [`useState`](https://reactjs.org/docs/hooks-reference.html#usestate)-like hook\n * to manage a value that could be either `controlled` or `uncontrolled`,\n * such as a checked state or text input string.\n *\n * @see https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components for more details on `controlled`/`uncontrolled`\n *\n * @returns an array of the current value and an updater (dispatcher) function.\n * The updater function is referentially stable (won't change during the component's lifecycle).\n * It can take either a new value, or a function which is passed the previous value and returns the new value.\n *\n * ❗️❗️ Calls to the dispatcher will only modify the state if the state is `uncontrolled`.\n * Meaning that if a state is `controlled`, calls to the dispatcher do not modify the state.\n *\n */ export const useControllableState = (options)=>{\n 'use no memo';\n if (process.env.NODE_ENV !== 'production') {\n if (options.state !== undefined && options.defaultState !== undefined) {\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-utilities [useControllableState]:\nA component must be either controlled or uncontrolled (specify either the state or the defaultState, but not both).\nDecide between using a controlled or uncontrolled component and remove one of this props.\nMore info: https://reactjs.org/link/controlled-components\n${new Error().stack}`);\n }\n }\n const [internalState, setInternalState] = React.useState(()=>{\n if (options.defaultState === undefined) {\n return options.initialState;\n }\n return isInitializer(options.defaultState) ? options.defaultState() : options.defaultState;\n });\n // Heads up!\n // This part is specific for controlled mode and mocks behavior of React dispatcher function.\n const stateValueRef = React.useRef(options.state);\n React.useEffect(()=>{\n stateValueRef.current = options.state;\n }, [\n options.state\n ]);\n const setControlledState = React.useCallback((newState)=>{\n if (isFactoryDispatch(newState)) {\n newState(stateValueRef.current);\n }\n }, []);\n return useIsControlled(options.state) ? [\n options.state,\n setControlledState\n ] : [\n internalState,\n setInternalState\n ];\n};\nfunction isInitializer(value) {\n return typeof value === 'function';\n}\n/**\n * Helper hook to handle previous comparison of controlled/uncontrolled\n * Prints an error when isControlled value switches between subsequent renders\n * @returns - whether the value is controlled\n */ const useIsControlled = (controlledValue)=>{\n 'use no memo';\n const [isControlled] = React.useState(()=>controlledValue !== undefined);\n if (process.env.NODE_ENV !== 'production') {\n // We don't want these warnings in production even though it is against native behaviour\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(()=>{\n if (isControlled !== (controlledValue !== undefined)) {\n const error = new Error();\n const controlWarning = isControlled ? 'a controlled value to be uncontrolled' : 'an uncontrolled value to be controlled';\n const undefinedWarning = isControlled ? 'defined to an undefined' : 'undefined to a defined';\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-utilities [useControllableState]:\nA component is changing ${controlWarning}. This is likely caused by the value changing from ${undefinedWarning} value, which should not happen.\nDecide between using a controlled or uncontrolled input element for the lifetime of the component.\nMore info: https://reactjs.org/link/controlled-components\n${error.stack}`);\n }\n }, [\n isControlled,\n controlledValue\n ]);\n }\n return isControlled;\n};\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n/**\n * @internal\n * https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n *\n * Modified `useCallback` that can be used when dependencies change too frequently. Can occur when\n * e.g. user props are dependencies which could change on every render\n * e.g. volatile values (i.e. useState/useDispatch) are dependencies which could change frequently\n *\n * This should not be used often, but can be a useful re-render optimization since the callback is a ref and\n * will not be invalidated between re-renders\n *\n * @param fn - The callback function that will be used\n */ export const useEventCallback = (fn)=>{\n const callbackRef = React.useRef(()=>{\n throw new Error('Cannot call an event handler while rendering');\n });\n useIsomorphicLayoutEffect(()=>{\n callbackRef.current = fn;\n }, [\n fn\n ]);\n return React.useCallback((...args)=>{\n const callback = callbackRef.current;\n return callback(...args);\n }, [\n callbackRef\n ]);\n};\n","import * as React from 'react';\nimport { canUseDOM } from './canUseDOM';\n/**\n * Default context value to use in case there is no SSRProvider. This is fine for client-only apps.\n *\n * @internal\n */ export const defaultSSRContextValue = {\n current: 0\n};\nexport const SSRContext = /*#__PURE__*/ React.createContext(undefined);\n/**\n * @internal\n */ export function useSSRContext() {\n var _React_useContext;\n return (_React_useContext = React.useContext(SSRContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultSSRContextValue;\n}\n/**\n * When using SSR with Fluent UI, applications must be wrapped in an SSRProvider. This ensures that auto generated ids\n * are consistent between the client and server.\n *\n * @public\n */ export const SSRProvider = (props)=>{\n const [value] = React.useState(()=>({\n current: 0\n }));\n return /*#__PURE__*/ React.createElement(SSRContext.Provider, {\n value: value\n }, props.children);\n};\n/**\n * Returns whether the component is currently being server side rendered or hydrated on the client. Can be used to delay\n * browser-specific rendering until after hydration. May cause re-renders on a client when is used within SSRProvider.\n */ export function useIsSSR() {\n const isInSSRContext = useSSRContext() !== defaultSSRContextValue;\n const [isSSR, setIsSSR] = React.useState(isInSSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider, provide a warning to hint to the\n // developer to add one.\n if (process.env.NODE_ENV !== 'production') {\n if (!isInSSRContext && !canUseDOM()) {\n // eslint-disable-next-line no-console\n console.error(`@fluentui/react-components [${useIsSSR.name}]:\nWhen server rendering, you must wrap your application in an to ensure consistent ids are generated between the client and server.\n\n\nCheck documentation at https://aka.ms/fluentui-ssr.`);\n }\n }\n // If on the client, and the component was initially server rendered, then schedule a layout effect to update the\n // component after hydration.\n if (canUseDOM() && isInSSRContext) {\n // This if statement technically breaks the rules of hooks, but is safe because the condition never changes after\n // mounting.\n // eslint-disable-next-line\n React.useLayoutEffect(()=>{\n setIsSSR(false);\n }, []);\n }\n return isSSR;\n}\n","import * as React from 'react';\nimport { defaultSSRContextValue, useSSRContext } from '../ssr/index';\nconst IdPrefixContext = React.createContext(undefined);\n/**\n * Allows to define a prefix that will be used for all IDs generated by useId() hook. It's useful to avoid collisions\n * between different bundles.\n */ export const IdPrefixProvider = IdPrefixContext.Provider;\nfunction useIdPrefix() {\n return React.useContext(IdPrefixContext) || '';\n}\n/**\n * Resets generated IDs, should be used only in tests.\n */ export function resetIdsForTests() {\n defaultSSRContextValue.current = 0;\n}\n/**\n * Hook to generate a unique ID.\n *\n * @param prefix - Optional prefix for the ID. Defaults to 'fui-'.\n * @param providedId - Optional id provided by a parent component. Defaults to the provided value if present,\n * without conditioning the hook call\n * @returns The ID\n */ export function useId(prefix = 'fui-', providedId) {\n 'use no memo';\n const contextValue = useSSRContext();\n const idPrefix = useIdPrefix();\n // Checking if useId is available on React, if it is, we use it to generate the id. String concatenation is used to\n // prevent bundlers from complaining with older versions of React.\n const _useId = React['use' + 'Id'];\n if (_useId) {\n const generatedId = _useId();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const escapedId = React.useMemo(()=>generatedId.replace(/:/g, ''), [\n generatedId\n ]);\n return providedId || `${idPrefix}${prefix}${escapedId}`;\n }\n // Hooks appear to be running conditionally, but they will always run in the same order since it's based on\n // the version of React being used. This is safe to ignore.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return React.useMemo(()=>{\n if (providedId) {\n return providedId;\n }\n return `${idPrefix}${prefix}${++contextValue.current}`;\n }, [\n idPrefix,\n prefix,\n providedId,\n contextValue\n ]);\n}\n","import * as React from 'react';\nimport { canUseDOM } from '../ssr/index';\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To get around it, we can conditionally\n * useEffect on the server (no-op) and useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also need affected components to render on\n * the server.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n */ // eslint-disable-next-line no-restricted-properties\nexport const useIsomorphicLayoutEffect = canUseDOM() ? React.useLayoutEffect : React.useEffect;\n","import * as React from 'react';\n/**\n * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that\n * updates all provided refs\n * @param refs - Refs to collectively update with one ref value.\n * @returns A function with an attached \"current\" prop, so that it can be treated like a RefObject.\n */ export function useMergedRefs(...refs) {\n 'use no memo';\n const mergedCallback = React.useCallback((value)=>{\n // Update the \"current\" prop hanging on the function.\n mergedCallback.current = value;\n for (const ref of refs){\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n // work around the immutability of the React.Ref type\n ref.current = value;\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps -- already exhaustive\n [\n ...refs\n ]);\n return mergedCallback;\n}\n","import { useBrowserTimer } from './useBrowserTimer';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nconst setTimeoutNoop = (_callback)=>-1;\nconst clearTimeoutNoop = (_handle)=>undefined;\n/**\n * @internal\n * Helper to manage a browser timeout.\n * Ensures that the timeout isn't set multiple times at once and is cleaned up\n * when the component is unloaded.\n *\n * @returns A pair of [setTimeout, clearTimeout] that are stable between renders.\n */ export function useTimeout() {\n const { targetDocument } = useFluent();\n const win = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;\n const setTimerFn = win ? win.setTimeout : setTimeoutNoop;\n const clearTimerFn = win ? win.clearTimeout : clearTimeoutNoop;\n return useBrowserTimer(setTimerFn, clearTimerFn);\n}\n","import * as React from 'react';\n/**\n * @internal\n * Helper to manage a browser timer.\n * Ensures that the timer isn't set multiple times at once,\n * and is cleaned up when the component is unloaded.\n *\n * @param setTimer - The timer setter function\n * @param cancelTimer - The timer cancel function\n * @returns A pair of [setTimer, cancelTimer] that are stable between renders.\n *\n * @example\n * const [setTimer, cancelTimer] = useBrowserTimer(setTimeout, cancelTimeout);\n *\n * setTimer(() => console.log('Hello world!'), 1000);\n * cancelTimer();\n */ export function useBrowserTimer(setTimer, cancelTimer) {\n const id = React.useRef(undefined);\n const set = React.useCallback((fn, delay)=>{\n if (id.current !== undefined) {\n cancelTimer(id.current);\n }\n id.current = setTimer(fn, delay);\n return id.current;\n }, [\n cancelTimer,\n setTimer\n ]);\n const cancel = React.useCallback(()=>{\n if (id.current !== undefined) {\n cancelTimer(id.current);\n id.current = undefined;\n }\n }, [\n cancelTimer\n ]);\n // Clean up the timeout when the component is unloaded\n React.useEffect(()=>cancel, [\n cancel\n ]);\n return [\n set,\n cancel\n ];\n}\n","/**\n * Verifies if an application can use DOM.\n */ export function canUseDOM() {\n return /* eslint-disable @nx/workspace-no-restricted-globals -- expected ignore ( SSR friendly acquisition of globals )*/ typeof window !== 'undefined' && !!(window.document && // eslint-disable-next-line deprecation/deprecation\n window.document.createElement);\n}\n","const toObjectMap = (...items)=>{\n const result = {};\n for (const item of items){\n const keys = Array.isArray(item) ? item : Object.keys(item);\n for (const key of keys){\n result[key] = 1;\n }\n }\n return result;\n};\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */ export const baseElementEvents = toObjectMap([\n 'onAuxClick',\n 'onAnimationEnd',\n 'onAnimationStart',\n 'onCopy',\n 'onCut',\n 'onPaste',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onFocus',\n 'onFocusCapture',\n 'onBlur',\n 'onBlurCapture',\n 'onChange',\n 'onInput',\n 'onSubmit',\n 'onLoad',\n 'onError',\n 'onKeyDown',\n 'onKeyDownCapture',\n 'onKeyPress',\n 'onKeyUp',\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n 'onClick',\n 'onClickCapture',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseDownCapture',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onMouseUpCapture',\n 'onSelect',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onScroll',\n 'onWheel',\n 'onPointerCancel',\n 'onPointerDown',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerOut',\n 'onPointerOver',\n 'onPointerUp',\n 'onGotPointerCapture',\n 'onLostPointerCapture'\n]);\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */ export const baseElementProperties = toObjectMap([\n 'accessKey',\n 'children',\n 'className',\n 'contentEditable',\n 'dir',\n 'draggable',\n 'hidden',\n 'htmlFor',\n 'id',\n 'lang',\n 'ref',\n 'role',\n 'style',\n 'tabIndex',\n 'title',\n 'translate',\n 'spellCheck',\n 'name'\n]);\n/**\n * An array of microdata attributes that are allowed on every html element type.\n *\n * @public\n */ export const microdataProperties = toObjectMap([\n 'itemID',\n 'itemProp',\n 'itemRef',\n 'itemScope',\n 'itemType'\n]);\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */ export const htmlElementProperties = toObjectMap(baseElementProperties, baseElementEvents, microdataProperties);\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */ export const labelProperties = toObjectMap(htmlElementProperties, [\n 'form'\n]);\n/**\n * An array of AUDIO tag properties and events.\n\n * @public\n */ export const audioProperties = toObjectMap(htmlElementProperties, [\n 'height',\n 'loop',\n 'muted',\n 'preload',\n 'src',\n 'width'\n]);\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */ export const videoProperties = toObjectMap(audioProperties, [\n 'poster'\n]);\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */ export const olProperties = toObjectMap(htmlElementProperties, [\n 'start'\n]);\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */ export const liProperties = toObjectMap(htmlElementProperties, [\n 'value'\n]);\n/**\n * An array of A tag properties and events.\n *\n * @public\n */ export const anchorProperties = toObjectMap(htmlElementProperties, [\n 'download',\n 'href',\n 'hrefLang',\n 'media',\n 'rel',\n 'target',\n 'type'\n]);\n/**\n * An array of TIME tag properties and events.\n *\n * @public\n */ export const timeProperties = toObjectMap(htmlElementProperties, [\n 'dateTime'\n]);\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */ export const buttonProperties = toObjectMap(htmlElementProperties, [\n 'autoFocus',\n 'disabled',\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'type',\n 'value'\n]);\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */ export const inputProperties = toObjectMap(buttonProperties, [\n 'accept',\n 'alt',\n 'autoCapitalize',\n 'autoComplete',\n 'checked',\n 'dirname',\n 'form',\n 'height',\n 'inputMode',\n 'list',\n 'max',\n 'maxLength',\n 'min',\n 'multiple',\n 'pattern',\n 'placeholder',\n 'readOnly',\n 'required',\n 'src',\n 'step',\n 'size',\n 'type',\n 'value',\n 'width'\n]);\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */ export const textAreaProperties = toObjectMap(buttonProperties, [\n 'autoCapitalize',\n 'cols',\n 'dirname',\n 'form',\n 'maxLength',\n 'placeholder',\n 'readOnly',\n 'required',\n 'rows',\n 'wrap'\n]);\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */ export const selectProperties = toObjectMap(buttonProperties, [\n 'form',\n 'multiple',\n 'required'\n]);\nexport const optionProperties = toObjectMap(htmlElementProperties, [\n 'selected',\n 'value'\n]);\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */ export const tableProperties = toObjectMap(htmlElementProperties, [\n 'cellPadding',\n 'cellSpacing'\n]);\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */ export const trProperties = htmlElementProperties;\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */ export const thProperties = toObjectMap(htmlElementProperties, [\n 'colSpan',\n 'rowSpan',\n 'scope'\n]);\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */ export const tdProperties = toObjectMap(htmlElementProperties, [\n 'colSpan',\n 'headers',\n 'rowSpan',\n 'scope'\n]);\nexport const colGroupProperties = toObjectMap(htmlElementProperties, [\n 'span'\n]);\nexport const colProperties = toObjectMap(htmlElementProperties, [\n 'span'\n]);\n/**\n * An array of FIELDSET tag properties and events.\n *\n * @public\n */ export const fieldsetProperties = toObjectMap(htmlElementProperties, [\n 'disabled',\n 'form'\n]);\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */ export const formProperties = toObjectMap(htmlElementProperties, [\n 'acceptCharset',\n 'action',\n 'encType',\n 'encType',\n 'method',\n 'noValidate',\n 'target'\n]);\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */ export const iframeProperties = toObjectMap(htmlElementProperties, [\n 'allow',\n 'allowFullScreen',\n 'allowPaymentRequest',\n 'allowTransparency',\n 'csp',\n 'height',\n 'importance',\n 'referrerPolicy',\n 'sandbox',\n 'src',\n 'srcDoc',\n 'width'\n]);\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */ export const imgProperties = toObjectMap(htmlElementProperties, [\n 'alt',\n 'crossOrigin',\n 'height',\n 'src',\n 'srcSet',\n 'useMap',\n 'width'\n]);\n/**\n * An array of DIALOG tag properties and events.\n *\n * @public\n */ export const dialogProperties = toObjectMap(htmlElementProperties, [\n 'open',\n 'onCancel',\n 'onClose'\n]);\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */ export const divProperties = htmlElementProperties;\n/**\n * Gets native supported props for an html element provided the allowance set. Use one of the property\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\n *\n * @public\n * @param props - The unfiltered input props\n * @param allowedPropNames - The array or record of allowed prop names.\n * @param excludedPropNames\n * @returns The filtered props\n */ // eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeProps(// eslint-disable-next-line @typescript-eslint/no-explicit-any\nprops, allowedPropNames, excludedPropNames) {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for\n // JSX attributes, but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.\n // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then\n // return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n const isArray = Array.isArray(allowedPropNames);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result = {};\n const keys = Object.keys(props);\n for (const key of keys){\n const isNativeProp = !isArray && allowedPropNames[key] || isArray && allowedPropNames.indexOf(key) >= 0 || key.indexOf('data-') === 0 || key.indexOf('aria-') === 0;\n if (isNativeProp && (!excludedPropNames || (excludedPropNames === null || excludedPropNames === void 0 ? void 0 : excludedPropNames.indexOf(key)) === -1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result[key] = props[key];\n }\n }\n return result;\n}\n","import * as React from 'react';\nimport { labelProperties, audioProperties, videoProperties, olProperties, liProperties, anchorProperties, buttonProperties, inputProperties, textAreaProperties, selectProperties, optionProperties, tableProperties, trProperties, thProperties, tdProperties, colGroupProperties, colProperties, fieldsetProperties, formProperties, iframeProperties, imgProperties, htmlElementProperties, getNativeProps, timeProperties, dialogProperties } from './properties';\nconst nativeElementMap = {\n label: labelProperties,\n audio: audioProperties,\n video: videoProperties,\n ol: olProperties,\n li: liProperties,\n a: anchorProperties,\n button: buttonProperties,\n input: inputProperties,\n textarea: textAreaProperties,\n select: selectProperties,\n option: optionProperties,\n table: tableProperties,\n tr: trProperties,\n th: thProperties,\n td: tdProperties,\n colGroup: colGroupProperties,\n col: colProperties,\n fieldset: fieldsetProperties,\n form: formProperties,\n iframe: iframeProperties,\n img: imgProperties,\n time: timeProperties,\n dialog: dialogProperties\n};\n/**\n * Given an element tagname and user props, filters the props to only allowed props for the given\n * element type.\n * @param tagName - Tag name (e.g. \"div\")\n * @param props - Props object\n * @param excludedPropNames - List of props to disallow\n *\n * @deprecated use getIntrinsicElementProps instead, it is a type-safe version of this method\n */ // eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeElementProps(tagName, props, excludedPropNames) {\n const allowedPropNames = tagName && nativeElementMap[tagName] || htmlElementProperties;\n allowedPropNames.as = 1;\n return getNativeProps(props, allowedPropNames, excludedPropNames);\n}\n/**\n * Splits the native props into ones that go to the `root` slot, and ones that go to the primary slot.\n *\n * This function is only for use with components that have a primary slot other than `root`.\n * Most components should use {@link getNativeElementProps} for their root slot if it is the primary slot.\n *\n * @returns An object containing the native props for the `root` and primary slots.\n */ export const getPartitionedNativeProps = ({ primarySlotTagName, props, excludedPropNames })=>{\n return {\n root: {\n style: props.style,\n className: props.className\n },\n // eslint-disable-next-line deprecation/deprecation\n primary: getNativeElementProps(primarySlotTagName, props, [\n ...excludedPropNames || [],\n 'style',\n 'className'\n ])\n };\n};\n","/**\n * Verifies if a given node is an HTMLElement,\n * this method works seamlessly with frames and elements from different documents\n *\n * This is preferred over simply using `instanceof`.\n * Since `instanceof` might be problematic while operating with [multiple realms](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof#instanceof_and_multiple_realms)\n *\n * @example\n * ```ts\n * isHTMLElement(event.target) && event.target.focus()\n * isHTMLElement(event.target, {constructorName: 'HTMLInputElement'}) && event.target.value // some value\n * ```\n *\n */ export function isHTMLElement(element, options) {\n var _typedElement_ownerDocument;\n const typedElement = element;\n var _options_constructorName;\n return Boolean((typedElement === null || typedElement === void 0 ? void 0 : (_typedElement_ownerDocument = typedElement.ownerDocument) === null || _typedElement_ownerDocument === void 0 ? void 0 : _typedElement_ownerDocument.defaultView) && typedElement instanceof typedElement.ownerDocument.defaultView[(_options_constructorName = options === null || options === void 0 ? void 0 : options.constructorName) !== null && _options_constructorName !== void 0 ? _options_constructorName : 'HTMLElement']);\n}\n","/**\n * @internal\n * Combine two event callbacks into a single callback function that calls each one in order.\n *\n * Usage example:\n * ```ts\n * state.slot.onChange = mergeCallbacks(state.slot.onChange, ev => {\n * // Handle onChange\n * });\n * ```\n *\n * The primary use is to avoid the need to capture an existing callback (`state.slot.onChange` in the example) to a\n * local variable before replacing with a new listener that calls the existing one. This helps avoid bugs like:\n * * Infinite recursion by calling the re-assigned state.slot.onChange if it's not captured to a local variable.\n * * Missing a call to the original onChange due to an early return or other conditional.\n *\n * If you need a callback that is stable between renders, wrap the result in {@link useEventCallback}.\n *\n * @param callback1 - The first callback to be called, or undefined\n * @param callback2 - The second callback to be called, or undefined\n *\n * @returns A function that that calls the provided functions in order\n */ export function mergeCallbacks(callback1, callback2) {\n return (...args)=>{\n callback1 === null || callback1 === void 0 ? void 0 : callback1(...args);\n callback2 === null || callback2 === void 0 ? void 0 : callback2(...args);\n };\n}\n","import { getParent } from './getParent';\n/**\n * Similar functionality to `element.contains` DOM API for use without of order DOM elements that\n * checks the virtual parent hierarchy. If a virtual parents exists, it is chosen over the actual parent\n *\n * @internal\n * @returns true if the child can find the parent in its virtual hierarchy\n */ export function elementContains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n if (parent === child) {\n return true;\n } else {\n // Tracks references of nodes that have been visited to prevent infinite loops\n const set = new WeakSet();\n while(child){\n const nextParent = getParent(child, {\n skipVirtual: set.has(child)\n });\n set.add(child);\n if (nextParent === parent) {\n return true;\n }\n child = nextParent;\n }\n }\n return false;\n}\n","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n * @internal\n */ function getVirtualParent(child) {\n return isVirtualElement(child) ? child._virtual.parent || null : null;\n}\n/**\n * Gets the element which is the parent of a given element.\n * This method prefers the virtual parent over real DOM parent when present.\n * @internal\n */ export function getParent(child, options = {}) {\n if (!child) {\n return null;\n }\n if (!options.skipVirtual) {\n const virtualParent = getVirtualParent(child);\n if (virtualParent) {\n return virtualParent;\n }\n }\n const parent = child.parentNode;\n if (parent && parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n return parent.host;\n }\n return parent;\n}\n","/**\n * Determines whether or not an element has the virtual hierarchy extension.\n * @internal\n */ export function isVirtualElement(element) {\n return element && !!element._virtual;\n}\n","import * as React from 'react';\n/**\n * Context for providing the window.\n */\n// eslint-disable-next-line @fluentui/no-context-default-value\nexport var WindowContext = React.createContext({\n // eslint-disable-next-line no-restricted-globals\n window: typeof window === 'object' ? window : undefined,\n});\n/**\n * Hook to access the window object. This can be overridden contextually using the `WindowProvider`.\n */\nexport var useWindow = function () { return React.useContext(WindowContext).window; };\n/**\n * Hook to access the document object. This can be overridden contextually using the `WindowProvider`.\n */\nexport var useDocument = function () { var _a; return (_a = React.useContext(WindowContext).window) === null || _a === void 0 ? void 0 : _a.document; };\n/**\n * Component to provide the window object contextually. This is useful when rendering content to an element\n * contained within a child window or iframe element, where event handlers and styling must be projected\n * to an alternative window or document.\n */\nexport var WindowProvider = function (props) {\n return React.createElement(WindowContext.Provider, { value: props }, props.children);\n};\n//# sourceMappingURL=WindowProvider.js.map"],"names":["shorthandLookup","above","position","align","below","before","after","resolvePositioningShorthand","shorthand","useCallbackRef","initialValue","callback","skipInitialResolve","isFirst","ref","value","facade","current","last","useIsomorphicLayoutEffect","normalizeAutoSize","autoSize","applyMaxWidth","applyMaxHeight","getScrollParent","node","parentNode","nodeName","host","getParentNode","document","body","ownerDocument","overflow","overflowX","overflowY","_node_ownerDocument","nodeType","defaultView","getComputedStyle","getStyleComputedProperty","test","hasScrollParent","_scrollParentElement_ownerDocument","scrollParentElement","toFloatingUIPlacement","rtl","alignment","p","a","positionedVertically","alignedVertically","shouldAlignToCenter","computedPosition","getPositionMap","computedAlignment","start","end","top","bottom","center","undefined","getBoundary","element","boundary","documentElement","boundariesNode","toFloatingUIPadding","padding","isRtl","verticalPadding","paddingObject","left","right","resetMaxSize","name","fn","middlewareData","elements","_middlewareData_resetMaxSize","maxSizeAlreadyReset","floating","style","removeProperty","data","reset","rects","maxSize","options","container","overflowBoundary","overflowBoundaryPadding","altBoundary","apply","availableHeight","availableWidth","applyMaxSizeStyles","dimension","availableSize","setProperty","axis","getPropertyValue","matchTargetSizeCssVar","async","middlewareArguments","reference","referenceRect","floatingRect","floatingElement","matchTargetSize","matchTargetSizeAttempt","width","parseFloatingUIPlacement","placement","tokens","split","side","fromFloatingUIPlacement","floatingUIAlignment","offsetValue","floatingUIOffset","rawOffset","positionedRect","targetRect","x","y","newCoords","height","flip","hasScrollableElement","flipBoundary","fallbackPositions","fallbackPlacements","reduce","acc","push","fallbackStrategy","length","shift","shiftToCoverTarget","disableTether","crossAxis","limiter","mainAxis","intersecting","altOverflow","isIntersectingTop","isIntersectingBottom","DATA_POSITIONING_INTERSECTING","DATA_POSITIONING_ESCAPED","DATA_POSITIONING_HIDDEN","DATA_POSITIONING_PLACEMENT","POSITIONING_END_EVENT","listScrollParents","scrollParents","cur","scrollParent","createPositionManager","isDestroyed","target","arrow","strategy","middleware","useTransform","disableUpdateOnResize","targetWindow","updatePosition","dispose","resizeObserver","ResizeObserver","createResizeObserver","entries","every","entry","contentRect","isFirstUpdate","Set","Object","assign","margin","forceUpdate","forEach","add","isHTMLElement","addEventListener","passive","observe","then","computedPlacement","arrowX","arrowY","writeArrowUpdates","_middlewareData_hide","_middlewareData_hide1","_container_ownerDocument_defaultView","lowPPI","coordinates","setAttribute","removeAttribute","intersectionObserver","hide","escaped","referenceHidden","devicePixelRatio","Math","round","transform","writeContainerUpdates","dispatchEvent","CustomEvent","catch","err","pending","Promise","resolve","debounce","removeEventListener","clear","disconnect","usePositioning","managerRef","targetRef","overrideTargetRef","containerRef","arrowRef","enabled","resolvePositioningOptions","arrowPadding","rawAutoSize","coverTarget","offset","pinned","unstable_disableTether","positionFixed","dir","targetDocument","positionStrategy","filter","Boolean","usePositioningOptions","updatePositionManager","_overrideTargetRef_current","canUseDOM","setOverrideTarget","useEventCallback","positioningRef","_managerRef_current","setTarget","_options_target","onPositioningEnd","_options_onPositioningEnd","call","_containerRef_current","DEFAULT_CONTAINS","parent","child","contains","getWindowEvent","_target_ownerDocument_defaultView","_target_ownerDocument","_target_ownerDocument_defaultView_event","window","event","FUI_FRAME_EVENT","useIFrameFocus","disabled","pollDuration","refs","timeoutRef","listener","e","_targetDocument_defaultView","setInterval","activeElement","tagName","bubbles","clearTimeout","submenuFallbackPositions","useMenu_unstable","props","isSubmenu","useIsSubmenu","hoverDelay","inline","hasCheckmarks","hasIcons","closeOnScroll","openOnContext","persistOnItemClick","openOnHover","defaultCheckedValues","mountNode","triggerId","useId","contextTarget","setContextTarget","initialState","virtualElement","setVirtualElement","mouseevent","MouseEvent","nativeEvent","clientX","clientY","getBoundingClientRect","createVirtualElementFromClick","usePositioningMouseTarget","positioningState","positioning","children","menuTrigger","menuPopover","triggerRef","menuPopoverRef","open","setOpen","useMenuOpenState","defaultOpen","onOpenChange","checkedValues","onCheckedValueChange","useMenuSelectableState","components","setCheckedValues","useControllableState","state","defaultState","checkedItems","_props_onCheckedValueChange","currentValue","parentSetOpen","context","_state_onOpenChange","enteringTriggerRef","setOpenState","trySetOpen","type","detail","bubble","setOpenTimeout","clearOpenTimeout","useTimeout","_state_triggerRef_current","Event","persist","win","disabledFocusOnIframe","timeoutId","isMouseDownInsideRef","ev","composedPath","handleMouseDown","some","currentEvent","conditionalHandler","setTimeout","useOnClickOutside","elementContains","containsProp","useOnScrollOutside","findFirstFocusable","useFocusFinders","focusFirst","firstFocusable","focus","firstMount","useFirstMount","Menu","contextValues","menu","useMenuContextValues_unstable","renderMenu_unstable","displayName","ChevronRightIcon","bundleIcon","ChevronLeftIcon","useMenuItem_unstable","isSubmenuTrigger","persistOnClickContext","as","hasSubmenu","persistOnClick","innerRef","dismissedWithKeyboardRef","root","icon","checkmark","submenuIndicator","content","secondaryContent","slot","getIntrinsicElementProps","useARIAButtonProps","role","disabledFocusable","useMergedRefs","onKeyDown","_props_onKeyDown","isDefaultPrevented","key","onMouseEnter","_innerRef_current","_props_onMouseEnter","onClick","_props_onClick","keyboard","elementType","renderByDefault","defaultProps","setFocusByFirstCharacter","originalOnKeyDown","_e_key","useCharacterSearch","useStyles","a9b677","Bqenvij","Bcdw1i0","Bnnss6s","rootChecked","d","menuItemClassNames","useRootBaseStyles","r","s","useContentBaseStyles","useSecondaryContentBaseStyles","useIconBaseStyles","useSubmenuIndicatorBaseStyles","B6of3ja","splitItemMain","Bh6795r","splitItemTrigger","Btl43ni","Beyfa6y","uwmqm3","Ftih45","Ccq8qp","Baz25je","cmx5o7","sj55zd","Bi91k9c","Jwef8y","eoavqd","Bk3fhr4","Bmfj8id","Bg7n49j","B2d53fq","iro3zm","t0hwav","Bbusuzp","ze5xyy","Bqrx1nm","Bctn1xl","h5esng","Bh6z0a4","Bh953qp","h","f","m","useMenuItemStyles_unstable","styles","rootBaseStyles","contentBaseStyles","secondaryContentBaseStyles","iconBaseStyles","submenuIndicatorBaseStyles","className","checked","useCheckmarkStyles_unstable","MenuItem","assertSlots","renderMenuItem_unstable","useMenuContextSelectors","usingPropsAndMenuContext","contextValue","hasMenuContext","isUsingPropsAndContext","val","menuListClassNames","mc9l5x","Beiy3e4","i8kkvl","Belr9w4","rmohyg","MenuList","findAllFocusable","menuContext","useHasParentContext","focusAttributes","useArrowNavigationGroup","u","circular","console","warn","onTabsterMoveFocus","nextElement","next","preventDefault","itemEl","acceptedRoles","menuItems","el","hasAttribute","indexOf","getAttribute","startIndex","firstChars","map","menuItem","_menuItem_textContent","textContent","charAt","toLowerCase","char","getIndexFirstChars","firstChar","i","index","_props_checkedValues","handleCheckedValueChange","toggleCheckbox","newCheckedItems","splice","selectRadio","useMenuList_unstable","menuList","useMenuListContextValues_unstable","useMenuListStyles_unstable","renderMenuList_unstable","useMenuPopover_unstable","popoverRef","canDispatchCustomEventRef","restoreFocusSourceAttributes","tabster","restorer","useRestoreFocusSource","setThrottleTimeout","clearThrottleTimeout","CloseArrowKey","mouseOverListenerCallbackRef","_useMenuContext_unstable","rootProps","onMouseEnterOriginal","onKeyDownOriginal","_popoverRef_current","_triggerRef_current","menuPopoverClassNames","Bbmb7ep","B7oj6ja","Dimara","De3pzq","B7ck84d","Bf4jedk","B2u0y6b","B68tc82","E5pizo","Byoj8tv","z189sj","z8tnut","B0ocmuz","Bgfg5da","B9xav0g","oivjwe","Bn0qgzm","B4g9neb","zhjwy3","wvpqe5","ibv6hh","u1mtju","h3c5rm","vrafjx","Bekrc4i","i8vvqc","g2u3we","icvyot","B4j52fo","irswps","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","B93otf3","vin17d","Ezkn3b","nyiy2g","swvrvq","Bkovbt3","hgjdhn","fsy9dk","B3ogreh","jv49x5","Bk7o48c","Bv12yb3","vcguit","z0t1cu","Bks05zx","yckwsp","Bvtglag","k","t","setVirtualParent","virtualChild","_virtual","PortalMountNodeContext","Provider","usePortalMountNodeStylesStyles","qhf8xq","Bhzewxz","oyh7mz","j35jbq","Bj3rh1h","useInsertionEffect","focusVisibleRef","useFocusVisible","classes","themeClassName","targetNode","newElement","createElement","appendChild","remove","classesToApply","classList","usePortal_unstable","toMountNodeProps","virtualParentRootRef","fallbackElement","virtualParent","isVirtualParentInsideChild","Portal","hidden","renderPortal_unstable","MenuPopover","useMenuPopoverStyles_unstable","renderMenuPopover_unstable","isFluentTrigger","isFluentTriggerComponent","getTriggerChild","applyTriggerPropsToChildren","triggerChildProps","cloneTriggerTree","triggerProps","Error","grandchild","useMenuTrigger_unstable","disableButtonEnhancement","openedWithKeyboardRef","hasMouseMoved","OpenArrowKey","contextMenuProps","id","mergeCallbacks","isTargetDisabled","onMouseLeave","onContextMenu","onMouseMove","ariaButtonTriggerChildProps","isDisabled","currentTarget","MenuTrigger","renderMenuTrigger_unstable","MenuContext","menuContextDefaultValue","MenuProvider","useMenuContext_unstable","selector","ctx","MenuListContext","menuListContextDefaultValue","MenuListProvider","useMenuListContext_unstable","MenuTriggerContext","MenuTriggerContextProvider","useMenuTriggerContext_unstable","_React_useContext","menuContextValue","hasMenuListContext","MENU_ENTER_EVENT","useOnMenuMouseEnter","someMenuPopover","dispatchMenuEnterEvent","PopoverContext","popoverContextDefaultValue","toggleOpen","contentRef","size","trapFocus","usePopoverContext_unstable","PortalCompatContext","portalCompatContextDefaultValue","usePortalCompat","progressBarClassNames","useRootStyles","Bmxbyg5","Bpg54ce","Bpep1pd","rounded","square","medium","large","useBarStyles","base","nonZeroDeterminate","Bmy1vo4","B3o57yi","Bkqvd7p","indeterminate","Bcmaq0h","w3vfg9","Gqtpxc","B3vm3ge","brand","error","warning","success","ProgressBar","field","fieldState","validationState","color","shape","thickness","_props_max","max","clampMax","clampValue","labelId","validationMessageId","hintId","join","bar","useProgressBar_unstable","rootStyles","barStyles","min","useProgressBarStyles_unstable","renderProgressBar_unstable","ThemeContext","ThemeProvider","TooltipVisibilityContext","TooltipVisibilityProvider","OverridesContext","OverridesProvider","fluentProviderClassNames","fsow6f","useFluentProviderThemeStyleTag","theme","rendererAttributes","styleTag","styleTagId","styleElementAttributes","rule","keys","cssVarRule","cssVar","createCSSRuleFromTheme","themeStyleElement","getElementById","head","append","useHandleSSRStyleElements","ssrStyleElement","elementAttributes","tag","attrName","createStyleTag","sheet","cssRules","deleteRule","insertRule","insertSheet","_styleTag_current","DEFAULT_STYLE_HOOKS","DEFAULT_RENDERER_ATTRIBUTES","useFluentProvider_unstable","parentContext","parentTheme","parentOverrides","parentCustomStyleHooks","CustomStyleHooksContext","applyStylesToPortals","customStyleHooks_unstable","overrides_unstable","overrides","mergedTheme","shallowMerge","mergedOverrides","mergedCustomStyleHooks","renderer","_renderer_styleElementAttributes","serverStyleProps","cssRule","attributes","b","FluentProvider","useFluentProviderStyles_unstable","provider","tooltip","iconDirection","textDirection","useFluentProviderContextValues_unstable","IconDirectionContext","dangerouslySetInnerHTML","__html","renderFluentProvider_unstable","noop","CustomStyleHooksProvider","useCustomStyleHook","hook","_React_useContext_hook","ProviderContext","providerContextDefaultValue","useFluent","ThemeClassNameContext","themeClassNameContextDefaultVaue","ThemeClassNameProvider","useThemeClassName","FOCUS_VISIBLE_ATTR","FOCUS_WITHIN_ATTR","defaultOptions","customizeSelector","createCustomFocusIndicatorStyle","selectorType","createBaseSelector","getOutlinePosition","outlineWidth","outlineOffset","getFocusOutlineStyles","outlineRadius","outlineColor","pointerEvents","zIndex","border","borderRadius","createFocusOutlineStyle","enableOutline","outlineStyle","memorizeCurrent","tabbable","ignoreDefaultKeydown","unstable_hasDefault","mover","cyclic","direction","axisToMoverDirection","hasDefault","focusable","ignoreKeydown","acceptCondition","findAll","findFirst","findLastFocusable","findLast","findNextFocusable","currentElement","findNext","findPrevFocusable","findPrev","applyFocusVisiblePolyfill","scope","alreadyInScope","keyborg","registerElementIfNavigating","isNavigatingWithKeyboard","disposeCurrentElement","subscribe","keyborgListener","blurListener","relatedTarget","focusVisible","parentElement","scopeRef","_options_targetDocument","applyFocusWithinPolyfill","removeFocusWithinClass","useFocusWithin","elementRef","useFocusableGroup","groupper","tabbability","getTabbability","tabBehavior","useTabster","shadowDOMAPI","__tabsterShadowDOMAPI","autoRoot","controlTab","getParent","checkUncontrolledTrappingFocus","_element_firstElementChild","firstElementChild","DOMAPI","useTabsterAttributes","strAttr","textClassNames","Huce71","ygn44y","nowrap","truncate","block","italic","B80ckks","underline","w71qe1","strikethrough","strikethroughUnderline","base100","base200","base400","base500","base600","hero700","hero800","hero900","hero1000","monospace","numeric","weightMedium","weightSemibold","weightBold","alignCenter","alignEnd","alignJustify","Text","wrap","font","weight","useText_unstable","useTextStyles_unstable","renderText_unstable","useToolbarSelectableState","onCheckedValueChangeOriginal","ToolbarContext","toolbarClassNames","Bt984gj","vertical","small","Toolbar","arrowNavigationProps","handleToggleButton","handleRadio","useToolbar_unstable","toolbar","useToolbarContextValues_unstable","useToolbarStyles_unstable","renderToolbar_unstable","useBaseStyles","verticalIcon","jrapky","Frg6f3","t21cq0","B74szlk","ToolbarButton","buttonProps","useButton","appearance","useToolbarButton_unstable","buttonStyles","useToolbarButtonStyles_unstable","renderButton","SLOT_RENDER_FUNCTION_SYMBOL","Symbol","for","SLOT_ELEMENT_TYPE_SYMBOL","excludedPropNames","_props_as","isSlot","hasOwnProperty","always","Array","isArray","resolveShorthand","propsWithMetadata","optional","internalState","setInternalState","stateValueRef","setControlledState","newState","isFactoryDispatch","useIsControlled","controlledValue","isControlled","callbackRef","args","SSRContext","useSSRContext","IdPrefixContext","prefix","providedId","idPrefix","_useId","generatedId","escapedId","replace","mergedCallback","setTimeoutNoop","_callback","clearTimeoutNoop","_handle","setTimer","cancelTimer","set","delay","cancel","useBrowserTimer","toObjectMap","items","result","item","baseElementEvents","baseElementProperties","microdataProperties","htmlElementProperties","labelProperties","audioProperties","videoProperties","olProperties","liProperties","anchorProperties","timeProperties","buttonProperties","nativeElementMap","label","audio","video","ol","li","button","input","textarea","select","option","table","tr","th","td","colGroup","col","fieldset","form","iframe","img","time","dialog","getNativeElementProps","allowedPropNames","getNativeProps","getPartitionedNativeProps","primarySlotTagName","primary","_typedElement_ownerDocument","typedElement","_options_constructorName","constructorName","callback1","callback2","WeakSet","nextParent","skipVirtual","has","getVirtualParent","Node","DOCUMENT_FRAGMENT_NODE","WindowContext","useWindow","useDocument","_a"],"sourceRoot":""}