@fluentui-react-native/menu 0.7.0 → 0.9.1

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 (131) hide show
  1. package/CHANGELOG.json +76 -1
  2. package/CHANGELOG.md +31 -2
  3. package/lib/MenuDivider/MenuDivider.d.ts +2 -0
  4. package/lib/MenuDivider/MenuDivider.d.ts.map +1 -0
  5. package/lib/MenuDivider/MenuDivider.js +15 -0
  6. package/lib/MenuDivider/MenuDivider.js.map +1 -0
  7. package/lib/MenuDivider/MenuDivider.styling.d.ts +4 -0
  8. package/lib/MenuDivider/MenuDivider.styling.d.ts.map +1 -0
  9. package/lib/MenuDivider/MenuDivider.styling.js +19 -0
  10. package/lib/MenuDivider/MenuDivider.styling.js.map +1 -0
  11. package/lib/MenuDivider/MenuDivider.types.d.ts +21 -0
  12. package/lib/MenuDivider/MenuDivider.types.d.ts.map +1 -0
  13. package/lib/MenuDivider/MenuDivider.types.js +2 -0
  14. package/lib/MenuDivider/MenuDivider.types.js.map +1 -0
  15. package/lib/MenuDivider/MenuDividerTokens.d.ts +5 -0
  16. package/lib/MenuDivider/MenuDividerTokens.d.ts.map +1 -0
  17. package/lib/MenuDivider/MenuDividerTokens.js +7 -0
  18. package/lib/MenuDivider/MenuDividerTokens.js.map +1 -0
  19. package/lib/MenuDivider/MenuDividerTokens.win32.d.ts +5 -0
  20. package/lib/MenuDivider/MenuDividerTokens.win32.d.ts.map +1 -0
  21. package/lib/MenuDivider/MenuDividerTokens.win32.js +7 -0
  22. package/lib/MenuDivider/MenuDividerTokens.win32.js.map +1 -0
  23. package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
  24. package/lib/MenuItem/useMenuItem.js +3 -2
  25. package/lib/MenuItem/useMenuItem.js.map +1 -1
  26. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -1
  27. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +1 -0
  28. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
  29. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +3 -4
  30. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  31. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  32. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +31 -13
  33. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  34. package/lib/MenuList/MenuList.d.ts.map +1 -1
  35. package/lib/MenuList/MenuList.js +8 -2
  36. package/lib/MenuList/MenuList.js.map +1 -1
  37. package/lib/MenuList/MenuList.types.d.ts +7 -0
  38. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  39. package/lib/MenuList/MenuList.types.js.map +1 -1
  40. package/lib/MenuList/useMenuContextValue.d.ts +4 -0
  41. package/lib/MenuList/useMenuContextValue.d.ts.map +1 -0
  42. package/lib/MenuList/useMenuContextValue.js +5 -0
  43. package/lib/MenuList/useMenuContextValue.js.map +1 -0
  44. package/lib/MenuList/useMenuList.d.ts +3 -0
  45. package/lib/MenuList/useMenuList.d.ts.map +1 -0
  46. package/lib/MenuList/useMenuList.js +31 -0
  47. package/lib/MenuList/useMenuList.js.map +1 -0
  48. package/lib/context/menuContext.d.ts.map +1 -1
  49. package/lib/context/menuContext.js +4 -0
  50. package/lib/context/menuContext.js.map +1 -1
  51. package/lib/context/menuListContext.d.ts +9 -0
  52. package/lib/context/menuListContext.d.ts.map +1 -1
  53. package/lib/context/menuListContext.js +10 -1
  54. package/lib/context/menuListContext.js.map +1 -1
  55. package/lib/index.d.ts +1 -0
  56. package/lib/index.d.ts.map +1 -1
  57. package/lib/index.js +1 -0
  58. package/lib/index.js.map +1 -1
  59. package/lib-commonjs/MenuDivider/MenuDivider.d.ts +2 -0
  60. package/lib-commonjs/MenuDivider/MenuDivider.d.ts.map +1 -0
  61. package/lib-commonjs/MenuDivider/MenuDivider.js +18 -0
  62. package/lib-commonjs/MenuDivider/MenuDivider.js.map +1 -0
  63. package/lib-commonjs/MenuDivider/MenuDivider.styling.d.ts +4 -0
  64. package/lib-commonjs/MenuDivider/MenuDivider.styling.d.ts.map +1 -0
  65. package/lib-commonjs/MenuDivider/MenuDivider.styling.js +22 -0
  66. package/lib-commonjs/MenuDivider/MenuDivider.styling.js.map +1 -0
  67. package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts +21 -0
  68. package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts.map +1 -0
  69. package/lib-commonjs/MenuDivider/MenuDivider.types.js +5 -0
  70. package/lib-commonjs/MenuDivider/MenuDivider.types.js.map +1 -0
  71. package/lib-commonjs/MenuDivider/MenuDividerTokens.d.ts +5 -0
  72. package/lib-commonjs/MenuDivider/MenuDividerTokens.d.ts.map +1 -0
  73. package/lib-commonjs/MenuDivider/MenuDividerTokens.js +11 -0
  74. package/lib-commonjs/MenuDivider/MenuDividerTokens.js.map +1 -0
  75. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.d.ts +5 -0
  76. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.d.ts.map +1 -0
  77. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js +11 -0
  78. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js.map +1 -0
  79. package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
  80. package/lib-commonjs/MenuItem/useMenuItem.js +3 -2
  81. package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
  82. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -1
  83. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js +1 -0
  84. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
  85. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +3 -4
  86. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  87. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  88. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +29 -11
  89. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  90. package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
  91. package/lib-commonjs/MenuList/MenuList.js +8 -2
  92. package/lib-commonjs/MenuList/MenuList.js.map +1 -1
  93. package/lib-commonjs/MenuList/MenuList.types.d.ts +7 -0
  94. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  95. package/lib-commonjs/MenuList/MenuList.types.js.map +1 -1
  96. package/lib-commonjs/MenuList/useMenuContextValue.d.ts +4 -0
  97. package/lib-commonjs/MenuList/useMenuContextValue.d.ts.map +1 -0
  98. package/lib-commonjs/MenuList/useMenuContextValue.js +9 -0
  99. package/lib-commonjs/MenuList/useMenuContextValue.js.map +1 -0
  100. package/lib-commonjs/MenuList/useMenuList.d.ts +3 -0
  101. package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -0
  102. package/lib-commonjs/MenuList/useMenuList.js +35 -0
  103. package/lib-commonjs/MenuList/useMenuList.js.map +1 -0
  104. package/lib-commonjs/context/menuContext.d.ts.map +1 -1
  105. package/lib-commonjs/context/menuContext.js +4 -0
  106. package/lib-commonjs/context/menuContext.js.map +1 -1
  107. package/lib-commonjs/context/menuListContext.d.ts +9 -0
  108. package/lib-commonjs/context/menuListContext.d.ts.map +1 -1
  109. package/lib-commonjs/context/menuListContext.js +14 -0
  110. package/lib-commonjs/context/menuListContext.js.map +1 -1
  111. package/lib-commonjs/index.d.ts +1 -0
  112. package/lib-commonjs/index.d.ts.map +1 -1
  113. package/lib-commonjs/index.js +3 -1
  114. package/lib-commonjs/index.js.map +1 -1
  115. package/package.json +7 -7
  116. package/src/MenuDivider/MenuDivider.styling.ts +22 -0
  117. package/src/MenuDivider/MenuDivider.tsx +20 -0
  118. package/src/MenuDivider/MenuDivider.types.ts +25 -0
  119. package/src/MenuDivider/MenuDividerTokens.ts +10 -0
  120. package/src/MenuDivider/MenuDividerTokens.win32.ts +10 -0
  121. package/src/MenuItem/useMenuItem.ts +3 -2
  122. package/src/MenuItemCheckbox/MenuItemCheckbox.styling.ts +1 -0
  123. package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +4 -6
  124. package/src/MenuItemCheckbox/useMenuItemCheckbox.ts +64 -16
  125. package/src/MenuList/MenuList.tsx +11 -2
  126. package/src/MenuList/MenuList.types.ts +8 -0
  127. package/src/MenuList/useMenuContextValue.ts +6 -0
  128. package/src/MenuList/useMenuList.ts +49 -0
  129. package/src/context/menuContext.ts +4 -0
  130. package/src/context/menuListContext.ts +18 -0
  131. package/src/index.ts +1 -0
