@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
@@ -38,23 +38,48 @@ export type IUiMenuGroupItem<T extends IUiMenuItemData = object> = {
38
38
  /**
39
39
  * @internal
40
40
  */
41
- export type IUiMenuItem<T extends IUiMenuItemData = object> = IUiMenuStaticItem<T> | IUiMenuInteractiveItem<T> | IUiMenuGroupItem<T>;
41
+ export type IUiMenuContentItem<T extends IUiMenuItemData = object> = {
42
+ type: "content";
43
+ id: string;
44
+ stringTitle: string;
45
+ isDisabled?: boolean;
46
+ showComponentOnly?: boolean;
47
+ data: T["content"];
48
+ Component: React.ComponentType<{
49
+ onBack: () => void;
50
+ onClose: () => void;
51
+ }>;
52
+ };
53
+ /**
54
+ * @internal
55
+ */
56
+ export type IUiMenuItem<T extends IUiMenuItemData = object> = IUiMenuStaticItem<T> | IUiMenuInteractiveItem<T> | IUiMenuGroupItem<T> | IUiMenuContentItem<T>;
57
+ /**
58
+ * @internal
59
+ */
60
+ export type IUiMenuFocusableItem<T extends IUiMenuItemData = object> = IUiMenuInteractiveItem<T> | IUiMenuContentItem<T>;
42
61
  /**
43
62
  * @internal
44
63
  */
45
- export interface UiMenuItemProps<T extends IUiMenuItemData = object> {
64
+ export interface IUiMenuItemProps<T extends IUiMenuItemData = object> {
46
65
  item: IUiMenuItem<T>;
47
66
  }
48
67
  /**
49
68
  * @internal
50
69
  */
51
- export interface UiMenuInteractiveItemWrapperProps<T extends IUiMenuItemData = object> {
70
+ export interface IUiMenuInteractiveItemWrapperProps<T extends IUiMenuItemData = object> {
52
71
  item: IUiMenuInteractiveItem<T>;
53
72
  }
54
73
  /**
55
74
  * @internal
56
75
  */
57
- export interface UiMenuInteractiveItemProps<T extends IUiMenuItemData = object> {
76
+ export interface IUiMenuContentItemWrapperProps<T extends IUiMenuItemData = object> {
77
+ item: IUiMenuContentItem<T>;
78
+ }
79
+ /**
80
+ * @internal
81
+ */
82
+ export interface IUiMenuInteractiveItemProps<T extends IUiMenuItemData = object> {
58
83
  item: IUiMenuInteractiveItem<T>;
59
84
  isFocused: boolean;
60
85
  onSelect: () => void;
@@ -62,15 +87,29 @@ export interface UiMenuInteractiveItemProps<T extends IUiMenuItemData = object>
62
87
  /**
63
88
  * @internal
64
89
  */
65
- export interface UiMenuGroupItemProps<T extends IUiMenuItemData = object> {
90
+ export interface IUiMenuGroupItemProps<T extends IUiMenuItemData = object> {
66
91
  item: IUiMenuGroupItem<T>;
67
92
  }
68
93
  /**
69
94
  * @internal
70
95
  */
71
- export interface UiMenuStaticItemProps<T extends IUiMenuItemData = object> {
96
+ export interface IUiMenuStaticItemProps<T extends IUiMenuItemData = object> {
72
97
  item: IUiMenuStaticItem<T>;
73
98
  }
99
+ /**
100
+ * @internal
101
+ */
102
+ export interface IUiMenuContentItemProps<T extends IUiMenuItemData = object> {
103
+ item: IUiMenuContentItem<T>;
104
+ isFocused: boolean;
105
+ onSelect: () => void;
106
+ }
107
+ /**
108
+ * @internal
109
+ */
110
+ export interface IUiMenuContentProps<T extends IUiMenuItemData = object> {
111
+ item: IUiMenuContentItem<T>;
112
+ }
74
113
  /**
75
114
  * @internal
76
115
  */
@@ -79,40 +118,47 @@ export type IUiMenuControlType = "keyboard" | "mouse" | "unknown";
79
118
  * @internal
80
119
  */
81
120
  export interface IUiMenuPluggableComponents<T extends IUiMenuItemData = object> {
82
- InteractiveItemComponent: React.ComponentType<UiMenuInteractiveItemProps<T>>;
83
- InteractiveItemWrapperComponent: React.ComponentType<UiMenuInteractiveItemWrapperProps<T>>;
84
- GroupItemComponent: React.ComponentType<UiMenuGroupItemProps<T>>;
85
- StaticItemComponent: React.ComponentType<UiMenuStaticItemProps<T>>;
86
- MenuHeaderComponent: React.ComponentType;
121
+ InteractiveItem: React.ComponentType<IUiMenuInteractiveItemProps<T>>;
122
+ InteractiveItemWrapper: React.ComponentType<IUiMenuInteractiveItemWrapperProps<T>>;
123
+ GroupItem: React.ComponentType<IUiMenuGroupItemProps<T>>;
124
+ StaticItem: React.ComponentType<IUiMenuStaticItemProps<T>>;
125
+ ContentItemWrapper: React.ComponentType<IUiMenuContentItemWrapperProps<T>>;
126
+ ContentItem: React.ComponentType<IUiMenuContentItemProps<T>>;
127
+ Content: React.ComponentType<IUiMenuContentProps<T>>;
128
+ MenuHeader: React.ComponentType;
87
129
  }
88
130
  /**
89
131
  * @internal
90
132
  */
91
- export interface IUiMenuContext<T extends IUiMenuItemData = object> extends IUiMenuPluggableComponents<T> {
133
+ export interface IUiMenuContext<T extends IUiMenuItemData = object, M = object> extends IUiMenuPluggableComponents<T> {
92
134
  items: IUiMenuItem<T>[];
93
- focusedItem: IUiMenuInteractiveItem<T> | undefined;
94
- onSelect: (item: IUiMenuInteractiveItem<T> | undefined) => void;
135
+ focusedItem: IUiMenuFocusableItem<T> | undefined;
136
+ shownCustomContentItemId?: string;
137
+ setShownCustomContentItemId: React.Dispatch<React.SetStateAction<string | undefined>>;
138
+ onSelect: (item: IUiMenuFocusableItem<T> | undefined) => void;
95
139
  onClose?: () => void;
96
140
  setFocusedId: React.Dispatch<React.SetStateAction<string | undefined>>;
97
141
  isItemFocusable: (item: IUiMenuItem<T>) => boolean;
98
142
  controlType: IUiMenuControlType;
99
143
  setControlType: React.Dispatch<React.SetStateAction<IUiMenuControlType>>;
100
144
  scrollToView: (element: HTMLElement | null) => void;
101
- makeItemId: (item: IUiMenuItem<T>) => string;
145
+ makeItemId: (item: IUiMenuItem<T>) => string | undefined;
102
146
  itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
103
- ItemComponent: React.ComponentType<UiMenuItemProps<T>>;
147
+ ItemComponent: React.ComponentType<IUiMenuItemProps<T>>;
104
148
  menuComponentRef: React.RefObject<HTMLElement>;
105
149
  itemsContainerRef: React.RefObject<HTMLElement>;
150
+ menuCtxData?: M;
106
151
  }
107
152
  /**
108
153
  * @internal
109
154
  */
110
- export interface UiMenuProps<T extends IUiMenuItemData = object> extends Partial<IUiMenuPluggableComponents<T>> {
155
+ export interface UiMenuProps<T extends IUiMenuItemData = object, M = object> extends Partial<IUiMenuPluggableComponents<T>> {
111
156
  items: IUiMenuItem<T>[];
112
- className?: string;
157
+ className?: ((context: IUiMenuContext<T>) => string | undefined) | string;
113
158
  itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
114
159
  maxWidth?: number;
115
160
  onSelect?: (item: IUiMenuInteractiveItem<T>) => void;
161
+ onLevelChange?: (level: number, item?: IUiMenuContentItem<T> | IUiMenuInteractiveItem<T>) => void;
116
162
  onClose?: () => void;
117
163
  onUnhandledKeyDown?: (event: React.KeyboardEvent, context: IUiMenuContext<T>) => void;
118
164
  shouldKeyboardActionPreventDefault?: boolean;
@@ -120,5 +166,6 @@ export interface UiMenuProps<T extends IUiMenuItemData = object> extends Partial
120
166
  shouldCloseOnSelect?: boolean;
121
167
  isDisabledFocusable?: boolean;
122
168
  ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
169
+ menuCtxData?: M;
123
170
  }
124
171
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const SELECT_ITEM_ACTION = "selectItem";
6
+ /**
7
+ * @internal
8
+ */
9
+ export declare function useListWithActionsKeyboardNavigation<Item, Action extends string>({ items, actionHandlers, getItemAdditionalActions, }: {
10
+ items: Item[];
11
+ actionHandlers: {
12
+ [key in Action | typeof SELECT_ITEM_ACTION]: (item: Item) => (() => void) | undefined;
13
+ };
14
+ getItemAdditionalActions: (item: Item) => Action[];
15
+ }): {
16
+ onKeyboardNavigation: (event: React.KeyboardEvent<Element>) => void;
17
+ onBlur: React.FocusEventHandler<Element>;
18
+ focusedAction: "selectItem" | Action;
19
+ focusedItem: Item;
20
+ };
21
+ //# sourceMappingURL=useListWithActionsKeyboardNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useListWithActionsKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAY/C;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,SAAS,MAAM,EAAE,EAC9E,KAAK,EACL,cAAc,EACd,wBAAwB,GAC3B,EAAE;IACC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,cAAc,EAAE;SAAG,GAAG,IAAI,MAAM,GAAG,OAAO,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;KAAE,CAAC;IAC1G,wBAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;CACtD;;;;;EAiDA"}
@@ -0,0 +1,128 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import React from "react";
3
+ import { useAutoupdateRef } from "@gooddata/sdk-ui";
4
+ import { makeLinearKeyboardNavigation, makeMenuKeyboardNavigation } from "../@utils/keyboardNavigation.js";
5
+ /**
6
+ * @internal
7
+ */
8
+ export const SELECT_ITEM_ACTION = "selectItem";
9
+ /**
10
+ * @internal
11
+ */
12
+ export function useListWithActionsKeyboardNavigation({ items, actionHandlers, getItemAdditionalActions, }) {
13
+ const [focusedIndex, setFocusedIndex] = React.useState(0);
14
+ const focusedItem = focusedIndex === undefined ? undefined : items[focusedIndex];
15
+ const [focusedAction, setFocusedAction] = React.useState(SELECT_ITEM_ACTION);
16
+ const focusedItemAdditionalActions = React.useMemo(() => (focusedItem ? getItemAdditionalActions(focusedItem) : []), [focusedItem, getItemAdditionalActions]);
17
+ // If the items change and we're suddenly focusing on a nonexistent item
18
+ if (focusedIndex && focusedIndex > items.length - 1) {
19
+ setFocusedIndex(items.length - 1);
20
+ }
21
+ // If the item actions change and we're suddenly focusing on a nonexistent action
22
+ if (focusedAction !== SELECT_ITEM_ACTION && !focusedItemAdditionalActions.includes(focusedAction)) {
23
+ setFocusedAction(focusedItemAdditionalActions[0] ?? SELECT_ITEM_ACTION);
24
+ }
25
+ const keyboardNavigationDepsRef = useAutoupdateRef({
26
+ items,
27
+ focusedAction,
28
+ setFocusedIndex,
29
+ setFocusedAction,
30
+ focusedItemAdditionalActions,
31
+ focusedItem,
32
+ actionHandlers,
33
+ });
34
+ // There are two separate modes of control,
35
+ // one switches between items and one controls picking actions for a specific item
36
+ const selectionMode = focusedAction === SELECT_ITEM_ACTION ? "item" : "additionalAction";
37
+ const handleKeyboardNavigation = React.useMemo(() => {
38
+ return selectionMode === "item"
39
+ ? // Selecting items
40
+ makeItemSelectionNavigation(keyboardNavigationDepsRef)
41
+ : // Selecting actions
42
+ makeActionSelectionNavigation(keyboardNavigationDepsRef);
43
+ }, [keyboardNavigationDepsRef, selectionMode]);
44
+ const handleBlur = React.useCallback(() => {
45
+ setFocusedAction(SELECT_ITEM_ACTION);
46
+ }, []);
47
+ return { onKeyboardNavigation: handleKeyboardNavigation, onBlur: handleBlur, focusedAction, focusedItem };
48
+ }
49
+ function makeItemSelectionNavigation(depsRef) {
50
+ return makeMenuKeyboardNavigation({
51
+ onFocusPrevious: () => {
52
+ const { items, setFocusedIndex } = depsRef.current;
53
+ setFocusedIndex((currentIndex) => currentIndex === undefined || currentIndex === 0 ? items.length - 1 : currentIndex - 1);
54
+ },
55
+ onFocusNext: () => {
56
+ const { items, setFocusedIndex } = depsRef.current;
57
+ setFocusedIndex((currentIndex) => currentIndex === undefined || currentIndex === items.length - 1 ? 0 : currentIndex + 1);
58
+ },
59
+ onFocusFirst: () => {
60
+ const { setFocusedIndex } = depsRef.current;
61
+ setFocusedIndex(0);
62
+ },
63
+ onFocusLast: () => {
64
+ const { items, setFocusedIndex } = depsRef.current;
65
+ setFocusedIndex(items.length - 1);
66
+ },
67
+ onSelect: () => {
68
+ const { actionHandlers, focusedItem } = depsRef.current;
69
+ if (!focusedItem) {
70
+ return;
71
+ }
72
+ actionHandlers.selectItem(focusedItem)?.();
73
+ },
74
+ onEnterLevel: () => {
75
+ const { focusedItemAdditionalActions, setFocusedAction } = depsRef.current;
76
+ if (focusedItemAdditionalActions.length === 0) {
77
+ return;
78
+ }
79
+ setFocusedAction(focusedItemAdditionalActions[0]);
80
+ },
81
+ });
82
+ }
83
+ function makeActionSelectionNavigation(depsRef) {
84
+ return makeLinearKeyboardNavigation({
85
+ onFocusPrevious: () => {
86
+ const { focusedItemAdditionalActions, setFocusedAction } = depsRef.current;
87
+ setFocusedAction((currentAction) => {
88
+ if (currentAction === SELECT_ITEM_ACTION) {
89
+ return currentAction;
90
+ }
91
+ return (focusedItemAdditionalActions[focusedItemAdditionalActions.indexOf(currentAction) - 1] ??
92
+ focusedItemAdditionalActions.at(-1) ??
93
+ SELECT_ITEM_ACTION);
94
+ });
95
+ },
96
+ onFocusNext: () => {
97
+ const { focusedItemAdditionalActions, setFocusedAction } = depsRef.current;
98
+ setFocusedAction((currentAction) => {
99
+ if (currentAction === SELECT_ITEM_ACTION) {
100
+ return currentAction;
101
+ }
102
+ return (focusedItemAdditionalActions[focusedItemAdditionalActions.indexOf(currentAction) + 1] ??
103
+ focusedItemAdditionalActions[0] ??
104
+ SELECT_ITEM_ACTION);
105
+ });
106
+ },
107
+ onFocusFirst: () => {
108
+ const { focusedItemAdditionalActions, setFocusedAction } = depsRef.current;
109
+ setFocusedAction(focusedItemAdditionalActions[0] ?? SELECT_ITEM_ACTION);
110
+ },
111
+ onFocusLast: () => {
112
+ const { focusedItemAdditionalActions, setFocusedAction } = depsRef.current;
113
+ setFocusedAction(focusedItemAdditionalActions.at(-1) ?? SELECT_ITEM_ACTION);
114
+ },
115
+ onSelect: () => {
116
+ const { actionHandlers, focusedAction, focusedItem } = depsRef.current;
117
+ if (!focusedItem) {
118
+ return;
119
+ }
120
+ actionHandlers[focusedAction](focusedItem)?.();
121
+ },
122
+ onClose: () => {
123
+ const { setFocusedAction } = depsRef.current;
124
+ setFocusedAction(SELECT_ITEM_ACTION);
125
+ },
126
+ });
127
+ }
128
+ //# sourceMappingURL=useListWithActionsKeyboardNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useListWithActionsKeyboardNavigation.js","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE3G;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAY/C;;GAEG;AACH,MAAM,UAAU,oCAAoC,CAA8B,EAC9E,KAAK,EACL,cAAc,EACd,wBAAwB,GAK3B;IACG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,CAAC,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEjF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,kBAAkB,CACrB,CAAC;IAEF,MAAM,4BAA4B,GAAG,KAAK,CAAC,OAAO,CAC9C,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAChE,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAC1C,CAAC;IAEF,wEAAwE;IACxE,IAAI,YAAY,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,iFAAiF;IACjF,IAAI,aAAa,KAAK,kBAAkB,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAChG,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,yBAAyB,GAAG,gBAAgB,CAAwC;QACtF,KAAK;QACL,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,4BAA4B;QAC5B,WAAW;QACX,cAAc;KACjB,CAAC,CAAC;IAEH,2CAA2C;IAC3C,kFAAkF;IAClF,MAAM,aAAa,GAAG,aAAa,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAEzF,MAAM,wBAAwB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAChD,OAAO,aAAa,KAAK,MAAM;YAC3B,CAAC,CAAC,kBAAkB;gBAClB,2BAA2B,CAAC,yBAAyB,CAAC;YACxD,CAAC,CAAC,oBAAoB;gBACpB,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAA0B,GAAG,EAAE;QAC/D,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AAC9G,CAAC;AAED,SAAS,2BAA2B,CAChC,OAAsE;IAEtE,OAAO,0BAA0B,CAAC;QAC9B,eAAe,EAAE,GAAG,EAAE;YAClB,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEnD,eAAe,CAAC,CAAC,YAAY,EAAE,EAAE,CAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CACzF,CAAC;QACN,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEnD,eAAe,CAAC,CAAC,YAAY,EAAE,EAAE,CAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CACzF,CAAC;QACN,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE5C,eAAe,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEnD,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACX,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAExD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO;YACX,CAAC;YAED,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QAC/C,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,IAAI,4BAA4B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO;YACX,CAAC;YAED,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,6BAA6B,CAClC,OAAsE;IAEtE,OAAO,4BAA4B,CAAC;QAChC,eAAe,EAAE,GAAG,EAAE;YAClB,MAAM,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,gBAAgB,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/B,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;oBACvC,OAAO,aAAa,CAAC;gBACzB,CAAC;gBAED,OAAO,CACH,4BAA4B,CAAC,4BAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrF,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnC,kBAAkB,CACrB,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,gBAAgB,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/B,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;oBACvC,OAAO,aAAa,CAAC;gBACzB,CAAC;gBAED,OAAO,CACH,4BAA4B,CAAC,4BAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrF,4BAA4B,CAAC,CAAC,CAAC;oBAC/B,kBAAkB,CACrB,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,gBAAgB,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAChF,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACX,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO;YACX,CAAC;YAED,cAAc,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE7C,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACzC,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,qBAAa,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACrD,OAAc,YAAY;;;;;;;;;MASxB;IAEK,UAAU,EAAE,WAAW,CAAC;IAExB,MAAM;IA0Db,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,QAAQ,CAId;IAEF,OAAO,CAAC,UAAU;CASrB"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAS5C;;GAEG;AACH,qBAAa,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACrD,OAAc,YAAY;;;;;;;;;MASxB;IAEK,UAAU,EAAE,WAAW,CAAC;IAExB,MAAM;IAgEb,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,QAAQ,CAId;IAEF,OAAO,CAAC,UAAU;CASrB"}
@@ -3,6 +3,12 @@ import React from "react";
3
3
  import cx from "classnames";
4
4
  import { stringUtils } from "@gooddata/util";
5
5
  import noop from "lodash/noop.js";
6
+ const getGeneratedTestId = (effectiveValue, title, ariaLabel) => {
7
+ if (effectiveValue && typeof effectiveValue === "string") {
8
+ return `${stringUtils.simplifyText(effectiveValue)}`;
9
+ }
10
+ return ariaLabel ? `${stringUtils.simplifyText(ariaLabel)}` : `${stringUtils.simplifyText(title)}`;
11
+ };
6
12
  /**
7
13
  * @internal
8
14
  */
@@ -19,7 +25,7 @@ export class Button extends React.Component {
19
25
  };
20
26
  buttonNode;
21
27
  render() {
22
- const { id, tagName, title, disabled, tabIndex, type, iconLeft, iconRight, accessibilityConfig, buttonRef, } = this.props;
28
+ const { id, tagName, title, disabled, tabIndex, type, iconLeft, iconRight, accessibilityConfig, buttonRef, dataId, dataTestId, } = this.props;
23
29
  const { isExpanded, popupId, ariaLabel, ariaLabelledBy, ariaDescribedBy, role = "button", } = accessibilityConfig ?? {};
24
30
  const TagName = tagName;
25
31
  const effectiveValue = this.getEffectiveValue();
@@ -28,12 +34,13 @@ export class Button extends React.Component {
28
34
  ...(popupId ? { "aria-haspopup": !!popupId } : {}),
29
35
  ...(isExpanded !== undefined ? { "aria-expanded": isExpanded } : {}),
30
36
  };
31
- return (React.createElement(TagName, { id: id, ref: (ref) => {
37
+ const testId = dataTestId ? dataTestId : getGeneratedTestId(effectiveValue, title, ariaLabel);
38
+ return (React.createElement(TagName, { id: id, "data-id": dataId, ref: (ref) => {
32
39
  this.buttonNode = ref;
33
40
  if (buttonRef) {
34
41
  buttonRef.current = ref;
35
42
  }
36
- }, title: title, className: this.getClassnames(), type: type, onClick: this._onClick, tabIndex: tabIndex, "aria-disabled": disabled, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...ariaDropdownProps, role: role },
43
+ }, title: title, className: this.getClassnames(), type: type, onClick: this._onClick, tabIndex: tabIndex, "aria-disabled": disabled, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...ariaDropdownProps, role: role, "data-testid": testId },
37
44
  this.renderIcon(iconLeft),
38
45
  effectiveValue ? React.createElement("span", { className: "gd-button-text" }, effectiveValue) : null,
39
46
  this.renderIcon(iconRight)));
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export interface IButtonAccessibilityConfig extends IAccessibilityConfigBase, ID
17
17
  */
18
18
  export interface IButtonProps {
19
19
  id?: string;
20
+ dataId?: string;
21
+ dataTestId?: string;
20
22
  className?: string;
21
23
  disabled?: boolean;
22
24
  tabIndex?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../src/Button/typings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BACb,SAAQ,wBAAwB,EAC5B,kCAAkC;CAAG;AAE7C;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAClC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnD"}
1
+ {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../src/Button/typings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BACb,SAAQ,wBAAwB,EAC5B,kCAAkC;CAAG;AAE7C;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAClC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnD"}
@@ -1,4 +1,7 @@
1
1
  import React from "react";
2
2
  import { IDialogCloseButtonProps } from "./typings.js";
3
+ /**
4
+ * @internal
5
+ */
3
6
  export declare const DialogCloseButton: React.FC<IDialogCloseButtonProps>;
4
7
  //# sourceMappingURL=DialogCloseButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogCloseButton.d.ts","sourceRoot":"","sources":["../../src/Dialog/DialogCloseButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AA0BvD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAI/D,CAAC"}
1
+ {"version":3,"file":"DialogCloseButton.d.ts","sourceRoot":"","sources":["../../src/Dialog/DialogCloseButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AA+BvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAI/D,CAAC"}
@@ -3,15 +3,19 @@ import React from "react";
3
3
  import { Button } from "../Button/index.js";
4
4
  import { useIntl } from "react-intl";
5
5
  import { IntlWrapper } from "@gooddata/sdk-ui";
6
- const DialogCloseButtonCore = React.memo(function DialogCloseButton({ accessibilityConfig, onClose, }) {
6
+ import cx from "classnames";
7
+ const DialogCloseButtonCore = React.memo(function DialogCloseButton({ className, accessibilityConfig, onClose, }) {
7
8
  const intl = useIntl();
8
9
  const closeButtonAccessibilityConfig = {
9
10
  ariaLabel: intl.formatMessage({ id: "dialogs.closeLabel" }),
10
11
  ...accessibilityConfig?.closeButton,
11
12
  };
12
13
  return (React.createElement("div", { className: "gd-dialog-close" },
13
- React.createElement(Button, { className: "gd-button-link gd-button-icon-only gd-icon-cross s-dialog-close-button", value: "", onClick: onClose, accessibilityConfig: closeButtonAccessibilityConfig })));
14
+ React.createElement(Button, { className: cx("gd-button-link gd-button-icon-only gd-icon-cross s-dialog-close-button", className), onClick: onClose, accessibilityConfig: closeButtonAccessibilityConfig })));
14
15
  });
16
+ /**
17
+ * @internal
18
+ */
15
19
  export const DialogCloseButton = (props) => (React.createElement(IntlWrapper, null,
16
20
  React.createElement(DialogCloseButtonCore, { ...props })));
17
21
  //# sourceMappingURL=DialogCloseButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogCloseButton.js","sourceRoot":"","sources":["../../src/Dialog/DialogCloseButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAA0B,SAAS,iBAAiB,CAAC,EACzF,mBAAmB,EACnB,OAAO,GACV;IACG,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,8BAA8B,GAAG;QACnC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC;QAC3D,GAAG,mBAAmB,EAAE,WAAW;KACtC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,iBAAiB;QAC5B,oBAAC,MAAM,IACH,SAAS,EAAC,wEAAwE,EAClF,KAAK,EAAC,EAAE,EACR,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,8BAA8B,GACrD,CACA,CACT,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAsC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3E,oBAAC,WAAW;IACR,oBAAC,qBAAqB,OAAK,KAAK,GAAI,CAC1B,CACjB,CAAC"}
1
+ {"version":3,"file":"DialogCloseButton.js","sourceRoot":"","sources":["../../src/Dialog/DialogCloseButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAA0B,SAAS,iBAAiB,CAAC,EACzF,SAAS,EACT,mBAAmB,EACnB,OAAO,GACV;IACG,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,8BAA8B,GAAG;QACnC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC;QAC3D,GAAG,mBAAmB,EAAE,WAAW;KACtC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,iBAAiB;QAC5B,oBAAC,MAAM,IACH,SAAS,EAAE,EAAE,CACT,wEAAwE,EACxE,SAAS,CACZ,EACD,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,8BAA8B,GACrD,CACA,CACT,CAAC;AACN,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3E,oBAAC,WAAW;IACR,oBAAC,qBAAqB,OAAK,KAAK,GAAI,CAC1B,CACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogListItemBasic.d.ts","sourceRoot":"","sources":["../../../src/Dialog/DialogList/DialogListItemBasic.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAOpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAY7D;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAoFxE,CAAC"}
1
+ {"version":3,"file":"DialogListItemBasic.d.ts","sourceRoot":"","sources":["../../../src/Dialog/DialogList/DialogListItemBasic.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAOpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAY7D;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,6BAA6B,CA2FxE,CAAC"}
@@ -1,4 +1,4 @@
1
- // (C) 2022-2023 GoodData Corporation
1
+ // (C) 2022-2025 GoodData Corporation
2
2
  import React, { useCallback, useMemo } from "react";
3
3
  import cx from "classnames";
4
4
  import { stringUtils } from "@gooddata/util";
@@ -17,12 +17,12 @@ const TEXT_TOOLTIP_ALIGN_POINTS = [
17
17
  */
18
18
  export const DialogListItemBasic = (props) => {
19
19
  const { item, className, onClick, onDelete } = props;
20
- const { id, title, subtitle, isDisabled = false, isClickable = true, isDeletable = true, icon, deleteTooltipText, } = item;
20
+ const { id, title, subtitle, isDisabled = false, isClickable = true, isDeletable = true, icon, action, deleteTooltipText, } = item;
21
21
  const rootClassNames = useMemo(() => cx("gd-dialog-list-item-basic", "s-dialog-list-item-basic", `s-dialog-list-item-${stringUtils.simplifyText(id)}`, {
22
22
  clickable: !isDisabled && isClickable,
23
23
  disabled: isDisabled,
24
24
  }, className), [id, isClickable, isDisabled, className]);
25
- const showDeleteButton = useMemo(() => !isDisabled && isDeletable, [isDisabled, isDeletable]);
25
+ const showDeleteButton = useMemo(() => (!isDisabled || !!action) && isDeletable, [isDisabled, isDeletable, action]);
26
26
  const handleItemClick = useCallback(() => {
27
27
  !isDisabled && isClickable && onClick?.(item);
28
28
  }, [isDisabled, isClickable, item, onClick]);
@@ -32,8 +32,11 @@ export const DialogListItemBasic = (props) => {
32
32
  return (React.createElement("div", { role: "dialog-list-item", className: rootClassNames },
33
33
  showDeleteButton ? (React.createElement("div", { className: "gd-dialog-list-item-delete" },
34
34
  React.createElement(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0 },
35
- React.createElement("span", { role: "icon-delete", className: "gd-dialog-list-item-delete-icon s-dialog-list-item-delete-icon", onClick: handleItemDelete }),
35
+ React.createElement("span", { role: "icon-delete", className: cx("gd-dialog-list-item-delete-icon s-dialog-list-item-delete-icon", {
36
+ disabled: isDisabled,
37
+ }), onClick: handleItemDelete }),
36
38
  deleteTooltipText ? (React.createElement(Bubble, { className: "bubble-primary", alignPoints: ICON_TOOLTIP_ALIGN_POINTS }, deleteTooltipText)) : null))) : null,
39
+ action ? React.createElement("div", { className: "gd-dialog-list-item-action" }, action) : null,
37
40
  React.createElement("div", { role: "dialog-list-item-content", className: "gd-dialog-list-item-content s-dialog-list-item-content", onClick: handleItemClick },
38
41
  icon ? React.createElement("div", { className: "gd-dialog-list-item-icon" }, icon) : null,
39
42
  React.createElement("div", { className: "gd-dialog-list-item-text s-dialog-list-item-text" },
@@ -1 +1 @@
1
- {"version":3,"file":"DialogListItemBasic.js","sourceRoot":"","sources":["../../../src/Dialog/DialogList/DialogListItemBasic.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DialogListItemBasic.js","sourceRoot":"","sources":["../../../src/Dialog/DialogList/DialogListItemBasic.tsx"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export interface IDialogListItem extends IDialogListItemBase {
16
16
  isClickable?: boolean;
17
17
  isDeletable?: boolean;
18
18
  deleteTooltipText?: string;
19
+ action?: JSX.Element;
19
20
  }
20
21
  /**
21
22
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/Dialog/DialogList/typings.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACtF,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC,iBAAiB,CACtG,6BAA6B,CAAC,CAAC,CAAC,CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACzE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACpC"}
1
+ {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../src/Dialog/DialogList/typings.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACtF,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC,iBAAiB,CACtG,6BAA6B,CAAC,CAAC,CAAC,CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACzE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACpC"}
@@ -1,3 +1,3 @@
1
- // (C) 2022 GoodData Corporation
1
+ // (C) 2022-2025 GoodData Corporation
2
2
  export {};
3
3
  //# sourceMappingURL=typings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typings.js","sourceRoot":"","sources":["../../../src/Dialog/DialogList/typings.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
1
+ {"version":3,"file":"typings.js","sourceRoot":"","sources":["../../../src/Dialog/DialogList/typings.ts"],"names":[],"mappings":"AAAA,qCAAqC"}
@@ -20,10 +20,10 @@ export const ExportDialogBase = React.memo(function ExportDialogBase({ className
20
20
  });
21
21
  }, [isFilterContextIncluded, onSubmit, shouldMergeHeaders]);
22
22
  return (React.createElement(ConfirmDialogBase, { className: cx("gd-export-dialog", className), displayCloseButton: displayCloseButton, isPositive: isPositive, isSubmitDisabled: isSubmitDisabled, headline: headline, cancelButtonText: cancelButtonText, submitButtonText: submitButtonText, onCancel: onCancel, onSubmit: handleSubmit, initialFocus: mergeHeadersId },
23
- React.createElement("h4", null, mergeHeadersTitle),
23
+ mergeHeadersTitle ? React.createElement("h4", null, mergeHeadersTitle) : null,
24
24
  React.createElement(Checkbox, { id: mergeHeadersId, disabled: mergeHeadersDisabled, name: "gs.dialog.export.checkbox.mergeHeaders", text: mergeHeadersText, value: shouldMergeHeaders, onChange: setShouldMergeHeaders }),
25
- filterContextVisible ? (React.createElement(React.Fragment, null,
26
- React.createElement("h4", null, filterContextTitle),
25
+ filterContextVisible ? (React.createElement("div", null,
26
+ filterContextTitle ? React.createElement("h4", null, filterContextTitle) : null,
27
27
  React.createElement(Checkbox, { name: "gs.dialog.export.checkbox.includeFilterContext", text: filterContextText, value: isFilterContextIncluded, onChange: setIsFilterContextIncluded }))) : null));
28
28
  });
29
29
  //# sourceMappingURL=ExportDialogBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExportDialogBase.js","sourceRoot":"","sources":["../../src/Dialog/ExportDialogBase.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAyB,SAAS,gBAAgB,CAAC,EACzF,SAAS,EACT,kBAAkB,GAAG,IAAI,EACzB,UAAU,GAAG,IAAI,EACjB,gBAAgB,GAAG,KAAK,EAExB,QAAQ,GAAG,gBAAgB,EAC3B,gBAAgB,GAAG,QAAQ,EAC3B,gBAAgB,GAAG,QAAQ,EAE3B,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,EAEf,iBAAiB,GAAG,yBAAyB,EAC7C,kBAAkB,GAAG,iBAAiB,EACtC,oBAAoB,GAAG,IAAI,EAE3B,oBAAoB,GAAG,KAAK,EAC5B,gBAAgB,GAAG,6BAA6B,EAChD,iBAAiB,GAAG,OAAO,EAE3B,oBAAoB,GAAG,IAAI,EAC3B,YAAY,GAAG,IAAI,GACtB;IACG,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACjG,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAE/E,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,QAAQ,CAAC;YACL,oBAAoB,EAAE,uBAAuB;YAC7C,YAAY,EAAE,kBAAkB;SACnC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,uBAAuB,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE5D,OAAO,CACH,oBAAC,iBAAiB,IACd,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAC5C,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,cAAc;QAE5B,gCAAK,iBAAiB,CAAM;QAC5B,oBAAC,QAAQ,IACL,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,EAAC,wCAAwC,EAC7C,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,qBAAqB,GACjC;QACD,oBAAoB,CAAC,CAAC,CAAC,CACpB;YACI,gCAAK,kBAAkB,CAAM;YAC7B,oBAAC,QAAQ,IACL,IAAI,EAAC,gDAAgD,EACrD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,0BAA0B,GACtC,CACH,CACN,CAAC,CAAC,CAAC,IAAI,CACQ,CACvB,CAAC;AACN,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ExportDialogBase.js","sourceRoot":"","sources":["../../src/Dialog/ExportDialogBase.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAyB,SAAS,gBAAgB,CAAC,EACzF,SAAS,EACT,kBAAkB,GAAG,IAAI,EACzB,UAAU,GAAG,IAAI,EACjB,gBAAgB,GAAG,KAAK,EAExB,QAAQ,GAAG,gBAAgB,EAC3B,gBAAgB,GAAG,QAAQ,EAC3B,gBAAgB,GAAG,QAAQ,EAE3B,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,EAEf,iBAAiB,GAAG,yBAAyB,EAC7C,kBAAkB,GAAG,iBAAiB,EACtC,oBAAoB,GAAG,IAAI,EAE3B,oBAAoB,GAAG,KAAK,EAC5B,gBAAgB,GAAG,6BAA6B,EAChD,iBAAiB,GAAG,OAAO,EAE3B,oBAAoB,GAAG,IAAI,EAC3B,YAAY,GAAG,IAAI,GACtB;IACG,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACjG,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAE/E,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,QAAQ,CAAC;YACL,oBAAoB,EAAE,uBAAuB;YAC7C,YAAY,EAAE,kBAAkB;SACnC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,uBAAuB,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE5D,OAAO,CACH,oBAAC,iBAAiB,IACd,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAC5C,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,cAAc;QAE3B,iBAAiB,CAAC,CAAC,CAAC,gCAAK,iBAAiB,CAAM,CAAC,CAAC,CAAC,IAAI;QACxD,oBAAC,QAAQ,IACL,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,EAAC,wCAAwC,EAC7C,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,qBAAqB,GACjC;QACD,oBAAoB,CAAC,CAAC,CAAC,CACpB;YACK,kBAAkB,CAAC,CAAC,CAAC,gCAAK,kBAAkB,CAAM,CAAC,CAAC,CAAC,IAAI;YAC1D,oBAAC,QAAQ,IACL,IAAI,EAAC,gDAAgD,EACrD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,0BAA0B,GACtC,CACA,CACT,CAAC,CAAC,CAAC,IAAI,CACQ,CACvB,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -16,4 +16,5 @@ export * from "./ShareDialog/index.js";
16
16
  export * from "./EmbedInsightDialog/index.js";
17
17
  export * from "./DialogList/index.js";
18
18
  export * from "./StylingEditorDialog/index.js";
19
+ export { DialogCloseButton } from "./DialogCloseButton.js";
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Dialog/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,YAAY,EACR,2CAA2C,EAC3C,iBAAiB,GACpB,MAAM,4CAA4C,CAAC;AAEpD,cAAc,wBAAwB,CAAC;AAEvC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,uBAAuB,CAAC;AAEtC,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Dialog/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,YAAY,EACR,2CAA2C,EAC3C,iBAAiB,GACpB,MAAM,4CAA4C,CAAC;AAEpD,cAAc,wBAAwB,CAAC;AAEvC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,uBAAuB,CAAC;AAEtC,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,4 +1,4 @@
1
- // (C) 2020-2024 GoodData Corporation
1
+ // (C) 2020-2025 GoodData Corporation
2
2
  export * from "./typings.js";
3
3
  export { BackButton } from "./BackButton.js";
4
4
  export { ConfirmDialog } from "./ConfirmDialog.js";
@@ -14,4 +14,5 @@ export * from "./ShareDialog/index.js";
14
14
  export * from "./EmbedInsightDialog/index.js";
15
15
  export * from "./DialogList/index.js";
16
16
  export * from "./StylingEditorDialog/index.js";
17
+ export { DialogCloseButton } from "./DialogCloseButton.js";
17
18
  //# sourceMappingURL=index.js.map