@gooddata/sdk-ui-kit 10.28.0-alpha.9 → 10.28.0-alpha.91

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 (244) hide show
  1. package/esm/@ui/@types/size.d.ts +4 -0
  2. package/esm/@ui/@types/size.d.ts.map +1 -1
  3. package/esm/@ui/@types/size.js +1 -0
  4. package/esm/@ui/@types/size.js.map +1 -1
  5. package/esm/@ui/@utils/keyboardNavigation.d.ts +44 -12
  6. package/esm/@ui/@utils/keyboardNavigation.d.ts.map +1 -1
  7. package/esm/@ui/@utils/keyboardNavigation.js +55 -65
  8. package/esm/@ui/@utils/keyboardNavigation.js.map +1 -1
  9. package/esm/@ui/UiButton/UiButton.d.ts +8 -1
  10. package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
  11. package/esm/@ui/UiButton/UiButton.js +9 -4
  12. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  13. package/esm/@ui/UiChip/UiChip.d.ts +3 -1
  14. package/esm/@ui/UiChip/UiChip.d.ts.map +1 -1
  15. package/esm/@ui/UiChip/UiChip.js +3 -3
  16. package/esm/@ui/UiChip/UiChip.js.map +1 -1
  17. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts.map +1 -1
  18. package/esm/@ui/UiFocusTrap/UiFocusTrap.js +4 -1
  19. package/esm/@ui/UiFocusTrap/UiFocusTrap.js.map +1 -1
  20. package/esm/@ui/UiIconButton/UiIconButton.d.ts +3 -2
  21. package/esm/@ui/UiIconButton/UiIconButton.d.ts.map +1 -1
  22. package/esm/@ui/UiIconButton/UiIconButton.js +26 -3
  23. package/esm/@ui/UiIconButton/UiIconButton.js.map +1 -1
  24. package/esm/@ui/UiListbox/UiListbox.d.ts +1 -1
  25. package/esm/@ui/UiListbox/UiListbox.d.ts.map +1 -1
  26. package/esm/@ui/UiListbox/UiListbox.js +6 -7
  27. package/esm/@ui/UiListbox/UiListbox.js.map +1 -1
  28. package/esm/@ui/UiListbox/types.d.ts +1 -0
  29. package/esm/@ui/UiListbox/types.d.ts.map +1 -1
  30. package/esm/@ui/UiMenu/UiMenu.d.ts +1 -1
  31. package/esm/@ui/UiMenu/UiMenu.d.ts.map +1 -1
  32. package/esm/@ui/UiMenu/UiMenu.js +26 -6
  33. package/esm/@ui/UiMenu/UiMenu.js.map +1 -1
  34. package/esm/@ui/UiMenu/components/Item.d.ts +4 -0
  35. package/esm/@ui/UiMenu/components/Item.d.ts.map +1 -0
  36. package/esm/@ui/UiMenu/components/Item.js +26 -0
  37. package/esm/@ui/UiMenu/components/Item.js.map +1 -0
  38. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuContent.d.ts +10 -0
  39. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuContent.d.ts.map +1 -0
  40. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuContent.js +29 -0
  41. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuContent.js.map +1 -0
  42. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuContentItem.d.ts +12 -0
  43. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuContentItem.d.ts.map +1 -0
  44. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuContentItem.js +60 -0
  45. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuContentItem.js.map +1 -0
  46. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuGroupItem.d.ts +7 -0
  47. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuGroupItem.d.ts.map +1 -0
  48. package/esm/@ui/UiMenu/{defaults/DefaultUiMenuGroupItemComponent.js → components/defaults/DefaultUiMenuGroupItem.js} +5 -5
  49. package/esm/@ui/UiMenu/{defaults/DefaultUiMenuGroupItemComponent.js.map → components/defaults/DefaultUiMenuGroupItem.js.map} +1 -1
  50. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuHeader.d.ts +8 -0
  51. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuHeader.d.ts.map +1 -0
  52. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuHeader.js +49 -0
  53. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuHeader.js.map +1 -0
  54. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuInteractiveItem.d.ts +11 -0
  55. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuInteractiveItem.d.ts.map +1 -0
  56. package/esm/@ui/UiMenu/{defaults/DefaultUiMenuInteractiveItemComponent.js → components/defaults/DefaultUiMenuInteractiveItem.js} +7 -7
  57. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuInteractiveItem.js.map +1 -0
  58. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuStaticItem.d.ts +8 -0
  59. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuStaticItem.d.ts.map +1 -0
  60. package/esm/@ui/UiMenu/{defaults/DefaultUiMenuStaticItemComponent.js → components/defaults/DefaultUiMenuStaticItem.js} +3 -3
  61. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuStaticItem.js.map +1 -0
  62. package/esm/@ui/UiMenu/context.d.ts +6 -2
  63. package/esm/@ui/UiMenu/context.d.ts.map +1 -1
  64. package/esm/@ui/UiMenu/context.js +10 -0
  65. package/esm/@ui/UiMenu/context.js.map +1 -1
  66. package/esm/@ui/UiMenu/hooks.d.ts +10 -4
  67. package/esm/@ui/UiMenu/hooks.d.ts.map +1 -1
  68. package/esm/@ui/UiMenu/hooks.js +90 -37
  69. package/esm/@ui/UiMenu/hooks.js.map +1 -1
  70. package/esm/@ui/UiMenu/itemUtils.d.ts +60 -1
  71. package/esm/@ui/UiMenu/itemUtils.d.ts.map +1 -1
  72. package/esm/@ui/UiMenu/itemUtils.js +69 -1
  73. package/esm/@ui/UiMenu/itemUtils.js.map +1 -1
  74. package/esm/@ui/UiMenu/types.d.ts +65 -18
  75. package/esm/@ui/UiMenu/types.d.ts.map +1 -1
  76. package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.d.ts +21 -0
  77. package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.d.ts.map +1 -0
  78. package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.js +128 -0
  79. package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.js.map +1 -0
  80. package/esm/Button/Button.d.ts.map +1 -1
  81. package/esm/Button/Button.js +10 -3
  82. package/esm/Button/Button.js.map +1 -1
  83. package/esm/Button/typings.d.ts +2 -0
  84. package/esm/Button/typings.d.ts.map +1 -1
  85. package/esm/Dialog/DialogCloseButton.d.ts +3 -0
  86. package/esm/Dialog/DialogCloseButton.d.ts.map +1 -1
  87. package/esm/Dialog/DialogCloseButton.js +6 -2
  88. package/esm/Dialog/DialogCloseButton.js.map +1 -1
  89. package/esm/Dialog/DialogList/DialogListItemBasic.d.ts.map +1 -1
  90. package/esm/Dialog/DialogList/DialogListItemBasic.js +7 -4
  91. package/esm/Dialog/DialogList/DialogListItemBasic.js.map +1 -1
  92. package/esm/Dialog/DialogList/typings.d.ts +1 -0
  93. package/esm/Dialog/DialogList/typings.d.ts.map +1 -1
  94. package/esm/Dialog/DialogList/typings.js +1 -1
  95. package/esm/Dialog/DialogList/typings.js.map +1 -1
  96. package/esm/Dialog/ExportDialogBase.js +3 -3
  97. package/esm/Dialog/ExportDialogBase.js.map +1 -1
  98. package/esm/Dialog/index.d.ts +1 -0
  99. package/esm/Dialog/index.d.ts.map +1 -1
  100. package/esm/Dialog/index.js +2 -1
  101. package/esm/Dialog/index.js.map +1 -1
  102. package/esm/Dialog/typings.d.ts +5 -3
  103. package/esm/Dialog/typings.d.ts.map +1 -1
  104. package/esm/Dropdown/Dropdown.d.ts +1 -0
  105. package/esm/Dropdown/Dropdown.d.ts.map +1 -1
  106. package/esm/Dropdown/Dropdown.js +19 -20
  107. package/esm/Dropdown/Dropdown.js.map +1 -1
  108. package/esm/Header/generateHeaderAccountMenuItems.d.ts +0 -4
  109. package/esm/Header/generateHeaderAccountMenuItems.d.ts.map +1 -1
  110. package/esm/Header/generateHeaderAccountMenuItems.js +2 -6
  111. package/esm/Header/generateHeaderAccountMenuItems.js.map +1 -1
  112. package/esm/List/ListItem.d.ts +1 -0
  113. package/esm/List/ListItem.d.ts.map +1 -1
  114. package/esm/List/ListItem.js +4 -3
  115. package/esm/List/ListItem.js.map +1 -1
  116. package/esm/List/MenuList.d.ts.map +1 -1
  117. package/esm/List/MenuList.js +2 -2
  118. package/esm/List/MenuList.js.map +1 -1
  119. package/esm/List/guid.d.ts.map +1 -1
  120. package/esm/List/guid.js +5 -2
  121. package/esm/List/guid.js.map +1 -1
  122. package/esm/Menu/menuOpener/MenuOpener.js +2 -2
  123. package/esm/Menu/menuOpener/MenuOpener.js.map +1 -1
  124. package/esm/Overlay/Overlay.d.ts.map +1 -1
  125. package/esm/Overlay/Overlay.js +6 -2
  126. package/esm/Overlay/Overlay.js.map +1 -1
  127. package/esm/RecurrenceForm/DateTime.d.ts +1 -0
  128. package/esm/RecurrenceForm/DateTime.d.ts.map +1 -1
  129. package/esm/RecurrenceForm/DateTime.js +3 -3
  130. package/esm/RecurrenceForm/DateTime.js.map +1 -1
  131. package/esm/RecurrenceForm/Recurrence.d.ts +1 -0
  132. package/esm/RecurrenceForm/Recurrence.d.ts.map +1 -1
  133. package/esm/RecurrenceForm/Recurrence.js +2 -2
  134. package/esm/RecurrenceForm/Recurrence.js.map +1 -1
  135. package/esm/RecurrenceForm/RecurrenceForm.d.ts +1 -0
  136. package/esm/RecurrenceForm/RecurrenceForm.d.ts.map +1 -1
  137. package/esm/RecurrenceForm/RecurrenceForm.js +3 -3
  138. package/esm/RecurrenceForm/RecurrenceForm.js.map +1 -1
  139. package/esm/RecurrenceForm/RepeatTypeSelect.d.ts +1 -0
  140. package/esm/RecurrenceForm/RepeatTypeSelect.d.ts.map +1 -1
  141. package/esm/RecurrenceForm/RepeatTypeSelect.js +16 -6
  142. package/esm/RecurrenceForm/RepeatTypeSelect.js.map +1 -1
  143. package/esm/RecurrenceForm/constants.d.ts +0 -1
  144. package/esm/RecurrenceForm/constants.d.ts.map +1 -1
  145. package/esm/RecurrenceForm/constants.js +0 -1
  146. package/esm/RecurrenceForm/constants.js.map +1 -1
  147. package/esm/Timepicker/Timepicker.d.ts +1 -0
  148. package/esm/Timepicker/Timepicker.d.ts.map +1 -1
  149. package/esm/Timepicker/Timepicker.js +19 -8
  150. package/esm/Timepicker/Timepicker.js.map +1 -1
  151. package/esm/ZoomContext/ZoomContext.js +6 -6
  152. package/esm/ZoomContext/ZoomContext.js.map +1 -1
  153. package/esm/index.d.ts +16 -7
  154. package/esm/index.d.ts.map +1 -1
  155. package/esm/index.js +12 -4
  156. package/esm/index.js.map +1 -1
  157. package/esm/responsive/useMediaQuery.d.ts.map +1 -1
  158. package/esm/responsive/useMediaQuery.js +3 -1
  159. package/esm/responsive/useMediaQuery.js.map +1 -1
  160. package/esm/sdk-ui-kit.d.ts +365 -79
  161. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts +14 -5
  162. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts.map +1 -1
  163. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js +5 -1
  164. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js.map +1 -1
  165. package/esm/syntaxHighlightingInput/hooks/useAutocompletion.d.ts +18 -0
  166. package/esm/syntaxHighlightingInput/hooks/useAutocompletion.d.ts.map +1 -0
  167. package/esm/syntaxHighlightingInput/hooks/useAutocompletion.js +66 -0
  168. package/esm/syntaxHighlightingInput/hooks/useAutocompletion.js.map +1 -0
  169. package/esm/syntaxHighlightingInput/hooks/useChangeHandler.d.ts +8 -0
  170. package/esm/syntaxHighlightingInput/hooks/useChangeHandler.d.ts.map +1 -0
  171. package/esm/syntaxHighlightingInput/hooks/useChangeHandler.js +21 -0
  172. package/esm/syntaxHighlightingInput/hooks/useChangeHandler.js.map +1 -0
  173. package/esm/syntaxHighlightingInput/hooks/useCodemirror.d.ts +12 -9
  174. package/esm/syntaxHighlightingInput/hooks/useCodemirror.d.ts.map +1 -1
  175. package/esm/syntaxHighlightingInput/hooks/useCodemirror.js +42 -96
  176. package/esm/syntaxHighlightingInput/hooks/useCodemirror.js.map +1 -1
  177. package/esm/syntaxHighlightingInput/hooks/useCodemirrorChange.d.ts +4 -0
  178. package/esm/syntaxHighlightingInput/hooks/useCodemirrorChange.d.ts.map +1 -0
  179. package/esm/syntaxHighlightingInput/hooks/useCodemirrorChange.js +35 -0
  180. package/esm/syntaxHighlightingInput/hooks/useCodemirrorChange.js.map +1 -0
  181. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEditable.d.ts +6 -0
  182. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEditable.d.ts.map +1 -0
  183. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEditable.js +24 -0
  184. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEditable.js.map +1 -0
  185. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEvents.d.ts +9 -0
  186. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEvents.d.ts.map +1 -0
  187. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEvents.js +26 -0
  188. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEvents.js.map +1 -0
  189. package/esm/syntaxHighlightingInput/hooks/useCodemirrorKeymap.d.ts +8 -0
  190. package/esm/syntaxHighlightingInput/hooks/useCodemirrorKeymap.d.ts.map +1 -0
  191. package/esm/syntaxHighlightingInput/hooks/useCodemirrorKeymap.js +32 -0
  192. package/esm/syntaxHighlightingInput/hooks/useCodemirrorKeymap.js.map +1 -0
  193. package/esm/syntaxHighlightingInput/hooks/useCodemirrorOptions.d.ts +10 -0
  194. package/esm/syntaxHighlightingInput/hooks/useCodemirrorOptions.d.ts.map +1 -0
  195. package/esm/syntaxHighlightingInput/hooks/useCodemirrorOptions.js +21 -0
  196. package/esm/syntaxHighlightingInput/hooks/useCodemirrorOptions.js.map +1 -0
  197. package/esm/syntaxHighlightingInput/hooks/useEventHandlers.d.ts +20 -0
  198. package/esm/syntaxHighlightingInput/hooks/useEventHandlers.d.ts.map +1 -0
  199. package/esm/syntaxHighlightingInput/hooks/useEventHandlers.js +25 -0
  200. package/esm/syntaxHighlightingInput/hooks/useEventHandlers.js.map +1 -0
  201. package/esm/typings/accessibility.d.ts +3 -2
  202. package/esm/typings/accessibility.d.ts.map +1 -1
  203. package/esm/utils/domUtilities.d.ts +8 -1
  204. package/esm/utils/domUtilities.d.ts.map +1 -1
  205. package/esm/utils/domUtilities.js +8 -0
  206. package/esm/utils/domUtilities.js.map +1 -1
  207. package/esm/utils/useAutofocusOnMount.d.ts +12 -0
  208. package/esm/utils/useAutofocusOnMount.d.ts.map +1 -0
  209. package/esm/utils/useAutofocusOnMount.js +51 -0
  210. package/esm/utils/useAutofocusOnMount.js.map +1 -0
  211. package/package.json +9 -8
  212. package/src/@ui/UiMenu/UiMenu.scss +15 -7
  213. package/styles/css/dialogList.css +17 -0
  214. package/styles/css/dialogList.css.map +1 -1
  215. package/styles/css/header.css.map +1 -1
  216. package/styles/css/list.css +10 -0
  217. package/styles/css/list.css.map +1 -1
  218. package/styles/css/main.css +52 -7
  219. package/styles/css/main.css.map +1 -1
  220. package/styles/css/menu.css +10 -0
  221. package/styles/css/menu.css.map +1 -1
  222. package/styles/css/recurrenceForm.css +3 -0
  223. package/styles/css/recurrenceForm.css.map +1 -1
  224. package/styles/css/shareDialogSelectControl.css.map +1 -1
  225. package/styles/css/timepicker.css +8 -0
  226. package/styles/css/timepicker.css.map +1 -1
  227. package/styles/scss/dialogList.scss +21 -1
  228. package/styles/scss/header.scss +2 -4
  229. package/styles/scss/list.scss +11 -0
  230. package/styles/scss/recurrenceForm.scss +5 -0
  231. package/styles/scss/shareDialogSelectControl.scss +0 -1
  232. package/styles/scss/timepicker.scss +10 -1
  233. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts +0 -7
  234. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts.map +0 -1
  235. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts +0 -9
  236. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts.map +0 -1
  237. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js +0 -39
  238. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js.map +0 -1
  239. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts +0 -11
  240. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts.map +0 -1
  241. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js.map +0 -1
  242. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts +0 -8
  243. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts.map +0 -1
  244. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js.map +0 -1
