@fluentui/react-menu 0.0.0-nightly-20230526-0415.1 → 0.0.0-nightly-20230530-0415.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 +25 -25
- package/CHANGELOG.md +15 -15
- package/lib/Menu.js +1 -0
- package/lib/Menu.js.map +1 -1
- package/lib/MenuDivider.js +1 -0
- package/lib/MenuDivider.js.map +1 -1
- package/lib/MenuGroup.js +1 -0
- package/lib/MenuGroup.js.map +1 -1
- package/lib/MenuGroupHeader.js +1 -0
- package/lib/MenuGroupHeader.js.map +1 -1
- package/lib/MenuItem.js +1 -0
- package/lib/MenuItem.js.map +1 -1
- package/lib/MenuItemCheckbox.js +1 -0
- package/lib/MenuItemCheckbox.js.map +1 -1
- package/lib/MenuItemRadio.js +1 -0
- package/lib/MenuItemRadio.js.map +1 -1
- package/lib/MenuList.js +1 -0
- package/lib/MenuList.js.map +1 -1
- package/lib/MenuPopover.js +1 -0
- package/lib/MenuPopover.js.map +1 -1
- package/lib/MenuSplitGroup.js +1 -0
- package/lib/MenuSplitGroup.js.map +1 -1
- package/lib/MenuTrigger.js +1 -0
- package/lib/MenuTrigger.js.map +1 -1
- package/lib/components/Menu/Menu.js +5 -5
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/Menu.types.js +1 -0
- package/lib/components/Menu/Menu.types.js.map +1 -1
- package/lib/components/Menu/index.js +1 -0
- package/lib/components/Menu/index.js.map +1 -1
- package/lib/components/Menu/renderMenu.js +5 -5
- package/lib/components/Menu/renderMenu.js.map +1 -1
- package/lib/components/Menu/useMenu.js +243 -235
- package/lib/components/Menu/useMenu.js.map +1 -1
- package/lib/components/Menu/useMenuContextValues.js +23 -38
- package/lib/components/Menu/useMenuContextValues.js.map +1 -1
- package/lib/components/MenuDivider/MenuDivider.js +6 -6
- package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/MenuDivider.types.js +2 -1
- package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -1
- package/lib/components/MenuDivider/index.js +1 -0
- package/lib/components/MenuDivider/index.js.map +1 -1
- package/lib/components/MenuDivider/renderMenuDivider.js +5 -8
- package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDivider.js +13 -13
- package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.js.map +1 -1
- package/lib/components/MenuGroup/MenuGroup.js +7 -7
- package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/MenuGroup.types.js +2 -1
- package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -1
- package/lib/components/MenuGroup/index.js +1 -0
- package/lib/components/MenuGroup/index.js.map +1 -1
- package/lib/components/MenuGroup/renderMenuGroup.js +7 -10
- package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroup.js +15 -15
- package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroupContextValues.js +10 -9
- package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
- package/lib/components/MenuGroupHeader/MenuGroupHeader.js +6 -6
- package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js +2 -1
- package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
- package/lib/components/MenuGroupHeader/index.js +1 -0
- package/lib/components/MenuGroupHeader/index.js.map +1 -1
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +5 -8
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +13 -15
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.js +6 -6
- package/lib/components/MenuItem/MenuItem.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.types.js +2 -1
- package/lib/components/MenuItem/MenuItem.types.js.map +1 -1
- package/lib/components/MenuItem/index.js +1 -0
- package/lib/components/MenuItem/index.js.map +1 -1
- package/lib/components/MenuItem/renderMenuItem.js +5 -8
- package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
- package/lib/components/MenuItem/useCharacterSearch.js +15 -16
- package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
- package/lib/components/MenuItem/useMenuItem.js +80 -87
- package/lib/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib/components/MenuItem/useMenuItemStyles.styles.js.map +1 -1
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +6 -6
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js +2 -1
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
- package/lib/components/MenuItemCheckbox/index.js +1 -0
- package/lib/components/MenuItemCheckbox/index.js.map +1 -1
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +5 -8
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +32 -35
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemRadio/MenuItemRadio.js +6 -6
- package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
- package/lib/components/MenuItemRadio/MenuItemRadio.types.js +2 -1
- package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
- package/lib/components/MenuItemRadio/index.js +1 -0
- package/lib/components/MenuItemRadio/index.js.map +1 -1
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js +5 -8
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
- package/lib/components/MenuItemRadio/useMenuItemRadio.js +30 -33
- package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib/components/MenuList/MenuList.js +7 -7
- package/lib/components/MenuList/MenuList.js.map +1 -1
- package/lib/components/MenuList/MenuList.types.js +1 -0
- package/lib/components/MenuList/MenuList.types.js.map +1 -1
- package/lib/components/MenuList/index.js +1 -0
- package/lib/components/MenuList/index.js.map +1 -1
- package/lib/components/MenuList/renderMenuList.js +7 -10
- package/lib/components/MenuList/renderMenuList.js.map +1 -1
- package/lib/components/MenuList/useMenuList.js +131 -125
- package/lib/components/MenuList/useMenuList.js.map +1 -1
- package/lib/components/MenuList/useMenuListContextValues.js +14 -20
- package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
- package/lib/components/MenuList/useMenuListStyles.styles.js.map +1 -1
- package/lib/components/MenuPopover/MenuPopover.js +6 -6
- package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/MenuPopover.types.js +2 -1
- package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -1
- package/lib/components/MenuPopover/index.js +1 -0
- package/lib/components/MenuPopover/index.js.map +1 -1
- package/lib/components/MenuPopover/renderMenuPopover.js +10 -13
- package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopover.js +88 -90
- package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.js.map +1 -1
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js +6 -6
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -1
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
- package/lib/components/MenuSplitGroup/index.js +1 -0
- package/lib/components/MenuSplitGroup/index.js.map +1 -1
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +5 -8
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +46 -46
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.js.map +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.js +4 -4
- package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.types.js +1 -0
- package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
- package/lib/components/MenuTrigger/index.js +1 -0
- package/lib/components/MenuTrigger/index.js.map +1 -1
- package/lib/components/MenuTrigger/renderMenuTrigger.js +5 -5
- package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -1
- package/lib/contexts/menuContext.js +22 -21
- package/lib/contexts/menuContext.js.map +1 -1
- package/lib/contexts/menuGroupContext.js +4 -3
- package/lib/contexts/menuGroupContext.js.map +1 -1
- package/lib/contexts/menuListContext.js +9 -8
- package/lib/contexts/menuListContext.js.map +1 -1
- package/lib/contexts/menuTriggerContext.js +3 -3
- package/lib/contexts/menuTriggerContext.js.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/selectable/index.js +1 -0
- package/lib/selectable/index.js.map +1 -1
- package/lib/selectable/types.js +1 -0
- package/lib/selectable/types.js.map +1 -1
- package/lib/selectable/useCheckmarkStyles.styles.js.map +1 -1
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/useIsSubmenu.js +5 -5
- package/lib/utils/useIsSubmenu.js.map +1 -1
- package/lib/utils/useOnMenuEnter.js +40 -43
- package/lib/utils/useOnMenuEnter.js.map +1 -1
- package/lib-commonjs/Menu.js.map +1 -1
- package/lib-commonjs/MenuDivider.js.map +1 -1
- package/lib-commonjs/MenuGroup.js.map +1 -1
- package/lib-commonjs/MenuGroupHeader.js.map +1 -1
- package/lib-commonjs/MenuItem.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuItemRadio.js.map +1 -1
- package/lib-commonjs/MenuList.js.map +1 -1
- package/lib-commonjs/MenuPopover.js.map +1 -1
- package/lib-commonjs/MenuSplitGroup.js.map +1 -1
- package/lib-commonjs/MenuTrigger.js.map +1 -1
- package/lib-commonjs/components/Menu/Menu.js.map +1 -1
- package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
- package/lib-commonjs/components/Menu/index.js.map +1 -1
- package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
- package/lib-commonjs/components/Menu/useMenu.js +1 -2
- package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
- package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
- package/lib-commonjs/components/MenuItem/index.js.map +1 -1
- package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItem.js +2 -2
- package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
- package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
- package/lib-commonjs/components/MenuList/index.js.map +1 -1
- package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
- package/lib-commonjs/components/index.js.map +1 -1
- package/lib-commonjs/contexts/menuContext.js +1 -1
- package/lib-commonjs/contexts/menuContext.js.map +1 -1
- package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
- package/lib-commonjs/contexts/menuListContext.js +1 -1
- package/lib-commonjs/contexts/menuListContext.js.map +1 -1
- package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/selectable/index.js.map +1 -1
- package/lib-commonjs/selectable/types.js.map +1 -1
- package/lib-commonjs/utils/index.js.map +1 -1
- package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
- package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
- package/package.json +12 -12
|
@@ -3,8 +3,7 @@ import { useEventCallback } from '@fluentui/react-utilities';
|
|
|
3
3
|
import { elementContains } from '@fluentui/react-portal';
|
|
4
4
|
/**
|
|
5
5
|
* Name of the custom event
|
|
6
|
-
*/
|
|
7
|
-
export const MENU_ENTER_EVENT = 'fuimenuenter';
|
|
6
|
+
*/ export const MENU_ENTER_EVENT = 'fuimenuenter';
|
|
8
7
|
/**
|
|
9
8
|
* This hook works similarly to @see {useOnClickOutside}
|
|
10
9
|
*
|
|
@@ -15,51 +14,49 @@ export const MENU_ENTER_EVENT = 'fuimenuenter';
|
|
|
15
14
|
* We don't use the native mouseenter event because it would trigger too many times in the document
|
|
16
15
|
* Instead, dispatch custom DOM event from the menu so that it can bubble
|
|
17
16
|
* Each nested menu can use the listener to check if the event is from a child or parent menu
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
};
|
|
50
|
-
}, [listener, element, disabled]);
|
|
17
|
+
*/ export const useOnMenuMouseEnter = (options)=>{
|
|
18
|
+
const { refs , callback , element , disabled } = options;
|
|
19
|
+
// Keep mouse event here because this is essentially a custom 'mouseenter' event
|
|
20
|
+
const listener = useEventCallback((ev)=>{
|
|
21
|
+
const popoverRef = refs[0];
|
|
22
|
+
const someMenuPopover = ev.target;
|
|
23
|
+
var _popoverRef_current;
|
|
24
|
+
// someMenu is a child -> will always be contained because of vParents
|
|
25
|
+
// someMenu is a parent -> will always not be contained because no vParent
|
|
26
|
+
// someMenu is the current popover -> it will contain itself
|
|
27
|
+
const isOutsidePopover = !elementContains((_popoverRef_current = popoverRef.current) !== null && _popoverRef_current !== void 0 ? _popoverRef_current : null, someMenuPopover);
|
|
28
|
+
if (isOutsidePopover && !disabled) {
|
|
29
|
+
callback(ev);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
React.useEffect(()=>{
|
|
33
|
+
// eslint-disable-next-line eqeqeq
|
|
34
|
+
if (element == null) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (!disabled) {
|
|
38
|
+
element.addEventListener(MENU_ENTER_EVENT, listener);
|
|
39
|
+
}
|
|
40
|
+
return ()=>{
|
|
41
|
+
element.removeEventListener(MENU_ENTER_EVENT, listener);
|
|
42
|
+
};
|
|
43
|
+
}, [
|
|
44
|
+
listener,
|
|
45
|
+
element,
|
|
46
|
+
disabled
|
|
47
|
+
]);
|
|
51
48
|
};
|
|
52
49
|
/**
|
|
53
50
|
* Dispatches the custom MouseEvent enter event. Similar to calling `el.click()`
|
|
54
51
|
* @param el element for the event target
|
|
55
52
|
* @param nativeEvent the native mouse event this is mapped to
|
|
56
|
-
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
}));
|
|
53
|
+
*/ export const dispatchMenuEnterEvent = (el, nativeEvent)=>{
|
|
54
|
+
el.dispatchEvent(new CustomEvent(MENU_ENTER_EVENT, {
|
|
55
|
+
bubbles: true,
|
|
56
|
+
detail: {
|
|
57
|
+
nativeEvent
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
64
60
|
};
|
|
61
|
+
|
|
65
62
|
//# sourceMappingURL=useOnMenuEnter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/utils/useOnMenuEnter.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport type { UseOnClickOrScrollOutsideOptions } from '@fluentui/react-utilities';\n\n/**\n * Name of the custom event\n */\nexport const MENU_ENTER_EVENT = 'fuimenuenter';\n\n/**\n * This hook works similarly to @see {useOnClickOutside}\n *\n * Problem: Trying to behave the same as system menus:\n * When the mouse leaves a stack of nested menus the stack should not dismiss.\n * However if the mouse leaves a stack of menus and enters a parent menu all its children menu should dismiss.\n *\n * We don't use the native mouseenter event because it would trigger too many times in the document\n * Instead, dispatch custom DOM event from the menu so that it can bubble\n * Each nested menu can use the listener to check if the event is from a child or parent menu\n */\nexport const useOnMenuMouseEnter = (options: UseOnClickOrScrollOutsideOptions) => {\n const { refs, callback, element, disabled } = options;\n\n // Keep mouse event here because this is essentially a custom 'mouseenter' event\n const listener = useEventCallback((ev: MouseEvent) => {\n const popoverRef = refs[0];\n const someMenuPopover = ev.target as HTMLElement;\n\n // someMenu is a child -> will always be contained because of vParents\n // someMenu is a parent -> will always not be contained because no vParent\n // someMenu is the current popover -> it will contain itself\n const isOutsidePopover = !elementContains(popoverRef.current ?? null, someMenuPopover);\n if (isOutsidePopover && !disabled) {\n callback(ev);\n }\n });\n\n React.useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (element == null) {\n return;\n }\n\n /**\n * Because `addEventListener` type override falls back to 2nd definition (evt name is unknown string literal)\n * evt is being typed as a base class of MouseEvent -> `Event`.\n * This type is used to override `listener` calls to make TS happy\n */\n\n type ListenerOverride = (evt: Event) => void;\n\n if (!disabled) {\n element.addEventListener(MENU_ENTER_EVENT, listener as ListenerOverride);\n }\n\n return () => {\n element.removeEventListener(MENU_ENTER_EVENT, listener as ListenerOverride);\n };\n }, [listener, element, disabled]);\n};\n\n/**\n * Dispatches the custom MouseEvent enter event. Similar to calling `el.click()`\n * @param el element for the event target\n * @param nativeEvent the native mouse event this is mapped to\n */\nexport const dispatchMenuEnterEvent = (el: HTMLElement, nativeEvent: MouseEvent) => {\n el.dispatchEvent(new CustomEvent(MENU_ENTER_EVENT, { bubbles: true, detail: { nativeEvent } }));\n};\n"],"names":["React","useEventCallback","elementContains","MENU_ENTER_EVENT","useOnMenuMouseEnter","options","refs","callback","element","disabled","listener","ev","popoverRef","someMenuPopover","target","isOutsidePopover","current","useEffect","addEventListener","removeEventListener","dispatchMenuEnterEvent","el","nativeEvent","dispatchEvent","CustomEvent","bubbles","detail"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,eAAe,QAAQ,yBAAyB;AAGzD;;CAEC,GACD,OAAO,MAAMC,mBAAmB,eAAe;AAE/C;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,sBAAsB,CAACC,UAA8C;IAChF,MAAM,EAAEC,KAAI,EAAEC,SAAQ,EAAEC,QAAO,EAAEC,SAAQ,EAAE,GAAGJ;IAE9C,gFAAgF;IAChF,MAAMK,WAAWT,iBAAiB,CAACU,KAAmB;QACpD,MAAMC,aAAaN,IAAI,CAAC,EAAE;QAC1B,MAAMO,kBAAkBF,GAAGG,MAAM;YAKSF;QAH1C,sEAAsE;QACtE,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAMG,mBAAmB,CAACb,gBAAgBU,CAAAA,sBAAAA,WAAWI,OAAO,cAAlBJ,iCAAAA,sBAAsB,IAAI,EAAEC;QACtE,IAAIE,oBAAoB,CAACN,UAAU;YACjCF,SAASI;QACX,CAAC;IACH;IAEAX,MAAMiB,SAAS,CAAC,IAAM;QACpB,kCAAkC;QAClC,IAAIT,WAAW,IAAI,EAAE;YACnB;QACF,CAAC;QAUD,IAAI,CAACC,UAAU;YACbD,QAAQU,gBAAgB,CAACf,kBAAkBO;QAC7C,CAAC;QAED,OAAO,IAAM;YACXF,QAAQW,mBAAmB,CAAChB,kBAAkBO;QAChD;IACF,GAAG;QAACA;QAAUF;QAASC;KAAS;AAClC,EAAE;AAEF;;;;CAIC,GACD,OAAO,MAAMW,yBAAyB,CAACC,IAAiBC,cAA4B;IAClFD,GAAGE,aAAa,CAAC,IAAIC,YAAYrB,kBAAkB;QAAEsB,SAAS,IAAI;QAAEC,QAAQ;YAAEJ;QAAY;IAAE;AAC9F,EAAE"}
|
package/lib-commonjs/Menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/Menu.js"],"sourcesContent":["export * from './components/Menu/index';\n//# sourceMappingURL=Menu.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/Menu.js"],"sourcesContent":["export * from './components/Menu/index';\n\n//# sourceMappingURL=Menu.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,gCAAgC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuDivider.js"],"sourcesContent":["export * from './components/MenuDivider/index';\n//# sourceMappingURL=MenuDivider.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuDivider.js"],"sourcesContent":["export * from './components/MenuDivider/index';\n\n//# sourceMappingURL=MenuDivider.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,uCAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuGroup.js"],"sourcesContent":["export * from './components/MenuGroup/index';\n//# sourceMappingURL=MenuGroup.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuGroup.js"],"sourcesContent":["export * from './components/MenuGroup/index';\n\n//# sourceMappingURL=MenuGroup.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,qCAAqC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuGroupHeader.js"],"sourcesContent":["export * from './components/MenuGroupHeader/index';\n//# sourceMappingURL=MenuGroupHeader.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuGroupHeader.js"],"sourcesContent":["export * from './components/MenuGroupHeader/index';\n\n//# sourceMappingURL=MenuGroupHeader.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,2CAA2C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuItem.js"],"sourcesContent":["export * from './components/MenuItem/index';\n//# sourceMappingURL=MenuItem.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuItem.js"],"sourcesContent":["export * from './components/MenuItem/index';\n\n//# sourceMappingURL=MenuItem.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,oCAAoC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuItemCheckbox.js"],"sourcesContent":["export * from './components/MenuItemCheckbox/index';\n//# sourceMappingURL=MenuItemCheckbox.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuItemCheckbox.js"],"sourcesContent":["export * from './components/MenuItemCheckbox/index';\n\n//# sourceMappingURL=MenuItemCheckbox.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,4CAA4C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuItemRadio.js"],"sourcesContent":["export * from './components/MenuItemRadio/index';\n//# sourceMappingURL=MenuItemRadio.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuItemRadio.js"],"sourcesContent":["export * from './components/MenuItemRadio/index';\n\n//# sourceMappingURL=MenuItemRadio.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,yCAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuList.js"],"sourcesContent":["export * from './components/MenuList/index';\n//# sourceMappingURL=MenuList.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuList.js"],"sourcesContent":["export * from './components/MenuList/index';\n\n//# sourceMappingURL=MenuList.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,oCAAoC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuPopover.js"],"sourcesContent":["export * from './components/MenuPopover/index';\n//# sourceMappingURL=MenuPopover.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuPopover.js"],"sourcesContent":["export * from './components/MenuPopover/index';\n\n//# sourceMappingURL=MenuPopover.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,uCAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuSplitGroup.js"],"sourcesContent":["export * from './components/MenuSplitGroup/index';\n//# sourceMappingURL=MenuSplitGroup.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuSplitGroup.js"],"sourcesContent":["export * from './components/MenuSplitGroup/index';\n\n//# sourceMappingURL=MenuSplitGroup.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,0CAA0C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/MenuTrigger.js"],"sourcesContent":["export * from './components/MenuTrigger/index';\n//# sourceMappingURL=MenuTrigger.js.map"],"names":[],"mappings":";;;;;oBAAc;
|
|
1
|
+
{"version":3,"sources":["../lib/MenuTrigger.js"],"sourcesContent":["export * from './components/MenuTrigger/index';\n\n//# sourceMappingURL=MenuTrigger.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,uCAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/Menu/Menu.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenu_unstable } from './useMenu';\nimport { useMenuContextValues_unstable } from './useMenuContextValues';\nimport { renderMenu_unstable } from './renderMenu';\n/**\n * Wrapper component that manages state for a popup MenuList and a MenuTrigger\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Menu/Menu.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenu_unstable } from './useMenu';\nimport { useMenuContextValues_unstable } from './useMenuContextValues';\nimport { renderMenu_unstable } from './renderMenu';\n/**\n * Wrapper component that manages state for a popup MenuList and a MenuTrigger\n */ export const Menu = (props)=>{\n const state = useMenu_unstable(props);\n const contextValues = useMenuContextValues_unstable(state);\n return renderMenu_unstable(state, contextValues);\n};\nMenu.displayName = 'Menu';\n\n//# sourceMappingURL=Menu.js.map"],"names":["Menu","props","state","useMenu_unstable","contextValues","useMenuContextValues_unstable","renderMenu_unstable","displayName"],"mappings":";;;;+BAMiBA;;aAAAA;;;6DANM;yBACU;sCACa;4BACV;AAGzB,MAAMA,OAAO,CAACC,QAAQ;IAC7B,MAAMC,QAAQC,IAAAA,yBAAgB,EAACF;IAC/B,MAAMG,gBAAgBC,IAAAA,mDAA6B,EAACH;IACpD,OAAOI,IAAAA,+BAAmB,EAACJ,OAAOE;AACtC;AACAJ,KAAKO,WAAW,GAAG,QAEnB,gCAAgC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/Menu/Menu.types.js"],"sourcesContent":["import * as React from 'react';\n//# sourceMappingURL=Menu.types.js.map"],"names":[],"mappings":";;;;;6DAAuB;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Menu/Menu.types.js"],"sourcesContent":["import * as React from 'react';\n\n//# sourceMappingURL=Menu.types.js.map"],"names":[],"mappings":";;;;;6DAAuB;CAEvB,sCAAsC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/Menu/index.js"],"sourcesContent":["export * from './Menu';\nexport * from './Menu.types';\nexport * from './renderMenu';\nexport * from './useMenu';\nexport * from './useMenuContextValues';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Menu/index.js"],"sourcesContent":["export * from './Menu';\nexport * from './Menu.types';\nexport * from './renderMenu';\nexport * from './useMenu';\nexport * from './useMenuContextValues';\n\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CAEd,iCAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/Menu/renderMenu.js"],"sourcesContent":["import * as React from 'react';\nimport { MenuProvider } from '../../contexts/menuContext';\n/**\n * Render the final JSX of Menu\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Menu/renderMenu.js"],"sourcesContent":["import * as React from 'react';\nimport { MenuProvider } from '../../contexts/menuContext';\n/**\n * Render the final JSX of Menu\n */ export const renderMenu_unstable = (state, contextValues)=>{\n return /*#__PURE__*/ React.createElement(MenuProvider, {\n value: contextValues.menu\n }, state.menuTrigger, state.open && state.menuPopover);\n};\n\n//# sourceMappingURL=renderMenu.js.map"],"names":["renderMenu_unstable","state","contextValues","React","createElement","MenuProvider","value","menu","menuTrigger","open","menuPopover"],"mappings":";;;;+BAIiBA;;aAAAA;;;6DAJM;6BACM;AAGlB,MAAMA,sBAAsB,CAACC,OAAOC,gBAAgB;IAC3D,OAAO,WAAW,GAAGC,OAAMC,aAAa,CAACC,yBAAY,EAAE;QACnDC,OAAOJ,cAAcK,IAAI;IAC7B,GAAGN,MAAMO,WAAW,EAAEP,MAAMQ,IAAI,IAAIR,MAAMS,WAAW;AACzD,GAEA,sCAAsC"}
|
|
@@ -248,8 +248,7 @@ const useMenuOpenState = (state)=>{
|
|
|
248
248
|
} else {
|
|
249
249
|
if (!firstMount) {
|
|
250
250
|
if ((targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement) === (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.body)) {
|
|
251
|
-
var //
|
|
252
|
-
// after any event handler (event handlers will update state and re-render).
|
|
251
|
+
var // after any event handler (event handlers will update state and re-render).
|
|
253
252
|
// Since the browser only performs the default behaviour for the Tab key once
|
|
254
253
|
// keyboard events have fully bubbled up the window, the browser will move
|
|
255
254
|
// focus to the next tabbable element before/after the trigger if needed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/Menu/useMenu.js"],"sourcesContent":["import * as React from 'react';\nimport { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from '@fluentui/react-positioning';\nimport { useControllableState, useId, useOnClickOutside, useEventCallback, useOnScrollOutside, useFirstMount } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\n// If it's not possible to position the submenu in smaller viewports, try\n// and fallback to this order of positions\nconst submenuFallbackPositions = ['after', 'after-bottom', 'before-top', 'before', 'before-bottom', 'above'];\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */\nexport const useMenu_unstable = props => {\n const isSubmenu = useIsSubmenu();\n const {\n hoverDelay = 500,\n inline = false,\n hasCheckmarks = false,\n hasIcons = false,\n closeOnScroll = false,\n openOnContext = false,\n persistOnItemClick = false,\n openOnHover = isSubmenu,\n defaultCheckedValues,\n mountNode = null\n } = props;\n const triggerId = useId('menu');\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const positioningState = {\n position: isSubmenu ? 'after' : 'below',\n align: isSubmenu ? 'top' : 'start',\n target: props.openOnContext ? contextTarget : undefined,\n fallbackPositions: isSubmenu ? submenuFallbackPositions : undefined,\n ...resolvePositioningShorthand(props.positioning)\n };\n const children = React.Children.toArray(props.children);\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at least one child');\n }\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at most two children');\n }\n }\n let menuTrigger = undefined;\n let menuPopover = undefined;\n if (children.length === 2) {\n menuTrigger = children[0];\n menuPopover = children[1];\n } else if (children.length === 1) {\n menuPopover = children[0];\n }\n const {\n targetRef: triggerRef,\n containerRef: menuPopoverRef\n } = usePositioning(positioningState);\n // TODO Better way to narrow types ?\n const [open, setOpen] = useMenuOpenState({\n hoverDelay,\n isSubmenu,\n setContextTarget,\n closeOnScroll,\n menuPopoverRef,\n triggerRef,\n open: props.open,\n defaultOpen: props.defaultOpen,\n onOpenChange: props.onOpenChange,\n openOnContext\n });\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange\n });\n return {\n inline,\n hoverDelay,\n triggerId,\n isSubmenu,\n openOnHover,\n contextTarget,\n setContextTarget,\n hasCheckmarks,\n hasIcons,\n closeOnScroll,\n menuTrigger,\n menuPopover,\n mountNode,\n triggerRef,\n menuPopoverRef,\n components: {},\n openOnContext,\n open,\n setOpen,\n checkedValues,\n onCheckedValueChange,\n persistOnItemClick\n };\n};\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useMenuSelectableState = props => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: props.checkedValues,\n defaultState: props.defaultCheckedValues,\n initialState: {}\n });\n const onCheckedValueChange = useEventCallback((e, {\n name,\n checkedItems\n }) => {\n var _props_onCheckedValueChange;\n (_props_onCheckedValueChange = props.onCheckedValueChange) === null || _props_onCheckedValueChange === void 0 ? void 0 : _props_onCheckedValueChange.call(props, e, {\n name,\n checkedItems\n });\n setCheckedValues(currentValue => ({\n ...currentValue,\n [name]: checkedItems\n }));\n });\n return [checkedValues, onCheckedValueChange];\n};\nconst useMenuOpenState = state => {\n const {\n targetDocument\n } = useFluent();\n const parentSetOpen = useMenuContext_unstable(context => context.setOpen);\n const onOpenChange = useEventCallback((e, data) => {\n var _state_onOpenChange;\n return (_state_onOpenChange = state.onOpenChange) === null || _state_onOpenChange === void 0 ? void 0 : _state_onOpenChange.call(state, e, data);\n });\n const setOpenTimeout = React.useRef(0);\n const enteringTriggerRef = React.useRef(false);\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false\n });\n const trySetOpen = useEventCallback((e, data) => {\n const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, {\n ...data\n });\n if (data.open && e.type === 'contextmenu') {\n state.setContextTarget(e);\n }\n if (!data.open) {\n state.setContextTarget(undefined);\n }\n if (data.bubble) {\n parentSetOpen(e, {\n ...data\n });\n }\n setOpenState(data.open);\n });\n const setOpen = useEventCallback((e, data) => {\n clearTimeout(setOpenTimeout.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n var _state_triggerRef_current;\n if ((_state_triggerRef_current = state.triggerRef.current) === null || _state_triggerRef_current === void 0 ? void 0 : _state_triggerRef_current.contains(e.target)) {\n enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n }\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeout.current = setTimeout(() => trySetOpen(e, data), state.hoverDelay);\n } else {\n trySetOpen(e, data);\n }\n });\n useOnClickOutside({\n contains: elementContains,\n disabled: !open,\n element: targetDocument,\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(Boolean),\n callback: event => setOpen(event, {\n open: false,\n type: 'clickOutside',\n event\n })\n });\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = state.openOnContext || state.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: event => setOpen(event, {\n open: false,\n type: 'scrollOutside',\n event\n }),\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(Boolean),\n disabled: !open || !closeOnScroll\n });\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: event => {\n // When moving from a menu directly back to its trigger, this handler can close the menu\n // Explicitly check a flag to see if this situation happens\n if (!enteringTriggerRef.current) {\n setOpen(event, {\n open: false,\n type: 'menuMouseEnter',\n event\n });\n }\n },\n disabled: !open,\n refs: [state.menuPopoverRef]\n });\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeout.current);\n };\n }, []);\n // Manage focus for open state\n const {\n findFirstFocusable\n } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }, [findFirstFocusable, state.menuPopoverRef]);\n const firstMount = useFirstMount();\n React.useEffect(() => {\n if (open) {\n focusFirst();\n } else {\n if (!firstMount) {\n if ((targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement) === (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.body)) {\n var\n // We know that React effects are sync so we focus the trigger here\n // after any event handler (event handlers will update state and re-render).\n // Since the browser only performs the default behaviour for the Tab key once\n // keyboard events have fully bubbled up the window, the browser will move\n // focus to the next tabbable element before/after the trigger if needed.\n // If the Tab key was not pressed, focus will remain on the trigger as expected.\n _state_triggerRef_current;\n (_state_triggerRef_current = state.triggerRef.current) === null || _state_triggerRef_current === void 0 ? void 0 : _state_triggerRef_current.focus();\n }\n }\n }\n // firstMount change should not re-run this effect\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.triggerRef, state.isSubmenu, open, focusFirst, targetDocument, state.menuPopoverRef]);\n return [open, setOpen];\n};\n//# sourceMappingURL=useMenu.js.map"],"names":["useMenu_unstable","submenuFallbackPositions","props","isSubmenu","useIsSubmenu","hoverDelay","inline","hasCheckmarks","hasIcons","closeOnScroll","openOnContext","persistOnItemClick","openOnHover","defaultCheckedValues","mountNode","triggerId","useId","contextTarget","setContextTarget","usePositioningMouseTarget","positioningState","position","align","target","undefined","fallbackPositions","resolvePositioningShorthand","positioning","children","React","Children","toArray","process","env","NODE_ENV","length","console","warn","menuTrigger","menuPopover","targetRef","triggerRef","containerRef","menuPopoverRef","usePositioning","open","setOpen","useMenuOpenState","defaultOpen","onOpenChange","checkedValues","onCheckedValueChange","useMenuSelectableState","components","setCheckedValues","useControllableState","state","defaultState","initialState","useEventCallback","e","name","checkedItems","_props_onCheckedValueChange","call","currentValue","targetDocument","useFluent","parentSetOpen","useMenuContext_unstable","context","data","_state_onOpenChange","setOpenTimeout","useRef","enteringTriggerRef","setOpenState","trySetOpen","event","CustomEvent","type","MENU_ENTER_EVENT","detail","nativeEvent","bubble","clearTimeout","current","Event","persist","_state_triggerRef_current","contains","setTimeout","useOnClickOutside","elementContains","disabled","element","refs","filter","Boolean","callback","useOnScrollOutside","useOnMenuMouseEnter","useEffect","findFirstFocusable","useFocusFinders","focusFirst","useCallback","firstFocusable","focus","firstMount","useFirstMount","activeElement","body"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Menu/useMenu.js"],"sourcesContent":["import * as React from 'react';\nimport { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from '@fluentui/react-positioning';\nimport { useControllableState, useId, useOnClickOutside, useEventCallback, useOnScrollOutside, useFirstMount } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\n// If it's not possible to position the submenu in smaller viewports, try\n// and fallback to this order of positions\nconst submenuFallbackPositions = [\n 'after',\n 'after-bottom',\n 'before-top',\n 'before',\n 'before-bottom',\n 'above'\n];\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */ export const useMenu_unstable = (props)=>{\n const isSubmenu = useIsSubmenu();\n const { hoverDelay =500 , inline =false , hasCheckmarks =false , hasIcons =false , closeOnScroll =false , openOnContext =false , persistOnItemClick =false , openOnHover =isSubmenu , defaultCheckedValues , mountNode =null } = props;\n const triggerId = useId('menu');\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const positioningState = {\n position: isSubmenu ? 'after' : 'below',\n align: isSubmenu ? 'top' : 'start',\n target: props.openOnContext ? contextTarget : undefined,\n fallbackPositions: isSubmenu ? submenuFallbackPositions : undefined,\n ...resolvePositioningShorthand(props.positioning)\n };\n const children = React.Children.toArray(props.children);\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at least one child');\n }\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at most two children');\n }\n }\n let menuTrigger = undefined;\n let menuPopover = undefined;\n if (children.length === 2) {\n menuTrigger = children[0];\n menuPopover = children[1];\n } else if (children.length === 1) {\n menuPopover = children[0];\n }\n const { targetRef: triggerRef , containerRef: menuPopoverRef } = usePositioning(positioningState);\n // TODO Better way to narrow types ?\n const [open, setOpen] = useMenuOpenState({\n hoverDelay,\n isSubmenu,\n setContextTarget,\n closeOnScroll,\n menuPopoverRef,\n triggerRef,\n open: props.open,\n defaultOpen: props.defaultOpen,\n onOpenChange: props.onOpenChange,\n openOnContext\n });\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange\n });\n return {\n inline,\n hoverDelay,\n triggerId,\n isSubmenu,\n openOnHover,\n contextTarget,\n setContextTarget,\n hasCheckmarks,\n hasIcons,\n closeOnScroll,\n menuTrigger,\n menuPopover,\n mountNode,\n triggerRef,\n menuPopoverRef,\n components: {},\n openOnContext,\n open,\n setOpen,\n checkedValues,\n onCheckedValueChange,\n persistOnItemClick\n };\n};\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */ const useMenuSelectableState = (props)=>{\n const [checkedValues, setCheckedValues] = useControllableState({\n state: props.checkedValues,\n defaultState: props.defaultCheckedValues,\n initialState: {}\n });\n const onCheckedValueChange = useEventCallback((e, { name , checkedItems })=>{\n var _props_onCheckedValueChange;\n (_props_onCheckedValueChange = props.onCheckedValueChange) === null || _props_onCheckedValueChange === void 0 ? void 0 : _props_onCheckedValueChange.call(props, e, {\n name,\n checkedItems\n });\n setCheckedValues((currentValue)=>({\n ...currentValue,\n [name]: checkedItems\n }));\n });\n return [\n checkedValues,\n onCheckedValueChange\n ];\n};\nconst useMenuOpenState = (state)=>{\n const { targetDocument } = useFluent();\n const parentSetOpen = useMenuContext_unstable((context)=>context.setOpen);\n const onOpenChange = useEventCallback((e, data)=>{\n var _state_onOpenChange;\n return (_state_onOpenChange = state.onOpenChange) === null || _state_onOpenChange === void 0 ? void 0 : _state_onOpenChange.call(state, e, data);\n });\n const setOpenTimeout = React.useRef(0);\n const enteringTriggerRef = React.useRef(false);\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false\n });\n const trySetOpen = useEventCallback((e, data)=>{\n const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, {\n ...data\n });\n if (data.open && e.type === 'contextmenu') {\n state.setContextTarget(e);\n }\n if (!data.open) {\n state.setContextTarget(undefined);\n }\n if (data.bubble) {\n parentSetOpen(e, {\n ...data\n });\n }\n setOpenState(data.open);\n });\n const setOpen = useEventCallback((e, data)=>{\n clearTimeout(setOpenTimeout.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n var _state_triggerRef_current;\n if ((_state_triggerRef_current = state.triggerRef.current) === null || _state_triggerRef_current === void 0 ? void 0 : _state_triggerRef_current.contains(e.target)) {\n enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n }\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeout.current = setTimeout(()=>trySetOpen(e, data), state.hoverDelay);\n } else {\n trySetOpen(e, data);\n }\n });\n useOnClickOutside({\n contains: elementContains,\n disabled: !open,\n element: targetDocument,\n refs: [\n state.menuPopoverRef,\n !state.openOnContext && state.triggerRef\n ].filter(Boolean),\n callback: (event)=>setOpen(event, {\n open: false,\n type: 'clickOutside',\n event\n })\n });\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = state.openOnContext || state.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: (event)=>setOpen(event, {\n open: false,\n type: 'scrollOutside',\n event\n }),\n refs: [\n state.menuPopoverRef,\n !state.openOnContext && state.triggerRef\n ].filter(Boolean),\n disabled: !open || !closeOnScroll\n });\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: (event)=>{\n // When moving from a menu directly back to its trigger, this handler can close the menu\n // Explicitly check a flag to see if this situation happens\n if (!enteringTriggerRef.current) {\n setOpen(event, {\n open: false,\n type: 'menuMouseEnter',\n event\n });\n }\n },\n disabled: !open,\n refs: [\n state.menuPopoverRef\n ]\n });\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(()=>{\n return ()=>{\n clearTimeout(setOpenTimeout.current);\n };\n }, []);\n // Manage focus for open state\n const { findFirstFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(()=>{\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }, [\n findFirstFocusable,\n state.menuPopoverRef\n ]);\n const firstMount = useFirstMount();\n React.useEffect(()=>{\n if (open) {\n focusFirst();\n } else {\n if (!firstMount) {\n if ((targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement) === (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.body)) {\n var // We know that React effects are sync so we focus the trigger here\n // after any event handler (event handlers will update state and re-render).\n // Since the browser only performs the default behaviour for the Tab key once\n // keyboard events have fully bubbled up the window, the browser will move\n // focus to the next tabbable element before/after the trigger if needed.\n // If the Tab key was not pressed, focus will remain on the trigger as expected.\n _state_triggerRef_current;\n (_state_triggerRef_current = state.triggerRef.current) === null || _state_triggerRef_current === void 0 ? void 0 : _state_triggerRef_current.focus();\n }\n }\n }\n // firstMount change should not re-run this effect\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n state.triggerRef,\n state.isSubmenu,\n open,\n focusFirst,\n targetDocument,\n state.menuPopoverRef\n ]);\n return [\n open,\n setOpen\n ];\n};\n\n//# sourceMappingURL=useMenu.js.map"],"names":["useMenu_unstable","submenuFallbackPositions","props","isSubmenu","useIsSubmenu","hoverDelay","inline","hasCheckmarks","hasIcons","closeOnScroll","openOnContext","persistOnItemClick","openOnHover","defaultCheckedValues","mountNode","triggerId","useId","contextTarget","setContextTarget","usePositioningMouseTarget","positioningState","position","align","target","undefined","fallbackPositions","resolvePositioningShorthand","positioning","children","React","Children","toArray","process","env","NODE_ENV","length","console","warn","menuTrigger","menuPopover","targetRef","triggerRef","containerRef","menuPopoverRef","usePositioning","open","setOpen","useMenuOpenState","defaultOpen","onOpenChange","checkedValues","onCheckedValueChange","useMenuSelectableState","components","setCheckedValues","useControllableState","state","defaultState","initialState","useEventCallback","e","name","checkedItems","_props_onCheckedValueChange","call","currentValue","targetDocument","useFluent","parentSetOpen","useMenuContext_unstable","context","data","_state_onOpenChange","setOpenTimeout","useRef","enteringTriggerRef","setOpenState","trySetOpen","event","CustomEvent","type","MENU_ENTER_EVENT","detail","nativeEvent","bubble","clearTimeout","current","Event","persist","_state_triggerRef_current","contains","setTimeout","useOnClickOutside","elementContains","disabled","element","refs","filter","Boolean","callback","useOnScrollOutside","useOnMenuMouseEnter","useEffect","findFirstFocusable","useFocusFinders","focusFirst","useCallback","firstFocusable","focus","firstMount","useFirstMount","activeElement","body"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/Menu/useMenuContextValues.js"],"sourcesContent":["export function useMenuContextValues_unstable(state) {\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Menu/useMenuContextValues.js"],"sourcesContent":["export function useMenuContextValues_unstable(state) {\n const { checkedValues , hasCheckmarks , hasIcons , inline , isSubmenu , menuPopoverRef , mountNode , onCheckedValueChange , open , openOnContext , openOnHover , persistOnItemClick , setOpen , triggerId , triggerRef } = state;\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menu = {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n mountNode,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef\n };\n return {\n menu\n };\n}\n\n//# sourceMappingURL=useMenuContextValues.js.map"],"names":["useMenuContextValues_unstable","state","checkedValues","hasCheckmarks","hasIcons","inline","isSubmenu","menuPopoverRef","mountNode","onCheckedValueChange","open","openOnContext","openOnHover","persistOnItemClick","setOpen","triggerId","triggerRef","menu"],"mappings":";;;;+BAAgBA;;aAAAA;;AAAT,SAASA,8BAA8BC,KAAK,EAAE;IACjD,MAAM,EAAEC,cAAa,EAAGC,cAAa,EAAGC,SAAQ,EAAGC,OAAM,EAAGC,UAAS,EAAGC,eAAc,EAAGC,UAAS,EAAGC,qBAAoB,EAAGC,KAAI,EAAGC,cAAa,EAAGC,YAAW,EAAGC,mBAAkB,EAAGC,QAAO,EAAGC,UAAS,EAAGC,WAAU,EAAG,GAAGf;IAC5N,mGAAmG;IACnG,MAAMgB,OAAO;QACTf;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACJ;IACA,OAAO;QACHC;IACJ;AACJ,EAEA,gDAAgD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuDivider/MenuDivider.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuDivider_unstable } from './useMenuDivider';\nimport { useMenuDividerStyles_unstable } from './useMenuDividerStyles.styles';\nimport { renderMenuDivider_unstable } from './renderMenuDivider';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuDivider/MenuDivider.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuDivider_unstable } from './useMenuDivider';\nimport { useMenuDividerStyles_unstable } from './useMenuDividerStyles.styles';\nimport { renderMenuDivider_unstable } from './renderMenuDivider';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.\n */ export const MenuDivider = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMenuDivider_unstable(props, ref);\n useMenuDividerStyles_unstable(state);\n useCustomStyleHook_unstable('useMenuDividerStyles_unstable')(state);\n return renderMenuDivider_unstable(state);\n});\nMenuDivider.displayName = 'MenuDivider';\n\n//# sourceMappingURL=MenuDivider.js.map"],"names":["MenuDivider","React","forwardRef","props","ref","state","useMenuDivider_unstable","useMenuDividerStyles_unstable","useCustomStyleHook_unstable","renderMenuDivider_unstable","displayName"],"mappings":";;;;+BAOiBA;;aAAAA;;;6DAPM;gCACiB;4CACM;mCACH;qCACC;AAGjC,MAAMA,cAAc,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACxE,MAAMC,QAAQC,IAAAA,uCAAuB,EAACH,OAAOC;IAC7CG,IAAAA,yDAA6B,EAACF;IAC9BG,IAAAA,gDAA2B,EAAC,iCAAiCH;IAC7D,OAAOI,IAAAA,6CAA0B,EAACJ;AACtC;AACAL,YAAYU,WAAW,GAAG,eAE1B,uCAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuDivider/MenuDivider.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=MenuDivider.types.js.map"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuDivider/MenuDivider.types.js"],"sourcesContent":["export { };\n\n//# sourceMappingURL=MenuDivider.types.js.map"],"names":[],"mappings":";;;;CAEA,6CAA6C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuDivider/index.js"],"sourcesContent":["export * from './MenuDivider.types';\nexport * from './MenuDivider';\nexport * from './renderMenuDivider';\nexport * from './useMenuDivider';\nexport * from './useMenuDividerStyles.styles';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuDivider/index.js"],"sourcesContent":["export * from './MenuDivider.types';\nexport * from './MenuDivider';\nexport * from './renderMenuDivider';\nexport * from './useMenuDivider';\nexport * from './useMenuDividerStyles.styles';\n\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CAEd,iCAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuDivider/renderMenuDivider.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Redefine the render function to add slots. Reuse the menudivider structure but add\n * slots to children.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuDivider/renderMenuDivider.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Redefine the render function to add slots. Reuse the menudivider structure but add\n * slots to children.\n */ export const renderMenuDivider_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root);\n};\n\n//# sourceMappingURL=renderMenuDivider.js.map"],"names":["renderMenuDivider_unstable","state","slots","slotProps","getSlotsNext","createElement","root"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACtD;AAIlB,MAAMA,6BAA6B,CAACC,QAAQ;IACnD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI;AACjE,GAEA,6CAA6C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuDivider/useMenuDivider.js"],"sourcesContent":["import { getNativeElementProps } from '@fluentui/react-utilities';\nimport * as React from 'react';\n/**\n * Given user props, returns state and render function for a MenuDivider.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuDivider/useMenuDivider.js"],"sourcesContent":["import { getNativeElementProps } from '@fluentui/react-utilities';\nimport * as React from 'react';\n/**\n * Given user props, returns state and render function for a MenuDivider.\n */ export const useMenuDivider_unstable = (props, ref)=>{\n return {\n components: {\n root: 'div'\n },\n root: getNativeElementProps('div', {\n role: 'presentation',\n 'aria-hidden': true,\n ...props,\n ref\n })\n };\n};\n\n//# sourceMappingURL=useMenuDivider.js.map"],"names":["useMenuDivider_unstable","props","ref","components","root","getNativeElementProps","role"],"mappings":";;;;+BAIiBA;;aAAAA;;;gCAJqB;6DACf;AAGZ,MAAMA,0BAA0B,CAACC,OAAOC,MAAM;IACrD,OAAO;QACHC,YAAY;YACRC,MAAM;QACV;QACAA,MAAMC,IAAAA,qCAAqB,EAAC,OAAO;YAC/BC,MAAM;YACN,eAAe,IAAI;YACnB,GAAGL,KAAK;YACRC;QACJ;IACJ;AACJ,GAEA,0CAA0C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroup/MenuGroup.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroup_unstable } from './useMenuGroup';\nimport { renderMenuGroup_unstable } from './renderMenuGroup';\nimport { useMenuGroupContextValues_unstable } from './useMenuGroupContextValues';\nimport { useMenuGroupStyles_unstable } from './useMenuGroupStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroup/MenuGroup.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroup_unstable } from './useMenuGroup';\nimport { renderMenuGroup_unstable } from './renderMenuGroup';\nimport { useMenuGroupContextValues_unstable } from './useMenuGroupContextValues';\nimport { useMenuGroupStyles_unstable } from './useMenuGroupStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.\n */ export const MenuGroup = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMenuGroup_unstable(props, ref);\n const contextValues = useMenuGroupContextValues_unstable(state);\n useMenuGroupStyles_unstable(state);\n useCustomStyleHook_unstable('useMenuGroupStyles_unstable')(state);\n return renderMenuGroup_unstable(state, contextValues);\n});\nMenuGroup.displayName = 'MenuGroup';\n\n//# sourceMappingURL=MenuGroup.js.map"],"names":["MenuGroup","React","forwardRef","props","ref","state","useMenuGroup_unstable","contextValues","useMenuGroupContextValues_unstable","useMenuGroupStyles_unstable","useCustomStyleHook_unstable","renderMenuGroup_unstable","displayName"],"mappings":";;;;+BAQiBA;;aAAAA;;;6DARM;8BACe;iCACG;2CACU;0CACP;qCACA;AAGjC,MAAMA,YAAY,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACtE,MAAMC,QAAQC,IAAAA,mCAAqB,EAACH,OAAOC;IAC3C,MAAMG,gBAAgBC,IAAAA,6DAAkC,EAACH;IACzDI,IAAAA,qDAA2B,EAACJ;IAC5BK,IAAAA,gDAA2B,EAAC,+BAA+BL;IAC3D,OAAOM,IAAAA,yCAAwB,EAACN,OAAOE;AAC3C;AACAP,UAAUY,WAAW,GAAG,aAExB,qCAAqC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroup/MenuGroup.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=MenuGroup.types.js.map"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroup/MenuGroup.types.js"],"sourcesContent":["export { };\n\n//# sourceMappingURL=MenuGroup.types.js.map"],"names":[],"mappings":";;;;CAEA,2CAA2C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroup/index.js"],"sourcesContent":["export * from './MenuGroup.types';\nexport * from './MenuGroup';\nexport * from './renderMenuGroup';\nexport * from './useMenuGroup';\nexport * from './useMenuGroupContextValues';\nexport * from './useMenuGroupStyles.styles';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;oBACA;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroup/index.js"],"sourcesContent":["export * from './MenuGroup.types';\nexport * from './MenuGroup';\nexport * from './renderMenuGroup';\nexport * from './useMenuGroup';\nexport * from './useMenuGroupContextValues';\nexport * from './useMenuGroupStyles.styles';\n\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;oBACA;CAEd,iCAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroup/renderMenuGroup.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { MenuGroupContextProvider } from '../../contexts/menuGroupContext';\n/**\n * Redefine the render function to add slots. Reuse the menugroup structure but add\n * slots to children.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroup/renderMenuGroup.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { MenuGroupContextProvider } from '../../contexts/menuGroupContext';\n/**\n * Redefine the render function to add slots. Reuse the menugroup structure but add\n * slots to children.\n */ export const renderMenuGroup_unstable = (state, contextValues)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(MenuGroupContextProvider, {\n value: contextValues.menuGroup\n }, /*#__PURE__*/ createElement(slots.root, slotProps.root));\n};\n\n//# sourceMappingURL=renderMenuGroup.js.map"],"names":["renderMenuGroup_unstable","state","contextValues","slots","slotProps","getSlotsNext","createElement","MenuGroupContextProvider","value","menuGroup","root"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAMjCA;;aAAAA;;iCANkE;gCACtD;kCACY;AAI9B,MAAMA,2BAA2B,CAACC,OAAOC,gBAAgB;IAChE,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACJ;IAC5C,OAAO,WAAW,GAAGK,IAAAA,8BAAa,EAACC,0CAAwB,EAAE;QACzDC,OAAON,cAAcO,SAAS;IAClC,GAAG,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMO,IAAI,EAAEN,UAAUM,IAAI;AAC7D,GAEA,2CAA2C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroup/useMenuGroup.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId } from '@fluentui/react-utilities';\n/**\n * Given user props, returns state and render function for a MenuGroup.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroup/useMenuGroup.js"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId } from '@fluentui/react-utilities';\n/**\n * Given user props, returns state and render function for a MenuGroup.\n */ export function useMenuGroup_unstable(props, ref) {\n const headerId = useId('menu-group');\n return {\n components: {\n root: 'div'\n },\n root: getNativeElementProps('div', {\n ref,\n 'aria-labelledby': headerId,\n role: 'group',\n ...props\n }),\n headerId\n };\n}\n\n//# sourceMappingURL=useMenuGroup.js.map"],"names":["useMenuGroup_unstable","props","ref","headerId","useId","components","root","getNativeElementProps","role"],"mappings":";;;;+BAIoBA;;aAAAA;;;6DAJG;gCACsB;AAGlC,SAASA,sBAAsBC,KAAK,EAAEC,GAAG,EAAE;IAClD,MAAMC,WAAWC,IAAAA,qBAAK,EAAC;IACvB,OAAO;QACHC,YAAY;YACRC,MAAM;QACV;QACAA,MAAMC,IAAAA,qCAAqB,EAAC,OAAO;YAC/BL;YACA,mBAAmBC;YACnBK,MAAM;YACN,GAAGP,KAAK;QACZ;QACAE;IACJ;AACJ,EAEA,wCAAwC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroup/useMenuGroupContextValues.js"],"sourcesContent":["import * as React from 'react';\nexport function useMenuGroupContextValues_unstable(state) {\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroup/useMenuGroupContextValues.js"],"sourcesContent":["import * as React from 'react';\nexport function useMenuGroupContextValues_unstable(state) {\n const { headerId } = state;\n const menuGroup = React.useMemo(()=>({\n headerId\n }), [\n headerId\n ]);\n return {\n menuGroup\n };\n}\n\n//# sourceMappingURL=useMenuGroupContextValues.js.map"],"names":["useMenuGroupContextValues_unstable","state","headerId","menuGroup","React","useMemo"],"mappings":";;;;+BACgBA;;aAAAA;;;6DADO;AAChB,SAASA,mCAAmCC,KAAK,EAAE;IACtD,MAAM,EAAEC,SAAQ,EAAG,GAAGD;IACtB,MAAME,YAAYC,OAAMC,OAAO,CAAC,IAAK,CAAA;YAC7BH;QACJ,CAAA,GAAI;QACJA;KACH;IACD,OAAO;QACHC;IACJ;AACJ,EAEA,qDAAqD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/MenuGroupHeader.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroupHeader_unstable } from './useMenuGroupHeader';\nimport { useMenuGroupHeaderStyles_unstable } from './useMenuGroupHeaderStyles.styles';\nimport { renderMenuGroupHeader_unstable } from './renderMenuGroupHeader';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuGroupHeader, using the `useMenuGroupHeader_unstable` hook.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/MenuGroupHeader.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroupHeader_unstable } from './useMenuGroupHeader';\nimport { useMenuGroupHeaderStyles_unstable } from './useMenuGroupHeaderStyles.styles';\nimport { renderMenuGroupHeader_unstable } from './renderMenuGroupHeader';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuGroupHeader, using the `useMenuGroupHeader_unstable` hook.\n */ export const MenuGroupHeader = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMenuGroupHeader_unstable(props, ref);\n useMenuGroupHeaderStyles_unstable(state);\n useCustomStyleHook_unstable('useMenuGroupHeaderStyles_unstable')(state);\n return renderMenuGroupHeader_unstable(state);\n});\nMenuGroupHeader.displayName = 'MenuGroupHeader';\n\n//# sourceMappingURL=MenuGroupHeader.js.map"],"names":["MenuGroupHeader","React","forwardRef","props","ref","state","useMenuGroupHeader_unstable","useMenuGroupHeaderStyles_unstable","useCustomStyleHook_unstable","renderMenuGroupHeader_unstable","displayName"],"mappings":";;;;+BAOiBA;;aAAAA;;;6DAPM;oCACqB;gDACM;uCACH;qCACH;AAGjC,MAAMA,kBAAkB,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IAC5E,MAAMC,QAAQC,IAAAA,+CAA2B,EAACH,OAAOC;IACjDG,IAAAA,iEAAiC,EAACF;IAClCG,IAAAA,gDAA2B,EAAC,qCAAqCH;IACjE,OAAOI,IAAAA,qDAA8B,EAACJ;AAC1C;AACAL,gBAAgBU,WAAW,GAAG,mBAE9B,2CAA2C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/MenuGroupHeader.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=MenuGroupHeader.types.js.map"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/MenuGroupHeader.types.js"],"sourcesContent":["export { };\n\n//# sourceMappingURL=MenuGroupHeader.types.js.map"],"names":[],"mappings":";;;;CAEA,iDAAiD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/index.js"],"sourcesContent":["export * from './MenuGroupHeader.types';\nexport * from './MenuGroupHeader';\nexport * from './renderMenuGroupHeader';\nexport * from './useMenuGroupHeader';\nexport * from './useMenuGroupHeaderStyles.styles';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/index.js"],"sourcesContent":["export * from './MenuGroupHeader.types';\nexport * from './MenuGroupHeader';\nexport * from './renderMenuGroupHeader';\nexport * from './useMenuGroupHeader';\nexport * from './useMenuGroupHeaderStyles.styles';\n\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CAEd,iCAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/renderMenuGroupHeader.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Redefine the render function to add slots. Reuse the menugroupheader structure but add\n * slots to children.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/renderMenuGroupHeader.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Redefine the render function to add slots. Reuse the menugroupheader structure but add\n * slots to children.\n */ export const renderMenuGroupHeader_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root);\n};\n\n//# sourceMappingURL=renderMenuGroupHeader.js.map"],"names":["renderMenuGroupHeader_unstable","state","slots","slotProps","getSlotsNext","createElement","root"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAKjCA;;aAAAA;;iCALkE;gCACtD;AAIlB,MAAMA,iCAAiC,CAACC,QAAQ;IACvD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI;AACjE,GAEA,iDAAiD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/useMenuGroupHeader.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroupContext_unstable } from '../../contexts/menuGroupContext';\nimport { getNativeElementProps } from '@fluentui/react-utilities';\n/**\n * Given user props, returns state and render function for a MenuGroupHeader.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuGroupHeader/useMenuGroupHeader.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroupContext_unstable } from '../../contexts/menuGroupContext';\nimport { getNativeElementProps } from '@fluentui/react-utilities';\n/**\n * Given user props, returns state and render function for a MenuGroupHeader.\n */ export function useMenuGroupHeader_unstable(props, ref) {\n const { headerId: id } = useMenuGroupContext_unstable();\n return {\n components: {\n root: 'div'\n },\n root: getNativeElementProps('div', {\n ref,\n id,\n ...props\n })\n };\n}\n\n//# sourceMappingURL=useMenuGroupHeader.js.map"],"names":["useMenuGroupHeader_unstable","props","ref","headerId","id","useMenuGroupContext_unstable","components","root","getNativeElementProps"],"mappings":";;;;+BAKoBA;;aAAAA;;;6DALG;kCACsB;gCACP;AAG3B,SAASA,4BAA4BC,KAAK,EAAEC,GAAG,EAAE;IACxD,MAAM,EAAEC,UAAUC,GAAE,EAAG,GAAGC,IAAAA,8CAA4B;IACtD,OAAO;QACHC,YAAY;YACRC,MAAM;QACV;QACAA,MAAMC,IAAAA,qCAAqB,EAAC,OAAO;YAC/BN;YACAE;YACA,GAAGH,KAAK;QACZ;IACJ;AACJ,EAEA,8CAA8C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuItem/MenuItem.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuItem_unstable } from './useMenuItem';\nimport { renderMenuItem_unstable } from './renderMenuItem';\nimport { useMenuItemStyles_unstable } from './useMenuItemStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuItem, using the `useMenuItem_unstable` and `useMenuItemStyles_unstable` hook.\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuItem/MenuItem.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuItem_unstable } from './useMenuItem';\nimport { renderMenuItem_unstable } from './renderMenuItem';\nimport { useMenuItemStyles_unstable } from './useMenuItemStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuItem, using the `useMenuItem_unstable` and `useMenuItemStyles_unstable` hook.\n */ export const MenuItem = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useMenuItem_unstable(props, ref);\n useMenuItemStyles_unstable(state);\n useCustomStyleHook_unstable('useMenuItemStyles_unstable')(state);\n return renderMenuItem_unstable(state);\n});\nMenuItem.displayName = 'MenuItem';\n\n//# sourceMappingURL=MenuItem.js.map"],"names":["MenuItem","React","forwardRef","props","ref","state","useMenuItem_unstable","useMenuItemStyles_unstable","useCustomStyleHook_unstable","renderMenuItem_unstable","displayName"],"mappings":";;;;+BAOiBA;;aAAAA;;;6DAPM;6BACc;gCACG;yCACG;qCACC;AAGjC,MAAMA,WAAW,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACrE,MAAMC,QAAQC,IAAAA,iCAAoB,EAACH,OAAOC;IAC1CG,IAAAA,mDAA0B,EAACF;IAC3BG,IAAAA,gDAA2B,EAAC,8BAA8BH;IAC1D,OAAOI,IAAAA,uCAAuB,EAACJ;AACnC;AACAL,SAASU,WAAW,GAAG,YAEvB,oCAAoC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuItem/MenuItem.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=MenuItem.types.js.map"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuItem/MenuItem.types.js"],"sourcesContent":["export { };\n\n//# sourceMappingURL=MenuItem.types.js.map"],"names":[],"mappings":";;;;CAEA,0CAA0C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuItem/index.js"],"sourcesContent":["export * from './MenuItem';\nexport * from './MenuItem.types';\nexport * from './renderMenuItem';\nexport * from './useMenuItem';\nexport * from './useMenuItemStyles.styles';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuItem/index.js"],"sourcesContent":["export * from './MenuItem';\nexport * from './MenuItem.types';\nexport * from './renderMenuItem';\nexport * from './useMenuItem';\nexport * from './useMenuItemStyles.styles';\n\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CAEd,iCAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuItem/renderMenuItem.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Function that renders the final JSX of the component\n
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuItem/renderMenuItem.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuItem_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/ createElement(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/ createElement(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/ createElement(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/ createElement(slots.secondaryContent, slotProps.secondaryContent), slots.submenuIndicator && /*#__PURE__*/ createElement(slots.submenuIndicator, slotProps.submenuIndicator));\n};\n\n//# sourceMappingURL=renderMenuItem.js.map"],"names":["renderMenuItem_unstable","state","slots","slotProps","getSlotsNext","createElement","root","checkmark","icon","content","secondaryContent","submenuIndicator"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACtD;AAGlB,MAAMA,0BAA0B,CAACC,QAAQ;IAChD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI,EAAEJ,MAAMK,SAAS,IAAI,WAAW,GAAGF,IAAAA,8BAAa,EAACH,MAAMK,SAAS,EAAEJ,UAAUI,SAAS,GAAGL,MAAMM,IAAI,IAAI,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMM,IAAI,EAAEL,UAAUK,IAAI,GAAGN,MAAMO,OAAO,IAAI,WAAW,GAAGJ,IAAAA,8BAAa,EAACH,MAAMO,OAAO,EAAEN,UAAUM,OAAO,GAAGP,MAAMQ,gBAAgB,IAAI,WAAW,GAAGL,IAAAA,8BAAa,EAACH,MAAMQ,gBAAgB,EAAEP,UAAUO,gBAAgB,GAAGR,MAAMS,gBAAgB,IAAI,WAAW,GAAGN,IAAAA,8BAAa,EAACH,MAAMS,gBAAgB,EAAER,UAAUQ,gBAAgB;AACngB,GAEA,0CAA0C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/components/MenuItem/useCharacterSearch.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nexport const useCharacterSearch = (state, ref)
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/MenuItem/useCharacterSearch.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nexport const useCharacterSearch = (state, ref)=>{\n const setFocusByFirstCharacter = useMenuListContext_unstable((context)=>context.setFocusByFirstCharacter);\n const { onKeyDown: originalOnKeyDown } = state.root;\n state.root.onKeyDown = (e)=>{\n var _e_key;\n originalOnKeyDown === null || originalOnKeyDown === void 0 ? void 0 : originalOnKeyDown(e);\n if (((_e_key = e.key) === null || _e_key === void 0 ? void 0 : _e_key.length) > 1) {\n return;\n }\n if (ref.current) {\n setFocusByFirstCharacter === null || setFocusByFirstCharacter === void 0 ? void 0 : setFocusByFirstCharacter(e, ref.current);\n }\n };\n return state;\n};\n\n//# sourceMappingURL=useCharacterSearch.js.map"],"names":["useCharacterSearch","state","ref","setFocusByFirstCharacter","useMenuListContext_unstable","context","onKeyDown","originalOnKeyDown","root","e","_e_key","key","length","current"],"mappings":";;;;+BAEaA;;aAAAA;;;6DAFU;iCACqB;AACrC,MAAMA,qBAAqB,CAACC,OAAOC,MAAM;IAC5C,MAAMC,2BAA2BC,IAAAA,4CAA2B,EAAC,CAACC,UAAUA,QAAQF,wBAAwB;IACxG,MAAM,EAAEG,WAAWC,kBAAiB,EAAG,GAAGN,MAAMO,IAAI;IACpDP,MAAMO,IAAI,CAACF,SAAS,GAAG,CAACG,IAAI;QACxB,IAAIC;QACJH,sBAAsB,IAAI,IAAIA,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBE,EAAE;QAC1F,IAAI,AAAC,CAAA,AAACC,CAAAA,SAASD,EAAEE,GAAG,AAAD,MAAO,IAAI,IAAID,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOE,MAAM,AAAD,IAAK,GAAG;YAC/E;QACJ,CAAC;QACD,IAAIV,IAAIW,OAAO,EAAE;YACbV,6BAA6B,IAAI,IAAIA,6BAA6B,KAAK,IAAI,KAAK,IAAIA,yBAAyBM,GAAGP,IAAIW,OAAO,CAAC;QAChI,CAAC;IACL;IACA,OAAOZ;AACX,GAEA,8CAA8C"}
|
|
@@ -17,8 +17,8 @@ const _menuListContext = require("../../contexts/menuListContext");
|
|
|
17
17
|
const _menuContext = require("../../contexts/menuContext");
|
|
18
18
|
const _reactAria = require("@fluentui/react-aria");
|
|
19
19
|
const _keyboardKeys = require("@fluentui/keyboard-keys");
|
|
20
|
-
const ChevronRightIcon =
|
|
21
|
-
const ChevronLeftIcon =
|
|
20
|
+
const ChevronRightIcon = (0, _reactIcons.bundleIcon)(_reactIcons.ChevronRightFilled, _reactIcons.ChevronRightRegular);
|
|
21
|
+
const ChevronLeftIcon = (0, _reactIcons.bundleIcon)(_reactIcons.ChevronLeftFilled, _reactIcons.ChevronLeftRegular);
|
|
22
22
|
const useMenuItem_unstable = (props, ref)=>{
|
|
23
23
|
const isSubmenuTrigger = (0, _menuTriggerContext.useMenuTriggerContext_unstable)();
|
|
24
24
|
const persistOnClickContext = (0, _menuContext.useMenuContext_unstable)((context)=>context.persistOnItemClick);
|