@fluentui-react-native/menu 1.8.0 → 1.9.0

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.
Files changed (99) hide show
  1. package/CHANGELOG.json +79 -1
  2. package/CHANGELOG.md +26 -2
  3. package/lib/MenuGroup/MenuGroup.d.ts +2 -0
  4. package/lib/MenuGroup/MenuGroup.d.ts.map +1 -0
  5. package/lib/MenuGroup/MenuGroup.js +35 -0
  6. package/lib/MenuGroup/MenuGroup.js.map +1 -0
  7. package/lib/MenuGroup/MenuGroup.types.d.ts +15 -0
  8. package/lib/MenuGroup/MenuGroup.types.d.ts.map +1 -0
  9. package/lib/MenuGroup/MenuGroup.types.js +2 -0
  10. package/lib/MenuGroup/MenuGroup.types.js.map +1 -0
  11. package/lib/MenuGroup/index.d.ts +4 -0
  12. package/lib/MenuGroup/index.d.ts.map +1 -0
  13. package/lib/MenuGroup/index.js +3 -0
  14. package/lib/MenuGroup/index.js.map +1 -0
  15. package/lib/MenuGroupHeader/MenuGroupHeader.d.ts +3 -0
  16. package/lib/MenuGroupHeader/MenuGroupHeader.d.ts.map +1 -0
  17. package/lib/MenuGroupHeader/MenuGroupHeader.js +15 -0
  18. package/lib/MenuGroupHeader/MenuGroupHeader.js.map +1 -0
  19. package/lib/MenuGroupHeader/MenuGroupHeader.styling.d.ts +4 -0
  20. package/lib/MenuGroupHeader/MenuGroupHeader.styling.d.ts.map +1 -0
  21. package/lib/MenuGroupHeader/MenuGroupHeader.styling.js +17 -0
  22. package/lib/MenuGroupHeader/MenuGroupHeader.styling.js.map +1 -0
  23. package/lib/MenuGroupHeader/MenuGroupHeader.types.d.ts +16 -0
  24. package/lib/MenuGroupHeader/MenuGroupHeader.types.d.ts.map +1 -0
  25. package/lib/MenuGroupHeader/MenuGroupHeader.types.js +2 -0
  26. package/lib/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -0
  27. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +5 -0
  28. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.d.ts.map +1 -0
  29. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.js +10 -0
  30. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.js.map +1 -0
  31. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +5 -0
  32. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts.map +1 -0
  33. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +11 -0
  34. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.js.map +1 -0
  35. package/lib/MenuGroupHeader/index.d.ts +4 -0
  36. package/lib/MenuGroupHeader/index.d.ts.map +1 -0
  37. package/lib/MenuGroupHeader/index.js +3 -0
  38. package/lib/MenuGroupHeader/index.js.map +1 -0
  39. package/lib/__tests__/Menu.test.js +19 -0
  40. package/lib/__tests__/Menu.test.js.map +1 -1
  41. package/lib/index.d.ts +2 -0
  42. package/lib/index.d.ts.map +1 -1
  43. package/lib/index.js +2 -0
  44. package/lib/index.js.map +1 -1
  45. package/lib-commonjs/MenuGroup/MenuGroup.d.ts +2 -0
  46. package/lib-commonjs/MenuGroup/MenuGroup.d.ts.map +1 -0
  47. package/lib-commonjs/MenuGroup/MenuGroup.js +38 -0
  48. package/lib-commonjs/MenuGroup/MenuGroup.js.map +1 -0
  49. package/lib-commonjs/MenuGroup/MenuGroup.types.d.ts +15 -0
  50. package/lib-commonjs/MenuGroup/MenuGroup.types.d.ts.map +1 -0
  51. package/lib-commonjs/MenuGroup/MenuGroup.types.js +5 -0
  52. package/lib-commonjs/MenuGroup/MenuGroup.types.js.map +1 -0
  53. package/lib-commonjs/MenuGroup/index.d.ts +4 -0
  54. package/lib-commonjs/MenuGroup/index.d.ts.map +1 -0
  55. package/lib-commonjs/MenuGroup/index.js +8 -0
  56. package/lib-commonjs/MenuGroup/index.js.map +1 -0
  57. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts +3 -0
  58. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts.map +1 -0
  59. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js +18 -0
  60. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js.map +1 -0
  61. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.d.ts +4 -0
  62. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.d.ts.map +1 -0
  63. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js +20 -0
  64. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js.map +1 -0
  65. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.d.ts +16 -0
  66. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.d.ts.map +1 -0
  67. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.js +5 -0
  68. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -0
  69. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +5 -0
  70. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.d.ts.map +1 -0
  71. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js +14 -0
  72. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js.map +1 -0
  73. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +5 -0
  74. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts.map +1 -0
  75. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +15 -0
  76. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js.map +1 -0
  77. package/lib-commonjs/MenuGroupHeader/index.d.ts +4 -0
  78. package/lib-commonjs/MenuGroupHeader/index.d.ts.map +1 -0
  79. package/lib-commonjs/MenuGroupHeader/index.js +8 -0
  80. package/lib-commonjs/MenuGroupHeader/index.js.map +1 -0
  81. package/lib-commonjs/__tests__/Menu.test.js +19 -0
  82. package/lib-commonjs/__tests__/Menu.test.js.map +1 -1
  83. package/lib-commonjs/index.d.ts +2 -0
  84. package/lib-commonjs/index.d.ts.map +1 -1
  85. package/lib-commonjs/index.js +7 -1
  86. package/lib-commonjs/index.js.map +1 -1
  87. package/package.json +10 -10
  88. package/src/MenuGroup/MenuGroup.tsx +44 -0
  89. package/src/MenuGroup/MenuGroup.types.ts +20 -0
  90. package/src/MenuGroup/index.ts +3 -0
  91. package/src/MenuGroupHeader/MenuGroupHeader.styling.ts +25 -0
  92. package/src/MenuGroupHeader/MenuGroupHeader.tsx +31 -0
  93. package/src/MenuGroupHeader/MenuGroupHeader.types.ts +19 -0
  94. package/src/MenuGroupHeader/MenuGroupHeaderTokens.macos.ts +15 -0
  95. package/src/MenuGroupHeader/MenuGroupHeaderTokens.ts +14 -0
  96. package/src/MenuGroupHeader/index.ts +3 -0
  97. package/src/__tests__/Menu.test.tsx +28 -0
  98. package/src/__tests__/__snapshots__/Menu.test.tsx.snap +91 -0
  99. package/src/index.ts +9 -0
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MenuGroupHeader = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var framework_1 = require("@fluentui-react-native/framework");
6
+ var text_1 = require("@fluentui-react-native/text");
7
+ var MenuGroupHeader_styling_1 = require("./MenuGroupHeader.styling");
8
+ var MenuGroupHeader_types_1 = require("./MenuGroupHeader.types");
9
+ exports.MenuGroupHeader = (0, framework_1.compose)(tslib_1.__assign(tslib_1.__assign({ displayName: MenuGroupHeader_types_1.menuGroupHeaderName }, MenuGroupHeader_styling_1.stylingSettings), { slots: {
10
+ root: text_1.TextV1,
11
+ }, useRender: function (userProps, useSlots) {
12
+ var Slots = useSlots(userProps);
13
+ return function (final, children) {
14
+ var mergedProps = tslib_1.__rest((0, framework_1.mergeProps)(userProps, final), []);
15
+ return ((0, framework_1.withSlots)(Slots.root, tslib_1.__assign({ accessible: userProps.accessible }, mergedProps), children));
16
+ };
17
+ } }));
18
+ //# sourceMappingURL=MenuGroupHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeader.js","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeader.tsx"],"names":[],"mappings":";;;;AAGA,8DAAkF;AAElF,oDAA6D;AAE7D,qEAA4D;AAE5D,iEAA8D;AAEjD,QAAA,eAAe,GAAG,IAAA,mBAAO,sCACpC,WAAW,EAAE,2CAAmB,IAC7B,yCAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,aAAI;KACX,EACD,SAAS,EAAE,UAAC,SAA+B,EAAE,QAAuC;QAClF,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAElC,OAAO,UAAC,KAA2B,EAAE,QAAyB;YAC5D,IAAW,WAAW,kBAAK,IAAA,sBAAU,EAAC,SAAS,EAAE,KAAK,CAAC,EAAjD,EAAkB,CAA+B,CAAC;YAExD,OAAO,CACL,2BAAC,KAAK,CAAC,IAAI,qBAAC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAM,WAAW,GAC1D,QAAQ,CACE,CACd,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,IACD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { UseStylingOptions } from '@fluentui-react-native/framework';
2
+ import type { MenuGroupHeaderProps, MenuGroupHeaderTokens, MenuGroupHeaderSlotProps } from './MenuGroupHeader.types';
3
+ export declare const stylingSettings: UseStylingOptions<MenuGroupHeaderProps, MenuGroupHeaderSlotProps, MenuGroupHeaderTokens>;
4
+ //# sourceMappingURL=MenuGroupHeader.styling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeader.styling.d.ts","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeader.styling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAKjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGrH,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,CAgBpH,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stylingSettings = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var framework_1 = require("@fluentui-react-native/framework");
6
+ var framework_2 = require("@fluentui-react-native/framework");
7
+ var MenuGroupHeader_types_1 = require("./MenuGroupHeader.types");
8
+ var MenuGroupHeaderTokens_1 = require("./MenuGroupHeaderTokens");
9
+ exports.stylingSettings = {
10
+ tokens: [MenuGroupHeaderTokens_1.defaultMenuGroupHeaderTokens, MenuGroupHeader_types_1.menuGroupHeaderName],
11
+ slotProps: {
12
+ root: (0, framework_2.buildProps)(function (tokens, theme) {
13
+ return {
14
+ color: tokens.color,
15
+ style: tslib_1.__assign({ marginStart: tokens.gap }, framework_1.fontStyles.from(tokens, theme)),
16
+ };
17
+ }, ['color']),
18
+ },
19
+ };
20
+ //# sourceMappingURL=MenuGroupHeader.styling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeader.styling.js","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeader.styling.ts"],"names":[],"mappings":";;;;AACA,8DAA8D;AAC9D,8DAA8D;AAE9D,iEAA8D;AAE9D,iEAAuE;AAE1D,QAAA,eAAe,GAA6F;IACvH,MAAM,EAAE,CAAC,oDAA4B,EAAE,2CAAmB,CAAC;IAC3D,SAAS,EAAE;QACT,IAAI,EAAE,IAAA,sBAAU,EACd,UAAC,MAA6B,EAAE,KAAY;YAC1C,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,qBACH,WAAW,EAAE,MAAM,CAAC,GAAG,IACpB,sBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAClC;aACF,CAAC;QACJ,CAAC,EACD,CAAC,OAAO,CAAC,CACV;KACF;CACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { TextProps } from '@fluentui-react-native/text';
2
+ import type { FontTokens, IColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
3
+ export declare const menuGroupHeaderName = "MenuGroupHeader";
4
+ export interface MenuGroupHeaderTokens extends LayoutTokens, FontTokens, IColorTokens {
5
+ gap?: number;
6
+ }
7
+ export type MenuGroupHeaderProps = TextProps;
8
+ export interface MenuGroupHeaderSlotProps {
9
+ root: TextProps;
10
+ }
11
+ export interface MenuGroupHeaderType {
12
+ props: MenuGroupHeaderProps;
13
+ tokens: MenuGroupHeaderTokens;
14
+ slotProps: MenuGroupHeaderSlotProps;
15
+ }
16
+ //# sourceMappingURL=MenuGroupHeader.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeader.types.d.ts","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeader.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE5F,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD,MAAM,WAAW,qBAAsB,SAAQ,YAAY,EAAE,UAAU,EAAE,YAAY;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AACD,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,wBAAwB,CAAC;CACrC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.menuGroupHeaderName = void 0;
4
+ exports.menuGroupHeaderName = 'MenuGroupHeader';
5
+ //# sourceMappingURL=MenuGroupHeader.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeader.types.js","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeader.types.ts"],"names":[],"mappings":";;;AAGa,QAAA,mBAAmB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Theme } from '@fluentui-react-native/framework';
2
+ import type { TokenSettings } from '@fluentui-react-native/use-styling';
3
+ import type { MenuGroupHeaderTokens } from './MenuGroupHeader.types';
4
+ export declare const defaultMenuGroupHeaderTokens: TokenSettings<MenuGroupHeaderTokens, Theme>;
5
+ //# sourceMappingURL=MenuGroupHeaderTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeaderTokens.d.ts","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeaderTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,qBAAqB,EAAE,KAAK,CAOnF,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultMenuGroupHeaderTokens = void 0;
4
+ var theme_tokens_1 = require("@fluentui-react-native/theme-tokens");
5
+ var defaultMenuGroupHeaderTokens = function (t) { return ({
6
+ color: t.colors.neutralForeground2,
7
+ fontFamily: t.typography.families.primary,
8
+ fontSize: theme_tokens_1.globalTokens.font.size300,
9
+ fontWeight: theme_tokens_1.globalTokens.font.weight.regular,
10
+ gap: theme_tokens_1.globalTokens.size40,
11
+ padding: theme_tokens_1.globalTokens.size60,
12
+ }); };
13
+ exports.defaultMenuGroupHeaderTokens = defaultMenuGroupHeaderTokens;
14
+ //# sourceMappingURL=MenuGroupHeaderTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeaderTokens.js","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeaderTokens.ts"],"names":[],"mappings":";;;AACA,oEAAmE;AAK5D,IAAM,4BAA4B,GAAgD,UAAC,CAAC,IAA4B,OAAA,CAAC;IACtH,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB;IAClC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO;IACzC,QAAQ,EAAE,2BAAY,CAAC,IAAI,CAAC,OAAO;IACnC,UAAU,EAAE,2BAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0B;IAC/D,GAAG,EAAE,2BAAY,CAAC,MAAM;IACxB,OAAO,EAAE,2BAAY,CAAC,MAAM;CAC7B,CAAC,EAPqH,CAOrH,CAAC;AAPU,QAAA,4BAA4B,gCAOtC"}
@@ -0,0 +1,5 @@
1
+ import type { Theme } from '@fluentui-react-native/framework';
2
+ import type { TokenSettings } from '@fluentui-react-native/use-styling';
3
+ import type { MenuGroupHeaderTokens } from './MenuGroupHeader.types';
4
+ export declare const defaultMenuGroupHeaderTokens: TokenSettings<MenuGroupHeaderTokens, Theme>;
5
+ //# sourceMappingURL=MenuGroupHeaderTokens.macos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeaderTokens.macos.d.ts","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeaderTokens.macos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,qBAAqB,EAAE,KAAK,CAQnF,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultMenuGroupHeaderTokens = void 0;
4
+ var theme_tokens_1 = require("@fluentui-react-native/theme-tokens");
5
+ var defaultMenuGroupHeaderTokens = function (t) { return ({
6
+ color: t.colors.disabledText,
7
+ fontFamily: t.typography.families.primary,
8
+ fontSize: 13,
9
+ fontWeight: theme_tokens_1.globalTokens.font.weight.regular,
10
+ gap: theme_tokens_1.globalTokens.size40,
11
+ paddingHorizontal: 5,
12
+ paddingVertical: 3,
13
+ }); };
14
+ exports.defaultMenuGroupHeaderTokens = defaultMenuGroupHeaderTokens;
15
+ //# sourceMappingURL=MenuGroupHeaderTokens.macos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroupHeaderTokens.macos.js","sourceRoot":"","sources":["../../src/MenuGroupHeader/MenuGroupHeaderTokens.macos.ts"],"names":[],"mappings":";;;AACA,oEAAmE;AAK5D,IAAM,4BAA4B,GAAgD,UAAC,CAAC,IAA4B,OAAA,CAAC;IACtH,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;IAC5B,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO;IACzC,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,2BAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0B;IAC/D,GAAG,EAAE,2BAAY,CAAC,MAAM;IACxB,iBAAiB,EAAE,CAAC;IACpB,eAAe,EAAE,CAAC;CACnB,CAAC,EARqH,CAQrH,CAAC;AARU,QAAA,4BAA4B,gCAQtC"}
@@ -0,0 +1,4 @@
1
+ export { MenuGroupHeader } from './MenuGroupHeader';
2
+ export { menuGroupHeaderName } from './MenuGroupHeader.types';
3
+ export type { MenuGroupHeaderProps, MenuGroupHeaderTokens, MenuGroupHeaderSlotProps, MenuGroupHeaderType } from './MenuGroupHeader.types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/MenuGroupHeader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.menuGroupHeaderName = exports.MenuGroupHeader = void 0;
4
+ var MenuGroupHeader_1 = require("./MenuGroupHeader");
5
+ Object.defineProperty(exports, "MenuGroupHeader", { enumerable: true, get: function () { return MenuGroupHeader_1.MenuGroupHeader; } });
6
+ var MenuGroupHeader_types_1 = require("./MenuGroupHeader.types");
7
+ Object.defineProperty(exports, "menuGroupHeaderName", { enumerable: true, get: function () { return MenuGroupHeader_types_1.menuGroupHeaderName; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/MenuGroupHeader/index.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA"}
@@ -7,6 +7,8 @@ var test_tools_1 = require("@fluentui-react-native/test-tools");
7
7
  var renderer = tslib_1.__importStar(require("react-test-renderer"));
8
8
  var Menu_1 = require("../Menu/Menu");
9
9
  var MenuDivider_1 = require("../MenuDivider/MenuDivider");
10
+ var MenuGroup_1 = require("../MenuGroup");
11
+ var MenuGroupHeader_1 = require("../MenuGroupHeader");
10
12
  var MenuItem_1 = require("../MenuItem/MenuItem");
11
13
  var MenuItemCheckbox_1 = require("../MenuItemCheckbox/MenuItemCheckbox");
12
14
  var MenuItemRadio_1 = require("../MenuItemRadio/MenuItemRadio");
@@ -117,6 +119,23 @@ describe('Menu component tests', function () {
117
119
  expect(tree).toMatchSnapshot();
118
120
  });
119
121
  });
122
+ it('Menu open menu group and menu header', function () {
123
+ var tree = renderer
124
+ .create(React.createElement(Menu_1.Menu, { open: true },
125
+ React.createElement(MenuTrigger_1.default, null,
126
+ React.createElement(button_1.ButtonV1, null, "Open")),
127
+ React.createElement(MenuPopover_1.default, null,
128
+ React.createElement(MenuList_1.MenuList, null,
129
+ React.createElement(MenuGroup_1.MenuGroup, null,
130
+ React.createElement(MenuGroupHeader_1.MenuGroupHeader, null, "Header 1"),
131
+ React.createElement(MenuItem_1.MenuItem, null, "Option 1")),
132
+ React.createElement(MenuDivider_1.MenuDivider, null),
133
+ React.createElement(MenuGroup_1.MenuGroup, null,
134
+ React.createElement(MenuGroupHeader_1.MenuGroupHeader, null, "Header 2"),
135
+ React.createElement(MenuItem_1.MenuItem, null, "Option 1"))))))
136
+ .toJSON();
137
+ expect(tree).toMatchSnapshot();
138
+ });
120
139
  describe('Menu rerender tests', function () {
121
140
  it('Menu re-renders correctly', function () {
122
141
  (0, test_tools_1.checkReRender)(function () { return (React.createElement(Menu_1.Menu, { open: true },
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.test.js","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.test.js","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":"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"}
@@ -7,4 +7,6 @@ export { MenuItemCheckbox, menuItemCheckboxName, MenuItemCheckboxProps, MenuItem
7
7
  export { MenuItemRadio, menuItemRadioName, useMenuItemRadio, MenuItemRadioInfo, MenuItemRadioProps, MenuItemRadioSlotProps, MenuItemRadioTokens, MenuItemRadioType, } from './MenuItemRadio';
8
8
  export { MenuList, menuListName, MenuListProps, MenuListSlotProps, MenuListState, MenuListTokens, MenuListType, useMenuList, useMenuListContextValue, } from './MenuList';
9
9
  export { MenuDivider, menuDividerName, MenuDividerProps, MenuDividerSlotProps, MenuDividerTokens, MenuDividerType } from './MenuDivider';
10
+ export { MenuGroup, menuGroupName, MenuGroupProps, MenuGroupSlotProps, MenuGroupTokens, MenuGroupType } from './MenuGroup';
11
+ export { MenuGroupHeader, menuGroupHeaderName, MenuGroupHeaderProps, MenuGroupHeaderSlotProps, MenuGroupHeaderTokens, MenuGroupHeaderType, } from './MenuGroupHeader';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpI,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpI,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACzI,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3H,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.menuDividerName = exports.MenuDivider = exports.useMenuListContextValue = exports.useMenuList = exports.menuListName = exports.MenuList = exports.useMenuItemRadio = exports.MenuItemRadio = exports.useMenuItemCheckbox = exports.useMenuCheckboxInteraction = exports.menuItemCheckboxName = exports.MenuItemCheckbox = exports.useMenuItem = exports.menuItemName = exports.MenuItem = exports.useMenuPopover = exports.menuPopoverName = exports.MenuPopover = exports.useMenuTrigger = exports.menuTriggerName = exports.MenuTrigger = exports.useMenuContextValue = exports.useMenu = exports.menuName = exports.Menu = exports.MenuTriggerProvider = exports.MenuTriggerContext = exports.useMenuTriggerContext = exports.MenuListProvider = exports.MenuListContext = exports.useMenuListContext = exports.MenuProvider = exports.MenuContext = exports.useMenuContext = void 0;
3
+ exports.menuGroupHeaderName = exports.MenuGroupHeader = exports.menuGroupName = exports.MenuGroup = exports.menuDividerName = exports.MenuDivider = exports.useMenuListContextValue = exports.useMenuList = exports.menuListName = exports.MenuList = exports.useMenuItemRadio = exports.MenuItemRadio = exports.useMenuItemCheckbox = exports.useMenuCheckboxInteraction = exports.menuItemCheckboxName = exports.MenuItemCheckbox = exports.useMenuItem = exports.menuItemName = exports.MenuItem = exports.useMenuPopover = exports.menuPopoverName = exports.MenuPopover = exports.useMenuTrigger = exports.menuTriggerName = exports.MenuTrigger = exports.useMenuContextValue = exports.useMenu = exports.menuName = exports.Menu = exports.MenuTriggerProvider = exports.MenuTriggerContext = exports.useMenuTriggerContext = exports.MenuListProvider = exports.MenuListContext = exports.useMenuListContext = exports.MenuProvider = exports.MenuContext = exports.useMenuContext = void 0;
4
4
  var context_1 = require("./context");
5
5
  Object.defineProperty(exports, "useMenuContext", { enumerable: true, get: function () { return context_1.useMenuContext; } });
6
6
  Object.defineProperty(exports, "MenuContext", { enumerable: true, get: function () { return context_1.MenuContext; } });
@@ -44,4 +44,10 @@ Object.defineProperty(exports, "useMenuListContextValue", { enumerable: true, ge
44
44
  var MenuDivider_1 = require("./MenuDivider");
45
45
  Object.defineProperty(exports, "MenuDivider", { enumerable: true, get: function () { return MenuDivider_1.MenuDivider; } });
46
46
  Object.defineProperty(exports, "menuDividerName", { enumerable: true, get: function () { return MenuDivider_1.menuDividerName; } });
47
+ var MenuGroup_1 = require("./MenuGroup");
48
+ Object.defineProperty(exports, "MenuGroup", { enumerable: true, get: function () { return MenuGroup_1.MenuGroup; } });
49
+ Object.defineProperty(exports, "menuGroupName", { enumerable: true, get: function () { return MenuGroup_1.menuGroupName; } });
50
+ var MenuGroupHeader_1 = require("./MenuGroupHeader");
51
+ Object.defineProperty(exports, "MenuGroupHeader", { enumerable: true, get: function () { return MenuGroupHeader_1.MenuGroupHeader; } });
52
+ Object.defineProperty(exports, "menuGroupHeaderName", { enumerable: true, get: function () { return MenuGroupHeader_1.menuGroupHeaderName; } });
47
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAYmB;AAXjB,yGAAA,cAAc,OAAA;AACd,sGAAA,WAAW,OAAA;AAEX,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AAEf,2GAAA,gBAAgB,OAAA;AAChB,gHAAA,qBAAqB,OAAA;AACrB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AAErB,+BAA4F;AAAnF,4FAAA,IAAI,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAAwB,+FAAA,OAAO,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AAC3E,6CAAsH;AAA7G,0GAAA,WAAW,OAAA;AAAE,8GAAA,eAAe,OAAA;AAA2C,6GAAA,cAAc,OAAA;AAC9F,6CAAoI;AAA3H,0GAAA,WAAW,OAAA;AAAE,8GAAA,eAAe,OAAA;AAAyD,6GAAA,cAAc,OAAA;AAC5G,uCAUoB;AATlB,oGAAA,QAAQ,OAAA;AACR,wGAAA,YAAY,OAAA;AAOZ,uGAAA,WAAW,OAAA;AAEb,uDAU4B;AAT1B,oHAAA,gBAAgB,OAAA;AAChB,wHAAA,oBAAoB,OAAA;AAMpB,8HAAA,0BAA0B,OAAA;AAC1B,uHAAA,mBAAmB,OAAA;AAErB,iDASyB;AARvB,8GAAA,aAAa,OAAA;AAEb,iHAAA,gBAAgB,OAAA;AAOlB,uCAUoB;AATlB,oGAAA,QAAQ,OAAA;AACR,wGAAA,YAAY,OAAA;AAMZ,uGAAA,WAAW,OAAA;AACX,mHAAA,uBAAuB,OAAA;AAEzB,6CAAyI;AAAhI,0GAAA,WAAW,OAAA;AAAE,8GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAYmB;AAXjB,yGAAA,cAAc,OAAA;AACd,sGAAA,WAAW,OAAA;AAEX,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AAEf,2GAAA,gBAAgB,OAAA;AAChB,gHAAA,qBAAqB,OAAA;AACrB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AAErB,+BAA4F;AAAnF,4FAAA,IAAI,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAAwB,+FAAA,OAAO,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AAC3E,6CAAsH;AAA7G,0GAAA,WAAW,OAAA;AAAE,8GAAA,eAAe,OAAA;AAA2C,6GAAA,cAAc,OAAA;AAC9F,6CAAoI;AAA3H,0GAAA,WAAW,OAAA;AAAE,8GAAA,eAAe,OAAA;AAAyD,6GAAA,cAAc,OAAA;AAC5G,uCAUoB;AATlB,oGAAA,QAAQ,OAAA;AACR,wGAAA,YAAY,OAAA;AAOZ,uGAAA,WAAW,OAAA;AAEb,uDAU4B;AAT1B,oHAAA,gBAAgB,OAAA;AAChB,wHAAA,oBAAoB,OAAA;AAMpB,8HAAA,0BAA0B,OAAA;AAC1B,uHAAA,mBAAmB,OAAA;AAErB,iDASyB;AARvB,8GAAA,aAAa,OAAA;AAEb,iHAAA,gBAAgB,OAAA;AAOlB,uCAUoB;AATlB,oGAAA,QAAQ,OAAA;AACR,wGAAA,YAAY,OAAA;AAMZ,uGAAA,WAAW,OAAA;AACX,mHAAA,uBAAuB,OAAA;AAEzB,6CAAyI;AAAhI,0GAAA,WAAW,OAAA;AAAE,8GAAA,eAAe,OAAA;AACrC,yCAA2H;AAAlH,sGAAA,SAAS,OAAA;AAAE,0GAAA,aAAa,OAAA;AACjC,qDAO2B;AANzB,kHAAA,eAAe,OAAA;AACf,sHAAA,mBAAmB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/menu",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
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,19 +23,19 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@fluentui-react-native/adapters": ">=0.10.2 <1.0.0",
26
- "@fluentui-react-native/callout": ">=0.23.12 <1.0.0",
27
- "@fluentui-react-native/focus-zone": ">=0.11.41 <1.0.0",
28
- "@fluentui-react-native/framework": "0.9.8",
29
- "@fluentui-react-native/icon": "^0.17.25",
30
- "@fluentui-react-native/interactive-hooks": ">=0.22.29 <1.0.0",
31
- "@fluentui-react-native/text": ">=0.19.31 <1.0.0",
32
- "@fluentui-react-native/theme-tokens": ">=0.24.5 <1.0.0",
33
- "@fluentui-react-native/tokens": ">=0.20.14 <1.0.0",
26
+ "@fluentui-react-native/callout": ">=0.23.13 <1.0.0",
27
+ "@fluentui-react-native/focus-zone": ">=0.11.42 <1.0.0",
28
+ "@fluentui-react-native/framework": "0.9.9",
29
+ "@fluentui-react-native/icon": "^0.17.26",
30
+ "@fluentui-react-native/interactive-hooks": ">=0.22.30 <1.0.0",
31
+ "@fluentui-react-native/text": ">=0.19.32 <1.0.0",
32
+ "@fluentui-react-native/theme-tokens": ">=0.24.6 <1.0.0",
33
+ "@fluentui-react-native/tokens": ">=0.20.15 <1.0.0",
34
34
  "@fluentui-react-native/use-styling": ">=0.9.4 <1.0.0",
35
35
  "tslib": "^2.3.1"
36
36
  },
37
37
  "devDependencies": {
38
- "@fluentui-react-native/button": ">=0.32.51 <1.0.0",
38
+ "@fluentui-react-native/button": ">=0.32.52 <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",
@@ -0,0 +1,44 @@
1
+ /** @jsx withSlots */
2
+ import React from 'react';
3
+ import { View } from 'react-native';
4
+
5
+ import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';
6
+ import type { UseSlots } from '@fluentui-react-native/framework';
7
+
8
+ import type { MenuGroupProps, MenuGroupType } from './MenuGroup.types';
9
+ import { menuGroupName } from './MenuGroup.types';
10
+
11
+ export const MenuGroup = compose<MenuGroupType>({
12
+ displayName: menuGroupName,
13
+ slots: {
14
+ root: View,
15
+ },
16
+ useRender: (userProps: MenuGroupProps, useSlots: UseSlots<MenuGroupType>) => {
17
+ const Slots = useSlots(userProps);
18
+ return (final: MenuGroupProps, children: React.ReactNode) => {
19
+ const { ...mergedProps } = mergeProps(userProps, final);
20
+
21
+ let itemPosition = 0;
22
+ const childrenWithSet = React.Children.toArray(children).map((child) => {
23
+ if (React.isValidElement(child)) {
24
+ const itemCount = React.Children.toArray(children).filter(
25
+ (child) => React.isValidElement(child) && (child as any).type.displayName !== 'MenuGroupHeader',
26
+ ).length;
27
+
28
+ if ((child as any).type.displayName !== 'MenuGroupHeader') {
29
+ itemPosition++;
30
+ }
31
+ return React.cloneElement(
32
+ child as React.ReactElement<unknown, string | React.JSXElementConstructor<any>>,
33
+ {
34
+ accessibilityPositionInSet: child.props.accessibilityPositionInSet ?? itemPosition, // win32
35
+ accessibilitySetSize: child.props.accessibilitySetSize ?? itemCount, //win32
36
+ } as any,
37
+ );
38
+ }
39
+ return child;
40
+ });
41
+ return <Slots.root {...mergedProps}>{childrenWithSet}</Slots.root>;
42
+ };
43
+ },
44
+ });
@@ -0,0 +1,20 @@
1
+ import type { ViewProps } from 'react-native';
2
+
3
+ import type { IViewProps } from '@fluentui-react-native/adapters';
4
+ import type { LayoutTokens } from '@fluentui-react-native/tokens';
5
+
6
+ export const menuGroupName = 'MenuGroup';
7
+
8
+ export type MenuGroupTokens = LayoutTokens;
9
+
10
+ export type MenuGroupProps = IViewProps;
11
+
12
+ export interface MenuGroupSlotProps {
13
+ root: ViewProps;
14
+ }
15
+
16
+ export interface MenuGroupType {
17
+ props: MenuGroupProps;
18
+ tokens: MenuGroupTokens;
19
+ slotProps: MenuGroupSlotProps;
20
+ }
@@ -0,0 +1,3 @@
1
+ export { MenuGroup } from './MenuGroup';
2
+ export { menuGroupName } from './MenuGroup.types';
3
+ export type { MenuGroupProps, MenuGroupTokens, MenuGroupSlotProps, MenuGroupType } from './MenuGroup.types';
@@ -0,0 +1,25 @@
1
+ import type { Theme, UseStylingOptions } from '@fluentui-react-native/framework';
2
+ import { fontStyles } from '@fluentui-react-native/framework';
3
+ import { buildProps } from '@fluentui-react-native/framework';
4
+
5
+ import { menuGroupHeaderName } from './MenuGroupHeader.types';
6
+ import type { MenuGroupHeaderProps, MenuGroupHeaderTokens, MenuGroupHeaderSlotProps } from './MenuGroupHeader.types';
7
+ import { defaultMenuGroupHeaderTokens } from './MenuGroupHeaderTokens';
8
+
9
+ export const stylingSettings: UseStylingOptions<MenuGroupHeaderProps, MenuGroupHeaderSlotProps, MenuGroupHeaderTokens> = {
10
+ tokens: [defaultMenuGroupHeaderTokens, menuGroupHeaderName],
11
+ slotProps: {
12
+ root: buildProps(
13
+ (tokens: MenuGroupHeaderTokens, theme: Theme) => {
14
+ return {
15
+ color: tokens.color,
16
+ style: {
17
+ marginStart: tokens.gap,
18
+ ...fontStyles.from(tokens, theme),
19
+ },
20
+ };
21
+ },
22
+ ['color'],
23
+ ),
24
+ },
25
+ };
@@ -0,0 +1,31 @@
1
+ /** @jsx withSlots */
2
+ import React from 'react';
3
+
4
+ import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';
5
+ import type { UseSlots } from '@fluentui-react-native/framework';
6
+ import { TextV1 as Text } from '@fluentui-react-native/text';
7
+
8
+ import { stylingSettings } from './MenuGroupHeader.styling';
9
+ import type { MenuGroupHeaderProps, MenuGroupHeaderType } from './MenuGroupHeader.types';
10
+ import { menuGroupHeaderName } from './MenuGroupHeader.types';
11
+
12
+ export const MenuGroupHeader = compose<MenuGroupHeaderType>({
13
+ displayName: menuGroupHeaderName,
14
+ ...stylingSettings,
15
+ slots: {
16
+ root: Text,
17
+ },
18
+ useRender: (userProps: MenuGroupHeaderProps, useSlots: UseSlots<MenuGroupHeaderType>) => {
19
+ const Slots = useSlots(userProps);
20
+
21
+ return (final: MenuGroupHeaderProps, children: React.ReactNode) => {
22
+ const { ...mergedProps } = mergeProps(userProps, final);
23
+
24
+ return (
25
+ <Slots.root accessible={userProps.accessible} {...mergedProps}>
26
+ {children}
27
+ </Slots.root>
28
+ );
29
+ };
30
+ },
31
+ });
@@ -0,0 +1,19 @@
1
+ import type { TextProps } from '@fluentui-react-native/text';
2
+ import type { FontTokens, IColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
3
+
4
+ export const menuGroupHeaderName = 'MenuGroupHeader';
5
+
6
+ export interface MenuGroupHeaderTokens extends LayoutTokens, FontTokens, IColorTokens {
7
+ gap?: number;
8
+ }
9
+ export type MenuGroupHeaderProps = TextProps;
10
+
11
+ export interface MenuGroupHeaderSlotProps {
12
+ root: TextProps;
13
+ }
14
+
15
+ export interface MenuGroupHeaderType {
16
+ props: MenuGroupHeaderProps;
17
+ tokens: MenuGroupHeaderTokens;
18
+ slotProps: MenuGroupHeaderSlotProps;
19
+ }
@@ -0,0 +1,15 @@
1
+ import type { FontWeightValue, Theme } from '@fluentui-react-native/framework';
2
+ import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
+ import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
5
+ import type { MenuGroupHeaderTokens } from './MenuGroupHeader.types';
6
+
7
+ export const defaultMenuGroupHeaderTokens: TokenSettings<MenuGroupHeaderTokens, Theme> = (t): MenuGroupHeaderTokens => ({
8
+ color: t.colors.disabledText,
9
+ fontFamily: t.typography.families.primary,
10
+ fontSize: 13,
11
+ fontWeight: globalTokens.font.weight.regular as FontWeightValue,
12
+ gap: globalTokens.size40,
13
+ paddingHorizontal: 5,
14
+ paddingVertical: 3,
15
+ });
@@ -0,0 +1,14 @@
1
+ import type { FontWeightValue, Theme } from '@fluentui-react-native/framework';
2
+ import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
+ import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
5
+ import type { MenuGroupHeaderTokens } from './MenuGroupHeader.types';
6
+
7
+ export const defaultMenuGroupHeaderTokens: TokenSettings<MenuGroupHeaderTokens, Theme> = (t): MenuGroupHeaderTokens => ({
8
+ color: t.colors.neutralForeground2,
9
+ fontFamily: t.typography.families.primary,
10
+ fontSize: globalTokens.font.size300,
11
+ fontWeight: globalTokens.font.weight.regular as FontWeightValue,
12
+ gap: globalTokens.size40,
13
+ padding: globalTokens.size60,
14
+ });
@@ -0,0 +1,3 @@
1
+ export { MenuGroupHeader } from './MenuGroupHeader';
2
+ export { menuGroupHeaderName } from './MenuGroupHeader.types';
3
+ export type { MenuGroupHeaderProps, MenuGroupHeaderTokens, MenuGroupHeaderSlotProps, MenuGroupHeaderType } from './MenuGroupHeader.types';
@@ -7,6 +7,8 @@ import * as renderer from 'react-test-renderer';
7
7
 
8
8
  import { Menu } from '../Menu/Menu';
9
9
  import { MenuDivider } from '../MenuDivider/MenuDivider';
10
+ import { MenuGroup } from '../MenuGroup';
11
+ import { MenuGroupHeader } from '../MenuGroupHeader';
10
12
  import { MenuItem } from '../MenuItem/MenuItem';
11
13
  import { MenuItemCheckbox } from '../MenuItemCheckbox/MenuItemCheckbox';
12
14
  import { MenuItemRadio } from '../MenuItemRadio/MenuItemRadio';
@@ -180,6 +182,32 @@ describe('Menu component tests', () => {
180
182
  });
181
183
  });
182
184
 
185
+ it('Menu open menu group and menu header', () => {
186
+ const tree = renderer
187
+ .create(
188
+ <Menu open>
189
+ <MenuTrigger>
190
+ <Button>Open</Button>
191
+ </MenuTrigger>
192
+ <MenuPopover>
193
+ <MenuList>
194
+ <MenuGroup>
195
+ <MenuGroupHeader>Header 1</MenuGroupHeader>
196
+ <MenuItem>Option 1</MenuItem>
197
+ </MenuGroup>
198
+ <MenuDivider></MenuDivider>
199
+ <MenuGroup>
200
+ <MenuGroupHeader>Header 2</MenuGroupHeader>
201
+ <MenuItem>Option 1</MenuItem>
202
+ </MenuGroup>
203
+ </MenuList>
204
+ </MenuPopover>
205
+ </Menu>,
206
+ )
207
+ .toJSON();
208
+ expect(tree).toMatchSnapshot();
209
+ });
210
+
183
211
  describe('Menu rerender tests', () => {
184
212
  it('Menu re-renders correctly', () => {
185
213
  checkReRender(