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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. package/CHANGELOG.json +316 -30
  2. package/CHANGELOG.md +70 -16
  3. package/Spec.md +21 -16
  4. package/dist/react-menu.d.ts +54 -12
  5. package/lib/MenuSplitGroup.d.ts +1 -0
  6. package/lib/MenuSplitGroup.js +2 -0
  7. package/lib/MenuSplitGroup.js.map +1 -0
  8. package/lib/components/Menu/useMenu.js +30 -22
  9. package/lib/components/Menu/useMenu.js.map +1 -1
  10. package/lib/components/MenuDivider/renderMenuDivider.js +2 -1
  11. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  12. package/lib/components/MenuDivider/useMenuDivider.js +3 -0
  13. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  14. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
  15. package/lib/components/MenuDivider/useMenuDividerStyles.js +2 -1
  16. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  17. package/lib/components/MenuGroup/renderMenuGroup.js +2 -1
  18. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  19. package/lib/components/MenuGroup/useMenuGroup.js +3 -0
  20. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  21. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +2 -1
  22. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  23. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +3 -0
  24. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  25. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
  26. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +1 -0
  27. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  28. package/lib/components/MenuItem/MenuItem.js +0 -2
  29. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  30. package/lib/components/MenuItem/MenuItem.types.d.ts +1 -1
  31. package/lib/components/MenuItem/renderMenuItem.js +8 -3
  32. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  33. package/lib/components/MenuItem/useMenuItem.d.ts +1 -5
  34. package/lib/components/MenuItem/useMenuItem.js +3 -8
  35. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  36. package/lib/components/MenuItem/useMenuItemStyles.js +26 -23
  37. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  38. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +7 -3
  39. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  40. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +7 -3
  41. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  42. package/lib/components/MenuList/renderMenuList.js +2 -1
  43. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  44. package/lib/components/MenuList/useMenuList.js +3 -0
  45. package/lib/components/MenuList/useMenuList.js.map +1 -1
  46. package/lib/components/MenuList/useMenuListStyles.js +4 -3
  47. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  48. package/lib/components/MenuPopover/renderMenuPopover.js +4 -2
  49. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  50. package/lib/components/MenuPopover/useMenuPopover.js +3 -0
  51. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  52. package/lib/components/MenuPopover/useMenuPopoverStyles.js +8 -4
  53. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  54. package/lib/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  55. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +15 -0
  56. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  57. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +13 -0
  58. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
  59. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  60. package/lib/components/MenuSplitGroup/index.d.ts +5 -0
  61. package/lib/components/MenuSplitGroup/index.js +6 -0
  62. package/lib/components/MenuSplitGroup/index.js.map +1 -0
  63. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  64. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +15 -0
  65. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  66. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  67. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +67 -0
  68. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  69. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  70. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +35 -0
  71. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  72. package/lib/components/MenuTrigger/MenuTrigger.d.ts +1 -1
  73. package/lib/components/MenuTrigger/MenuTrigger.js +4 -3
  74. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  75. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +5 -2
  76. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +2 -1
  77. package/lib/components/MenuTrigger/useMenuTrigger.js +177 -5
  78. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  79. package/lib/index.d.ts +11 -10
  80. package/lib/index.js +11 -10
  81. package/lib/index.js.map +1 -1
  82. package/lib/utils/useOnMenuEnter.js.map +1 -1
  83. package/lib-commonjs/MenuSplitGroup.d.ts +1 -0
  84. package/lib-commonjs/MenuSplitGroup.js +10 -0
  85. package/lib-commonjs/MenuSplitGroup.js.map +1 -0
  86. package/lib-commonjs/components/Menu/useMenu.js +35 -28
  87. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  88. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +2 -1
  89. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  90. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +3 -0
  91. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  92. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
  93. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +2 -0
  94. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  95. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +2 -1
  96. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  97. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +3 -0
  98. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  99. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +2 -1
  100. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  101. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +3 -0
  102. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  103. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
  104. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +2 -0
  105. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  106. package/lib-commonjs/components/MenuItem/MenuItem.js +0 -3
  107. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  108. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +1 -1
  109. package/lib-commonjs/components/MenuItem/renderMenuItem.js +8 -4
  110. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  111. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +1 -5
  112. package/lib-commonjs/components/MenuItem/useMenuItem.js +5 -10
  113. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  114. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +27 -22
  115. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  116. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +7 -4
  117. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  118. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +7 -4
  119. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  120. package/lib-commonjs/components/MenuList/renderMenuList.js +2 -1
  121. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  122. package/lib-commonjs/components/MenuList/useMenuList.js +3 -0
  123. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  124. package/lib-commonjs/components/MenuList/useMenuListStyles.js +3 -2
  125. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  126. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +4 -2
  127. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  128. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +3 -0
  129. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  130. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +8 -3
  131. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  132. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  133. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +26 -0
  134. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  135. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +13 -0
  136. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +6 -0
  137. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  138. package/lib-commonjs/components/MenuSplitGroup/index.d.ts +5 -0
  139. package/lib-commonjs/components/MenuSplitGroup/index.js +18 -0
  140. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -0
  141. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  142. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +26 -0
  143. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  144. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  145. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +81 -0
  146. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  147. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  148. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +47 -0
  149. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  150. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +1 -1
  151. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +5 -5
  152. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  153. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +5 -2
  154. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +2 -1
  155. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +184 -5
  156. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  157. package/lib-commonjs/index.d.ts +11 -10
  158. package/lib-commonjs/index.js +16 -14
  159. package/lib-commonjs/index.js.map +1 -1
  160. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  161. package/package.json +17 -17
  162. package/lib/common/isConformant.d.ts +0 -4
  163. package/lib/common/isConformant.js +0 -12
  164. package/lib/common/isConformant.js.map +0 -1
  165. package/lib/common/mockUseMenuContext.d.ts +0 -7
  166. package/lib/common/mockUseMenuContext.js +0 -29
  167. package/lib/common/mockUseMenuContext.js.map +0 -1
  168. package/lib/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  169. package/lib/components/MenuTrigger/useTriggerElement.js +0 -165
  170. package/lib/components/MenuTrigger/useTriggerElement.js.map +0 -1
  171. package/lib-commonjs/common/isConformant.d.ts +0 -4
  172. package/lib-commonjs/common/isConformant.js +0 -23
  173. package/lib-commonjs/common/isConformant.js.map +0 -1
  174. package/lib-commonjs/common/mockUseMenuContext.d.ts +0 -7
  175. package/lib-commonjs/common/mockUseMenuContext.js +0 -39
  176. package/lib-commonjs/common/mockUseMenuContext.js.map +0 -1
  177. package/lib-commonjs/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  178. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js +0 -180
  179. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-menu",
