@fluentui-react-native/menu 1.2.12 → 1.2.14
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 +61 -1
- package/CHANGELOG.md +23 -2
- package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
- package/lib/MenuItem/useMenuItem.js +3 -1
- package/lib/MenuItem/useMenuItem.js.map +1 -1
- package/lib/MenuList/MenuList.d.ts.map +1 -1
- package/lib/MenuList/MenuList.js +8 -4
- package/lib/MenuList/MenuList.js.map +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.js +3 -1
- package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuList.js +8 -4
- package/lib-commonjs/MenuList/MenuList.js.map +1 -1
- package/package.json +7 -7
- package/src/MenuItem/useMenuItem.ts +2 -1
- package/src/MenuList/MenuList.tsx +7 -4
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,67 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Mon, 09 Jan 2023 22:22:53 GMT",
|
|
6
|
+
"tag": "@fluentui-react-native/menu_v1.2.14",
|
|
7
|
+
"version": "1.2.14",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "beachball",
|
|
12
|
+
"package": "@fluentui-react-native/menu",
|
|
13
|
+
"comment": "Bump @fluentui-react-native/callout to v0.21.51",
|
|
14
|
+
"commit": "17bf1b56555ea10ad474c765d447718a1742b982"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "beachball",
|
|
18
|
+
"package": "@fluentui-react-native/menu",
|
|
19
|
+
"comment": "Bump @fluentui-react-native/focus-zone to v0.11.21",
|
|
20
|
+
"commit": "17bf1b56555ea10ad474c765d447718a1742b982"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "beachball",
|
|
24
|
+
"package": "@fluentui-react-native/menu",
|
|
25
|
+
"comment": "Bump @fluentui-react-native/framework to v0.8.32",
|
|
26
|
+
"commit": "17bf1b56555ea10ad474c765d447718a1742b982"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"author": "beachball",
|
|
30
|
+
"package": "@fluentui-react-native/menu",
|
|
31
|
+
"comment": "Bump @fluentui-react-native/interactive-hooks to v0.22.9",
|
|
32
|
+
"commit": "17bf1b56555ea10ad474c765d447718a1742b982"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"author": "beachball",
|
|
36
|
+
"package": "@fluentui-react-native/menu",
|
|
37
|
+
"comment": "Bump @fluentui-react-native/text to v0.19.10",
|
|
38
|
+
"commit": "17bf1b56555ea10ad474c765d447718a1742b982"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"author": "beachball",
|
|
42
|
+
"package": "@fluentui-react-native/menu",
|
|
43
|
+
"comment": "Bump @fluentui-react-native/button to v0.32.20",
|
|
44
|
+
"commit": "17bf1b56555ea10ad474c765d447718a1742b982"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"date": "Fri, 06 Jan 2023 19:49:46 GMT",
|
|
51
|
+
"tag": "@fluentui-react-native/menu_v1.2.13",
|
|
52
|
+
"version": "1.2.13",
|
|
53
|
+
"comments": {
|
|
54
|
+
"patch": [
|
|
55
|
+
{
|
|
56
|
+
"author": "amchiu@microsoft.com",
|
|
57
|
+
"package": "@fluentui-react-native/menu",
|
|
58
|
+
"commit": "28ba9c0affcd948c6fa672b8421b8b73d25fa371",
|
|
59
|
+
"comment": "Show focus on Submenu item for keyboard access"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"date": "Fri, 06 Jan 2023 12:26:31 GMT",
|
|
6
66
|
"tag": "@fluentui-react-native/menu_v1.2.12",
|
|
7
67
|
"version": "1.2.12",
|
|
8
68
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/menu
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Mon, 09 Jan 2023 22:22:53 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 1.2.14
|
|
8
|
+
|
|
9
|
+
Mon, 09 Jan 2023 22:22:53 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Bump @fluentui-react-native/callout to v0.21.51
|
|
14
|
+
- Bump @fluentui-react-native/focus-zone to v0.11.21
|
|
15
|
+
- Bump @fluentui-react-native/framework to v0.8.32
|
|
16
|
+
- Bump @fluentui-react-native/interactive-hooks to v0.22.9
|
|
17
|
+
- Bump @fluentui-react-native/text to v0.19.10
|
|
18
|
+
- Bump @fluentui-react-native/button to v0.32.20
|
|
19
|
+
|
|
20
|
+
## 1.2.13
|
|
21
|
+
|
|
22
|
+
Fri, 06 Jan 2023 19:49:46 GMT
|
|
23
|
+
|
|
24
|
+
### Patches
|
|
25
|
+
|
|
26
|
+
- Show focus on Submenu item for keyboard access (amchiu@microsoft.com)
|
|
27
|
+
|
|
7
28
|
## 1.2.12
|
|
8
29
|
|
|
9
|
-
Fri, 06 Jan 2023 12:
|
|
30
|
+
Fri, 06 Jan 2023 12:26:31 GMT
|
|
10
31
|
|
|
11
32
|
### Patches
|
|
12
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAa/D,eAAO,MAAM,WAAW,UAAiB,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAA8C,CAAC;AAE9E,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,
|
|
1
|
+
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAa/D,eAAO,MAAM,WAAW,UAAiB,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAA8C,CAAC;AAE9E,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,YAyElD,CAAC;AAUF,eAAO,MAAM,mBAAmB,YAAa,OAAO,gBAAgB,MAAM,gBAAgB,CAAC,GAAG,CAAC,SAQ9F,CAAC"}
|
|
@@ -18,12 +18,14 @@ export var useMenuItem = function (props) {
|
|
|
18
18
|
var shouldPersist = persistOnClick !== null && persistOnClick !== void 0 ? persistOnClick : persistOnItemClick;
|
|
19
19
|
var hasSubmenu = isSubmenu && isTrigger;
|
|
20
20
|
var onInvoke = React.useCallback(function (e) {
|
|
21
|
+
var _a;
|
|
21
22
|
var isRtl = I18nManager.isRTL;
|
|
22
23
|
var isArrowKey = isKeyPressEvent(e) && (e.nativeEvent.key === 'ArrowLeft' || e.nativeEvent.key === 'ArrowRight');
|
|
23
24
|
var isArrowOpen = hasSubmenu &&
|
|
24
25
|
isKeyPressEvent(e) &&
|
|
25
26
|
((isRtl && e.nativeEvent.key === 'ArrowLeft') || (!isRtl && e.nativeEvent.key === 'ArrowRight'));
|
|
26
27
|
if (!disabled && (!isArrowKey || isArrowOpen)) {
|
|
28
|
+
(_a = componentRef === null || componentRef === void 0 ? void 0 : componentRef.current) === null || _a === void 0 ? void 0 : _a.blur();
|
|
27
29
|
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
28
30
|
}
|
|
29
31
|
if (!hasSubmenu && !isArrowKey && !shouldPersist) {
|
|
@@ -33,7 +35,7 @@ export var useMenuItem = function (props) {
|
|
|
33
35
|
if (isArrowClose) {
|
|
34
36
|
onArrowClose === null || onArrowClose === void 0 ? void 0 : onArrowClose(e);
|
|
35
37
|
}
|
|
36
|
-
}, [disabled, hasSubmenu, onArrowClose, onClick, setOpen, shouldPersist]);
|
|
38
|
+
}, [componentRef, disabled, hasSubmenu, onArrowClose, onClick, setOpen, shouldPersist]);
|
|
37
39
|
var pressable = usePressableState(__assign(__assign({}, rest), { onPress: onInvoke }));
|
|
38
40
|
var itemRef = useViewCommandFocus(componentRef);
|
|
39
41
|
var keys = isSubmenu ? submenuTriggerKeys : triggerKeys;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAsB,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAEL,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,CAAC,IAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC1C,MAAM,CAAC,IAAM,kBAAkB,mCAAO,WAAW,UAAE,WAAW,EAAE,YAAY,SAAC,CAAC;AAE9E,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAoB;IAC9C,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,IAAA,OAAO,GAAgG,KAAK,QAArG,EAAE,kBAAkB,GAA4E,KAAK,mBAAjF,EAAE,KAA0E,KAAK,aAA7C,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAAE,QAAQ,GAA8B,KAAK,SAAnC,EAAE,cAAc,GAAc,KAAK,eAAnB,EAAK,IAAI,UAAK,KAAK,EAA9G,+EAAsG,CAAF,CAAW;IAC/G,IAAA,KAA6C,cAAc,EAAE,EAA3D,SAAS,eAAA,EAAE,kBAAkB,wBAAA,EAAE,OAAO,aAAqB,CAAC;IAC9D,IAAA,KAAkC,kBAAkB,EAAE,EAApD,aAAa,mBAAA,EAAE,YAAY,kBAAyB,CAAC;IAC7D,IAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAC1C,IAAM,aAAa,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,kBAAkB,CAAC;IAE3D,IAAM,UAAU,GAAG,SAAS,IAAI,SAAS,CAAC;IAE1C,IAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAChC,UAAC,CAAmB
|
|
1
|
+
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,aAAa,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AA4B7E,eAAO,MAAM,QAAQ,gLA6CnB,CAAC"}
|
package/lib/MenuList/MenuList.js
CHANGED
|
@@ -9,6 +9,7 @@ import { MenuListProvider } from '../context/menuListContext';
|
|
|
9
9
|
import { useMenuList } from './useMenuList';
|
|
10
10
|
import { useMenuListContextValue } from './useMenuListContextValue';
|
|
11
11
|
import { FocusZone } from '@fluentui-react-native/focus-zone';
|
|
12
|
+
import { useMenuContext } from '../context';
|
|
12
13
|
var MenuStack = stagedComponent(function (props) {
|
|
13
14
|
var gap = props.gap, rest = __rest(props, ["gap"]);
|
|
14
15
|
return function (final, children) {
|
|
@@ -28,7 +29,8 @@ var MenuStack = stagedComponent(function (props) {
|
|
|
28
29
|
MenuStack.displayName = 'MenuStack';
|
|
29
30
|
export var MenuList = compose(__assign(__assign({ displayName: menuListName }, stylingSettings), { slots: __assign(__assign({ root: MenuStack }, (Platform.OS === 'macos' && { scrollView: ScrollView })), (Platform.OS === 'macos' && { focusZone: FocusZone })), useRender: function (userProps, useSlots) {
|
|
30
31
|
var menuList = useMenuList(userProps);
|
|
31
|
-
var
|
|
32
|
+
var menuContext = useMenuContext();
|
|
33
|
+
var menuListContextValue = useMenuListContextValue(menuList);
|
|
32
34
|
var Slots = useSlots(menuList.props);
|
|
33
35
|
var focusZoneRef = React.useRef();
|
|
34
36
|
React.useEffect(function () {
|
|
@@ -38,11 +40,13 @@ export var MenuList = compose(__assign(__assign({ displayName: menuListName }, s
|
|
|
38
40
|
return function (_final, children) {
|
|
39
41
|
var content = Platform.OS === 'macos' ? (withSlots(Slots.root, null,
|
|
40
42
|
withSlots(Slots.scrollView, null,
|
|
41
|
-
withSlots(Slots.focusZone, { componentRef: focusZoneRef, focusZoneDirection: 'vertical',
|
|
42
|
-
//
|
|
43
|
+
withSlots(Slots.focusZone, { componentRef: focusZoneRef, focusZoneDirection: 'vertical',
|
|
44
|
+
// For submenus, setting defaultTabbableElement to null will let FZ set focus on the first key view.
|
|
45
|
+
// For root menu, let's set focus on the container to block FZ setting focus on the first key view.
|
|
46
|
+
defaultTabbableElement: menuContext.isSubmenu ? null : focusZoneRef,
|
|
43
47
|
// @ts-ignore FocusZone takes ViewProps, but that isn't defined on it's type.
|
|
44
48
|
enableFocusRing: false }, children)))) : (withSlots(Slots.root, null, children));
|
|
45
|
-
return withSlots(MenuListProvider, { value:
|
|
49
|
+
return withSlots(MenuListProvider, { value: menuListContextValue }, content);
|
|
46
50
|
};
|
|
47
51
|
} }));
|
|
48
52
|
//# sourceMappingURL=MenuList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAAE,YAAY,EAA+B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAa/D,eAAO,MAAM,WAAW,UAAiB,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAA8C,CAAC;AAE9E,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,
|
|
1
|
+
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAa/D,eAAO,MAAM,WAAW,UAAiB,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAA8C,CAAC;AAE9E,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,YAyElD,CAAC;AAUF,eAAO,MAAM,mBAAmB,YAAa,OAAO,gBAAgB,MAAM,gBAAgB,CAAC,GAAG,CAAC,SAQ9F,CAAC"}
|
|
@@ -21,12 +21,14 @@ var useMenuItem = function (props) {
|
|
|
21
21
|
var shouldPersist = persistOnClick !== null && persistOnClick !== void 0 ? persistOnClick : persistOnItemClick;
|
|
22
22
|
var hasSubmenu = isSubmenu && isTrigger;
|
|
23
23
|
var onInvoke = React.useCallback(function (e) {
|
|
24
|
+
var _a;
|
|
24
25
|
var isRtl = react_native_1.I18nManager.isRTL;
|
|
25
26
|
var isArrowKey = (0, interactive_hooks_1.isKeyPressEvent)(e) && (e.nativeEvent.key === 'ArrowLeft' || e.nativeEvent.key === 'ArrowRight');
|
|
26
27
|
var isArrowOpen = hasSubmenu &&
|
|
27
28
|
(0, interactive_hooks_1.isKeyPressEvent)(e) &&
|
|
28
29
|
((isRtl && e.nativeEvent.key === 'ArrowLeft') || (!isRtl && e.nativeEvent.key === 'ArrowRight'));
|
|
29
30
|
if (!disabled && (!isArrowKey || isArrowOpen)) {
|
|
31
|
+
(_a = componentRef === null || componentRef === void 0 ? void 0 : componentRef.current) === null || _a === void 0 ? void 0 : _a.blur();
|
|
30
32
|
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
31
33
|
}
|
|
32
34
|
if (!hasSubmenu && !isArrowKey && !shouldPersist) {
|
|
@@ -36,7 +38,7 @@ var useMenuItem = function (props) {
|
|
|
36
38
|
if (isArrowClose) {
|
|
37
39
|
onArrowClose === null || onArrowClose === void 0 ? void 0 : onArrowClose(e);
|
|
38
40
|
}
|
|
39
|
-
}, [disabled, hasSubmenu, onArrowClose, onClick, setOpen, shouldPersist]);
|
|
41
|
+
}, [componentRef, disabled, hasSubmenu, onArrowClose, onClick, setOpen, shouldPersist]);
|
|
40
42
|
var pressable = (0, interactive_hooks_1.usePressableState)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, rest), { onPress: onInvoke }));
|
|
41
43
|
var itemRef = (0, interactive_hooks_1.useViewCommandFocus)(componentRef);
|
|
42
44
|
var keys = isSubmenu ? exports.submenuTriggerKeys : exports.triggerKeys;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAC/B,6CAAyE;AAEzE,8DAA2D;AAC3D,8EAMkD;AAClD,sDAAwD;AACxD,8DAAgE;AAChE,oEAAsE;AAEzD,QAAA,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC7B,QAAA,kBAAkB,6DAAO,mBAAW,UAAE,WAAW,EAAE,YAAY,UAAE;AAEvE,IAAM,WAAW,GAAG,UAAC,KAAoB;IAC9C,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,IAAA,OAAO,GAAgG,KAAK,QAArG,EAAE,kBAAkB,GAA4E,KAAK,mBAAjF,EAAE,KAA0E,KAAK,aAA7C,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAAE,QAAQ,GAA8B,KAAK,SAAnC,EAAE,cAAc,GAAc,KAAK,eAAnB,EAAK,IAAI,uBAAK,KAAK,EAA9G,+EAAsG,CAAF,CAAW;IAC/G,IAAA,KAA6C,IAAA,4BAAc,GAAE,EAA3D,SAAS,eAAA,EAAE,kBAAkB,wBAAA,EAAE,OAAO,aAAqB,CAAC;IAC9D,IAAA,KAAkC,IAAA,oCAAkB,GAAE,EAApD,aAAa,mBAAA,EAAE,YAAY,kBAAyB,CAAC;IAC7D,IAAM,SAAS,GAAG,IAAA,0CAAqB,GAAE,CAAC;IAC1C,IAAM,aAAa,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,kBAAkB,CAAC;IAE3D,IAAM,UAAU,GAAG,SAAS,IAAI,SAAS,CAAC;IAE1C,IAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAChC,UAAC,CAAmB
|
|
1
|
+
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,aAAa,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AA4B7E,eAAO,MAAM,QAAQ,gLA6CnB,CAAC"}
|
|
@@ -12,6 +12,7 @@ var menuListContext_1 = require("../context/menuListContext");
|
|
|
12
12
|
var useMenuList_1 = require("./useMenuList");
|
|
13
13
|
var useMenuListContextValue_1 = require("./useMenuListContextValue");
|
|
14
14
|
var focus_zone_1 = require("@fluentui-react-native/focus-zone");
|
|
15
|
+
var context_1 = require("../context");
|
|
15
16
|
var MenuStack = (0, framework_1.stagedComponent)(function (props) {
|
|
16
17
|
var gap = props.gap, rest = (0, tslib_1.__rest)(props, ["gap"]);
|
|
17
18
|
return function (final, children) {
|
|
@@ -31,7 +32,8 @@ var MenuStack = (0, framework_1.stagedComponent)(function (props) {
|
|
|
31
32
|
MenuStack.displayName = 'MenuStack';
|
|
32
33
|
exports.MenuList = (0, framework_1.compose)((0, tslib_1.__assign)((0, tslib_1.__assign)({ displayName: MenuList_types_1.menuListName }, MenuList_styling_1.stylingSettings), { slots: (0, tslib_1.__assign)((0, tslib_1.__assign)({ root: MenuStack }, (react_native_1.Platform.OS === 'macos' && { scrollView: react_native_1.ScrollView })), (react_native_1.Platform.OS === 'macos' && { focusZone: focus_zone_1.FocusZone })), useRender: function (userProps, useSlots) {
|
|
33
34
|
var menuList = (0, useMenuList_1.useMenuList)(userProps);
|
|
34
|
-
var
|
|
35
|
+
var menuContext = (0, context_1.useMenuContext)();
|
|
36
|
+
var menuListContextValue = (0, useMenuListContextValue_1.useMenuListContextValue)(menuList);
|
|
35
37
|
var Slots = useSlots(menuList.props);
|
|
36
38
|
var focusZoneRef = react_1.default.useRef();
|
|
37
39
|
react_1.default.useEffect(function () {
|
|
@@ -41,11 +43,13 @@ exports.MenuList = (0, framework_1.compose)((0, tslib_1.__assign)((0, tslib_1.__
|
|
|
41
43
|
return function (_final, children) {
|
|
42
44
|
var content = react_native_1.Platform.OS === 'macos' ? ((0, framework_1.withSlots)(Slots.root, null,
|
|
43
45
|
(0, framework_1.withSlots)(Slots.scrollView, null,
|
|
44
|
-
(0, framework_1.withSlots)(Slots.focusZone, { componentRef: focusZoneRef, focusZoneDirection: 'vertical',
|
|
45
|
-
//
|
|
46
|
+
(0, framework_1.withSlots)(Slots.focusZone, { componentRef: focusZoneRef, focusZoneDirection: 'vertical',
|
|
47
|
+
// For submenus, setting defaultTabbableElement to null will let FZ set focus on the first key view.
|
|
48
|
+
// For root menu, let's set focus on the container to block FZ setting focus on the first key view.
|
|
49
|
+
defaultTabbableElement: menuContext.isSubmenu ? null : focusZoneRef,
|
|
46
50
|
// @ts-ignore FocusZone takes ViewProps, but that isn't defined on it's type.
|
|
47
51
|
enableFocusRing: false }, children)))) : ((0, framework_1.withSlots)(Slots.root, null, children));
|
|
48
|
-
return (0, framework_1.withSlots)(menuListContext_1.MenuListProvider, { value:
|
|
52
|
+
return (0, framework_1.withSlots)(menuListContext_1.MenuListProvider, { value: menuListContextValue }, content);
|
|
49
53
|
};
|
|
50
54
|
} }));
|
|
51
55
|
//# sourceMappingURL=MenuList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";;;;AAAA,qBAAqB;AACrB,6DAA0B;AAC1B,6CAA0D;AAC1D,8DAA6G;AAC7G,mDAA6E;AAC7E,uDAAqD;AACrD,8DAA8D;AAC9D,6CAA4C;AAC5C,qEAAoE;AAEpE,gEAA8D;
|
|
1
|
+
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.14",
|
|
4
4
|
"description": "A cross-platform Menu component using the Fluent Design System",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@fluentui-react-native/adapters": ">=0.10.0 <1.0.0",
|
|
26
|
-
"@fluentui-react-native/callout": ">=0.21.
|
|
27
|
-
"@fluentui-react-native/focus-zone": ">=0.11.
|
|
28
|
-
"@fluentui-react-native/framework": "0.8.
|
|
29
|
-
"@fluentui-react-native/interactive-hooks": ">=0.22.
|
|
30
|
-
"@fluentui-react-native/text": ">=0.19.
|
|
26
|
+
"@fluentui-react-native/callout": ">=0.21.51 <1.0.0",
|
|
27
|
+
"@fluentui-react-native/focus-zone": ">=0.11.21 <1.0.0",
|
|
28
|
+
"@fluentui-react-native/framework": "0.8.32",
|
|
29
|
+
"@fluentui-react-native/interactive-hooks": ">=0.22.9 <1.0.0",
|
|
30
|
+
"@fluentui-react-native/text": ">=0.19.10 <1.0.0",
|
|
31
31
|
"@fluentui-react-native/theme-tokens": ">=0.22.5 <1.0.0",
|
|
32
32
|
"@fluentui-react-native/tokens": ">=0.20.2 <1.0.0",
|
|
33
33
|
"@fluentui-react-native/use-styling": ">=0.9.1 <1.0.0",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"tslib": "^2.3.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@fluentui-react-native/button": ">=0.32.
|
|
38
|
+
"@fluentui-react-native/button": ">=0.32.20 <1.0.0",
|
|
39
39
|
"@fluentui-react-native/eslint-config-rules": "^0.1.1",
|
|
40
40
|
"@fluentui-react-native/scripts": "^0.1.1",
|
|
41
41
|
"@fluentui-react-native/test-tools": ">=0.1.1 <1.0.0",
|
|
@@ -38,6 +38,7 @@ export const useMenuItem = (props: MenuItemProps): MenuItemInfo => {
|
|
|
38
38
|
((isRtl && e.nativeEvent.key === 'ArrowLeft') || (!isRtl && e.nativeEvent.key === 'ArrowRight'));
|
|
39
39
|
|
|
40
40
|
if (!disabled && (!isArrowKey || isArrowOpen)) {
|
|
41
|
+
componentRef?.current?.blur();
|
|
41
42
|
onClick?.(e);
|
|
42
43
|
}
|
|
43
44
|
|
|
@@ -51,7 +52,7 @@ export const useMenuItem = (props: MenuItemProps): MenuItemInfo => {
|
|
|
51
52
|
onArrowClose?.(e);
|
|
52
53
|
}
|
|
53
54
|
},
|
|
54
|
-
[disabled, hasSubmenu, onArrowClose, onClick, setOpen, shouldPersist],
|
|
55
|
+
[componentRef, disabled, hasSubmenu, onArrowClose, onClick, setOpen, shouldPersist],
|
|
55
56
|
);
|
|
56
57
|
|
|
57
58
|
const pressable = usePressableState({ ...rest, onPress: onInvoke });
|
|
@@ -9,6 +9,7 @@ import { useMenuList } from './useMenuList';
|
|
|
9
9
|
import { useMenuListContextValue } from './useMenuListContextValue';
|
|
10
10
|
import { IViewProps } from '@fluentui-react-native/adapters';
|
|
11
11
|
import { FocusZone } from '@fluentui-react-native/focus-zone';
|
|
12
|
+
import { useMenuContext } from '../context';
|
|
12
13
|
|
|
13
14
|
const MenuStack = stagedComponent((props: React.PropsWithRef<IViewProps> & { gap?: number }) => {
|
|
14
15
|
const { gap, ...rest } = props;
|
|
@@ -39,7 +40,8 @@ export const MenuList = compose<MenuListType>({
|
|
|
39
40
|
},
|
|
40
41
|
useRender: (userProps: MenuListProps, useSlots: UseSlots<MenuListType>) => {
|
|
41
42
|
const menuList = useMenuList(userProps);
|
|
42
|
-
const
|
|
43
|
+
const menuContext = useMenuContext();
|
|
44
|
+
const menuListContextValue = useMenuListContextValue(menuList);
|
|
43
45
|
const Slots = useSlots(menuList.props);
|
|
44
46
|
|
|
45
47
|
const focusZoneRef = React.useRef<View>();
|
|
@@ -56,8 +58,9 @@ export const MenuList = compose<MenuListType>({
|
|
|
56
58
|
<Slots.focusZone
|
|
57
59
|
componentRef={focusZoneRef}
|
|
58
60
|
focusZoneDirection={'vertical'}
|
|
59
|
-
defaultTabbableElement
|
|
60
|
-
//
|
|
61
|
+
// For submenus, setting defaultTabbableElement to null will let FZ set focus on the first key view.
|
|
62
|
+
// For root menu, let's set focus on the container to block FZ setting focus on the first key view.
|
|
63
|
+
defaultTabbableElement={menuContext.isSubmenu ? null : focusZoneRef} // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
61
64
|
// @ts-ignore FocusZone takes ViewProps, but that isn't defined on it's type.
|
|
62
65
|
enableFocusRing={false}
|
|
63
66
|
>
|
|
@@ -69,7 +72,7 @@ export const MenuList = compose<MenuListType>({
|
|
|
69
72
|
<Slots.root>{children}</Slots.root>
|
|
70
73
|
);
|
|
71
74
|
|
|
72
|
-
return <MenuListProvider value={
|
|
75
|
+
return <MenuListProvider value={menuListContextValue}>{content}</MenuListProvider>;
|
|
73
76
|
};
|
|
74
77
|
},
|
|
75
78
|
});
|