@fluentui/react-menu 0.0.0-nightlyecca467a8920220110.1 → 0.0.0-nightlyf6116328d620220124.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/CHANGELOG.json +80 -26
  2. package/CHANGELOG.md +22 -16
  3. package/dist/react-menu.d.ts +6 -14
  4. package/lib/components/Menu/useMenu.js +2 -1
  5. package/lib/components/Menu/useMenu.js.map +1 -1
  6. package/lib/components/MenuDivider/useMenuDivider.js +3 -0
  7. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  8. package/lib/components/MenuGroup/useMenuGroup.js +3 -0
  9. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  10. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +3 -0
  11. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  12. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  13. package/lib/components/MenuItem/renderMenuItem.js +1 -2
  14. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  15. package/lib/components/MenuItem/useMenuItem.d.ts +1 -5
  16. package/lib/components/MenuItem/useMenuItem.js +1 -10
  17. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  18. package/lib/components/MenuItem/useMenuItemStyles.js +7 -3
  19. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  20. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +1 -2
  21. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  22. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +1 -2
  23. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  24. package/lib/components/MenuList/useMenuList.js +3 -0
  25. package/lib/components/MenuList/useMenuList.js.map +1 -1
  26. package/lib/components/MenuPopover/useMenuPopover.js +3 -0
  27. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  28. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +1 -2
  29. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  30. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +1 -5
  31. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +0 -5
  32. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  33. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +1 -0
  34. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  35. package/lib/components/MenuTrigger/MenuTrigger.d.ts +1 -1
  36. package/lib/components/MenuTrigger/MenuTrigger.js +4 -3
  37. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  38. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +4 -2
  39. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +2 -1
  40. package/lib/components/MenuTrigger/useMenuTrigger.js +177 -5
  41. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  42. package/lib-commonjs/components/Menu/useMenu.js +2 -1
  43. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  44. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +3 -0
  45. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  46. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +3 -0
  47. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  48. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +3 -0
  49. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  50. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  51. package/lib-commonjs/components/MenuItem/renderMenuItem.js +1 -3
  52. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  53. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +1 -5
  54. package/lib-commonjs/components/MenuItem/useMenuItem.js +3 -12
  55. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  56. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +7 -3
  57. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  58. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +1 -3
  59. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  60. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +1 -3
  61. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  62. package/lib-commonjs/components/MenuList/useMenuList.js +3 -0
  63. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  64. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +3 -0
  65. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  66. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +1 -3
  67. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  68. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +1 -5
  69. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +2 -7
  70. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  71. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +2 -0
  72. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  73. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +1 -1
  74. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +5 -5
  75. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  76. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +4 -2
  77. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +2 -1
  78. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +184 -5
  79. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  80. package/package.json +14 -14
  81. package/lib/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  82. package/lib/components/MenuTrigger/useTriggerElement.js +0 -166
  83. package/lib/components/MenuTrigger/useTriggerElement.js.map +0 -1
  84. package/lib-commonjs/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  85. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js +0 -181
  86. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js.map +0 -1
