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

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
@@ -1 +1 @@
1
- {"version":3,"file":"UiListbox.js","sourceRoot":"","sources":["../../../src/@ui/UiListbox/UiListbox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiListbox.js","sourceRoot":"","sources":["../../../src/@ui/UiListbox/UiListbox.tsx"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ export interface UiListboxProps<InteractiveItemData, StaticItemData = React.Reac
58
58
  className?: string;
59
59
  itemClassName?: string;
60
60
  maxWidth?: number;
61
+ maxHeight?: number;
61
62
  onSelect?: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
62
63
  onClose?: () => void;
63
64
  onUnhandledKeyDown?: (event: React.KeyboardEvent, context: IUiListboxContext<InteractiveItemData, StaticItemData>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiListbox/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiListbox/types.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,5 @@ import { IUiMenuItemData, UiMenuProps } from "./types.js";
7
7
  *
8
8
  * @internal
9
9
  */
10
- export declare function UiMenu<T extends IUiMenuItemData = object>(props: UiMenuProps<T>): React.ReactNode;
10
+ export declare function UiMenu<T extends IUiMenuItemData = object, M extends object = object>(props: UiMenuProps<T, M>): React.ReactNode;
11
11
  //# sourceMappingURL=UiMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiMenu.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/UiMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK1D;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAsEjG"}
1
+ {"version":3,"file":"UiMenu.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/UiMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAa,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoB1D;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAChF,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACzB,KAAK,CAAC,SAAS,CA+FjB"}
@@ -2,9 +2,15 @@
2
2
  import React from "react";
3
3
  import cx from "classnames";
4
4
  import { b, e } from "./menuBem.js";
5
- import { getSiblingItems } from "./itemUtils.js";
6
- import { useKeyNavigation, useUiMenuContextValue } from "./hooks.js";
5
+ import { getContentItem, getSiblingItems } from "./itemUtils.js";
6
+ import { useCustomContentKeyNavigation, useKeyNavigation, useUiMenuContextValue } from "./hooks.js";
7
7
  import { typedUiMenuContextStore } from "./context.js";
8
+ import { useAutofocusOnMount } from "../../utils/useAutofocusOnMount.js";
9
+ const ContentWrapper = (props) => {
10
+ // autofocus always first element in the custom content for now
11
+ const autofocusRef = useAutofocusOnMount();
12
+ return (React.createElement("div", { onKeyDown: props.keyboardNavigationHandler, ref: autofocusRef }, props.children));
13
+ };
8
14
  /**
9
15
  * An accessible menu component that can be navigated by keyboard.
10
16
  * Usable in a <Dropdown /> component.
@@ -24,13 +30,27 @@ export function UiMenu(props) {
24
30
  shouldKeyboardActionPreventDefault,
25
31
  shouldKeyboardActionStopPropagation,
26
32
  });
27
- const { focusedItem, items, controlType, setControlType, MenuHeaderComponent, ItemComponent, makeItemId, } = contextStoreValue;
33
+ const handleKeyDownInCustomContent = useCustomContentKeyNavigation({
34
+ menuContextValue: contextStoreValue,
35
+ onUnhandledKeyDown,
36
+ shouldKeyboardActionPreventDefault,
37
+ shouldKeyboardActionStopPropagation,
38
+ });
39
+ const { focusedItem, items, controlType, setControlType, MenuHeader, ItemComponent, Content, makeItemId, shownCustomContentItemId, } = contextStoreValue;
28
40
  const focusedId = focusedItem?.id;
29
41
  const currentMenuLevelItems = React.useMemo(() => (focusedId === undefined ? [] : getSiblingItems(items, focusedId) ?? []), [items, focusedId]);
42
+ React.useEffect(() => {
43
+ // Only focus when shownCustomContentItemId becomes undefined (was previously set)
44
+ if (shownCustomContentItemId === undefined && menuComponentRef.current) {
45
+ menuComponentRef.current.focus();
46
+ }
47
+ }, [shownCustomContentItemId, menuComponentRef]);
48
+ const menuClassName = typeof className === "function" ? className(contextStoreValue) : className;
30
49
  return (React.createElement(UiMenuContextStore, { value: contextStoreValue },
31
- React.createElement("div", { className: cx(b(), b({ controlType }), className), style: { maxWidth }, onKeyDownCapture: () => setControlType("keyboard"), onMouseMoveCapture: () => setControlType("mouse") },
32
- React.createElement(MenuHeaderComponent, null),
50
+ React.createElement("div", { className: cx(b(), b({ controlType }), menuClassName), style: { maxWidth }, onKeyDownCapture: () => setControlType("keyboard"), onMouseMoveCapture: () => setControlType("mouse") }, shownCustomContentItemId ? (React.createElement(ContentWrapper, { keyboardNavigationHandler: handleKeyDownInCustomContent },
51
+ React.createElement(Content, { item: getContentItem(items, shownCustomContentItemId) }))) : (React.createElement(React.Fragment, null,
52
+ React.createElement(MenuHeader, null),
33
53
  React.createElement("div", { className: e("items-container"), ref: itemsContainerRef },
34
- React.createElement("menu", { className: e("items"), tabIndex: 0, onKeyDown: handleKeyDown, "aria-activedescendant": focusedItem ? makeItemId(focusedItem) : undefined, ...ariaAttributes, role: "menu", ref: menuComponentRef }, currentMenuLevelItems.map((item, index) => (React.createElement(ItemComponent, { key: "id" in item ? item.id : index, item: item }))))))));
54
+ React.createElement("menu", { className: e("items"), tabIndex: 0, onKeyDown: handleKeyDown, "aria-activedescendant": makeItemId(focusedItem), ...ariaAttributes, role: "menu", ref: menuComponentRef }, currentMenuLevelItems.map((item, index) => (React.createElement(ItemComponent, { key: "id" in item ? item.id : index, item: item }))))))))));
35
55
  }
36
56
  //# sourceMappingURL=UiMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiMenu.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/UiMenu.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAqC,KAAqB;IAC5E,MAAM,EACF,SAAS,EACT,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,kCAAkC,EAClC,mCAAmC,GACtC,GAAG,KAAK,CAAC;IAEV,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7D,MAAM,kBAAkB,GAAG,uBAAuB,EAAK,CAAC;IACxD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAE5F,MAAM,aAAa,GAAG,gBAAgB,CAAI;QACtC,gBAAgB,EAAE,iBAAiB;QACnC,kBAAkB;QAClB,kCAAkC;QAClC,mCAAmC;KACtC,CAAC,CAAC;IAEH,MAAM,EACF,WAAW,EACX,KAAK,EACL,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,UAAU,GACb,GAAG,iBAAiB,CAAC;IACtB,MAAM,SAAS,GAAG,WAAW,EAAE,EAAE,CAAC;IAElC,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,CACvC,GAAG,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAC9E,CAAC,KAAK,EAAE,SAAS,CAAC,CACrB,CAAC;IAEF,OAAO,CACH,oBAAC,kBAAkB,IAAC,KAAK,EAAE,iBAAiB;QACxC,6BACI,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,CAAC,EACjD,KAAK,EAAE,EAAE,QAAQ,EAAE,EACnB,gBAAgB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;YAEjD,oBAAC,mBAAmB,OAAG;YAEvB,6BACI,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC/B,GAAG,EAAE,iBAA2D;gBAEhE,8BACI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EACrB,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,aAAa,2BACD,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KACpE,cAAc,EAClB,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,gBAAgB,IAEpB,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,oBAAC,aAAa,IAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CACrE,CAAC,CACC,CACL,CACJ,CACW,CACxB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"UiMenu.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/UiMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { IUiMenuItemProps, IUiMenuItemData } from "../types.js";
3
+ export declare const Item: React.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item, }: IUiMenuItemProps<T>) => React.JSX.Element)>;
4
+ //# sourceMappingURL=Item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../../src/@ui/UiMenu/components/Item.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEhE,eAAO,MAAM,IAAI,wHAyBf,CAAC"}
@@ -0,0 +1,26 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import React from "react";
3
+ import { typedUiMenuContextStore } from "../context.js";
4
+ export const Item = React.memo(function Item({ item, }) {
5
+ const { InteractiveItemWrapper, StaticItem, GroupItem, ContentItemWrapper } = typedUiMenuContextStore().useContextStore((ctx) => ({
6
+ InteractiveItemWrapper: ctx.InteractiveItemWrapper,
7
+ StaticItem: ctx.StaticItem,
8
+ GroupItem: ctx.GroupItem,
9
+ ContentItem: ctx.ContentItem,
10
+ ContentItemWrapper: ctx.ContentItemWrapper,
11
+ }));
12
+ if (item.type === "interactive") {
13
+ return React.createElement(InteractiveItemWrapper, { item: item });
14
+ }
15
+ if (item.type === "static") {
16
+ return React.createElement(StaticItem, { item: item });
17
+ }
18
+ if (item.type === "group") {
19
+ return React.createElement(GroupItem, { item: item });
20
+ }
21
+ if (item.type === "content") {
22
+ return React.createElement(ContentItemWrapper, { item: item });
23
+ }
24
+ return null;
25
+ });
26
+ //# sourceMappingURL=Item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/@ui/UiMenu/components/Item.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAqC,EAC7E,IAAI,GACc;IAClB,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,GACvE,uBAAuB,EAAK,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnD,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;QAClD,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;KAC7C,CAAC,CAAC,CAAC;IAER,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC9B,OAAO,oBAAC,sBAAsB,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,oBAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,oBAAC,SAAS,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,oBAAC,kBAAkB,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { IUiMenuContentItem, IUiMenuItemData } from "../../types.js";
3
+ /**
4
+ * Container for rendering custom content in menu.
5
+ * @internal
6
+ */
7
+ export declare const DefaultUiMenuContent: React.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: {
8
+ item: IUiMenuContentItem<T>;
9
+ }) => React.ReactElement)>;
10
+ //# sourceMappingURL=DefaultUiMenuContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuContent.d.ts","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIrE;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;MAEa,MAAM,YAAY,EA2B9D,CAAC"}
@@ -0,0 +1,29 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import React from "react";
3
+ import { e } from "../../menuBem.js";
4
+ import { typedUiMenuContextStore } from "../../context.js";
5
+ import { DefaultUiMenuHeader } from "./DefaultUiMenuHeader.js";
6
+ /**
7
+ * Container for rendering custom content in menu.
8
+ * @internal
9
+ */
10
+ export const DefaultUiMenuContent = React.memo(function DefaultUiMenuContent({ item }) {
11
+ const { useContextStore, createSelector } = typedUiMenuContextStore();
12
+ const selector = createSelector((ctx) => ({
13
+ onClose: ctx.onClose,
14
+ setShownCustomContentItemId: ctx.setShownCustomContentItemId,
15
+ setFocusedId: ctx.setFocusedId,
16
+ shownCustomContentItemId: ctx.shownCustomContentItemId,
17
+ }));
18
+ const { onClose, setShownCustomContentItemId, setFocusedId, shownCustomContentItemId } = useContextStore(selector);
19
+ const handleBack = React.useCallback(() => {
20
+ setFocusedId(shownCustomContentItemId);
21
+ setShownCustomContentItemId(undefined);
22
+ }, [setShownCustomContentItemId, shownCustomContentItemId, setFocusedId]);
23
+ const ContentComponent = item.Component;
24
+ return (React.createElement(React.Fragment, null,
25
+ item.showComponentOnly ? null : React.createElement(DefaultUiMenuHeader, null),
26
+ React.createElement("div", { className: e("content-container") },
27
+ React.createElement(ContentComponent, { onBack: handleBack, onClose: onClose }))));
28
+ });
29
+ //# sourceMappingURL=DefaultUiMenuContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuContent.js","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuContent.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,oBAAoB,CAE1E,EAAE,IAAI,EAAmC;IACvC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,uBAAuB,EAAK,CAAC;IACzE,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,2BAA2B,EAAE,GAAG,CAAC,2BAA2B;QAC5D,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,wBAAwB,EAAE,GAAG,CAAC,wBAAwB;KACzD,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,wBAAwB,EAAE,GAClF,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACtC,YAAY,CAAC,wBAAwB,CAAC,CAAC;QACvC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;IAExC,OAAO,CACH;QACK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAC,mBAAmB,OAAG;QACxD,6BAAK,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;YAClC,oBAAC,gBAAgB,IAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAI,CACxD,CACP,CACN,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { IUiMenuContentItemProps, IUiMenuContentItemWrapperProps, IUiMenuItemData } from "../../types.js";
3
+ /**
4
+ * Default component for rendering content menu items.
5
+ * @internal
6
+ */
7
+ export declare const DefaultUiMenuContentItemWrapper: React.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: IUiMenuContentItemWrapperProps<T>) => React.ReactElement)>;
8
+ /**
9
+ * @internal
10
+ */
11
+ export declare function DefaultUiMenuContentItem<T extends IUiMenuItemData = object>({ item, isFocused, onSelect, }: IUiMenuContentItemProps<T>): React.ReactNode;
12
+ //# sourceMappingURL=DefaultUiMenuContentItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuContentItem.d.ts","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuContentItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAG1G;;;GAGG;AACH,eAAO,MAAM,+BAA+B,kHAEI,MAAM,YAAY,EAoEhE,CAAC;AAEH;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,EACzE,IAAI,EACJ,SAAS,EACT,QAAQ,GACX,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAgB9C"}
@@ -0,0 +1,60 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import React from "react";
3
+ import cx from "classnames";
4
+ import { e } from "../../menuBem.js";
5
+ import { typedUiMenuContextStore } from "../../context.js";
6
+ import { ShortenedText } from "../../../../ShortenedText/index.js";
7
+ /**
8
+ * Default component for rendering content menu items.
9
+ * @internal
10
+ */
11
+ export const DefaultUiMenuContentItemWrapper = React.memo(function DefaultUiMenuContentItemWrapper({ item }) {
12
+ const { useContextStore, createSelector } = typedUiMenuContextStore();
13
+ const selector = createSelector((ctx) => ({
14
+ onSelect: ctx.onSelect,
15
+ controlType: ctx.controlType,
16
+ scrollToView: ctx.scrollToView,
17
+ setFocusedId: ctx.setFocusedId,
18
+ makeItemId: ctx.makeItemId,
19
+ itemClassName: ctx.itemClassName,
20
+ ContentItemComponent: ctx.ContentItem,
21
+ isFocused: ctx.focusedItem?.id === item.id,
22
+ }));
23
+ const { scrollToView, controlType, setFocusedId, onSelect, makeItemId, itemClassName, ContentItemComponent, isFocused, } = useContextStore(selector);
24
+ const scrollToItem = (element) => {
25
+ if (!element || !isFocused) {
26
+ return;
27
+ }
28
+ scrollToView(element);
29
+ };
30
+ const handleMouseFocus = React.useCallback(() => {
31
+ if (controlType !== "mouse") {
32
+ return;
33
+ }
34
+ setFocusedId(item.id);
35
+ }, [controlType, item.id, setFocusedId]);
36
+ const handleSelect = React.useCallback(() => {
37
+ if (item.isDisabled) {
38
+ return;
39
+ }
40
+ onSelect(item);
41
+ }, [item, onSelect]);
42
+ const classNames = cx(e("item-wrapper", {
43
+ isFocused,
44
+ isDisabled: !!item.isDisabled,
45
+ }), typeof itemClassName === "function" ? itemClassName(item) : itemClassName);
46
+ return (React.createElement("li", { ref: scrollToItem, role: "menuitem", "aria-haspopup": "dialog", className: classNames, tabIndex: -1, "aria-disabled": item.isDisabled, id: makeItemId(item), onMouseMove: handleMouseFocus },
47
+ React.createElement(ContentItemComponent, { item: item, isFocused: isFocused, onSelect: handleSelect })));
48
+ });
49
+ /**
50
+ * @internal
51
+ */
52
+ export function DefaultUiMenuContentItem({ item, isFocused, onSelect, }) {
53
+ return (React.createElement("div", { className: e("item", {
54
+ isFocused,
55
+ isDisabled: !!item.isDisabled,
56
+ }), onClick: onSelect },
57
+ React.createElement(ShortenedText, { className: e("item-title"), ellipsisPosition: "end" }, item.stringTitle),
58
+ !!item.Component && React.createElement("i", { className: "gd-icon-navigateright" })));
59
+ }
60
+ //# sourceMappingURL=DefaultUiMenuContentItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuContentItem.js","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuContentItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { IUiMenuItemData, IUiMenuGroupItemProps } from "../../types.js";
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare function DefaultUiMenuGroupItem<T extends IUiMenuItemData = object>({ item, }: IUiMenuGroupItemProps<T>): React.ReactNode;
7
+ //# sourceMappingURL=DefaultUiMenuGroupItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuGroupItem.d.ts","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuGroupItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAExE;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,EACvE,IAAI,GACP,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAwB5C"}
@@ -1,12 +1,12 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  import React from "react";
3
- import { e } from "../menuBem.js";
4
- import { ShortenedText } from "../../../ShortenedText/index.js";
5
- import { typedUiMenuContextStore } from "../context.js";
3
+ import { e } from "../../menuBem.js";
4
+ import { ShortenedText } from "../../../../ShortenedText/index.js";
5
+ import { typedUiMenuContextStore } from "../../context.js";
6
6
  /**
7
7
  * @internal
8
8
  */
