@fluentui/react-menu 0.0.0-nightly-20230223-2115.1 → 0.0.0-nightly-20230228-0425.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +23 -23
- package/CHANGELOG.md +14 -14
- package/lib/Menu.js.map +1 -1
- package/lib/MenuDivider.js.map +1 -1
- package/lib/MenuGroup.js.map +1 -1
- package/lib/MenuGroupHeader.js.map +1 -1
- package/lib/MenuItem.js.map +1 -1
- package/lib/MenuItemCheckbox.js.map +1 -1
- package/lib/MenuItemRadio.js.map +1 -1
- package/lib/MenuList.js.map +1 -1
- package/lib/MenuPopover.js.map +1 -1
- package/lib/MenuSplitGroup.js.map +1 -1
- package/lib/MenuTrigger.js.map +1 -1
- package/lib/components/Menu/Menu.js +0 -1
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/Menu.types.js +1 -1
- package/lib/components/Menu/Menu.types.js.map +1 -1
- package/lib/components/Menu/index.js.map +1 -1
- package/lib/components/Menu/renderMenu.js.map +1 -1
- package/lib/components/Menu/useMenu.js +12 -14
- 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.types.js.map +1 -1
- package/lib/components/MenuDivider/index.js.map +1 -1
- package/lib/components/MenuDivider/renderMenuDivider.js +3 -2
- package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDivider.js +0 -1
- package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDividerStyles.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 +3 -2
- package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroup.js +0 -1
- package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
- package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
- 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 +3 -2
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +0 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.js.map +1 -1
- 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 +13 -2
- package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
- package/lib/components/MenuItem/useCharacterSearch.js +2 -3
- package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
- package/lib/components/MenuItem/useMenuItem.js +7 -7
- package/lib/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib/components/MenuItem/useMenuItemStyles.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 +11 -2
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +4 -4
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.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 +11 -2
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
- package/lib/components/MenuItemRadio/useMenuItemRadio.js +4 -4
- package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
- package/lib/components/MenuList/MenuList.js.map +1 -1
- package/lib/components/MenuList/MenuList.types.js +1 -1
- 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 +3 -2
- package/lib/components/MenuList/renderMenuList.js.map +1 -1
- package/lib/components/MenuList/useMenuList.js +5 -4
- package/lib/components/MenuList/useMenuList.js.map +1 -1
- package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
- package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
- package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
- 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 +6 -3
- package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopover.js +4 -3
- package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
- 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 +3 -2
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +2 -2
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.js +0 -1
- package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.types.js +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.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/contexts/menuContext.js +1 -5
- package/lib/contexts/menuContext.js.map +1 -1
- package/lib/contexts/menuGroupContext.js +4 -1
- package/lib/contexts/menuGroupContext.js.map +1 -1
- package/lib/contexts/menuListContext.js +1 -5
- package/lib/contexts/menuListContext.js.map +1 -1
- package/lib/contexts/menuTriggerContext.js +4 -1
- package/lib/contexts/menuTriggerContext.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/selectable/index.js.map +1 -1
- package/lib/selectable/types.js +1 -1
- package/lib/selectable/types.js.map +1 -1
- package/lib/selectable/useCheckmarkStyles.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 +2 -1
- package/lib/utils/useOnMenuEnter.js.map +1 -1
- package/lib-commonjs/Menu.js +4 -5
- package/lib-commonjs/Menu.js.map +1 -1
- package/lib-commonjs/MenuDivider.js +4 -5
- package/lib-commonjs/MenuDivider.js.map +1 -1
- package/lib-commonjs/MenuGroup.js +4 -5
- package/lib-commonjs/MenuGroup.js.map +1 -1
- package/lib-commonjs/MenuGroupHeader.js +4 -5
- package/lib-commonjs/MenuGroupHeader.js.map +1 -1
- package/lib-commonjs/MenuItem.js +4 -5
- package/lib-commonjs/MenuItem.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox.js +4 -5
- package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuItemRadio.js +4 -5
- package/lib-commonjs/MenuItemRadio.js.map +1 -1
- package/lib-commonjs/MenuList.js +4 -5
- package/lib-commonjs/MenuList.js.map +1 -1
- package/lib-commonjs/MenuPopover.js +4 -5
- package/lib-commonjs/MenuPopover.js.map +1 -1
- package/lib-commonjs/MenuSplitGroup.js +4 -5
- package/lib-commonjs/MenuSplitGroup.js.map +1 -1
- package/lib-commonjs/MenuTrigger.js +4 -5
- package/lib-commonjs/MenuTrigger.js.map +1 -1
- package/lib-commonjs/components/Menu/Menu.js +15 -16
- package/lib-commonjs/components/Menu/Menu.js.map +1 -1
- package/lib-commonjs/components/Menu/Menu.types.js +2 -5
- package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
- package/lib-commonjs/components/Menu/index.js +8 -9
- package/lib-commonjs/components/Menu/index.js.map +1 -1
- package/lib-commonjs/components/Menu/renderMenu.js +14 -14
- package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
- package/lib-commonjs/components/Menu/useMenu.js +252 -249
- package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/components/Menu/useMenuContextValues.js +41 -28
- package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/MenuDivider.js +15 -16
- package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/MenuDivider.types.js +2 -3
- package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/index.js +8 -9
- package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +19 -15
- package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDivider.js +21 -22
- package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +25 -47
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/MenuGroup.js +17 -18
- package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/MenuGroup.types.js +2 -3
- package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/index.js +9 -10
- package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +22 -18
- package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroup.js +22 -23
- package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +15 -18
- package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +11 -19
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +15 -16
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js +2 -3
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/index.js +8 -9
- package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +19 -15
- package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +23 -22
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +25 -47
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
- package/lib-commonjs/components/MenuItem/MenuItem.js +15 -16
- package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItem/MenuItem.types.js +2 -3
- package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
- package/lib-commonjs/components/MenuItem/index.js +8 -9
- package/lib-commonjs/components/MenuItem/index.js.map +1 -1
- package/lib-commonjs/components/MenuItem/renderMenuItem.js +28 -15
- package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useCharacterSearch.js +22 -24
- package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItem.js +104 -97
- package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +134 -282
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +15 -16
- package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js +2 -3
- package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/index.js +8 -9
- package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +24 -15
- package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +45 -44
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +30 -38
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +15 -16
- package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js +2 -3
- package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/index.js +8 -9
- package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +27 -15
- package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +45 -42
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +30 -38
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
- package/lib-commonjs/components/MenuList/MenuList.js +17 -18
- package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
- package/lib-commonjs/components/MenuList/MenuList.types.js +2 -5
- package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
- package/lib-commonjs/components/MenuList/index.js +9 -10
- package/lib-commonjs/components/MenuList/index.js.map +1 -1
- package/lib-commonjs/components/MenuList/renderMenuList.js +21 -18
- package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuList.js +137 -141
- package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuListContextValues.js +25 -20
- package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuListStyles.js +23 -33
- package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/MenuPopover.js +15 -16
- package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/MenuPopover.types.js +2 -3
- package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/index.js +8 -9
- package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +24 -19
- package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopover.js +108 -99
- package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +50 -121
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +15 -16
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -3
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/index.js +8 -9
- package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +18 -15
- package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +64 -58
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +32 -61
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +15 -15
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js +2 -5
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/index.js +7 -8
- package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +16 -14
- package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +170 -163
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib-commonjs/components/index.js +5 -6
- package/lib-commonjs/components/index.js.map +1 -1
- package/lib-commonjs/contexts/menuContext.js +26 -40
- package/lib-commonjs/contexts/menuContext.js.map +1 -1
- package/lib-commonjs/contexts/menuGroupContext.js +12 -18
- package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
- package/lib-commonjs/contexts/menuListContext.js +14 -28
- package/lib-commonjs/contexts/menuListContext.js.map +1 -1
- package/lib-commonjs/contexts/menuTriggerContext.js +12 -17
- package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
- package/lib-commonjs/index.js +399 -91
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/selectable/index.js +5 -6
- package/lib-commonjs/selectable/index.js.map +1 -1
- package/lib-commonjs/selectable/types.js +2 -5
- package/lib-commonjs/selectable/types.js.map +1 -1
- package/lib-commonjs/selectable/useCheckmarkStyles.js +26 -28
- package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
- package/lib-commonjs/utils/index.js +4 -5
- package/lib-commonjs/utils/index.js.map +1 -1
- package/lib-commonjs/utils/useIsSubmenu.js +19 -13
- package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
- package/lib-commonjs/utils/useOnMenuEnter.js +68 -56
- package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
- package/package.json +13 -13
- package/.swcrc +0 -33
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "MenuTrigger", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: ()=>MenuTrigger
|
|
4
|
+
value: true
|
|
8
5
|
});
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
exports.MenuTrigger = void 0;
|
|
7
|
+
const useMenuTrigger_1 = /*#__PURE__*/require("./useMenuTrigger");
|
|
8
|
+
const renderMenuTrigger_1 = /*#__PURE__*/require("./renderMenuTrigger");
|
|
9
|
+
/**
|
|
10
|
+
* Wraps a trigger element as an only child
|
|
11
|
+
* and adds the necessary event handling to open a popup menu
|
|
12
|
+
*/
|
|
13
|
+
const MenuTrigger = props => {
|
|
14
|
+
const state = useMenuTrigger_1.useMenuTrigger_unstable(props);
|
|
15
|
+
return renderMenuTrigger_1.renderMenuTrigger_unstable(state);
|
|
16
16
|
};
|
|
17
|
-
MenuTrigger
|
|
17
|
+
exports.MenuTrigger = MenuTrigger;
|
|
18
|
+
exports.MenuTrigger.displayName = 'MenuTrigger';
|
|
18
19
|
// type casting here is required to ensure internal type FluentTriggerComponent is not leaked
|
|
19
|
-
MenuTrigger.isFluentTriggerComponent = true;
|
|
20
|
-
|
|
20
|
+
exports.MenuTrigger.isFluentTriggerComponent = true;
|
|
21
21
|
//# sourceMappingURL=MenuTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"mappings":";;;;;;AACA;AACA;AAIA;;;;AAIO,MAAMA,WAAW,GAA+BC,KAAK,IAAG;EAC7D,MAAMC,KAAK,GAAGC,wCAAuB,CAACF,KAAK,CAAC;EAE5C,OAAOG,8CAA0B,CAACF,KAAK,CAAC;AAC1C,CAAC;AAJYG,mBAAW;AAMxBA,mBAAW,CAACC,WAAW,GAAG,aAAa;AACvC;AACCD,mBAAsC,CAACE,wBAAwB,GAAG,IAAI","names":["MenuTrigger","props","state","useMenuTrigger_1","renderMenuTrigger_1","exports","displayName","isFluentTriggerComponent"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuTrigger/MenuTrigger.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuTrigger_unstable } from './useMenuTrigger';\nimport { renderMenuTrigger_unstable } from './renderMenuTrigger';\nimport type { MenuTriggerProps } from './MenuTrigger.types';\nimport type { FluentTriggerComponent } from '@fluentui/react-utilities';\n\n/**\n * Wraps a trigger element as an only child\n * and adds the necessary event handling to open a popup menu\n */\nexport const MenuTrigger: React.FC<MenuTriggerProps> = props => {\n const state = useMenuTrigger_unstable(props);\n\n return renderMenuTrigger_unstable(state);\n};\n\nMenuTrigger.displayName = 'MenuTrigger';\n// type casting here is required to ensure internal type FluentTriggerComponent is not leaked\n(MenuTrigger as FluentTriggerComponent).isFluentTriggerComponent = true;\n"]}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
+
value: true
|
|
4
5
|
});
|
|
5
|
-
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
6
|
-
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
7
|
-
//# sourceMappingURL=MenuTrigger.types.js.map
|
|
8
|
-
|
|
9
6
|
//# sourceMappingURL=MenuTrigger.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
+
value: true
|
|
4
5
|
});
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
11
|
-
|
|
6
|
+
const tslib_1 = /*#__PURE__*/require("tslib");
|
|
7
|
+
tslib_1.__exportStar(require("./MenuTrigger"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./MenuTrigger.types"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./renderMenuTrigger"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./useMenuTrigger"), exports);
|
|
12
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"mappings":";;;;;;AAAAA;AACAA;AACAA;AACAA","names":["tslib_1"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuTrigger/index.ts"],"sourcesContent":["export * from './MenuTrigger';\nexport * from './MenuTrigger.types';\nexport * from './renderMenuTrigger';\nexport * from './useMenuTrigger';\n"]}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "renderMenuTrigger_unstable", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: ()=>renderMenuTrigger_unstable
|
|
4
|
+
value: true
|
|
8
5
|
});
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
exports.renderMenuTrigger_unstable = void 0;
|
|
7
|
+
const React = /*#__PURE__*/require("react");
|
|
8
|
+
const menuTriggerContext_1 = /*#__PURE__*/require("../../contexts/menuTriggerContext");
|
|
9
|
+
/**
|
|
10
|
+
* Render the final JSX of MenuTrigger
|
|
11
|
+
*
|
|
12
|
+
* Only renders children
|
|
13
|
+
*/
|
|
14
|
+
const renderMenuTrigger_unstable = state => {
|
|
15
|
+
return React.createElement(menuTriggerContext_1.MenuTriggerContextProvider, {
|
|
16
|
+
value: state.isSubmenu
|
|
17
|
+
}, state.children);
|
|
18
|
+
};
|
|
19
|
+
exports.renderMenuTrigger_unstable = renderMenuTrigger_unstable;
|
|
18
20
|
//# sourceMappingURL=renderMenuTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"mappings":";;;;;;AAAA;AACA;AAGA;;;;;AAKO,MAAMA,0BAA0B,GAAIC,KAAuB,IAAI;EACpE,OAAOC,oBAACC,+CAA0B;IAACC,KAAK,EAAEH,KAAK,CAACI;EAAS,GAAGJ,KAAK,CAACK,QAAQ,CAA8B;AAC1G,CAAC;AAFYC,kCAA0B","names":["renderMenuTrigger_unstable","state","React","menuTriggerContext_1","value","isSubmenu","children","exports"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuTrigger/renderMenuTrigger.tsx"],"sourcesContent":["import * as React from 'react';\nimport { MenuTriggerContextProvider } from '../../contexts/menuTriggerContext';\nimport type { MenuTriggerState } from './MenuTrigger.types';\n\n/**\n * Render the final JSX of MenuTrigger\n *\n * Only renders children\n */\nexport const renderMenuTrigger_unstable = (state: MenuTriggerState) => {\n return <MenuTriggerContextProvider value={state.isSubmenu}>{state.children}</MenuTriggerContextProvider>;\n};\n"]}
|
|
@@ -1,168 +1,175 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "useMenuTrigger_unstable", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: ()=>useMenuTrigger_unstable
|
|
4
|
+
value: true
|
|
8
5
|
});
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
};
|
|
55
|
-
const onClick = (event)=>{
|
|
56
|
-
if (isTargetDisabled(event)) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
if (!openOnContext) {
|
|
60
|
-
setOpen(event, {
|
|
61
|
-
open: !open,
|
|
62
|
-
keyboard: openedWithKeyboardRef.current,
|
|
63
|
-
type: 'menuTriggerClick',
|
|
64
|
-
event
|
|
65
|
-
});
|
|
66
|
-
openedWithKeyboardRef.current = false;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
const onKeyDown = (event)=>{
|
|
70
|
-
if (isTargetDisabled(event)) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const key = event.key;
|
|
74
|
-
if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === _keyboardKeys.ArrowDown)) {
|
|
75
|
-
setOpen(event, {
|
|
76
|
-
open: true,
|
|
77
|
-
keyboard: true,
|
|
78
|
-
type: 'menuTriggerKeyDown',
|
|
79
|
-
event
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
if (key === _keyboardKeys.Escape && !isSubmenu) {
|
|
83
|
-
setOpen(event, {
|
|
84
|
-
open: false,
|
|
85
|
-
keyboard: true,
|
|
86
|
-
type: 'menuTriggerKeyDown',
|
|
87
|
-
event
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
// if menu is already open, can't rely on effects to focus
|
|
91
|
-
if (open && key === OpenArrowKey && isSubmenu) {
|
|
92
|
-
focusFirst();
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
const onMouseEnter = (event)=>{
|
|
96
|
-
if (isTargetDisabled(event)) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
if (openOnHover && hasMouseMoved.current) {
|
|
100
|
-
setOpen(event, {
|
|
101
|
-
open: true,
|
|
102
|
-
keyboard: false,
|
|
103
|
-
type: 'menuTriggerMouseEnter',
|
|
104
|
-
event
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
// Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
|
|
109
|
-
// First time open the mouse using mousemove and then continue with mouseenter
|
|
110
|
-
// Only use once to determine that the user is using the mouse since it is an expensive event to handle
|
|
111
|
-
const onMouseMove = (event)=>{
|
|
112
|
-
if (isTargetDisabled(event)) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
if (openOnHover && !hasMouseMoved.current) {
|
|
116
|
-
setOpen(event, {
|
|
117
|
-
open: true,
|
|
118
|
-
keyboard: false,
|
|
119
|
-
type: 'menuTriggerMouseMove',
|
|
120
|
-
event
|
|
121
|
-
});
|
|
122
|
-
hasMouseMoved.current = true;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
const onMouseLeave = (event)=>{
|
|
126
|
-
if (isTargetDisabled(event)) {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
if (openOnHover) {
|
|
130
|
-
setOpen(event, {
|
|
131
|
-
open: false,
|
|
132
|
-
keyboard: false,
|
|
133
|
-
type: 'menuTriggerMouseLeave',
|
|
134
|
-
event
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
const contextMenuProps = {
|
|
139
|
-
id: triggerId,
|
|
140
|
-
...child === null || child === void 0 ? void 0 : child.props,
|
|
141
|
-
ref: (0, _reactUtilities.useMergedRefs)(triggerRef, child === null || child === void 0 ? void 0 : child.ref),
|
|
142
|
-
onMouseEnter: (0, _reactUtilities.useEventCallback)((0, _reactUtilities.mergeCallbacks)(child === null || child === void 0 ? void 0 : child.props.onMouseEnter, onMouseEnter)),
|
|
143
|
-
onMouseLeave: (0, _reactUtilities.useEventCallback)((0, _reactUtilities.mergeCallbacks)(child === null || child === void 0 ? void 0 : child.props.onMouseLeave, onMouseLeave)),
|
|
144
|
-
onContextMenu: (0, _reactUtilities.useEventCallback)((0, _reactUtilities.mergeCallbacks)(child === null || child === void 0 ? void 0 : child.props.onContextMenu, onContextMenu)),
|
|
145
|
-
onMouseMove: (0, _reactUtilities.useEventCallback)((0, _reactUtilities.mergeCallbacks)(child === null || child === void 0 ? void 0 : child.props.onMouseMove, onMouseMove))
|
|
146
|
-
};
|
|
147
|
-
const triggerChildProps = {
|
|
148
|
-
'aria-haspopup': 'menu',
|
|
149
|
-
'aria-expanded': !open && !isSubmenu ? undefined : open,
|
|
150
|
-
...contextMenuProps,
|
|
151
|
-
onClick: (0, _reactUtilities.useEventCallback)((0, _reactUtilities.mergeCallbacks)(child === null || child === void 0 ? void 0 : child.props.onClick, onClick)),
|
|
152
|
-
onKeyDown: (0, _reactUtilities.useEventCallback)((0, _reactUtilities.mergeCallbacks)(child === null || child === void 0 ? void 0 : child.props.onKeyDown, onKeyDown))
|
|
153
|
-
};
|
|
154
|
-
const ariaButtonTriggerChildProps = (0, _reactAria.useARIAButtonProps)((child === null || child === void 0 ? void 0 : child.type) === 'button' || (child === null || child === void 0 ? void 0 : child.type) === 'a' ? child.type : 'div', triggerChildProps);
|
|
155
|
-
return {
|
|
156
|
-
isSubmenu,
|
|
157
|
-
children: (0, _reactUtilities.applyTriggerPropsToChildren)(children, openOnContext ? contextMenuProps : disableButtonEnhancement ? triggerChildProps : ariaButtonTriggerChildProps)
|
|
158
|
-
};
|
|
159
|
-
};
|
|
160
|
-
const isTargetDisabled = (e)=>{
|
|
161
|
-
const isDisabled = (el)=>el.hasAttribute('disabled') || el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true';
|
|
162
|
-
if (e.target instanceof HTMLElement && isDisabled(e.target)) {
|
|
163
|
-
return true;
|
|
6
|
+
exports.useMenuTrigger_unstable = void 0;
|
|
7
|
+
const React = /*#__PURE__*/require("react");
|
|
8
|
+
const menuContext_1 = /*#__PURE__*/require("../../contexts/menuContext");
|
|
9
|
+
const useIsSubmenu_1 = /*#__PURE__*/require("../../utils/useIsSubmenu");
|
|
10
|
+
const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
|
|
11
|
+
const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
|
|
12
|
+
const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
|
|
13
|
+
const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
|
|
14
|
+
const react_aria_1 = /*#__PURE__*/require("@fluentui/react-aria");
|
|
15
|
+
/**
|
|
16
|
+
* Create the state required to render MenuTrigger.
|
|
17
|
+
* Clones the only child component and adds necessary event handling behaviours to open a popup menu
|
|
18
|
+
*
|
|
19
|
+
* @param props - props from this instance of MenuTrigger
|
|
20
|
+
*/
|
|
21
|
+
const useMenuTrigger_unstable = props => {
|
|
22
|
+
const {
|
|
23
|
+
children,
|
|
24
|
+
disableButtonEnhancement = false
|
|
25
|
+
} = props;
|
|
26
|
+
const triggerRef = menuContext_1.useMenuContext_unstable(context => context.triggerRef);
|
|
27
|
+
const menuPopoverRef = menuContext_1.useMenuContext_unstable(context => context.menuPopoverRef);
|
|
28
|
+
const setOpen = menuContext_1.useMenuContext_unstable(context => context.setOpen);
|
|
29
|
+
const open = menuContext_1.useMenuContext_unstable(context => context.open);
|
|
30
|
+
const triggerId = menuContext_1.useMenuContext_unstable(context => context.triggerId);
|
|
31
|
+
const openOnHover = menuContext_1.useMenuContext_unstable(context => context.openOnHover);
|
|
32
|
+
const openOnContext = menuContext_1.useMenuContext_unstable(context => context.openOnContext);
|
|
33
|
+
const isSubmenu = useIsSubmenu_1.useIsSubmenu();
|
|
34
|
+
const {
|
|
35
|
+
findFirstFocusable
|
|
36
|
+
} = react_tabster_1.useFocusFinders();
|
|
37
|
+
const focusFirst = React.useCallback(() => {
|
|
38
|
+
const firstFocusable = findFirstFocusable(menuPopoverRef.current);
|
|
39
|
+
firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
|
|
40
|
+
}, [findFirstFocusable, menuPopoverRef]);
|
|
41
|
+
const openedWithKeyboardRef = React.useRef(false);
|
|
42
|
+
const hasMouseMoved = React.useRef(false);
|
|
43
|
+
const {
|
|
44
|
+
dir
|
|
45
|
+
} = react_shared_contexts_1.useFluent_unstable();
|
|
46
|
+
const OpenArrowKey = dir === 'ltr' ? keyboard_keys_1.ArrowRight : keyboard_keys_1.ArrowLeft;
|
|
47
|
+
const child = react_utilities_1.getTriggerChild(children);
|
|
48
|
+
const onContextMenu = event => {
|
|
49
|
+
if (isTargetDisabled(event)) {
|
|
50
|
+
return;
|
|
164
51
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
52
|
+
if (openOnContext) {
|
|
53
|
+
event.preventDefault();
|
|
54
|
+
setOpen(event, {
|
|
55
|
+
open: true,
|
|
56
|
+
keyboard: false,
|
|
57
|
+
type: 'menuTriggerContextMenu',
|
|
58
|
+
event
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const onClick = event => {
|
|
63
|
+
if (isTargetDisabled(event)) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (!openOnContext) {
|
|
67
|
+
setOpen(event, {
|
|
68
|
+
open: !open,
|
|
69
|
+
keyboard: openedWithKeyboardRef.current,
|
|
70
|
+
type: 'menuTriggerClick',
|
|
71
|
+
event
|
|
72
|
+
});
|
|
73
|
+
openedWithKeyboardRef.current = false;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const onKeyDown = event => {
|
|
77
|
+
if (isTargetDisabled(event)) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const key = event.key;
|
|
81
|
+
if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === keyboard_keys_1.ArrowDown)) {
|
|
82
|
+
setOpen(event, {
|
|
83
|
+
open: true,
|
|
84
|
+
keyboard: true,
|
|
85
|
+
type: 'menuTriggerKeyDown',
|
|
86
|
+
event
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
if (key === keyboard_keys_1.Escape && !isSubmenu) {
|
|
90
|
+
setOpen(event, {
|
|
91
|
+
open: false,
|
|
92
|
+
keyboard: true,
|
|
93
|
+
type: 'menuTriggerKeyDown',
|
|
94
|
+
event
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
// if menu is already open, can't rely on effects to focus
|
|
98
|
+
if (open && key === OpenArrowKey && isSubmenu) {
|
|
99
|
+
focusFirst();
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const onMouseEnter = event => {
|
|
103
|
+
if (isTargetDisabled(event)) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (openOnHover && hasMouseMoved.current) {
|
|
107
|
+
setOpen(event, {
|
|
108
|
+
open: true,
|
|
109
|
+
keyboard: false,
|
|
110
|
+
type: 'menuTriggerMouseEnter',
|
|
111
|
+
event
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
// Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
|
|
116
|
+
// First time open the mouse using mousemove and then continue with mouseenter
|
|
117
|
+
// Only use once to determine that the user is using the mouse since it is an expensive event to handle
|
|
118
|
+
const onMouseMove = event => {
|
|
119
|
+
if (isTargetDisabled(event)) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (openOnHover && !hasMouseMoved.current) {
|
|
123
|
+
setOpen(event, {
|
|
124
|
+
open: true,
|
|
125
|
+
keyboard: false,
|
|
126
|
+
type: 'menuTriggerMouseMove',
|
|
127
|
+
event
|
|
128
|
+
});
|
|
129
|
+
hasMouseMoved.current = true;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
const onMouseLeave = event => {
|
|
133
|
+
if (isTargetDisabled(event)) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
if (openOnHover) {
|
|
137
|
+
setOpen(event, {
|
|
138
|
+
open: false,
|
|
139
|
+
keyboard: false,
|
|
140
|
+
type: 'menuTriggerMouseLeave',
|
|
141
|
+
event
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
const contextMenuProps = {
|
|
146
|
+
id: triggerId,
|
|
147
|
+
...(child === null || child === void 0 ? void 0 : child.props),
|
|
148
|
+
ref: react_utilities_1.useMergedRefs(triggerRef, child === null || child === void 0 ? void 0 : child.ref),
|
|
149
|
+
onMouseEnter: react_utilities_1.useEventCallback(react_utilities_1.mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseEnter, onMouseEnter)),
|
|
150
|
+
onMouseLeave: react_utilities_1.useEventCallback(react_utilities_1.mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseLeave, onMouseLeave)),
|
|
151
|
+
onContextMenu: react_utilities_1.useEventCallback(react_utilities_1.mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onContextMenu, onContextMenu)),
|
|
152
|
+
onMouseMove: react_utilities_1.useEventCallback(react_utilities_1.mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseMove, onMouseMove))
|
|
153
|
+
};
|
|
154
|
+
const triggerChildProps = {
|
|
155
|
+
'aria-haspopup': 'menu',
|
|
156
|
+
'aria-expanded': !open && !isSubmenu ? undefined : open,
|
|
157
|
+
...contextMenuProps,
|
|
158
|
+
onClick: react_utilities_1.useEventCallback(react_utilities_1.mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onClick, onClick)),
|
|
159
|
+
onKeyDown: react_utilities_1.useEventCallback(react_utilities_1.mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onKeyDown, onKeyDown))
|
|
160
|
+
};
|
|
161
|
+
const ariaButtonTriggerChildProps = react_aria_1.useARIAButtonProps((child === null || child === void 0 ? void 0 : child.type) === 'button' || (child === null || child === void 0 ? void 0 : child.type) === 'a' ? child.type : 'div', triggerChildProps);
|
|
162
|
+
return {
|
|
163
|
+
isSubmenu,
|
|
164
|
+
children: react_utilities_1.applyTriggerPropsToChildren(children, openOnContext ? contextMenuProps : disableButtonEnhancement ? triggerChildProps : ariaButtonTriggerChildProps)
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
exports.useMenuTrigger_unstable = useMenuTrigger_unstable;
|
|
168
|
+
const isTargetDisabled = e => {
|
|
169
|
+
const isDisabled = el => el.hasAttribute('disabled') || el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true';
|
|
170
|
+
if (e.target instanceof HTMLElement && isDisabled(e.target)) {
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
return e.currentTarget instanceof HTMLElement && isDisabled(e.currentTarget);
|
|
174
|
+
};
|
|
168
175
|
//# sourceMappingURL=useMenuTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuTrigger/useMenuTrigger.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { ArrowRight, ArrowLeft, Escape, ArrowDown } from '@fluentui/keyboard-keys';\nimport { applyTriggerPropsToChildren, getTriggerChild, mergeCallbacks, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\n/**\n * Create the state required to render MenuTrigger.\n * Clones the only child component and adds necessary event handling behaviours to open a popup menu\n *\n * @param props - props from this instance of MenuTrigger\n */\nexport const useMenuTrigger_unstable = props => {\n const {\n children,\n disableButtonEnhancement = false\n } = props;\n const triggerRef = useMenuContext_unstable(context => context.triggerRef);\n const menuPopoverRef = useMenuContext_unstable(context => context.menuPopoverRef);\n const setOpen = useMenuContext_unstable(context => context.setOpen);\n const open = useMenuContext_unstable(context => context.open);\n const triggerId = useMenuContext_unstable(context => context.triggerId);\n const openOnHover = useMenuContext_unstable(context => context.openOnHover);\n const openOnContext = useMenuContext_unstable(context => context.openOnContext);\n const isSubmenu = useIsSubmenu();\n const {\n findFirstFocusable\n } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(menuPopoverRef.current);\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }, [findFirstFocusable, menuPopoverRef]);\n const openedWithKeyboardRef = React.useRef(false);\n const hasMouseMoved = React.useRef(false);\n const {\n dir\n } = useFluent();\n const OpenArrowKey = dir === 'ltr' ? ArrowRight : ArrowLeft;\n const child = getTriggerChild(children);\n const onContextMenu = event => {\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnContext) {\n event.preventDefault();\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuTriggerContextMenu',\n event\n });\n }\n };\n const onClick = event => {\n if (isTargetDisabled(event)) {\n return;\n }\n if (!openOnContext) {\n setOpen(event, {\n open: !open,\n keyboard: openedWithKeyboardRef.current,\n type: 'menuTriggerClick',\n event\n });\n openedWithKeyboardRef.current = false;\n }\n };\n const onKeyDown = event => {\n if (isTargetDisabled(event)) {\n return;\n }\n const key = event.key;\n if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === ArrowDown)) {\n setOpen(event, {\n open: true,\n keyboard: true,\n type: 'menuTriggerKeyDown',\n event\n });\n }\n if (key === Escape && !isSubmenu) {\n setOpen(event, {\n open: false,\n keyboard: true,\n type: 'menuTriggerKeyDown',\n event\n });\n }\n // if menu is already open, can't rely on effects to focus\n if (open && key === OpenArrowKey && isSubmenu) {\n focusFirst();\n }\n };\n const onMouseEnter = event => {\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover && hasMouseMoved.current) {\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuTriggerMouseEnter',\n event\n });\n }\n };\n // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience\n // First time open the mouse using mousemove and then continue with mouseenter\n // Only use once to determine that the user is using the mouse since it is an expensive event to handle\n const onMouseMove = event => {\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover && !hasMouseMoved.current) {\n setOpen(event, {\n open: true,\n keyboard: false,\n type: 'menuTriggerMouseMove',\n event\n });\n hasMouseMoved.current = true;\n }\n };\n const onMouseLeave = event => {\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover) {\n setOpen(event, {\n open: false,\n keyboard: false,\n type: 'menuTriggerMouseLeave',\n event\n });\n }\n };\n const contextMenuProps = {\n id: triggerId,\n ...(child === null || child === void 0 ? void 0 : child.props),\n ref: useMergedRefs(triggerRef, child === null || child === void 0 ? void 0 : child.ref),\n onMouseEnter: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseEnter, onMouseEnter)),\n onMouseLeave: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseLeave, onMouseLeave)),\n onContextMenu: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onContextMenu, onContextMenu)),\n onMouseMove: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseMove, onMouseMove))\n };\n const triggerChildProps = {\n 'aria-haspopup': 'menu',\n 'aria-expanded': !open && !isSubmenu ? undefined : open,\n ...contextMenuProps,\n onClick: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onClick, onClick)),\n onKeyDown: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onKeyDown, onKeyDown))\n };\n const ariaButtonTriggerChildProps = useARIAButtonProps((child === null || child === void 0 ? void 0 : child.type) === 'button' || (child === null || child === void 0 ? void 0 : child.type) === 'a' ? child.type : 'div', triggerChildProps);\n return {\n isSubmenu,\n children: applyTriggerPropsToChildren(children, openOnContext ? contextMenuProps : disableButtonEnhancement ? triggerChildProps : ariaButtonTriggerChildProps)\n };\n};\nconst isTargetDisabled = e => {\n const isDisabled = el => el.hasAttribute('disabled') || el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true';\n if (e.target instanceof HTMLElement && isDisabled(e.target)) {\n return true;\n }\n return e.currentTarget instanceof HTMLElement && isDisabled(e.currentTarget);\n};\n//# sourceMappingURL=useMenuTrigger.js.map"],"names":["useMenuTrigger_unstable","props","children","disableButtonEnhancement","triggerRef","useMenuContext_unstable","context","menuPopoverRef","setOpen","open","triggerId","openOnHover","openOnContext","isSubmenu","useIsSubmenu","findFirstFocusable","useFocusFinders","focusFirst","React","useCallback","firstFocusable","current","focus","openedWithKeyboardRef","useRef","hasMouseMoved","dir","useFluent","OpenArrowKey","ArrowRight","ArrowLeft","child","getTriggerChild","onContextMenu","event","isTargetDisabled","preventDefault","keyboard","type","onClick","onKeyDown","key","ArrowDown","Escape","onMouseEnter","onMouseMove","onMouseLeave","contextMenuProps","id","ref","useMergedRefs","useEventCallback","mergeCallbacks","triggerChildProps","undefined","ariaButtonTriggerChildProps","useARIAButtonProps","applyTriggerPropsToChildren","e","isDisabled","el","hasAttribute","getAttribute","target","HTMLElement","currentTarget"],"mappings":"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"}
|
|
1
|
+
{"version":3,"mappings":"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","names":["useMenuTrigger_unstable","props","children","disableButtonEnhancement","triggerRef","menuContext_1","context","menuPopoverRef","setOpen","open","triggerId","openOnHover","openOnContext","isSubmenu","useIsSubmenu_1","findFirstFocusable","react_tabster_1","focusFirst","React","useCallback","firstFocusable","current","focus","openedWithKeyboardRef","useRef","hasMouseMoved","dir","react_shared_contexts_1","OpenArrowKey","keyboard_keys_1","child","react_utilities_1","onContextMenu","event","isTargetDisabled","preventDefault","keyboard","type","onClick","onKeyDown","key","onMouseEnter","onMouseMove","onMouseLeave","contextMenuProps","id","ref","triggerChildProps","undefined","ariaButtonTriggerChildProps","react_aria_1","exports","e","isDisabled","el","hasAttribute","getAttribute","target","HTMLElement","currentTarget"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuTrigger/useMenuTrigger.ts"],"sourcesContent":["import * as React from 'react';\nimport { MenuTriggerProps, MenuTriggerState } from './MenuTrigger.types';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { ArrowRight, ArrowLeft, Escape, ArrowDown } from '@fluentui/keyboard-keys';\nimport {\n applyTriggerPropsToChildren,\n getTriggerChild,\n mergeCallbacks,\n useEventCallback,\n useMergedRefs,\n} from '@fluentui/react-utilities';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\n\n/**\n * Create the state required to render MenuTrigger.\n * Clones the only child component and adds necessary event handling behaviours to open a popup menu\n *\n * @param props - props from this instance of MenuTrigger\n */\nexport const useMenuTrigger_unstable = (props: MenuTriggerProps): MenuTriggerState => {\n const { children, disableButtonEnhancement = false } = props;\n\n const triggerRef = useMenuContext_unstable(context => context.triggerRef);\n const menuPopoverRef = useMenuContext_unstable(context => context.menuPopoverRef);\n const setOpen = useMenuContext_unstable(context => context.setOpen);\n const open = useMenuContext_unstable(context => context.open);\n const triggerId = useMenuContext_unstable(context => context.triggerId);\n const openOnHover = useMenuContext_unstable(context => context.openOnHover);\n const openOnContext = useMenuContext_unstable(context => context.openOnContext);\n\n const isSubmenu = useIsSubmenu();\n\n const { findFirstFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(menuPopoverRef.current);\n firstFocusable?.focus();\n }, [findFirstFocusable, menuPopoverRef]);\n\n const openedWithKeyboardRef = React.useRef(false);\n const hasMouseMoved = React.useRef(false);\n\n const { dir } = useFluent();\n const OpenArrowKey = dir === 'ltr' ? ArrowRight : ArrowLeft;\n\n const child = getTriggerChild(children);\n\n const onContextMenu = (event: React.MouseEvent<HTMLButtonElement & HTMLAnchorElement & HTMLDivElement>) => {\n if (isTargetDisabled(event)) {\n return;\n }\n\n if (openOnContext) {\n event.preventDefault();\n setOpen(event, { open: true, keyboard: false, type: 'menuTriggerContextMenu', event });\n }\n };\n\n const onClick = (event: React.MouseEvent<HTMLButtonElement & HTMLAnchorElement & HTMLDivElement>) => {\n if (isTargetDisabled(event)) {\n return;\n }\n\n if (!openOnContext) {\n setOpen(event, { open: !open, keyboard: openedWithKeyboardRef.current, type: 'menuTriggerClick', event });\n openedWithKeyboardRef.current = false;\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLButtonElement & HTMLAnchorElement & HTMLDivElement>) => {\n if (isTargetDisabled(event)) {\n return;\n }\n\n const key = event.key;\n\n if (!openOnContext && ((isSubmenu && key === OpenArrowKey) || (!isSubmenu && key === ArrowDown))) {\n setOpen(event, { open: true, keyboard: true, type: 'menuTriggerKeyDown', event });\n }\n\n if (key === Escape && !isSubmenu) {\n setOpen(event, { open: false, keyboard: true, type: 'menuTriggerKeyDown', event });\n }\n\n // if menu is already open, can't rely on effects to focus\n if (open && key === OpenArrowKey && isSubmenu) {\n focusFirst();\n }\n };\n\n const onMouseEnter = (event: React.MouseEvent<HTMLButtonElement & HTMLAnchorElement & HTMLDivElement>) => {\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover && hasMouseMoved.current) {\n setOpen(event, { open: true, keyboard: false, type: 'menuTriggerMouseEnter', event });\n }\n };\n\n // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience\n // First time open the mouse using mousemove and then continue with mouseenter\n // Only use once to determine that the user is using the mouse since it is an expensive event to handle\n const onMouseMove = (event: React.MouseEvent<HTMLButtonElement & HTMLAnchorElement & HTMLDivElement>) => {\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover && !hasMouseMoved.current) {\n setOpen(event, { open: true, keyboard: false, type: 'menuTriggerMouseMove', event });\n hasMouseMoved.current = true;\n }\n };\n\n const onMouseLeave = (event: React.MouseEvent<HTMLButtonElement & HTMLAnchorElement & HTMLDivElement>) => {\n if (isTargetDisabled(event)) {\n return;\n }\n if (openOnHover) {\n setOpen(event, { open: false, keyboard: false, type: 'menuTriggerMouseLeave', event });\n }\n };\n\n const contextMenuProps = {\n id: triggerId,\n ...child?.props,\n ref: useMergedRefs(triggerRef, child?.ref),\n onMouseEnter: useEventCallback(mergeCallbacks(child?.props.onMouseEnter, onMouseEnter)),\n onMouseLeave: useEventCallback(mergeCallbacks(child?.props.onMouseLeave, onMouseLeave)),\n onContextMenu: useEventCallback(mergeCallbacks(child?.props.onContextMenu, onContextMenu)),\n onMouseMove: useEventCallback(mergeCallbacks(child?.props.onMouseMove, onMouseMove)),\n };\n\n const triggerChildProps = {\n 'aria-haspopup': 'menu',\n 'aria-expanded': !open && !isSubmenu ? undefined : open,\n ...contextMenuProps,\n onClick: useEventCallback(mergeCallbacks(child?.props.onClick, onClick)),\n onKeyDown: useEventCallback(mergeCallbacks(child?.props.onKeyDown, onKeyDown)),\n } as const;\n\n const ariaButtonTriggerChildProps = useARIAButtonProps(\n child?.type === 'button' || child?.type === 'a' ? child.type : 'div',\n triggerChildProps,\n );\n\n return {\n isSubmenu,\n children: applyTriggerPropsToChildren(\n children,\n openOnContext ? contextMenuProps : disableButtonEnhancement ? triggerChildProps : ariaButtonTriggerChildProps,\n ),\n };\n};\n\nconst isTargetDisabled = (e: React.SyntheticEvent | Event) => {\n const isDisabled = (el: HTMLElement) =>\n el.hasAttribute('disabled') || (el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true');\n if (e.target instanceof HTMLElement && isDisabled(e.target)) {\n return true;\n }\n\n return e.currentTarget instanceof HTMLElement && isDisabled(e.currentTarget);\n};\n"]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
+
value: true
|
|
4
5
|
});
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
9
|
-
|
|
6
|
+
const tslib_1 = /*#__PURE__*/require("tslib");
|
|
7
|
+
tslib_1.__exportStar(require("./MenuItem/index"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./MenuList/index"), exports);
|
|
10
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"mappings":";;;;;;AAAAA;AACAA","names":["tslib_1"],"sourceRoot":"","sources":["../../../../../../../../packages/react-components/react-menu/src/components/index.ts"],"sourcesContent":["export * from './MenuItem/index';\nexport * from './MenuList/index';\n"]}
|
|
@@ -1,46 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
MenuContext: ()=>MenuContext,
|
|
13
|
-
MenuProvider: ()=>MenuProvider,
|
|
14
|
-
useMenuContext_unstable: ()=>useMenuContext_unstable
|
|
4
|
+
value: true
|
|
15
5
|
});
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
const MenuContext = /*#__PURE__*/ (0, _reactContextSelector.createContext)(undefined);
|
|
6
|
+
exports.useMenuContext_unstable = exports.MenuProvider = exports.MenuContext = void 0;
|
|
7
|
+
const react_context_selector_1 = /*#__PURE__*/require("@fluentui/react-context-selector");
|
|
8
|
+
exports.MenuContext = /*#__PURE__*/react_context_selector_1.createContext(undefined);
|
|
20
9
|
const menuContextDefaultValue = {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
10
|
+
open: false,
|
|
11
|
+
setOpen: () => false,
|
|
12
|
+
checkedValues: {},
|
|
13
|
+
onCheckedValueChange: () => null,
|
|
14
|
+
isSubmenu: false,
|
|
15
|
+
triggerRef: {
|
|
16
|
+
current: null
|
|
17
|
+
},
|
|
18
|
+
menuPopoverRef: {
|
|
19
|
+
current: null
|
|
20
|
+
},
|
|
21
|
+
triggerId: '',
|
|
22
|
+
openOnContext: false,
|
|
23
|
+
openOnHover: false,
|
|
24
|
+
hasIcons: false,
|
|
25
|
+
hasCheckmarks: false,
|
|
26
|
+
inline: false,
|
|
27
|
+
persistOnItemClick: false
|
|
39
28
|
};
|
|
40
|
-
|
|
41
|
-
const useMenuContext_unstable =
|
|
42
|
-
|
|
43
|
-
return selector(ctx);
|
|
44
|
-
}); //# sourceMappingURL=menuContext.js.map
|
|
45
|
-
|
|
29
|
+
exports.MenuProvider = exports.MenuContext.Provider;
|
|
30
|
+
const useMenuContext_unstable = selector => react_context_selector_1.useContextSelector(exports.MenuContext, (ctx = menuContextDefaultValue) => selector(ctx));
|
|
31
|
+
exports.useMenuContext_unstable = useMenuContext_unstable;
|
|
46
32
|
//# sourceMappingURL=menuContext.js.map
|