@@ -1,166 +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
- (_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);
97
- });
98
- const onMouseEnter = useEventCallback(e => {
99
- var _a, _b;
100
-
101
- if (openOnHover && hasMouseMoved.current) {
102
- setOpen(e, {
103
- open: true,
104
- keyboard: false
105
- });
106
- }
107
-
108
- (_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);
109
- }); // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
110
- // First time open the mouse using mousemove and then continue with mouseenter
111
- // Only use once to determine that the user is using the mouse since it is an expensive event to handle
112
-
113
- const onMouseMove = useEventCallback(e => {
114
- if (openOnHover && !hasMouseMoved.current) {
115
- setOpen(e, {
116
- open: true,
117
- keyboard: false
118
- });
119
- hasMouseMoved.current = true;
120
- }
121
- });
122
- const onMouseLeave = useEventCallback(e => {
123
- var _a, _b;
124
-
125
- if (openOnHover) {
126
- setOpen(e, {
127
- open: false,
128
- keyboard: false
129
- });
130
- }
131
-
132
- (_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);
133
- });
134
- const disabled = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.disabled;
135
- const triggerProps = {
136
- 'aria-haspopup': 'menu',
137
- 'aria-expanded': open,
138
- id: ((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.id) || triggerId,
139
- ...(!disabled ? {
140
- onClick,
141
- onMouseEnter,
142
- onMouseLeave,
143
- onContextMenu,
144
- onKeyDown,
145
- onMouseMove
146
- } : // Spread disabled event handlers to implement contract and avoid specific disabled logic in handlers
147
- {
148
- onClick: noop,
149
- onMouseEnter: noop,
150
- onMouseLeave: noop,
151
- onContextMenu: noop,
152
- onKeyDown: noop,
153
- onMouseMove: noop
154
- })
155
- };
156
-
157
- if (!open && !isSubmenu) {
158
- triggerProps['aria-expanded'] = undefined;
159
- }
160
-
161
- state.children = applyTriggerPropsToChildren(state.children, { ...triggerProps,
162
- ref: useMergedRefs(typeof state.children !== 'function' && state.children.ref || null, triggerRef)
163
- });
164
- return state;
165
- };
166
- //# sourceMappingURL=useTriggerElement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/MenuTrigger/useTriggerElement.ts"],"names":[],"mappings":"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","sourceRoot":""}
@@ -1,5 +0,0 @@
1
- import type { MenuTriggerState } from './MenuTrigger.types';
2
- /**
3
- * Adds the necessary props to the trigger element
4
- */
5
- export declare const useTriggerElement: (state: MenuTriggerState) => MenuTriggerState;
@@ -1,181 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useTriggerElement = void 0;
7
-
8
- const React = /*#__PURE__*/require("react");
9
-
10
- const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
11
-
12
- const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
13
-
14
- const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
15
-
16
- const menuContext_1 = /*#__PURE__*/require("../../contexts/menuContext");
17
-
18
- const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
19
-
20
- const useIsSubmenu_1 = /*#__PURE__*/require("../../utils/useIsSubmenu");
21
-
22
- const noop = () => null;
23
- /**
24
- * Adds the necessary props to the trigger element
25
- */
26
-
27
-
28
- const useTriggerElement = state => {
29
- var _a, _b;
30
-
31
- const triggerRef = menuContext_1.useMenuContext(context => context.triggerRef);
32
- const menuPopoverRef = menuContext_1.useMenuContext(context => context.menuPopoverRef);
33
- const setOpen = menuContext_1.useMenuContext(context => context.setOpen);
34
- const open = menuContext_1.useMenuContext(context => context.open);
35
- const triggerId = menuContext_1.useMenuContext(context => context.triggerId);
36
- const openOnHover = menuContext_1.useMenuContext(context => context.openOnHover);
37
- const openOnContext = menuContext_1.useMenuContext(context => context.openOnContext);
38
- const isSubmenu = useIsSubmenu_1.useIsSubmenu();
39
- const {
40
- findFirstFocusable
41
- } = react_tabster_1.useFocusFinders();
42
- const focusFirst = React.useCallback(() => {
43
- const firstFocusable = findFirstFocusable(menuPopoverRef.current);
44
- firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
45
- }, [findFirstFocusable, menuPopoverRef]);
46
- const openedWithKeyboardRef = React.useRef(false);
47
- const hasMouseMoved = React.useRef(false);
48
- const {
49
- dir
50
- } = react_shared_contexts_1.useFluent();
51
- const OpenArrowKey = dir === 'ltr' ? keyboard_keys_1.ArrowRight : keyboard_keys_1.ArrowLeft;
52
- const child = React.isValidElement(state.children) ? react_utilities_1.onlyChild(state.children) : undefined;
53
- const onContextMenu = react_utilities_1.useEventCallback(e => {
54
- var _a, _b;
55
-
56
- if (openOnContext) {
57
- e.preventDefault();
58
- setOpen(e, {
59
- open: true,
60
- keyboard: false
61
- });
62
- }
63
-
64
- (_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);
65
- });
66
- const onClick = react_utilities_1.useEventCallback(e => {
67
- var _a, _b;
68
-
69
- if (!openOnContext) {
70
- setOpen(e, {
71
- open: !open,
72
- keyboard: openedWithKeyboardRef.current
73
- });
74
- openedWithKeyboardRef.current = false;
75
- }
76
-
77
- (_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);
78
- });
79
- const onKeyDown = react_utilities_1.useEventCallback(e => {
80
- var _a, _b, _c;
81
-
82
- if (react_utilities_1.shouldPreventDefaultOnKeyDown(e)) {
83
- e.preventDefault();
84
- openedWithKeyboardRef.current = true;
85
- (_a = e.target) === null || _a === void 0 ? void 0 : _a.click();
86
- }
87
-
88
- const key = e.key;
89
-
90
- if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === keyboard_keys_1.ArrowDown)) {
91
- setOpen(e, {
92
- open: true,
93
- keyboard: true
94
- });
95
- }
96
-
97
- if (key === keyboard_keys_1.Escape && !isSubmenu) {
98
- setOpen(e, {
99
- open: false,
100
- keyboard: true
101
- });
102
- } // if menu is already open, can't rely on effects to focus
103
-
104
-
105
- if (open && key === OpenArrowKey && isSubmenu) {
106
- focusFirst();
107
- }
108
-
109
- (_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);
110
- });
111
- const onMouseEnter = react_utilities_1.useEventCallback(e => {
112
- var _a, _b;
113
-
114
- if (openOnHover && hasMouseMoved.current) {
115
- setOpen(e, {
116
- open: true,
117
- keyboard: false
118
- });
119
- }
120
-
121
- (_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);
122
- }); // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
123
- // First time open the mouse using mousemove and then continue with mouseenter
124
- // Only use once to determine that the user is using the mouse since it is an expensive event to handle
125
-
126
- const onMouseMove = react_utilities_1.useEventCallback(e => {
127
- if (openOnHover && !hasMouseMoved.current) {
128
- setOpen(e, {
129
- open: true,
130
- keyboard: false
131
- });
132
- hasMouseMoved.current = true;
133
- }
134
- });
135
- const onMouseLeave = react_utilities_1.useEventCallback(e => {
136
- var _a, _b;
137
-
138
- if (openOnHover) {
139
- setOpen(e, {
140
- open: false,
141
- keyboard: false
142
- });
143
- }
144
-
145
- (_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);
146
- });
147
- const disabled = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.disabled;
148
- const triggerProps = {
149
- 'aria-haspopup': 'menu',
150
- 'aria-expanded': open,
151
- id: ((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.id) || triggerId,
152
- ...(!disabled ? {
153
- onClick,
154
- onMouseEnter,
155
- onMouseLeave,
156
- onContextMenu,
157
- onKeyDown,
158
- onMouseMove
159
- } : // Spread disabled event handlers to implement contract and avoid specific disabled logic in handlers
160
- {
161
- onClick: noop,
162
- onMouseEnter: noop,
163
- onMouseLeave: noop,
164
- onContextMenu: noop,
165
- onKeyDown: noop,
166
- onMouseMove: noop
167
- })
168
- };
169
-
170
- if (!open && !isSubmenu) {
171
- triggerProps['aria-expanded'] = undefined;
172
- }
173
-
174
- state.children = react_utilities_1.applyTriggerPropsToChildren(state.children, { ...triggerProps,
175
- ref: react_utilities_1.useMergedRefs(typeof state.children !== 'function' && state.children.ref || null, triggerRef)
176
- });
177
- return state;
178
- };
179
-
180
- exports.useTriggerElement = useTriggerElement;
181
- //# sourceMappingURL=useTriggerElement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/MenuTrigger/useTriggerElement.ts"],"names":[],"mappings":"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","sourceRoot":""}