@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
@@ -13,6 +13,7 @@
13
13
 
14
14
  import { AccessGranularPermission } from '@gooddata/sdk-model';
15
15
  import { ColorFormats } from 'tinycolor2';
16
+ import { CompletionSource } from '@codemirror/autocomplete';
16
17
  import { Component } from 'react';
17
18
  import { CSSProperties } from 'react';
18
19
  import { DebouncedFunc } from 'lodash';
@@ -25,6 +26,7 @@ import { IAnalyticalBackend } from '@gooddata/sdk-backend-spi';
25
26
  import { IAuditableUsers } from '@gooddata/sdk-model';
26
27
  import { IColorPalette } from '@gooddata/sdk-model';
27
28
  import { IColorPaletteDefinition } from '@gooddata/sdk-model';
29
+ import { IContextStore } from '@gooddata/sdk-ui';
28
30
  import { IExecutionConfig } from '@gooddata/sdk-model';
29
31
  import { IFilter } from '@gooddata/sdk-model';
30
32
  import { ILocale } from '@gooddata/sdk-ui';
@@ -133,6 +135,11 @@ export declare type ArrowOffsets = Record<string, ArrowOffset>;
133
135
  */
134
136
  export declare function AsyncList<T>(props: IAsyncListProps<T>): React_2.JSX.Element;
135
137
 
138
+ /**
139
+ * @internal
140
+ */
141
+ export declare const AutofocusOnMount: React_2.FC<React_2.HTMLProps<HTMLDivElement>>;
142
+
136
143
  /**
137
144
  * @internal
138
145
  */
@@ -560,15 +567,51 @@ export declare function DefaultUiListboxInteractiveItemComponent<T>({ item, isFo
560
567
  export declare function DefaultUiListboxStaticItemComponent<T>({ item, }: UiListboxStaticItemProps<T>): React_2.ReactNode;
561
568
 
562
569
  /**
570
+ * Container for rendering custom content in menu.
571
+ * @internal
572
+ */
573
+ export declare const DefaultUiMenuContent: React_2.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: {
574
+ item: IUiMenuContentItem<T>;
575
+ }) => React_2.ReactElement)>;
576
+
577
+ /**
578
+ * @internal
579
+ */
580
+ export declare function DefaultUiMenuContentItem<T extends IUiMenuItemData = object>({ item, isFocused, onSelect, }: IUiMenuContentItemProps<T>): React_2.ReactNode;
581
+
582
+ /**
583
+ * Default component for rendering content menu items.
584
+ * @internal
585
+ */
586
+ export declare const DefaultUiMenuContentItemWrapper: React_2.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: IUiMenuContentItemWrapperProps<T>) => React_2.ReactElement)>;
587
+
588
+ /**
589
+ * @internal
590
+ */
591
+ export declare function DefaultUiMenuGroupItem<T extends IUiMenuItemData = object>({ item, }: IUiMenuGroupItemProps<T>): React_2.ReactNode;
592
+
593
+ /**
594
+ * Renders the submenu header when in a submenu.
595
+ * If not in a submenu, returns null.
563
596
  * @internal
564
597
  */
565
- export declare function DefaultUiMenuInteractiveItemComponent<T extends IUiMenuItemData = object>({ item, isFocused, onSelect, }: UiMenuInteractiveItemProps<T>): React_2.ReactNode;
598
+ export declare const DefaultUiMenuHeader: React_2.FC;
599
+
600
+ /**
601
+ * @internal
602
+ */
603
+ export declare function DefaultUiMenuInteractiveItem<T extends IUiMenuItemData = object>({ item, isFocused, onSelect, }: IUiMenuInteractiveItemProps<T>): React_2.ReactNode;
604
+
605
+ /**
606
+ * @internal
607
+ */
608
+ export declare function DefaultUiMenuInteractiveItemWrapper<T extends IUiMenuItemData = object>({ item, }: IUiMenuInteractiveItemWrapperProps<T>): React_2.ReactNode;
566
609
 
567
610
  /**
568
611
  * By default just renders the data.
569
612
  * @internal
570
613
  */
571
- export declare const DefaultUiMenuStaticItemComponent: React_2.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: UiMenuStaticItemProps<T>) => React_2.ReactElement)>;
614
+ export declare const DefaultUiMenuStaticItem: React_2.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: IUiMenuStaticItemProps<T>) => React_2.ReactElement)>;
572
615
 
573
616
  /**
574
617
  * @internal
@@ -620,6 +663,11 @@ export declare const Dialog: React_2.NamedExoticComponent<IDialogProps>;
620
663
  */
621
664
  export declare const DialogBase: React_2.NamedExoticComponent<IDialogBaseProps>;
622
665
 
666
+ /**
667
+ * @internal
668
+ */
669
+ export declare const DialogCloseButton: React_2.FC<IDialogCloseButtonProps>;
670
+
623
671
  /**
624
672
  * @internal
625
673
  */
@@ -746,6 +794,18 @@ export declare const FilterLabel: React_2.FC<WithIntlProps<IFilterLabelProps & W
746
794
  WrappedComponent: React_2.ComponentType<IFilterLabelProps & WrappedComponentProps>;
747
795
  };
748
796
 