package/CHANGELOG.json CHANGED
@@ -2,7 +2,82 @@
2
2
  "name": "@fluentui-react-native/menu",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 16 May 2022 17:35:36 GMT",
5
+ "date": "Sat, 21 May 2022 01:46:24 GMT",
6
+ "tag": "@fluentui-react-native/menu_v0.9.1",
7
+ "version": "0.9.1",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "beachball",
12
+ "package": "@fluentui-react-native/menu",
13
+ "comment": "Bump @fluentui-react-native/callout to v0.20.1",
14
+ "commit": "5c1efc2232601998fc0dd0bb1607e7ffafbe5613"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@fluentui-react-native/menu",
19
+ "comment": "Bump @fluentui-react-native/experimental-text to v0.7.27",
20
+ "commit": "5c1efc2232601998fc0dd0bb1607e7ffafbe5613"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@fluentui-react-native/menu",
25
+ "comment": "Bump @fluentui-react-native/framework to v0.7.27",
26
+ "commit": "5c1efc2232601998fc0dd0bb1607e7ffafbe5613"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@fluentui-react-native/menu",
31
+ "comment": "Bump @fluentui-react-native/interactive-hooks to v0.15.7",
32
+ "commit": "5c1efc2232601998fc0dd0bb1607e7ffafbe5613"
33
+ },
34
+ {
35
+ "author": "beachball",
36
+ "package": "@fluentui-react-native/menu",
37
+ "comment": "Bump @fluentui-react-native/theme-tokens to v0.16.3",
38
+ "commit": "5c1efc2232601998fc0dd0bb1607e7ffafbe5613"
39
+ },
40
+ {
41
+ "author": "beachball",
42
+ "package": "@fluentui-react-native/menu",
43
+ "comment": "Bump @fluentui-react-native/tokens to v0.12.1",
44
+ "commit": "5c1efc2232601998fc0dd0bb1607e7ffafbe5613"
45
+ }
46
+ ]
47
+ }
48
+ },
49
+ {
50
+ "date": "Fri, 20 May 2022 19:53:48 GMT",
51
+ "tag": "@fluentui-react-native/menu_v0.9.0",
52
+ "version": "0.9.0",
53
+ "comments": {
54
+ "minor": [
55
+ {
56
+ "author": "ruaraki@microsoft.com",
57
+ "package": "@fluentui-react-native/menu",
58
+ "commit": "1b2eb8874e0571a19cdbab4ba78e3b112d025817",
59
+ "comment": "Implement MenuDivider"
60
+ }
61
+ ]
62
+ }
63
+ },
64
+ {
65
+ "date": "Fri, 20 May 2022 18:23:41 GMT",
66
+ "tag": "@fluentui-react-native/menu_v0.8.0",
67
+ "version": "0.8.0",
68
+ "comments": {
69
+ "minor": [
70
+ {
71
+ "author": "ruaraki@microsoft.com",
72
+ "package": "@fluentui-react-native/menu",
73
+ "commit": "e121f1b23ba443ebacff6d74cae04f48eff8e329",
74
+ "comment": "Implement toggle behavior on MenuItemCheckbox"
75
+ }
76
+ ]
77
+ }
78
+ },
79
+ {
80
+ "date": "Mon, 16 May 2022 17:35:49 GMT",
6
81
  "tag": "@fluentui-react-native/menu_v0.7.0",
7
82
  "version": "0.7.0",
8
83
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,41 @@
1
1
  # Change Log - @fluentui-react-native/menu
2
2
 
3
- This log was last generated on Mon, 16 May 2022 17:35:36 GMT and should not be manually modified.
3
+ This log was last generated on Sat, 21 May 2022 01:46:24 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.9.1
8
+
9
+ Sat, 21 May 2022 01:46:24 GMT
10
+
11
+ ### Patches
12
+
13
+ - Bump @fluentui-react-native/callout to v0.20.1
14
+ - Bump @fluentui-react-native/experimental-text to v0.7.27
15
+ - Bump @fluentui-react-native/framework to v0.7.27
16
+ - Bump @fluentui-react-native/interactive-hooks to v0.15.7
17
+ - Bump @fluentui-react-native/theme-tokens to v0.16.3
18
+ - Bump @fluentui-react-native/tokens to v0.12.1
19
+
20
+ ## 0.9.0
21
+
22
+ Fri, 20 May 2022 19:53:48 GMT
23
+
24
+ ### Minor changes
25
+
26
+ - Implement MenuDivider (ruaraki@microsoft.com)
27
+
28
+ ## 0.8.0
29
+
30
+ Fri, 20 May 2022 18:23:41 GMT
31
+
32
+ ### Minor changes
33
+
34
+ - Implement toggle behavior on MenuItemCheckbox (ruaraki@microsoft.com)
35
+
7
36
  ## 0.7.0
8
37
 
9
- Mon, 16 May 2022 17:35:36 GMT
38
+ Mon, 16 May 2022 17:35:49 GMT
10
39
 
11
40
  ### Minor changes
12
41
 
@@ -0,0 +1,2 @@
1
+ export declare const MenuDivider: import("@fluentui-react-native/framework").ComposableComponent<import("@fluentui-react-native/adapters").IViewProps, import("./MenuDivider.types").MenuDividerSlotProps, import("./MenuDivider.types").MenuDividerTokens, object>;
2
+ //# sourceMappingURL=MenuDivider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDivider.d.ts","sourceRoot":"","sources":["../../src/MenuDivider/MenuDivider.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,mOAatB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { __assign } from "tslib";
2
+ /** @jsx withSlots */
3
+ import { View } from 'react-native';
4
+ import { compose, withSlots } from '@fluentui-react-native/framework';
5
+ import { menuDividerName } from './MenuDivider.types';
6
+ import { stylingSettings } from './MenuDivider.styling';
7
+ export var MenuDivider = compose(__assign(__assign({ displayName: menuDividerName }, stylingSettings), { slots: {
8
+ root: View,
9
+ }, useRender: function (userProps, useSlots) {
10
+ var Slots = useSlots(userProps);
11
+ return function (final) {
12
+ return withSlots(Slots.root, __assign({}, final));
13
+ };
14
+ } }));
15
+ //# sourceMappingURL=MenuDivider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDivider.js","sourceRoot":"","sources":["../../src/MenuDivider/MenuDivider.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAqC,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,IAAM,WAAW,GAAG,OAAO,qBAChC,WAAW,EAAE,eAAe,IACzB,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;KACX,EACD,SAAS,EAAE,UAAC,SAA2B,EAAE,QAAmC;QAC1E,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAElC,OAAO,UAAC,KAAuB;YAC7B,OAAO,UAAC,KAAK,CAAC,IAAI,eAAK,KAAK,EAAI,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC,IACD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { UseStylingOptions } from '@fluentui-react-native/framework';
2
+ import { MenuDividerProps, MenuDividerTokens, MenuDividerSlotProps } from './MenuDivider.types';
3
+ export declare const stylingSettings: UseStylingOptions<MenuDividerProps, MenuDividerSlotProps, MenuDividerTokens>;
4
+ //# sourceMappingURL=MenuDivider.styling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDivider.styling.d.ts","sourceRoot":"","sources":["../../src/MenuDivider/MenuDivider.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AAEjF,OAAO,EAAmB,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEjH,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,CAiBxG,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { buildProps } from '@fluentui-react-native/framework';
2
+ import { defaultMenuDividerTokens } from './MenuDividerTokens.win32';
3
+ import { menuDividerName } from './MenuDivider.types';
4
+ export var stylingSettings = {
5
+ tokens: [defaultMenuDividerTokens, menuDividerName],
6
+ slotProps: {
7
+ root: buildProps(function (tokens) { return ({
8
+ style: {
9
+ height: tokens.height,
10
+ width: tokens.width,
11
+ backgroundColor: tokens.backgroundColor,
12
+ margin: tokens.margin,
13
+ marginVertical: tokens.marginVertical,
14
+ display: 'flex',
15
+ },
16
+ }); }, ['backgroundColor', 'height', 'margin', 'marginVertical', 'width']),
17
+ },
18
+ };
19
+ //# sourceMappingURL=MenuDivider.styling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDivider.styling.js","sourceRoot":"","sources":["../../src/MenuDivider/MenuDivider.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAA6D,MAAM,qBAAqB,CAAC;AAEjH,MAAM,CAAC,IAAM,eAAe,GAAiF;IAC3G,MAAM,EAAE,CAAC,wBAAwB,EAAE,eAAe,CAAC;IACnD,SAAS,EAAE;QACT,IAAI,EAAE,UAAU,CACd,UAAC,MAAyB,IAAK,OAAA,CAAC;YAC9B,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,EAT6B,CAS7B,EACF,CAAC,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CACnE;KACF;CACF,CAAC"}
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+ import type { IViewProps } from '@fluentui-react-native/adapters';
4
+ import { IBackgroundColorTokens } from '@fluentui-react-native/tokens';
5
+ export declare const menuDividerName = "MenuDivider";
6
+ export declare type MenuDividerTokens = IBackgroundColorTokens & {
7
+ height?: number;
8
+ margin?: number;
9
+ marginVertical?: number;
10
+ width?: ViewStyle['width'];
11
+ };
12
+ export declare type MenuDividerProps = IViewProps;
13
+ export interface MenuDividerSlotProps {
14
+ root: React.PropsWithRef<IViewProps>;
15
+ }
16
+ export interface MenuDividerType {
17
+ props: MenuDividerProps;
18
+ tokens: MenuDividerTokens;
19
+ slotProps: MenuDividerSlotProps;
20
+ }
21
+ //# sourceMappingURL=MenuDivider.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDivider.types.d.ts","sourceRoot":"","sources":["../../src/MenuDivider/MenuDivider.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,oBAAY,iBAAiB,GAAG,sBAAsB,GAAG;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC5B,CAAC;AAEF,oBAAY,gBAAgB,GAAG,UAAU,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,oBAAoB,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export var menuDividerName = 'MenuDivider';
2
+ //# sourceMappingURL=MenuDivider.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDivider.types.js","sourceRoot":"","sources":["../../src/MenuDivider/MenuDivider.types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,IAAM,eAAe,GAAG,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Theme } from '@fluentui-react-native/framework';
2
+ import { TokenSettings } from '@fluentui-react-native/use-styling';
3
+ import { MenuDividerTokens } from './MenuDivider.types';
4
+ export declare const defaultMenuDividerTokens: TokenSettings<MenuDividerTokens, Theme>;
5
+ //# sourceMappingURL=MenuDividerTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDividerTokens.d.ts","sourceRoot":"","sources":["../../src/MenuDivider/MenuDividerTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAI3E,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { globalTokens } from '@fluentui-react-native/theme-tokens';
2
+ export var defaultMenuDividerTokens = function (t) { return ({
3
+ backgroundColor: t.colors.neutralStroke2,
4
+ height: globalTokens.stroke.width.thin,
5
+ marginVertical: globalTokens.spacing.xs,
6
+ }); };
7
+ //# sourceMappingURL=MenuDividerTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDividerTokens.js","sourceRoot":"","sources":["../../src/MenuDivider/MenuDividerTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAInE,MAAM,CAAC,IAAM,wBAAwB,GAA4C,UAAC,CAAQ,IAAwB,OAAA,CAAC;IACjH,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;IACxC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;IACtC,cAAc,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE;CACxC,CAAC,EAJgH,CAIhH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Theme } from '@fluentui-react-native/framework';
2
+ import { TokenSettings } from '@fluentui-react-native/use-styling';
3
+ import { MenuDividerTokens } from './MenuDivider.types';
4
+ export declare const defaultMenuDividerTokens: TokenSettings<MenuDividerTokens, Theme>;
5
+ //# sourceMappingURL=MenuDividerTokens.win32.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDividerTokens.win32.d.ts","sourceRoot":"","sources":["../../src/MenuDivider/MenuDividerTokens.win32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAI3E,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { globalTokens } from '@fluentui-react-native/theme-tokens';
2
+ export var defaultMenuDividerTokens = function (t) { return ({
3
+ backgroundColor: t.colors.neutralStroke1,
4
+ height: globalTokens.stroke.width.thin,
5
+ margin: globalTokens.spacing.xxs,
6
+ }); };
7
+ //# sourceMappingURL=MenuDividerTokens.win32.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDividerTokens.win32.js","sourceRoot":"","sources":["../../src/MenuDivider/MenuDividerTokens.win32.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAInE,MAAM,CAAC,IAAM,wBAAwB,GAA4C,UAAC,CAAQ,IAAwB,OAAA,CAAC;IACjH,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;IACxC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;IACtC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG;CACjC,CAAC,EAJgH,CAIhH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKhE,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,aA0BlD,CAAC"}
1
+ {"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMhE,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,aA0BlD,CAAC"}
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import { memoize } from '@fluentui-react-native/framework';
4
4
  import { useAsPressable, useKeyProps } from '@fluentui-react-native/interactive-hooks';
5
5
  import { useMenuContext } from '../context/menuContext';
6
+ import { useMenuListContext } from '../context/menuListContext';
6
7
  export var useMenuItem = function (props) {
7
8
  // attach the pressable state handlers
8
9
  var defaultComponentRef = React.useRef(null);
@@ -10,9 +11,9 @@ export var useMenuItem = function (props) {
10
11
  var pressable = useAsPressable(__assign(__assign({}, rest), { disabled: disabled, onPress: onClick }));
11
12
  var onKeyProps = useKeyProps(onClick, ' ', 'Enter');
12
13
  var hasSubmenu = useMenuContext().isSubmenu;
13
- var hasCheckmarks = useMenuContext().hasCheckmarks;
14
+ var hasCheckmarks = useMenuListContext().hasCheckmarks;
14
15
  return {
15
- props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityRole: 'button', onAccessibilityTap: props.onAccessibilityTap || props.onClick, accessibilityLabel: props.accessibilityLabel, accessibilityState: getAccessibilityState(disabled, accessibilityState), enableFocusRing: true, focusable: !disabled, ref: componentRef }), onKeyProps),
16
+ props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityRole: 'menuitem', onAccessibilityTap: props.onAccessibilityTap || props.onClick, accessibilityLabel: props.accessibilityLabel, accessibilityState: getAccessibilityState(disabled, accessibilityState), enableFocusRing: true, focusable: !disabled, ref: componentRef }), onKeyProps),
16
17
  state: pressable.state,