3
- "version": "0.0.0-nightlyf3ce1fbe1d20211110.1",
3
+ "version": "0.0.0-nightlyf6116328d620220124.1",
4
4
  "description": "Fluent UI menu component",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -13,7 +13,7 @@
13
13
  "license": "MIT",
14
14
  "scripts": {
15
15
  "docs": "api-extractor run --config=config/api-extractor.local.json --local",
16
- "build:local": "tsc -p . --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output dist/react-menu/src && yarn docs",
16
+ "build:local": "tsc -p ./tsconfig.lib.json --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output ./dist/packages/react-menu/src && yarn docs",
17
17
  "build": "just-scripts build",
18
18
  "bundle-size": "bundle-size measure",
19
19
  "clean": "just-scripts clean",
@@ -22,15 +22,16 @@
22
22
  "just": "just-scripts",
23
23
  "lint": "just-scripts lint",
24
24
  "start": "yarn storybook",
25
- "storybook": "start-storybook",
26
- "test": "jest"
25
+ "storybook": "node ../../scripts/storybook/runner",
26
+ "test": "jest --passWithNoTests",
27
+ "type-check": "tsc -b tsconfig.json"
27
28
  },
28
29
  "devDependencies": {
29
- "@fluentui/babel-make-styles": "0.0.0-nightlyf3ce1fbe1d20211110.1",
30
+ "@fluentui/babel-make-styles": "0.0.0-nightlyf6116328d620220124.1",
30
31
  "@fluentui/eslint-plugin": "*",
31
- "@fluentui/jest-serializer-make-styles": "0.0.0-nightlyf3ce1fbe1d20211110.1",
32
+ "@fluentui/jest-serializer-make-styles": "0.0.0-nightlyf6116328d620220124.1",
32
33
  "@fluentui/react-conformance": "*",
33
- "@fluentui/react-conformance-make-styles": "0.0.0-nightlyf3ce1fbe1d20211110.1",
34
+ "@fluentui/react-conformance-make-styles": "0.0.0-nightlyf6116328d620220124.1",
34
35
  "@fluentui/scripts": "^1.0.0",
35
36
  "@types/enzyme": "3.10.3",
36
37
  "@types/enzyme-adapter-react-16": "1.0.3",
@@ -44,15 +45,15 @@
44
45
  "react-test-renderer": "^16.3.0"
45
46
  },