9
- export function DefaultUiMenuGroupItemComponent({ item, }) {
9
+ export function DefaultUiMenuGroupItem({ item, }) {
10
10
  const { createSelector, useContextStore } = typedUiMenuContextStore();
11
11
  const selector = createSelector((ctx) => ({
12
12
  makeItemId: ctx.makeItemId,
@@ -19,4 +19,4 @@ export function DefaultUiMenuGroupItemComponent({ item, }) {
19
19
  React.createElement(ShortenedText, { className: e("group-title"), ellipsisPosition: "end" }, item.stringTitle)),
20
20
  item.subItems.map((groupItem, index) => (React.createElement(ItemComponent, { key: "id" in groupItem ? groupItem.id : index, item: groupItem })))));
21
21
  }
22
- //# sourceMappingURL=DefaultUiMenuGroupItemComponent.js.map
22
+ //# sourceMappingURL=DefaultUiMenuGroupItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultUiMenuGroupItemComponent.js","sourceRoot":"","sources":["../../../../src/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAqC,EAChF,IAAI,GACkB;IACtB,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,uBAAuB,EAAK,CAAC;IACzE,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;KACnC,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEzC,OAAO,CACH,4BAAI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,qBAAmB,eAAe;QACtE,4BAAI,SAAS,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe;YAChF,oBAAC,aAAa,IAAC,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,KAAK,IAC9D,IAAI,CAAC,WAAW,CACL,CACf;QAEJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CACrC,oBAAC,aAAa,IAAC,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,GAAI,CACpF,CAAC,CACD,CACR,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"DefaultUiMenuGroupItem.js","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuGroupItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAqC,EACvE,IAAI,GACmB;IACvB,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,uBAAuB,EAAK,CAAC;IACzE,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;KACnC,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEzC,OAAO,CACH,4BAAI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,qBAAmB,eAAe;QACtE,4BAAI,SAAS,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe;YAChF,oBAAC,aAAa,IAAC,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,KAAK,IAC9D,IAAI,CAAC,WAAW,CACL,CACf;QAEJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CACrC,oBAAC,aAAa,IAAC,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,GAAI,CACpF,CAAC,CACD,CACR,CAAC;AACN,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ /**
3
+ * Renders the submenu header when in a submenu.
4
+ * If not in a submenu, returns null.
5
+ * @internal
6
+ */
7
+ export declare const DefaultUiMenuHeader: React.FC;
8
+ //# sourceMappingURL=DefaultUiMenuHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuHeader.d.ts","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAuEtC,CAAC"}
@@ -0,0 +1,49 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import React from "react";
3
+ import cx from "classnames";
4
+ import { e } from "../../menuBem.js";
5
+ import { UiIconButton } from "../../../UiIconButton/UiIconButton.js";
6
+ import { useIntl } from "react-intl";
7
+ import { ShortenedText } from "../../../../ShortenedText/index.js";
8
+ import { Button } from "../../../../Button/index.js";
9
+ import { typedUiMenuContextStore } from "../../context.js";
10
+ import { getItemInteractiveParent } from "../../itemUtils.js";
11
+ /**
12
+ * Renders the submenu header when in a submenu.
13
+ * If not in a submenu, returns null.
14
+ * @internal
15
+ */
16
+ export const DefaultUiMenuHeader = React.memo(function DefaultUiMenuHeader() {
17
+ const { formatMessage } = useIntl();
18
+ const { useContextStore, createSelector } = typedUiMenuContextStore();
19
+ const selector = createSelector((ctx) => ({
20
+ setFocusedId: ctx.setFocusedId,
21
+ onClose: ctx.onClose,
22
+ parentItem: ctx.focusedItem ? getItemInteractiveParent(ctx.items, ctx.focusedItem.id) : undefined,
23
+ focusedItem: ctx.focusedItem,
24
+ shownCustomContentItemId: ctx.shownCustomContentItemId,
25
+ setShownCustomContentItemId: ctx.setShownCustomContentItemId,
26
+ }));
27
+ const { setFocusedId, onClose, parentItem, focusedItem, shownCustomContentItemId, setShownCustomContentItemId, } = useContextStore(selector);
28
+ const parentItemId = parentItem?.id;
29
+ const handleBack = React.useCallback(() => {
30
+ if (parentItemId === undefined) {
31
+ return;
32
+ }
33
+ setFocusedId(parentItemId);
34
+ if (shownCustomContentItemId) {
35
+ setShownCustomContentItemId(undefined);
36
+ }
37
+ }, [setFocusedId, parentItemId, shownCustomContentItemId, setShownCustomContentItemId]);
38
+ if (!parentItem && !shownCustomContentItemId) {
39
+ return null;
40
+ }
41
+ const title = parentItem?.stringTitle ?? focusedItem?.stringTitle;
42
+ return (React.createElement("div", { role: "presentation", className: e("menu-header") },
43
+ React.createElement(Button, { onClick: handleBack, className: cx(e("menu-header-title"), "gd-icon-navigateleft"), accessibilityConfig: {
44
+ ariaLabel: formatMessage({ id: "menu.back" }),
45
+ } },
46
+ React.createElement(ShortenedText, { tagName: "h3", ellipsisPosition: "end", className: e("menu-header-title-text") }, title)),
47
+ React.createElement(UiIconButton, { size: "xsmall", variant: "tertiary", icon: "close", label: formatMessage({ id: "menu.close" }), onClick: onClose, dataId: "s-menu-close-button", dataTestId: "s-menu-close-button" })));
48
+ });
49
+ //# sourceMappingURL=DefaultUiMenuHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuHeader.js","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuHeader.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { IUiMenuItemData, IUiMenuInteractiveItemProps, IUiMenuInteractiveItemWrapperProps } from "../../types.js";
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare function DefaultUiMenuInteractiveItemWrapper<T extends IUiMenuItemData = object>({ item, }: IUiMenuInteractiveItemWrapperProps<T>): React.ReactNode;
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare function DefaultUiMenuInteractiveItem<T extends IUiMenuItemData = object>({ item, isFocused, onSelect, }: IUiMenuInteractiveItemProps<T>): React.ReactNode;
11
+ //# sourceMappingURL=DefaultUiMenuInteractiveItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuInteractiveItem.d.ts","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuInteractiveItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EACH,eAAe,EACf,2BAA2B,EAC3B,kCAAkC,EACrC,MAAM,gBAAgB,CAAC;AAIxB;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,EACpF,IAAI,GACP,EAAE,kCAAkC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAqEzD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,EAAE,EAC7E,IAAI,EACJ,SAAS,EACT,QAAQ,GACX,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAgBlD"}
@@ -1,13 +1,13 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  import React from "react";
3
- import { e } from "../menuBem.js";
4
- import { ShortenedText } from "../../../ShortenedText/index.js";
5
- import { typedUiMenuContextStore } from "../context.js";
3
+ import { e } from "../../menuBem.js";
4
+ import { ShortenedText } from "../../../../ShortenedText/index.js";
5
+ import { typedUiMenuContextStore } from "../../context.js";
6
6
  import cx from "classnames";
7
7
  /**
8
8
  * @internal
9
9
  */
10
- export function DefaultUiMenuInteractiveItemWrapperComponent({ item, }) {
10
+ export function DefaultUiMenuInteractiveItemWrapper({ item, }) {
11
11
  const { useContextStore, createSelector } = typedUiMenuContextStore();
12
12
  const selector = createSelector((ctx) => ({
13
13
  onSelect: ctx.onSelect,
@@ -16,7 +16,7 @@ export function DefaultUiMenuInteractiveItemWrapperComponent({ item, }) {
16
16
  setFocusedId: ctx.setFocusedId,
17
17
  makeItemId: ctx.makeItemId,
18
18
  itemClassName: ctx.itemClassName,
19
- InteractiveItemComponent: ctx.InteractiveItemComponent,
19
+ InteractiveItemComponent: ctx.InteractiveItem,
20
20
  isFocused: ctx.focusedItem?.id === item.id,
21
21
  }));
22
22
  const { onSelect, scrollToView, controlType, setFocusedId, makeItemId, itemClassName, InteractiveItemComponent, isFocused, } = useContextStore(selector);
@@ -48,7 +48,7 @@ export function DefaultUiMenuInteractiveItemWrapperComponent({ item, }) {
48
48
  /**
49
49
  * @internal
50
50
  */
51
- export function DefaultUiMenuInteractiveItemComponent({ item, isFocused, onSelect, }) {
51
+ export function DefaultUiMenuInteractiveItem({ item, isFocused, onSelect, }) {
52
52
  return (React.createElement("div", { className: e("item", {
53
53
  isFocused,
54
54
  isDisabled: !!item.isDisabled,
@@ -56,4 +56,4 @@ export function DefaultUiMenuInteractiveItemComponent({ item, isFocused, onSelec
56
56
  React.createElement(ShortenedText, { className: e("item-title"), ellipsisPosition: "end" }, item.stringTitle),
57
57
  !!item.subItems && React.createElement("i", { className: "gd-icon-navigateright" })));
58
58
  }
59
- //# sourceMappingURL=DefaultUiMenuInteractiveItemComponent.js.map
59
+ //# sourceMappingURL=DefaultUiMenuInteractiveItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuInteractiveItem.js","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuInteractiveItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { IUiMenuItemData, IUiMenuStaticItemProps } from "../../types.js";
3
+ /**
4
+ * By default just renders the data.
5
+ * @internal
6
+ */
7
+ export declare const DefaultUiMenuStaticItem: React.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: IUiMenuStaticItemProps<T>) => React.ReactElement)>;
8
+ //# sourceMappingURL=DefaultUiMenuStaticItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuStaticItem.d.ts","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuStaticItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGzE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,0GAEI,MAAM,YAAY,EAUxD,CAAC"}
@@ -1,14 +1,14 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  import React from "react";
3
- import { typedUiMenuContextStore } from "../context.js";
3
+ import { typedUiMenuContextStore } from "../../context.js";
4
4
  /**
5
5
  * By default just renders the data.
6
6
  * @internal
7
7
  */
8
- export const DefaultUiMenuStaticItemComponent = React.memo(function DefaultUiMenuStaticItemComponent({ item }) {
8
+ export const DefaultUiMenuStaticItem = React.memo(function DefaultUiMenuStaticItem({ item }) {
9
9
  const { itemClassName } = typedUiMenuContextStore().useContextStore((ctx) => ({
10
10
  itemClassName: ctx.itemClassName,
11
11
  }));
12
12
  return (React.createElement("li", { role: "none", className: typeof itemClassName === "function" ? itemClassName(item) : itemClassName }, item.data));
13
13
  });
14
- //# sourceMappingURL=DefaultUiMenuStaticItemComponent.js.map
14
+ //# sourceMappingURL=DefaultUiMenuStaticItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUiMenuStaticItem.js","sourceRoot":"","sources":["../../../../../src/@ui/UiMenu/components/defaults/DefaultUiMenuStaticItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,uBAAuB,CAEhF,EAAE,IAAI,EAA6B;IACjC,MAAM,EAAE,aAAa,EAAE,GAAG,uBAAuB,EAAK,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,aAAa,EAAE,GAAG,CAAC,aAAa;KACnC,CAAC,CAAC,CAAC;IAEJ,OAAO,CACH,4BAAI,IAAI,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,IAC/F,IAAI,CAAC,IAAuB,CAC5B,CACR,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -3,9 +3,13 @@ import { IContextStore } from "@gooddata/sdk-ui";
3
3
  /**
4
4
  * @internal
5
5
  */
6
- export declare const UiMenuContextStore: IContextStore<IUiMenuContext<object>>;
6
+ export declare const UiMenuContextStore: IContextStore<IUiMenuContext<object, object>>;
7
7
  /**
8
8
  * @internal
9
9
  */
10
- export declare const typedUiMenuContextStore: <T extends IUiMenuItemData = object>() => IContextStore<IUiMenuContext<T>>;
10
+ export declare const typedUiMenuContextStore: <T extends IUiMenuItemData = object, M = object>() => IContextStore<IUiMenuContext<T, M>>;
11
+ /**
12
+ * @internal
13
+ */
14
+ export declare const getSelectedMenuId: <T extends IUiMenuItemData = object, M = object>(context: IUiMenuContext<T, M>) => string | undefined;
11
15
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAsB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,kBAAkB,uCAA+C,CAAC;AAC/E;;GAEG;AACH,eAAO,MAAM,uBAAuB,4EACiC,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/context.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAsB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,kBAAkB,+CAA+C,CAAC;AAC/E;;GAEG;AACH,eAAO,MAAM,uBAAuB,2FACoC,CAAC;AACzE;;GAEG;AACH,eAAO,MAAM,iBAAiB,qFAE3B,MAAM,GAAG,SAKX,CAAC"}
@@ -1,4 +1,5 @@
1
1
  // (C) 2025 GoodData Corporation
2
+ import { getItemInteractiveParent } from "./itemUtils.js";
2
3
  import { createContextStore } from "@gooddata/sdk-ui";
3
4
  /**
4
5
  * @internal
@@ -8,4 +9,13 @@ export const UiMenuContextStore = createContextStore("UiMenu");
8
9
  * @internal
9
10
  */
10
11
  export const typedUiMenuContextStore = () => UiMenuContextStore;
12
+ /**
13
+ * @internal
14
+ */
15
+ export const getSelectedMenuId = (context) => {
16
+ const { focusedItem, shownCustomContentItemId, items } = context;
17
+ return shownCustomContentItemId
18
+ ? shownCustomContentItemId
19
+ : getItemInteractiveParent(items, focusedItem.id)?.id;
20
+ };
11
21
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/context.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,kBAAkB,EAAiB,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAiB,QAAQ,CAAC,CAAC;AAC/E;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAuC,EAAE,CAC5E,kBAAiE,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/context.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAiB,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAiB,QAAQ,CAAC,CAAC;AAC/E;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAmD,EAAE,CACxF,kBAAoE,CAAC;AACzE;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,OAA6B,EACX,EAAE;IACpB,MAAM,EAAE,WAAW,EAAE,wBAAwB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACjE,OAAO,wBAAwB;QAC3B,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAC9D,CAAC,CAAC"}