17
18
  hasSubmenu: hasSubmenu,
18
19
  hasCheckmarks: hasCheckmarks,
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAoB;IAC9C,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,IAAA,OAAO,GAAgF,KAAK,QAArF,EAAE,kBAAkB,GAA4D,KAAK,mBAAjE,EAAE,KAA0D,KAAK,aAA7B,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAAE,QAAQ,GAAc,KAAK,SAAnB,EAAK,IAAI,UAAK,KAAK,EAA9F,6DAAsF,CAAF,CAAW;IACrG,IAAM,SAAS,GAAG,cAAc,uBAAM,IAAI,KAAE,QAAQ,UAAA,EAAE,OAAO,EAAE,OAAO,IAAG,CAAC;IAC1E,IAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,IAAM,UAAU,GAAG,cAAc,EAAE,CAAC,SAAS,CAAC;IAC9C,IAAM,aAAa,GAAG,cAAc,EAAE,CAAC,aAAa,CAAC;IAErD,OAAO;QACL,KAAK,iCACA,SAAS,CAAC,KAAK,KAClB,UAAU,EAAE,IAAI,EAChB,iBAAiB,EAAE,QAAQ,EAC3B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,EAC7D,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EACvE,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,QAAQ,EACpB,GAAG,EAAE,YAAY,KACd,UAAU,CACd;QACD,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,UAAU,YAAA;QACV,aAAa,eAAA;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACnE,SAAS,2BAA2B,CAAC,QAAiB,EAAE,kBAAuC;IAC7F,IAAI,kBAAkB,EAAE;QACtB,kBAAS,QAAQ,UAAA,IAAK,kBAAkB,EAAG;KAC5C;IACD,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAoB;IAC9C,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,IAAA,OAAO,GAAgF,KAAK,QAArF,EAAE,kBAAkB,GAA4D,KAAK,mBAAjE,EAAE,KAA0D,KAAK,aAA7B,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAAE,QAAQ,GAAc,KAAK,SAAnB,EAAK,IAAI,UAAK,KAAK,EAA9F,6DAAsF,CAAF,CAAW;IACrG,IAAM,SAAS,GAAG,cAAc,uBAAM,IAAI,KAAE,QAAQ,UAAA,EAAE,OAAO,EAAE,OAAO,IAAG,CAAC;IAC1E,IAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,IAAM,UAAU,GAAG,cAAc,EAAE,CAAC,SAAS,CAAC;IAC9C,IAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC,aAAa,CAAC;IAEzD,OAAO;QACL,KAAK,iCACA,SAAS,CAAC,KAAK,KAClB,UAAU,EAAE,IAAI,EAChB,iBAAiB,EAAE,UAAU,EAC7B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,EAC7D,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EACvE,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,QAAQ,EACpB,GAAG,EAAE,YAAY,KACd,UAAU,CACd;QACD,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,UAAU,YAAA;QACV,aAAa,eAAA;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACnE,SAAS,2BAA2B,CAAC,QAAiB,EAAE,kBAAuC;IAC7F,IAAI,kBAAkB,EAAE;QACtB,kBAAS,QAAQ,UAAA,IAAK,kBAAkB,EAAG;KAC5C;IACD,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAC;AACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.styling.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AAGxF,OAAO,EAAwB,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1I,eAAO,MAAM,sBAAsB,EAAE,CAAC,MAAM,sBAAsB,CAAC,EAA6D,CAAC;AAEjI,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,CAqCvH,CAAC"}
1
+ {"version":3,"file":"MenuItemCheckbox.styling.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AAGxF,OAAO,EAAwB,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1I,eAAO,MAAM,sBAAsB,EAAE,CAAC,MAAM,sBAAsB,CAAC,EAA6D,CAAC;AAEjI,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,CAsCvH,CAAC"}
@@ -12,6 +12,7 @@ export var stylingSettings = {
12
12
  style: __assign({ alignItems: 'center', backgroundColor: tokens.backgroundColor, display: 'flex', flexDirection: 'row' }, layoutStyles.from(tokens, theme)),
13
13
  }); }, __spreadArray(['backgroundColor'], layoutStyles.keys, true)),