46
47
  "dependencies": {
47
- "@fluentui/keyboard-keys": "0.0.0-nightlyf3ce1fbe1d20211110.1",
48
- "@fluentui/react-context-selector": "0.0.0-nightlyf3ce1fbe1d20211110.1",
49
- "@fluentui/react-icons": "^1.1.140",
50
- "@fluentui/react-make-styles": "0.0.0-nightlyf3ce1fbe1d20211110.1",
51
- "@fluentui/react-portal": "0.0.0-nightlyf3ce1fbe1d20211110.1",
52
- "@fluentui/react-positioning": "0.0.0-nightlyf3ce1fbe1d20211110.1",
53
- "@fluentui/react-provider": "0.0.0-nightlyf3ce1fbe1d20211110.1",
54
- "@fluentui/react-tabster": "0.0.0-nightlyf3ce1fbe1d20211110.1",
55
- "@fluentui/react-utilities": "0.0.0-nightlyf3ce1fbe1d20211110.1",
48
+ "@fluentui/keyboard-keys": "0.0.0-nightlyf6116328d620220124.1",
49
+ "@fluentui/react-context-selector": "0.0.0-nightlyf6116328d620220124.1",
50
+ "@fluentui/react-icons": "^2.0.154-beta.5",
51
+ "@fluentui/react-make-styles": "0.0.0-nightlyf6116328d620220124.1",
52
+ "@fluentui/react-portal": "0.0.0-nightlyf6116328d620220124.1",
53
+ "@fluentui/react-positioning": "0.0.0-nightlyf6116328d620220124.1",
54
+ "@fluentui/react-shared-contexts": "0.0.0-nightlyf6116328d620220124.1",
55
+ "@fluentui/react-tabster": "0.0.0-nightlyf6116328d620220124.1",
56
+ "@fluentui/react-utilities": "0.0.0-nightlyf6116328d620220124.1",
56
57
  "tslib": "^2.1.0"
57
58
  },
58
59
  "peerDependencies": {
@@ -62,7 +63,6 @@
62
63
  "react-dom": ">=16.8.0 <18.0.0"
63
64
  },