797
+ /**
798
+ * Finds an interactive menu item that matches the predicate.
799
+ * @internal
800
+ */
801
+ export declare const findInteractiveItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], predicate: (item: IUiMenuInteractiveItem<T>) => boolean) => IUiMenuInteractiveItem<T>;
802
+
803
+ /**
804
+ * Recursively finds an item in the menu tree that matches the predicate.
805
+ * @internal
806
+ */
807
+ export declare const findItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], predicate: (item: IUiMenuItem<T>) => boolean) => IUiMenuItem<T>;
808
+
749
809
  /**
750
810
  * @internal
751
811
  */
@@ -812,11 +872,6 @@ export declare const GD_COLOR_STATE_HOVER = "#94a1ad";
812
872
  */
813
873
  export declare const GD_COLOR_WHITE = "#fff";
814
874
 
815
- /**
816
- * @internal
817
- */
818
- export declare function generateHeaderAccountMenuItems(workspacePermissions: IWorkspacePermissions, uiSettings: IUiSettings, workspaceId?: string, showOnlyLogoutItem?: boolean, featureFlags?: ISettings): IHeaderMenuItem[];
819
-
820
875
  /**
821
876
  * @internal
822
877
  */
@@ -842,6 +897,17 @@ export declare function generateHeaderStaticHelpMenuItems(documentationUrl?: str
842
897
  */
843
898
  export declare function generateSupportUrl(projectId?: string, sessionId?: string, userEmail?: string, url?: string): string;
844
899
 
900
+ /**
901
+ * Gets the closest focusable sibling item in the specified direction.
902
+ * @internal
903
+ */
904
+ export declare const getClosestFocusableSibling: <T extends IUiMenuItemData = object>(args: {
905
+ items: IUiMenuItem<T>[];
906
+ isItemFocusable: (item: IUiMenuItem<T>) => boolean;
907
+ itemId?: string;
908
+ direction: "forward" | "backward";
909
+ }) => IUiMenuItem<T>;
910
+
845
911
  /**
846
912
  * This function transforms a color palette into an array of max ten colors which is used
847
913
  * to render the color palette in styling picker.
@@ -881,7 +947,7 @@ export declare const getDefaultEmbedTypeOptions: (embedType: EmbedType) => Embed
881
947
  * @param element - the element to get the focusable elements from
882
948
  * @returns an object containing the focusable elements, the first focusable element, and the last focusable element
883
949
  */
884
- export declare const getFocusableElements: (element?: HTMLElement) => {
950
+ export declare const getFocusableElements: (element?: HTMLElement | null) => {
885
951
  focusableElements: NodeListOf<HTMLElement>;
886
952
  firstElement: HTMLElement;
887
953
  lastElement: HTMLElement;
@@ -897,6 +963,36 @@ export declare const getGranteeItemTestId: (grantee: GranteeItem, prefix?: "opti
897
963
  */
898
964
  export declare const getHeightWithUnitsForEmbedCode: (codeOption: EmbedOptionsType) => string | number;
899
965
 
966
+ /**
967
+ * Gets an interactive menu item by its ID.
968
+ * @internal
969
+ */
970
+ export declare const getInteractiveItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuInteractiveItem<T>;
971
+
972
+ /**
973
+ * Gets a menu item by its ID.
974
+ * @internal
975
+ */
976
+ export declare const getItem: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuItem<T>;
977
+
978
+ /**
979
+ * Gets the interactive parent of a menu item.
980
+ * @internal
981
+ */
982
+ export declare const getItemInteractiveParent: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuInteractiveItem<T>;
983
+
984
+ /**
985
+ * Gets all items under a specific interactive parent item.
986
+ * @internal
987
+ */
988
+ export declare const getItemsByInteractiveParent: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], parentId?: string) => IUiMenuItem<T>[];
989
+
990
+ /**
991
+ * Gets all next sibling items of a menu item with wraparound.
992
+ * @internal
993
+ */
994
+ export declare const getNextSiblings: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuItem<T>[];
995
+
900
996
  /**
901
997
  * @internal
902
998
  */
@@ -929,11 +1025,28 @@ export declare type GetPositionedSelfRegion = {
929
1025
  alignPoint: IAlignPoint;
930
1026
  };
931
1027
 
1028
+ /**
1029
+ * Gets all previous sibling items of a menu item with wraparound.
1030
+ * @internal
1031
+ */
1032
+ export declare const getPreviousSiblings: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuItem<T>[];
1033
+
932
1034
  /**
933
1035
  * @internal
934
1036
  */
935
1037
  export declare function getRecommendedDateDataset<T extends IDateDataset>(items: T[]): T;
936
1038
 
1039
+ /**
1040
+ * @internal
1041
+ */
1042
+ export declare const getSelectedMenuId: <T extends IUiMenuItemData = object, M = object>(context: IUiMenuContext<T, M>) => string | undefined;
1043
+
1044
+ /**
1045
+ * Gets all sibling items of a menu item.
1046
+ * @internal
1047
+ */
1048
+ export declare const getSiblingItems: <T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[], itemId: string) => IUiMenuItem<T>[];
1049
+
937
1050
  /**
938
1051
  * @internal
939
1052
  */
@@ -1096,7 +1209,8 @@ export declare interface IAccessibilityConfigBase {
1096
1209
  ariaLabelledBy?: React.AriaAttributes["aria-labelledby"];
1097
1210
  ariaDescribedBy?: React.AriaAttributes["aria-describedby"];
1098
1211
  role?: React.HTMLAttributes<HTMLElement>["role"];
1099
- ariaExpanded?: "true" | "false";
1212
+ ariaExpanded?: React.AriaAttributes["aria-expanded"];
1213
+ ariaControls?: string;
1100
1214
  }
1101
1215
 
1102
1216
  /**
@@ -1399,6 +1513,8 @@ export declare interface IButtonAccessibilityConfig extends IAccessibilityConfig
1399
1513
  */
1400
1514
  export declare interface IButtonProps {
1401
1515
  id?: string;
1516
+ dataId?: string;
1517
+ dataTestId?: string;
1402
1518
  className?: string;
1403
1519
  disabled?: boolean;
1404
1520
  tabIndex?: number;
@@ -1789,7 +1905,9 @@ export declare interface IDialogBaseProps {
1789
1905
  /**
1790
1906
  * @internal
1791
1907
  */
1792
- export declare type IDialogCloseButtonProps = Pick<IDialogBaseProps, "onClose" | "accessibilityConfig">;
1908
+ export declare type IDialogCloseButtonProps = Pick<IDialogBaseProps, "onClose" | "accessibilityConfig"> & {
1909
+ className?: string;
1910
+ };
1793
1911
 
1794
1912
  /**
1795
1913
  * @internal
@@ -1814,6 +1932,7 @@ export declare interface IDialogListItem extends IDialogListItemBase {
1814
1932
  isClickable?: boolean;
1815
1933
  isDeletable?: boolean;
1816
1934
  deleteTooltipText?: string;
1935
+ action?: JSX.Element;
1817
1936
  }
1818
1937
 
1819
1938
  /**
@@ -2061,6 +2180,7 @@ export declare interface IDropdownProps {
2061
2180
  enableEventPropagation?: boolean;
2062
2181
  closeOnEscape?: boolean;
2063
2182
  autofocusOnOpen?: boolean;
2183
+ initialFocus?: React_2.RefObject<HTMLElement> | string;
2064
2184
  accessibilityConfig?: {
2065
2185
  popupRole?: "listbox" | "tree" | "grid" | "dialog";
2066
2186
  };
@@ -2154,13 +2274,13 @@ export declare interface IErrorOverlayProps {
2154
2274
  */
2155
2275
  export declare interface IExportDialogBaseProps extends Pick<IConfirmDialogBaseProps, "className" | "displayCloseButton" | "isPositive" | "isSubmitDisabled" | "headline" | "cancelButtonText" | "submitButtonText" | "onCancel"> {
2156
2276
  filterContextText?: string;
2157
- filterContextTitle?: string;
2277
+ filterContextTitle?: string | null;
2158
2278
  filterContextVisible?: boolean;
2159
2279
  includeFilterContext?: boolean;
2160
2280
  mergeHeaders?: boolean;
2161
2281
  mergeHeadersDisabled?: boolean;
2162
2282
  mergeHeadersText?: string;
2163
- mergeHeadersTitle?: string;
2283
+ mergeHeadersTitle?: string | null;
2164
2284
  onSubmit?: (data: IExportDialogData) => void;
2165
2285
  }
2166
2286
 
@@ -2327,6 +2447,14 @@ export declare interface IGranularGranteeUser extends IGranteeBase {
2327
2447
  inheritedPermissions: AccessGranularPermission[];
2328
2448
  }
2329
2449
 
2450
+ /**
2451
+ * @internal
2452
+ */
2453
+ export declare interface IHandleActionOptions {
2454
+ shouldPreventDefault?: boolean;
2455
+ shouldStopPropagation?: boolean;
2456
+ }
2457
+
2330
2458
  /**
2331
2459
  * @internal
2332
2460
  */
@@ -3123,7 +3251,7 @@ export declare interface IMediaQueries {
3123
3251
  export declare interface IMenuAccessibilityConfig extends IAccessibilityConfigBase {
3124
3252
  id?: string;
3125
3253
  role?: "menu" | "menuitem" | "separator" | "presentation";
3126
- ariaDisabled?: "true" | "false";
3254
+ ariaDisabled?: React.AriaAttributes["aria-disabled"];
3127
3255
  ariaHasPopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
3128
3256
  ariaControls?: string;
3129
3257
  }
@@ -3236,6 +3364,11 @@ export declare interface IMetadataListProps {
3236
3364
  list?: IMetadataObjectBase[];
3237
3365
  }
3238
3366
 
3367
+ /**
3368
+ * @internal
3369
+ */
3370
+ export declare type IModifier = React_2.ModifierKey | `${typeof modifierNegator}${React_2.ModifierKey}`;
3371
+
3239
3372
  /**
3240
3373
  * @internal
3241
3374
  */
@@ -3713,6 +3846,7 @@ export declare interface IRecurrenceFormProps {
3713
3846
  showInheritValue?: boolean;
3714
3847
  isWhiteLabeled?: boolean;
3715
3848
  onRecurrenceDropdownOpen?: () => void;
3849
+ closeDropdownsOnParentScroll?: boolean;
3716
3850
  }
3717
3851
 
3718
3852
  /**
@@ -3736,6 +3870,7 @@ export declare interface IRecurrenceProps {
3736
3870
  showTimezoneInOccurrence?: boolean;
3737
3871
  isWhiteLabeled?: boolean;
3738
3872
  onRecurrenceDropdownOpen?: () => void;
3873
+ closeOnParentScroll?: boolean;
3739
3874
  }
3740
3875
 
3741
3876
  /**
@@ -3905,6 +4040,13 @@ export declare interface IScrollGradientProps {
3905
4040
  */
3906
4041
  export declare const isDateDatasetHeader: (obj: unknown) => obj is IDateDatasetHeader;
3907
4042
 
4043
+ /**
4044
+ * @internal
4045
+ * @param element - the element to test for focusability
4046
+ * @returns whether or not the supplied element is focusable
4047
+ */
4048
+ export declare const isElementFocusable: (element?: HTMLElement | null) => boolean;
4049
+
3908
4050
  /**
3909
4051
  * @internal
3910
4052
  */
@@ -4172,6 +4314,7 @@ export declare interface ISingleSelectListItemProps {
4172
4314
  eventsOnBubble?: boolean;
4173
4315
  hideDelayBubble?: number;
4174
4316
  isSelected?: boolean;
4317
+ isFocused?: boolean;
4175
4318
  isMenu?: boolean;
4176
4319
  accessibilityConfig?: IMenuAccessibilityConfig;
4177
4320
  tabIndex?: number;
@@ -4297,15 +4440,23 @@ export declare interface ISubMenuProps extends IMenuStateConfig, Partial<IMenuPo
4297
4440
  */
4298
4441
  export declare interface ISyntaxHighlightingInputProps {
4299
4442
  value: string;
4443
+ label?: string;
4444
+ disabled?: boolean;
4445
+ className?: string;
4446
+ placeholder?: string;
4447
+ extensions?: Extension[];
4300
4448
  onChange: (value: string) => void;
4449
+ onFocus?: (event: FocusEvent, view: EditorView) => void;
4450
+ onBlur?: (event: FocusEvent, view: EditorView) => void;
4301
4451
  onApi?: (view: EditorView | null) => void;
4302
4452
  onCursor?: (from: number, to: number) => void;
4303
4453
  onKeyDown?: (event: KeyboardEvent, view: EditorView) => boolean;
4304
- placeholder?: string;
4305
- label?: string;
4306
- extensions?: Extension[];
4307
- className?: string;
4308
- disabled?: boolean;
4454
+ autocompletion?: {
4455
+ whenTyping?: boolean;
4456
+ whenTypingDelay?: number;
4457
+ aboveCursor?: boolean;
4458
+ };
4459
+ onCompletion?: CompletionSource;
4309
4460
  }
4310
4461
 
4311
4462
  /**
@@ -4386,6 +4537,7 @@ export declare interface ITimepickerOwnProps {
4386
4537
  skipNormalizeTime?: boolean;
4387
4538
  timeAnchor?: number;
4388
4539
  timeFormat?: string;
4540
+ closeOnParentScroll?: boolean;
4389
4541
  }
4390
4542
 
4391
4543
  /**
@@ -4411,6 +4563,13 @@ export declare interface ITypographyProps {
4411
4563
  id?: string;
4412
4564
  }
4413
4565
 
4566
+ /**
4567
+ * @internal
4568
+ */
4569
+ export declare interface IUiButtonAccessibilityConfig extends IAccessibilityConfigBase {
4570
+ iconAriaHidden?: boolean;
4571
+ }
4572
+
4414
4573
  /**
4415
4574
  * @internal
4416
4575
  */
@@ -4460,21 +4619,63 @@ export declare interface IUiListboxStaticItem<T> {
4460
4619
  /**
4461
4620
  * @internal
4462
4621
  */
4463
- export declare interface IUiMenuContext<T extends IUiMenuItemData = object> extends IUiMenuPluggableComponents<T> {
4622
+ export declare type IUiMenuContentItem<T extends IUiMenuItemData = object> = {
4623
+ type: "content";
4624
+ id: string;
4625
+ stringTitle: string;
4626
+ isDisabled?: boolean;
4627
+ showComponentOnly?: boolean;
4628
+ data: T["content"];
4629
+ Component: React_2.ComponentType<{
4630
+ onBack: () => void;
4631
+ onClose: () => void;
4632
+ }>;
4633
+ };
4634
+
4635
+ /**
4636
+ * @internal
4637
+ */
4638
+ export declare interface IUiMenuContentItemProps<T extends IUiMenuItemData = object> {
4639
+ item: IUiMenuContentItem<T>;
4640
+ isFocused: boolean;
4641
+ onSelect: () => void;
4642
+ }
4643
+
4644
+ /**
4645
+ * @internal
4646
+ */
4647
+ export declare interface IUiMenuContentItemWrapperProps<T extends IUiMenuItemData = object> {
4648
+ item: IUiMenuContentItem<T>;
4649
+ }
4650
+
4651
+ /**
4652
+ * @internal
4653
+ */
4654
+ export declare interface IUiMenuContentProps<T extends IUiMenuItemData = object> {
4655
+ item: IUiMenuContentItem<T>;
4656
+ }
4657
+
4658
+ /**
4659
+ * @internal
4660
+ */
4661
+ export declare interface IUiMenuContext<T extends IUiMenuItemData = object, M = object> extends IUiMenuPluggableComponents<T> {
4464
4662
  items: IUiMenuItem<T>[];
4465
- focusedItem: IUiMenuInteractiveItem<T> | undefined;
4466
- onSelect: (item: IUiMenuInteractiveItem<T> | undefined) => void;
4663
+ focusedItem: IUiMenuFocusableItem<T> | undefined;
4664
+ shownCustomContentItemId?: string;
4665
+ setShownCustomContentItemId: React_2.Dispatch<React_2.SetStateAction<string | undefined>>;
4666
+ onSelect: (item: IUiMenuFocusableItem<T> | undefined) => void;
4467
4667
  onClose?: () => void;
4468
4668
  setFocusedId: React_2.Dispatch<React_2.SetStateAction<string | undefined>>;
4469
4669
  isItemFocusable: (item: IUiMenuItem<T>) => boolean;
4470
4670
  controlType: IUiMenuControlType;
4471
4671
  setControlType: React_2.Dispatch<React_2.SetStateAction<IUiMenuControlType>>;
4472
4672
  scrollToView: (element: HTMLElement | null) => void;
4473
- makeItemId: (item: IUiMenuItem<T>) => string;
4673
+ makeItemId: (item: IUiMenuItem<T>) => string | undefined;
4474
4674
  itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
4475
- ItemComponent: React_2.ComponentType<UiMenuItemProps<T>>;
4675
+ ItemComponent: React_2.ComponentType<IUiMenuItemProps<T>>;
4476
4676
  menuComponentRef: React_2.RefObject<HTMLElement>;
4477
4677
  itemsContainerRef: React_2.RefObject<HTMLElement>;
4678
+ menuCtxData?: M;
4478
4679
  }
4479
4680
 
4480
4681
  /**
@@ -4482,6 +4683,11 @@ export declare interface IUiMenuContext<T extends IUiMenuItemData = object> exte
4482
4683
  */
4483
4684
  export declare type IUiMenuControlType = "keyboard" | "mouse" | "unknown";
4484
4685
 
4686
+ /**
4687
+ * @internal
4688
+ */
4689
+ export declare type IUiMenuFocusableItem<T extends IUiMenuItemData = object> = IUiMenuInteractiveItem<T> | IUiMenuContentItem<T>;
4690
+
4485
4691
  /**
4486
4692
  * @internal
4487
4693
  */
@@ -4493,6 +4699,13 @@ export declare type IUiMenuGroupItem<T extends IUiMenuItemData = object> = {
4493
4699
  subItems: IUiMenuItem<T>[];
4494
4700
  };
4495
4701
 
4702
+ /**
4703
+ * @internal
4704
+ */
4705
+ export declare interface IUiMenuGroupItemProps<T extends IUiMenuItemData = object> {
4706
+ item: IUiMenuGroupItem<T>;
4707
+ }
4708
+
4496
4709
  /**
4497
4710
  * @internal
4498
4711
  */
@@ -4508,7 +4721,23 @@ export declare type IUiMenuInteractiveItem<T extends IUiMenuItemData = object> =
4508
4721
  /**
4509
4722
  * @internal
4510
4723
  */
4511
- export declare type IUiMenuItem<T extends IUiMenuItemData = object> = IUiMenuStaticItem<T> | IUiMenuInteractiveItem<T> | IUiMenuGroupItem<T>;
4724
+ export declare interface IUiMenuInteractiveItemProps<T extends IUiMenuItemData = object> {
4725
+ item: IUiMenuInteractiveItem<T>;
4726
+ isFocused: boolean;
4727
+ onSelect: () => void;
4728
+ }
4729
+
4730
+ /**
4731
+ * @internal
4732
+ */
4733
+ export declare interface IUiMenuInteractiveItemWrapperProps<T extends IUiMenuItemData = object> {
4734
+ item: IUiMenuInteractiveItem<T>;
4735
+ }
4736
+
4737
+ /**
4738
+ * @internal
4739
+ */
4740
+ export declare type IUiMenuItem<T extends IUiMenuItemData = object> = IUiMenuStaticItem<T> | IUiMenuInteractiveItem<T> | IUiMenuGroupItem<T> | IUiMenuContentItem<T>;
4512
4741
 
4513
4742
  /**
4514
4743
  * @internal
@@ -4517,15 +4746,25 @@ export declare type IUiMenuItemData = {
4517
4746
  [type in IUiMenuItem<any>["type"]]?: unknown;
4518
4747
  };
4519
4748
 
4749
+ /**
4750
+ * @internal
4751
+ */
4752
+ export declare interface IUiMenuItemProps<T extends IUiMenuItemData = object> {
4753
+ item: IUiMenuItem<T>;
4754
+ }
4755
+
4520
4756
  /**
4521
4757
  * @internal
4522
4758
  */
4523
4759
  export declare interface IUiMenuPluggableComponents<T extends IUiMenuItemData = object> {
4524
- InteractiveItemComponent: React_2.ComponentType<UiMenuInteractiveItemProps<T>>;
4525
- InteractiveItemWrapperComponent: React_2.ComponentType<UiMenuInteractiveItemWrapperProps<T>>;
4526
- GroupItemComponent: React_2.ComponentType<UiMenuGroupItemProps<T>>;
4527
- StaticItemComponent: React_2.ComponentType<UiMenuStaticItemProps<T>>;
4528
- MenuHeaderComponent: React_2.ComponentType;
4760
+ InteractiveItem: React_2.ComponentType<IUiMenuInteractiveItemProps<T>>;
4761
+ InteractiveItemWrapper: React_2.ComponentType<IUiMenuInteractiveItemWrapperProps<T>>;
4762
+ GroupItem: React_2.ComponentType<IUiMenuGroupItemProps<T>>;
4763
+ StaticItem: React_2.ComponentType<IUiMenuStaticItemProps<T>>;
4764
+ ContentItemWrapper: React_2.ComponentType<IUiMenuContentItemWrapperProps<T>>;
4765
+ ContentItem: React_2.ComponentType<IUiMenuContentItemProps<T>>;
4766
+ Content: React_2.ComponentType<IUiMenuContentProps<T>>;
4767
+ MenuHeader: React_2.ComponentType;
4529
4768
  }
4530
4769
 
4531
4770
  /**
@@ -4537,6 +4776,13 @@ export declare type IUiMenuStaticItem<T extends IUiMenuItemData = object> = {
4537
4776
  data: T["static"];
4538
4777
  };
4539
4778
 
4779
+ /**
4780
+ * @internal
4781
+ */
4782
+ export declare interface IUiMenuStaticItemProps<T extends IUiMenuItemData = object> {
4783
+ item: IUiMenuStaticItem<T>;
4784
+ }
4785
+
4540
4786
  /**
4541
4787
  * @internal
4542
4788
  */
@@ -4761,19 +5007,40 @@ export declare const LocaleSetting: React_2.VFC<ILocaleSettingProps>;
4761
5007
  /**
4762
5008
  * @internal
4763
5009
  */
4764
- export declare const makeMenuKeyboardNavigation: <T extends KeyboardEvent | KeyboardEvent_2<Element> = KeyboardEvent_2<Element>>({ onFocusPrevious, onFocusNext, onFocusFirst, onFocusLast, onEnterLevel, onLeaveLevel, onSelect, onClose, onUnhandledKeyDown, shouldPreventDefault, shouldStopPropagation, }: {
5010
+ export declare const makeKeyboardNavigation: <ActionKeysMap extends {
5011
+ [action: string]: {
5012
+ code: string | string[];
5013
+ modifiers?: IModifier[];
5014
+ }[];
5015
+ }>(actionKeysMap: ActionKeysMap) => <T extends KeyboardEvent | React_2.KeyboardEvent<Element> = React_2.KeyboardEvent<Element>>(handlers: { [action in keyof ActionKeysMap | "onUnhandledKeyDown"]?: (event: T) => void; }, options?: IHandleActionOptions) => (event: T) => void;
5016
+
5017
+ /**
5018
+ * @internal
5019
+ */
5020
+ export declare const makeLinearKeyboardNavigation: <T extends KeyboardEvent | React_2.KeyboardEvent<Element> = React_2.KeyboardEvent<Element>>(handlers: {
5021
+ onSelect?: (event: T) => void;
5022
+ onClose?: (event: T) => void;
5023
+ onFocusPrevious?: (event: T) => void;
4765
5024
  onFocusNext?: (event: T) => void;
5025
+ onFocusFirst?: (event: T) => void;
5026
+ onFocusLast?: (event: T) => void;
5027
+ onUnhandledKeyDown?: (event: T) => void;
5028
+ }, options?: IHandleActionOptions) => (event: T) => void;
5029
+
5030
+ /**
5031
+ * @internal
5032
+ */
5033
+ export declare const makeMenuKeyboardNavigation: <T extends KeyboardEvent | React_2.KeyboardEvent<Element> = React_2.KeyboardEvent<Element>>(handlers: {
5034
+ onSelect?: (event: T) => void;
5035
+ onClose?: (event: T) => void;
4766
5036
  onFocusPrevious?: (event: T) => void;
5037
+ onFocusNext?: (event: T) => void;
4767
5038
  onFocusFirst?: (event: T) => void;
4768
5039
  onFocusLast?: (event: T) => void;
4769
5040
  onEnterLevel?: (event: T) => void;
4770
5041
  onLeaveLevel?: (event: T) => void;
4771
- onSelect?: (event: T) => void;
4772
- onClose?: (event: T) => void;
4773
5042
  onUnhandledKeyDown?: (event: T) => void;
4774
- shouldPreventDefault?: boolean;
4775
- shouldStopPropagation?: boolean;
4776
- }) => (event: T) => void;
5043
+ }, options?: IHandleActionOptions) => (event: T) => void;
4777
5044
 
4778
5045
  /**
4779
5046
  * @internal
@@ -4829,6 +5096,11 @@ export declare const META_DATA_TIMEZONE = "Europe/Prague";
4829
5096
  */
4830
5097
  export declare const MetadataList: React_2.FC<IMetadataListProps>;
4831
5098
 
5099
+ /**
5100
+ * @internal
5101
+ */
5102
+ export declare const modifierNegator: "!";
5103
+
4832
5104
  /**
4833
5105
  * @internal
4834
5106
  */
@@ -5126,6 +5398,11 @@ export declare const scrollContextDefault: {
5126
5398
  */
5127
5399
  export declare const ScrollGradient: React_2.FC<IScrollGradientProps>;
5128
5400
 
5401
+ /**
5402
+ * @internal
5403
+ */
5404
+ export declare const SELECT_ITEM_ACTION = "selectItem";
5405
+
5129
5406
  /**
5130
5407
  * @internal
5131
5408
  */
@@ -5266,6 +5543,11 @@ export declare type SizeMedium = "medium";
5266
5543
  */
5267
5544
  export declare type SizeSmall = "small";
5268
5545
 
5546
+ /**
5547
+ * @internal
5548
+ */
5549
+ export declare type SizeXSmall = "xsmall";
5550
+
5269
5551
  /**
5270
5552
  * @internal
5271
5553
  */
@@ -5497,6 +5779,11 @@ export declare type TStylingEditorDialogFooterProps = {
5497
5779
  */
5498
5780
  export declare type TUTMContent = "main_menu_help_documentation" | "main_menu_help_university" | "main_menu_help_community" | "main_menu_help_support" | "main_menu_help_ticket" | "main_menu_help_slack";
5499
5781
 
5782
+ /**
5783
+ * @internal
5784
+ */
5785
+ export declare const typedUiMenuContextStore: <T extends IUiMenuItemData = object, M = object>() => IContextStore<IUiMenuContext<T, M>>;
5786
+
5500
5787
  /**
5501
5788
  * @internal
5502
5789
  */
@@ -5526,13 +5813,14 @@ export declare interface UiButtonProps {
5526
5813
  tooltip?: React_2.ReactNode;
5527
5814
  onClick?: (e: React_2.MouseEvent<HTMLButtonElement>) => void;
5528
5815
  dataId?: string;
5529
- accessibilityConfig?: IAccessibilityConfigBase;
5816
+ dataTestId?: string;
5817
+ accessibilityConfig?: IUiButtonAccessibilityConfig;
5530
5818
  }
5531
5819
 
5532
5820
  /**
5533
5821
  * @internal
5534
5822
  */
5535
- export declare const UiChip: ({ label, tag, isDeletable, isActive, isLocked, iconBefore, onClick, onDelete, accessibilityConfig, }: UiChipProps) => React_2.JSX.Element;
5823
+ export declare const UiChip: ({ label, tag, isDeletable, isActive, isLocked, iconBefore, onClick, onDelete, onDeleteKeyDown, accessibilityConfig, dataTestId, }: UiChipProps) => React_2.JSX.Element;
5536
5824
 
5537
5825
  /**
5538
5826
  * @internal
@@ -5546,7 +5834,9 @@ export declare interface UiChipProps {
5546
5834
  iconBefore?: IconType;
5547
5835
  onClick?: () => void;
5548
5836
  onDelete?: () => void;
5837
+ onDeleteKeyDown?: (event: React_2.KeyboardEvent<HTMLButtonElement>) => void;
5549
5838
  accessibilityConfig?: IUiChipAccessibilityConfig;
5839
+ dataTestId?: string;
5550
5840
  }
5551
5841
 
5552
5842
  /**
@@ -5599,11 +5889,12 @@ export declare const UiIconButton: React_2.ForwardRefExoticComponent<UiIconButto
5599
5889
  export declare interface UiIconButtonProps {
5600
5890
  icon: IconType;
5601
5891
  label: string;
5602
- size?: SizeSmall | SizeMedium | SizeLarge;
5892
+ size?: SizeXSmall | SizeSmall | SizeMedium | SizeLarge;
5603
5893
  variant?: VariantPrimary | VariantSecondary | VariantTertiary | VariantPopOut | VariantDanger;
5604
5894
  isDisabled?: boolean;
5605
5895
  onClick?: (e: React_2.MouseEvent<HTMLButtonElement>) => void;
5606
5896
  dataId?: string;
5897
+ dataTestId?: string;
5607
5898
  }
5608
5899
 
5609
5900
  /**
@@ -5624,7 +5915,7 @@ export declare interface UiIconProps {
5624
5915
  *
5625
5916
  * @internal
5626
5917
  */
5627
- export declare function UiListbox<InteractiveItemData, StaticItemData>({ items, className, itemClassName, maxWidth, onSelect, onClose, onUnhandledKeyDown, selectedItemId, InteractiveItemComponent, StaticItemComponent, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, shouldCloseOnSelect, isDisabledFocusable, ariaAttributes, }: UiListboxProps<InteractiveItemData, StaticItemData>): React_2.ReactNode;
5918
+ export declare function UiListbox<InteractiveItemData, StaticItemData>({ items, className, itemClassName, maxWidth, maxHeight, onSelect, onClose, onUnhandledKeyDown, selectedItemId, InteractiveItemComponent, StaticItemComponent, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, shouldCloseOnSelect, isDisabledFocusable, ariaAttributes, }: UiListboxProps<InteractiveItemData, StaticItemData>): React_2.ReactNode;
5628
5919
 
5629
5920
  /**
5630
5921
  * @internal
@@ -5644,6 +5935,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
5644
5935
  className?: string;
5645
5936
  itemClassName?: string;
5646
5937
  maxWidth?: number;
5938
+ maxHeight?: number;
5647
5939
  onSelect?: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
5648
5940
  onClose?: () => void;
5649
5941
  onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiListboxContext<InteractiveItemData, StaticItemData>) => void;
@@ -5671,47 +5963,18 @@ export declare interface UiListboxStaticItemProps<T> {
5671
5963
  *
5672
5964
  * @internal
5673
5965
  */
5674
- export declare function UiMenu<T extends IUiMenuItemData = object>(props: UiMenuProps<T>): React_2.ReactNode;
5966
+ export declare function UiMenu<T extends IUiMenuItemData = object, M extends object = object>(props: UiMenuProps<T, M>): React_2.ReactNode;
5675
5967
 
5676
5968
  /**
5677
5969
  * @internal
5678
5970
  */
5679
- export declare interface UiMenuGroupItemProps<T extends IUiMenuItemData = object> {
5680
- item: IUiMenuGroupItem<T>;
5681
- }
5682
-
5683
- /**
5684
- * @internal
5685
- */
5686
- export declare interface UiMenuInteractiveItemProps<T extends IUiMenuItemData = object> {
5687
- item: IUiMenuInteractiveItem<T>;
5688
- isFocused: boolean;
5689
- onSelect: () => void;
5690
- }
5691
-
5692
- /**
5693
- * @internal
5694
- */
5695
- export declare interface UiMenuInteractiveItemWrapperProps<T extends IUiMenuItemData = object> {
5696
- item: IUiMenuInteractiveItem<T>;
5697
- }
5698
-
5699
- /**
5700
- * @internal
5701
- */
5702
- export declare interface UiMenuItemProps<T extends IUiMenuItemData = object> {
5703
- item: IUiMenuItem<T>;
5704
- }
5705
-
5706
- /**
5707
- * @internal
5708
- */
5709
- export declare interface UiMenuProps<T extends IUiMenuItemData = object> extends Partial<IUiMenuPluggableComponents<T>> {
5971
+ export declare interface UiMenuProps<T extends IUiMenuItemData = object, M = object> extends Partial<IUiMenuPluggableComponents<T>> {
5710
5972
  items: IUiMenuItem<T>[];
5711
- className?: string;
5973
+ className?: ((context: IUiMenuContext<T>) => string | undefined) | string;
5712
5974
  itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
5713
5975
  maxWidth?: number;
5714
5976
  onSelect?: (item: IUiMenuInteractiveItem<T>) => void;
5977
+ onLevelChange?: (level: number, item?: IUiMenuContentItem<T> | IUiMenuInteractiveItem<T>) => void;
5715
5978
  onClose?: () => void;
5716
5979
  onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiMenuContext<T>) => void;
5717
5980
  shouldKeyboardActionPreventDefault?: boolean;
@@ -5719,13 +5982,7 @@ export declare interface UiMenuProps<T extends IUiMenuItemData = object> extends
5719
5982
  shouldCloseOnSelect?: boolean;
5720
5983
  isDisabledFocusable?: boolean;
5721
5984
  ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
5722
- }
5723
-
5724
- /**
5725
- * @internal
5726
- */
5727
- export declare interface UiMenuStaticItemProps<T extends IUiMenuItemData = object> {
5728
- item: IUiMenuStaticItem<T>;
5985
+ menuCtxData?: M;
5729
5986
  }
5730
5987
 
5731
5988
  /**
@@ -5802,6 +6059,19 @@ export declare type UnitsType = "px" | "%" | "rem" | "em";
5802
6059
  */
5803
6060
  export declare const unrelatedHeader: IDateDatasetHeader;
5804
6061
 
6062
+ /**
6063
+ * Unwraps items from group containers into a flat array.
6064
+ * @internal
6065
+ */
6066
+ export declare function unwrapGroupItems<T extends IUiMenuItemData = object>(items: IUiMenuItem<T>[]): IUiMenuItem<T>[];
6067
+
6068
+ /**
6069
+ * Focuses the element when it mounts.
6070
+ *
6071
+ * @internal
6072
+ */
6073
+ export declare const useAutofocusOnMount: () => (node: HTMLElement | null) => void;
6074
+
5805
6075
  /**
5806
6076
  * A helper hook to provide not just state/setState pair but also a debounced version of the state.
5807
6077
  * @internal
@@ -5883,6 +6153,22 @@ export declare function useInvertableSelectionStatusText<T>(selectedItems: T[],
5883
6153
  */
5884
6154
  export declare const useIsZoomed: (baseZoomLevel?: number) => boolean;
5885
6155
 
6156
+ /**
6157
+ * @internal
6158
+ */
6159
+ export declare function useListWithActionsKeyboardNavigation<Item, Action extends string>({ items, actionHandlers, getItemAdditionalActions, }: {
6160
+ items: Item[];
6161
+ actionHandlers: {
6162
+ [key in Action | typeof SELECT_ITEM_ACTION]: (item: Item) => (() => void) | undefined;
6163
+ };
6164
+ getItemAdditionalActions: (item: Item) => Action[];
6165
+ }): {
6166
+ onKeyboardNavigation: (event: React_2.KeyboardEvent<Element>) => void;
6167
+ onBlur: React_2.FocusEventHandler<Element>;
6168
+ focusedAction: "selectItem" | Action;
6169
+ focusedItem: Item;
6170
+ };
6171
+
5886
6172
  /**
5887
6173
  * Hook, testing whether screen width matches provided media query.
5888
6174
  *