@@ -3,13 +3,19 @@ import React from "react";
3
3
  /**
4
4
  * @internal
5
5
  */
6
- export declare function useUiMenuContextValue<T extends IUiMenuItemData = object>(props: UiMenuProps<T>, menuComponentRef: React.RefObject<HTMLElement>, itemsContainerRef: React.RefObject<HTMLElement>): IUiMenuContext<T>;
6
+ export declare function useUiMenuContextValue<T extends IUiMenuItemData = object, M = object>(props: UiMenuProps<T, M>, menuComponentRef: React.RefObject<HTMLElement>, itemsContainerRef: React.RefObject<HTMLElement>): IUiMenuContext<T, M>;
7
7
  /**
8
8
  * @internal
9
9
  */
10
- export declare function useKeyNavigation<T extends IUiMenuItemData = object>({ menuContextValue, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, onUnhandledKeyDown, }: {
11
- menuContextValue: IUiMenuContext<T>;
12
- onUnhandledKeyDown: UiMenuProps<T>["onUnhandledKeyDown"];
10
+ export declare function useKeyNavigation<T extends IUiMenuItemData = object, M extends object = object>({ menuContextValue, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, onUnhandledKeyDown, }: {
11
+ menuContextValue: IUiMenuContext<T, M>;
12
+ onUnhandledKeyDown: UiMenuProps<T, M>["onUnhandledKeyDown"];
13
+ shouldKeyboardActionPreventDefault?: boolean;
14
+ shouldKeyboardActionStopPropagation?: boolean;
15
+ }): (event: React.KeyboardEvent<Element>) => void;
16
+ export declare function useCustomContentKeyNavigation<T extends IUiMenuItemData = object, M extends object = object>({ menuContextValue, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, onUnhandledKeyDown, }: {
17
+ menuContextValue: IUiMenuContext<T, M>;
18
+ onUnhandledKeyDown: UiMenuProps<T, M>["onUnhandledKeyDown"];
13
19
  shouldKeyboardActionPreventDefault?: boolean;
14
20
  shouldKeyboardActionStopPropagation?: boolean;
15
21
  }): (event: React.KeyboardEvent<Element>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/hooks.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,cAAc,EAId,WAAW,EACX,eAAe,EAClB,MAAM,YAAY,CAAC;AAWpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EACpE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAC9C,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAChD,cAAc,CAAC,CAAC,CAAC,CAsHnB;AAwBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,EACjE,gBAAgB,EAChB,kCAAkC,EAClC,mCAAmC,EACnC,kBAAkB,GACrB,EAAE;IACC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACpC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACzD,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,mCAAmC,CAAC,EAAE,OAAO,CAAC;CACjD,iDAwFA"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/hooks.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,cAAc,EAEd,WAAW,EACX,eAAe,EAElB,MAAM,YAAY,CAAC;AAWpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,EAChF,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAC9C,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAChD,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CA6KtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAC5F,gBAAgB,EAChB,kCAAkC,EAClC,mCAAmC,EACnC,kBAAkB,GACrB,EAAE;IACC,gBAAgB,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,kBAAkB,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5D,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,mCAAmC,CAAC,EAAE,OAAO,CAAC;CACjD,iDA+FA;AAED,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EACzG,gBAAgB,EAChB,kCAAkC,EAClC,mCAAmC,EACnC,kBAAkB,GACrB,EAAE;IACC,gBAAgB,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,kBAAkB,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5D,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,mCAAmC,CAAC,EAAE,OAAO,CAAC;CACjD,iDAkCA"}
@@ -1,37 +1,65 @@
1
1
  // (C) 2022-2025 GoodData Corporation
2
2
  import { makeMenuKeyboardNavigation } from "../@utils/keyboardNavigation.js";
3
- import { getClosestFocusableSibling, getInteractiveItem, getItemInteractiveParent, getItemsByInteractiveParent, getSiblingItems, unwrapGroupItems, } from "./itemUtils.js";
3
+ import { getClosestFocusableSibling, getFocusableItem, getItemInteractiveParent, getItemsByInteractiveParent, getSiblingItems, unwrapGroupItems, } from "./itemUtils.js";
4
4
  import { useAutoupdateRef } from "@gooddata/sdk-ui";
5
5
  import React from "react";
6
- import { DefaultUiMenuInteractiveItemComponent, DefaultUiMenuInteractiveItemWrapperComponent, } from "./defaults/DefaultUiMenuInteractiveItemComponent.js";
7
- import { DefaultUiMenuStaticItemComponent } from "./defaults/DefaultUiMenuStaticItemComponent.js";
8
- import { DefaultUiMenuGroupItemComponent } from "./defaults/DefaultUiMenuGroupItemComponent.js";
9
- import { DefaultUiMenuHeaderComponent } from "./defaults/DefaultUiMenuHeaderComponent.js";
6
+ import { DefaultUiMenuInteractiveItem, DefaultUiMenuInteractiveItemWrapper, } from "./components/defaults/DefaultUiMenuInteractiveItem.js";
7
+ import { DefaultUiMenuStaticItem } from "./components/defaults/DefaultUiMenuStaticItem.js";
8
+ import { DefaultUiMenuGroupItem } from "./components/defaults/DefaultUiMenuGroupItem.js";
9
+ import { DefaultUiMenuHeader } from "./components/defaults/DefaultUiMenuHeader.js";
10
10
  import { v4 as uuid } from "uuid";
11
- import { typedUiMenuContextStore } from "./context.js";
11
+ import { DefaultUiMenuContentItem, DefaultUiMenuContentItemWrapper, } from "./components/defaults/DefaultUiMenuContentItem.js";
12
+ import { DefaultUiMenuContent } from "./components/defaults/DefaultUiMenuContent.js";
13
+ import { Item } from "./components/Item.js";
14
+ import { isElementTextInput } from "../../utils/domUtilities.js";
12
15
  /**
13
16
  * @internal
14
17
  */
15
18
  export function useUiMenuContextValue(props, menuComponentRef, itemsContainerRef) {
16
- const { items, itemClassName, onSelect, onClose, InteractiveItemComponent = DefaultUiMenuInteractiveItemComponent, InteractiveItemWrapperComponent = DefaultUiMenuInteractiveItemWrapperComponent, StaticItemComponent = DefaultUiMenuStaticItemComponent, GroupItemComponent = DefaultUiMenuGroupItemComponent, MenuHeaderComponent = DefaultUiMenuHeaderComponent, shouldCloseOnSelect = true, isDisabledFocusable = true, ariaAttributes, } = props;
19
+ const { items, itemClassName, onSelect, onLevelChange, onClose, InteractiveItem: InteractiveItemComponent = DefaultUiMenuInteractiveItem, InteractiveItemWrapper: InteractiveItemWrapperComponent = DefaultUiMenuInteractiveItemWrapper, StaticItem: StaticItemComponent = DefaultUiMenuStaticItem, GroupItem: GroupItemComponent = DefaultUiMenuGroupItem, MenuHeader: MenuHeaderComponent = DefaultUiMenuHeader, ContentItem: ContentItemComponent = DefaultUiMenuContentItem, ContentItemWrapper: ContentItemWrapperComponent = DefaultUiMenuContentItemWrapper, Content: ContentComponent = DefaultUiMenuContent, shouldCloseOnSelect = true, isDisabledFocusable = true, ariaAttributes, menuCtxData, } = props;
17
20
  const [controlType, setControlType] = React.useState("unknown");
18
21
  const isItemFocusable = React.useCallback((item) => {
19
- if (!item || item.type !== "interactive") {
22
+ if (!item || (item.type !== "interactive" && item.type !== "content")) {
20
23
  return false;
21
24
  }
22
25
  return isDisabledFocusable || !item.isDisabled;
23
26
  }, [isDisabledFocusable]);
24
27
  const [focusedId, setFocusedId_internal] = React.useState(() => unwrapGroupItems(items).find(isItemFocusable)?.id);
28
+ const [shownCustomContentItemId, setShownCustomContentItemId] = React.useState(undefined);
25
29
  const setFocusedId = React.useCallback((...args) => {
26
30
  setFocusedId_internal(...args);
27
31
  // Focus is lost when clicking on an item that opens a submenu. We need to refocus the menu.
28
32
  menuComponentRef.current?.focus();
29
33
  }, [menuComponentRef]);
30
- const focusedItem = focusedId === undefined ? undefined : getInteractiveItem(items, focusedId);
34
+ const focusedItem = focusedId !== undefined ? getFocusableItem(items, focusedId) : undefined;
35
+ const parentItemId = React.useMemo(() => {
36
+ if (shownCustomContentItemId) {
37
+ return shownCustomContentItemId;
38
+ }
39
+ if (focusedItem) {
40
+ return getItemInteractiveParent(items, focusedItem.id)?.id;
41
+ }
42
+ return undefined;
43
+ }, [focusedItem, items, shownCustomContentItemId]);
44
+ React.useEffect(() => {
45
+ if (parentItemId) {
46
+ const item = getFocusableItem(items, parentItemId);
47
+ onLevelChange?.(1, item);
48
+ }
49
+ else {
50
+ onLevelChange?.(0, undefined);
51
+ }
52
+ }, [parentItemId, onLevelChange, items]);
31
53
  const handleSelectItem = React.useCallback((item) => {
32
54
  if (!item || item.isDisabled) {
33
55
  return;
34
56
  }
57
+ if (item.type === "content") {
58
+ if (item.Component) {
59
+ setShownCustomContentItemId(item.id);
60
+ }
61
+ return;
62
+ }
35
63
  // If there is no submenu, select the item
36
64
  if (!item.subItems) {
37
65
  onSelect?.(item);
@@ -39,14 +67,21 @@ export function useUiMenuContextValue(props, menuComponentRef, itemsContainerRef
39
67
  return;
40
68
  }
41
69
  // Otherwise focus the first focusable child
42
- const itemToFocus = getItemsByInteractiveParent(items, item.id)?.filter(isItemFocusable)[0];
70
+ const itemToFocus = unwrapGroupItems(getItemsByInteractiveParent(items, item.id) ?? []).filter(isItemFocusable)[0];
43
71
  if (!itemToFocus) {
44
72
  return;
45
73
  }
46
74
  setFocusedId(itemToFocus.id);
47
75
  menuComponentRef.current?.focus();
48
76
  }, [isItemFocusable, items, menuComponentRef, onClose, onSelect, setFocusedId, shouldCloseOnSelect]);
49
- const makeItemId = React.useCallback((item) => (item && item.type === "interactive" ? `item-${ariaAttributes.id}-${item.id}` : uuid()), [ariaAttributes.id]);
77
+ const makeItemId = React.useCallback((item) => {
78
+ if (!item) {
79
+ return undefined;
80
+ }
81
+ return item && (item.type === "interactive" || item.type === "content")
82
+ ? `item-${ariaAttributes.id}-${item.id}`
83
+ : uuid();
84
+ }, [ariaAttributes.id]);
50
85
  const scrollToView = React.useCallback((element) => {
51
86
  if (!element) {
52
87
  return;
@@ -62,6 +97,8 @@ export function useUiMenuContextValue(props, menuComponentRef, itemsContainerRef
62
97
  setControlType,
63
98
  setFocusedId,
64
99
  focusedItem,
100
+ setShownCustomContentItemId,
101
+ shownCustomContentItemId,
65
102
  onClose,
66
103
  items,
67
104
  onSelect: handleSelectItem,
@@ -71,39 +108,24 @@ export function useUiMenuContextValue(props, menuComponentRef, itemsContainerRef
71
108
  scrollToView,
72
109
  menuComponentRef,
73
110
  itemsContainerRef,
74
- InteractiveItemWrapperComponent,
75
- InteractiveItemComponent,
76
- StaticItemComponent,
77
- GroupItemComponent,
78
- MenuHeaderComponent,
79
- ItemComponent,
111
+ InteractiveItemWrapper: InteractiveItemWrapperComponent,
112
+ InteractiveItem: InteractiveItemComponent,
113
+ StaticItem: StaticItemComponent,
114
+ GroupItem: GroupItemComponent,
115
+ MenuHeader: MenuHeaderComponent,
116
+ ContentItemWrapper: ContentItemWrapperComponent,
117
+ ContentItem: ContentItemComponent,
118
+ Content: ContentComponent,
119
+ ItemComponent: Item,
120
+ menuCtxData,
80
121
  };
81
122
  }
82
- const ItemComponent = React.memo(function ItemComponent({ item, }) {
83
- const { InteractiveItemWrapperComponent, StaticItemComponent, GroupItemComponent } = typedUiMenuContextStore().useContextStore((ctx) => ({
84
- InteractiveItemWrapperComponent: ctx.InteractiveItemWrapperComponent,
85
- StaticItemComponent: ctx.StaticItemComponent,
86
- GroupItemComponent: ctx.GroupItemComponent,
87
- }));
88
- if (item.type === "interactive") {
89
- return React.createElement(InteractiveItemWrapperComponent, { item: item });
90
- }
91
- if (item.type === "static") {
92
- return React.createElement(StaticItemComponent, { item: item });
93
- }
94
- if (item.type === "group") {
95
- return React.createElement(GroupItemComponent, { item: item });
96
- }
97
- return null;
98
- });
99
123
  /**
100
124
  * @internal
101
125
  */
102
126
  export function useKeyNavigation({ menuContextValue, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, onUnhandledKeyDown, }) {
103
127
  const menuContextRef = useAutoupdateRef(menuContextValue);
104
128
  return makeMenuKeyboardNavigation({
105
- shouldPreventDefault: shouldKeyboardActionPreventDefault,
106
- shouldStopPropagation: shouldKeyboardActionStopPropagation,
107
129
  onFocusPrevious: () => {
108
130
  const { setFocusedId, items, isItemFocusable } = menuContextRef.current;
109
131
  setFocusedId((prevId) => getClosestFocusableSibling({
@@ -148,7 +170,9 @@ export function useKeyNavigation({ menuContextValue, shouldKeyboardActionPrevent
148
170
  },
149
171
  onEnterLevel: () => {
150
172
  const { onSelect, focusedItem } = menuContextRef.current;
151
- if (focusedItem?.type !== "interactive" || !focusedItem.subItems) {
173
+ if ((focusedItem?.type !== "interactive" && focusedItem?.type !== "content") ||
174
+ (focusedItem?.type === "interactive" && !focusedItem.subItems) ||
175
+ (focusedItem?.type === "content" && !focusedItem.Component)) {
152
176
  return;
153
177
  }
154
178
  onSelect(focusedItem);
@@ -168,6 +192,35 @@ export function useKeyNavigation({ menuContextValue, shouldKeyboardActionPrevent
168
192
  onUnhandledKeyDown: (event) => {
169
193
  onUnhandledKeyDown?.(event, menuContextRef.current);
170
194
  },
195
+ }, {
196
+ shouldPreventDefault: shouldKeyboardActionPreventDefault,
197
+ shouldStopPropagation: shouldKeyboardActionStopPropagation,
198
+ });
199
+ }
200
+ export function useCustomContentKeyNavigation({ menuContextValue, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, onUnhandledKeyDown, }) {
201
+ const menuContextRef = useAutoupdateRef(menuContextValue);
202
+ return makeMenuKeyboardNavigation({
203
+ onLeaveLevel: () => {
204
+ const isInputFocused = isElementTextInput(document.activeElement);
205
+ if (isInputFocused) {
206
+ return;
207
+ }
208
+ const { setShownCustomContentItemId } = menuContextRef.current;
209
+ setShownCustomContentItemId(undefined);
210
+ },
211
+ onClose: () => {
212
+ const isInputFocused = isElementTextInput(document.activeElement);
213
+ if (isInputFocused) {
214
+ return;
215
+ }
216
+ menuContextRef.current.onClose?.();
217
+ },
218
+ onUnhandledKeyDown: (event) => {
219
+ onUnhandledKeyDown?.(event, menuContextRef.current);
220
+ },
221
+ }, {
222
+ shouldPreventDefault: shouldKeyboardActionPreventDefault,
223
+ shouldStopPropagation: shouldKeyboardActionStopPropagation,
171
224
  });
172
225
  }
173
226
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/hooks.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/hooks.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,77 @@
1
- import { IUiMenuInteractiveItem, IUiMenuItem, IUiMenuItemData } from "./types.js";
1
+ import { IUiMenuContentItem, IUiMenuFocusableItem, IUiMenuInteractiveItem, IUiMenuItem, IUiMenuItemData } from "./types.js";
2
+ /**
3
+ * Recursively finds an item in the menu tree that matches the predicate.
4
+ * @internal
5
+ */
2
6
  export declare const findItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], predicate: (item: IUiMenuItem<T>) => boolean) => IUiMenuItem<T>;
7
+ /**
8
+ * Gets a menu item by its ID.
9
+ * @internal
10
+ */
3
11
  export declare const getItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuItem<T>;
12
+ /**
13
+ * Finds an interactive menu item that matches the predicate.
14
+ * @internal
15
+ */
4
16
  export declare const findInteractiveItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], predicate: (item: IUiMenuInteractiveItem<T>) => boolean) => IUiMenuInteractiveItem<T>;
17
+ /**
18
+ * Finds a content menu item that matches the predicate.
19
+ * @internal
20
+ */
21
+ export declare const findContentItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], predicate: (item: IUiMenuContentItem<T>) => boolean) => IUiMenuContentItem<T>;
22
+ /**
23
+ * Gets an interactive menu item by its ID.
24
+ * @internal
25
+ */
5
26
  export declare const getInteractiveItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuInteractiveItem<T>;
27
+ /**
28
+ * Gets a content menu item by its ID.
29
+ * @internal
30
+ */
31
+ export declare const getContentItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuContentItem<T>;
32
+ /**
33
+ * Gets a focusable (either interactive or content) menu item by its ID.
34
+ * @internal
35
+ */
36
+ export declare const getFocusableItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuFocusableItem | undefined;
37
+ /**
38
+ * Gets all items under a specific interactive parent item.
39
+ * @internal
40
+ */
6
41
  export declare const getItemsByInteractiveParent: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], parentId?: string) => IUiMenuItem<T>[];
42
+ /**
43
+ * Gets the interactive parent of a menu item.
44
+ * @internal
45
+ */
7
46
  export declare const getItemInteractiveParent: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuInteractiveItem<T>;
47
+ /**
48
+ * Gets all sibling items of a menu item.
49
+ * @internal
50
+ */
8
51
  export declare const getSiblingItems: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuItem<T>[];
52
+ /**
53
+ * Gets all next sibling items of a menu item with wraparound.
54
+ * @internal
55
+ */
9
56
  export declare const getNextSiblings: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuItem<T>[];
57
+ /**
58
+ * Gets all previous sibling items of a menu item with wraparound.
59
+ * @internal
60
+ */
10
61
  export declare const getPreviousSiblings: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuItem<T>[];
62
+ /**
63
+ * Gets the closest focusable sibling item in the specified direction.
64
+ * @internal
65
+ */
11
66
  export declare const getClosestFocusableSibling: <T extends IUiMenuItemData = object>(args: {
12
67
  items: IUiMenuItem<T>[];
13
68
  isItemFocusable: (item: IUiMenuItem<T>) => boolean;
14
69
  itemId?: string;
15
70
  direction: "forward" | "backward";
16
71
  }) => IUiMenuItem<T>;
72
+ /**
73
+ * Unwraps items from group containers into a flat array.
74
+ * @internal
75
+ */
17
76
  export declare function unwrapGroupItems<T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[]): IUiMenuItem<T>[];
18
77
  //# sourceMappingURL=itemUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"itemUtils.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/itemUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElF,eAAO,MAAM,QAAQ,qGAEoB,OAAO,mBAgB/C,CAAC;AAEF,eAAO,MAAM,OAAO,wEAER,MAAM,mBAGjB,CAAC;AAEF,eAAO,MAAM,mBAAmB,gHAEoB,OAAO,8BAK1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,wEAEnB,MAAM,8BAGjB,CAAC;AAEF,eAAO,MAAM,2BAA2B,2EAEzB,MAAM,qBAKpB,CAAC;AAEF,eAAO,MAAM,wBAAwB,wEAEzB,MAAM,8BAmBjB,CAAC;AAEF,eAAO,MAAM,eAAe,wEAEhB,MAAM,qBAQjB,CAAC;AAEF,eAAO,MAAM,eAAe,wEAEhB,MAAM,qBAWjB,CAAC;AAEF,eAAO,MAAM,mBAAmB,wEAEpB,MAAM,qBAWjB,CAAC;AAEF,eAAO,MAAM,0BAA0B;;+CAEQ,OAAO;aACzC,MAAM;eACJ,SAAS,GAAG,UAAU;oBAkBpC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,oBAkB3F"}
1
+ {"version":3,"file":"itemUtils.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/itemUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,eAAe,EAClB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,QAAQ,qGAEoB,OAAO,mBAgB/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,wEAER,MAAM,mBAGjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,gHAEoB,OAAO,8BAK1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,4GAEoB,OAAO,0BAKtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wEAEnB,MAAM,8BAGjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,wEAEf,MAAM,0BAGjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,wEAEjB,MAAM,KACf,oBAAoB,GAAG,SAEzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,2EAEzB,MAAM,qBAKpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,wEAEzB,MAAM,8BAuBjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,wEAEhB,MAAM,qBAQjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,wEAEhB,MAAM,qBAWjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,wEAEpB,MAAM,qBAWjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;+CAEQ,OAAO;aACzC,MAAM;eACJ,SAAS,GAAG,UAAU;oBAkBpC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,oBAkB3F"}
@@ -1,4 +1,8 @@
1
1
  // (C) 2025 GoodData Corporation
2
+ /**
3
+ * Recursively finds an item in the menu tree that matches the predicate.
4
+ * @internal
5
+ */
2
6
  export const findItem = (items, predicate) => {
3
7
  for (const item of items) {
4
8
  if (predicate(item)) {
@@ -13,23 +17,67 @@ export const findItem = (items, predicate) => {
13
17
  }
14
18
  return undefined;
15
19
  };
20
+ /**
21
+ * Gets a menu item by its ID.
22
+ * @internal
23
+ */
16
24
  export const getItem = (items, itemId) => {
17
25
  return findItem(items, (item) => item.id === itemId);
18
26
  };
27
+ /**
28
+ * Finds an interactive menu item that matches the predicate.
29
+ * @internal
30
+ */
19
31
  export const findInteractiveItem = (items, predicate) => {
20
32
  const foundItem = findItem(items, (item) => item.type === "interactive" && predicate(item));
21
33
  return foundItem?.type === "interactive" ? foundItem : undefined;
22
34
  };
35
+ /**
36
+ * Finds a content menu item that matches the predicate.
37
+ * @internal
38
+ */
39
+ export const findContentItem = (items, predicate) => {
40
+ const foundItem = findItem(items, (item) => item.type === "content" && predicate(item));
41
+ return foundItem?.type === "content" ? foundItem : undefined;
42
+ };
43
+ /**
44
+ * Gets an interactive menu item by its ID.
45
+ * @internal
46
+ */
23
47
  export const getInteractiveItem = (items, itemId) => {
24
48
  return findInteractiveItem(items, (item) => item.id === itemId);
25
49
  };
50
+ /**
51
+ * Gets a content menu item by its ID.
52
+ * @internal
53
+ */
54
+ export const getContentItem = (items, itemId) => {
55
+ return findContentItem(items, (item) => item.id === itemId);
56
+ };
57
+ /**
58
+ * Gets a focusable (either interactive or content) menu item by its ID.
59
+ * @internal
60
+ */
61
+ export const getFocusableItem = (items, itemId) => {
62
+ return getContentItem(items, itemId) || getInteractiveItem(items, itemId);
63
+ };
64
+ /**
65
+ * Gets all items under a specific interactive parent item.
66
+ * @internal
67
+ */
26
68
  export const getItemsByInteractiveParent = (items, parentId) => {
27
69
  const isRootLevel = parentId === undefined;
28
70
  return isRootLevel ? items : findInteractiveItem(items, (item) => item.id === parentId)?.subItems;
29
71
  };
72
+ /**
73
+ * Gets the interactive parent of a menu item.
74
+ * @internal
75
+ */
30
76
  export const getItemInteractiveParent = (items, itemId) => {
31
77
  const parent = findItem(items, (item) => {
32
- if (item.type === "static" || item.subItems === undefined) {
78
+ if (item.type === "static" ||
79
+ (item.type === "interactive" && item.subItems === undefined) ||
80
+ item.type === "content") {
33
81
  return false;
34
82
  }
35
83
  return item.subItems.some((subMenuItem) => subMenuItem.id === itemId);
@@ -42,6 +90,10 @@ export const getItemInteractiveParent = (items, itemId) => {
42
90
  }
43
91
  return undefined;
44
92
  };
93
+ /**
94
+ * Gets all sibling items of a menu item.
95
+ * @internal
96
+ */
45
97
  export const getSiblingItems = (items, itemId) => {
46
98
  // If itemId is provided but the item doesn't exist, return undefined
47
99
  if (!getItem(items, itemId)) {
@@ -49,6 +101,10 @@ export const getSiblingItems = (items, itemId) => {
49
101
  }
50
102
  return getItemsByInteractiveParent(items, getItemInteractiveParent(items, itemId)?.id);
51
103
  };
104
+ /**
105
+ * Gets all next sibling items of a menu item with wraparound.
106
+ * @internal
107
+ */
52
108
  export const getNextSiblings = (items, itemId) => {
53
109
  const siblingItems = getSiblingItems(items, itemId);
54
110
  const itemIndex = siblingItems?.findIndex((item) => item.id === itemId) ?? -1;
@@ -58,6 +114,10 @@ export const getNextSiblings = (items, itemId) => {
58
114
  // Wraparound
59
115
  return [...siblingItems.slice(itemIndex + 1), ...siblingItems.slice(0, itemIndex)];
60
116
  };
117
+ /**
118
+ * Gets all previous sibling items of a menu item with wraparound.
119
+ * @internal
120
+ */
61
121
  export const getPreviousSiblings = (items, itemId) => {
62
122
  const siblingItems = getSiblingItems(items, itemId);
63
123
  const itemIndex = siblingItems?.findIndex((item) => item.id === itemId) ?? -1;
@@ -67,6 +127,10 @@ export const getPreviousSiblings = (items, itemId) => {
67
127
  // Wraparound
68
128
  return [...siblingItems.slice(0, itemIndex).reverse(), ...siblingItems.slice(itemIndex + 1).reverse()];
69
129
  };
130
+ /**
131
+ * Gets the closest focusable sibling item in the specified direction.
132
+ * @internal
133
+ */
70
134
  export const getClosestFocusableSibling = (args) => {
71
135
  const { items, isItemFocusable, itemId, direction } = args;
72
136
  const unwrappedItems = unwrapGroupItems(items);
@@ -83,6 +147,10 @@ export const getClosestFocusableSibling = (args) => {
83
147
  return getPreviousSiblings(unwrappedItems, itemId).find(isItemFocusable);
84
148
  }
85
149
  };
150
+ /**
151
+ * Unwraps items from group containers into a flat array.
152
+ * @internal
153
+ */
86
154
  export function unwrapGroupItems(items) {
87
155
  const result = [];
88
156
  for (const item of items) {
@@ -1 +1 @@
1
- {"version":3,"file":"itemUtils.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/itemUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"itemUtils.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/itemUtils.ts"],"names":[],"mappings":"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"}