64
65
  "beachball": {
65
- "tag": "beta",
66
66
  "disallowedChangeTypes": [
67
67
  "major",
68
68
  "minor",
@@ -1,4 +0,0 @@
1
- import type { IsConformantOptions } from '@fluentui/react-conformance';
2
- export declare function isConformant<TProps = {}>(testInfo: Omit<IsConformantOptions<TProps>, 'componentPath'> & {
3
- componentPath?: string;
4
- }): void;
@@ -1,12 +0,0 @@
1
- import { isConformant as baseIsConformant } from '@fluentui/react-conformance';
2
- import makeStylesTests from '@fluentui/react-conformance-make-styles';
3
- export function isConformant(testInfo) {
4
- const defaultOptions = {
5
- asPropHandlesRef: true,
6
- componentPath: module.parent.filename.replace('.test', ''),
7
- skipAsPropTests: true,
8
- extraTests: makeStylesTests
9
- };
10
- baseIsConformant(defaultOptions, testInfo);
11
- }
12
- //# sourceMappingURL=isConformant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/common/isConformant.ts"],"names":[],"mappings":"AAAA,SAAS,YAAY,IAAI,gBAAzB,QAAiD,6BAAjD;AAEA,OAAO,eAAP,MAA4B,yCAA5B;AAEA,OAAM,SAAU,YAAV,CACJ,QADI,EACqF;AAEzF,QAAM,cAAc,GAAyC;AAC3D,IAAA,gBAAgB,EAAE,IADyC;AAE3D,IAAA,aAAa,EAAE,MAAO,CAAC,MAAR,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,OAAjC,EAA0C,EAA1C,CAF4C;AAG3D,IAAA,eAAe,EAAE,IAH0C;AAI3D,IAAA,UAAU,EAAE;AAJ+C,GAA7D;AAOA,EAAA,gBAAgB,CAAC,cAAD,EAAiB,QAAjB,CAAhB;AACD","sourceRoot":""}
@@ -1,7 +0,0 @@
1
- import type { MenuContextValue } from '../contexts/menuContext';
2
- /**
3
- * A test utility to mock the useMenuContext hook that relies on context selector
4
- * Don't forget to call `jest.mock(**\/popupContext.ts)` while using this
5
- * @param options Menu context values to set for testing
6
- */
7
- export declare const mockUseMenuContext: (options?: Partial<MenuContextValue>) => void;
@@ -1,29 +0,0 @@
1
- import { useMenuContext } from '../contexts/menuContext';
2
- /**
3
- * A test utility to mock the useMenuContext hook that relies on context selector
4
- * Don't forget to call `jest.mock(**\/popupContext.ts)` while using this
5
- * @param options Menu context values to set for testing
6
- */
7
-
8
- export const mockUseMenuContext = (options = {}) => {
9
- const mockContext = {
10
- open: false,
11
- setOpen: () => null,
12
- triggerRef: {
13
- current: null
14
- },
15
- menuPopoverRef: {
16
- current: null
17
- },
18
- openOnContext: false,
19
- openOnHover: false,
20
- isSubmenu: false,
21
- triggerId: 'id',
22
- ...options
23
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
-
25
- useMenuContext.mockImplementation(selector => {
26
- return selector(mockContext);
27
- });
28
- };
29
- //# sourceMappingURL=mockUseMenuContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/common/mockUseMenuContext.ts"],"names":[],"mappings":"AACA,SAAS,cAAT,QAA+B,yBAA/B;AAGA;;;;AAIG;;AACH,OAAO,MAAM,kBAAkB,GAAG,CAAC,OAAA,GAAqC,EAAtC,KAA4C;AAC5E,QAAM,WAAW,GAAqB;AACpC,IAAA,IAAI,EAAE,KAD8B;AAEpC,IAAA,OAAO,EAAE,MAAM,IAFqB;AAGpC,IAAA,UAAU,EAAG;AAAE,MAAA,OAAO,EAAE;AAAX,KAHuB;AAIpC,IAAA,cAAc,EAAG;AAAE,MAAA,OAAO,EAAE;AAAX,KAJmB;AAKpC,IAAA,aAAa,EAAE,KALqB;AAMpC,IAAA,WAAW,EAAE,KANuB;AAOpC,IAAA,SAAS,EAAE,KAPyB;AAQpC,IAAA,SAAS,EAAE,IARyB;AASpC,OAAG;AATiC,GAAtC,CAD4E,CAY5E;;AACC,EAAA,cAA4B,CAAC,kBAA7B,CAAiD,QAAD,IAAiD;AAChG,WAAO,QAAQ,CAAC,WAAD,CAAf;AACD,GAFA;AAGF,CAhBM","sourceRoot":""}
@@ -1,5 +0,0 @@
1
- import type { MenuTriggerState } from './MenuTrigger.types';
2
- /**
3
- * Adds the necessary props to the trigger element
4
- */
5
- export declare const useTriggerElement: (state: MenuTriggerState) => MenuTriggerState;
@@ -1,165 +0,0 @@
1
- import * as React from 'react';
2
- import { ArrowRight, ArrowDown, ArrowLeft, Escape } from '@fluentui/keyboard-keys';
3
- import { applyTriggerPropsToChildren, onlyChild, shouldPreventDefaultOnKeyDown, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';
4
- import { useFocusFinders } from '@fluentui/react-tabster';
5
- import { useMenuContext } from '../../contexts/menuContext';
6
- import { useFluent } from '@fluentui/react-shared-contexts';
7
- import { useIsSubmenu } from '../../utils/useIsSubmenu';
8
-
9
- const noop = () => null;
10
- /**
11
- * Adds the necessary props to the trigger element
12
- */
13
-
14
-
15
- export const useTriggerElement = state => {
16
- var _a, _b;
17
-
18
- const triggerRef = useMenuContext(context => context.triggerRef);
19
- const menuPopoverRef = useMenuContext(context => context.menuPopoverRef);
20
- const setOpen = useMenuContext(context => context.setOpen);
21
- const open = useMenuContext(context => context.open);
22
- const triggerId = useMenuContext(context => context.triggerId);
23
- const openOnHover = useMenuContext(context => context.openOnHover);
24
- const openOnContext = useMenuContext(context => context.openOnContext);
25
- const isSubmenu = useIsSubmenu();
26
- const {
27
- findFirstFocusable
28
- } = useFocusFinders();
29
- const focusFirst = React.useCallback(() => {
30
- const firstFocusable = findFirstFocusable(menuPopoverRef.current);
31
- firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
32
- }, [findFirstFocusable, menuPopoverRef]);
33
- const openedWithKeyboardRef = React.useRef(false);
34
- const hasMouseMoved = React.useRef(false);
35
- const {
36
- dir
37
- } = useFluent();
38
- const OpenArrowKey = dir === 'ltr' ? ArrowRight : ArrowLeft;
39
- const child = /*#__PURE__*/React.isValidElement(state.children) ? onlyChild(state.children) : undefined;
40
- const onContextMenu = useEventCallback(e => {
41
- var _a, _b;
42
-
43
- if (openOnContext) {
44
- e.preventDefault();
45
- setOpen(e, {
46
- open: true,
47
- keyboard: false
48
- });
49
- }
50
-
51
- (_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onContextMenu) === null || _b === void 0 ? void 0 : _b.call(_a, e);
52
- });
53
- const onClick = useEventCallback(e => {
54
- var _a, _b;
55
-
56
- if (!openOnContext) {
57
- setOpen(e, {
58
- open: !open,
59
- keyboard: openedWithKeyboardRef.current
60
- });
61
- openedWithKeyboardRef.current = false;
62
- }
63
-
64
- (_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);
65
- });
66
- const onKeyDown = useEventCallback(e => {
67
- var _a, _b, _c;
68
-
69
- if (shouldPreventDefaultOnKeyDown(e)) {
70
- e.preventDefault();
71
- openedWithKeyboardRef.current = true;
72
- (_a = e.target) === null || _a === void 0 ? void 0 : _a.click();
73
- }
74
-
75
- const key = e.key;
76
-
77
- if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === ArrowDown)) {
78
- setOpen(e, {
79
- open: true,
80
- keyboard: true
81
- });
82
- }
83
-
84
- if (key === Escape && !isSubmenu) {
85
- setOpen(e, {
86
- open: false,
87
- keyboard: true
88
- });
89
- } // if menu is already open, can't rely on effects to focus
90
-
91
-
92
- if (open && key === OpenArrowKey && isSubmenu) {
93
- focusFirst();
94
- }
95
-
96
- if (open && key === ArrowDown && !isSubmenu) {
97
- focusFirst();
98
- }
99
-
100
- (_c = (_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onKeyDown) === null || _c === void 0 ? void 0 : _c.call(_b, e);
101
- });
102
- const onMouseEnter = useEventCallback(e => {
103
- var _a, _b;
104
-
105
- if (openOnHover && hasMouseMoved.current) {
106
- setOpen(e, {
107
- open: true,
108
- keyboard: false
109
- });
110
- }
111
-
112
- (_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onMouseEnter) === null || _b === void 0 ? void 0 : _b.call(_a, e);
113
- }); // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
114
- // First time open the mouse using mousemove and then continue with mouseenter
115
- // Only use once to determine that the user is using the mouse since it is an expensive event to handle
116
-
117
- const onMouseMove = useEventCallback(e => {
118
- if (openOnHover && !hasMouseMoved.current) {
119
- setOpen(e, {
120
- open: true,
121
- keyboard: false
122
- });
123
- hasMouseMoved.current = true;
124
- }
125
- });
126
- const onMouseLeave = useEventCallback(e => {
127
- var _a, _b;
128
-
129
- if (openOnHover) {
130
- setOpen(e, {
131
- open: false,
132
- keyboard: false
133
- });
134
- }
135
-
136
- (_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, e);
137
- });
138
- const disabled = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.disabled;
139
- const triggerProps = {
140
- 'aria-haspopup': true,
141
- 'aria-expanded': open,
142
- id: ((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.id) || triggerId,
143
- ...(!disabled ? {
144
- onClick,
145
- onMouseEnter,
146
- onMouseLeave,
147
- onContextMenu,
148
- onKeyDown,
149
- onMouseMove
150
- } : // Spread disabled event handlers to implement contract and avoid specific disabled logic in handlers
151
- {
152
- onClick: noop,
153
- onMouseEnter: noop,
154
- onMouseLeave: noop,
155
- onContextMenu: noop,
156
- onKeyDown: noop,
157
- onMouseMove: noop
158
- })
159
- };
160
- state.children = applyTriggerPropsToChildren(state.children, { ...triggerProps,
161
- ref: useMergedRefs(typeof state.children !== 'function' && state.children.ref || null, triggerRef)
162
- });
163
- return state;
164
- };
165
- //# sourceMappingURL=useTriggerElement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/MenuTrigger/useTriggerElement.ts"],"names":[],"mappings":"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","sourceRoot":""}
@@ -1,4 +0,0 @@
1
- import type { IsConformantOptions } from '@fluentui/react-conformance';
2
- export declare function isConformant<TProps = {}>(testInfo: Omit<IsConformantOptions<TProps>, 'componentPath'> & {
3
- componentPath?: string;
4
- }): void;
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isConformant = void 0;
7
-
8
- const react_conformance_1 = /*#__PURE__*/require("@fluentui/react-conformance");
9
-
10
- const react_conformance_make_styles_1 = /*#__PURE__*/require("@fluentui/react-conformance-make-styles");
11
-
12
- function isConformant(testInfo) {
13
- const defaultOptions = {
14
- asPropHandlesRef: true,
15
- componentPath: module.parent.filename.replace('.test', ''),
16
- skipAsPropTests: true,
17
- extraTests: react_conformance_make_styles_1.default
18
- };
19
- react_conformance_1.isConformant(defaultOptions, testInfo);
20
- }
21
-
22
- exports.isConformant = isConformant;
23
- //# sourceMappingURL=isConformant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/common/isConformant.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,mBAAA,gBAAA,OAAA,CAAA,6BAAA,CAAA;;AAEA,MAAA,+BAAA,gBAAA,OAAA,CAAA,yCAAA,CAAA;;AAEA,SAAgB,YAAhB,CACE,QADF,EAC2F;AAEzF,QAAM,cAAc,GAAyC;AAC3D,IAAA,gBAAgB,EAAE,IADyC;AAE3D,IAAA,aAAa,EAAE,MAAO,CAAC,MAAR,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,OAAjC,EAA0C,EAA1C,CAF4C;AAG3D,IAAA,eAAe,EAAE,IAH0C;AAI3D,IAAA,UAAU,EAAE,+BAAA,CAAA;AAJ+C,GAA7D;AAOA,EAAA,mBAAA,CAAA,YAAA,CAAiB,cAAjB,EAAiC,QAAjC;AACD;;AAXD,OAAA,CAAA,YAAA,GAAA,YAAA","sourceRoot":""}
@@ -1,7 +0,0 @@
1
- import type { MenuContextValue } from '../contexts/menuContext';
2
- /**
3
- * A test utility to mock the useMenuContext hook that relies on context selector
4
- * Don't forget to call `jest.mock(**\/popupContext.ts)` while using this
5
- * @param options Menu context values to set for testing
6
- */
7
- export declare const mockUseMenuContext: (options?: Partial<MenuContextValue>) => void;
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.mockUseMenuContext = void 0;
7
-
8
- const menuContext_1 = /*#__PURE__*/require("../contexts/menuContext");
9
- /**
10
- * A test utility to mock the useMenuContext hook that relies on context selector
11
- * Don't forget to call `jest.mock(**\/popupContext.ts)` while using this
12
- * @param options Menu context values to set for testing
13
- */
14
-
15
-
16
- const mockUseMenuContext = (options = {}) => {
17
- const mockContext = {
18
- open: false,
19
- setOpen: () => null,
20
- triggerRef: {
21
- current: null
22
- },
23
- menuPopoverRef: {
24
- current: null
25
- },
26
- openOnContext: false,
27
- openOnHover: false,
28
- isSubmenu: false,
29
- triggerId: 'id',
30
- ...options
31
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
-
33
- menuContext_1.useMenuContext.mockImplementation(selector => {
34
- return selector(mockContext);
35
- });
36
- };
37
-
38
- exports.mockUseMenuContext = mockUseMenuContext;
39
- //# sourceMappingURL=mockUseMenuContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/common/mockUseMenuContext.ts"],"names":[],"mappings":";;;;;;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;AAGA;;;;AAIG;;;AACI,MAAM,kBAAkB,GAAG,CAAC,OAAA,GAAqC,EAAtC,KAA4C;AAC5E,QAAM,WAAW,GAAqB;AACpC,IAAA,IAAI,EAAE,KAD8B;AAEpC,IAAA,OAAO,EAAE,MAAM,IAFqB;AAGpC,IAAA,UAAU,EAAG;AAAE,MAAA,OAAO,EAAE;AAAX,KAHuB;AAIpC,IAAA,cAAc,EAAG;AAAE,MAAA,OAAO,EAAE;AAAX,KAJmB;AAKpC,IAAA,aAAa,EAAE,KALqB;AAMpC,IAAA,WAAW,EAAE,KANuB;AAOpC,IAAA,SAAS,EAAE,KAPyB;AAQpC,IAAA,SAAS,EAAE,IARyB;AASpC,OAAG;AATiC,GAAtC,CAD4E,CAY5E;;AACC,EAAA,aAAA,CAAA,cAAA,CAA6B,kBAA7B,CAAiD,QAAD,IAAiD;AAChG,WAAO,QAAQ,CAAC,WAAD,CAAf;AACD,GAFA;AAGF,CAhBM;;AAAM,OAAA,CAAA,kBAAA,GAAkB,kBAAlB","sourceRoot":""}
@@ -1,5 +0,0 @@
1
- import type { MenuTriggerState } from './MenuTrigger.types';
2
- /**
3
- * Adds the necessary props to the trigger element
4
- */
5
- export declare const useTriggerElement: (state: MenuTriggerState) => MenuTriggerState;
@@ -1,180 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useTriggerElement = void 0;
7
-
8
- const React = /*#__PURE__*/require("react");
9
-
10
- const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
11
-
12
- const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
13
-
14
- const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
15
-
16
- const menuContext_1 = /*#__PURE__*/require("../../contexts/menuContext");
17
-
18
- const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
19
-
20
- const useIsSubmenu_1 = /*#__PURE__*/require("../../utils/useIsSubmenu");
21
-
22
- const noop = () => null;
23
- /**
24
- * Adds the necessary props to the trigger element
25
- */
26
-
27
-
28
- const useTriggerElement = state => {
29
- var _a, _b;
30
-
31
- const triggerRef = menuContext_1.useMenuContext(context => context.triggerRef);
32
- const menuPopoverRef = menuContext_1.useMenuContext(context => context.menuPopoverRef);
33
- const setOpen = menuContext_1.useMenuContext(context => context.setOpen);
34
- const open = menuContext_1.useMenuContext(context => context.open);
35
- const triggerId = menuContext_1.useMenuContext(context => context.triggerId);
36
- const openOnHover = menuContext_1.useMenuContext(context => context.openOnHover);
37
- const openOnContext = menuContext_1.useMenuContext(context => context.openOnContext);
38
- const isSubmenu = useIsSubmenu_1.useIsSubmenu();
39
- const {
40
- findFirstFocusable
41
- } = react_tabster_1.useFocusFinders();
42
- const focusFirst = React.useCallback(() => {
43
- const firstFocusable = findFirstFocusable(menuPopoverRef.current);
44
- firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
45
- }, [findFirstFocusable, menuPopoverRef]);
46
- const openedWithKeyboardRef = React.useRef(false);
47
- const hasMouseMoved = React.useRef(false);
48
- const {
49
- dir
50
- } = react_shared_contexts_1.useFluent();
51
- const OpenArrowKey = dir === 'ltr' ? keyboard_keys_1.ArrowRight : keyboard_keys_1.ArrowLeft;
52
- const child = React.isValidElement(state.children) ? react_utilities_1.onlyChild(state.children) : undefined;
53
- const onContextMenu = react_utilities_1.useEventCallback(e => {
54
- var _a, _b;
55
-
56
- if (openOnContext) {
57
- e.preventDefault();
58
- setOpen(e, {
59
- open: true,
60
- keyboard: false
61
- });
62
- }
63
-
64
- (_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onContextMenu) === null || _b === void 0 ? void 0 : _b.call(_a, e);
65
- });
66
- const onClick = react_utilities_1.useEventCallback(e => {
67
- var _a, _b;
68
-
69
- if (!openOnContext) {
70
- setOpen(e, {
71
- open: !open,
72
- keyboard: openedWithKeyboardRef.current
73
- });
74
- openedWithKeyboardRef.current = false;
75
- }
76
-
77
- (_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);
78
- });
79
- const onKeyDown = react_utilities_1.useEventCallback(e => {
80
- var _a, _b, _c;
81
-
82
- if (react_utilities_1.shouldPreventDefaultOnKeyDown(e)) {
83
- e.preventDefault();
84
- openedWithKeyboardRef.current = true;
85
- (_a = e.target) === null || _a === void 0 ? void 0 : _a.click();
86
- }
87
-
88
- const key = e.key;
89
-
90
- if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === keyboard_keys_1.ArrowDown)) {
91
- setOpen(e, {
92
- open: true,
93
- keyboard: true
94
- });
95
- }
96
-
97
- if (key === keyboard_keys_1.Escape && !isSubmenu) {
98
- setOpen(e, {
99
- open: false,
100
- keyboard: true
101
- });
102
- } // if menu is already open, can't rely on effects to focus
103
-
104
-
105
- if (open && key === OpenArrowKey && isSubmenu) {
106
- focusFirst();
107
- }
108
-
109
- if (open && key === keyboard_keys_1.ArrowDown && !isSubmenu) {
110
- focusFirst();
111
- }
112
-
113
- (_c = (_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onKeyDown) === null || _c === void 0 ? void 0 : _c.call(_b, e);
114
- });
115
- const onMouseEnter = react_utilities_1.useEventCallback(e => {
116
- var _a, _b;
117
-
118
- if (openOnHover && hasMouseMoved.current) {
119
- setOpen(e, {
120
- open: true,
121
- keyboard: false
122
- });
123
- }
124
-
125
- (_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onMouseEnter) === null || _b === void 0 ? void 0 : _b.call(_a, e);
126
- }); // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
127
- // First time open the mouse using mousemove and then continue with mouseenter
128
- // Only use once to determine that the user is using the mouse since it is an expensive event to handle
129
-
130
- const onMouseMove = react_utilities_1.useEventCallback(e => {
131
- if (openOnHover && !hasMouseMoved.current) {
132
- setOpen(e, {
133
- open: true,
134
- keyboard: false
135
- });
136
- hasMouseMoved.current = true;
137
- }
138
- });
139
- const onMouseLeave = react_utilities_1.useEventCallback(e => {
140
- var _a, _b;
141
-
142
- if (openOnHover) {
143
- setOpen(e, {
144
- open: false,
145
- keyboard: false
146
- });
147
- }
148
-
149
- (_b = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, e);
150
- });
151
- const disabled = (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.disabled;
152
- const triggerProps = {
153
- 'aria-haspopup': true,
154
- 'aria-expanded': open,
155
- id: ((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.id) || triggerId,
156
- ...(!disabled ? {
157
- onClick,
158
- onMouseEnter,
159
- onMouseLeave,
160
- onContextMenu,
161
- onKeyDown,
162
- onMouseMove
163
- } : // Spread disabled event handlers to implement contract and avoid specific disabled logic in handlers
164
- {
165
- onClick: noop,
166
- onMouseEnter: noop,
167
- onMouseLeave: noop,
168
- onContextMenu: noop,
169
- onKeyDown: noop,
170
- onMouseMove: noop
171
- })
172
- };
173
- state.children = react_utilities_1.applyTriggerPropsToChildren(state.children, { ...triggerProps,
174
- ref: react_utilities_1.useMergedRefs(typeof state.children !== 'function' && state.children.ref || null, triggerRef)
175
- });
176
- return state;
177
- };
178
-
179
- exports.useTriggerElement = useTriggerElement;
180
- //# sourceMappingURL=useTriggerElement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/MenuTrigger/useTriggerElement.ts"],"names":[],"mappings":"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","sourceRoot":""}