14
14
  checkmark: buildProps(function (tokens) { return ({
15
+ opacity: tokens.checkmarkVisibility,
15
16
  color: tokens.color,
16
17
  height: tokens.checkmarkSize,
17
18
  width: tokens.checkmarkSize,
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.styling.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":";AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAA4E,MAAM,0BAA0B,CAAC;AAE1I,MAAM,CAAC,IAAM,sBAAsB,GAAqC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAEjI,MAAM,CAAC,IAAM,eAAe,GAAgG;IAC1H,MAAM,EAAE,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;IAC7D,MAAM,EAAE,sBAAsB;IAC9B,SAAS,EAAE;QACT,IAAI,EAAE,UAAU,CACd,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,aACH,UAAU,EAAE,QAAQ,EACpB,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,IACjB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CACpC;SACF,CAAC,EARgD,CAQhD,iBACD,iBAAiB,GAAK,YAAY,CAAC,IAAI,QACzC;QACD,SAAS,EAAE,UAAU,CACnB,UAAC,MAA8B,IAAK,OAAA,CAAC;YACnC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,KAAK,EAAE,MAAM,CAAC,aAAa;YAC3B,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACnI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE;SACjC,CAAC,EANkC,CAMlC,EACF,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAClC;QACD,OAAO,EAAE,UAAU,CACjB,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,aACH,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,IAChB,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAClC;SACF,CAAC,EANgD,CAMhD,iBACD,OAAO,GAAK,UAAU,CAAC,IAAI,QAC7B;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"MenuItemCheckbox.styling.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":";AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAA4E,MAAM,0BAA0B,CAAC;AAE1I,MAAM,CAAC,IAAM,sBAAsB,GAAqC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAEjI,MAAM,CAAC,IAAM,eAAe,GAAgG;IAC1H,MAAM,EAAE,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;IAC7D,MAAM,EAAE,sBAAsB;IAC9B,SAAS,EAAE;QACT,IAAI,EAAE,UAAU,CACd,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,aACH,UAAU,EAAE,QAAQ,EACpB,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,IACjB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CACpC;SACF,CAAC,EARgD,CAQhD,iBACD,iBAAiB,GAAK,YAAY,CAAC,IAAI,QACzC;QACD,SAAS,EAAE,UAAU,CACnB,UAAC,MAA8B,IAAK,OAAA,CAAC;YACnC,OAAO,EAAE,MAAM,CAAC,mBAAmB;YACnC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,KAAK,EAAE,MAAM,CAAC,aAAa;YAC3B,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACnI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE;SACjC,CAAC,EAPkC,CAOlC,EACF,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAClC;QACD,OAAO,EAAE,UAAU,CACjB,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,aACH,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,IAChB,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAClC;SACF,CAAC,EANgD,CAMhD,iBACD,OAAO,GAAK,UAAU,CAAC,IAAI,QAC7B;KACF;CACF,CAAC"}
@@ -3,7 +3,7 @@ import { ColorValue, ViewProps } from 'react-native';
3
3
  import { XmlProps } from 'react-native-svg';
4
4
  import type { IViewProps } from '@fluentui-react-native/adapters';
5
5
  import { TextProps } from '@fluentui-react-native/experimental-text';
6
- import { IFocusable, InteractionEvent, IPressableHooks, IWithPressableOptions } from '@fluentui-react-native/interactive-hooks';
6
+ import { IFocusable, IPressableHooks, IWithPressableOptions } from '@fluentui-react-native/interactive-hooks';
7
7
  import { FontTokens, IBorderTokens, IColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
8
8
  export declare const menuItemCheckboxName = "MenuItemCheckbox";
9
9
  export interface MenuItemCheckboxTokens extends LayoutTokens, FontTokens, IBorderTokens, IColorTokens {
@@ -29,12 +29,11 @@ export interface MenuItemCheckboxProps extends Omit<IWithPressableOptions<ViewPr
29
29
  */
30
30
  componentRef?: React.RefObject<IFocusable>;
31
31
  /**
32
- * A callback to call on button click event
32
+ * Identifier for the control
33
33
  */
34
- onClick?: (e: InteractionEvent) => void;
34
+ name: string;
35
35
  }
36
36
  export interface MenuItemCheckboxState extends IPressableHooks<MenuItemCheckboxProps & React.ComponentPropsWithRef<any>> {
37
- hasCheckmarks?: boolean;
38
37
  }
39
38
  export interface MenuItemCheckboxSlotProps {
40
39
  root: React.PropsWithRef<IViewProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.types.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAChI,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEtG,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,MAAM,WAAW,sBAAuB,SAAQ,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY;IACnG,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC9F,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE3C;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACtH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,yBAAyB,CAAC;CACtC"}
1
+ {"version":3,"file":"MenuItemCheckbox.types.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEtG,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,MAAM,WAAW,sBAAuB,SAAQ,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY;IACnG,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC9F,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE3C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;CAAG;AAE3H,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,yBAAyB,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAKxF,eAAO,MAAM,mBAAmB,UAAW,qBAAqB,KAAG,qBAwBlE,CAAC"}
1
+ {"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAaxF,eAAO,MAAM,mBAAmB,UAAW,qBAAqB,KAAG,qBAgElE,CAAC"}
@@ -1,26 +1,44 @@
1
- import { __assign, __rest } from "tslib";
1
+ import { __assign, __rest, __spreadArray } from "tslib";
2
2
  import * as React from 'react';
3
3
  import { memoize } from '@fluentui-react-native/framework';
4
- import { useAsPressable, useKeyProps } from '@fluentui-react-native/interactive-hooks';
5
- import { useMenuContext } from '../context/menuContext';
4
+ import { useAsPressable, useKeyProps, useOnPressWithFocus, useViewCommandFocus, } from '@fluentui-react-native/interactive-hooks';
5
+ import { useMenuListContext } from '../context/menuListContext';
6
+ var defaultAccessibilityActions = [{ name: 'Toggle' }];
6
7
  export var useMenuItemCheckbox = function (props) {
8
+ var _a;
7
9
  // attach the pressable state handlers
8
10
  var defaultComponentRef = React.useRef(null);
9
- var onClick = props.onClick, accessibilityState = props.accessibilityState, _a = props.componentRef, componentRef = _a === void 0 ? defaultComponentRef : _a, disabled = props.disabled, rest = __rest(props, ["onClick", "accessibilityState", "componentRef", "disabled"]);
10
- var pressable = useAsPressable(__assign(__assign({}, rest), { disabled: disabled, onPress: onClick }));
11
- var onKeyProps = useKeyProps(onClick, ' ', 'Enter');
12
- var hasCheckmarks = useMenuContext().hasCheckmarks;
11
+ var accessibilityActions = props.accessibilityActions, accessibilityState = props.accessibilityState, _b = props.componentRef, componentRef = _b === void 0 ? defaultComponentRef : _b, disabled = props.disabled, name = props.name, onAccessibilityAction = props.onAccessibilityAction, rest = __rest(props, ["accessibilityActions", "accessibilityState", "componentRef", "disabled", "name", "onAccessibilityAction"]);
12
+ var context = useMenuListContext();
13
+ var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
14
+ var onCheckedChange = context.onCheckedChange;
15
+ var toggleChecked = React.useCallback(function (e) {
16
+ onCheckedChange(e, name, !checked);
17
+ }, [checked, name, onCheckedChange]);
18
+ // Ensure focus is placed on checkbox after click
19
+ var toggleCheckedWithFocus = useOnPressWithFocus(componentRef, toggleChecked);
20
+ var pressable = useAsPressable(__assign({ onPress: toggleCheckedWithFocus }, rest));
21
+ var buttonRef = useViewCommandFocus(componentRef);
22
+ var onKeyProps = useKeyProps(toggleChecked, ' ');
23
+ var accessibilityActionsProp = accessibilityActions
24
+ ? __spreadArray(__spreadArray([], defaultAccessibilityActions, true), accessibilityActions, true) : defaultAccessibilityActions;
25
+ var onAccessibilityActionProp = React.useCallback(function (event) {
26
+ if (event.nativeEvent.actionName === 'Toggle') {
27
+ toggleChecked(event);
28
+ }
29
+ onAccessibilityAction && onAccessibilityAction(event);
30
+ }, [toggleChecked, onAccessibilityAction]);
31
+ var state = __assign(__assign({}, pressable.state), { disabled: !!props.disabled, checked: checked });
13
32
  return {
14
- props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityRole: 'button', onAccessibilityTap: props.onAccessibilityTap || props.onClick, accessibilityLabel: props.accessibilityLabel, accessibilityState: getAccessibilityState(disabled, accessibilityState), enableFocusRing: true, focusable: !disabled, ref: componentRef }), onKeyProps),
15
- state: pressable.state,
16
- hasCheckmarks: hasCheckmarks,
33
+ props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityActions: accessibilityActionsProp, accessibilityLabel: props.accessibilityLabel, accessibilityRole: 'menuitem', accessibilityState: getAccessibilityState(disabled, state.checked, accessibilityState), enableFocusRing: true, focusable: !disabled, onAccessibilityAction: onAccessibilityActionProp, ref: buttonRef }), onKeyProps),
34
+ state: state,
17
35
  };
