@fluentui-react-native/menu 1.14.18 → 1.14.20
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 +30 -0
- package/CHANGELOG.md +17 -1
- package/lib/MenuList/MenuList.d.ts.map +1 -1
- package/lib/MenuList/MenuList.js +3 -1
- package/lib/MenuList/MenuList.js.map +1 -1
- package/lib/__tests__/Menu.test.js +0 -29
- package/lib/__tests__/Menu.test.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuList.js +3 -1
- package/lib-commonjs/MenuList/MenuList.js.map +1 -1
- package/lib-commonjs/__tests__/Menu.test.js +0 -29
- package/lib-commonjs/__tests__/Menu.test.js.map +1 -1
- package/package.json +12 -12
- package/src/MenuList/MenuList.tsx +7 -1
- package/src/__tests__/Menu.test.tsx +0 -60
- package/tsconfig.json +1 -2
package/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"date": "Wed, 05 Mar 2025 01:27:20 GMT",
|
|
6
|
+
"version": "1.14.20",
|
|
7
|
+
"tag": "@fluentui-react-native/menu_v1.14.20",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "krsiler@microsoft.com",
|
|
12
|
+
"package": "@fluentui-react-native/menu",
|
|
13
|
+
"commit": "b3acd4efa76845d95d231882c907ecda91d10dd1",
|
|
14
|
+
"comment": "Fix Menu tab navigation on win32"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Wed, 29 Jan 2025 23:43:53 GMT",
|
|
21
|
+
"version": "1.14.19",
|
|
22
|
+
"tag": "@fluentui-react-native/menu_v1.14.19",
|
|
23
|
+
"comments": {
|
|
24
|
+
"patch": [
|
|
25
|
+
{
|
|
26
|
+
"author": "sanajmi@microsoft.com",
|
|
27
|
+
"package": "@fluentui-react-native/menu",
|
|
28
|
+
"commit": "5ca24ac45054439768404d117213a2ae4767235d",
|
|
29
|
+
"comment": "remove enzyme tests"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
4
34
|
{
|
|
5
35
|
"date": "Thu, 16 Jan 2025 19:12:10 GMT",
|
|
6
36
|
"version": "1.14.17",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/menu
|
|
2
2
|
|
|
3
|
-
This log was last generated on Wed,
|
|
3
|
+
<!-- This log was last generated on Wed, 05 Mar 2025 01:27:20 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 1.14.20
|
|
8
|
+
|
|
9
|
+
Wed, 05 Mar 2025 01:27:20 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Fix Menu tab navigation on win32 (krsiler@microsoft.com)
|
|
14
|
+
|
|
15
|
+
## 1.14.19
|
|
16
|
+
|
|
17
|
+
Wed, 29 Jan 2025 23:43:53 GMT
|
|
18
|
+
|
|
19
|
+
### Patches
|
|
20
|
+
|
|
21
|
+
- remove enzyme tests (sanajmi@microsoft.com)
|
|
22
|
+
|
|
7
23
|
## 1.14.6
|
|
8
24
|
|
|
9
25
|
Wed, 10 Jul 2024 19:11:52 GMT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AA6BnF,eAAO,MAAM,cAAc,UAAW,MAAM,SAAS,aAAa,aAAa,aAAa,KAAG,OAE9F,CAAC;AAEF,eAAO,MAAM,QAAQ,gLA6EnB,CAAC"}
|
package/lib/MenuList/MenuList.js
CHANGED
|
@@ -30,7 +30,6 @@ MenuStack.displayName = 'MenuStack';
|
|
|
30
30
|
var shouldHaveFocusZone = ['macos', 'win32'].includes(Platform.OS);
|
|
31
31
|
var focusLandsOnContainer = Platform.OS === 'macos';
|
|
32
32
|
var hasCircularNavigation = Platform.OS === 'win32';
|
|
33
|
-
var hasTabNavigation = Platform.OS === 'win32';
|
|
34
33
|
export var menuListLookup = function (layer, state, userProps) {
|
|
35
34
|
return state[layer] || userProps[layer] || layer === 'hasMaxHeight';
|
|
36
35
|
};
|
|
@@ -57,6 +56,9 @@ export var MenuList = compose(__assign(__assign({ displayName: menuListName }, s
|
|
|
57
56
|
});
|
|
58
57
|
var shouldHaveScrollView = Platform.OS === 'macos' || menuList.hasMaxHeight || menuList.hasMaxWidth;
|
|
59
58
|
var ScrollViewWrapper = shouldHaveScrollView ? Slots.scrollView : React.Fragment;
|
|
59
|
+
var hasMenuGroupChild = React.Children.toArray(children).some(function (child) { return child && child.type && child.type.displayName === 'MenuGroup'; });
|
|
60
|
+
// On win32, tab navigation should only be enabled when we have menu groups.
|
|
61
|
+
var hasTabNavigation = Platform.OS === 'win32' && hasMenuGroupChild;
|
|
60
62
|
var content = (withSlots(Slots.root, null,
|
|
61
63
|
withSlots(ScrollViewWrapper
|
|
62
64
|
// avoid error that fires when props are passed into React.fragment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";AAAA,0BAA0B;AAC1B,qBAAqB;AACrB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,IAAM,SAAS,GAAG,eAAe,CAAC,UAAC,KAAwD;IACjF,IAAA,GAAG,GAAc,KAAK,IAAnB,EAAK,IAAI,UAAK,KAAK,EAAxB,OAAgB,CAAF,CAAW;IAC/B,OAAO,UAAC,KAAwD,EAAE,QAAyB;QACzF,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,QAAQ,EAAE;YAC9B,6DAA6D;YAC7D,yCAAyC;YACzC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,KAAuB,EAAE,KAAa;gBAC7E,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;oBAC5C,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC1F;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,UAAC,IAAI,eAAK,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAQ,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,IAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAY,CAAC,CAAC;AAC/E,IAAM,qBAAqB,GAAG,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC;AACtD,IAAM,qBAAqB,GAAG,QAAQ,CAAC,EAAE,KAAM,OAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ButtonV1 as Button } from '@fluentui-react-native/button';
|
|
3
|
-
import { checkReRender } from '@fluentui-react-native/test-tools';
|
|
4
3
|
import * as renderer from 'react-test-renderer';
|
|
5
4
|
import { Menu } from '../Menu/Menu';
|
|
6
5
|
import { MenuDivider } from '../MenuDivider/MenuDivider';
|
|
@@ -149,32 +148,4 @@ it('Menu open menu group and menu header', function () {
|
|
|
149
148
|
.toJSON();
|
|
150
149
|
expect(tree).toMatchSnapshot();
|
|
151
150
|
});
|
|
152
|
-
describe('Menu rerender tests', function () {
|
|
153
|
-
it('Menu re-renders correctly', function () {
|
|
154
|
-
checkReRender(function () { return (React.createElement(Menu, { open: true },
|
|
155
|
-
React.createElement(MenuTrigger, null,
|
|
156
|
-
React.createElement(Button, null, "Rerender twice")),
|
|
157
|
-
React.createElement(MenuPopover, null,
|
|
158
|
-
React.createElement(MenuList, null,
|
|
159
|
-
React.createElement(MenuItem, null, "Option 1"))))); }, 3);
|
|
160
|
-
});
|
|
161
|
-
it('Menu re-renders correctly with style', function () {
|
|
162
|
-
var style = { backgroundColor: 'black' };
|
|
163
|
-
checkReRender(function () { return (React.createElement(Menu, null,
|
|
164
|
-
React.createElement(MenuTrigger, null,
|
|
165
|
-
React.createElement(Button, { style: style }, "Rerender twice")),
|
|
166
|
-
React.createElement(MenuPopover, null,
|
|
167
|
-
React.createElement(MenuList, null,
|
|
168
|
-
React.createElement(MenuItem, null, "Option 1"))))); }, 3);
|
|
169
|
-
});
|
|
170
|
-
it('Menu re-renders correctly with accessibilityAction', function () {
|
|
171
|
-
var action = [{ name: 'Expand' }];
|
|
172
|
-
checkReRender(function () { return (React.createElement(Menu, null,
|
|
173
|
-
React.createElement(MenuTrigger, null,
|
|
174
|
-
React.createElement(Button, null, "Rerender twice")),
|
|
175
|
-
React.createElement(MenuPopover, null,
|
|
176
|
-
React.createElement(MenuList, null,
|
|
177
|
-
React.createElement(MenuItem, { accessibilityActions: action }, "Option 1"))))); }, 3);
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
151
|
//# sourceMappingURL=Menu.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.test.js","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Menu.test.js","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AA6BnF,eAAO,MAAM,cAAc,UAAW,MAAM,SAAS,aAAa,aAAa,aAAa,KAAG,OAE9F,CAAC;AAEF,eAAO,MAAM,QAAQ,gLA6EnB,CAAC"}
|
|
@@ -33,7 +33,6 @@ MenuStack.displayName = 'MenuStack';
|
|
|
33
33
|
var shouldHaveFocusZone = ['macos', 'win32'].includes(react_native_1.Platform.OS);
|
|
34
34
|
var focusLandsOnContainer = react_native_1.Platform.OS === 'macos';
|
|
35
35
|
var hasCircularNavigation = react_native_1.Platform.OS === 'win32';
|
|
36
|
-
var hasTabNavigation = react_native_1.Platform.OS === 'win32';
|
|
37
36
|
var menuListLookup = function (layer, state, userProps) {
|
|
38
37
|
return state[layer] || userProps[layer] || layer === 'hasMaxHeight';
|
|
39
38
|
};
|
|
@@ -61,6 +60,9 @@ exports.MenuList = (0, framework_1.compose)(tslib_1.__assign(tslib_1.__assign({
|
|
|
61
60
|
});
|
|
62
61
|
var shouldHaveScrollView = react_native_1.Platform.OS === 'macos' || menuList.hasMaxHeight || menuList.hasMaxWidth;
|
|
63
62
|
var ScrollViewWrapper = shouldHaveScrollView ? Slots.scrollView : react_1.default.Fragment;
|
|
63
|
+
var hasMenuGroupChild = react_1.default.Children.toArray(children).some(function (child) { return child && child.type && child.type.displayName === 'MenuGroup'; });
|
|
64
|
+
// On win32, tab navigation should only be enabled when we have menu groups.
|
|
65
|
+
var hasTabNavigation = react_native_1.Platform.OS === 'win32' && hasMenuGroupChild;
|
|
64
66
|
var content = ((0, framework_1.withSlots)(Slots.root, null,
|
|
65
67
|
(0, framework_1.withSlots)(ScrollViewWrapper
|
|
66
68
|
// avoid error that fires when props are passed into React.fragment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";;;;AAAA,0BAA0B;AAC1B,qBAAqB;AACrB,wDAA0B;AAC1B,6CAA0D;AAG1D,gEAA8D;AAE9D,8DAAmG;AAEnG,uDAAqD;AAErD,mDAAgD;AAChD,6CAA4C;AAC5C,qEAAoE;AACpE,8DAA8D;AAE9D,IAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAwD;IACjF,IAAA,GAAG,GAAc,KAAK,IAAnB,EAAK,IAAI,kBAAK,KAAK,EAAxB,OAAgB,CAAF,CAAW;IAC/B,OAAO,UAAC,KAAwD,EAAE,QAAyB;QACzF,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,QAAQ,EAAE;YAC9B,6DAA6D;YAC7D,yCAAyC;YACzC,QAAQ,GAAG,eAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,KAAuB,EAAE,KAAa;gBAC7E,IAAI,eAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;oBAC5C,OAAO,eAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAA,sBAAU,EAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC1F;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,2BAAC,mBAAI,uBAAK,IAAA,sBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAQ,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,IAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,uBAAQ,CAAC,EAAY,CAAC,CAAC;AAC/E,IAAM,qBAAqB,GAAG,uBAAQ,CAAC,EAAE,KAAK,OAAO,CAAC;AACtD,IAAM,qBAAqB,GAAG,uBAAQ,CAAC,EAAE,KAAM,OAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var React = tslib_1.__importStar(require("react"));
|
|
5
5
|
var button_1 = require("@fluentui-react-native/button");
|
|
6
|
-
var test_tools_1 = require("@fluentui-react-native/test-tools");
|
|
7
6
|
var renderer = tslib_1.__importStar(require("react-test-renderer"));
|
|
8
7
|
var Menu_1 = require("../Menu/Menu");
|
|
9
8
|
var MenuDivider_1 = require("../MenuDivider/MenuDivider");
|
|
@@ -152,32 +151,4 @@ it('Menu open menu group and menu header', function () {
|
|
|
152
151
|
.toJSON();
|
|
153
152
|
expect(tree).toMatchSnapshot();
|
|
154
153
|
});
|
|
155
|
-
describe('Menu rerender tests', function () {
|
|
156
|
-
it('Menu re-renders correctly', function () {
|
|
157
|
-
(0, test_tools_1.checkReRender)(function () { return (React.createElement(Menu_1.Menu, { open: true },
|
|
158
|
-
React.createElement(MenuTrigger_1.default, null,
|
|
159
|
-
React.createElement(button_1.ButtonV1, null, "Rerender twice")),
|
|
160
|
-
React.createElement(MenuPopover_1.default, null,
|
|
161
|
-
React.createElement(MenuList_1.MenuList, null,
|
|
162
|
-
React.createElement(MenuItem_1.MenuItem, null, "Option 1"))))); }, 3);
|
|
163
|
-
});
|
|
164
|
-
it('Menu re-renders correctly with style', function () {
|
|
165
|
-
var style = { backgroundColor: 'black' };
|
|
166
|
-
(0, test_tools_1.checkReRender)(function () { return (React.createElement(Menu_1.Menu, null,
|
|
167
|
-
React.createElement(MenuTrigger_1.default, null,
|
|
168
|
-
React.createElement(button_1.ButtonV1, { style: style }, "Rerender twice")),
|
|
169
|
-
React.createElement(MenuPopover_1.default, null,
|
|
170
|
-
React.createElement(MenuList_1.MenuList, null,
|
|
171
|
-
React.createElement(MenuItem_1.MenuItem, null, "Option 1"))))); }, 3);
|
|
172
|
-
});
|
|
173
|
-
it('Menu re-renders correctly with accessibilityAction', function () {
|
|
174
|
-
var action = [{ name: 'Expand' }];
|
|
175
|
-
(0, test_tools_1.checkReRender)(function () { return (React.createElement(Menu_1.Menu, null,
|
|
176
|
-
React.createElement(MenuTrigger_1.default, null,
|
|
177
|
-
React.createElement(button_1.ButtonV1, null, "Rerender twice")),
|
|
178
|
-
React.createElement(MenuPopover_1.default, null,
|
|
179
|
-
React.createElement(MenuList_1.MenuList, null,
|
|
180
|
-
React.createElement(MenuItem_1.MenuItem, { accessibilityActions: action }, "Option 1"))))); }, 3);
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
154
|
//# sourceMappingURL=Menu.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.test.js","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":";;;AAAA,mDAA+B;
|
|
1
|
+
{"version":3,"file":"Menu.test.js","sourceRoot":"","sources":["../../src/__tests__/Menu.test.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.14.
|
|
3
|
+
"version": "1.14.20",
|
|
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,20 +23,20 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@fluentui-react-native/adapters": "0.13.0",
|
|
26
|
-
"@fluentui-react-native/callout": "0.27.
|
|
27
|
-
"@fluentui-react-native/focus-zone": "0.19.
|
|
28
|
-
"@fluentui-react-native/framework": "0.14.
|
|
29
|
-
"@fluentui-react-native/icon": "0.21.
|
|
30
|
-
"@fluentui-react-native/interactive-hooks": "0.27.
|
|
31
|
-
"@fluentui-react-native/text": "0.24.
|
|
32
|
-
"@fluentui-react-native/theme-tokens": "0.27.
|
|
33
|
-
"@fluentui-react-native/theming-utils": "0.26.
|
|
34
|
-
"@fluentui-react-native/tokens": "0.23.
|
|
35
|
-
"@fluentui-react-native/use-styling": "0.13.
|
|
26
|
+
"@fluentui-react-native/callout": "0.27.2",
|
|
27
|
+
"@fluentui-react-native/focus-zone": "0.19.6",
|
|
28
|
+
"@fluentui-react-native/framework": "0.14.2",
|
|
29
|
+
"@fluentui-react-native/icon": "0.21.8",
|
|
30
|
+
"@fluentui-react-native/interactive-hooks": "0.27.4",
|
|
31
|
+
"@fluentui-react-native/text": "0.24.6",
|
|
32
|
+
"@fluentui-react-native/theme-tokens": "0.27.1",
|
|
33
|
+
"@fluentui-react-native/theming-utils": "0.26.1",
|
|
34
|
+
"@fluentui-react-native/tokens": "0.23.1",
|
|
35
|
+
"@fluentui-react-native/use-styling": "0.13.2",
|
|
36
36
|
"tslib": "^2.3.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@fluentui-react-native/button": "0.39.
|
|
39
|
+
"@fluentui-react-native/button": "0.39.4",
|
|
40
40
|
"@fluentui-react-native/eslint-config-rules": "0.1.1",
|
|
41
41
|
"@fluentui-react-native/scripts": "0.1.1",
|
|
42
42
|
"@fluentui-react-native/test-tools": "0.1.1",
|
|
@@ -37,7 +37,6 @@ MenuStack.displayName = 'MenuStack';
|
|
|
37
37
|
const shouldHaveFocusZone = ['macos', 'win32'].includes(Platform.OS as string);
|
|
38
38
|
const focusLandsOnContainer = Platform.OS === 'macos';
|
|
39
39
|
const hasCircularNavigation = Platform.OS === ('win32' as any);
|
|
40
|
-
const hasTabNavigation = Platform.OS === ('win32' as any);
|
|
41
40
|
|
|
42
41
|
export const menuListLookup = (layer: string, state: MenuListState, userProps: MenuListProps): boolean => {
|
|
43
42
|
return state[layer] || userProps[layer] || layer === 'hasMaxHeight';
|
|
@@ -84,6 +83,13 @@ export const MenuList = compose<MenuListType>({
|
|
|
84
83
|
const shouldHaveScrollView = Platform.OS === 'macos' || menuList.hasMaxHeight || menuList.hasMaxWidth;
|
|
85
84
|
const ScrollViewWrapper = shouldHaveScrollView ? Slots.scrollView : React.Fragment;
|
|
86
85
|
|
|
86
|
+
const hasMenuGroupChild = React.Children.toArray(children).some(
|
|
87
|
+
(child) => child && (child as any).type && (child as any).type.displayName === 'MenuGroup',
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
// On win32, tab navigation should only be enabled when we have menu groups.
|
|
91
|
+
const hasTabNavigation = Platform.OS === ('win32' as any) && hasMenuGroupChild;
|
|
92
|
+
|
|
87
93
|
const content = (
|
|
88
94
|
<Slots.root>
|
|
89
95
|
<ScrollViewWrapper
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { AccessibilityActionName } from 'react-native';
|
|
3
2
|
|
|
4
3
|
import { ButtonV1 as Button } from '@fluentui-react-native/button';
|
|
5
|
-
import { checkReRender } from '@fluentui-react-native/test-tools';
|
|
6
4
|
import * as renderer from 'react-test-renderer';
|
|
7
5
|
|
|
8
6
|
import { Menu } from '../Menu/Menu';
|
|
@@ -234,61 +232,3 @@ it('Menu open menu group and menu header', () => {
|
|
|
234
232
|
.toJSON();
|
|
235
233
|
expect(tree).toMatchSnapshot();
|
|
236
234
|
});
|
|
237
|
-
|
|
238
|
-
describe('Menu rerender tests', () => {
|
|
239
|
-
it('Menu re-renders correctly', () => {
|
|
240
|
-
checkReRender(
|
|
241
|
-
() => (
|
|
242
|
-
<Menu open>
|
|
243
|
-
<MenuTrigger>
|
|
244
|
-
<Button>Rerender twice</Button>
|
|
245
|
-
</MenuTrigger>
|
|
246
|
-
<MenuPopover>
|
|
247
|
-
<MenuList>
|
|
248
|
-
<MenuItem>Option 1</MenuItem>
|
|
249
|
-
</MenuList>
|
|
250
|
-
</MenuPopover>
|
|
251
|
-
</Menu>
|
|
252
|
-
),
|
|
253
|
-
3,
|
|
254
|
-
);
|
|
255
|
-
});
|
|
256
|
-
|
|
257
|
-
it('Menu re-renders correctly with style', () => {
|
|
258
|
-
const style = { backgroundColor: 'black' };
|
|
259
|
-
checkReRender(
|
|
260
|
-
() => (
|
|
261
|
-
<Menu>
|
|
262
|
-
<MenuTrigger>
|
|
263
|
-
<Button style={style}>Rerender twice</Button>
|
|
264
|
-
</MenuTrigger>
|
|
265
|
-
<MenuPopover>
|
|
266
|
-
<MenuList>
|
|
267
|
-
<MenuItem>Option 1</MenuItem>
|
|
268
|
-
</MenuList>
|
|
269
|
-
</MenuPopover>
|
|
270
|
-
</Menu>
|
|
271
|
-
),
|
|
272
|
-
3,
|
|
273
|
-
);
|
|
274
|
-
});
|
|
275
|
-
|
|
276
|
-
it('Menu re-renders correctly with accessibilityAction', () => {
|
|
277
|
-
const action = [{ name: 'Expand' as AccessibilityActionName }];
|
|
278
|
-
checkReRender(
|
|
279
|
-
() => (
|
|
280
|
-
<Menu>
|
|
281
|
-
<MenuTrigger>
|
|
282
|
-
<Button>Rerender twice</Button>
|
|
283
|
-
</MenuTrigger>
|
|
284
|
-
<MenuPopover>
|
|
285
|
-
<MenuList>
|
|
286
|
-
<MenuItem accessibilityActions={action}>Option 1</MenuItem>
|
|
287
|
-
</MenuList>
|
|
288
|
-
</MenuPopover>
|
|
289
|
-
</Menu>
|
|
290
|
-
),
|
|
291
|
-
3,
|
|
292
|
-
);
|
|
293
|
-
});
|
|
294
|
-
});
|