@fluentui/react-menu 0.0.0-nightlyd3bf09bf8120211201.1 → 0.0.0-nightlyd514b3e0ee20220121.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.json +142 -26
- package/CHANGELOG.md +31 -16
- package/Spec.md +21 -16
- package/dist/react-menu.d.ts +54 -12
- package/lib/MenuSplitGroup.d.ts +1 -0
- package/lib/MenuSplitGroup.js +2 -0
- package/lib/MenuSplitGroup.js.map +1 -0
- package/lib/components/Menu/useMenu.js +29 -21
- package/lib/components/Menu/useMenu.js.map +1 -1
- package/lib/components/MenuDivider/renderMenuDivider.js +2 -1
- package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDivider.js +3 -0
- package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
- package/lib/components/MenuDivider/useMenuDividerStyles.js +1 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
- package/lib/components/MenuGroup/renderMenuGroup.js +2 -1
- package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
- package/lib/components/MenuGroup/useMenuGroup.js +3 -0
- package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +2 -1
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +3 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +1 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.js +0 -2
- package/lib/components/MenuItem/MenuItem.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.types.d.ts +1 -1
- package/lib/components/MenuItem/renderMenuItem.js +8 -3
- package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
- package/lib/components/MenuItem/useMenuItem.d.ts +1 -5
- package/lib/components/MenuItem/useMenuItem.js +3 -8
- package/lib/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib/components/MenuItem/useMenuItemStyles.js +19 -20
- package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +7 -3
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js +7 -3
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
- package/lib/components/MenuList/renderMenuList.js +2 -1
- package/lib/components/MenuList/renderMenuList.js.map +1 -1
- package/lib/components/MenuList/useMenuList.js +3 -0
- package/lib/components/MenuList/useMenuList.js.map +1 -1
- package/lib/components/MenuPopover/renderMenuPopover.js +4 -2
- package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopover.js +3 -0
- package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopoverStyles.js +1 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
- package/lib/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js +15 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +13 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
- package/lib/components/MenuSplitGroup/index.d.ts +5 -0
- package/lib/components/MenuSplitGroup/index.js +6 -0
- package/lib/components/MenuSplitGroup/index.js.map +1 -0
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +15 -0
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +67 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +35 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
- package/lib/components/MenuTrigger/MenuTrigger.d.ts +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.js +4 -3
- package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +5 -2
- package/lib/components/MenuTrigger/useMenuTrigger.d.ts +2 -1
- package/lib/components/MenuTrigger/useMenuTrigger.js +177 -5
- package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib/index.d.ts +11 -10
- package/lib/index.js +11 -10
- package/lib/index.js.map +1 -1
- package/lib/utils/useOnMenuEnter.js.map +1 -1
- package/lib-commonjs/MenuSplitGroup.d.ts +1 -0
- package/lib-commonjs/MenuSplitGroup.js +10 -0
- package/lib-commonjs/MenuSplitGroup.js.map +1 -0
- package/lib-commonjs/components/Menu/useMenu.js +33 -26
- package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +2 -1
- package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDivider.js +3 -0
- package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +2 -0
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +2 -1
- package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
- package/lib-commonjs/components/MenuGroup/useMenuGroup.js +3 -0
- package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +2 -1
- package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +3 -0
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +2 -0
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
- package/lib-commonjs/components/MenuItem/MenuItem.js +0 -3
- package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +1 -1
- package/lib-commonjs/components/MenuItem/renderMenuItem.js +8 -4
- package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +1 -5
- package/lib-commonjs/components/MenuItem/useMenuItem.js +5 -10
- package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +21 -20
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
- package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +7 -4
- package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +7 -4
- package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
- package/lib-commonjs/components/MenuList/renderMenuList.js +2 -1
- package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
- package/lib-commonjs/components/MenuList/useMenuList.js +3 -0
- package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +4 -2
- package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopover.js +3 -0
- package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +2 -0
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +26 -0
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +13 -0
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +6 -0
- package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
- package/lib-commonjs/components/MenuSplitGroup/index.d.ts +5 -0
- package/lib-commonjs/components/MenuSplitGroup/index.js +18 -0
- package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -0
- package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
- package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +26 -0
- package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +81 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +47 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +1 -1
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +5 -5
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +5 -2
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +2 -1
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +184 -5
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib-commonjs/index.d.ts +11 -10
- package/lib-commonjs/index.js +16 -14
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
- package/package.json +15 -15
- package/lib/components/MenuTrigger/useTriggerElement.d.ts +0 -5
- package/lib/components/MenuTrigger/useTriggerElement.js +0 -165
- package/lib/components/MenuTrigger/useTriggerElement.js.map +0 -1
- package/lib-commonjs/components/MenuTrigger/useTriggerElement.d.ts +0 -5
- package/lib-commonjs/components/MenuTrigger/useTriggerElement.js +0 -180
- package/lib-commonjs/components/MenuTrigger/useTriggerElement.js.map +0 -1
@@ -5,7 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useMenuTrigger = void 0;
|
7
7
|
|
8
|
-
const
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
|
+
|
10
|
+
const menuContext_1 = /*#__PURE__*/require("../../contexts/menuContext");
|
11
|
+
|
12
|
+
const useIsSubmenu_1 = /*#__PURE__*/require("../../utils/useIsSubmenu");
|
13
|
+
|
14
|
+
const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
|
15
|
+
|
16
|
+
const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
|
17
|
+
|
18
|
+
const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
|
19
|
+
|
20
|
+
const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
|
21
|
+
|
22
|
+
const react_utilities_2 = /*#__PURE__*/require("@fluentui/react-utilities");
|
9
23
|
/**
|
10
24
|
* Create the state required to render MenuTrigger.
|
11
25
|
* Clones the only child component and adds necessary event handling behaviours to open a popup menu
|
@@ -14,12 +28,177 @@ const useTriggerElement_1 = /*#__PURE__*/require("./useTriggerElement");
|
|
14
28
|
*/
|
15
29
|
|
16
30
|
|
17
|
-
const useMenuTrigger = props => {
|
18
|
-
|
19
|
-
|
31
|
+
const useMenuTrigger = (props, ref) => {
|
32
|
+
var _a;
|
33
|
+
|
34
|
+
const {
|
35
|
+
children,
|
36
|
+
...rest
|
37
|
+
} = props;
|
38
|
+
const triggerRef = menuContext_1.useMenuContext(context => context.triggerRef);
|
39
|
+
const menuPopoverRef = menuContext_1.useMenuContext(context => context.menuPopoverRef);
|
40
|
+
const setOpen = menuContext_1.useMenuContext(context => context.setOpen);
|
41
|
+
const open = menuContext_1.useMenuContext(context => context.open);
|
42
|
+
const triggerId = menuContext_1.useMenuContext(context => context.triggerId);
|
43
|
+
const openOnHover = menuContext_1.useMenuContext(context => context.openOnHover);
|
44
|
+
const openOnContext = menuContext_1.useMenuContext(context => context.openOnContext);
|
45
|
+
const isSubmenu = useIsSubmenu_1.useIsSubmenu();
|
46
|
+
const {
|
47
|
+
findFirstFocusable
|
48
|
+
} = react_tabster_1.useFocusFinders();
|
49
|
+
const focusFirst = React.useCallback(() => {
|
50
|
+
const firstFocusable = findFirstFocusable(menuPopoverRef.current);
|
51
|
+
firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
|
52
|
+
}, [findFirstFocusable, menuPopoverRef]);
|
53
|
+
const openedWithKeyboardRef = React.useRef(false);
|
54
|
+
const hasMouseMoved = React.useRef(false);
|
55
|
+
const {
|
56
|
+
dir
|
57
|
+
} = react_shared_contexts_1.useFluent();
|
58
|
+
const OpenArrowKey = dir === 'ltr' ? keyboard_keys_1.ArrowRight : keyboard_keys_1.ArrowLeft;
|
59
|
+
const child = React.isValidElement(children) ? react_utilities_1.onlyChild(children) : undefined;
|
60
|
+
|
61
|
+
const onContextMenu = e => {
|
62
|
+
if (isTargetDisabled(e)) {
|
63
|
+
return;
|
64
|
+
}
|
65
|
+
|
66
|
+
if (openOnContext) {
|
67
|
+
e.preventDefault();
|
68
|
+
setOpen(e, {
|
69
|
+
open: true,
|
70
|
+
keyboard: false
|
71
|
+
});
|
72
|
+
}
|
73
|
+
};
|
74
|
+
|
75
|
+
const onClick = e => {
|
76
|
+
if (isTargetDisabled(e)) {
|
77
|
+
return;
|
78
|
+
}
|
79
|
+
|
80
|
+
if (!openOnContext) {
|
81
|
+
setOpen(e, {
|
82
|
+
open: !open,
|
83
|
+
keyboard: openedWithKeyboardRef.current
|
84
|
+
});
|
85
|
+
openedWithKeyboardRef.current = false;
|
86
|
+
}
|
87
|
+
};
|
88
|
+
|
89
|
+
const onKeyDown = e => {
|
90
|
+
var _a;
|
91
|
+
|
92
|
+
if (isTargetDisabled(e)) {
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
|
96
|
+
if (react_utilities_2.shouldPreventDefaultOnKeyDown(e)) {
|
97
|
+
e.preventDefault();
|
98
|
+
openedWithKeyboardRef.current = true;
|
99
|
+
(_a = e.target) === null || _a === void 0 ? void 0 : _a.click();
|
100
|
+
}
|
101
|
+
|
102
|
+
const key = e.key;
|
103
|
+
|
104
|
+
if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === keyboard_keys_1.ArrowDown)) {
|
105
|
+
setOpen(e, {
|
106
|
+
open: true,
|
107
|
+
keyboard: true
|
108
|
+
});
|
109
|
+
}
|
20
110
|
|
21
|
-
|
111
|
+
if (key === keyboard_keys_1.Escape && !isSubmenu) {
|
112
|
+
setOpen(e, {
|
113
|
+
open: false,
|
114
|
+
keyboard: true
|
115
|
+
});
|
116
|
+
} // if menu is already open, can't rely on effects to focus
|
117
|
+
|
118
|
+
|
119
|
+
if (open && key === OpenArrowKey && isSubmenu) {
|
120
|
+
focusFirst();
|
121
|
+
}
|
122
|
+
};
|
123
|
+
|
124
|
+
const onMouseEnter = e => {
|
125
|
+
if (isTargetDisabled(e)) {
|
126
|
+
return;
|
127
|
+
}
|
128
|
+
|
129
|
+
if (openOnHover && hasMouseMoved.current) {
|
130
|
+
setOpen(e, {
|
131
|
+
open: true,
|
132
|
+
keyboard: false
|
133
|
+
});
|
134
|
+
}
|
135
|
+
}; // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
|
136
|
+
// First time open the mouse using mousemove and then continue with mouseenter
|
137
|
+
// Only use once to determine that the user is using the mouse since it is an expensive event to handle
|
138
|
+
|
139
|
+
|
140
|
+
const onMouseMove = e => {
|
141
|
+
if (isTargetDisabled(e)) {
|
142
|
+
return;
|
143
|
+
}
|
144
|
+
|
145
|
+
if (openOnHover && !hasMouseMoved.current) {
|
146
|
+
setOpen(e, {
|
147
|
+
open: true,
|
148
|
+
keyboard: false
|
149
|
+
});
|
150
|
+
hasMouseMoved.current = true;
|
151
|
+
}
|
152
|
+
};
|
153
|
+
|
154
|
+
const onMouseLeave = e => {
|
155
|
+
if (isTargetDisabled(e)) {
|
156
|
+
return;
|
157
|
+
}
|
158
|
+
|
159
|
+
if (openOnHover) {
|
160
|
+
setOpen(e, {
|
161
|
+
open: false,
|
162
|
+
keyboard: false
|
163
|
+
});
|
164
|
+
}
|
165
|
+
};
|
166
|
+
|
167
|
+
const overrideProps = {
|
168
|
+
'aria-haspopup': 'menu',
|
169
|
+
'aria-expanded': open,
|
170
|
+
id: ((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.id) || triggerId,
|
171
|
+
onClick,
|
172
|
+
onMouseEnter,
|
173
|
+
onMouseLeave,
|
174
|
+
onKeyDown,
|
175
|
+
onContextMenu,
|
176
|
+
onMouseMove
|
177
|
+
};
|
178
|
+
|
179
|
+
if (!open && !isSubmenu) {
|
180
|
+
overrideProps['aria-expanded'] = undefined;
|
181
|
+
}
|
182
|
+
|
183
|
+
return {
|
184
|
+
children: react_utilities_1.useTriggerElement({
|
185
|
+
children,
|
186
|
+
ref: react_utilities_1.useMergedRefs(triggerRef, ref),
|
187
|
+
outerProps: rest,
|
188
|
+
overrideProps
|
189
|
+
})
|
190
|
+
};
|
22
191
|
};
|
23
192
|
|
24
193
|
exports.useMenuTrigger = useMenuTrigger;
|
194
|
+
|
195
|
+
const isTargetDisabled = e => {
|
196
|
+
const isDisabled = el => el.hasAttribute('disabled') || el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true';
|
197
|
+
|
198
|
+
if (e.target instanceof HTMLElement && isDisabled(e.target)) {
|
199
|
+
return true;
|
200
|
+
}
|
201
|
+
|
202
|
+
return e.currentTarget instanceof HTMLElement && isDisabled(e.currentTarget);
|
203
|
+
};
|
25
204
|
//# sourceMappingURL=useMenuTrigger.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/components/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,
|
1
|
+
{"version":3,"sources":["../../../src/components/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"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","sourceRoot":""}
|
package/lib-commonjs/index.d.ts
CHANGED
@@ -1,15 +1,16 @@
|
|
1
|
-
export * from './MenuItem';
|
2
|
-
export * from './MenuList';
|
3
|
-
export * from './MenuItemCheckbox';
|
4
|
-
export * from './MenuItemRadio';
|
5
|
-
export * from './MenuDivider';
|
6
|
-
export * from './MenuGroupHeader';
|
7
|
-
export * from './MenuGroup';
|
8
|
-
export * from './selectable/index';
|
9
|
-
export * from './MenuTrigger';
|
10
|
-
export * from './Menu';
|
11
1
|
export * from './contexts/menuContext';
|
12
2
|
export * from './contexts/menuTriggerContext';
|
13
3
|
export * from './contexts/menuGroupContext';
|
14
4
|
export * from './contexts/menuListContext';
|
5
|
+
export * from './Menu';
|
6
|
+
export * from './MenuDivider';
|
7
|
+
export * from './MenuGroup';
|
8
|
+
export * from './MenuGroupHeader';
|
9
|
+
export * from './MenuItem';
|
10
|
+
export * from './MenuItemCheckbox';
|
11
|
+
export * from './MenuItemRadio';
|
12
|
+
export * from './MenuList';
|
15
13
|
export * from './MenuPopover';
|
14
|
+
export * from './MenuSplitGroup';
|
15
|
+
export * from './MenuTrigger';
|
16
|
+
export * from './selectable/index';
|
package/lib-commonjs/index.js
CHANGED
@@ -6,33 +6,35 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
|
7
7
|
const tslib_1 = /*#__PURE__*/require("tslib");
|
8
8
|
|
9
|
-
tslib_1.__exportStar(require("./
|
9
|
+
tslib_1.__exportStar(require("./contexts/menuContext"), exports);
|
10
10
|
|
11
|
-
tslib_1.__exportStar(require("./
|
11
|
+
tslib_1.__exportStar(require("./contexts/menuTriggerContext"), exports);
|
12
12
|
|
13
|
-
tslib_1.__exportStar(require("./
|
13
|
+
tslib_1.__exportStar(require("./contexts/menuGroupContext"), exports);
|
14
14
|
|
15
|
-
tslib_1.__exportStar(require("./
|
15
|
+
tslib_1.__exportStar(require("./contexts/menuListContext"), exports);
|
16
16
|
|
17
|
-
tslib_1.__exportStar(require("./
|
17
|
+
tslib_1.__exportStar(require("./Menu"), exports);
|
18
18
|
|
19
|
-
tslib_1.__exportStar(require("./
|
19
|
+
tslib_1.__exportStar(require("./MenuDivider"), exports);
|
20
20
|
|
21
21
|
tslib_1.__exportStar(require("./MenuGroup"), exports);
|
22
22
|
|
23
|
-
tslib_1.__exportStar(require("./
|
23
|
+
tslib_1.__exportStar(require("./MenuGroupHeader"), exports);
|
24
24
|
|
25
|
-
tslib_1.__exportStar(require("./
|
25
|
+
tslib_1.__exportStar(require("./MenuItem"), exports);
|
26
26
|
|
27
|
-
tslib_1.__exportStar(require("./
|
27
|
+
tslib_1.__exportStar(require("./MenuItemCheckbox"), exports);
|
28
28
|
|
29
|
-
tslib_1.__exportStar(require("./
|
29
|
+
tslib_1.__exportStar(require("./MenuItemRadio"), exports);
|
30
30
|
|
31
|
-
tslib_1.__exportStar(require("./
|
31
|
+
tslib_1.__exportStar(require("./MenuList"), exports);
|
32
32
|
|
33
|
-
tslib_1.__exportStar(require("./
|
33
|
+
tslib_1.__exportStar(require("./MenuPopover"), exports);
|
34
34
|
|
35
|
-
tslib_1.__exportStar(require("./
|
35
|
+
tslib_1.__exportStar(require("./MenuSplitGroup"), exports);
|
36
36
|
|
37
|
-
tslib_1.__exportStar(require("./
|
37
|
+
tslib_1.__exportStar(require("./MenuTrigger"), exports);
|
38
|
+
|
39
|
+
tslib_1.__exportStar(require("./selectable/index"), exports);
|
38
40
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,wBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,+BAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,6BAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,4BAAA,CAAA,EAAA,OAAA;;AAEA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,QAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,aAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,YAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,oBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,iBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,YAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA;;AAEA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,oBAAA,CAAA,EAAA,OAAA","sourceRoot":""}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/utils/useOnMenuEnter.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;AAGA;;AAEG;;;AACU,OAAA,CAAA,gBAAA,GAAmB,cAAnB;AAEb;;;;;;;;;;AAUG;;AACI,MAAM,mBAAmB,GAAI,OAAD,IAA8C;AAC/E,QAAM;AAAE,IAAA,IAAF;AAAQ,IAAA,QAAR;AAAkB,IAAA,OAAlB;AAA2B,IAAA;AAA3B,MAAwC,OAA9C,CAD+E,CAG/E;;AACA,QAAM,QAAQ,GAAG,iBAAA,CAAA,gBAAA,CAAkB,EAAD,IAAmB;;;AACnD,UAAM,UAAU,GAAG,IAAI,CAAC,CAAD,CAAvB;AACA,UAAM,eAAe,GAAG,EAAE,CAAC,MAA3B,CAFmD,CAInD;AACA;AACA;;AACA,UAAM,gBAAgB,GAAG,CAAC,cAAA,CAAA,eAAA,
|
1
|
+
{"version":3,"sources":["../../src/utils/useOnMenuEnter.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;AAGA;;AAEG;;;AACU,OAAA,CAAA,gBAAA,GAAmB,cAAnB;AAEb;;;;;;;;;;AAUG;;AACI,MAAM,mBAAmB,GAAI,OAAD,IAA8C;AAC/E,QAAM;AAAE,IAAA,IAAF;AAAQ,IAAA,QAAR;AAAkB,IAAA,OAAlB;AAA2B,IAAA;AAA3B,MAAwC,OAA9C,CAD+E,CAG/E;;AACA,QAAM,QAAQ,GAAG,iBAAA,CAAA,gBAAA,CAAkB,EAAD,IAAmB;;;AACnD,UAAM,UAAU,GAAG,IAAI,CAAC,CAAD,CAAvB;AACA,UAAM,eAAe,GAAG,EAAE,CAAC,MAA3B,CAFmD,CAInD;AACA;AACA;;AACA,UAAM,gBAAgB,GAAG,CAAC,cAAA,CAAA,eAAA,CAAgB,CAAA,EAAA,GAAA,UAAU,CAAC,OAAX,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,EAAlB,GAAsB,IAAtC,EAA4C,eAA5C,CAA1B;;AACA,QAAI,gBAAgB,IAAI,CAAC,QAAzB,EAAmC;AACjC,MAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF,GAXgB,CAAjB;AAaA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB;AACA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB;AACD;;AAUD,QAAI,CAAC,QAAL,EAAe;AACb,MAAA,OAAO,CAAC,gBAAR,CAAyB,OAAA,CAAA,gBAAzB,EAA2C,QAA3C;AACD;;AAED,WAAO,MAAK;AACV,MAAA,OAAO,CAAC,mBAAR,CAA4B,OAAA,CAAA,gBAA5B,EAA8C,QAA9C;AACD,KAFD;AAGD,GArBD,EAqBG,CAAC,QAAD,EAAW,OAAX,EAAoB,QAApB,CArBH;AAsBD,CAvCM;;AAAM,OAAA,CAAA,mBAAA,GAAmB,mBAAnB;AAyCb;;;;AAIG;;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAD,EAAkB,WAAlB,KAA6C;AACjF,EAAA,EAAE,CAAC,aAAH,CAAiB,IAAI,WAAJ,CAAgB,OAAA,CAAA,gBAAhB,EAAkC;AAAE,IAAA,OAAO,EAAE,IAAX;AAAiB,IAAA,MAAM,EAAE;AAAE,MAAA;AAAF;AAAzB,GAAlC,CAAjB;AACD,CAFM;;AAAM,OAAA,CAAA,sBAAA,GAAsB,sBAAtB","sourceRoot":""}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fluentui/react-menu",
|
3
|
-
"version": "0.0.0-
|
3
|
+
"version": "0.0.0-nightlyd514b3e0ee20220121.1",
|
4
4
|
"description": "Fluent UI menu component",
|
5
5
|
"main": "lib-commonjs/index.js",
|
6
6
|
"module": "lib/index.js",
|
@@ -22,16 +22,16 @@
|
|
22
22
|
"just": "just-scripts",
|
23
23
|
"lint": "just-scripts lint",
|
24
24
|
"start": "yarn storybook",
|
25
|
-
"storybook": "
|
26
|
-
"test": "jest",
|
25
|
+
"storybook": "node ../../scripts/storybook/runner",
|
26
|
+
"test": "jest --passWithNoTests",
|
27
27
|
"type-check": "tsc -b tsconfig.json"
|
28
28
|
},
|
29
29
|
"devDependencies": {
|
30
|
-
"@fluentui/babel-make-styles": "0.0.0-
|
30
|
+
"@fluentui/babel-make-styles": "0.0.0-nightlyd514b3e0ee20220121.1",
|
31
31
|
"@fluentui/eslint-plugin": "*",
|
32
|
-
"@fluentui/jest-serializer-make-styles": "0.0.0-
|
32
|
+
"@fluentui/jest-serializer-make-styles": "0.0.0-nightlyd514b3e0ee20220121.1",
|
33
33
|
"@fluentui/react-conformance": "*",
|
34
|
-
"@fluentui/react-conformance-make-styles": "0.0.0-
|
34
|
+
"@fluentui/react-conformance-make-styles": "0.0.0-nightlyd514b3e0ee20220121.1",
|
35
35
|
"@fluentui/scripts": "^1.0.0",
|
36
36
|
"@types/enzyme": "3.10.3",
|
37
37
|
"@types/enzyme-adapter-react-16": "1.0.3",
|
@@ -45,15 +45,15 @@
|
|
45
45
|
"react-test-renderer": "^16.3.0"
|
46
46
|
},
|
47
47
|
"dependencies": {
|
48
|
-
"@fluentui/keyboard-keys": "0.0.0-
|
49
|
-
"@fluentui/react-context-selector": "0.0.0-
|
50
|
-
"@fluentui/react-icons": "^2.0.
|
51
|
-
"@fluentui/react-make-styles": "0.0.0-
|
52
|
-
"@fluentui/react-portal": "0.0.0-
|
53
|
-
"@fluentui/react-positioning": "0.0.0-
|
54
|
-
"@fluentui/react-shared-contexts": "0.0.0-
|
55
|
-
"@fluentui/react-tabster": "0.0.0-
|
56
|
-
"@fluentui/react-utilities": "0.0.0-
|
48
|
+
"@fluentui/keyboard-keys": "0.0.0-nightlyd514b3e0ee20220121.1",
|
49
|
+
"@fluentui/react-context-selector": "0.0.0-nightlyd514b3e0ee20220121.1",
|
50
|
+
"@fluentui/react-icons": "^2.0.154-beta.5",
|
51
|
+
"@fluentui/react-make-styles": "0.0.0-nightlyd514b3e0ee20220121.1",
|
52
|
+
"@fluentui/react-portal": "0.0.0-nightlyd514b3e0ee20220121.1",
|
53
|
+
"@fluentui/react-positioning": "0.0.0-nightlyd514b3e0ee20220121.1",
|
54
|
+
"@fluentui/react-shared-contexts": "0.0.0-nightlyd514b3e0ee20220121.1",
|
55
|
+
"@fluentui/react-tabster": "0.0.0-nightlyd514b3e0ee20220121.1",
|
56
|
+
"@fluentui/react-utilities": "0.0.0-nightlyd514b3e0ee20220121.1",
|
57
57
|
"tslib": "^2.1.0"
|
58
58
|
},
|
59
59
|
"peerDependencies": {
|
@@ -1,165 +0,0 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { ArrowRight, ArrowDown, ArrowLeft, Escape } from '@fluentui/keyboard-keys';
|
3
|
-
import { applyTriggerPropsToChildren, onlyChild, shouldPreventDefaultOnKeyDown, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';
|
4
|
-
import { useFocusFinders } from '@fluentui/react-tabster';
|
5
|
-
import { useMenuContext } from '../../contexts/menuContext';
|
6
|
-
import { useFluent } from '@fluentui/react-shared-contexts';
|
7
|
-
import { useIsSubmenu } from '../../utils/useIsSubmenu';
|
8
|
-
|
9
|
-
const noop = () => null;
|
10
|
-
/**
|
11
|
-
* Adds the necessary props to the trigger element
|
12
|
-
*/
|
13
|
-
|
14
|
-
|
15
|
-
export const useTriggerElement = state => {
|
16
|
-
var _a, _b;
|
17
|
-
|
18
|
-
const triggerRef = useMenuContext(context => context.triggerRef);
|
19
|
-
const menuPopoverRef = useMenuContext(context => context.menuPopoverRef);
|
20
|
-
const setOpen = useMenuContext(context => context.setOpen);
|
21
|
-
const open = useMenuContext(context => context.open);
|
22
|
-
const triggerId = useMenuContext(context => context.triggerId);
|
23
|
-
const openOnHover = useMenuContext(context => context.openOnHover);
|
24
|
-
const openOnContext = useMenuContext(context => context.openOnContext);
|
25
|
-
const isSubmenu = useIsSubmenu();
|
26
|
-
const {
|
27
|
-
findFirstFocusable
|
28
|
-
} = useFocusFinders();
|
29
|
-
const focusFirst = React.useCallback(() => {
|
30
|
-
const firstFocusable = findFirstFocusable(menuPopoverRef.current);
|
31
|
-
firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
|
32
|
-
}, [findFirstFocusable, menuPopoverRef]);
|
33
|
-
const openedWithKeyboardRef = React.useRef(false);
|
34
|
-
const hasMouseMoved = React.useRef(false);
|
35
|
-
const {
|
36
|
-
dir
|
37
|
-
} = useFluent();
|
38
|
-
const OpenArrowKey = dir === 'ltr' ? ArrowRight : ArrowLeft;
|
39
|
-
const child = /*#__PURE__*/React.isValidElement(state.children) ? onlyChild(state.children) : undefined;
|
40
|
-
const onContextMenu = useEventCallback(e => {
|
41
|
-
var _a, _b;
|
42
|
-
|
43
|
-
if (openOnContext) {
|
44
|
-
e.preventDefault();
|
45
|
-
setOpen(e, {
|
46
|
-
open: true,
|
47
|
-
keyboard: false
|
48
|
-
});
|
49
|
-
}
|
50
|
-
|
51
|
-
(_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onContextMenu) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
52
|
-
});
|
53
|
-
const onClick = useEventCallback(e => {
|
54
|
-
var _a, _b;
|
55
|
-
|
56
|
-
if (!openOnContext) {
|
57
|
-
setOpen(e, {
|
58
|
-
open: !open,
|
59
|
-
keyboard: openedWithKeyboardRef.current
|
60
|
-
});
|
61
|
-
openedWithKeyboardRef.current = false;
|
62
|
-
}
|
63
|
-
|
64
|
-
(_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
65
|
-
});
|
66
|
-
const onKeyDown = useEventCallback(e => {
|
67
|
-
var _a, _b, _c;
|
68
|
-
|
69
|
-
if (shouldPreventDefaultOnKeyDown(e)) {
|
70
|
-
e.preventDefault();
|
71
|
-
openedWithKeyboardRef.current = true;
|
72
|
-
(_a = e.target) === null || _a === void 0 ? void 0 : _a.click();
|
73
|
-
}
|
74
|
-
|
75
|
-
const key = e.key;
|
76
|
-
|
77
|
-
if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === ArrowDown)) {
|
78
|
-
setOpen(e, {
|
79
|
-
open: true,
|
80
|
-
keyboard: true
|
81
|
-
});
|
82
|
-
}
|
83
|
-
|
84
|
-
if (key === Escape && !isSubmenu) {
|
85
|
-
setOpen(e, {
|
86
|
-
open: false,
|
87
|
-
keyboard: true
|
88
|
-
});
|
89
|
-
} // if menu is already open, can't rely on effects to focus
|
90
|
-
|
91
|
-
|
92
|
-
if (open && key === OpenArrowKey && isSubmenu) {
|
93
|
-
focusFirst();
|
94
|
-
}
|
95
|
-
|
96
|
-
if (open && key === ArrowDown && !isSubmenu) {
|
97
|
-
focusFirst();
|
98
|
-
}
|
99
|
-
|
100
|
-
(_c = (_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onKeyDown) === null || _c === void 0 ? void 0 : _c.call(_b, e);
|
101
|
-
});
|
102
|
-
const onMouseEnter = useEventCallback(e => {
|
103
|
-
var _a, _b;
|
104
|
-
|
105
|
-
if (openOnHover && hasMouseMoved.current) {
|
106
|
-
setOpen(e, {
|
107
|
-
open: true,
|
108
|
-
keyboard: false
|
109
|
-
});
|
110
|
-
}
|
111
|
-
|
112
|
-
(_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onMouseEnter) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
113
|
-
}); // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
|
114
|
-
// First time open the mouse using mousemove and then continue with mouseenter
|
115
|
-
// Only use once to determine that the user is using the mouse since it is an expensive event to handle
|
116
|
-
|
117
|
-
const onMouseMove = useEventCallback(e => {
|
118
|
-
if (openOnHover && !hasMouseMoved.current) {
|
119
|
-
setOpen(e, {
|
120
|
-
open: true,
|
121
|
-
keyboard: false
|
122
|
-
});
|
123
|
-
hasMouseMoved.current = true;
|
124
|
-
}
|
125
|
-
});
|
126
|
-
const onMouseLeave = useEventCallback(e => {
|
127
|
-
var _a, _b;
|
128
|
-
|
129
|
-
if (openOnHover) {
|
130
|
-
setOpen(e, {
|
131
|
-
open: false,
|
132
|
-
keyboard: false
|
133
|
-
});
|
134
|
-
}
|
135
|
-
|
136
|
-
(_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
137
|
-
});
|
138
|
-
const disabled = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.disabled;
|
139
|
-
const triggerProps = {
|
140
|
-
'aria-haspopup': true,
|
141
|
-
'aria-expanded': open,
|
142
|
-
id: ((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.id) || triggerId,
|
143
|
-
...(!disabled ? {
|
144
|
-
onClick,
|
145
|
-
onMouseEnter,
|
146
|
-
onMouseLeave,
|
147
|
-
onContextMenu,
|
148
|
-
onKeyDown,
|
149
|
-
onMouseMove
|
150
|
-
} : // Spread disabled event handlers to implement contract and avoid specific disabled logic in handlers
|
151
|
-
{
|
152
|
-
onClick: noop,
|
153
|
-
onMouseEnter: noop,
|
154
|
-
onMouseLeave: noop,
|
155
|
-
onContextMenu: noop,
|
156
|
-
onKeyDown: noop,
|
157
|
-
onMouseMove: noop
|
158
|
-
})
|
159
|
-
};
|
160
|
-
state.children = applyTriggerPropsToChildren(state.children, { ...triggerProps,
|
161
|
-
ref: useMergedRefs(typeof state.children !== 'function' && state.children.ref || null, triggerRef)
|
162
|
-
});
|
163
|
-
return state;
|
164
|
-
};
|
165
|
-
//# sourceMappingURL=useTriggerElement.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/components/MenuTrigger/useTriggerElement.ts"],"names":[],"mappings":"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","sourceRoot":""}
|