18
36
  };
19
37
  var getAccessibilityState = memoize(getAccessibilityStateWorker);
20
- function getAccessibilityStateWorker(disabled, accessibilityState) {
38
+ function getAccessibilityStateWorker(disabled, checked, accessibilityState) {
21
39
  if (accessibilityState) {
22
- return __assign({ disabled: disabled }, accessibilityState);
40
+ return __assign({ disabled: disabled, checked: checked }, accessibilityState);
23
41
  }
24
- return { disabled: disabled };
42
+ return { disabled: disabled, checked: checked };
25
43
  }
26
44
  //# sourceMappingURL=useMenuItemCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,KAA4B;IAC9D,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,IAAA,OAAO,GAAgF,KAAK,QAArF,EAAE,kBAAkB,GAA4D,KAAK,mBAAjE,EAAE,KAA0D,KAAK,aAA7B,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAAE,QAAQ,GAAc,KAAK,SAAnB,EAAK,IAAI,UAAK,KAAK,EAA9F,6DAAsF,CAAF,CAAW;IACrG,IAAM,SAAS,GAAG,cAAc,uBAAM,IAAI,KAAE,QAAQ,UAAA,EAAE,OAAO,EAAE,OAAO,IAAG,CAAC;IAC1E,IAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,IAAM,aAAa,GAAG,cAAc,EAAE,CAAC,aAAa,CAAC;IAErD,OAAO;QACL,KAAK,iCACA,SAAS,CAAC,KAAK,KAClB,UAAU,EAAE,IAAI,EAChB,iBAAiB,EAAE,QAAQ,EAC3B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,EAC7D,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EACvE,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,QAAQ,EACpB,GAAG,EAAE,YAAY,KACd,UAAU,CACd;QACD,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,aAAa,eAAA;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACnE,SAAS,2BAA2B,CAAC,QAAiB,EAAE,kBAAuC;IAC7F,IAAI,kBAAkB,EAAE;QACtB,kBAAS,QAAQ,UAAA,IAAK,kBAAkB,EAAG;KAC5C;IACD,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAEL,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,IAAM,2BAA2B,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,KAA4B;;IAC9D,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAA,oBAAoB,GAOlB,KAAK,qBAPa,EACpB,kBAAkB,GAMhB,KAAK,mBANW,EAClB,KAKE,KAAK,aAL2B,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAClC,QAAQ,GAIN,KAAK,SAJC,EACR,IAAI,GAGF,KAAK,KAHH,EACJ,qBAAqB,GAEnB,KAAK,sBAFc,EAClB,IAAI,UACL,KAAK,EARH,2GAQL,CADQ,CACC;IACV,IAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAG,IAAI,CAAC,CAAC;IACxC,IAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAEhD,IAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,UAAC,CAAmB;QAClB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CACjC,CAAC;IACF,iDAAiD;IACjD,IAAM,sBAAsB,GAAG,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEhF,IAAM,SAAS,GAAG,cAAc,YAAG,OAAO,EAAE,sBAAsB,IAAK,IAAI,EAAG,CAAC;IAC/E,IAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAEpD,IAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACnD,IAAM,wBAAwB,GAAG,oBAAoB;QACnD,CAAC,iCAAK,2BAA2B,SAAK,oBAAoB,QAC1D,CAAC,CAAC,2BAA2B,CAAC;IAChC,IAAM,yBAAyB,GAAG,KAAK,CAAC,WAAW,CACjD,UAAC,KAA+B;QAC9B,IAAI,KAAK,CAAC,WAAW,CAAC,UAAU,KAAK,QAAQ,EAAE;YAC7C,aAAa,CAAC,KAAK,CAAC,CAAC;SACtB;QACD,qBAAqB,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,EACD,CAAC,aAAa,EAAE,qBAAqB,CAAC,CACvC,CAAC;IAEF,IAAM,KAAK,yBACN,SAAS,CAAC,KAAK,KAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAC1B,OAAO,EAAE,OAAO,GACjB,CAAC;IAEF,OAAO;QACL,KAAK,iCACA,SAAS,CAAC,KAAK,KAClB,UAAU,EAAE,IAAI,EAChB,oBAAoB,EAAE,wBAAwB,EAC9C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,iBAAiB,EAAE,UAAU,EAC7B,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,EACtF,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,QAAQ,EACpB,qBAAqB,EAAE,yBAAyB,EAChD,GAAG,EAAE,SAAS,KACX,UAAU,CACd;QACD,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACnE,SAAS,2BAA2B,CAAC,QAAiB,EAAE,OAAgB,EAAE,kBAAuC;IAC/G,IAAI,kBAAkB,EAAE;QACtB,kBAAS,QAAQ,UAAA,EAAE,OAAO,SAAA,IAAK,kBAAkB,EAAG;KACrD;IACD,OAAO,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AAC/B,CAAC"}
@@ -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;AAG7E,eAAO,MAAM,QAAQ,gLAanB,CAAC;AAEH,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AAM7E,eAAO,MAAM,QAAQ,gLAmBnB,CAAC;AAEH,eAAe,QAAQ,CAAC"}
@@ -3,12 +3,18 @@ import { View } from 'react-native';
3
3
  import { compose, withSlots } from '@fluentui-react-native/framework';
4
4
  import { menuListName } from './MenuList.types';
5
5
  import { stylingSettings } from './MenuList.styling';
6
+ import { MenuListProvider } from '../context/menuListContext';
7
+ import { useMenuList } from './useMenuList';
8
+ import { useMenuListContextValue } from './useMenuContextValue';
6
9
  export var MenuList = compose(__assign(__assign({ displayName: menuListName }, stylingSettings), { slots: {
7
10
  root: View,
8
11
  }, useRender: function (userProps, useSlots) {
9
- var Slots = useSlots(userProps);
12
+ var menuList = useMenuList(userProps);
13
+ var contextValue = useMenuListContextValue(menuList);
14
+ var Slots = useSlots(menuList);
10
15
  return function (_final, children) {
11
- return withSlots(Slots.root, null, children);
16
+ return (withSlots(MenuListProvider, { value: contextValue },
17
+ withSlots(Slots.root, null, children)));
12
18
  };
13
19
  } }));
14
20
  export default MenuList;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,YAAY,EAA+B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,IAAM,QAAQ,GAAG,OAAO,qBAC7B,WAAW,EAAE,YAAY,IACtB,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;KACX,EACD,SAAS,EAAE,UAAC,SAAwB,EAAE,QAAgC;QACpE,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAElC,OAAO,UAAC,MAAqB,EAAE,QAAyB;YACtD,OAAO,UAAC,KAAK,CAAC,IAAI,QAAE,QAAQ,CAAc,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC,IACD,CAAC;AAEH,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAChF,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,uBAAuB,CAAC;AAEhE,MAAM,CAAC,IAAM,QAAQ,GAAG,OAAO,qBAC7B,WAAW,EAAE,YAAY,IACtB,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;KACX,EACD,SAAS,EAAE,UAAC,SAAwB,EAAE,QAAgC;QACpE,IAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,IAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO,UAAC,MAAqB,EAAE,QAAyB;YACtD,OAAO,CACL,UAAC,gBAAgB,IAAC,KAAK,EAAE,YAAY;gBACnC,UAAC,KAAK,CAAC,IAAI,QAAE,QAAQ,CAAc,CAClB,CACpB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,IACD,CAAC;AAEH,eAAe,QAAQ,CAAC"}
@@ -1,11 +1,18 @@
1
1
  /// <reference types="react" />
2
2
  import type { IViewProps } from '@fluentui-react-native/adapters';
3
+ import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
3
4
  import { IBackgroundColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
4
5
  export declare const menuListName = "MenuList";
5
6
  export interface MenuListTokens extends LayoutTokens, IBackgroundColorTokens {
6
7
  }
7
8
  export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
9
+ checked?: Record<string, boolean>;
10
+ defaultChecked?: Record<string, boolean>;
8
11
  hasCheckmarks?: boolean;
12
+ onCheckedChange?: (e: InteractionEvent, name: string, isChecked: boolean) => void;
13
+ }
14
+ export interface MenuListState extends MenuListProps {
15
+ isCheckedControlled: boolean;
9
16
  }
10
17
  export interface MenuListSlotProps {
11
18
  root: React.PropsWithRef<IViewProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;CAAG;AAE/E,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;CACtC;AACD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
1
+ {"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;CAAG;AAE/E,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;CACtC;AACD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuList.types.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,YAAY,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"MenuList.types.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,IAAM,YAAY,GAAG,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { MenuListContextValue } from '../context/menuListContext';
2
+ import { MenuListState } from './MenuList.types';
3
+ export declare const useMenuListContextValue: (state: MenuListState) => MenuListContextValue;
4
+ //# sourceMappingURL=useMenuContextValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuContextValue.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuContextValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,uBAAuB,UAAW,aAAa,KAAG,oBAE9D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { __assign } from "tslib";
2
+ export var useMenuListContextValue = function (state) {
3
+ return __assign({}, state);
4
+ };
5
+ //# sourceMappingURL=useMenuContextValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/MenuList/useMenuContextValue.ts"],"names":[],"mappings":";AAGA,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,KAAoB;IAC1D,oBAAY,KAAK,EAAG;AACtB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MenuListProps, MenuListState } from './MenuList.types';
2
+ export declare const useMenuList: (_props: MenuListProps) => MenuListState;
3
+ //# sourceMappingURL=useMenuList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,aAcnD,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { __assign } from "tslib";
2
+ import React from 'react';
3
+ import { useMenuContext } from '../context/menuContext';
4
+ export var useMenuList = function (_props) {
5
+ var context = useMenuContext();
6
+ // MenuList v2 needs to be able to be standalone, but this is not in scope for v1
7
+ // Assuming that checked information will come from parent Menu
8
+ var isCheckedControlled = typeof context.checked !== 'undefined';
9
+ var _a = useMenuCheckedState(isCheckedControlled, context), checked = _a[0], onCheckedChange = _a[1];
10
+ return __assign(__assign({}, context), { isCheckedControlled: isCheckedControlled, checked: checked, onCheckedChange: onCheckedChange });
11
+ };
12
+ var useMenuCheckedState = function (isControlled, props) {
13
+ var _a;
14
+ var defaultChecked = props.defaultChecked, onCheckedChange = props.onCheckedChange, checked = props.checked;
15
+ var initialState = (_a = defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : checked) !== null && _a !== void 0 ? _a : {};
16
+ var _b = React.useState(initialState), checkedInternal = _b[0], setCheckedInternal = _b[1];
17
+ var state = isControlled ? checked : checkedInternal;
18
+ var setChecked = React.useCallback(function (e, name, isChecked) {
19
+ if (!isControlled) {
20
+ var curChecked = state;
21
+ curChecked[name] = isChecked;
22
+ var updatedChecked = __assign({}, curChecked);
23
+ setCheckedInternal(updatedChecked);
24
+ }
25
+ if (onCheckedChange) {
26
+ onCheckedChange(e, name, isChecked);
27
+ }
28
+ }, [isControlled, state, onCheckedChange, setCheckedInternal]);
29
+ return [state, setChecked];
30
+ };
31
+ //# sourceMappingURL=useMenuList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuList.js","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,MAAqB;IAC/C,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,iFAAiF;IACjF,+DAA+D;IAC/D,IAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC;IAC7D,IAAA,KAA6B,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAA7E,OAAO,QAAA,EAAE,eAAe,QAAqD,CAAC;IAErF,6BACK,OAAO,KACV,mBAAmB,qBAAA,EACnB,OAAO,SAAA,EACP,eAAe,iBAAA,IACf;AACJ,CAAC,CAAC;AAEF,IAAM,mBAAmB,GAAG,UAC1B,YAAqB,EACrB,KAAoB;;IAEZ,IAAA,cAAc,GAA+B,KAAK,eAApC,EAAE,eAAe,GAAc,KAAK,gBAAnB,EAAE,OAAO,GAAK,KAAK,QAAV,CAAW;IAC3D,IAAM,YAAY,GAAG,MAAA,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,OAAO,mCAAI,EAAE,CAAC;IAC/C,IAAA,KAAwC,KAAK,CAAC,QAAQ,CAA0B,YAAY,CAAC,EAA5F,eAAe,QAAA,EAAE,kBAAkB,QAAyD,CAAC;IAEpG,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAEvD,IAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAClC,UAAC,CAAmB,EAAE,IAAY,EAAE,SAAkB;QACpD,IAAI,CAAC,YAAY,EAAE;YACjB,IAAM,UAAU,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAC7B,IAAM,cAAc,gBAAQ,UAAU,CAAE,CAAC;YACzC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SACpC;QAED,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACrC;IACH,CAAC,EACD,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAC3D,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC7B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,0BAMtB,CAAC;AAEH,eAAO,MAAM,YAAY,2BAAuB,CAAC;AACjD,eAAO,MAAM,cAAc,iBAAsC,CAAC"}
1
+ {"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,0BAUtB,CAAC;AAEH,eAAO,MAAM,YAAY,2BAAuB,CAAC;AACjD,eAAO,MAAM,cAAc,iBAAsC,CAAC"}