@fluentui/react-menu 9.74.7-experimental.cli-api.20261006-ccaa611d58.0 → 9.75.0-experimental.css-modules.20261031-810ab07afb.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +70 -17
- package/README.md +8 -0
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/Menu.types.js.map +1 -1
- package/lib/components/Menu/MenuSurfaceMotion.js.map +1 -1
- package/lib/components/Menu/index.js.map +1 -1
- package/lib/components/Menu/renderMenu.js +2 -2
- package/lib/components/Menu/renderMenu.js.map +1 -1
- package/lib/components/Menu/useMenu.js +2 -2
- package/lib/components/Menu/useMenu.js.map +1 -1
- package/lib/components/Menu/useMenuContextValues.js.map +1 -1
- package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/MenuDivider.module.css +8 -0
- package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -1
- package/lib/components/MenuDivider/index.js.map +1 -1
- package/lib/components/MenuDivider/renderMenuDivider.js +2 -2
- package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.css.js +9 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.css.js.map +1 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.raw.css.js +9 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -1
- package/lib/components/MenuGroup/index.js.map +1 -1
- package/lib/components/MenuGroup/renderMenuGroup.js +2 -2
- package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.css.js +8 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.css.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.raw.css.js +8 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/MenuGroupHeader.module.css +12 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
- package/lib/components/MenuGroupHeader/index.js.map +1 -1
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +2 -2
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.css.js +9 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.css.js.map +1 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.css.js +9 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.module.css +335 -0
- package/lib/components/MenuItem/MenuItem.types.js.map +1 -1
- package/lib/components/MenuItem/index.js.map +1 -1
- package/lib/components/MenuItem/renderMenuItem.js +2 -2
- package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
- package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
- package/lib/components/MenuItem/useMenuItem.js +1 -2
- package/lib/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib/components/MenuItem/useMenuItemBase.js.map +1 -1
- package/lib/components/MenuItem/useMenuItemStyles.styles.css.js +43 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.css.js.map +1 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.js +19 -9
- package/lib/components/MenuItem/useMenuItemStyles.styles.js.map +1 -1
- package/lib/components/MenuItem/useMenuItemStyles.styles.raw.css.js +43 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.raw.js +15 -6
- package/lib/components/MenuItem/useMenuItemStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
- package/lib/components/MenuItemCheckbox/index.js.map +1 -1
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +2 -2
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +1 -2
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.css.js +39 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.css.js.map +1 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.css.js +39 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuItemLink/MenuItemLink.js.map +1 -1
- package/lib/components/MenuItemLink/MenuItemLink.module.css +8 -0
- package/lib/components/MenuItemLink/MenuItemLink.types.js.map +1 -1
- package/lib/components/MenuItemLink/index.js.map +1 -1
- package/lib/components/MenuItemLink/renderMenuItemLink.js +2 -2
- package/lib/components/MenuItemLink/renderMenuItemLink.js.map +1 -1
- package/lib/components/MenuItemLink/useMenuItemLink.js.map +1 -1
- package/lib/components/MenuItemLink/useMenuItemLinkStyles.styles.css.js +35 -0
- package/lib/components/MenuItemLink/useMenuItemLinkStyles.styles.css.js.map +1 -0
- package/lib/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.css.js +35 -0
- package/lib/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
- package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
- package/lib/components/MenuItemRadio/index.js.map +1 -1
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js +2 -2
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
- package/lib/components/MenuItemRadio/useMenuItemRadio.js +1 -2
- package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.css.js +38 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.css.js.map +1 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.css.js +38 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuItemSwitch/MenuItemSwitch.js.map +1 -1
- package/lib/components/MenuItemSwitch/MenuItemSwitch.module.css +70 -0
- package/lib/components/MenuItemSwitch/MenuItemSwitch.types.js.map +1 -1
- package/lib/components/MenuItemSwitch/index.js.map +1 -1
- package/lib/components/MenuItemSwitch/renderMenuItemSwitch.js +2 -2
- package/lib/components/MenuItemSwitch/renderMenuItemSwitch.js.map +1 -1
- package/lib/components/MenuItemSwitch/useMenuItemSwitch.js +1 -2
- package/lib/components/MenuItemSwitch/useMenuItemSwitch.js.map +1 -1
- package/lib/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.css.js +54 -0
- package/lib/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.css.js.map +1 -0
- package/lib/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.css.js +54 -0
- package/lib/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuList/MenuList.js.map +1 -1
- package/lib/components/MenuList/MenuList.module.css +10 -0
- package/lib/components/MenuList/MenuList.types.js.map +1 -1
- package/lib/components/MenuList/index.js.map +1 -1
- package/lib/components/MenuList/renderMenuList.js +2 -2
- package/lib/components/MenuList/renderMenuList.js.map +1 -1
- package/lib/components/MenuList/useMenuList.js +1 -3
- package/lib/components/MenuList/useMenuList.js.map +1 -1
- package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
- package/lib/components/MenuList/useMenuListStyles.styles.css.js +11 -0
- package/lib/components/MenuList/useMenuListStyles.styles.css.js.map +1 -0
- package/lib/components/MenuList/useMenuListStyles.styles.raw.css.js +11 -0
- package/lib/components/MenuList/useMenuListStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuList/useMenuListStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/MenuPopover.module.css +19 -0
- package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -1
- package/lib/components/MenuPopover/index.js.map +1 -1
- package/lib/components/MenuPopover/renderMenuPopover.js +2 -2
- package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopover.js +1 -1
- package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.css.js +11 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.css.js.map +1 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.raw.css.js +11 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
- package/lib/components/MenuSplitGroup/MenuSplitGroup.module.css +24 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
- package/lib/components/MenuSplitGroup/index.js.map +1 -1
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +4 -4
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
- package/lib/components/MenuSplitGroup/useMenuSplitGroupContextValues.js.map +1 -1
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.css.js +12 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.css.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.css.js +12 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.css.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.js.map +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
- package/lib/components/MenuTrigger/index.js.map +1 -1
- package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
- package/lib/components/MenuTrigger/useMenuTrigger.js +2 -2
- package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/contexts/menuContext.js.map +1 -1
- package/lib/contexts/menuGroupContext.js.map +1 -1
- package/lib/contexts/menuListContext.js.map +1 -1
- package/lib/contexts/menuSplitGroupContext.js.map +1 -1
- package/lib/contexts/menuTriggerContext.js.map +1 -1
- package/lib/selectable/Checkmark.module.css +12 -0
- package/lib/selectable/index.js.map +1 -1
- package/lib/selectable/types.js.map +1 -1
- package/lib/selectable/useCheckmarkStyles.styles.css.js +11 -0
- package/lib/selectable/useCheckmarkStyles.styles.css.js.map +1 -0
- package/lib/selectable/useCheckmarkStyles.styles.raw.css.js +11 -0
- package/lib/selectable/useCheckmarkStyles.styles.raw.css.js.map +1 -0
- package/lib/selectable/useCheckmarkStyles.styles.raw.js.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/useIsSubmenu.js.map +1 -1
- package/lib/utils/useOnMenuEnter.js +1 -1
- package/lib/utils/useOnMenuEnter.js.map +1 -1
- package/lib/utils/useOnMenuSafeZoneTimeout.js.map +1 -1
- package/lib/utils/useValidateNesting.js +4 -4
- package/lib/utils/useValidateNesting.js.map +1 -1
- package/lib-commonjs/Menu.cjs +6 -6
- package/lib-commonjs/MenuDivider.cjs +6 -6
- package/lib-commonjs/MenuGroup.cjs +7 -7
- package/lib-commonjs/MenuGroupHeader.cjs +6 -6
- package/lib-commonjs/MenuItem.cjs +7 -7
- package/lib-commonjs/MenuItemCheckbox.cjs +7 -7
- package/lib-commonjs/MenuItemLink.cjs +7 -7
- package/lib-commonjs/MenuItemRadio.cjs +7 -7
- package/lib-commonjs/MenuItemSwitch.cjs +8 -8
- package/lib-commonjs/MenuList.cjs +8 -8
- package/lib-commonjs/MenuPopover.cjs +7 -7
- package/lib-commonjs/MenuSplitGroup.cjs +6 -6
- package/lib-commonjs/MenuTrigger.cjs +5 -5
- package/lib-commonjs/components/Menu/Menu.cjs.map +1 -1
- package/lib-commonjs/components/Menu/Menu.types.cjs.map +1 -1
- package/lib-commonjs/components/Menu/MenuSurfaceMotion.cjs.map +1 -1
- package/lib-commonjs/components/Menu/index.cjs +6 -6
- package/lib-commonjs/components/Menu/index.cjs.map +1 -1
- package/lib-commonjs/components/Menu/renderMenu.cjs.map +1 -1
- package/lib-commonjs/components/Menu/useMenu.cjs +5 -5
- package/lib-commonjs/components/Menu/useMenu.cjs.map +1 -1
- package/lib-commonjs/components/Menu/useMenuContextValues.cjs.map +1 -1
- package/lib-commonjs/components/MenuDivider/MenuDivider.cjs.map +1 -1
- package/lib-commonjs/components/MenuDivider/MenuDivider.module.css +8 -0
- package/lib-commonjs/components/MenuDivider/MenuDivider.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuDivider/index.cjs +6 -6
- package/lib-commonjs/components/MenuDivider/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuDivider/renderMenuDivider.cjs.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDivider.cjs.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.cjs +3 -3
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.css.cjs +28 -0
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.raw.cjs +3 -3
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.raw.css.cjs +28 -0
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuGroup/MenuGroup.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroup/MenuGroup.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroup/index.cjs +7 -7
- package/lib-commonjs/components/MenuGroup/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroup/renderMenuGroup.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroup.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.cjs +3 -3
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.css.cjs +26 -0
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.raw.cjs +3 -3
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.raw.css.cjs +26 -0
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.module.css +12 -0
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/index.cjs +6 -6
- package/lib-commonjs/components/MenuGroupHeader/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.cjs +3 -3
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.css.cjs +28 -0
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.cjs +3 -3
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.css.cjs +28 -0
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItem/MenuItem.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/MenuItem.module.css +335 -0
- package/lib-commonjs/components/MenuItem/MenuItem.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/index.cjs +7 -7
- package/lib-commonjs/components/MenuItem/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/renderMenuItem.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/useCharacterSearch.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItem.cjs +1 -2
- package/lib-commonjs/components/MenuItem/useMenuItem.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItemBase.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.cjs +60 -38
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.css.cjs +62 -0
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.raw.cjs +18 -9
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.raw.css.cjs +62 -0
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/index.cjs +7 -7
- package/lib-commonjs/components/MenuItemCheckbox/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.cjs +4 -5
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.cjs +3 -3
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.css.cjs +57 -0
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.cjs +3 -3
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.css.cjs +57 -0
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItemLink/MenuItemLink.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemLink/MenuItemLink.module.css +8 -0
- package/lib-commonjs/components/MenuItemLink/MenuItemLink.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemLink/index.cjs +7 -7
- package/lib-commonjs/components/MenuItemLink/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemLink/renderMenuItemLink.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemLink/useMenuItemLink.cjs +3 -3
- package/lib-commonjs/components/MenuItemLink/useMenuItemLink.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.cjs +3 -3
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.css.cjs +52 -0
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.cjs +3 -3
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.css.cjs +52 -0
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/index.cjs +7 -7
- package/lib-commonjs/components/MenuItemRadio/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.cjs +4 -5
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.cjs +3 -3
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.css.cjs +56 -0
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.cjs +3 -3
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.css.cjs +56 -0
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItemSwitch/MenuItemSwitch.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemSwitch/MenuItemSwitch.module.css +70 -0
- package/lib-commonjs/components/MenuItemSwitch/MenuItemSwitch.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemSwitch/index.cjs +8 -8
- package/lib-commonjs/components/MenuItemSwitch/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemSwitch/renderMenuItemSwitch.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitch.cjs +4 -5
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitch.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.cjs +4 -4
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.css.cjs +74 -0
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.cjs +4 -4
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.css.cjs +74 -0
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuList/MenuList.cjs.map +1 -1
- package/lib-commonjs/components/MenuList/MenuList.module.css +10 -0
- package/lib-commonjs/components/MenuList/MenuList.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuList/index.cjs +8 -8
- package/lib-commonjs/components/MenuList/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuList/renderMenuList.cjs.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuList.cjs +4 -6
- package/lib-commonjs/components/MenuList/useMenuList.cjs.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuListContextValues.cjs.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.cjs +3 -3
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.css.cjs +28 -0
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.raw.cjs +3 -3
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.raw.css.cjs +28 -0
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuPopover/MenuPopover.cjs.map +1 -1
- package/lib-commonjs/components/MenuPopover/MenuPopover.module.css +19 -0
- package/lib-commonjs/components/MenuPopover/MenuPopover.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuPopover/index.cjs +7 -7
- package/lib-commonjs/components/MenuPopover/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuPopover/renderMenuPopover.cjs.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopover.cjs +4 -4
- package/lib-commonjs/components/MenuPopover/useMenuPopover.cjs.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.cjs +3 -3
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.css.cjs +28 -0
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.raw.cjs +3 -3
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.raw.css.cjs +28 -0
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.cjs.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.module.css +24 -0
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/index.cjs +6 -6
- package/lib-commonjs/components/MenuSplitGroup/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.cjs +2 -2
- package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.cjs.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.cjs.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupContextValues.cjs.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.cjs +4 -4
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.cjs.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.css.cjs +32 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.cjs +4 -4
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.css.cjs +32 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.cjs.map +1 -1
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.cjs.map +1 -1
- package/lib-commonjs/components/MenuTrigger/index.cjs +5 -5
- package/lib-commonjs/components/MenuTrigger/index.cjs.map +1 -1
- package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.cjs.map +1 -1
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.cjs +5 -5
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.cjs.map +1 -1
- package/lib-commonjs/components/index.cjs +12 -12
- package/lib-commonjs/components/index.cjs.map +1 -1
- package/lib-commonjs/contexts/menuContext.cjs +4 -4
- package/lib-commonjs/contexts/menuContext.cjs.map +1 -1
- package/lib-commonjs/contexts/menuGroupContext.cjs +3 -3
- package/lib-commonjs/contexts/menuGroupContext.cjs.map +1 -1
- package/lib-commonjs/contexts/menuListContext.cjs +4 -4
- package/lib-commonjs/contexts/menuListContext.cjs.map +1 -1
- package/lib-commonjs/contexts/menuSplitGroupContext.cjs +5 -5
- package/lib-commonjs/contexts/menuSplitGroupContext.cjs.map +1 -1
- package/lib-commonjs/contexts/menuTriggerContext.cjs +3 -3
- package/lib-commonjs/contexts/menuTriggerContext.cjs.map +1 -1
- package/lib-commonjs/index.cjs +86 -86
- package/lib-commonjs/index.cjs.map +1 -1
- package/lib-commonjs/selectable/Checkmark.module.css +12 -0
- package/lib-commonjs/selectable/index.cjs.map +1 -1
- package/lib-commonjs/selectable/types.cjs.map +1 -1
- package/lib-commonjs/selectable/useCheckmarkStyles.styles.css.cjs +18 -0
- package/lib-commonjs/selectable/useCheckmarkStyles.styles.css.cjs.map +1 -0
- package/lib-commonjs/selectable/useCheckmarkStyles.styles.raw.cjs.map +1 -1
- package/lib-commonjs/selectable/useCheckmarkStyles.styles.raw.css.cjs +18 -0
- package/lib-commonjs/selectable/useCheckmarkStyles.styles.raw.css.cjs.map +1 -0
- package/lib-commonjs/utils/index.cjs +8 -8
- package/lib-commonjs/utils/index.cjs.map +1 -1
- package/lib-commonjs/utils/useIsSubmenu.cjs.map +1 -1
- package/lib-commonjs/utils/useOnMenuEnter.cjs +5 -5
- package/lib-commonjs/utils/useOnMenuEnter.cjs.map +1 -1
- package/lib-commonjs/utils/useOnMenuSafeZoneTimeout.cjs +3 -3
- package/lib-commonjs/utils/useOnMenuSafeZoneTimeout.cjs.map +1 -1
- package/lib-commonjs/utils/useValidateNesting.cjs +4 -4
- package/lib-commonjs/utils/useValidateNesting.cjs.map +1 -1
- package/package.json +20 -20
- package/dist/metadata/api/api-root.json +0 -1
- package/dist/metadata/index.json +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get menuListClassNames () {
|
|
13
|
+
return menuListClassNames;
|
|
14
|
+
},
|
|
15
|
+
get useMenuListStyles_unstable () {
|
|
16
|
+
return useMenuListStyles_unstable;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
20
|
+
const _clsx = require("clsx");
|
|
21
|
+
const _MenuListmodulecss = /*#__PURE__*/ _interop_require_default._(require("./MenuList.module.css"));
|
|
22
|
+
const menuListClassNames = {
|
|
23
|
+
root: 'fui-MenuList'
|
|
24
|
+
};
|
|
25
|
+
const useMenuListStyles_unstable = (state)=>{
|
|
26
|
+
state.root.className = (0, _clsx.clsx)(menuListClassNames.root, _MenuListmodulecss.default.root, state.hasMenuContext && _MenuListmodulecss.default.hasMenuContext, state.root.className);
|
|
27
|
+
return state;
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuList/useMenuListStyles.styles.css.ts"],"sourcesContent":["import { clsx } from 'clsx';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MenuListSlots, MenuListState } from './MenuList.types';\nimport styles from './MenuList.module.css';\n\nexport const menuListClassNames: SlotClassNames<MenuListSlots> = {\n root: 'fui-MenuList',\n};\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuListStyles_unstable = (state: MenuListState): MenuListState => {\n state.root.className = clsx(\n menuListClassNames.root,\n styles.root,\n state.hasMenuContext && styles.hasMenuContext,\n state.root.className,\n );\n return state;\n};\n"],"names":["clsx","styles","menuListClassNames","root","useMenuListStyles_unstable","state","className","hasMenuContext"],"mappings":";;;;;;;;;;;QAKaE;;;;;;;;sBALQ,OAAO;4EAGT,wBAAwB;AAEpC,2BAA0D;IAC/DC,MAAM;AACR,EAAE;AAKK,MAAMC,6BAA6B,CAACC;IACzCA,MAAMF,IAAI,CAACG,SAAS,OAAGN,UAAAA,EACrBE,mBAAmBC,IAAI,EACvBF,0BAAAA,CAAOE,IAAI,EACXE,MAAME,cAAc,IAAIN,0BAAAA,CAAOM,cAAc,EAC7CF,MAAMF,IAAI,CAACG,SAAS;IAEtB,OAAOD;AACT,EAAE"}
|
|
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
function _export(target, all) {
|
|
7
7
|
for(var name in all)Object.defineProperty(target, name, {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: all
|
|
9
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
menuListClassNames
|
|
13
|
+
get menuListClassNames () {
|
|
14
14
|
return menuListClassNames;
|
|
15
15
|
},
|
|
16
|
-
useMenuListStyles_unstable
|
|
16
|
+
get useMenuListStyles_unstable () {
|
|
17
17
|
return useMenuListStyles_unstable;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuList/useMenuListStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { mergeClasses, makeStyles } from '@griffel/react';\nimport type { MenuListSlots, MenuListState } from './MenuList.types';\n\nexport const menuListClassNames: SlotClassNames<MenuListSlots> = {\n root: 'fui-MenuList',\n};\n\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: '2px',\n },\n hasMenuContext: {\n height: '100%',\n },\n});\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuListStyles_unstable = (state: MenuListState): MenuListState => {\n const styles = useStyles();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(\n menuListClassNames.root,\n styles.root,\n state.hasMenuContext && styles.hasMenuContext,\n state.root.className,\n );\n return state;\n};\n"],"names":["mergeClasses","makeStyles","menuListClassNames","root","useStyles","display","flexDirection","gap","hasMenuContext","height","useMenuListStyles_unstable","state","styles","className"],"mappings":"AAAA;;;;;;;;;;;;QAMaE;;;;eAkBAQ;;;uBArB4B,iBAAiB;AAGnD,2BAA0D;IAC/DP,MAAM;AACR,EAAE;AAEF,MAAMC,gBAAYH,iBAAAA,EAAW;IAC3BE,MAAM;QACJE,SAAS;QACTC,eAAe;QACfC,KAAK;IACP;IACAC,gBAAgB;QACdC,QAAQ;IACV;AACF;AAKO,mCAAmC,CAACE;IACzC,MAAMC,SAASR;IACf,oDAAoD;IACpDO,MAAMR,IAAI,CAACU,SAAS,OAAGb,mBAAAA,EACrBE,mBAAmBC,IAAI,EACvBS,OAAOT,IAAI,EACXQ,MAAMH,cAAc,IAAII,OAAOJ,cAAc,EAC7CG,MAAMR,IAAI,CAACU,SAAS;IAEtB,OAAOF;AACT,EAAE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get menuListClassNames () {
|
|
13
|
+
return menuListClassNames;
|
|
14
|
+
},
|
|
15
|
+
get useMenuListStyles_unstable () {
|
|
16
|
+
return useMenuListStyles_unstable;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
20
|
+
const _clsx = require("clsx");
|
|
21
|
+
const _MenuListmodulecss = /*#__PURE__*/ _interop_require_default._(require("./MenuList.module.css"));
|
|
22
|
+
const menuListClassNames = {
|
|
23
|
+
root: 'fui-MenuList'
|
|
24
|
+
};
|
|
25
|
+
const useMenuListStyles_unstable = (state)=>{
|
|
26
|
+
state.root.className = (0, _clsx.clsx)(menuListClassNames.root, _MenuListmodulecss.default.root, state.hasMenuContext && _MenuListmodulecss.default.hasMenuContext, state.root.className);
|
|
27
|
+
return state;
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuList/useMenuListStyles.styles.css.ts"],"sourcesContent":["import { clsx } from 'clsx';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MenuListSlots, MenuListState } from './MenuList.types';\nimport styles from './MenuList.module.css';\n\nexport const menuListClassNames: SlotClassNames<MenuListSlots> = {\n root: 'fui-MenuList',\n};\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuListStyles_unstable = (state: MenuListState): MenuListState => {\n state.root.className = clsx(\n menuListClassNames.root,\n styles.root,\n state.hasMenuContext && styles.hasMenuContext,\n state.root.className,\n );\n return state;\n};\n"],"names":["clsx","styles","menuListClassNames","root","useMenuListStyles_unstable","state","className","hasMenuContext"],"mappings":";;;;;;;;;;;QAKaE;;;;;;;;sBALQ,OAAO;4EAGT,wBAAwB;AAEpC,2BAA0D;IAC/DC,MAAM;AACR,EAAE;AAKK,MAAMC,6BAA6B,CAACC;IACzCA,MAAMF,IAAI,CAACG,SAAS,OAAGN,UAAAA,EACrBE,mBAAmBC,IAAI,EACvBF,0BAAAA,CAAOE,IAAI,EACXE,MAAME,cAAc,IAAIN,0BAAAA,CAAOM,cAAc,EAC7CF,MAAMF,IAAI,CAACG,SAAS;IAEtB,OAAOD;AACT,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuPopover/MenuPopover.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useMenuPopover_unstable } from './useMenuPopover';\nimport { useMenuPopoverStyles_unstable } from './useMenuPopoverStyles.styles';\nimport { renderMenuPopover_unstable } from './renderMenuPopover';\nimport type { MenuPopoverProps } from './MenuPopover.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Popover intended to wrap `MenuList` and adds styling and interaction support specific to menus\n */\nexport const MenuPopover: ForwardRefComponent<MenuPopoverProps> = React.forwardRef((props, ref) => {\n const state = useMenuPopover_unstable(props, ref);\n\n useMenuPopoverStyles_unstable(state);\n\n useCustomStyleHook_unstable('useMenuPopoverStyles_unstable')(state);\n\n return renderMenuPopover_unstable(state);\n});\n\nMenuPopover.displayName = 'MenuPopover';\n"],"names":["React","useMenuPopover_unstable","useMenuPopoverStyles_unstable","renderMenuPopover_unstable","useCustomStyleHook_unstable","MenuPopover","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;gCACS,sBAAmB;4CACb,mCAAgC;mCACnC,yBAAsB;qCAGrB,kCAAkC;AAKvE,MAAMK,cAAAA,WAAAA,GAAqDL,OAAMM,UAAU,CAAC,CAACC,OAAOC;IACzF,MAAMC,YAAQR,uCAAAA,EAAwBM,OAAOC;QAE7CN,yDAAAA,EAA8BO;QAE9BL,gDAAAA,EAA4B,iCAAiCK;IAE7D,WAAON,6CAAAA,EAA2BM;AACpC,GAAG;AAEHJ,YAAYK,WAAW,GAAG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
@layer fluentui {
|
|
2
|
+
.root {
|
|
3
|
+
border-radius: var(--borderRadiusMedium);
|
|
4
|
+
background-color: var(--colorNeutralBackground1);
|
|
5
|
+
color: var(--colorNeutralForeground1);
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
min-width: calc(4 * var(--spacingHorizontalXXXL) + var(--spacingHorizontalMNudge));
|
|
8
|
+
max-width: calc(9 * var(--spacingHorizontalXXXL) + var(--spacingHorizontalM));
|
|
9
|
+
overflow-x: hidden;
|
|
10
|
+
width: max-content;
|
|
11
|
+
box-shadow: var(--shadow16);
|
|
12
|
+
padding: var(--spacingHorizontalXS);
|
|
13
|
+
border: var(--strokeWidthThin) solid var(--colorTransparentStroke);
|
|
14
|
+
font-family: var(--fontFamilyBase);
|
|
15
|
+
font-size: var(--fontSizeBase300);
|
|
16
|
+
font-weight: var(--fontWeightRegular);
|
|
17
|
+
line-height: var(--lineHeightBase300);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuPopover/MenuPopover.types.ts"],"sourcesContent":["import type { PortalProps } from '@fluentui/react-portal';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type * as React from 'react';\n\nexport type MenuPopoverSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * MenuPopover Props\n */\nexport type MenuPopoverProps = ComponentProps<MenuPopoverSlots>;\n\n/**\n * State used in rendering MenuPopover\n */\nexport type MenuPopoverState = ComponentState<MenuPopoverSlots> &\n Pick<PortalProps, 'mountNode'> & {\n /**\n * Root menus are rendered out of DOM order on `document.body`, use this to render the menu in DOM order\n * This option is disregarded for submenus\n */\n inline: boolean;\n\n safeZone?: React.ReactElement | null;\n };\n"],"names":[],"mappings":"AAaA;;CAEC,GACD,WASI"}
|
|
@@ -5,26 +5,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
function _export(target, all) {
|
|
6
6
|
for(var name in all)Object.defineProperty(target, name, {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: all
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
MenuPopover
|
|
12
|
+
get MenuPopover () {
|
|
13
13
|
return _MenuPopover.MenuPopover;
|
|
14
14
|
},
|
|
15
|
-
menuPopoverClassNames
|
|
15
|
+
get menuPopoverClassNames () {
|
|
16
16
|
return _useMenuPopoverStylesstyles.menuPopoverClassNames;
|
|
17
17
|
},
|
|
18
|
-
renderMenuPopover_unstable
|
|
18
|
+
get renderMenuPopover_unstable () {
|
|
19
19
|
return _renderMenuPopover.renderMenuPopover_unstable;
|
|
20
20
|
},
|
|
21
|
-
useMenuPopoverBase_unstable
|
|
21
|
+
get useMenuPopoverBase_unstable () {
|
|
22
22
|
return _useMenuPopover.useMenuPopoverBase_unstable;
|
|
23
23
|
},
|
|
24
|
-
useMenuPopoverStyles_unstable
|
|
24
|
+
get useMenuPopoverStyles_unstable () {
|
|
25
25
|
return _useMenuPopoverStylesstyles.useMenuPopoverStyles_unstable;
|
|
26
26
|
},
|
|
27
|
-
useMenuPopover_unstable
|
|
27
|
+
get useMenuPopover_unstable () {
|
|
28
28
|
return _useMenuPopover.useMenuPopover_unstable;
|
|
29
29
|
}
|
|
30
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuPopover/index.ts"],"sourcesContent":["export { MenuPopover } from './MenuPopover';\nexport type { MenuPopoverProps, MenuPopoverSlots, MenuPopoverState } from './MenuPopover.types';\nexport { renderMenuPopover_unstable } from './renderMenuPopover';\nexport { useMenuPopover_unstable, useMenuPopoverBase_unstable } from './useMenuPopover';\nexport { menuPopoverClassNames, useMenuPopoverStyles_unstable } from './useMenuPopoverStyles.styles';\n"],"names":["MenuPopover","renderMenuPopover_unstable","useMenuPopover_unstable","useMenuPopoverBase_unstable","menuPopoverClassNames","useMenuPopoverStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,wBAAW;;;eAIXI,iDAAqB;;;eAFrBH,6CAA0B;;;eACDE,2CAA2B;;;eAC7BE,yDAA6B;;;eADpDH,uCAAuB;;;6BAHJ,mBAAgB;mCAED,yBAAsB;gCACI,sBAAmB;4CACnB,mCAAgC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuPopover/renderMenuPopover.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { MenuPopoverSlots, MenuPopoverState } from './MenuPopover.types';\nimport { Portal } from '@fluentui/react-portal';\n\n/**\n * Render the final JSX of MenuPopover\n */\nexport const renderMenuPopover_unstable = (state: MenuPopoverState): JSXElement => {\n assertSlots<MenuPopoverSlots>(state);\n\n if (state.inline) {\n return (\n <>\n <state.root />\n {state.safeZone}\n </>\n );\n }\n\n return (\n <Portal mountNode={state.mountNode}>\n <state.root />\n {state.safeZone}\n </Portal>\n );\n};\n"],"names":["assertSlots","Portal","renderMenuPopover_unstable","state","inline","root","safeZone","mountNode"],"mappings":";;;;+BAUaE;;;;;;;gCATb,gDAAiD,GACjD,SAASF,WAAW,QAAQ,4BAA4B;6BAGjC,yBAAyB;AAKzC,mCAAmC,CAACG;QACzCH,2BAAAA,EAA8BG;IAE9B,IAAIA,MAAMC,MAAM,EAAE;QAChB,OAAA,WAAA,OACE,gBAAA,EAAA,oBAAA,EAAA;;kCACE,eAAA,EAACD,MAAME,IAAI,EAAA,CAAA;gBACVF,MAAMG,QAAQ;;;IAGrB;IAEA,OAAA,WAAA,OACE,gBAAA,EAACL,mBAAAA,EAAAA;QAAOM,WAAWJ,MAAMI,SAAS;;8BAChC,eAAA,EAACJ,MAAME,IAAI,EAAA,CAAA;YACVF,MAAMG,QAAQ;;;AAGrB,EAAE"}
|
|
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
function _export(target, all) {
|
|
7
7
|
for(var name in all)Object.defineProperty(target, name, {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: all
|
|
9
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
useMenuPopoverBase_unstable
|
|
13
|
+
get useMenuPopoverBase_unstable () {
|
|
14
14
|
return useMenuPopoverBase_unstable;
|
|
15
15
|
},
|
|
16
|
-
useMenuPopover_unstable
|
|
16
|
+
get useMenuPopover_unstable () {
|
|
17
17
|
return useMenuPopover_unstable;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
@@ -28,6 +28,7 @@ const _menuContext = require("../../contexts/menuContext.cjs");
|
|
|
28
28
|
const _menuListContext = require("../../contexts/menuListContext.cjs");
|
|
29
29
|
const _index = require("../../utils/index.cjs");
|
|
30
30
|
const useMenuPopoverBase_unstable = (props, ref)=>{
|
|
31
|
+
var _useMenuContext_unstable;
|
|
31
32
|
'use no memo'; // justified: compiler would optimize useMenuPopoverBase_unstable — manual opt-out to preserve runtime behavior
|
|
32
33
|
const safeZone = (0, _menuContext.useMenuContext_unstable)((context)=>context.safeZone);
|
|
33
34
|
const popoverRef = (0, _menuContext.useMenuContext_unstable)((context)=>context.menuPopoverRef);
|
|
@@ -70,7 +71,6 @@ const useMenuPopoverBase_unstable = (props, ref)=>{
|
|
|
70
71
|
}, [
|
|
71
72
|
clearThrottleTimeout
|
|
72
73
|
]);
|
|
73
|
-
var _useMenuContext_unstable;
|
|
74
74
|
const inline = (_useMenuContext_unstable = (0, _menuContext.useMenuContext_unstable)((context)=>context.inline)) !== null && _useMenuContext_unstable !== void 0 ? _useMenuContext_unstable : false;
|
|
75
75
|
const mountNode = (0, _menuContext.useMenuContext_unstable)((context)=>context.mountNode);
|
|
76
76
|
const rootProps = _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/MenuPopover/useMenuPopover.ts"],"sourcesContent":["'use client';\n\nimport { ArrowLeft, Tab, ArrowRight, Escape } from '@fluentui/keyboard-keys';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useMotionForwardedRef } from '@fluentui/react-motion';\nimport {\n useRestoreFocusSource,\n useTabsterAttributes,\n useMergedTabsterAttributes_unstable,\n} from '@fluentui/react-tabster';\nimport { getIntrinsicElementProps, useEventCallback, useMergedRefs, slot, useTimeout } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { dispatchMenuEnterEvent, useIsSubmenu } from '../../utils/index';\nimport type { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';\n\n/**\n * Base hook for MenuPopover, produces state required to render the component.\n *\n * Does not invoke `@fluentui/react-tabster` focus-restoration or\n * `@fluentui/react-motion` ref-forwarding APIs internally; the wrapper\n * `useMenuPopover_unstable` layers those on top.\n *\n * @param props - props from this instance of MenuPopover\n * @param ref - reference to root HTMLElement of MenuPopover\n */\nexport const useMenuPopoverBase_unstable = (props: MenuPopoverProps, ref: React.Ref<HTMLElement>): MenuPopoverState => {\n 'use no memo'; // justified: compiler would optimize useMenuPopoverBase_unstable — manual opt-out to preserve runtime behavior\n\n const safeZone = useMenuContext_unstable(context => context.safeZone);\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\n const isSubmenu = useIsSubmenu();\n const shouldCloseOnArrowLeft = useMenuListContext_unstable(ctx => ctx.shouldCloseOnArrowLeft ?? true);\n\n const canDispatchCustomEventRef = React.useRef(true);\n const [setThrottleTimeout, clearThrottleTimeout] = useTimeout();\n\n const { dir } = useFluent();\n const CloseArrowKey = dir === 'ltr' ? ArrowLeft : ArrowRight;\n\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(\n (node: HTMLElement) => {\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 as HTMLElement, e);\n setThrottleTimeout(() => {\n canDispatchCustomEventRef.current = true;\n }, 250);\n }\n });\n }\n },\n [popoverRef, setThrottleTimeout],\n );\n\n React.useEffect(() => {\n return () => clearThrottleTimeout();\n }, [clearThrottleTimeout]);\n\n const inline = useMenuContext_unstable(context => context.inline) ?? false;\n const mountNode = useMenuContext_unstable(context => context.mountNode);\n\n const rootProps = slot.always(\n getIntrinsicElementProps('div', {\n role: 'presentation',\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) as React.Ref<HTMLDivElement>,\n }),\n { elementType: 'div' },\n );\n\n const { onMouseEnter: onMouseEnterOriginal, onKeyDown: onKeyDownOriginal } = rootProps;\n rootProps.onMouseEnter = useEventCallback((event: React.MouseEvent<HTMLDivElement>) => {\n if (openOnHover || isSubmenu) {\n setOpen(event, { open: true, keyboard: false, type: 'menuPopoverMouseEnter', event });\n }\n onMouseEnterOriginal?.(event);\n });\n\n rootProps.onKeyDown = useEventCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const key = event.key;\n if (key === Escape || (isSubmenu && shouldCloseOnArrowLeft && key === CloseArrowKey)) {\n if (open && popoverRef.current?.contains(event.target as HTMLElement) && !event.isDefaultPrevented()) {\n setOpen(event, { open: false, keyboard: true, type: 'menuPopoverKeyDown', event });\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, { open: false, keyboard: true, type: 'menuPopoverKeyDown', event });\n if (!isSubmenu) {\n triggerRef.current?.focus();\n }\n }\n onKeyDownOriginal?.(event);\n });\n\n return {\n inline,\n mountNode,\n safeZone,\n components: { root: 'div' },\n root: rootProps,\n };\n};\n\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 */\nexport const useMenuPopover_unstable = (props: MenuPopoverProps, ref: React.Ref<HTMLElement>): MenuPopoverState => {\n const restoreFocusSourceAttributes = useRestoreFocusSource();\n\n // Opt the menu's popover out of tabster's Escape handling. The menu closes itself on\n // Escape; without this tabster would also act on Escape (e.g. escaping a parent\n // groupper/modalizer) and move focus away from the trigger instead of restoring it.\n const ignoreEscapeKeyAttribute = useTabsterAttributes({\n focusable: { ignoreKeydown: { Escape: true } },\n });\n\n const tabsterAttributes = useMergedTabsterAttributes_unstable(restoreFocusSourceAttributes, ignoreEscapeKeyAttribute);\n\n const motionRef = useMotionForwardedRef();\n const baseState = useMenuPopoverBase_unstable(props, ref);\n\n return {\n ...baseState,\n root: {\n ...tabsterAttributes,\n ...baseState.root,\n ref: useMergedRefs(baseState.root.ref, motionRef) as React.Ref<HTMLDivElement>,\n },\n };\n};\n"],"names":["ArrowLeft","Tab","ArrowRight","Escape","useFluent_unstable","useFluent","useMotionForwardedRef","useRestoreFocusSource","useTabsterAttributes","useMergedTabsterAttributes_unstable","getIntrinsicElementProps","useEventCallback","useMergedRefs","slot","useTimeout","React","useMenuContext_unstable","useMenuListContext_unstable","dispatchMenuEnterEvent","useIsSubmenu","useMenuPopoverBase_unstable","props","ref","safeZone","context","popoverRef","menuPopoverRef","setOpen","open","openOnHover","triggerRef","isSubmenu","shouldCloseOnArrowLeft","ctx","canDispatchCustomEventRef","useRef","setThrottleTimeout","clearThrottleTimeout","dir","CloseArrowKey","mouseOverListenerCallbackRef","useCallback","node","addEventListener","e","current","useEffect","inline","mountNode","rootProps","always","role","elementType","onMouseEnter","onMouseEnterOriginal","onKeyDown","onKeyDownOriginal","event","keyboard","type","key","contains","target","isDefaultPrevented","preventDefault","focus","components","root","useMenuPopover_unstable","restoreFocusSourceAttributes","ignoreEscapeKeyAttribute","focusable","ignoreKeydown","tabsterAttributes","motionRef","baseState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuPopover/useMenuPopover.ts"],"sourcesContent":["'use client';\n\nimport { ArrowLeft, Tab, ArrowRight, Escape } from '@fluentui/keyboard-keys';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useMotionForwardedRef } from '@fluentui/react-motion';\nimport {\n useRestoreFocusSource,\n useTabsterAttributes,\n useMergedTabsterAttributes_unstable,\n} from '@fluentui/react-tabster';\nimport { getIntrinsicElementProps, useEventCallback, useMergedRefs, slot, useTimeout } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { dispatchMenuEnterEvent, useIsSubmenu } from '../../utils/index';\nimport type { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';\n\n/**\n * Base hook for MenuPopover, produces state required to render the component.\n *\n * Does not invoke `@fluentui/react-tabster` focus-restoration or\n * `@fluentui/react-motion` ref-forwarding APIs internally; the wrapper\n * `useMenuPopover_unstable` layers those on top.\n *\n * @param props - props from this instance of MenuPopover\n * @param ref - reference to root HTMLElement of MenuPopover\n */\nexport const useMenuPopoverBase_unstable = (props: MenuPopoverProps, ref: React.Ref<HTMLElement>): MenuPopoverState => {\n 'use no memo'; // justified: compiler would optimize useMenuPopoverBase_unstable — manual opt-out to preserve runtime behavior\n\n const safeZone = useMenuContext_unstable(context => context.safeZone);\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\n const isSubmenu = useIsSubmenu();\n const shouldCloseOnArrowLeft = useMenuListContext_unstable(ctx => ctx.shouldCloseOnArrowLeft ?? true);\n\n const canDispatchCustomEventRef = React.useRef(true);\n const [setThrottleTimeout, clearThrottleTimeout] = useTimeout();\n\n const { dir } = useFluent();\n const CloseArrowKey = dir === 'ltr' ? ArrowLeft : ArrowRight;\n\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(\n (node: HTMLElement) => {\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 as HTMLElement, e);\n setThrottleTimeout(() => {\n canDispatchCustomEventRef.current = true;\n }, 250);\n }\n });\n }\n },\n [popoverRef, setThrottleTimeout],\n );\n\n React.useEffect(() => {\n return () => clearThrottleTimeout();\n }, [clearThrottleTimeout]);\n\n const inline = useMenuContext_unstable(context => context.inline) ?? false;\n const mountNode = useMenuContext_unstable(context => context.mountNode);\n\n const rootProps = slot.always(\n getIntrinsicElementProps('div', {\n role: 'presentation',\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) as React.Ref<HTMLDivElement>,\n }),\n { elementType: 'div' },\n );\n\n const { onMouseEnter: onMouseEnterOriginal, onKeyDown: onKeyDownOriginal } = rootProps;\n rootProps.onMouseEnter = useEventCallback((event: React.MouseEvent<HTMLDivElement>) => {\n if (openOnHover || isSubmenu) {\n setOpen(event, { open: true, keyboard: false, type: 'menuPopoverMouseEnter', event });\n }\n onMouseEnterOriginal?.(event);\n });\n\n rootProps.onKeyDown = useEventCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const key = event.key;\n if (key === Escape || (isSubmenu && shouldCloseOnArrowLeft && key === CloseArrowKey)) {\n if (open && popoverRef.current?.contains(event.target as HTMLElement) && !event.isDefaultPrevented()) {\n setOpen(event, { open: false, keyboard: true, type: 'menuPopoverKeyDown', event });\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, { open: false, keyboard: true, type: 'menuPopoverKeyDown', event });\n if (!isSubmenu) {\n triggerRef.current?.focus();\n }\n }\n onKeyDownOriginal?.(event);\n });\n\n return {\n inline,\n mountNode,\n safeZone,\n components: { root: 'div' },\n root: rootProps,\n };\n};\n\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 */\nexport const useMenuPopover_unstable = (props: MenuPopoverProps, ref: React.Ref<HTMLElement>): MenuPopoverState => {\n const restoreFocusSourceAttributes = useRestoreFocusSource();\n\n // Opt the menu's popover out of tabster's Escape handling. The menu closes itself on\n // Escape; without this tabster would also act on Escape (e.g. escaping a parent\n // groupper/modalizer) and move focus away from the trigger instead of restoring it.\n const ignoreEscapeKeyAttribute = useTabsterAttributes({\n focusable: { ignoreKeydown: { Escape: true } },\n });\n\n const tabsterAttributes = useMergedTabsterAttributes_unstable(restoreFocusSourceAttributes, ignoreEscapeKeyAttribute);\n\n const motionRef = useMotionForwardedRef();\n const baseState = useMenuPopoverBase_unstable(props, ref);\n\n return {\n ...baseState,\n root: {\n ...tabsterAttributes,\n ...baseState.root,\n ref: useMergedRefs(baseState.root.ref, motionRef) as React.Ref<HTMLDivElement>,\n },\n };\n};\n"],"names":["ArrowLeft","Tab","ArrowRight","Escape","useFluent_unstable","useFluent","useMotionForwardedRef","useRestoreFocusSource","useTabsterAttributes","useMergedTabsterAttributes_unstable","getIntrinsicElementProps","useEventCallback","useMergedRefs","slot","useTimeout","React","useMenuContext_unstable","useMenuListContext_unstable","dispatchMenuEnterEvent","useIsSubmenu","useMenuPopoverBase_unstable","props","ref","safeZone","context","popoverRef","menuPopoverRef","setOpen","open","openOnHover","triggerRef","isSubmenu","shouldCloseOnArrowLeft","ctx","canDispatchCustomEventRef","useRef","setThrottleTimeout","clearThrottleTimeout","dir","CloseArrowKey","mouseOverListenerCallbackRef","useCallback","node","addEventListener","e","current","useEffect","inline","mountNode","rootProps","always","role","elementType","onMouseEnter","onMouseEnterOriginal","onKeyDown","onKeyDownOriginal","event","keyboard","type","key","contains","target","isDefaultPrevented","preventDefault","focus","components","root","useMenuPopover_unstable","restoreFocusSourceAttributes","ignoreEscapeKeyAttribute","focusable","ignoreKeydown","tabsterAttributes","motionRef","baseState"],"mappings":"AAAA;;;;;;;;;;;;QA4BaoB;;;;eAyGAgD;;;;8BAnIsC,0BAA0B;qCAC7B,kCAAkC;6BAC5C,yBAAyB;8BAKxD,0BAA0B;gCAC2D,4BAA4B;iEACjG,QAAQ;6BAES,gCAA6B;iCACzB,oCAAiC;uBACxB,uBAAoB;AAalE,oCAAoC,CAAC/C,OAAyBC;QA6CpDN;IA5Cf,eAAe,+GAA+G;IAE9H,MAAMO,eAAWP,oCAAAA,EAAwBQ,CAAAA,UAAWA,QAAQD,QAAQ;IACpE,MAAME,iBAAaT,oCAAAA,EAAwBQ,CAAAA,UAAWA,QAAQE,cAAc;IAC5E,MAAMC,cAAUX,oCAAAA,EAAwBQ,CAAAA,UAAWA,QAAQG,OAAO;IAClE,MAAMC,OAAOZ,wCAAAA,EAAwBQ,CAAAA,UAAWA,QAAQI,IAAI;IAC5D,MAAMC,kBAAcb,oCAAAA,EAAwBQ,CAAAA,UAAWA,QAAQK,WAAW;IAC1E,MAAMC,aAAad,wCAAAA,EAAwBQ,CAAAA,UAAWA,QAAQM,UAAU;IAExE,MAAMC,gBAAYZ,mBAAAA;IAClB,MAAMa,yBAAyBf,gDAAAA,EAA4BgB,CAAAA;YAAOA;gBAAAA,8BAAAA,IAAID,sBAAAA,AAAsB,MAAA,QAA1BC,gCAAAA,KAAAA,IAAAA,8BAA8B;;IAEhG,MAAMC,4BAA4BnB,OAAMoB,MAAM,CAAC;IAC/C,MAAM,CAACC,oBAAoBC,qBAAqB,OAAGvB,0BAAAA;IAEnD,MAAM,EAAEwB,GAAG,EAAE,OAAGjC,uCAAAA;IAChB,MAAMkC,gBAAgBD,QAAQ,QAAQtC,uBAAAA,GAAYE,wBAAAA;IAElD,kEAAkE;IAClE,kFAAkF;IAClF,MAAMsC,+BAA+BzB,OAAM0B,WAAW,CACpD,CAACC;QACC,IAAIA,MAAM;YACR,+DAA+D;YAC/D,qEAAqE;YACrE,mEAAmE;YACnEA,KAAKC,gBAAgB,CAAC,aAAaC,CAAAA;gBACjC,IAAIV,0BAA0BW,OAAO,EAAE;oBACrCX,0BAA0BW,OAAO,GAAG;wBACpC3B,6BAAAA,EAAuBO,WAAWoB,OAAO,EAAiBD;oBAC1DR,mBAAmB;wBACjBF,0BAA0BW,OAAO,GAAG;oBACtC,GAAG;gBACL;YACF;QACF;IACF,GACA;QAACpB;QAAYW;KAAmB;IAGlCrB,OAAM+B,SAAS,CAAC;QACd,OAAO,IAAMT;IACf,GAAG;QAACA;KAAqB;IAEzB,MAAMU,SAAAA,CAAS/B,+BAAAA,oCAAAA,EAAwBQ,CAAAA,UAAWA,QAAQuB,OAAM,MAAA,QAAjD/B,6BAAAA,KAAAA,IAAAA,2BAAsD;IACrE,MAAMgC,gBAAYhC,oCAAAA,EAAwBQ,CAAAA,UAAWA,QAAQwB,SAAS;IAEtE,MAAMC,YAAYpC,oBAAAA,CAAKqC,MAAM,KAC3BxC,wCAAAA,EAAyB,OAAO;QAC9ByC,MAAM;QACN,GAAG9B,KAAK;QACR,SAAS;QACT,4EAA4E;QAC5E,4FAA4F;QAC5FC,SAAKV,6BAAAA,EAAcU,KAAKG,YAAYe;IACtC,IACA;QAAEY,aAAa;IAAM;IAGvB,MAAM,EAAEC,cAAcC,oBAAoB,EAAEC,WAAWC,iBAAiB,EAAE,GAAGP;IAC7EA,UAAUI,YAAY,OAAG1C,gCAAAA,EAAiB,CAAC8C;QACzC,IAAI5B,eAAeE,WAAW;YAC5BJ,QAAQ8B,OAAO;gBAAE7B,MAAM;gBAAM8B,UAAU;gBAAOC,MAAM;gBAAyBF;YAAM;QACrF;QACAH,yBAAAA,QAAAA,yBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,qBAAuBG;IACzB;IAEAR,UAAUM,SAAS,OAAG5C,gCAAAA,EAAiB,CAAC8C;QACtC,MAAMG,MAAMH,MAAMG,GAAG;QACrB,IAAIA,QAAQzD,oBAAAA,IAAW4B,aAAaC,0BAA0B4B,QAAQrB,eAAgB;gBACxEd;YAAZ,IAAIG,QAAAA,CAAAA,CAAQH,sBAAAA,WAAWoB,OAAAA,AAAO,MAAA,QAAlBpB,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAoBoC,QAAQ,CAACJ,MAAMK,MAAM,MAAoB,CAACL,MAAMM,kBAAkB,IAAI;gBACpGpC,QAAQ8B,OAAO;oBAAE7B,MAAM;oBAAO8B,UAAU;oBAAMC,MAAM;oBAAsBF;gBAAM;gBAChF,qFAAqF;gBACrF,yCAAyC;gBACzCA,MAAMO,cAAc;YACtB;QACF;QACA,IAAIJ,QAAQ3D,iBAAAA,EAAK;YACf0B,QAAQ8B,OAAO;gBAAE7B,MAAM;gBAAO8B,UAAU;gBAAMC,MAAM;gBAAsBF;YAAM;YAChF,IAAI,CAAC1B,WAAW;oBACdD;iBAAAA,sBAAAA,WAAWe,OAAAA,AAAO,MAAA,QAAlBf,wBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,oBAAoBmC,KAAK;YAC3B;QACF;QACAT,sBAAAA,QAAAA,sBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,kBAAoBC;IACtB;IAEA,OAAO;QACLV;QACAC;QACAzB;QACA2C,YAAY;YAAEC,MAAM;QAAM;QAC1BA,MAAMlB;IACR;AACF,EAAE;AAWK,gCAAgC,CAAC5B,OAAyBC;IAC/D,MAAM+C,mCAA+B9D,mCAAAA;IAErC,qFAAqF;IACrF,gFAAgF;IAChF,oFAAoF;IACpF,MAAM+D,+BAA2B9D,kCAAAA,EAAqB;QACpD+D,WAAW;YAAEC,eAAe;gBAAErE,QAAQ;YAAK;QAAE;IAC/C;IAEA,MAAMsE,wBAAoBhE,iDAAAA,EAAoC4D,8BAA8BC;IAE5F,MAAMI,gBAAYpE,kCAAAA;IAClB,MAAMqE,YAAYvD,4BAA4BC,OAAOC;IAErD,OAAO;QACL,GAAGqD,SAAS;QACZR,MAAM;YACJ,GAAGM,iBAAiB;YACpB,GAAGE,UAAUR,IAAI;YACjB7C,SAAKV,6BAAAA,EAAc+D,UAAUR,IAAI,CAAC7C,GAAG,EAAEoD;QACzC;IACF;AACF,EAAE"}
|
|
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
function _export(target, all) {
|
|
7
7
|
for(var name in all)Object.defineProperty(target, name, {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: all
|
|
9
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
menuPopoverClassNames
|
|
13
|
+
get menuPopoverClassNames () {
|
|
14
14
|
return menuPopoverClassNames;
|
|
15
15
|
},
|
|
16
|
-
useMenuPopoverStyles_unstable
|
|
16
|
+
get useMenuPopoverStyles_unstable () {
|
|
17
17
|
return useMenuPopoverStyles_unstable;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useMenuPopoverStyles.styles.js"],"sourcesContent":["'use client';\nimport { mergeClasses, makeStyles } from \"@griffel/react\";\nimport { tokens, typographyStyles } from \"@fluentui/react-theme\";\nexport const menuPopoverClassNames = {\n root: 'fui-MenuPopover'\n};\nconst useStyles = makeStyles({\n root: {\n borderRadius: tokens.borderRadiusMedium,\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n boxSizing: 'border-box',\n minWidth: '138px',\n maxWidth: '300px',\n overflowX: 'hidden',\n width: 'max-content',\n boxShadow: `${tokens.shadow16}`,\n padding: '4px',\n border: `1px solid ${tokens.colorTransparentStroke}`,\n ...typographyStyles.body1\n }\n});\n/**\n * Apply styling to the Menu slots based on the state\n */ export const useMenuPopoverStyles_unstable = (state)=>{\n const styles = useStyles();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(menuPopoverClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["mergeClasses","__styles","tokens","typographyStyles","menuPopoverClassNames","root","useStyles","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","De3pzq","sj55zd","B7ck84d","Bf4jedk","B2u0y6b","B68tc82","a9b677","E5pizo","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","Bgfg5da","B9xav0g","oivjwe","Bn0qgzm","B4g9neb","zhjwy3","wvpqe5","ibv6hh","u1mtju","h3c5rm","vrafjx","Bekrc4i","i8vvqc","g2u3we","icvyot","B4j52fo","irswps","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","d","p","useMenuPopoverStyles_unstable","state","styles","className"],"mappings":"AAAA,YAAY;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["useMenuPopoverStyles.styles.js"],"sourcesContent":["'use client';\nimport { mergeClasses, makeStyles } from \"@griffel/react\";\nimport { tokens, typographyStyles } from \"@fluentui/react-theme\";\nexport const menuPopoverClassNames = {\n root: 'fui-MenuPopover'\n};\nconst useStyles = makeStyles({\n root: {\n borderRadius: tokens.borderRadiusMedium,\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n boxSizing: 'border-box',\n minWidth: '138px',\n maxWidth: '300px',\n overflowX: 'hidden',\n width: 'max-content',\n boxShadow: `${tokens.shadow16}`,\n padding: '4px',\n border: `1px solid ${tokens.colorTransparentStroke}`,\n ...typographyStyles.body1\n }\n});\n/**\n * Apply styling to the Menu slots based on the state\n */ export const useMenuPopoverStyles_unstable = (state)=>{\n const styles = useStyles();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(menuPopoverClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["mergeClasses","__styles","tokens","typographyStyles","menuPopoverClassNames","root","useStyles","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","De3pzq","sj55zd","B7ck84d","Bf4jedk","B2u0y6b","B68tc82","a9b677","E5pizo","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","Bgfg5da","B9xav0g","oivjwe","Bn0qgzm","B4g9neb","zhjwy3","wvpqe5","ibv6hh","u1mtju","h3c5rm","vrafjx","Bekrc4i","i8vvqc","g2u3we","icvyot","B4j52fo","irswps","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","d","p","useMenuPopoverStyles_unstable","state","styles","className"],"mappings":"AAAA,YAAY;;;;;;;;;;;;QAGCI,qBAAqB;;;;eAqBjB4C,6BAA6B;;;uBAvBL,gBAAgB;AAElD,8BAA8B;IACjC3C,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,SAAS,GAAA,WAAA,OAAGL,eAAA,EAAA;IAAAI,IAAA,EAAA;QAAAE,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;IAAA;AAAA,GAAA;IAAAC,CAAA,EAAA;QAAA;YAAA;YAAA;gBAAAC,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;QAAA;KAAA;AAAA,CAejB,CAAC;AAGS,uCAAuCE,KAAK,IAAG;IACtD,MAAMC,MAAM,GAAG5C,SAAS,CAAC,CAAC;IAC1B,oDAAA;IACA2C,KAAK,CAAC5C,IAAI,CAAC8C,SAAS,OAAGnD,mBAAY,EAACI,qBAAqB,CAACC,IAAI,EAAE6C,MAAM,CAAC7C,IAAI,EAAE4C,KAAK,CAAC5C,IAAI,CAAC8C,SAAS,CAAC;IAClG,OAAOF,KAAK;AAChB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get menuPopoverClassNames () {
|
|
13
|
+
return menuPopoverClassNames;
|
|
14
|
+
},
|
|
15
|
+
get useMenuPopoverStyles_unstable () {
|
|
16
|
+
return useMenuPopoverStyles_unstable;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
20
|
+
const _clsx = require("clsx");
|
|
21
|
+
const _MenuPopovermodulecss = /*#__PURE__*/ _interop_require_default._(require("./MenuPopover.module.css"));
|
|
22
|
+
const menuPopoverClassNames = {
|
|
23
|
+
root: 'fui-MenuPopover'
|
|
24
|
+
};
|
|
25
|
+
const useMenuPopoverStyles_unstable = (state)=>{
|
|
26
|
+
state.root.className = (0, _clsx.clsx)(menuPopoverClassNames.root, _MenuPopovermodulecss.default.root, state.root.className);
|
|
27
|
+
return state;
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuPopover/useMenuPopoverStyles.styles.css.ts"],"sourcesContent":["import { clsx } from 'clsx';\nimport type { MenuPopoverSlots, MenuPopoverState } from './MenuPopover.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport styles from './MenuPopover.module.css';\n\nexport const menuPopoverClassNames: SlotClassNames<MenuPopoverSlots> = {\n root: 'fui-MenuPopover',\n};\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuPopoverStyles_unstable = (state: MenuPopoverState): MenuPopoverState => {\n state.root.className = clsx(menuPopoverClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["clsx","styles","menuPopoverClassNames","root","useMenuPopoverStyles_unstable","state","className"],"mappings":";;;;;;;;;;;QAKaE;;;;;;;;sBALQ,OAAO;+EAGT,2BAA2B;AAEvC,8BAAgE;IACrEC,MAAM;AACR,EAAE;AAKK,MAAMC,gCAAgC,CAACC;IAC5CA,MAAMF,IAAI,CAACG,SAAS,OAAGN,UAAAA,EAAKE,sBAAsBC,IAAI,EAAEF,6BAAAA,CAAOE,IAAI,EAAEE,MAAMF,IAAI,CAACG,SAAS;IACzF,OAAOD;AACT,EAAE"}
|
|
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
function _export(target, all) {
|
|
7
7
|
for(var name in all)Object.defineProperty(target, name, {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: all
|
|
9
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
menuPopoverClassNames
|
|
13
|
+
get menuPopoverClassNames () {
|
|
14
14
|
return menuPopoverClassNames;
|
|
15
15
|
},
|
|
16
|
-
useMenuPopoverStyles_unstable
|
|
16
|
+
get useMenuPopoverStyles_unstable () {
|
|
17
17
|
return useMenuPopoverStyles_unstable;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuPopover/useMenuPopoverStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport type { MenuPopoverSlots, MenuPopoverState } from './MenuPopover.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuPopoverClassNames: SlotClassNames<MenuPopoverSlots> = {\n root: 'fui-MenuPopover',\n};\n\nconst useStyles = makeStyles({\n root: {\n borderRadius: tokens.borderRadiusMedium,\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n boxSizing: 'border-box',\n minWidth: '138px',\n maxWidth: '300px',\n overflowX: 'hidden',\n width: 'max-content',\n boxShadow: `${tokens.shadow16}`,\n padding: '4px',\n border: `1px solid ${tokens.colorTransparentStroke}`,\n ...typographyStyles.body1,\n },\n});\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuPopoverStyles_unstable = (state: MenuPopoverState): MenuPopoverState => {\n const styles = useStyles();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(menuPopoverClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["mergeClasses","makeStyles","tokens","typographyStyles","menuPopoverClassNames","root","useStyles","borderRadius","borderRadiusMedium","backgroundColor","colorNeutralBackground1","color","colorNeutralForeground1","boxSizing","minWidth","maxWidth","overflowX","width","boxShadow","shadow16","padding","border","colorTransparentStroke","body1","useMenuPopoverStyles_unstable","state","styles","className"],"mappings":"AAAA;;;;;;;;;;;;QAOaI;;;QAwBAoB;;;;uBA7B4B,iBAAiB;4BACjB,wBAAwB;AAI1D,8BAAgE;IACrEnB,MAAM;AACR,EAAE;AAEF,MAAMC,gBAAYL,iBAAAA,EAAW;IAC3BI,MAAM;QACJE,cAAcL,kBAAAA,CAAOM,kBAAkB;QACvCC,iBAAiBP,kBAAAA,CAAOQ,uBAAuB;QAC/CC,OAAOT,kBAAAA,CAAOU,uBAAuB;QACrCC,WAAW;QACXC,UAAU;QACVC,UAAU;QACVC,WAAW;QACXC,OAAO;QACPC,WAAW,GAAGhB,kBAAAA,CAAOiB,QAAQ,EAAE;QAC/BC,SAAS;QACTC,QAAQ,CAAC,UAAU,EAAEnB,kBAAAA,CAAOoB,sBAAsB,EAAE;QACpD,GAAGnB,4BAAAA,CAAiBoB,KAAK;IAC3B;AACF;AAKO,sCAAsC,CAACE;IAC5C,MAAMC,SAASpB;IACf,oDAAoD;IACpDmB,MAAMpB,IAAI,CAACsB,SAAS,OAAG3B,mBAAAA,EAAaI,sBAAsBC,IAAI,EAAEqB,OAAOrB,IAAI,EAAEoB,MAAMpB,IAAI,CAACsB,SAAS;IACjG,OAAOF;AACT,EAAE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get menuPopoverClassNames () {
|
|
13
|
+
return menuPopoverClassNames;
|
|
14
|
+
},
|
|
15
|
+
get useMenuPopoverStyles_unstable () {
|
|
16
|
+
return useMenuPopoverStyles_unstable;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
20
|
+
const _clsx = require("clsx");
|
|
21
|
+
const _MenuPopovermodulecss = /*#__PURE__*/ _interop_require_default._(require("./MenuPopover.module.css"));
|
|
22
|
+
const menuPopoverClassNames = {
|
|
23
|
+
root: 'fui-MenuPopover'
|
|
24
|
+
};
|
|
25
|
+
const useMenuPopoverStyles_unstable = (state)=>{
|
|
26
|
+
state.root.className = (0, _clsx.clsx)(menuPopoverClassNames.root, _MenuPopovermodulecss.default.root, state.root.className);
|
|
27
|
+
return state;
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuPopover/useMenuPopoverStyles.styles.css.ts"],"sourcesContent":["import { clsx } from 'clsx';\nimport type { MenuPopoverSlots, MenuPopoverState } from './MenuPopover.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport styles from './MenuPopover.module.css';\n\nexport const menuPopoverClassNames: SlotClassNames<MenuPopoverSlots> = {\n root: 'fui-MenuPopover',\n};\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuPopoverStyles_unstable = (state: MenuPopoverState): MenuPopoverState => {\n state.root.className = clsx(menuPopoverClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["clsx","styles","menuPopoverClassNames","root","useMenuPopoverStyles_unstable","state","className"],"mappings":";;;;;;;;;;;QAKaE;;;;;;;;sBALQ,OAAO;+EAGT,2BAA2B;AAEvC,8BAAgE;IACrEC,MAAM;AACR,EAAE;AAKK,MAAMC,gCAAgC,CAACC;IAC5CA,MAAMF,IAAI,CAACG,SAAS,OAAGN,UAAAA,EAAKE,sBAAsBC,IAAI,EAAEF,6BAAAA,CAAOE,IAAI,EAAEE,MAAMF,IAAI,CAACG,SAAS;IACzF,OAAOD;AACT,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuSplitGroup/MenuSplitGroup.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useMenuSplitGroup_unstable } from './useMenuSplitGroup';\nimport { renderMenuSplitGroup_unstable } from './renderMenuSplitGroup';\nimport { useMenuSplitGroupStyles_unstable } from './useMenuSplitGroupStyles.styles';\nimport type { MenuSplitGroupProps } from './MenuSplitGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useMenuSplitGroupContextValues } from './useMenuSplitGroupContextValues';\n\n/**\n * Layout wrapper that provides extra keyboard navigation behavior for two `MenuItem` components.\n */\nexport const MenuSplitGroup: ForwardRefComponent<MenuSplitGroupProps> = React.forwardRef((props, ref) => {\n const state = useMenuSplitGroup_unstable(props, ref);\n\n useMenuSplitGroupStyles_unstable(state);\n\n useCustomStyleHook_unstable('useMenuSplitGroupStyles_unstable')(state);\n\n return renderMenuSplitGroup_unstable(state, useMenuSplitGroupContextValues(state));\n});\n\nMenuSplitGroup.displayName = 'MenuSplitGroup';\n"],"names":["React","useMenuSplitGroup_unstable","renderMenuSplitGroup_unstable","useMenuSplitGroupStyles_unstable","useCustomStyleHook_unstable","useMenuSplitGroupContextValues","MenuSplitGroup","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;mCACY,yBAAsB;sCACnB,4BAAyB;+CACtB,sCAAmC;qCAGxC,kCAAkC;gDAC/B,sCAAmC;AAK3E,MAAMM,iBAAAA,WAAAA,GAA2DN,OAAMO,UAAU,CAAC,CAACC,OAAOC;IAC/F,MAAMC,YAAQT,6CAAAA,EAA2BO,OAAOC;QAEhDN,+DAAAA,EAAiCO;QAEjCN,gDAAAA,EAA4B,oCAAoCM;IAEhE,WAAOR,mDAAAA,EAA8BQ,WAAOL,8DAAAA,EAA+BK;AAC7E,GAAG;AAEHJ,eAAeK,WAAW,GAAG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@layer fluentui {
|
|
2
|
+
.root {
|
|
3
|
+
&[data-multiline] {
|
|
4
|
+
& > :global(.fui-MenuItem):nth-of-type(2) {
|
|
5
|
+
align-self: center;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
display: flex;
|
|
9
|
+
& > :global(.fui-MenuItem):nth-of-type(1) {
|
|
10
|
+
flex: 1;
|
|
11
|
+
}
|
|
12
|
+
& > :global(.fui-MenuItem):nth-of-type(2) {
|
|
13
|
+
border-start-start-radius: 0;
|
|
14
|
+
border-end-start-radius: 0;
|
|
15
|
+
padding-inline-start: 0;
|
|
16
|
+
&::before {
|
|
17
|
+
content: '';
|
|
18
|
+
width: var(--strokeWidthThin);
|
|
19
|
+
height: var(--spacingHorizontalXL);
|
|
20
|
+
background-color: var(--colorNeutralStroke1);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuSplitGroup/MenuSplitGroup.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { MenuSplitGroupContextValue } from '../../contexts/menuSplitGroupContext';\n\nexport type MenuSplitGroupSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuSplitGroupContextValues = {\n menuSplitGroup: MenuSplitGroupContextValue;\n};\n\n/**\n * MenuSplitGroup Props\n */\nexport type MenuSplitGroupProps = ComponentProps<MenuSplitGroupSlots>;\n\n/**\n * State used in rendering MenuSplitGroup\n */\nexport type MenuSplitGroupState = ComponentState<MenuSplitGroupSlots> &\n Pick<MenuSplitGroupContextValue, 'setMultiline'>;\n"],"names":[],"mappings":"AAgBA;;CAEC,GACD,WACmD"}
|
|
@@ -5,23 +5,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
function _export(target, all) {
|
|
6
6
|
for(var name in all)Object.defineProperty(target, name, {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: all
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
MenuSplitGroup
|
|
12
|
+
get MenuSplitGroup () {
|
|
13
13
|
return _MenuSplitGroup.MenuSplitGroup;
|
|
14
14
|
},
|
|
15
|
-
menuSplitGroupClassNames
|
|
15
|
+
get menuSplitGroupClassNames () {
|
|
16
16
|
return _useMenuSplitGroupStylesstyles.menuSplitGroupClassNames;
|
|
17
17
|
},
|
|
18
|
-
renderMenuSplitGroup_unstable
|
|
18
|
+
get renderMenuSplitGroup_unstable () {
|
|
19
19
|
return _renderMenuSplitGroup.renderMenuSplitGroup_unstable;
|
|
20
20
|
},
|
|
21
|
-
useMenuSplitGroupStyles_unstable
|
|
21
|
+
get useMenuSplitGroupStyles_unstable () {
|
|
22
22
|
return _useMenuSplitGroupStylesstyles.useMenuSplitGroupStyles_unstable;
|
|
23
23
|
},
|
|
24
|
-
useMenuSplitGroup_unstable
|
|
24
|
+
get useMenuSplitGroup_unstable () {
|
|
25
25
|
return _useMenuSplitGroup.useMenuSplitGroup_unstable;
|
|
26
26
|
}
|
|
27
27
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuSplitGroup/index.ts"],"sourcesContent":["export { MenuSplitGroup } from './MenuSplitGroup';\nexport type { MenuSplitGroupProps, MenuSplitGroupSlots, MenuSplitGroupState } from './MenuSplitGroup.types';\nexport { renderMenuSplitGroup_unstable } from './renderMenuSplitGroup';\nexport { useMenuSplitGroup_unstable } from './useMenuSplitGroup';\nexport { menuSplitGroupClassNames, useMenuSplitGroupStyles_unstable } from './useMenuSplitGroupStyles.styles';\n"],"names":["MenuSplitGroup","renderMenuSplitGroup_unstable","useMenuSplitGroup_unstable","menuSplitGroupClassNames","useMenuSplitGroupStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,8BAAc;;;eAIdG,uDAAwB;;;eAFxBF,mDAA6B;;;eAEHG,+DAAgC;;;eAD1DF,6CAA0B;;;gCAHJ,sBAAmB;sCAEJ,4BAAyB;mCAC5B,yBAAsB;+CACU,sCAAmC"}
|
|
@@ -12,10 +12,10 @@ const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
|
|
|
12
12
|
const _reactutilities = require("@fluentui/react-utilities");
|
|
13
13
|
const _menuSplitGroupContext = require("../../contexts/menuSplitGroupContext.cjs");
|
|
14
14
|
const renderMenuSplitGroup_unstable = (state, contexts)=>{
|
|
15
|
+
var _ref;
|
|
15
16
|
(0, _reactutilities.assertSlots)(state);
|
|
16
|
-
var _contexts_menuSplitGroup;
|
|
17
17
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_menuSplitGroupContext.MenuSplitGroupContextProvider, {
|
|
18
|
-
value: (
|
|
18
|
+
value: (_ref = contexts === null || contexts === void 0 ? void 0 : contexts.menuSplitGroup) !== null && _ref !== void 0 ? _ref : _menuSplitGroupContext.menuSplitGroupContextDefaultValue,
|
|
19
19
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {})
|
|
20
20
|
});
|
|
21
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuSplitGroup/renderMenuSplitGroup.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { MenuSplitGroupState, MenuSplitGroupSlots, MenuSplitGroupContextValues } from './MenuSplitGroup.types';\nimport { menuSplitGroupContextDefaultValue, MenuSplitGroupContextProvider } from '../../contexts/menuSplitGroupContext';\n\n/**\n * Render the final JSX of MenuSplitGroup\n */\nexport const renderMenuSplitGroup_unstable = (\n state: MenuSplitGroupState,\n contexts?: MenuSplitGroupContextValues,\n): JSXElement => {\n assertSlots<MenuSplitGroupSlots>(state);\n\n return (\n <MenuSplitGroupContextProvider value={contexts?.menuSplitGroup ?? menuSplitGroupContextDefaultValue}>\n <state.root />\n </MenuSplitGroupContextProvider>\n );\n};\n"],"names":["assertSlots","menuSplitGroupContextDefaultValue","MenuSplitGroupContextProvider","renderMenuSplitGroup_unstable","state","contexts","value","menuSplitGroup","root"],"mappings":";;;;+BAUaG;;;;;;;gCATb,gDAAiD,GACjD,SAASH,WAAW,QAAQ,4BAA4B;uCAGyB,0CAAuC;AAKjH,sCAAsC,CAC3CI,OACAC;;QAEAL,2BAAAA,EAAiCI;IAEjC,OAAA,WAAA,OACE,eAAA,EAACF,oDAAAA,EAAAA;QAA8BI,KAAK,EAAA,CAAA,OAAED,aAAAA,QAAAA,aAAAA,KAAAA,IAAAA,KAAAA,IAAAA,SAAUE,cAAAA,AAAc,MAAA,QAAA,SAAA,KAAA,IAAA,OAAIN,wDAAAA;kBAChE,WAAA,OAAA,eAAA,EAACG,MAAMI,IAAI,EAAA,CAAA;;AAGjB,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuSplitGroup/useMenuSplitGroup.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, getRTLSafeKey, useMergedRefs, slot } from '@fluentui/react-utilities';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport type { MenuSplitGroupProps, MenuSplitGroupState } from './MenuSplitGroup.types';\nimport { ArrowRight, ArrowLeft } from '@fluentui/keyboard-keys';\nimport { menuSplitGroupMultilineAttr } from './useMenuSplitGroupStyles.styles';\n\n/**\n * Create the state required to render MenuSplitGroup.\n *\n * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,\n * before being passed to renderMenuSplitGroup_unstable.\n *\n * @param props - props from this instance of MenuSplitGroup\n * @param ref - reference to root HTMLElement of MenuSplitGroup\n */\nexport const useMenuSplitGroup_unstable = (\n props: MenuSplitGroupProps,\n ref: React.Ref<HTMLElement>,\n): MenuSplitGroupState => {\n const innerRef = React.useRef<HTMLDivElement>(undefined);\n const { dir, targetDocument } = useFluent();\n\n const nextArrowKey = getRTLSafeKey(ArrowRight, dir);\n const prevArrowKey = getRTLSafeKey(ArrowLeft, dir);\n\n const { findNextFocusable, findPrevFocusable } = useFocusFinders();\n const { multilineRef, setMultiline } = useHandleMultilineMenuItem();\n\n const onKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const activeElement = targetDocument?.activeElement;\n if (!activeElement) {\n return;\n }\n\n if (!innerRef.current?.contains(activeElement)) {\n return;\n }\n\n if (e.key === nextArrowKey) {\n const next = findNextFocusable(activeElement as HTMLElement, { container: innerRef.current });\n next?.focus();\n }\n\n if (e.key === prevArrowKey) {\n const prev = findPrevFocusable(activeElement as HTMLElement, { container: innerRef.current });\n prev?.focus();\n }\n },\n [findNextFocusable, findPrevFocusable, targetDocument, nextArrowKey, prevArrowKey],\n );\n\n return {\n components: {\n root: 'div',\n },\n setMultiline,\n root: slot.always(\n // eslint-disable-next-line react-hooks/refs\n getIntrinsicElementProps('div', {\n role: 'group',\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, multilineRef) as React.Ref<HTMLDivElement>,\n onKeyDown,\n ...props,\n }),\n { elementType: 'div' },\n ),\n };\n};\n\n/**\n * Creates a callback that lets a multiline menu item child set an attribute on this component\n * Children can mount before parents so we need to store the value and apply it when the parent is mounted\n */\nconst useHandleMultilineMenuItem = () => {\n const [handle] = React.useState(() => {\n let isMultiline = false;\n let multilineNode: HTMLElement | null = null;\n\n function applyAttr() {\n multilineNode?.toggleAttribute(menuSplitGroupMultilineAttr, isMultiline);\n }\n\n return {\n multilineRef: (node: HTMLDivElement | null) => {\n if (node) {\n multilineNode = node;\n applyAttr();\n } else {\n multilineNode = null;\n }\n },\n setMultiline: (value: boolean) => {\n isMultiline = value;\n applyAttr();\n },\n };\n });\n\n return handle;\n};\n"],"names":["React","getIntrinsicElementProps","getRTLSafeKey","useMergedRefs","slot","useFocusFinders","useFluent_unstable","useFluent","ArrowRight","ArrowLeft","menuSplitGroupMultilineAttr","useMenuSplitGroup_unstable","props","ref","innerRef","useRef","undefined","dir","targetDocument","nextArrowKey","prevArrowKey","findNextFocusable","findPrevFocusable","multilineRef","setMultiline","useHandleMultilineMenuItem","onKeyDown","useCallback","e","activeElement","current","contains","key","next","container","focus","prev","components","root","always","role","elementType","handle","useState","isMultiline","multilineNode","applyAttr","toggleAttribute","node","value"],"mappings":"AAAA;;;;;+BAmBaW;;;;;;;iEAjBU,QAAQ;gCAC8C,4BAA4B;8BACzE,0BAA0B;qCACV,kCAAkC;8BAE5C,0BAA0B;+CACpB,sCAAmC;AAWxE,mCAAmC,CACxCC,OACAC;IAEA,MAAMC,WAAWd,OAAMe,MAAM,CAAiBC;IAC9C,MAAM,EAAEC,GAAG,EAAEC,cAAc,EAAE,OAAGX,uCAAAA;IAEhC,MAAMY,mBAAejB,6BAAAA,EAAcM,wBAAAA,EAAYS;IAC/C,MAAMG,mBAAelB,6BAAAA,EAAcO,uBAAAA,EAAWQ;IAE9C,MAAM,EAAEI,iBAAiB,EAAEC,iBAAiB,EAAE,OAAGjB,6BAAAA;IACjD,MAAM,EAAEkB,YAAY,EAAEC,YAAY,EAAE,GAAGC;IAEvC,MAAMC,YAAY1B,OAAM2B,WAAW,CACjC,CAACC;YAMMd;QALL,MAAMe,gBAAgBX,mBAAAA,QAAAA,mBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,eAAgBW,aAAa;QACnD,IAAI,CAACA,eAAe;YAClB;QACF;QAEA,IAAI,CAAA,CAAA,CAACf,oBAAAA,SAASgB,OAAAA,AAAO,MAAA,QAAhBhB,sBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,kBAAkBiB,QAAQ,CAACF,cAAAA,GAAgB;YAC9C;QACF;QAEA,IAAID,EAAEI,GAAG,KAAKb,cAAc;YAC1B,MAAMc,OAAOZ,kBAAkBQ,eAA8B;gBAAEK,WAAWpB,SAASgB,OAAO;YAAC;YAC3FG,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,KAAAA,IAAAA,KAAME,KAAK;QACb;QAEA,IAAIP,EAAEI,GAAG,KAAKZ,cAAc;YAC1B,MAAMgB,OAAOd,kBAAkBO,eAA8B;gBAAEK,WAAWpB,SAASgB,OAAO;YAAC;YAC3FM,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,KAAAA,IAAAA,KAAMD,KAAK;QACb;IACF,GACA;QAACd;QAAmBC;QAAmBJ;QAAgBC;QAAcC;KAAa;IAGpF,OAAO;QACLiB,YAAY;YACVC,MAAM;QACR;QACAd;QACAc,MAAMlC,oBAAAA,CAAKmC,MAAM,CACf,IACAtC,wCAD4C,AAC5CA,EAAyB,OAAO;YAC9BuC,MAAM;YACN,SAAS;YACT,4EAA4E;YAC5E,4FAA4F;YAC5F3B,SAAKV,6BAAAA,EAAcU,KAAKC,UAAUS;YAClCG;YACA,GAAGd,KAAK;QACV,IACA;YAAE6B,aAAa;QAAM;IAEzB;AACF,EAAE;AAEF;;;CAGC,GACD,MAAMhB,6BAA6B;IACjC,MAAM,CAACiB,OAAO,GAAG1C,OAAM2C,QAAQ,CAAC;QAC9B,IAAIC,cAAc;QAClB,IAAIC,gBAAoC;QAExC,SAASC;YACPD,kBAAAA,QAAAA,kBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,cAAeE,eAAe,CAACrC,0DAAAA,EAA6BkC;QAC9D;QAEA,OAAO;YACLrB,cAAc,CAACyB;gBACb,IAAIA,MAAM;oBACRH,gBAAgBG;oBAChBF;gBACF,OAAO;oBACLD,gBAAgB;gBAClB;YACF;YACArB,cAAc,CAACyB;gBACbL,cAAcK;gBACdH;YACF;QACF;IACF;IAEA,OAAOJ;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuSplitGroup/useMenuSplitGroupContextValues.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { MenuSplitGroupContextValues, MenuSplitGroupState } from './MenuSplitGroup.types';\n\nexport const useMenuSplitGroupContextValues = (state: MenuSplitGroupState): MenuSplitGroupContextValues => {\n 'use no memo'; // justified: compiler would optimize useMenuSplitGroupContextValues — manual opt-out to preserve runtime behavior\n\n return React.useMemo(() => {\n return {\n menuSplitGroup: {\n setMultiline: state.setMultiline,\n },\n };\n }, [state.setMultiline]);\n};\n"],"names":["React","useMenuSplitGroupContextValues","state","useMemo","menuSplitGroup","setMultiline"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;AAGxB,MAAMC,iCAAiC,CAACC;IAC7C,eAAe,kHAAkH;IAEjI,OAAOF,OAAMG,OAAO,CAAC;QACnB,OAAO;YACLC,gBAAgB;gBACdC,cAAcH,MAAMG,YAAY;YAClC;QACF;IACF,GAAG;QAACH,MAAMG,YAAY;KAAC;AACzB,EAAE"}
|