@fluentui/react-menu 0.0.0-nightly-20230502-0418.1 → 0.0.0-nightly-20230504-0417.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 (187) hide show
  1. package/CHANGELOG.json +25 -25
  2. package/CHANGELOG.md +15 -15
  3. package/dist/index.d.ts +755 -0
  4. package/lib/Menu.js +2 -0
  5. package/lib/Menu.js.map +1 -0
  6. package/lib/MenuDivider.js +2 -0
  7. package/lib/MenuDivider.js.map +1 -0
  8. package/lib/MenuGroup.js +2 -0
  9. package/lib/MenuGroup.js.map +1 -0
  10. package/lib/MenuGroupHeader.js +2 -0
  11. package/lib/MenuGroupHeader.js.map +1 -0
  12. package/lib/MenuItem.js +2 -0
  13. package/lib/MenuItem.js.map +1 -0
  14. package/lib/MenuItemCheckbox.js +2 -0
  15. package/lib/MenuItemCheckbox.js.map +1 -0
  16. package/lib/MenuItemRadio.js +2 -0
  17. package/lib/MenuItemRadio.js.map +1 -0
  18. package/lib/MenuList.js +2 -0
  19. package/lib/MenuList.js.map +1 -0
  20. package/lib/MenuPopover.js +2 -0
  21. package/lib/MenuPopover.js.map +1 -0
  22. package/lib/MenuSplitGroup.js +2 -0
  23. package/lib/MenuSplitGroup.js.map +1 -0
  24. package/lib/MenuTrigger.js +2 -0
  25. package/lib/MenuTrigger.js.map +1 -0
  26. package/lib/components/Menu/Menu.js +14 -0
  27. package/lib/components/Menu/Menu.js.map +1 -0
  28. package/lib/components/Menu/Menu.types.js +2 -0
  29. package/lib/components/Menu/Menu.types.js.map +1 -0
  30. package/lib/components/Menu/index.js +6 -0
  31. package/lib/components/Menu/index.js.map +1 -0
  32. package/lib/components/Menu/renderMenu.js +11 -0
  33. package/lib/components/Menu/renderMenu.js.map +1 -0
  34. package/lib/components/Menu/useMenu.js +268 -0
  35. package/lib/components/Menu/useMenu.js.map +1 -0
  36. package/lib/components/Menu/useMenuContextValues.js +41 -0
  37. package/lib/components/Menu/useMenuContextValues.js.map +1 -0
  38. package/lib/components/MenuDivider/MenuDivider.js +16 -0
  39. package/lib/components/MenuDivider/MenuDivider.js.map +1 -0
  40. package/lib/components/MenuDivider/MenuDivider.types.js +2 -0
  41. package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -0
  42. package/lib/components/MenuDivider/index.js +6 -0
  43. package/lib/components/MenuDivider/index.js.map +1 -0
  44. package/lib/components/MenuDivider/renderMenuDivider.js +14 -0
  45. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -0
  46. package/lib/components/MenuDivider/useMenuDivider.js +19 -0
  47. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -0
  48. package/lib/components/MenuDivider/useMenuDividerStyles.styles.js +25 -0
  49. package/lib/components/MenuDivider/useMenuDividerStyles.styles.js.map +1 -0
  50. package/lib/components/MenuGroup/MenuGroup.js +18 -0
  51. package/lib/components/MenuGroup/MenuGroup.js.map +1 -0
  52. package/lib/components/MenuGroup/MenuGroup.types.js +2 -0
  53. package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -0
  54. package/lib/components/MenuGroup/index.js +7 -0
  55. package/lib/components/MenuGroup/index.js.map +1 -0
  56. package/lib/components/MenuGroup/renderMenuGroup.js +17 -0
  57. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -0
  58. package/lib/components/MenuGroup/useMenuGroup.js +21 -0
  59. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -0
  60. package/lib/components/MenuGroup/useMenuGroupContextValues.js +13 -0
  61. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -0
  62. package/lib/components/MenuGroup/useMenuGroupStyles.styles.js +9 -0
  63. package/lib/components/MenuGroup/useMenuGroupStyles.styles.js.map +1 -0
  64. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +16 -0
  65. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -0
  66. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js +2 -0
  67. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -0
  68. package/lib/components/MenuGroupHeader/index.js +6 -0
  69. package/lib/components/MenuGroupHeader/index.js.map +1 -0
  70. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +14 -0
  71. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -0
  72. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +22 -0
  73. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -0
  74. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.js +25 -0
  75. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.js.map +1 -0
  76. package/lib/components/MenuItem/MenuItem.js +16 -0
  77. package/lib/components/MenuItem/MenuItem.js.map +1 -0
  78. package/lib/components/MenuItem/MenuItem.types.js +2 -0
  79. package/lib/components/MenuItem/MenuItem.types.js.map +1 -0
  80. package/lib/components/MenuItem/index.js +6 -0
  81. package/lib/components/MenuItem/index.js.map +1 -0
  82. package/lib/components/MenuItem/renderMenuItem.js +13 -0
  83. package/lib/components/MenuItem/renderMenuItem.js.map +1 -0
  84. package/lib/components/MenuItem/useCharacterSearch.js +20 -0
  85. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -0
  86. package/lib/components/MenuItem/useMenuItem.js +101 -0
  87. package/lib/components/MenuItem/useMenuItem.js.map +1 -0
  88. package/lib/components/MenuItem/useMenuItemStyles.styles.js +150 -0
  89. package/lib/components/MenuItem/useMenuItemStyles.styles.js.map +1 -0
  90. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +16 -0
  91. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -0
  92. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js +2 -0
  93. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -0
  94. package/lib/components/MenuItemCheckbox/index.js +6 -0
  95. package/lib/components/MenuItemCheckbox/index.js.map +1 -0
  96. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +11 -0
  97. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -0
  98. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +42 -0
  99. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -0
  100. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.js +28 -0
  101. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.js.map +1 -0
  102. package/lib/components/MenuItemRadio/MenuItemRadio.js +16 -0
  103. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -0
  104. package/lib/components/MenuItemRadio/MenuItemRadio.types.js +2 -0
  105. package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -0
  106. package/lib/components/MenuItemRadio/index.js +6 -0
  107. package/lib/components/MenuItemRadio/index.js.map +1 -0
  108. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +14 -0
  109. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -0
  110. package/lib/components/MenuItemRadio/useMenuItemRadio.js +42 -0
  111. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -0
  112. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.js +28 -0
  113. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.js.map +1 -0
  114. package/lib/components/MenuList/MenuList.js +18 -0
  115. package/lib/components/MenuList/MenuList.js.map +1 -0
  116. package/lib/components/MenuList/MenuList.types.js +2 -0
  117. package/lib/components/MenuList/MenuList.types.js.map +1 -0
  118. package/lib/components/MenuList/index.js +7 -0
  119. package/lib/components/MenuList/index.js.map +1 -0
  120. package/lib/components/MenuList/renderMenuList.js +16 -0
  121. package/lib/components/MenuList/renderMenuList.js.map +1 -0
  122. package/lib/components/MenuList/useMenuList.js +147 -0
  123. package/lib/components/MenuList/useMenuList.js.map +1 -0
  124. package/lib/components/MenuList/useMenuListContextValues.js +23 -0
  125. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -0
  126. package/lib/components/MenuList/useMenuListStyles.styles.js +23 -0
  127. package/lib/components/MenuList/useMenuListStyles.styles.js.map +1 -0
  128. package/lib/components/MenuPopover/MenuPopover.js +16 -0
  129. package/lib/components/MenuPopover/MenuPopover.js.map +1 -0
  130. package/lib/components/MenuPopover/MenuPopover.types.js +2 -0
  131. package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -0
  132. package/lib/components/MenuPopover/index.js +6 -0
  133. package/lib/components/MenuPopover/index.js.map +1 -0
  134. package/lib/components/MenuPopover/renderMenuPopover.js +19 -0
  135. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -0
  136. package/lib/components/MenuPopover/useMenuPopover.js +108 -0
  137. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -0
  138. package/lib/components/MenuPopover/useMenuPopoverStyles.styles.js +50 -0
  139. package/lib/components/MenuPopover/useMenuPopoverStyles.styles.js.map +1 -0
  140. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +16 -0
  141. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  142. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
  143. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  144. package/lib/components/MenuSplitGroup/index.js +6 -0
  145. package/lib/components/MenuSplitGroup/index.js.map +1 -0
  146. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +13 -0
  147. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  148. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +61 -0
  149. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  150. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.js +34 -0
  151. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.js.map +1 -0
  152. package/lib/components/MenuTrigger/MenuTrigger.js +15 -0
  153. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -0
  154. package/lib/components/MenuTrigger/MenuTrigger.types.js +2 -0
  155. package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -0
  156. package/lib/components/MenuTrigger/index.js +5 -0
  157. package/lib/components/MenuTrigger/index.js.map +1 -0
  158. package/lib/components/MenuTrigger/renderMenuTrigger.js +13 -0
  159. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -0
  160. package/lib/components/MenuTrigger/useMenuTrigger.styles.js +168 -0
  161. package/lib/components/MenuTrigger/useMenuTrigger.styles.js.map +1 -0
  162. package/lib/components/index.js +3 -0
  163. package/lib/components/index.js.map +1 -0
  164. package/lib/contexts/menuContext.js +27 -0
  165. package/lib/contexts/menuContext.js.map +1 -0
  166. package/lib/contexts/menuGroupContext.js +9 -0
  167. package/lib/contexts/menuGroupContext.js.map +1 -0
  168. package/lib/contexts/menuListContext.js +14 -0
  169. package/lib/contexts/menuListContext.js.map +1 -0
  170. package/lib/contexts/menuTriggerContext.js +10 -0
  171. package/lib/contexts/menuTriggerContext.js.map +1 -0
  172. package/lib/index.js +17 -0
  173. package/lib/index.js.map +1 -0
  174. package/lib/selectable/index.js +3 -0
  175. package/lib/selectable/index.js.map +1 -0
  176. package/lib/selectable/types.js +2 -0
  177. package/lib/selectable/types.js.map +1 -0
  178. package/lib/selectable/useCheckmarkStyles.styles.js +25 -0
  179. package/lib/selectable/useCheckmarkStyles.styles.js.map +1 -0
  180. package/lib/utils/index.js +2 -0
  181. package/lib/utils/index.js.map +1 -0
  182. package/lib/utils/useIsSubmenu.js +17 -0
  183. package/lib/utils/useIsSubmenu.js.map +1 -0
  184. package/lib/utils/useOnMenuEnter.js +65 -0
  185. package/lib/utils/useOnMenuEnter.js.map +1 -0
  186. package/package.json +12 -12
  187. package/.swcrc +0 -30
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEventCallback","elementContains","MENU_ENTER_EVENT","useOnMenuMouseEnter","options","refs","callback","element","disabled","listener","ev","popoverRef","someMenuPopover","target","_popoverRef_current","isOutsidePopover","current","useEffect","addEventListener","removeEventListener","dispatchMenuEnterEvent","el","nativeEvent","dispatchEvent","CustomEvent","bubbles","detail"],"sources":["../../src/utils/useOnMenuEnter.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport type { UseOnClickOrScrollOutsideOptions } from '@fluentui/react-utilities';\n\n/**\n * Name of the custom event\n */\nexport const MENU_ENTER_EVENT = 'fuimenuenter';\n\n/**\n * This hook works similarly to @see {useOnClickOutside}\n *\n * Problem: Trying to behave the same as system menus:\n * When the mouse leaves a stack of nested menus the stack should not dismiss.\n * However if the mouse leaves a stack of menus and enters a parent menu all its children menu should dismiss.\n *\n * We don't use the native mouseenter event because it would trigger too many times in the document\n * Instead, dispatch custom DOM event from the menu so that it can bubble\n * Each nested menu can use the listener to check if the event is from a child or parent menu\n */\nexport const useOnMenuMouseEnter = (options: UseOnClickOrScrollOutsideOptions) => {\n const { refs, callback, element, disabled } = options;\n\n // Keep mouse event here because this is essentially a custom 'mouseenter' event\n const listener = useEventCallback((ev: MouseEvent) => {\n const popoverRef = refs[0];\n const someMenuPopover = ev.target as HTMLElement;\n\n // someMenu is a child -> will always be contained because of vParents\n // someMenu is a parent -> will always not be contained because no vParent\n // someMenu is the current popover -> it will contain itself\n const isOutsidePopover = !elementContains(popoverRef.current ?? null, someMenuPopover);\n if (isOutsidePopover && !disabled) {\n callback(ev);\n }\n });\n\n React.useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (element == null) {\n return;\n }\n\n /**\n * Because `addEventListener` type override falls back to 2nd definition (evt name is unknown string literal)\n * evt is being typed as a base class of MouseEvent -> `Event`.\n * This type is used to override `listener` calls to make TS happy\n */\n\n type ListenerOverride = (evt: Event) => void;\n\n if (!disabled) {\n element.addEventListener(MENU_ENTER_EVENT, listener as ListenerOverride);\n }\n\n return () => {\n element.removeEventListener(MENU_ENTER_EVENT, listener as ListenerOverride);\n };\n }, [listener, element, disabled]);\n};\n\n/**\n * Dispatches the custom MouseEvent enter event. Similar to calling `el.click()`\n * @param el element for the event target\n * @param nativeEvent the native mouse event this is mapped to\n */\nexport const dispatchMenuEnterEvent = (el: HTMLElement, nativeEvent: MouseEvent) => {\n el.dispatchEvent(new CustomEvent(MENU_ENTER_EVENT, { bubbles: true, detail: { nativeEvent } }));\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,eAAe,QAAQ;AAGhC;;;AAGA,OAAO,MAAMC,gBAAA,GAAmB;AAEhC;;;;;;;;;;;AAWA,OAAO,MAAMC,mBAAA,GAAuBC,OAAA,IAA8C;EAChF,MAAM;IAAEC,IAAA;IAAMC,QAAA;IAAUC,OAAA;IAASC;EAAQ,CAAE,GAAGJ,OAAA;EAE9C;EACA,MAAMK,QAAA,GAAWT,gBAAA,CAAkBU,EAAA,IAAmB;IACpD,MAAMC,UAAA,GAAaN,IAAI,CAAC,EAAE;IAC1B,MAAMO,eAAA,GAAkBF,EAAA,CAAGG,MAAM;QAKSC,mBAAA;IAH1C;IACA;IACA;IACA,MAAMC,gBAAA,GAAmB,CAACd,eAAA,CAAgB,CAAAa,mBAAA,GAAAH,UAAA,CAAWK,OAAO,cAAlBF,mBAAA,cAAAA,mBAAA,GAAsB,IAAI,EAAEF,eAAA;IACtE,IAAIG,gBAAA,IAAoB,CAACP,QAAA,EAAU;MACjCF,QAAA,CAASI,EAAA;IACX;EACF;EAEAX,KAAA,CAAMkB,SAAS,CAAC,MAAM;IACpB;IACA,IAAIV,OAAA,IAAW,IAAI,EAAE;MACnB;IACF;IAUA,IAAI,CAACC,QAAA,EAAU;MACbD,OAAA,CAAQW,gBAAgB,CAAChB,gBAAA,EAAkBO,QAAA;IAC7C;IAEA,OAAO,MAAM;MACXF,OAAA,CAAQY,mBAAmB,CAACjB,gBAAA,EAAkBO,QAAA;IAChD;EACF,GAAG,CAACA,QAAA,EAAUF,OAAA,EAASC,QAAA,CAAS;AAClC;AAEA;;;;;AAKA,OAAO,MAAMY,sBAAA,GAAyBA,CAACC,EAAA,EAAiBC,WAAA,KAA4B;EAClFD,EAAA,CAAGE,aAAa,CAAC,IAAIC,WAAA,CAAYtB,gBAAA,EAAkB;IAAEuB,OAAA,EAAS,IAAI;IAAEC,MAAA,EAAQ;MAAEJ;IAAY;EAAE;AAC9F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-menu",
3
- "version": "0.0.0-nightly-20230502-0418.1",
3
+ "version": "0.0.0-nightly-20230504-0417.1",
4
4
  "description": "Fluent UI menu component",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -29,23 +29,23 @@
29
29
  "devDependencies": {
30
30
  "@fluentui/eslint-plugin": "*",
31
31
  "@fluentui/react-conformance": "*",
32
- "@fluentui/react-conformance-griffel": "0.0.0-nightly-20230502-0418.1",
32
+ "@fluentui/react-conformance-griffel": "0.0.0-nightly-20230504-0417.1",
33
33
  "@fluentui/scripts-api-extractor": "*",
34
34
  "@fluentui/scripts-cypress": "*",
35
35
  "@fluentui/scripts-tasks": "*"
36
36
  },
37
37
  "dependencies": {
38
- "@fluentui/keyboard-keys": "0.0.0-nightly-20230502-0418.1",
39
- "@fluentui/react-aria": "0.0.0-nightly-20230502-0418.1",
40
- "@fluentui/react-context-selector": "0.0.0-nightly-20230502-0418.1",
38
+ "@fluentui/keyboard-keys": "0.0.0-nightly-20230504-0417.1",
39
+ "@fluentui/react-aria": "0.0.0-nightly-20230504-0417.1",
40
+ "@fluentui/react-context-selector": "0.0.0-nightly-20230504-0417.1",
41
41
  "@fluentui/react-icons": "^2.0.196",
42
- "@fluentui/react-portal": "0.0.0-nightly-20230502-0418.1",
43
- "@fluentui/react-positioning": "0.0.0-nightly-20230502-0418.1",
44
- "@fluentui/react-shared-contexts": "0.0.0-nightly-20230502-0418.1",
45
- "@fluentui/react-tabster": "0.0.0-nightly-20230502-0418.1",
46
- "@fluentui/react-theme": "0.0.0-nightly-20230502-0418.1",
47
- "@fluentui/react-utilities": "0.0.0-nightly-20230502-0418.1",
48
- "@fluentui/react-jsx-runtime": "0.0.0-nightly-20230502-0418.1",
42
+ "@fluentui/react-portal": "0.0.0-nightly-20230504-0417.1",
43
+ "@fluentui/react-positioning": "0.0.0-nightly-20230504-0417.1",
44
+ "@fluentui/react-shared-contexts": "0.0.0-nightly-20230504-0417.1",
45
+ "@fluentui/react-tabster": "0.0.0-nightly-20230504-0417.1",
46
+ "@fluentui/react-theme": "0.0.0-nightly-20230504-0417.1",
47
+ "@fluentui/react-utilities": "0.0.0-nightly-20230504-0417.1",
48
+ "@fluentui/react-jsx-runtime": "0.0.0-nightly-20230504-0417.1",
49
49
  "@griffel/react": "^1.5.2",
50
50
  "@swc/helpers": "^0.4.14"
51
51
  },
package/.swcrc DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/swcrc",
3
- "exclude": [
4
- "/testing",
5
- "/**/*.cy.ts",
6
- "/**/*.cy.tsx",
7
- "/**/*.spec.ts",
8
- "/**/*.spec.tsx",
9
- "/**/*.test.ts",
10
- "/**/*.test.tsx"
11
- ],
12
- "jsc": {
13
- "parser": {
14
- "syntax": "typescript",
15
- "tsx": true,
16
- "decorators": false,
17
- "dynamicImport": false
18
- },
19
- "externalHelpers": true,
20
- "transform": {
21
- "react": {
22
- "runtime": "classic",
23
- "useSpread": true
24
- }
25
- },
26
- "target": "es2019"
27
- },
28
- "minify": false,
29
- "sourceMaps": true
30
- }