@elastic/eui 116.2.0 → 116.3.0

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 (224) hide show
  1. package/es/components/avatar/avatar.js +14 -5
  2. package/es/components/banner/banner.js +202 -0
  3. package/es/components/banner/banner.styles.js +76 -0
  4. package/es/components/banner/index.js +9 -0
  5. package/es/components/basic_table/basic_table.js +21 -10
  6. package/es/components/basic_table/collapsed_item_actions.js +5 -4
  7. package/es/components/basic_table/default_item_action.js +3 -5
  8. package/es/components/breadcrumbs/_breadcrumb_content.js +29 -19
  9. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  10. package/es/components/context_menu/context_menu_panel_title.js +0 -12
  11. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  12. package/es/components/datagrid/controls/display_selector.js +2 -1
  13. package/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  14. package/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  15. package/es/components/date_picker/react-datepicker/src/index.js +1 -5
  16. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  17. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  18. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  19. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  20. package/es/components/form/field_password/field_password.js +6 -3
  21. package/es/components/header/header.a11y.js +1 -1
  22. package/es/components/index.js +1 -0
  23. package/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  24. package/es/components/pagination/pagination_button_arrow.js +6 -2
  25. package/es/components/panel/panel.styles.js +4 -4
  26. package/es/components/panel/split_panel/split_panel.styles.js +1 -1
  27. package/es/components/search_bar/search_bar.js +20 -16
  28. package/es/components/search_bar/search_box.js +4 -2
  29. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  30. package/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  31. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  32. package/es/components/table/sticky_header/context.js +32 -0
  33. package/es/components/table/sticky_header/index.js +10 -0
  34. package/es/components/table/sticky_header/sticky_header.js +151 -0
  35. package/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  36. package/es/components/table/store/provider.js +37 -0
  37. package/es/components/table/store/store.js +82 -0
  38. package/es/components/table/table.js +28 -3
  39. package/es/components/table/table.styles.js +4 -4
  40. package/es/components/table/table_header_cell.js +116 -48
  41. package/es/components/table/table_header_cell_checkbox.js +59 -25
  42. package/es/components/text_truncate/text_truncate.js +8 -3
  43. package/es/components/tool_tip/tool_tip.js +1 -1
  44. package/es/components/tool_tip/tool_tip.styles.js +14 -5
  45. package/es/utils/publisher.js +53 -0
  46. package/eui.d.ts +1266 -975
  47. package/i18ntokens.json +2390 -2372
  48. package/lib/components/avatar/avatar.js +14 -5
  49. package/lib/components/banner/banner.js +211 -0
  50. package/lib/components/banner/banner.styles.js +80 -0
  51. package/lib/components/banner/index.js +12 -0
  52. package/lib/components/basic_table/basic_table.js +21 -10
  53. package/lib/components/basic_table/collapsed_item_actions.js +5 -4
  54. package/lib/components/basic_table/default_item_action.js +3 -5
  55. package/lib/components/breadcrumbs/_breadcrumb_content.js +29 -19
  56. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  57. package/lib/components/context_menu/context_menu_panel_title.js +0 -12
  58. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  59. package/lib/components/datagrid/controls/display_selector.js +2 -1
  60. package/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  61. package/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  62. package/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  63. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  64. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  65. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  66. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  67. package/lib/components/form/field_password/field_password.js +6 -3
  68. package/lib/components/header/header.a11y.js +1 -1
  69. package/lib/components/index.js +11 -0
  70. package/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  71. package/lib/components/pagination/pagination_button_arrow.js +6 -2
  72. package/lib/components/panel/panel.styles.js +4 -4
  73. package/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  74. package/lib/components/search_bar/search_bar.js +20 -16
  75. package/lib/components/search_bar/search_box.js +4 -2
  76. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  77. package/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  78. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  79. package/lib/components/table/sticky_header/context.js +41 -0
  80. package/lib/components/table/sticky_header/index.js +19 -0
  81. package/lib/components/table/sticky_header/sticky_header.js +156 -0
  82. package/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  83. package/lib/components/table/store/provider.js +46 -0
  84. package/lib/components/table/store/store.js +87 -0
  85. package/lib/components/table/table.js +28 -3
  86. package/lib/components/table/table.styles.js +4 -4
  87. package/lib/components/table/table_header_cell.js +118 -48
  88. package/lib/components/table/table_header_cell_checkbox.js +62 -25
  89. package/lib/components/text_truncate/text_truncate.js +8 -3
  90. package/lib/components/tool_tip/tool_tip.js +1 -1
  91. package/lib/components/tool_tip/tool_tip.styles.js +14 -5
  92. package/lib/utils/publisher.js +59 -0
  93. package/optimize/es/components/avatar/avatar.js +12 -4
  94. package/optimize/es/components/banner/banner.js +112 -0
  95. package/optimize/es/components/banner/banner.styles.js +76 -0
  96. package/optimize/es/components/banner/index.js +9 -0
  97. package/optimize/es/components/basic_table/basic_table.js +21 -10
  98. package/optimize/es/components/basic_table/collapsed_item_actions.js +5 -4
  99. package/optimize/es/components/basic_table/default_item_action.js +3 -5
  100. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +27 -18
  101. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  102. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  103. package/optimize/es/components/datagrid/controls/display_selector.js +2 -1
  104. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  105. package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  106. package/optimize/es/components/date_picker/react-datepicker/src/index.js +1 -5
  107. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  108. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  109. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  110. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  111. package/optimize/es/components/form/field_password/field_password.js +6 -3
  112. package/optimize/es/components/header/header.a11y.js +1 -1
  113. package/optimize/es/components/index.js +1 -0
  114. package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  115. package/optimize/es/components/pagination/pagination_button_arrow.js +6 -2
  116. package/optimize/es/components/panel/panel.styles.js +4 -4
  117. package/optimize/es/components/panel/split_panel/split_panel.styles.js +1 -1
  118. package/optimize/es/components/search_bar/search_bar.js +20 -16
  119. package/optimize/es/components/search_bar/search_box.js +4 -2
  120. package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
  121. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  122. package/optimize/es/components/table/sticky_header/context.js +32 -0
  123. package/optimize/es/components/table/sticky_header/index.js +10 -0
  124. package/optimize/es/components/table/sticky_header/sticky_header.js +146 -0
  125. package/optimize/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  126. package/optimize/es/components/table/store/provider.js +37 -0
  127. package/optimize/es/components/table/store/store.js +82 -0
  128. package/optimize/es/components/table/table.js +15 -3
  129. package/optimize/es/components/table/table.styles.js +4 -4
  130. package/optimize/es/components/table/table_header_cell.js +116 -48
  131. package/optimize/es/components/table/table_header_cell_checkbox.js +59 -25
  132. package/optimize/es/components/text_truncate/text_truncate.js +8 -3
  133. package/optimize/es/components/tool_tip/tool_tip.js +1 -1
  134. package/optimize/es/components/tool_tip/tool_tip.styles.js +14 -5
  135. package/optimize/es/utils/publisher.js +53 -0
  136. package/optimize/lib/components/avatar/avatar.js +12 -4
  137. package/optimize/lib/components/banner/banner.js +121 -0
  138. package/optimize/lib/components/banner/banner.styles.js +80 -0
  139. package/optimize/lib/components/banner/index.js +12 -0
  140. package/optimize/lib/components/basic_table/basic_table.js +21 -10
  141. package/optimize/lib/components/basic_table/collapsed_item_actions.js +5 -4
  142. package/optimize/lib/components/basic_table/default_item_action.js +3 -5
  143. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +27 -18
  144. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  145. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  146. package/optimize/lib/components/datagrid/controls/display_selector.js +2 -1
  147. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  148. package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  149. package/optimize/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  150. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  151. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  152. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  153. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  154. package/optimize/lib/components/form/field_password/field_password.js +6 -3
  155. package/optimize/lib/components/header/header.a11y.js +1 -1
  156. package/optimize/lib/components/index.js +11 -0
  157. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  158. package/optimize/lib/components/pagination/pagination_button_arrow.js +6 -2
  159. package/optimize/lib/components/panel/panel.styles.js +4 -4
  160. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  161. package/optimize/lib/components/search_bar/search_bar.js +20 -16
  162. package/optimize/lib/components/search_bar/search_box.js +4 -2
  163. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  164. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  165. package/optimize/lib/components/table/sticky_header/context.js +41 -0
  166. package/optimize/lib/components/table/sticky_header/index.js +19 -0
  167. package/optimize/lib/components/table/sticky_header/sticky_header.js +156 -0
  168. package/optimize/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  169. package/optimize/lib/components/table/store/provider.js +46 -0
  170. package/optimize/lib/components/table/store/store.js +87 -0
  171. package/optimize/lib/components/table/table.js +15 -3
  172. package/optimize/lib/components/table/table.styles.js +4 -4
  173. package/optimize/lib/components/table/table_header_cell.js +119 -48
  174. package/optimize/lib/components/table/table_header_cell_checkbox.js +62 -25
  175. package/optimize/lib/components/text_truncate/text_truncate.js +8 -3
  176. package/optimize/lib/components/tool_tip/tool_tip.js +1 -1
  177. package/optimize/lib/components/tool_tip/tool_tip.styles.js +14 -5
  178. package/optimize/lib/utils/publisher.js +59 -0
  179. package/package.json +2 -2
  180. package/test-env/components/avatar/avatar.js +14 -5
  181. package/test-env/components/banner/banner.js +210 -0
  182. package/test-env/components/banner/banner.styles.js +80 -0
  183. package/test-env/components/banner/index.js +12 -0
  184. package/test-env/components/basic_table/basic_table.js +21 -10
  185. package/test-env/components/basic_table/collapsed_item_actions.js +5 -4
  186. package/test-env/components/basic_table/default_item_action.js +3 -5
  187. package/test-env/components/breadcrumbs/_breadcrumb_content.js +29 -19
  188. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  189. package/test-env/components/context_menu/context_menu_panel_title.js +0 -12
  190. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  191. package/test-env/components/datagrid/controls/display_selector.js +2 -1
  192. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  193. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  194. package/test-env/components/date_picker/react-datepicker/src/index.js +0 -4
  195. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  196. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  197. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  198. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  199. package/test-env/components/form/field_password/field_password.js +6 -3
  200. package/test-env/components/header/header.a11y.js +1 -1
  201. package/test-env/components/index.js +11 -0
  202. package/test-env/components/markdown_editor/markdown_editor_help_button.js +7 -4
  203. package/test-env/components/pagination/pagination_button_arrow.js +6 -2
  204. package/test-env/components/panel/panel.styles.js +4 -4
  205. package/test-env/components/panel/split_panel/split_panel.styles.js +1 -1
  206. package/test-env/components/search_bar/search_bar.js +20 -16
  207. package/test-env/components/search_bar/search_box.js +4 -2
  208. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  209. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  210. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  211. package/test-env/components/table/sticky_header/context.js +41 -0
  212. package/test-env/components/table/sticky_header/index.js +19 -0
  213. package/test-env/components/table/sticky_header/sticky_header.js +156 -0
  214. package/test-env/components/table/sticky_header/sticky_header.styles.js +47 -0
  215. package/test-env/components/table/store/provider.js +46 -0
  216. package/test-env/components/table/store/store.js +87 -0
  217. package/test-env/components/table/table.js +28 -3
  218. package/test-env/components/table/table.styles.js +4 -4
  219. package/test-env/components/table/table_header_cell.js +119 -48
  220. package/test-env/components/table/table_header_cell_checkbox.js +62 -25
  221. package/test-env/components/text_truncate/text_truncate.js +8 -3
  222. package/test-env/components/tool_tip/tool_tip.js +1 -1
  223. package/test-env/components/tool_tip/tool_tip.styles.js +14 -5
  224. package/test-env/utils/publisher.js +59 -0
package/eui.d.ts CHANGED
@@ -2228,6 +2228,165 @@ declare module '@elastic/eui/src/components/table/sticky_scrollbar/sticky_scroll
2228
2228
  declare module '@elastic/eui/src/components/table/sticky_scrollbar' {
2229
2229
  export { EuiTableStickyScrollbar } from '@elastic/eui/src/components/table/sticky_scrollbar/sticky_scrollbar';
2230
2230
 
2231
+ }
2232
+ declare module '@elastic/eui/src/utils/publisher' {
2233
+ type Subscriber<TSubject> = (subject: TSubject) => void;
2234
+ /**
2235
+ * @internal
2236
+ */
2237
+ export type PublisherSubscribeFunc<TSubject> = (subscriber: Subscriber<TSubject>) => () => void;
2238
+ /**
2239
+ * @internal
2240
+ */
2241
+ interface Publisher<TSubject> {
2242
+ subscribe: PublisherSubscribeFunc<TSubject>;
2243
+ unsubscribe: (subscriber: Subscriber<TSubject>) => void;
2244
+ notify: (subject: TSubject) => void;
2245
+ }
2246
+ /**
2247
+ * @internal
2248
+ */
2249
+ export const createPublisher: <TSubject>() => Publisher<TSubject>;
2250
+ export {};
2251
+
2252
+ }
2253
+ declare module '@elastic/eui/src/components/table/store/store' {
2254
+ import { MutableRefObject, ReactNode, RefAttributes } from 'react';
2255
+ import { type PublisherSubscribeFunc } from '@elastic/eui/src/utils/publisher';
2256
+ /**
2257
+ * @internal
2258
+ */
2259
+ export type EuiTableStoreRenderHeaderCell = (extraProps: RefAttributes<HTMLTableCellElement>) => ReactNode;
2260
+ /**
2261
+ * @internal
2262
+ */
2263
+ export interface EuiTableStoreColumnData {
2264
+ currentWidth?: number;
2265
+ renderHeaderCellRef: MutableRefObject<EuiTableStoreRenderHeaderCell | undefined>;
2266
+ }
2267
+ type EuiTableStoreColumnsMap = ReadonlyMap<string, EuiTableStoreColumnData>;
2268
+ type EuiTableStoreColumnWidthsMap = ReadonlyMap<string, number>;
2269
+ /**
2270
+ * EuiTable store that helps with column and width synchronization between
2271
+ * the original table and the "virtual" sticky header table.
2272
+ *
2273
+ * This store is currently only used for these synchronization purposes, but
2274
+ * that may extend as we implement resizable columns.
2275
+ * If that's not implemented by the time per-axis `position: sticky`
2276
+ * is supported in all browsers natively, this can be removed.
2277
+ * @internal
2278
+ */
2279
+ export interface EuiTableStore {
2280
+ /**
2281
+ * Register a table column with the store.
2282
+ * Registration must be performed on the first render of the column
2283
+ * to keep things in sync.
2284
+ *
2285
+ * @returns {Function} A function that unregisters the column from the store.
2286
+ */
2287
+ registerColumn: (id: string, data: EuiTableStoreColumnData) => () => void;
2288
+ /**
2289
+ * Update a table column with new data.
2290
+ */
2291
+ updateColumn: (id: string, data: EuiTableStoreColumnData) => void;
2292
+ /**
2293
+ * Update the current width of a column.
2294
+ */
2295
+ updateColumnWidth: (id: string, width: number) => void;
2296
+ /**
2297
+ * Subscribe to changes in table columns.
2298
+ *
2299
+ * @returns {Function} A function that unsubscribes the subscriber from the store.
2300
+ */
2301
+ subscribe: PublisherSubscribeFunc<EuiTableStoreColumnsMap>;
2302
+ /**
2303
+ * Subscribe to changes in table column widths.
2304
+ *
2305
+ * @returns {Function} A function that unsubscribes the subscriber from the store.
2306
+ */
2307
+ subscribeToColumnWidths: PublisherSubscribeFunc<EuiTableStoreColumnWidthsMap>;
2308
+ /**
2309
+ * Get all registered columns as a readonly map.
2310
+ */
2311
+ getColumns: () => EuiTableStoreColumnsMap;
2312
+ /**
2313
+ * Get all column widths as a readonly map.
2314
+ */
2315
+ getColumnWidths: () => EuiTableStoreColumnWidthsMap;
2316
+ }
2317
+ export const createEuiTableStore: () => EuiTableStore;
2318
+ export {};
2319
+
2320
+ }
2321
+ declare module '@elastic/eui/src/components/table/store/provider' {
2322
+ import React, { type PropsWithChildren } from 'react';
2323
+ import { EuiTableStore } from '@elastic/eui/src/components/table/store/store';
2324
+ /**
2325
+ * @internal
2326
+ */
2327
+ export const EuiTableStoreProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
2328
+ /**
2329
+ * @internal
2330
+ */
2331
+ export const useEuiTableColumnDataStore: () => EuiTableStore;
2332
+
2333
+ }
2334
+ declare module '@elastic/eui/src/components/table/table_header' {
2335
+ import { FunctionComponent, ReactNode, HTMLAttributes } from 'react';
2336
+ import { CommonProps } from '@elastic/eui/src/components/common';
2337
+ export type EuiTableHeaderProps = CommonProps & HTMLAttributes<HTMLElement> & {
2338
+ /**
2339
+ * Children must be valid DOM structure residing within `<thead>`.
2340
+ * Use `<td> | <th>` by default, or `<tr><th/></tr>` when `wrapWithTableRow=false`
2341
+ */
2342
+ children?: ReactNode;
2343
+ /**
2344
+ * Automatically adds a wrapping `<tr>` element around the children
2345
+ */
2346
+ wrapWithTableRow?: boolean;
2347
+ };
2348
+ export const EuiTableHeader: FunctionComponent<EuiTableHeaderProps>;
2349
+
2350
+ }
2351
+ declare module '@elastic/eui/src/components/table/sticky_header/context' {
2352
+ import React, { PropsWithChildren } from 'react';
2353
+ /**
2354
+ * React context provider to detect whether a component is rendered
2355
+ * inside <EuiTableStickyHeader> to prevent duplicated header cell renders.
2356
+ * @internal
2357
+ */
2358
+ export const EuiTableWithinStickyHeaderProvider: ({ children, }: PropsWithChildren) => React.JSX.Element;
2359
+ /**
2360
+ * Returns true if the component (usually the EuiTableHeaderCell or EuiTableHeaderCellCheckbox)
2361
+ * is rendered inside EuiTableStickyHeader.
2362
+ * @internal
2363
+ */
2364
+ export const useEuiTableWithinStickyHeader: () => boolean;
2365
+
2366
+ }
2367
+ declare module '@elastic/eui/src/components/table/sticky_header/sticky_header.styles' {
2368
+ import type { UseEuiTheme } from '@elastic/eui/src/services';
2369
+ export const euiTableStickyHeaderStyles: ({ euiTheme }: UseEuiTheme) => {
2370
+ wrapper: import("@emotion/react").SerializedStyles;
2371
+ innerWrapper: import("@emotion/react").SerializedStyles;
2372
+ table: import("@emotion/react").SerializedStyles;
2373
+ header: import("@emotion/react").SerializedStyles;
2374
+ };
2375
+
2376
+ }
2377
+ declare module '@elastic/eui/src/components/table/sticky_header/sticky_header' {
2378
+ import React, { type RefObject } from 'react';
2379
+ import type { EuiTableProps } from '@elastic/eui/src/components/table/table';
2380
+ /**
2381
+ * @internal
2382
+ */
2383
+ export interface EuiTableStickyHeaderProps extends Pick<EuiTableProps, 'scrollableInline' | 'compressed'> {
2384
+ tableRef: RefObject<HTMLTableElement>;
2385
+ tableWrapperRef: RefObject<HTMLDivElement>;
2386
+ isResponsive: boolean;
2387
+ }
2388
+ export const EuiTableStickyHeader: ({ tableRef, tableWrapperRef, compressed, scrollableInline, isResponsive, }: EuiTableStickyHeaderProps) => React.JSX.Element | null;
2389
+
2231
2390
  }
2232
2391
  declare module '@elastic/eui/src/components/table/table' {
2233
2392
  import { FunctionComponent, TableHTMLAttributes } from 'react';
@@ -2275,6 +2434,19 @@ declare module '@elastic/eui/src/components/table/table' {
2275
2434
  * @default false
2276
2435
  */
2277
2436
  stickyScrollbar?: boolean;
2437
+ /**
2438
+ * When enabled, the table header will stick to the top of the viewport as users
2439
+ * scroll through long tables. This enhances usability by maintaining column
2440
+ * context during vertical scrolling and unifies the scrolling experience
2441
+ * between EuiTable components and EuiDataGrid.
2442
+ *
2443
+ * This feature should be used in places where it's possible for the table
2444
+ * to grow longer than the viewport.
2445
+ *
2446
+ * @beta
2447
+ * @default false
2448
+ */
2449
+ stickyHeader?: boolean;
2278
2450
  }
2279
2451
  /**
2280
2452
  * EuiTable is a low-level building block component used to render tabular data
@@ -2351,449 +2523,431 @@ declare module '@elastic/eui/src/components/table/utils' {
2351
2523
  export const resolveWidthPropsAsStyle: (style: CSSProperties | undefined, { width: rawWidth, minWidth: rawMinWidth, maxWidth: rawMaxWidth, }: EuiTableSharedWidthProps) => CSSProperties;
2352
2524
 
2353
2525
  }
2354
- declare module '@elastic/eui/src/services/canvas/canvas_text_utils' {
2355
- import type { ExclusiveUnion } from '@elastic/eui/src/components/common';
2356
- export type CanvasTextParams = ExclusiveUnion<{
2357
- container: HTMLElement;
2358
- }, {
2359
- font: CanvasTextDrawingStyles['font'];
2360
- }>;
2526
+ declare module '@elastic/eui/src/services/popover/types' {
2527
+ export type EuiPopoverPosition = 'top' | 'right' | 'bottom' | 'left';
2528
+
2529
+ }
2530
+ declare module '@elastic/eui/src/services/popover/calculate_popover_position' {
2531
+ import { EuiPopoverPosition } from '@elastic/eui/src/services/popover/types';
2532
+ interface EuiPopoverBoundingBox {
2533
+ top: number;
2534
+ left: number;
2535
+ width: number;
2536
+ height: number;
2537
+ }
2538
+ interface EuiPopoverAnchorRect extends EuiPopoverBoundingBox {
2539
+ right: number;
2540
+ bottom: number;
2541
+ }
2542
+ interface EuiPopoverDimensions {
2543
+ width: number;
2544
+ height: number;
2545
+ }
2546
+ interface EuiPopoverPositionedBox extends EuiPopoverBoundingBox {
2547
+ position: EuiPopoverPosition;
2548
+ }
2361
2549
  /**
2362
- * Creates a temporary Canvas element for manipulating text & determining text width.
2550
+ * Determine the best position for a popover that avoids clipping by the window view port.
2363
2551
  *
2364
- * To accurately measure text, canvas rendering requires either a container to
2365
- * compute/derive font styles from, or a static font string (useful for usage
2366
- * outside the DOM). Particular care should be applied when fallback fonts are
2367
- * used, as more fallback fonts can lead to less precision.
2552
+ * @param {Object} anchorBounds - getBoundingClientRect() of the node the popover is tethered to (e.g. a button).
2553
+ * @param {Object} popoverBounds - getBoundingClientRect() of the popover node (e.g. the tooltip).
2554
+ * @param {string} requestedPosition - Position the user wants. One of ["top", "right", "bottom", "left"]
2555
+ * @param {number} buffer - The space between the wrapper and the popover. Also the minimum space between the
2556
+ * popover and the window.
2557
+ * @param {Array} positions - List of acceptable positions. Defaults to ["top", "right", "bottom", "left"].
2368
2558
  *
2369
- * Please note that while canvas is more significantly more performant than DOM
2370
- * measurement, there are subpixel to single digit pixel differences between
2371
- * DOM and canvas measurement due to the different rendering engines used.
2559
+ * @returns {Object} With properties position (one of ["top", "right", "bottom", "left"]), left, top, width, and height.
2372
2560
  */
2373
- export class CanvasTextUtils {
2374
- context: CanvasRenderingContext2D;
2375
- currentText: string;
2376
- constructor({ font, container }: CanvasTextParams);
2377
- computeFontFromElement: (element: HTMLElement) => string;
2378
- get textWidth(): number;
2379
- setTextToCheck: (text: string) => void;
2380
- }
2381
-
2382
- }
2383
- declare module '@elastic/eui/src/services/canvas' {
2384
- export { CanvasTextUtils } from '@elastic/eui/src/services/canvas/canvas_text_utils';
2385
- export type { CanvasTextParams } from '@elastic/eui/src/services/canvas/canvas_text_utils';
2561
+ export function calculatePopoverPosition(anchorBounds: EuiPopoverAnchorRect, popoverBounds: EuiPopoverDimensions, requestedPosition: EuiPopoverPosition, buffer?: number, positions?: EuiPopoverPosition[]): EuiPopoverPositionedBox;
2562
+ export {};
2386
2563
 
2387
2564
  }
2388
- declare module '@elastic/eui/src/components/text_truncate/utils' {
2389
- import { CanvasTextParams, CanvasTextUtils } from '@elastic/eui/src/services/canvas';
2390
- type TruncationParams = CanvasTextParams & {
2391
- fullText: string;
2392
- ellipsis: string;
2393
- availableWidth: number;
2394
- };
2565
+ declare module '@elastic/eui/src/services/popover/popover_positioning' {
2566
+ import { EuiPopoverPosition } from '@elastic/eui/src/services/popover/types';
2567
+ export const POSITIONS: EuiPopoverPosition[];
2568
+ interface BoundingBox {
2569
+ [position: string]: number;
2570
+ top: number;
2571
+ right: number;
2572
+ bottom: number;
2573
+ left: number;
2574
+ }
2575
+ export interface EuiClientRect extends BoundingBox {
2576
+ height: number;
2577
+ width: number;
2578
+ }
2579
+ interface FindPopoverPositionArgs {
2580
+ anchor: HTMLElement;
2581
+ popover: HTMLElement;
2582
+ align?: EuiPopoverPosition;
2583
+ position: EuiPopoverPosition;
2584
+ forcePosition?: boolean;
2585
+ buffer?: number | [number, number, number, number];
2586
+ offset?: number;
2587
+ allowCrossAxis?: boolean;
2588
+ container?: HTMLElement;
2589
+ arrowConfig?: {
2590
+ arrowWidth: number;
2591
+ arrowBuffer: number;
2592
+ };
2593
+ returnBoundingBox?: boolean;
2594
+ }
2595
+ interface FindPopoverPositionResult {
2596
+ top: number;
2597
+ left: number;
2598
+ position: EuiPopoverPosition;
2599
+ fit: number;
2600
+ arrow?: Record<EuiPopoverPosition, number | string>;
2601
+ anchorBoundingBox?: EuiClientRect;
2602
+ }
2395
2603
  /**
2396
- * Utilities for truncating types at various positions, as well as
2397
- * determining whether truncation is possible or even necessary.
2604
+ * Calculates the absolute positioning (relative to document.body) to place a popover element
2605
+ *
2606
+ * @param anchor {HTMLElement} Element to anchor the popover to
2607
+ * @param popover {HTMLElement} Element containing the popover content
2608
+ * @param position {string} Position the user wants. One of ["top", "right", "bottom", "left"]
2609
+ * @param [forcePosition] {boolean} If true, use only the provided `position` value and don't try any other position
2610
+ * @param [align] {string} Cross-axis alignment. One of ["top", "right", "bottom", "left"]
2611
+ * @param [buffer=16] {number} Minimum distance between the popover and the bounding container
2612
+ * @param [offset=0] {number} Distance between the popover and the anchor
2613
+ * @param [allowCrossAxis=true] {boolean} Whether to allow the popover to be positioned on the cross-axis
2614
+ * @param [container] {HTMLElement} Element the popover must be constrained to fit within
2615
+ * @param [arrowConfig] {{arrowWidth: number, arrowBuffer: number}} If
2616
+ * present, describes the size & constraints for an arrow element, and the
2617
+ * function return value will include an `arrow` param with position details
2618
+ *
2619
+ * @returns {FindPopoverPositionResult} absolute page coordinates for the
2620
+ * popover, and the placement's relation to the anchor or undefined
2621
+ * there's no room.
2398
2622
  */
2399
- export class TruncationUtils extends CanvasTextUtils {
2400
- protected fullText: TruncationParams['fullText'];
2401
- protected ellipsis: TruncationParams['ellipsis'];
2402
- protected availableWidth: TruncationParams['availableWidth'];
2403
- constructor({ fullText, ellipsis, availableWidth, ...rest }: TruncationParams);
2404
- /**
2405
- * Performance utilities
2406
- */
2407
- debugPerformance: boolean;
2408
- debugCounter: number;
2409
- get textWidth(): number;
2410
- /**
2411
- * Internal utils for calculating a ratio based on the passed available width
2412
- * vs the full text width.
2413
- * This ratio is used to get an initial _approximate_ text string that should
2414
- * be slightly over the available width, which we can then remove from
2415
- * character-by-character until the text just fits within the available width.
2416
- */
2417
- widthRatio: number;
2418
- setTextWidthRatio: (text?: string, textToOffset?: string) => void;
2419
- getTextFromRatio: (text: string, type: "start" | "end") => string;
2420
- /**
2421
- * Early return checks
2422
- */
2423
- checkIfTruncationIsNeeded: () => false | undefined;
2424
- checkSufficientEllipsisWidth: (truncation: string) => false | undefined;
2425
- checkTruncationOffsetWidth: (text: string) => false | undefined;
2426
- /**
2427
- * Truncation types logic. This is where the magic happens
2428
- */
2429
- truncateStart: (truncationOffset?: number) => string;
2430
- truncateEnd: (truncationOffset?: number) => string;
2431
- truncateStartEndAtPosition: (truncationPosition: number) => string;
2432
- truncateStartEndAtMiddle: () => string;
2433
- truncateMiddle: () => string;
2623
+ export function findPopoverPosition({ anchor, popover, align, position, forcePosition, buffer, offset, allowCrossAxis, container, arrowConfig, returnBoundingBox, }: FindPopoverPositionArgs): FindPopoverPositionResult;
2624
+ interface GetPopoverScreenCoordinatesArgs {
2625
+ position: EuiPopoverPosition;
2626
+ align?: EuiPopoverPosition;
2627
+ anchorBoundingBox: EuiClientRect;
2628
+ popoverBoundingBox: EuiClientRect;
2629
+ windowBoundingBox: EuiClientRect;
2630
+ containerBoundingBox: EuiClientRect;
2631
+ arrowConfig?: {
2632
+ arrowWidth: number;
2633
+ arrowBuffer: number;
2634
+ };
2635
+ offset?: number;
2636
+ buffer?: number | [number, number, number, number];
2637
+ }
2638
+ interface GetPopoverScreenCoordinatesResult {
2639
+ top: number;
2640
+ left: number;
2641
+ fit: number;
2642
+ arrow?: Record<EuiPopoverPosition, number | string>;
2434
2643
  }
2644
+ /**
2645
+ * Given a target position and the popover's surrounding context, returns either an
2646
+ * object with {top, left} screen coordinates or `null` if it's not possible to show
2647
+ * content in the target position
2648
+ * @param position {string} the target position, one of ["top", "right", "bottom", "left"]
2649
+ * @param align {string} target alignment on the cross-axis, one of ["top", "right", "bottom", "left"]
2650
+ * @param anchorBoundingBox {Object} bounding box of the anchor element
2651
+ * @param popoverBoundingBox {Object} bounding box of the popover element
2652
+ * @param windowBoundingBox {Object} bounding box of the window
2653
+ * @param containerBoundingBox {Object} bounding box of the container
2654
+ * @param [arrowConfig] {{arrowWidth: number, arrowBuffer: number}} If present, describes the size &
2655
+ * constraints for an arrow element, and the function return value will include an `arrow` param
2656
+ * with position details
2657
+ * @param [offset=0] {number} Distance between the popover and the anchor
2658
+ * @param [buffer=0] {number} Minimum distance between the popover's
2659
+ * placement and the container edge
2660
+ *
2661
+ * @returns {GetPopoverScreenCoordinatesResult}
2662
+ * object with top/left coordinates, the popover's relative position to the anchor, and how well the
2663
+ * popover fits in the location (0.0 -> 1.0) coordinates and the popover's relative position, if
2664
+ * there is no room in this placement then null
2665
+ */
2666
+ export function getPopoverScreenCoordinates({ position, align, anchorBoundingBox, popoverBoundingBox, windowBoundingBox, containerBoundingBox, arrowConfig, offset, buffer, }: GetPopoverScreenCoordinatesArgs): GetPopoverScreenCoordinatesResult;
2667
+ /**
2668
+ * Finds the client pixel coordinate of each edge for the element's bounding box,
2669
+ * and the bounding box's width & height
2670
+ *
2671
+ * @param {HTMLElement} element
2672
+ * @returns {{top: number, right: number, bottom: number, left: number, height: number, width: number}}
2673
+ */
2674
+ export function getElementBoundingBox(element: HTMLElement): EuiClientRect;
2675
+ /**
2676
+ * Calculates the available content space between anchor and container
2677
+ *
2678
+ * @param {Object} anchorBoundingBox Client bounding box of the anchor element
2679
+ * @param {Object} containerBoundingBox Client bounding box of the container element
2680
+ * @param {number} buffer Minimum distance between the popover and the bounding container
2681
+ * @param {number} offset Distance between the popover and the anchor
2682
+ * @param {string} offsetSide Side the offset needs to be applied to, one
2683
+ * of ["top", "right", "bottom", "left"]
2684
+ * @returns {{top: number, right: number, bottom: number, left: number}}
2685
+ */
2686
+ export function getAvailableSpace(anchorBoundingBox: BoundingBox, containerBoundingBox: BoundingBox, buffer: number | [number, number, number, number], offset: number, offsetSide: EuiPopoverPosition): BoundingBox;
2687
+ /**
2688
+ * Computes the fit (overlap) of the content within the container, fit is in range 0.0 => 1.0
2689
+ * @param contentBoundingBox bounding box of content to calculate fit for
2690
+ * @param containerBoundingBox bounding box of container
2691
+ * @returns {number}
2692
+ */
2693
+ export function getVisibleFit(contentBoundingBox: BoundingBox, containerBoundingBox: BoundingBox): number;
2694
+ /**
2695
+ * Calculates the intersection space between two bounding boxes
2696
+ *
2697
+ * @param firstBox
2698
+ * @param secondBox
2699
+ * @returns {EuiClientRect}
2700
+ */
2701
+ export function intersectBoundingBoxes(firstBox: BoundingBox, secondBox: BoundingBox): EuiClientRect;
2702
+ /**
2703
+ * Returns the top-most defined z-index in the element's ancestor hierarchy
2704
+ * relative to the `target` element; if no z-index is defined, returns 0
2705
+ * @param element {HTMLElement}
2706
+ * @param cousin {HTMLElement}
2707
+ * @returns {number}
2708
+ */
2709
+ export function getElementZIndex(element: HTMLElement, cousin: HTMLElement): number;
2435
2710
  export {};
2436
2711
 
2437
2712
  }
2438
- declare module '@elastic/eui/src/components/text_truncate/text_truncate.styles' {
2713
+ declare module '@elastic/eui/src/services/popover/popover_arrow.styles' {
2439
2714
  import { UseEuiTheme } from '@elastic/eui/src/services';
2440
- export const euiTextTruncateStyles: (euiThemeContext: UseEuiTheme) => {
2441
- euiTextTruncate: import("@emotion/react").SerializedStyles;
2442
- /**
2443
- * The below CSS is a hack to get double clicking and selecting the *full* text
2444
- * instead of the truncated text (useful for copying/pasting, and mimics how
2445
- * `text-overflow: ellipsis` works).
2446
- *
2447
- * Real talk: I'm lowkey amazed it works and it wouldn't surprise me if we ran into
2448
- * cross-browser issues with this at some point. Hopefully CSS natively implements
2449
- * custom text truncation some day (https://github.com/w3c/csswg-drafts/issues/3937)
2450
- * and there'll be no need for the entire component at that point 🙏
2451
- */
2452
- euiTextTruncate__truncatedText: import("@emotion/react").SerializedStyles;
2453
- euiTextTruncate__fullText: import("@emotion/react").SerializedStyles;
2715
+ /**
2716
+ * Arrow clipping/transform/positioning CSS shared between EuiPopover and EuiToolTip
2717
+ */
2718
+ export const _popoverArrowStyles: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, arrowSize: string) => {
2719
+ _arrowStyles: string;
2720
+ positions: {
2721
+ top: import("@emotion/react").SerializedStyles;
2722
+ bottom: import("@emotion/react").SerializedStyles;
2723
+ left: import("@emotion/react").SerializedStyles;
2724
+ right: import("@emotion/react").SerializedStyles;
2725
+ };
2454
2726
  };
2455
2727
 
2456
2728
  }
2457
- declare module '@elastic/eui/src/components/text_truncate/text_truncate' {
2458
- import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
2459
- import type { CommonProps } from '@elastic/eui/src/components/common'; const TRUNCATION_TYPES: readonly ["end", "start", "startEnd", "middle"];
2460
- export type EuiTextTruncationTypes = (typeof TRUNCATION_TYPES)[number];
2461
- export type EuiTextTruncateProps = Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onResize'> & CommonProps & {
2462
- /**
2463
- * The full text string to truncate
2464
- */
2465
- text: string;
2466
- /**
2467
- * The truncation type desired. Determines where the ellipses are placed.
2468
- */
2469
- truncation?: EuiTextTruncationTypes;
2470
- /**
2471
- * This prop **only** applies to the `start` and `end` truncation types.
2472
- * It allows preserving a certain number of characters of either the
2473
- * starting or ending text.
2474
- *
2475
- * If the passed offset is greater than the total text length,
2476
- * the offset will be ignored.
2477
- */
2478
- truncationOffset?: number;
2479
- /**
2480
- * This prop **only** applies to the `startEnd` truncation type.
2481
- * It allows customizing the anchor position of the displayed text,
2482
- * which otherwise defaults to the middle of the text string.
2483
- *
2484
- * The primary use case for this prop for is search highlighting - e.g., if
2485
- * a user searches for a specific word in the text, pass the index of that
2486
- * found word to ensure it is always visible.
2487
- *
2488
- * This behavior will intelligently detect when positions are close to the start
2489
- * or end of the text, and omit leading or trailing ellipses when necessary.
2490
- * If the passed position is greater than the total text length,
2491
- * the truncation will simply default to `start` instead.
2492
- */
2493
- truncationPosition?: number;
2494
- /**
2495
- * Defaults to the horizontal ellipsis character.
2496
- * Can be optionally configured to use other punctuation,
2497
- * e.g. spaces, brackets, hyphens, asterisks, etc.
2498
- */
2499
- ellipsis?: string;
2500
- /**
2501
- * By default, EuiTextTruncate will render a resize observer to detect the
2502
- * available width it has. For performance reasons (e.g. multiple truncated
2503
- * text items within the same container), you may opt to pass in your own
2504
- * container width, which will skip initializing a resize observer.
2505
- */
2506
- width?: number;
2507
- /**
2508
- * Optional callback that fires when the default resizer observer both mounts and
2509
- * registers a size change. This callback will **not** fire if `width` is passed.
2510
- */
2511
- onResize?: (width: number) => void;
2512
- /**
2513
- * By default, EuiTextTruncate will render the truncated string directly.
2514
- * You can optionally pass a render prop function to the component, which
2515
- * allows for more flexible text rendering, e.g. adding custom markup
2516
- * or highlighting
2517
- */
2518
- children?: (truncatedString: string) => ReactNode;
2519
- /**
2520
- * For some edge case scenarios, EuiTextTruncate's calculations may be off until
2521
- * fonts are done loading or layout is done shifting or settling. Adding a delay
2522
- * may help resolve any rendering issues.
2523
- */
2524
- calculationDelayMs?: number;
2525
- };
2526
- export const EuiTextTruncate: FunctionComponent<EuiTextTruncateProps>;
2527
- export {};
2729
+ declare module '@elastic/eui/src/services/popover' {
2730
+ export { calculatePopoverPosition } from '@elastic/eui/src/services/popover/calculate_popover_position';
2731
+ export { findPopoverPosition, getElementZIndex } from '@elastic/eui/src/services/popover/popover_positioning';
2732
+ export { _popoverArrowStyles } from '@elastic/eui/src/services/popover/popover_arrow.styles';
2733
+ export type { EuiPopoverPosition } from '@elastic/eui/src/services/popover/types';
2528
2734
 
2529
2735
  }
2530
- declare module '@elastic/eui/src/components/text_truncate/text_block_truncate' {
2531
- import { FunctionComponent, HTMLAttributes, PropsWithChildren } from 'react';
2532
- import { CommonProps } from '@elastic/eui/src/components/common';
2533
- export type EuiTextBlockTruncateProps = PropsWithChildren & CommonProps & HTMLAttributes<HTMLDivElement> & {
2534
- /**
2535
- * Number of lines of text to truncate to
2536
- */
2537
- lines: number;
2538
- /**
2539
- * Applies styling to the child element instead of rendering a parent wrapper `div`.
2540
- * Can only be used when wrapping a *single* child element/tag, and not raw text.
2541
- */
2542
- cloneElement?: boolean;
2736
+ declare module '@elastic/eui/src/components/panel/panel.styles' {
2737
+ import { UseEuiTheme } from '@elastic/eui/src/services';
2738
+ export const euiPanelBorderStyles: (euiThemeContext: UseEuiTheme, options?: {
2739
+ borderColor?: string;
2740
+ }) => string;
2741
+ export const euiPanelStyles: (euiThemeContext: UseEuiTheme) => {
2742
+ euiPanel: import("@emotion/react").SerializedStyles;
2743
+ grow: import("@emotion/react").SerializedStyles;
2744
+ hasShadow: import("@emotion/react").SerializedStyles;
2745
+ hasBorder: import("@emotion/react").SerializedStyles;
2746
+ radius: {
2747
+ none: import("@emotion/react").SerializedStyles;
2748
+ m: import("@emotion/react").SerializedStyles;
2749
+ };
2750
+ isClickable: import("@emotion/react").SerializedStyles;
2543
2751
  };
2544
- export const EuiTextBlockTruncate: FunctionComponent<EuiTextBlockTruncateProps>;
2545
-
2546
- }
2547
- declare module '@elastic/eui/src/components/text_truncate' {
2548
- export type { EuiTextTruncateProps, EuiTextTruncationTypes, } from '@elastic/eui/src/components/text_truncate/text_truncate';
2549
- export { EuiTextTruncate } from '@elastic/eui/src/components/text_truncate/text_truncate';
2550
- export type { EuiTextBlockTruncateProps } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
2551
- export { EuiTextBlockTruncate } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
2552
- export { TruncationUtils } from '@elastic/eui/src/components/text_truncate/utils';
2553
2752
 
2554
2753
  }
2555
- declare module '@elastic/eui/src/components/table/table_row_cell.styles' {
2754
+ declare module '@elastic/eui/src/components/tool_tip/tool_tip.styles' {
2556
2755
  import { UseEuiTheme } from '@elastic/eui/src/services';
2557
- export const euiTableRowCellStyles: (euiThemeContext: UseEuiTheme) => {
2558
- euiTableRowCell: import("@emotion/react").SerializedStyles;
2559
- rowHeader: import("@emotion/react").SerializedStyles;
2560
- isExpander: import("@emotion/react").SerializedStyles;
2561
- hasActions: import("@emotion/react").SerializedStyles;
2562
- middle: import("@emotion/react").SerializedStyles;
2563
- baseline: import("@emotion/react").SerializedStyles;
2756
+ export const euiToolTipBackgroundColor: (euiTheme: UseEuiTheme["euiTheme"]) => string;
2757
+ export const euiToolTipBorderColor: (euiTheme: UseEuiTheme["euiTheme"]) => string;
2758
+ export const euiToolTipStyles: (euiThemeContext: UseEuiTheme) => {
2759
+ euiToolTip: import("@emotion/react").SerializedStyles;
2564
2760
  top: import("@emotion/react").SerializedStyles;
2565
2761
  bottom: import("@emotion/react").SerializedStyles;
2566
- desktop: {
2567
- desktop: import("@emotion/react").SerializedStyles;
2568
- actions: import("@emotion/react").SerializedStyles;
2569
- };
2570
- mobile: {
2571
- mobile: import("@emotion/react").SerializedStyles;
2572
- enlarge: import("@emotion/react").SerializedStyles;
2573
- rightColumnContent: string;
2574
- readonly actions: import("@emotion/react").SerializedStyles;
2575
- readonly expander: import("@emotion/react").SerializedStyles;
2576
- /**
2577
- * Custom actions may not be icons and therefore may not fit in a column
2578
- * If they're the last cell, we can create a pseudo "row"/"border-top"
2579
- * that mimicks the visual separation that the right column has
2580
- */
2581
- customActions: import("@emotion/react").SerializedStyles;
2762
+ left: import("@emotion/react").SerializedStyles;
2763
+ right: import("@emotion/react").SerializedStyles;
2764
+ euiToolTip__arrow: import("@emotion/react").SerializedStyles;
2765
+ arrowPositions: {
2766
+ top: import("@emotion/react").SerializedStyles;
2767
+ bottom: import("@emotion/react").SerializedStyles;
2768
+ left: import("@emotion/react").SerializedStyles;
2769
+ right: import("@emotion/react").SerializedStyles;
2582
2770
  };
2583
- euiTableRowCell__mobileHeader: import("@emotion/react").SerializedStyles;
2771
+ euiToolTip__title: import("@emotion/react").SerializedStyles;
2772
+ };
2773
+ export const euiToolTipAnchorStyles: () => {
2774
+ euiToolTipAnchor: import("@emotion/react").SerializedStyles;
2775
+ block: import("@emotion/react").SerializedStyles;
2776
+ inlineBlock: import("@emotion/react").SerializedStyles;
2777
+ flex: import("@emotion/react").SerializedStyles;
2584
2778
  };
2585
2779
 
2586
2780
  }
2587
- declare module '@elastic/eui/src/components/table/table_cells_shared.styles' {
2588
- import { UseEuiTheme } from '@elastic/eui/src/services';
2589
- import { EuiTableStickyCellOptions } from '@elastic/eui/src/components/table/types';
2590
- export const euiTableHeaderFooterCellStyles: (euiThemeContext: UseEuiTheme) => {
2591
- euiTableHeaderCell: import("@emotion/react").SerializedStyles;
2592
- euiTableHeaderCell__content: import("@emotion/react").SerializedStyles;
2593
- euiTableHeaderCell__button: import("@emotion/react").SerializedStyles;
2594
- euiTableFooterCell: {
2595
- euiTableFooterCell: import("@emotion/react").SerializedStyles;
2596
- hasBackground: import("@emotion/react").SerializedStyles;
2597
- };
2598
- };
2599
- export const euiTableCellCheckboxStyles: (euiThemeContext: UseEuiTheme) => {
2600
- euiTableHeaderCellCheckbox: import("@emotion/react").SerializedStyles;
2601
- euiTableRowCellCheckbox: import("@emotion/react").SerializedStyles;
2602
- desktop: import("@emotion/react").SerializedStyles;
2603
- mobile: import("@emotion/react").SerializedStyles;
2781
+ declare module '@elastic/eui/src/components/tool_tip/tool_tip_popover' {
2782
+ import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
2783
+ import { CommonProps } from '@elastic/eui/src/components/common';
2784
+ export type ToolTipPositions = 'top' | 'right' | 'bottom' | 'left';
2785
+ type Props = CommonProps & Omit<HTMLAttributes<HTMLDivElement>, 'title'> & {
2786
+ positionToolTip: () => void;
2787
+ children?: ReactNode;
2788
+ title?: ReactNode;
2789
+ popoverRef?: (ref: HTMLDivElement | null) => void;
2790
+ calculatedPosition?: ToolTipPositions;
2604
2791
  };
2605
- /**
2606
- * @internal
2607
- */
2608
- export const _useEuiTableStickyCellStyles: (options?: EuiTableStickyCellOptions) => import("@emotion/react").SerializedStyles[] | undefined;
2792
+ export const EuiToolTipPopover: FunctionComponent<Props>;
2793
+ export {};
2609
2794
 
2610
2795
  }
2611
- declare module '@elastic/eui/src/components/table/table_row_cell' {
2612
- import { CSSProperties, FunctionComponent, ReactNode, TdHTMLAttributes } from 'react';
2613
- import { CommonProps } from '@elastic/eui/src/components/common';
2614
- import { HorizontalAlignment } from '@elastic/eui/src/services';
2615
- import type { EuiTableStickyCellOptions, EuiTableSharedWidthProps } from '@elastic/eui/src/components/table/types';
2616
- interface EuiTableRowCellSharedPropsShape extends EuiTableSharedWidthProps {
2796
+ declare module '@elastic/eui/src/services/popover/reposition_on_scroll' {
2797
+ type SupportedComponentDefaults = {
2798
+ repositionOnScroll?: boolean;
2799
+ };
2800
+ type RepositionOnScrollArgs<T extends SupportedComponentDefaults> = {
2617
2801
  /**
2618
- * Horizontal alignment of the text in the cell
2802
+ * The component's `repositionOnScroll` prop.
2619
2803
  */
2620
- align?: HorizontalAlignment;
2804
+ repositionOnScroll?: boolean;
2621
2805
  /**
2622
- * Creates a text wrapper around cell content that helps word break or truncate
2623
- * long text correctly.
2624
- * @default true
2806
+ * The function to be called on scroll to reposition the component.
2625
2807
  */
2626
- textOnly?: boolean;
2808
+ repositionFn: () => void;
2627
2809
  /**
2628
- * Indicates whether this column should truncate overflowing text content.
2629
- * - Set to `true` to enable single-line truncation.
2630
- * - To enable multi-line truncation, use a configuration object with `lines`
2631
- * set to a number of lines to truncate to.
2632
- * @default false
2810
+ * The component's defaults context.
2633
2811
  */
2634
- truncateText?: boolean | {
2635
- lines: number;
2636
- };
2812
+ componentDefaults?: T;
2813
+ };
2814
+ /**
2815
+ * Returns the value of the `repositionOnScroll` from the props, component's defaults context
2816
+ * or default to `false`.
2817
+ *
2818
+ * @param args The arguments for `getRepositionOnScroll`. See {@link RepositionOnScrollArgs}.
2819
+ * @returns The value of the `repositionOnScroll`.
2820
+ */
2821
+ export const getRepositionOnScroll: <T extends SupportedComponentDefaults>(args: RepositionOnScrollArgs<T>) => boolean;
2822
+ export type CreateRepositionOnScrollReturnType = {
2823
+ subscribe: () => void;
2824
+ update: () => void;
2825
+ cleanup: () => void;
2826
+ };
2827
+ /**
2828
+ * Creates a manager for handling `repositionOnScroll` logic in overlay components.
2829
+ * This utility abstracts the adding, updating, and removing of window scroll event listeners.
2830
+ *
2831
+ * @param getArgs A function that returns the arguments for `getRepositionOnScroll`. See {@link RepositionOnScrollArgs}.
2832
+ * @returns An object with `subscribe`, `update`, and `cleanup` methods to manage the scroll listener.
2833
+ */
2834
+ export const createRepositionOnScroll: <T extends SupportedComponentDefaults>(getArgs: () => RepositionOnScrollArgs<T>) => CreateRepositionOnScrollReturnType;
2835
+ export {};
2836
+
2837
+ }
2838
+ declare module '@elastic/eui/src/components/tool_tip/tool_tip_anchor' {
2839
+ import React, { HTMLAttributes, type FocusEvent as ReactFocusEvent } from 'react';
2840
+ import type { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip/tool_tip';
2841
+ export type EuiToolTipAnchorProps = Omit<HTMLAttributes<HTMLSpanElement>, 'onBlur' | 'onFocus' | 'children'> & Required<Pick<EuiToolTipProps, 'display' | 'children'>> & {
2842
+ onBlur: () => void;
2843
+ onFocus: (e: ReactFocusEvent) => void;
2844
+ isVisible: boolean;
2845
+ };
2846
+ export const EuiToolTipAnchor: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLSpanElement>, "children" | "onFocus" | "onBlur"> & Required<Pick<EuiToolTipProps, "children" | "display">> & {
2847
+ onBlur: () => void;
2848
+ onFocus: (e: ReactFocusEvent) => void;
2849
+ isVisible: boolean;
2850
+ } & React.RefAttributes<HTMLSpanElement>>;
2851
+
2852
+ }
2853
+ declare module '@elastic/eui/src/components/tool_tip/tool_tip_arrow' {
2854
+ import { HTMLAttributes, FunctionComponent } from 'react';
2855
+ import { ToolTipPositions } from '@elastic/eui/src/components/tool_tip/tool_tip_popover';
2856
+ export const EuiToolTipArrow: FunctionComponent<{
2857
+ position: ToolTipPositions;
2858
+ } & HTMLAttributes<HTMLDivElement>>;
2859
+
2860
+ }
2861
+ declare module '@elastic/eui/src/components/tool_tip/tool_tip_manager' {
2862
+ class ToolTipManager {
2863
+ toolTipsToHide: Set<Function>;
2864
+ registerTooltip: (hideCallback: Function) => void;
2865
+ deregisterToolTip: (hideCallback: Function) => void;
2637
2866
  }
2638
- export interface EuiTableRowCellMobileOptionsShape extends EuiTableRowCellSharedPropsShape {
2639
- /**
2640
- * If false, will not render the cell at all for mobile
2641
- * @default true
2642
- */
2643
- show?: boolean;
2644
- /**
2645
- * Only show for mobile? If true, will not render the column at all for desktop
2646
- * @default false
2647
- */
2648
- only?: boolean;
2867
+ export const toolTipManager: ToolTipManager;
2868
+ export {};
2869
+
2870
+ }
2871
+ declare module '@elastic/eui/src/components/tool_tip/tool_tip' {
2872
+ import React, { ReactElement, ReactNode, type MouseEvent as ReactMouseEvent, HTMLAttributes } from 'react';
2873
+ import { CommonProps } from '@elastic/eui/src/components/common';
2874
+ import { ToolTipPositions } from '@elastic/eui/src/components/tool_tip/tool_tip_popover';
2875
+ export const POSITIONS: readonly ["top", "right", "bottom", "left"]; const DISPLAYS: readonly ["inlineBlock", "block", "flex"];
2876
+ export const DEFAULT_TOOLTIP_OFFSET = 16;
2877
+ export interface EuiToolTipProps extends CommonProps {
2649
2878
  /**
2650
- * Custom render/children if different from desktop
2879
+ * Passes onto the span wrapping the trigger.
2651
2880
  */
2652
- render?: ReactNode;
2881
+ anchorClassName?: string;
2653
2882
  /**
2654
- * The column's header for use in mobile view (automatically passed down
2655
- * when using `EuiBasicTable`).
2656
- * Or pass `false` to not show a header at all.
2883
+ * Passes onto the span wrapping the trigger.
2657
2884
  */
2658
- header?: ReactNode | boolean;
2885
+ anchorProps?: CommonProps & HTMLAttributes<HTMLSpanElement>;
2659
2886
  /**
2660
- * Increase text size compared to rest of cells
2661
- * @default false
2887
+ * The in-view trigger for your tooltip.
2662
2888
  */
2663
- enlarge?: boolean;
2889
+ children: ReactElement;
2664
2890
  /**
2665
- * Applies the value to the width of the cell in mobile view (typically 50%)
2666
- * @default 50%
2891
+ * Passes onto the tooltip itself, not the trigger.
2667
2892
  */
2668
- width?: CSSProperties['width'];
2669
- }
2670
- export interface EuiTableRowCellProps extends EuiTableRowCellSharedPropsShape {
2893
+ className?: string;
2671
2894
  /**
2672
- * Vertical alignment of the content in the cell
2895
+ * The main content of your tooltip.
2673
2896
  */
2674
- valign?: TdHTMLAttributes<HTMLTableCellElement>['valign'];
2897
+ content?: ReactNode;
2675
2898
  /**
2676
- * Indicates whether the cell should be marked as the heading for its row
2899
+ * Common display alternatives for the anchor wrapper
2677
2900
  */
2678
- setScopeRow?: boolean;
2901
+ display?: (typeof DISPLAYS)[number];
2679
2902
  /**
2680
- * Indicates if the cell is dedicated to row actions
2681
- * (used for mobile styling and desktop action hover behavior)
2903
+ * An optional title for your tooltip.
2682
2904
  */
2683
- hasActions?: boolean | 'custom';
2905
+ title?: ReactNode;
2684
2906
  /**
2685
- * Indicates if the column is dedicated as the expandable row toggle
2907
+ * Unless you provide one, this will be randomly generated.
2686
2908
  */
2687
- isExpander?: boolean;
2909
+ id?: string;
2688
2910
  /**
2689
- * Mobile options for displaying differently at small screens;
2690
- * See {@link EuiTableRowCellMobileOptionsShape}
2911
+ * Suggested position. If there is not enough room for it this will be changed.
2691
2912
  */
2692
- mobileOptions?: EuiTableRowCellMobileOptionsShape;
2913
+ position?: ToolTipPositions;
2693
2914
  /**
2694
- * Content rendered outside the visible cell content wrapper. Useful for, e.g. screen reader text.
2915
+ * When `true`, the tooltip's position is re-calculated when the user
2916
+ * scrolls. This supports having fixed-position tooltip anchors.
2695
2917
  *
2696
- * Used by EuiBasicTable to render hidden copy markers
2918
+ * When nesting an `EuiTooltip` in a scrollable container, `repositionOnScroll` should be `true`
2697
2919
  */
2698
- append?: ReactNode;
2920
+ repositionOnScroll?: boolean;
2699
2921
  /**
2700
- * Whether the cell should stick to a side of the table.
2701
- *
2702
- * This option is not applied in the responsive cards layout - see
2703
- * {@link EuiTableProps#responsiveBreakpoint|`responsiveBreakpoint`}.
2704
- *
2705
- * Currently, it can only be used when the cell is in the first or the last
2706
- * column of a table.
2707
- *
2708
- * When set to `true` and `hasBackground: false` is set on the table,
2709
- * `--euiTableCellStickyBackgroundColor` CSS variable should be set to match
2710
- * the background color of the element containing the table.
2711
- * Otherwise, the sticky cell will use the default `backgroundBasePlain`
2712
- * background color.
2713
- * @internal
2714
- * @beta
2922
+ * Disables the tooltip content being read by screen readers when focusing the trigger element.
2923
+ * Do not use when the trigger `aria-label` and tooltip `content` can be rephrased to be standalone
2924
+ * information (action & additional information).
2925
+ * Enable this prop only when the trigger has a descriptive label that either duplicates or includes
2926
+ * the tooltip content and would result in repetitive output.
2715
2927
  * @default false
2716
2928
  */
2717
- sticky?: EuiTableStickyCellOptions;
2718
- }
2719
- type Props = CommonProps & Omit<TdHTMLAttributes<HTMLTableCellElement>, 'valign'> & EuiTableRowCellProps;
2720
- export const EuiTableRowCell: FunctionComponent<Props>;
2721
- export {};
2722
-
2723
- }
2724
- declare module '@elastic/eui/src/components/table/_table_cell_content.styles' {
2725
- import { UseEuiTheme } from '@elastic/eui/src/services';
2726
- export const euiTableCellContentStyles: ({ euiTheme }: UseEuiTheme) => {
2727
- euiTableCellContent: import("@emotion/react").SerializedStyles;
2728
- left: null;
2729
- right: import("@emotion/react").SerializedStyles;
2730
- center: import("@emotion/react").SerializedStyles;
2731
- truncateText: import("@emotion/react").SerializedStyles;
2732
- wrapText: import("@emotion/react").SerializedStyles;
2733
- hasActions: {
2734
- actions: import("@emotion/react").SerializedStyles;
2735
- custom: import("@emotion/react").SerializedStyles;
2736
- desktop: import("@emotion/react").SerializedStyles;
2737
- mobile: import("@emotion/react").SerializedStyles;
2738
- };
2739
- };
2740
-
2741
- }
2742
- declare module '@elastic/eui/src/components/table/_table_cell_content' {
2743
- import { FunctionComponent, HTMLAttributes } from 'react';
2744
- import { CommonProps } from '@elastic/eui/src/components/common';
2745
- import type { EuiTableRowCellProps } from '@elastic/eui/src/components/table/table_row_cell';
2746
- export type EuiTableCellContentProps = CommonProps & HTMLAttributes<HTMLDivElement> & Pick<EuiTableRowCellProps, 'align' | 'hasActions' | 'textOnly'> & {
2747
- truncateText?: EuiTableRowCellProps['truncateText'] | null;
2748
- };
2749
- export const EuiTableCellContent: FunctionComponent<EuiTableCellContentProps>;
2750
-
2751
- }
2752
- declare module '@elastic/eui/src/components/table/table_footer_cell' {
2753
- import { FunctionComponent, TdHTMLAttributes } from 'react';
2754
- import { HorizontalAlignment } from '@elastic/eui/src/services';
2755
- import { CommonProps } from '@elastic/eui/src/components/common';
2756
- import { EuiTableSharedWidthProps, EuiTableStickyCellOptions } from '@elastic/eui/src/components/table/types';
2757
- export type EuiTableFooterCellProps = CommonProps & Omit<TdHTMLAttributes<HTMLTableCellElement>, 'width'> & EuiTableSharedWidthProps & {
2758
- align?: HorizontalAlignment;
2929
+ disableScreenReaderOutput?: boolean;
2759
2930
  /**
2760
- * Whether the cell should stick to a side of the table.
2761
- *
2762
- * This option is not applied in the responsive cards layout - see
2763
- * {@link EuiTableProps#responsiveBreakpoint|`responsiveBreakpoint`}.
2764
- *
2765
- * Currently, it can only be used when the cell is in the first or the last
2766
- * column of a table.
2767
- *
2768
- * When set to `true` and `hasBackground: false` is set on the table,
2769
- * `--euiTableCellStickyBackgroundColor` CSS variable should be set to match
2770
- * the background color of the element containing the table.
2771
- * Otherwise, the sticky cell will use the default `backgroundBasePlain`
2772
- * background color.
2773
- * @internal
2774
- * @beta
2775
- * @default false
2931
+ * If supplied, called when mouse movement causes the tool tip to be
2932
+ * hidden.
2776
2933
  */
2777
- sticky?: EuiTableStickyCellOptions;
2778
- };
2779
- export const EuiTableFooterCell: FunctionComponent<EuiTableFooterCellProps>;
2780
-
2781
- }
2782
- declare module '@elastic/eui/src/components/table/table_header' {
2783
- import { FunctionComponent, ReactNode, HTMLAttributes } from 'react';
2784
- import { CommonProps } from '@elastic/eui/src/components/common';
2785
- export type EuiTableHeaderProps = CommonProps & HTMLAttributes<HTMLElement> & {
2934
+ onMouseOut?: (event: ReactMouseEvent<HTMLSpanElement, MouseEvent>) => void;
2786
2935
  /**
2787
- * Children must be valid DOM structure residing within `<thead>`.
2788
- * Use `<td> | <th>` by default, or `<tr><th/></tr>` when `wrapWithTableRow=false`
2936
+ * If supplied, called when the trigger loses focus.
2789
2937
  */
2790
- children?: ReactNode;
2938
+ onBlur?: () => void;
2791
2939
  /**
2792
- * Automatically adds a wrapping `<tr>` element around the children
2940
+ * Offset in pixels from the anchor. Defaults to 16.
2793
2941
  */
2794
- wrapWithTableRow?: boolean;
2795
- };
2796
- export const EuiTableHeader: FunctionComponent<EuiTableHeaderProps>;
2942
+ offset?: number;
2943
+ }
2944
+ export interface EuiToolTipRef {
2945
+ showToolTip: () => void;
2946
+ hideToolTip: () => void;
2947
+ id: string;
2948
+ }
2949
+ export const EuiToolTip: React.ForwardRefExoticComponent<EuiToolTipProps & React.RefAttributes<EuiToolTipRef>>;
2950
+ export {};
2797
2951
 
2798
2952
  }
2799
2953
  declare module '@elastic/eui/src/components/icon/assets/accessibility' {
@@ -9533,452 +9687,6 @@ declare module '@elastic/eui/src/components/icon' {
9533
9687
  export type { EuiIconProps, IconColor, IconSize, IconType } from '@elastic/eui/src/components/icon/icon';
9534
9688
  export { EuiIcon, TYPES as ICON_TYPES, SIZES as ICON_SIZES, COLORS as ICON_COLORS, } from '@elastic/eui/src/components/icon/icon';
9535
9689
 
9536
- }
9537
- declare module '@elastic/eui/src/components/inner_text/inner_text' {
9538
- import { FunctionComponent, ReactElement } from 'react';
9539
- type RefT = HTMLElement | Element | undefined | null;
9540
- export function useInnerText(innerTextFallback?: string): [(node: RefT) => void, string | undefined];
9541
- export interface EuiInnerTextProps {
9542
- /**
9543
- * ReactNode to render as this component's content
9544
- */
9545
- children: (ref?: (node: RefT) => void, innerText?: string) => ReactElement;
9546
- fallback?: string;
9547
- }
9548
- export const EuiInnerText: FunctionComponent<EuiInnerTextProps>;
9549
- export {};
9550
-
9551
- }
9552
- declare module '@elastic/eui/src/components/inner_text' {
9553
- export type { EuiInnerTextProps } from '@elastic/eui/src/components/inner_text/inner_text';
9554
- export { useInnerText, EuiInnerText } from '@elastic/eui/src/components/inner_text/inner_text';
9555
-
9556
- }
9557
- declare module '@elastic/eui/src/services/popover/types' {
9558
- export type EuiPopoverPosition = 'top' | 'right' | 'bottom' | 'left';
9559
-
9560
- }
9561
- declare module '@elastic/eui/src/services/popover/calculate_popover_position' {
9562
- import { EuiPopoverPosition } from '@elastic/eui/src/services/popover/types';
9563
- interface EuiPopoverBoundingBox {
9564
- top: number;
9565
- left: number;
9566
- width: number;
9567
- height: number;
9568
- }
9569
- interface EuiPopoverAnchorRect extends EuiPopoverBoundingBox {
9570
- right: number;
9571
- bottom: number;
9572
- }
9573
- interface EuiPopoverDimensions {
9574
- width: number;
9575
- height: number;
9576
- }
9577
- interface EuiPopoverPositionedBox extends EuiPopoverBoundingBox {
9578
- position: EuiPopoverPosition;
9579
- }
9580
- /**
9581
- * Determine the best position for a popover that avoids clipping by the window view port.
9582
- *
9583
- * @param {Object} anchorBounds - getBoundingClientRect() of the node the popover is tethered to (e.g. a button).
9584
- * @param {Object} popoverBounds - getBoundingClientRect() of the popover node (e.g. the tooltip).
9585
- * @param {string} requestedPosition - Position the user wants. One of ["top", "right", "bottom", "left"]
9586
- * @param {number} buffer - The space between the wrapper and the popover. Also the minimum space between the
9587
- * popover and the window.
9588
- * @param {Array} positions - List of acceptable positions. Defaults to ["top", "right", "bottom", "left"].
9589
- *
9590
- * @returns {Object} With properties position (one of ["top", "right", "bottom", "left"]), left, top, width, and height.
9591
- */
9592
- export function calculatePopoverPosition(anchorBounds: EuiPopoverAnchorRect, popoverBounds: EuiPopoverDimensions, requestedPosition: EuiPopoverPosition, buffer?: number, positions?: EuiPopoverPosition[]): EuiPopoverPositionedBox;
9593
- export {};
9594
-
9595
- }
9596
- declare module '@elastic/eui/src/services/popover/popover_positioning' {
9597
- import { EuiPopoverPosition } from '@elastic/eui/src/services/popover/types';
9598
- export const POSITIONS: EuiPopoverPosition[];
9599
- interface BoundingBox {
9600
- [position: string]: number;
9601
- top: number;
9602
- right: number;
9603
- bottom: number;
9604
- left: number;
9605
- }
9606
- export interface EuiClientRect extends BoundingBox {
9607
- height: number;
9608
- width: number;
9609
- }
9610
- interface FindPopoverPositionArgs {
9611
- anchor: HTMLElement;
9612
- popover: HTMLElement;
9613
- align?: EuiPopoverPosition;
9614
- position: EuiPopoverPosition;
9615
- forcePosition?: boolean;
9616
- buffer?: number | [number, number, number, number];
9617
- offset?: number;
9618
- allowCrossAxis?: boolean;
9619
- container?: HTMLElement;
9620
- arrowConfig?: {
9621
- arrowWidth: number;
9622
- arrowBuffer: number;
9623
- };
9624
- returnBoundingBox?: boolean;
9625
- }
9626
- interface FindPopoverPositionResult {
9627
- top: number;
9628
- left: number;
9629
- position: EuiPopoverPosition;
9630
- fit: number;
9631
- arrow?: Record<EuiPopoverPosition, number | string>;
9632
- anchorBoundingBox?: EuiClientRect;
9633
- }
9634
- /**
9635
- * Calculates the absolute positioning (relative to document.body) to place a popover element
9636
- *
9637
- * @param anchor {HTMLElement} Element to anchor the popover to
9638
- * @param popover {HTMLElement} Element containing the popover content
9639
- * @param position {string} Position the user wants. One of ["top", "right", "bottom", "left"]
9640
- * @param [forcePosition] {boolean} If true, use only the provided `position` value and don't try any other position
9641
- * @param [align] {string} Cross-axis alignment. One of ["top", "right", "bottom", "left"]
9642
- * @param [buffer=16] {number} Minimum distance between the popover and the bounding container
9643
- * @param [offset=0] {number} Distance between the popover and the anchor
9644
- * @param [allowCrossAxis=true] {boolean} Whether to allow the popover to be positioned on the cross-axis
9645
- * @param [container] {HTMLElement} Element the popover must be constrained to fit within
9646
- * @param [arrowConfig] {{arrowWidth: number, arrowBuffer: number}} If
9647
- * present, describes the size & constraints for an arrow element, and the
9648
- * function return value will include an `arrow` param with position details
9649
- *
9650
- * @returns {FindPopoverPositionResult} absolute page coordinates for the
9651
- * popover, and the placement's relation to the anchor or undefined
9652
- * there's no room.
9653
- */
9654
- export function findPopoverPosition({ anchor, popover, align, position, forcePosition, buffer, offset, allowCrossAxis, container, arrowConfig, returnBoundingBox, }: FindPopoverPositionArgs): FindPopoverPositionResult;
9655
- interface GetPopoverScreenCoordinatesArgs {
9656
- position: EuiPopoverPosition;
9657
- align?: EuiPopoverPosition;
9658
- anchorBoundingBox: EuiClientRect;
9659
- popoverBoundingBox: EuiClientRect;
9660
- windowBoundingBox: EuiClientRect;
9661
- containerBoundingBox: EuiClientRect;
9662
- arrowConfig?: {
9663
- arrowWidth: number;
9664
- arrowBuffer: number;
9665
- };
9666
- offset?: number;
9667
- buffer?: number | [number, number, number, number];
9668
- }
9669
- interface GetPopoverScreenCoordinatesResult {
9670
- top: number;
9671
- left: number;
9672
- fit: number;
9673
- arrow?: Record<EuiPopoverPosition, number | string>;
9674
- }
9675
- /**
9676
- * Given a target position and the popover's surrounding context, returns either an
9677
- * object with {top, left} screen coordinates or `null` if it's not possible to show
9678
- * content in the target position
9679
- * @param position {string} the target position, one of ["top", "right", "bottom", "left"]
9680
- * @param align {string} target alignment on the cross-axis, one of ["top", "right", "bottom", "left"]
9681
- * @param anchorBoundingBox {Object} bounding box of the anchor element
9682
- * @param popoverBoundingBox {Object} bounding box of the popover element
9683
- * @param windowBoundingBox {Object} bounding box of the window
9684
- * @param containerBoundingBox {Object} bounding box of the container
9685
- * @param [arrowConfig] {{arrowWidth: number, arrowBuffer: number}} If present, describes the size &
9686
- * constraints for an arrow element, and the function return value will include an `arrow` param
9687
- * with position details
9688
- * @param [offset=0] {number} Distance between the popover and the anchor
9689
- * @param [buffer=0] {number} Minimum distance between the popover's
9690
- * placement and the container edge
9691
- *
9692
- * @returns {GetPopoverScreenCoordinatesResult}
9693
- * object with top/left coordinates, the popover's relative position to the anchor, and how well the
9694
- * popover fits in the location (0.0 -> 1.0) coordinates and the popover's relative position, if
9695
- * there is no room in this placement then null
9696
- */
9697
- export function getPopoverScreenCoordinates({ position, align, anchorBoundingBox, popoverBoundingBox, windowBoundingBox, containerBoundingBox, arrowConfig, offset, buffer, }: GetPopoverScreenCoordinatesArgs): GetPopoverScreenCoordinatesResult;
9698
- /**
9699
- * Finds the client pixel coordinate of each edge for the element's bounding box,
9700
- * and the bounding box's width & height
9701
- *
9702
- * @param {HTMLElement} element
9703
- * @returns {{top: number, right: number, bottom: number, left: number, height: number, width: number}}
9704
- */
9705
- export function getElementBoundingBox(element: HTMLElement): EuiClientRect;
9706
- /**
9707
- * Calculates the available content space between anchor and container
9708
- *
9709
- * @param {Object} anchorBoundingBox Client bounding box of the anchor element
9710
- * @param {Object} containerBoundingBox Client bounding box of the container element
9711
- * @param {number} buffer Minimum distance between the popover and the bounding container
9712
- * @param {number} offset Distance between the popover and the anchor
9713
- * @param {string} offsetSide Side the offset needs to be applied to, one
9714
- * of ["top", "right", "bottom", "left"]
9715
- * @returns {{top: number, right: number, bottom: number, left: number}}
9716
- */
9717
- export function getAvailableSpace(anchorBoundingBox: BoundingBox, containerBoundingBox: BoundingBox, buffer: number | [number, number, number, number], offset: number, offsetSide: EuiPopoverPosition): BoundingBox;
9718
- /**
9719
- * Computes the fit (overlap) of the content within the container, fit is in range 0.0 => 1.0
9720
- * @param contentBoundingBox bounding box of content to calculate fit for
9721
- * @param containerBoundingBox bounding box of container
9722
- * @returns {number}
9723
- */
9724
- export function getVisibleFit(contentBoundingBox: BoundingBox, containerBoundingBox: BoundingBox): number;
9725
- /**
9726
- * Calculates the intersection space between two bounding boxes
9727
- *
9728
- * @param firstBox
9729
- * @param secondBox
9730
- * @returns {EuiClientRect}
9731
- */
9732
- export function intersectBoundingBoxes(firstBox: BoundingBox, secondBox: BoundingBox): EuiClientRect;
9733
- /**
9734
- * Returns the top-most defined z-index in the element's ancestor hierarchy
9735
- * relative to the `target` element; if no z-index is defined, returns 0
9736
- * @param element {HTMLElement}
9737
- * @param cousin {HTMLElement}
9738
- * @returns {number}
9739
- */
9740
- export function getElementZIndex(element: HTMLElement, cousin: HTMLElement): number;
9741
- export {};
9742
-
9743
- }
9744
- declare module '@elastic/eui/src/services/popover/popover_arrow.styles' {
9745
- import { UseEuiTheme } from '@elastic/eui/src/services';
9746
- /**
9747
- * Arrow clipping/transform/positioning CSS shared between EuiPopover and EuiToolTip
9748
- */
9749
- export const _popoverArrowStyles: ({ euiTheme, colorMode, highContrastMode }: UseEuiTheme, arrowSize: string) => {
9750
- _arrowStyles: string;
9751
- positions: {
9752
- top: import("@emotion/react").SerializedStyles;
9753
- bottom: import("@emotion/react").SerializedStyles;
9754
- left: import("@emotion/react").SerializedStyles;
9755
- right: import("@emotion/react").SerializedStyles;
9756
- };
9757
- };
9758
-
9759
- }
9760
- declare module '@elastic/eui/src/services/popover' {
9761
- export { calculatePopoverPosition } from '@elastic/eui/src/services/popover/calculate_popover_position';
9762
- export { findPopoverPosition, getElementZIndex } from '@elastic/eui/src/services/popover/popover_positioning';
9763
- export { _popoverArrowStyles } from '@elastic/eui/src/services/popover/popover_arrow.styles';
9764
- export type { EuiPopoverPosition } from '@elastic/eui/src/services/popover/types';
9765
-
9766
- }
9767
- declare module '@elastic/eui/src/components/panel/panel.styles' {
9768
- import { UseEuiTheme } from '@elastic/eui/src/services';
9769
- export const euiPanelBorderStyles: (euiThemeContext: UseEuiTheme, options?: {
9770
- borderColor?: string;
9771
- }) => string;
9772
- export const euiPanelStyles: (euiThemeContext: UseEuiTheme) => {
9773
- euiPanel: import("@emotion/react").SerializedStyles;
9774
- grow: import("@emotion/react").SerializedStyles;
9775
- hasShadow: import("@emotion/react").SerializedStyles;
9776
- hasBorder: import("@emotion/react").SerializedStyles;
9777
- radius: {
9778
- none: import("@emotion/react").SerializedStyles;
9779
- m: import("@emotion/react").SerializedStyles;
9780
- };
9781
- isClickable: import("@emotion/react").SerializedStyles;
9782
- };
9783
-
9784
- }
9785
- declare module '@elastic/eui/src/components/tool_tip/tool_tip.styles' {
9786
- import { UseEuiTheme } from '@elastic/eui/src/services';
9787
- export const euiToolTipBackgroundColor: (euiTheme: UseEuiTheme["euiTheme"]) => string;
9788
- export const euiToolTipBorderColor: (euiTheme: UseEuiTheme["euiTheme"]) => string;
9789
- export const euiToolTipStyles: (euiThemeContext: UseEuiTheme) => {
9790
- euiToolTip: import("@emotion/react").SerializedStyles;
9791
- top: import("@emotion/react").SerializedStyles;
9792
- bottom: import("@emotion/react").SerializedStyles;
9793
- left: import("@emotion/react").SerializedStyles;
9794
- right: import("@emotion/react").SerializedStyles;
9795
- euiToolTip__arrow: import("@emotion/react").SerializedStyles;
9796
- arrowPositions: {
9797
- top: import("@emotion/react").SerializedStyles;
9798
- bottom: import("@emotion/react").SerializedStyles;
9799
- left: import("@emotion/react").SerializedStyles;
9800
- right: import("@emotion/react").SerializedStyles;
9801
- };
9802
- euiToolTip__title: import("@emotion/react").SerializedStyles;
9803
- };
9804
- export const euiToolTipAnchorStyles: () => {
9805
- euiToolTipAnchor: import("@emotion/react").SerializedStyles;
9806
- block: import("@emotion/react").SerializedStyles;
9807
- inlineBlock: import("@emotion/react").SerializedStyles;
9808
- };
9809
-
9810
- }
9811
- declare module '@elastic/eui/src/components/tool_tip/tool_tip_popover' {
9812
- import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
9813
- import { CommonProps } from '@elastic/eui/src/components/common';
9814
- export type ToolTipPositions = 'top' | 'right' | 'bottom' | 'left';
9815
- type Props = CommonProps & Omit<HTMLAttributes<HTMLDivElement>, 'title'> & {
9816
- positionToolTip: () => void;
9817
- children?: ReactNode;
9818
- title?: ReactNode;
9819
- popoverRef?: (ref: HTMLDivElement | null) => void;
9820
- calculatedPosition?: ToolTipPositions;
9821
- };
9822
- export const EuiToolTipPopover: FunctionComponent<Props>;
9823
- export {};
9824
-
9825
- }
9826
- declare module '@elastic/eui/src/services/popover/reposition_on_scroll' {
9827
- type SupportedComponentDefaults = {
9828
- repositionOnScroll?: boolean;
9829
- };
9830
- type RepositionOnScrollArgs<T extends SupportedComponentDefaults> = {
9831
- /**
9832
- * The component's `repositionOnScroll` prop.
9833
- */
9834
- repositionOnScroll?: boolean;
9835
- /**
9836
- * The function to be called on scroll to reposition the component.
9837
- */
9838
- repositionFn: () => void;
9839
- /**
9840
- * The component's defaults context.
9841
- */
9842
- componentDefaults?: T;
9843
- };
9844
- /**
9845
- * Returns the value of the `repositionOnScroll` from the props, component's defaults context
9846
- * or default to `false`.
9847
- *
9848
- * @param args The arguments for `getRepositionOnScroll`. See {@link RepositionOnScrollArgs}.
9849
- * @returns The value of the `repositionOnScroll`.
9850
- */
9851
- export const getRepositionOnScroll: <T extends SupportedComponentDefaults>(args: RepositionOnScrollArgs<T>) => boolean;
9852
- export type CreateRepositionOnScrollReturnType = {
9853
- subscribe: () => void;
9854
- update: () => void;
9855
- cleanup: () => void;
9856
- };
9857
- /**
9858
- * Creates a manager for handling `repositionOnScroll` logic in overlay components.
9859
- * This utility abstracts the adding, updating, and removing of window scroll event listeners.
9860
- *
9861
- * @param getArgs A function that returns the arguments for `getRepositionOnScroll`. See {@link RepositionOnScrollArgs}.
9862
- * @returns An object with `subscribe`, `update`, and `cleanup` methods to manage the scroll listener.
9863
- */
9864
- export const createRepositionOnScroll: <T extends SupportedComponentDefaults>(getArgs: () => RepositionOnScrollArgs<T>) => CreateRepositionOnScrollReturnType;
9865
- export {};
9866
-
9867
- }
9868
- declare module '@elastic/eui/src/components/tool_tip/tool_tip_anchor' {
9869
- import React, { HTMLAttributes, type FocusEvent as ReactFocusEvent } from 'react';
9870
- import type { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip/tool_tip';
9871
- export type EuiToolTipAnchorProps = Omit<HTMLAttributes<HTMLSpanElement>, 'onBlur' | 'onFocus' | 'children'> & Required<Pick<EuiToolTipProps, 'display' | 'children'>> & {
9872
- onBlur: () => void;
9873
- onFocus: (e: ReactFocusEvent) => void;
9874
- isVisible: boolean;
9875
- };
9876
- export const EuiToolTipAnchor: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLSpanElement>, "children" | "onFocus" | "onBlur"> & Required<Pick<EuiToolTipProps, "children" | "display">> & {
9877
- onBlur: () => void;
9878
- onFocus: (e: ReactFocusEvent) => void;
9879
- isVisible: boolean;
9880
- } & React.RefAttributes<HTMLSpanElement>>;
9881
-
9882
- }
9883
- declare module '@elastic/eui/src/components/tool_tip/tool_tip_arrow' {
9884
- import { HTMLAttributes, FunctionComponent } from 'react';
9885
- import { ToolTipPositions } from '@elastic/eui/src/components/tool_tip/tool_tip_popover';
9886
- export const EuiToolTipArrow: FunctionComponent<{
9887
- position: ToolTipPositions;
9888
- } & HTMLAttributes<HTMLDivElement>>;
9889
-
9890
- }
9891
- declare module '@elastic/eui/src/components/tool_tip/tool_tip_manager' {
9892
- class ToolTipManager {
9893
- toolTipsToHide: Set<Function>;
9894
- registerTooltip: (hideCallback: Function) => void;
9895
- deregisterToolTip: (hideCallback: Function) => void;
9896
- }
9897
- export const toolTipManager: ToolTipManager;
9898
- export {};
9899
-
9900
- }
9901
- declare module '@elastic/eui/src/components/tool_tip/tool_tip' {
9902
- import React, { ReactElement, ReactNode, type MouseEvent as ReactMouseEvent, HTMLAttributes } from 'react';
9903
- import { CommonProps } from '@elastic/eui/src/components/common';
9904
- import { ToolTipPositions } from '@elastic/eui/src/components/tool_tip/tool_tip_popover';
9905
- export const POSITIONS: readonly ["top", "right", "bottom", "left"]; const DISPLAYS: readonly ["inlineBlock", "block"];
9906
- export const DEFAULT_TOOLTIP_OFFSET = 16;
9907
- export interface EuiToolTipProps extends CommonProps {
9908
- /**
9909
- * Passes onto the span wrapping the trigger.
9910
- */
9911
- anchorClassName?: string;
9912
- /**
9913
- * Passes onto the span wrapping the trigger.
9914
- */
9915
- anchorProps?: CommonProps & HTMLAttributes<HTMLSpanElement>;
9916
- /**
9917
- * The in-view trigger for your tooltip.
9918
- */
9919
- children: ReactElement;
9920
- /**
9921
- * Passes onto the tooltip itself, not the trigger.
9922
- */
9923
- className?: string;
9924
- /**
9925
- * The main content of your tooltip.
9926
- */
9927
- content?: ReactNode;
9928
- /**
9929
- * Common display alternatives for the anchor wrapper
9930
- */
9931
- display?: (typeof DISPLAYS)[number];
9932
- /**
9933
- * An optional title for your tooltip.
9934
- */
9935
- title?: ReactNode;
9936
- /**
9937
- * Unless you provide one, this will be randomly generated.
9938
- */
9939
- id?: string;
9940
- /**
9941
- * Suggested position. If there is not enough room for it this will be changed.
9942
- */
9943
- position?: ToolTipPositions;
9944
- /**
9945
- * When `true`, the tooltip's position is re-calculated when the user
9946
- * scrolls. This supports having fixed-position tooltip anchors.
9947
- *
9948
- * When nesting an `EuiTooltip` in a scrollable container, `repositionOnScroll` should be `true`
9949
- */
9950
- repositionOnScroll?: boolean;
9951
- /**
9952
- * Disables the tooltip content being read by screen readers when focusing the trigger element.
9953
- * Do not use when the trigger `aria-label` and tooltip `content` can be rephrased to be standalone
9954
- * information (action & additional information).
9955
- * Enable this prop only when the trigger has a descriptive label that either duplicates or includes
9956
- * the tooltip content and would result in repetitive output.
9957
- * @default false
9958
- */
9959
- disableScreenReaderOutput?: boolean;
9960
- /**
9961
- * If supplied, called when mouse movement causes the tool tip to be
9962
- * hidden.
9963
- */
9964
- onMouseOut?: (event: ReactMouseEvent<HTMLSpanElement, MouseEvent>) => void;
9965
- /**
9966
- * If supplied, called when the trigger loses focus.
9967
- */
9968
- onBlur?: () => void;
9969
- /**
9970
- * Offset in pixels from the anchor. Defaults to 16.
9971
- */
9972
- offset?: number;
9973
- }
9974
- export interface EuiToolTipRef {
9975
- showToolTip: () => void;
9976
- hideToolTip: () => void;
9977
- id: string;
9978
- }
9979
- export const EuiToolTip: React.ForwardRefExoticComponent<EuiToolTipProps & React.RefAttributes<EuiToolTipRef>>;
9980
- export {};
9981
-
9982
9690
  }
9983
9691
  declare module '@elastic/eui/src/components/tool_tip/icon_tip' {
9984
9692
  import { FunctionComponent } from 'react';
@@ -10024,6 +9732,454 @@ declare module '@elastic/eui/src/components/tool_tip' {
10024
9732
  export type { EuiIconTipProps } from '@elastic/eui/src/components/tool_tip/icon_tip';
10025
9733
  export { EuiIconTip } from '@elastic/eui/src/components/tool_tip/icon_tip';
10026
9734
 
9735
+ }
9736
+ declare module '@elastic/eui/src/services/canvas/canvas_text_utils' {
9737
+ import type { ExclusiveUnion } from '@elastic/eui/src/components/common';
9738
+ export type CanvasTextParams = ExclusiveUnion<{
9739
+ container: HTMLElement;
9740
+ }, {
9741
+ font: CanvasTextDrawingStyles['font'];
9742
+ }>;
9743
+ /**
9744
+ * Creates a temporary Canvas element for manipulating text & determining text width.
9745
+ *
9746
+ * To accurately measure text, canvas rendering requires either a container to
9747
+ * compute/derive font styles from, or a static font string (useful for usage
9748
+ * outside the DOM). Particular care should be applied when fallback fonts are
9749
+ * used, as more fallback fonts can lead to less precision.
9750
+ *
9751
+ * Please note that while canvas is more significantly more performant than DOM
9752
+ * measurement, there are subpixel to single digit pixel differences between
9753
+ * DOM and canvas measurement due to the different rendering engines used.
9754
+ */
9755
+ export class CanvasTextUtils {
9756
+ context: CanvasRenderingContext2D;
9757
+ currentText: string;
9758
+ constructor({ font, container }: CanvasTextParams);
9759
+ computeFontFromElement: (element: HTMLElement) => string;
9760
+ get textWidth(): number;
9761
+ setTextToCheck: (text: string) => void;
9762
+ }
9763
+
9764
+ }
9765
+ declare module '@elastic/eui/src/services/canvas' {
9766
+ export { CanvasTextUtils } from '@elastic/eui/src/services/canvas/canvas_text_utils';
9767
+ export type { CanvasTextParams } from '@elastic/eui/src/services/canvas/canvas_text_utils';
9768
+
9769
+ }
9770
+ declare module '@elastic/eui/src/components/text_truncate/utils' {
9771
+ import { CanvasTextParams, CanvasTextUtils } from '@elastic/eui/src/services/canvas';
9772
+ type TruncationParams = CanvasTextParams & {
9773
+ fullText: string;
9774
+ ellipsis: string;
9775
+ availableWidth: number;
9776
+ };
9777
+ /**
9778
+ * Utilities for truncating types at various positions, as well as
9779
+ * determining whether truncation is possible or even necessary.
9780
+ */
9781
+ export class TruncationUtils extends CanvasTextUtils {
9782
+ protected fullText: TruncationParams['fullText'];
9783
+ protected ellipsis: TruncationParams['ellipsis'];
9784
+ protected availableWidth: TruncationParams['availableWidth'];
9785
+ constructor({ fullText, ellipsis, availableWidth, ...rest }: TruncationParams);
9786
+ /**
9787
+ * Performance utilities
9788
+ */
9789
+ debugPerformance: boolean;
9790
+ debugCounter: number;
9791
+ get textWidth(): number;
9792
+ /**
9793
+ * Internal utils for calculating a ratio based on the passed available width
9794
+ * vs the full text width.
9795
+ * This ratio is used to get an initial _approximate_ text string that should
9796
+ * be slightly over the available width, which we can then remove from
9797
+ * character-by-character until the text just fits within the available width.
9798
+ */
9799
+ widthRatio: number;
9800
+ setTextWidthRatio: (text?: string, textToOffset?: string) => void;
9801
+ getTextFromRatio: (text: string, type: "start" | "end") => string;
9802
+ /**
9803
+ * Early return checks
9804
+ */
9805
+ checkIfTruncationIsNeeded: () => false | undefined;
9806
+ checkSufficientEllipsisWidth: (truncation: string) => false | undefined;
9807
+ checkTruncationOffsetWidth: (text: string) => false | undefined;
9808
+ /**
9809
+ * Truncation types logic. This is where the magic happens
9810
+ */
9811
+ truncateStart: (truncationOffset?: number) => string;
9812
+ truncateEnd: (truncationOffset?: number) => string;
9813
+ truncateStartEndAtPosition: (truncationPosition: number) => string;
9814
+ truncateStartEndAtMiddle: () => string;
9815
+ truncateMiddle: () => string;
9816
+ }
9817
+ export {};
9818
+
9819
+ }
9820
+ declare module '@elastic/eui/src/components/text_truncate/text_truncate.styles' {
9821
+ import { UseEuiTheme } from '@elastic/eui/src/services';
9822
+ export const euiTextTruncateStyles: (euiThemeContext: UseEuiTheme) => {
9823
+ euiTextTruncate: import("@emotion/react").SerializedStyles;
9824
+ /**
9825
+ * The below CSS is a hack to get double clicking and selecting the *full* text
9826
+ * instead of the truncated text (useful for copying/pasting, and mimics how
9827
+ * `text-overflow: ellipsis` works).
9828
+ *
9829
+ * Real talk: I'm lowkey amazed it works and it wouldn't surprise me if we ran into
9830
+ * cross-browser issues with this at some point. Hopefully CSS natively implements
9831
+ * custom text truncation some day (https://github.com/w3c/csswg-drafts/issues/3937)
9832
+ * and there'll be no need for the entire component at that point 🙏
9833
+ */
9834
+ euiTextTruncate__truncatedText: import("@emotion/react").SerializedStyles;
9835
+ euiTextTruncate__fullText: import("@emotion/react").SerializedStyles;
9836
+ };
9837
+
9838
+ }
9839
+ declare module '@elastic/eui/src/components/text_truncate/text_truncate' {
9840
+ import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
9841
+ import type { CommonProps } from '@elastic/eui/src/components/common'; const TRUNCATION_TYPES: readonly ["end", "start", "startEnd", "middle"];
9842
+ export type EuiTextTruncationTypes = (typeof TRUNCATION_TYPES)[number];
9843
+ export type EuiTextTruncateProps = Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onResize'> & CommonProps & {
9844
+ /**
9845
+ * The full text string to truncate
9846
+ */
9847
+ text: string;
9848
+ /**
9849
+ * The truncation type desired. Determines where the ellipses are placed.
9850
+ */
9851
+ truncation?: EuiTextTruncationTypes;
9852
+ /**
9853
+ * This prop **only** applies to the `start` and `end` truncation types.
9854
+ * It allows preserving a certain number of characters of either the
9855
+ * starting or ending text.
9856
+ *
9857
+ * If the passed offset is greater than the total text length,
9858
+ * the offset will be ignored.
9859
+ */
9860
+ truncationOffset?: number;
9861
+ /**
9862
+ * This prop **only** applies to the `startEnd` truncation type.
9863
+ * It allows customizing the anchor position of the displayed text,
9864
+ * which otherwise defaults to the middle of the text string.
9865
+ *
9866
+ * The primary use case for this prop for is search highlighting - e.g., if
9867
+ * a user searches for a specific word in the text, pass the index of that
9868
+ * found word to ensure it is always visible.
9869
+ *
9870
+ * This behavior will intelligently detect when positions are close to the start
9871
+ * or end of the text, and omit leading or trailing ellipses when necessary.
9872
+ * If the passed position is greater than the total text length,
9873
+ * the truncation will simply default to `start` instead.
9874
+ */
9875
+ truncationPosition?: number;
9876
+ /**
9877
+ * Defaults to the horizontal ellipsis character.
9878
+ * Can be optionally configured to use other punctuation,
9879
+ * e.g. spaces, brackets, hyphens, asterisks, etc.
9880
+ */
9881
+ ellipsis?: string;
9882
+ /**
9883
+ * By default, EuiTextTruncate will render a resize observer to detect the
9884
+ * available width it has. For performance reasons (e.g. multiple truncated
9885
+ * text items within the same container), you may opt to pass in your own
9886
+ * container width, which will skip initializing a resize observer.
9887
+ */
9888
+ width?: number;
9889
+ /**
9890
+ * Optional callback that fires when the default resizer observer both mounts and
9891
+ * registers a size change. This callback will **not** fire if `width` is passed.
9892
+ */
9893
+ onResize?: (width: number) => void;
9894
+ /**
9895
+ * By default, EuiTextTruncate will render the truncated string directly.
9896
+ * You can optionally pass a render prop function to the component, which
9897
+ * allows for more flexible text rendering, e.g. adding custom markup
9898
+ * or highlighting
9899
+ */
9900
+ children?: (truncatedString: string) => ReactNode;
9901
+ /**
9902
+ * For some edge case scenarios, EuiTextTruncate's calculations may be off until
9903
+ * fonts are done loading or layout is done shifting or settling. Adding a delay
9904
+ * may help resolve any rendering issues.
9905
+ */
9906
+ calculationDelayMs?: number;
9907
+ };
9908
+ export const EuiTextTruncate: FunctionComponent<EuiTextTruncateProps>;
9909
+ export {};
9910
+
9911
+ }
9912
+ declare module '@elastic/eui/src/components/text_truncate/text_block_truncate' {
9913
+ import { FunctionComponent, HTMLAttributes, PropsWithChildren } from 'react';
9914
+ import { CommonProps } from '@elastic/eui/src/components/common';
9915
+ export type EuiTextBlockTruncateProps = PropsWithChildren & CommonProps & HTMLAttributes<HTMLDivElement> & {
9916
+ /**
9917
+ * Number of lines of text to truncate to
9918
+ */
9919
+ lines: number;
9920
+ /**
9921
+ * Applies styling to the child element instead of rendering a parent wrapper `div`.
9922
+ * Can only be used when wrapping a *single* child element/tag, and not raw text.
9923
+ */
9924
+ cloneElement?: boolean;
9925
+ };
9926
+ export const EuiTextBlockTruncate: FunctionComponent<EuiTextBlockTruncateProps>;
9927
+
9928
+ }
9929
+ declare module '@elastic/eui/src/components/text_truncate' {
9930
+ export type { EuiTextTruncateProps, EuiTextTruncationTypes, } from '@elastic/eui/src/components/text_truncate/text_truncate';
9931
+ export { EuiTextTruncate } from '@elastic/eui/src/components/text_truncate/text_truncate';
9932
+ export type { EuiTextBlockTruncateProps } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
9933
+ export { EuiTextBlockTruncate } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
9934
+ export { TruncationUtils } from '@elastic/eui/src/components/text_truncate/utils';
9935
+
9936
+ }
9937
+ declare module '@elastic/eui/src/components/table/table_row_cell.styles' {
9938
+ import { UseEuiTheme } from '@elastic/eui/src/services';
9939
+ export const euiTableRowCellStyles: (euiThemeContext: UseEuiTheme) => {
9940
+ euiTableRowCell: import("@emotion/react").SerializedStyles;
9941
+ rowHeader: import("@emotion/react").SerializedStyles;
9942
+ isExpander: import("@emotion/react").SerializedStyles;
9943
+ hasActions: import("@emotion/react").SerializedStyles;
9944
+ middle: import("@emotion/react").SerializedStyles;
9945
+ baseline: import("@emotion/react").SerializedStyles;
9946
+ top: import("@emotion/react").SerializedStyles;
9947
+ bottom: import("@emotion/react").SerializedStyles;
9948
+ desktop: {
9949
+ desktop: import("@emotion/react").SerializedStyles;
9950
+ actions: import("@emotion/react").SerializedStyles;
9951
+ };
9952
+ mobile: {
9953
+ mobile: import("@emotion/react").SerializedStyles;
9954
+ enlarge: import("@emotion/react").SerializedStyles;
9955
+ rightColumnContent: string;
9956
+ readonly actions: import("@emotion/react").SerializedStyles;
9957
+ readonly expander: import("@emotion/react").SerializedStyles;
9958
+ /**
9959
+ * Custom actions may not be icons and therefore may not fit in a column
9960
+ * If they're the last cell, we can create a pseudo "row"/"border-top"
9961
+ * that mimicks the visual separation that the right column has
9962
+ */
9963
+ customActions: import("@emotion/react").SerializedStyles;
9964
+ };
9965
+ euiTableRowCell__mobileHeader: import("@emotion/react").SerializedStyles;
9966
+ };
9967
+
9968
+ }
9969
+ declare module '@elastic/eui/src/components/table/table_cells_shared.styles' {
9970
+ import { UseEuiTheme } from '@elastic/eui/src/services';
9971
+ import { EuiTableStickyCellOptions } from '@elastic/eui/src/components/table/types';
9972
+ export const euiTableHeaderFooterCellStyles: (euiThemeContext: UseEuiTheme) => {
9973
+ euiTableHeaderCell: import("@emotion/react").SerializedStyles;
9974
+ euiTableHeaderCell__content: import("@emotion/react").SerializedStyles;
9975
+ euiTableHeaderCell__button: import("@emotion/react").SerializedStyles;
9976
+ euiTableFooterCell: {
9977
+ euiTableFooterCell: import("@emotion/react").SerializedStyles;
9978
+ hasBackground: import("@emotion/react").SerializedStyles;
9979
+ };
9980
+ };
9981
+ export const euiTableCellCheckboxStyles: (euiThemeContext: UseEuiTheme) => {
9982
+ euiTableHeaderCellCheckbox: import("@emotion/react").SerializedStyles;
9983
+ euiTableRowCellCheckbox: import("@emotion/react").SerializedStyles;
9984
+ desktop: import("@emotion/react").SerializedStyles;
9985
+ mobile: import("@emotion/react").SerializedStyles;
9986
+ };
9987
+ /**
9988
+ * @internal
9989
+ */
9990
+ export const _useEuiTableStickyCellStyles: (options?: EuiTableStickyCellOptions) => import("@emotion/react").SerializedStyles[] | undefined;
9991
+
9992
+ }
9993
+ declare module '@elastic/eui/src/components/table/table_row_cell' {
9994
+ import { CSSProperties, FunctionComponent, ReactNode, TdHTMLAttributes } from 'react';
9995
+ import { CommonProps } from '@elastic/eui/src/components/common';
9996
+ import { HorizontalAlignment } from '@elastic/eui/src/services';
9997
+ import type { EuiTableStickyCellOptions, EuiTableSharedWidthProps } from '@elastic/eui/src/components/table/types';
9998
+ interface EuiTableRowCellSharedPropsShape extends EuiTableSharedWidthProps {
9999
+ /**
10000
+ * Horizontal alignment of the text in the cell
10001
+ */
10002
+ align?: HorizontalAlignment;
10003
+ /**
10004
+ * Creates a text wrapper around cell content that helps word break or truncate
10005
+ * long text correctly.
10006
+ * @default true
10007
+ */
10008
+ textOnly?: boolean;
10009
+ /**
10010
+ * Indicates whether this column should truncate overflowing text content.
10011
+ * - Set to `true` to enable single-line truncation.
10012
+ * - To enable multi-line truncation, use a configuration object with `lines`
10013
+ * set to a number of lines to truncate to.
10014
+ * @default false
10015
+ */
10016
+ truncateText?: boolean | {
10017
+ lines: number;
10018
+ };
10019
+ }
10020
+ export interface EuiTableRowCellMobileOptionsShape extends EuiTableRowCellSharedPropsShape {
10021
+ /**
10022
+ * If false, will not render the cell at all for mobile
10023
+ * @default true
10024
+ */
10025
+ show?: boolean;
10026
+ /**
10027
+ * Only show for mobile? If true, will not render the column at all for desktop
10028
+ * @default false
10029
+ */
10030
+ only?: boolean;
10031
+ /**
10032
+ * Custom render/children if different from desktop
10033
+ */
10034
+ render?: ReactNode;
10035
+ /**
10036
+ * The column's header for use in mobile view (automatically passed down
10037
+ * when using `EuiBasicTable`).
10038
+ * Or pass `false` to not show a header at all.
10039
+ */
10040
+ header?: ReactNode | boolean;
10041
+ /**
10042
+ * Increase text size compared to rest of cells
10043
+ * @default false
10044
+ */
10045
+ enlarge?: boolean;
10046
+ /**
10047
+ * Applies the value to the width of the cell in mobile view (typically 50%)
10048
+ * @default 50%
10049
+ */
10050
+ width?: CSSProperties['width'];
10051
+ }
10052
+ export interface EuiTableRowCellProps extends EuiTableRowCellSharedPropsShape {
10053
+ /**
10054
+ * Vertical alignment of the content in the cell
10055
+ */
10056
+ valign?: TdHTMLAttributes<HTMLTableCellElement>['valign'];
10057
+ /**
10058
+ * Indicates whether the cell should be marked as the heading for its row
10059
+ */
10060
+ setScopeRow?: boolean;
10061
+ /**
10062
+ * Indicates if the cell is dedicated to row actions
10063
+ * (used for mobile styling and desktop action hover behavior)
10064
+ */
10065
+ hasActions?: boolean | 'custom';
10066
+ /**
10067
+ * Indicates if the column is dedicated as the expandable row toggle
10068
+ */
10069
+ isExpander?: boolean;
10070
+ /**
10071
+ * Mobile options for displaying differently at small screens;
10072
+ * See {@link EuiTableRowCellMobileOptionsShape}
10073
+ */
10074
+ mobileOptions?: EuiTableRowCellMobileOptionsShape;
10075
+ /**
10076
+ * Content rendered outside the visible cell content wrapper. Useful for, e.g. screen reader text.
10077
+ *
10078
+ * Used by EuiBasicTable to render hidden copy markers
10079
+ */
10080
+ append?: ReactNode;
10081
+ /**
10082
+ * Whether the cell should stick to a side of the table.
10083
+ *
10084
+ * This option is not applied in the responsive cards layout - see
10085
+ * {@link EuiTableProps#responsiveBreakpoint|`responsiveBreakpoint`}.
10086
+ *
10087
+ * Currently, it can only be used when the cell is in the first or the last
10088
+ * column of a table.
10089
+ *
10090
+ * When set to `true` and `hasBackground: false` is set on the table,
10091
+ * `--euiTableCellStickyBackgroundColor` CSS variable should be set to match
10092
+ * the background color of the element containing the table.
10093
+ * Otherwise, the sticky cell will use the default `backgroundBasePlain`
10094
+ * background color.
10095
+ * @internal
10096
+ * @beta
10097
+ * @default false
10098
+ */
10099
+ sticky?: EuiTableStickyCellOptions;
10100
+ }
10101
+ type Props = CommonProps & Omit<TdHTMLAttributes<HTMLTableCellElement>, 'valign'> & EuiTableRowCellProps;
10102
+ export const EuiTableRowCell: FunctionComponent<Props>;
10103
+ export {};
10104
+
10105
+ }
10106
+ declare module '@elastic/eui/src/components/table/_table_cell_content.styles' {
10107
+ import { UseEuiTheme } from '@elastic/eui/src/services';
10108
+ export const euiTableCellContentStyles: ({ euiTheme }: UseEuiTheme) => {
10109
+ euiTableCellContent: import("@emotion/react").SerializedStyles;
10110
+ left: null;
10111
+ right: import("@emotion/react").SerializedStyles;
10112
+ center: import("@emotion/react").SerializedStyles;
10113
+ truncateText: import("@emotion/react").SerializedStyles;
10114
+ wrapText: import("@emotion/react").SerializedStyles;
10115
+ hasActions: {
10116
+ actions: import("@emotion/react").SerializedStyles;
10117
+ custom: import("@emotion/react").SerializedStyles;
10118
+ desktop: import("@emotion/react").SerializedStyles;
10119
+ mobile: import("@emotion/react").SerializedStyles;
10120
+ };
10121
+ };
10122
+
10123
+ }
10124
+ declare module '@elastic/eui/src/components/table/_table_cell_content' {
10125
+ import { FunctionComponent, HTMLAttributes } from 'react';
10126
+ import { CommonProps } from '@elastic/eui/src/components/common';
10127
+ import type { EuiTableRowCellProps } from '@elastic/eui/src/components/table/table_row_cell';
10128
+ export type EuiTableCellContentProps = CommonProps & HTMLAttributes<HTMLDivElement> & Pick<EuiTableRowCellProps, 'align' | 'hasActions' | 'textOnly'> & {
10129
+ truncateText?: EuiTableRowCellProps['truncateText'] | null;
10130
+ };
10131
+ export const EuiTableCellContent: FunctionComponent<EuiTableCellContentProps>;
10132
+
10133
+ }
10134
+ declare module '@elastic/eui/src/components/table/table_footer_cell' {
10135
+ import { FunctionComponent, TdHTMLAttributes } from 'react';
10136
+ import { HorizontalAlignment } from '@elastic/eui/src/services';
10137
+ import { CommonProps } from '@elastic/eui/src/components/common';
10138
+ import { EuiTableSharedWidthProps, EuiTableStickyCellOptions } from '@elastic/eui/src/components/table/types';
10139
+ export type EuiTableFooterCellProps = CommonProps & Omit<TdHTMLAttributes<HTMLTableCellElement>, 'width'> & EuiTableSharedWidthProps & {
10140
+ align?: HorizontalAlignment;
10141
+ /**
10142
+ * Whether the cell should stick to a side of the table.
10143
+ *
10144
+ * This option is not applied in the responsive cards layout - see
10145
+ * {@link EuiTableProps#responsiveBreakpoint|`responsiveBreakpoint`}.
10146
+ *
10147
+ * Currently, it can only be used when the cell is in the first or the last
10148
+ * column of a table.
10149
+ *
10150
+ * When set to `true` and `hasBackground: false` is set on the table,
10151
+ * `--euiTableCellStickyBackgroundColor` CSS variable should be set to match
10152
+ * the background color of the element containing the table.
10153
+ * Otherwise, the sticky cell will use the default `backgroundBasePlain`
10154
+ * background color.
10155
+ * @internal
10156
+ * @beta
10157
+ * @default false
10158
+ */
10159
+ sticky?: EuiTableStickyCellOptions;
10160
+ };
10161
+ export const EuiTableFooterCell: FunctionComponent<EuiTableFooterCellProps>;
10162
+
10163
+ }
10164
+ declare module '@elastic/eui/src/components/inner_text/inner_text' {
10165
+ import { FunctionComponent, ReactElement } from 'react';
10166
+ type RefT = HTMLElement | Element | undefined | null;
10167
+ export function useInnerText(innerTextFallback?: string): [(node: RefT) => void, string | undefined];
10168
+ export interface EuiInnerTextProps {
10169
+ /**
10170
+ * ReactNode to render as this component's content
10171
+ */
10172
+ children: (ref?: (node: RefT) => void, innerText?: string) => ReactElement;
10173
+ fallback?: string;
10174
+ }
10175
+ export const EuiInnerText: FunctionComponent<EuiInnerTextProps>;
10176
+ export {};
10177
+
10178
+ }
10179
+ declare module '@elastic/eui/src/components/inner_text' {
10180
+ export type { EuiInnerTextProps } from '@elastic/eui/src/components/inner_text/inner_text';
10181
+ export { useInnerText, EuiInnerText } from '@elastic/eui/src/components/inner_text/inner_text';
10182
+
10027
10183
  }
10028
10184
  declare module '@elastic/eui/src/services/security/href_validator' {
10029
10185
  export function validateHref(href: string): boolean;
@@ -17076,6 +17232,11 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
17076
17232
  declare module '@elastic/eui/src/components/table/table_header_cell_shared' {
17077
17233
  export const HEADER_CELL_SCOPE: readonly ["col", "row", "colgroup", "rowgroup"];
17078
17234
 
17235
+ }
17236
+ declare module '@elastic/eui/src/components/table/sticky_header' {
17237
+ export { EuiTableStickyHeader } from '@elastic/eui/src/components/table/sticky_header/sticky_header';
17238
+ export { useEuiTableWithinStickyHeader } from '@elastic/eui/src/components/table/sticky_header/context';
17239
+
17079
17240
  }
17080
17241
  declare module '@elastic/eui/src/components/table/table_header_cell' {
17081
17242
  import { FunctionComponent, ThHTMLAttributes, ReactNode } from 'react';
@@ -19839,7 +20000,7 @@ declare module '@elastic/eui/src/components/provider/component_defaults/componen
19839
20000
  *
19840
20001
  * Defaults will be inherited by all `EuiBasicTable`s and `EuiInMemoryTable`s.
19841
20002
  */
19842
- EuiTable?: Pick<EuiTableProps, 'responsiveBreakpoint' | 'scrollableInline' | 'tableLayout' | 'stickyScrollbar'>;
20003
+ EuiTable?: Pick<EuiTableProps, 'responsiveBreakpoint' | 'scrollableInline' | 'tableLayout' | 'stickyScrollbar' | 'stickyHeader'>;
19843
20004
  /**
19844
20005
  * Provide a global configuration for `EuiFlyout`s.
19845
20006
  * Defaults will be inherited by all `EuiFlyout`s.
@@ -21972,7 +22133,8 @@ declare module '@elastic/eui/src/components/avatar/avatar' {
21972
22133
  }>;
21973
22134
  export type EuiAvatarProps = Omit<HTMLAttributes<HTMLDivElement>, 'color'> & CommonProps & _EuiAvatarContent & {
21974
22135
  /**
21975
- * Full name of avatar for title attribute and calculating initial if not provided
22136
+ * Full name of the avatar. Used as the accessible label (`aria-label`),
22137
+ * tooltip content and used to derive initials when `initials` is not provided.
21976
22138
  */
21977
22139
  name: string;
21978
22140
  /**
@@ -22490,6 +22652,132 @@ declare module '@elastic/eui/src/components/badge' {
22490
22652
  export type { EuiBadgeGroupProps } from '@elastic/eui/src/components/badge/badge_group';
22491
22653
  export { EuiBadgeGroup } from '@elastic/eui/src/components/badge/badge_group';
22492
22654
 
22655
+ }
22656
+ declare module '@elastic/eui/src/components/banner/banner.styles' {
22657
+ import { UseEuiTheme } from '@elastic/eui/src/services';
22658
+ export type EuiBannerSize = 's' | 'm';
22659
+ export const euiBannerStyles: ({ euiTheme }: UseEuiTheme) => {
22660
+ euiBanner: import("@emotion/react").SerializedStyles;
22661
+ container: import("@emotion/react").SerializedStyles;
22662
+ media: import("@emotion/react").SerializedStyles;
22663
+ body: import("@emotion/react").SerializedStyles;
22664
+ content: import("@emotion/react").SerializedStyles;
22665
+ title: import("@emotion/react").SerializedStyles;
22666
+ text: import("@emotion/react").SerializedStyles;
22667
+ actions: import("@emotion/react").SerializedStyles;
22668
+ hasDismiss: import("@emotion/react").SerializedStyles;
22669
+ dismiss: import("@emotion/react").SerializedStyles;
22670
+ };
22671
+
22672
+ }
22673
+ declare module '@elastic/eui/src/components/banner/banner' {
22674
+ import React, { ReactNode } from 'react';
22675
+ import { CommonProps, DistributiveOmit } from '@elastic/eui/src/components/common';
22676
+ import { EuiButtonEmptyProps, EuiButtonIconProps } from '@elastic/eui/src/components/button';
22677
+ import { Props as EuiButtonProps } from '@elastic/eui/src/components/button/button';
22678
+ import { EuiBannerSize } from '@elastic/eui/src/components/banner/banner.styles';
22679
+ export type EuiBannerActionPrimaryProps = DistributiveOmit<EuiButtonProps, 'color' | 'size'>;
22680
+ export type EuiBannerActionSecondaryProps = DistributiveOmit<EuiButtonEmptyProps, 'color' | 'size' | 'flush'>;
22681
+ export type EuiBannerProps = CommonProps & {
22682
+ /** Heading shown at the top. */
22683
+ title: string;
22684
+ /**
22685
+ * HTML element used to render the title.
22686
+ * @default 'h2'
22687
+ */
22688
+ headingElement?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
22689
+ /** Supporting copy rendered below the title. */
22690
+ text?: ReactNode;
22691
+ /** Extra content rendered directly below `text`. */
22692
+ children?: ReactNode;
22693
+ /** Illustration slot. Wrapped in a square (1:1) container. */
22694
+ media: ReactNode;
22695
+ /**
22696
+ * Visual size variant.
22697
+ * @default 'm'
22698
+ */
22699
+ size?: EuiBannerSize;
22700
+ /**
22701
+ * Defines the announcement background color.
22702
+ * @default 'highlighted'
22703
+ */
22704
+ color?: 'highlighted' | 'plain';
22705
+ /** Optional action buttons. */
22706
+ actionProps?: {
22707
+ /** Primary call-to-action, rendered as an `EuiButton`. */
22708
+ primary?: EuiBannerActionPrimaryProps;
22709
+ /** Secondary action, rendered as an `EuiButtonEmpty`. Is only rendered when a primary action is available. */
22710
+ secondary?: EuiBannerActionSecondaryProps;
22711
+ };
22712
+ /**
22713
+ * When provided, a dismiss button is rendered in the top-right corner and
22714
+ * this callback fires when the user activates it.
22715
+ */
22716
+ onDismiss?: () => void;
22717
+ /** Extra props spread onto the dismiss `EuiButtonIcon`. */
22718
+ dismissButtonProps?: Omit<EuiButtonIconProps, 'onClick' | 'iconType' | 'color'>;
22719
+ /**
22720
+ * When set to `true`, the content is announced by screen readers on mount.
22721
+ * Use only when the announcement is immediately relevant, e.g. as feedback to user actions.
22722
+ * Avoid using on initial page load as it may create noise for assistive technology users.
22723
+ *
22724
+ * @default false
22725
+ */
22726
+ announceOnMount?: boolean;
22727
+ };
22728
+ export const EuiBanner: React.ForwardRefExoticComponent<CommonProps & {
22729
+ /** Heading shown at the top. */
22730
+ title: string;
22731
+ /**
22732
+ * HTML element used to render the title.
22733
+ * @default 'h2'
22734
+ */
22735
+ headingElement?: "h2" | "h3" | "h4" | "h5" | "h6";
22736
+ /** Supporting copy rendered below the title. */
22737
+ text?: ReactNode;
22738
+ /** Extra content rendered directly below `text`. */
22739
+ children?: ReactNode;
22740
+ /** Illustration slot. Wrapped in a square (1:1) container. */
22741
+ media: ReactNode;
22742
+ /**
22743
+ * Visual size variant.
22744
+ * @default 'm'
22745
+ */
22746
+ size?: EuiBannerSize;
22747
+ /**
22748
+ * Defines the announcement background color.
22749
+ * @default 'highlighted'
22750
+ */
22751
+ color?: "highlighted" | "plain";
22752
+ /** Optional action buttons. */
22753
+ actionProps?: {
22754
+ /** Primary call-to-action, rendered as an `EuiButton`. */
22755
+ primary?: EuiBannerActionPrimaryProps;
22756
+ /** Secondary action, rendered as an `EuiButtonEmpty`. Is only rendered when a primary action is available. */
22757
+ secondary?: EuiBannerActionSecondaryProps;
22758
+ };
22759
+ /**
22760
+ * When provided, a dismiss button is rendered in the top-right corner and
22761
+ * this callback fires when the user activates it.
22762
+ */
22763
+ onDismiss?: () => void;
22764
+ /** Extra props spread onto the dismiss `EuiButtonIcon`. */
22765
+ dismissButtonProps?: Omit<EuiButtonIconProps, "onClick" | "iconType" | "color">;
22766
+ /**
22767
+ * When set to `true`, the content is announced by screen readers on mount.
22768
+ * Use only when the announcement is immediately relevant, e.g. as feedback to user actions.
22769
+ * Avoid using on initial page load as it may create noise for assistive technology users.
22770
+ *
22771
+ * @default false
22772
+ */
22773
+ announceOnMount?: boolean;
22774
+ } & React.RefAttributes<HTMLDivElement>>;
22775
+
22776
+ }
22777
+ declare module '@elastic/eui/src/components/banner' {
22778
+ export { EuiBanner } from '@elastic/eui/src/components/banner/banner';
22779
+ export type { EuiBannerProps } from '@elastic/eui/src/components/banner/banner';
22780
+
22493
22781
  }
22494
22782
  declare module '@elastic/eui/src/components/beacon/beacon.styles' {
22495
22783
  import { UseEuiTheme } from '@elastic/eui/src/services';
@@ -28776,6 +29064,7 @@ declare module '@elastic/eui/src/components/date_picker/super_date_picker/date_p
28776
29064
  export const euiDatePopoverButtonStyles: (euiThemeContext: UseEuiTheme) => {
28777
29065
  euiDatePopoverButton: import("@emotion/react").SerializedStyles;
28778
29066
  now: import("@emotion/react").SerializedStyles;
29067
+ tooltipAnchor: import("@emotion/react").SerializedStyles;
28779
29068
  };
28780
29069
  export const _buttonStyles: (euiThemeContext: UseEuiTheme) => import("@emotion/react").SerializedStyles;
28781
29070
 
@@ -36280,6 +36569,7 @@ declare module '@elastic/eui/src/components' {
36280
36569
  export * from '@elastic/eui/src/components/auto_sizer';
36281
36570
  export * from '@elastic/eui/src/components/avatar';
36282
36571
  export * from '@elastic/eui/src/components/badge';
36572
+ export * from '@elastic/eui/src/components/banner';
36283
36573
  export * from '@elastic/eui/src/components/beacon';
36284
36574
  export * from '@elastic/eui/src/components/bottom_bar';
36285
36575
  export * from '@elastic/eui/src/components/breadcrumbs';
@@ -37592,21 +37882,20 @@ declare module '@elastic/eui/src/services/container_query' {
37592
37882
 
37593
37883
  declare module '@elastic/eui' {
37594
37884
  export type EuiTokensObject = {
37595
- "euiTreeView.listNavigationInstructions": any;
37596
- "euiIconTip.defaultAriaLabel": any;
37597
- "euiTourStepIndicator.isActive": any;
37885
+ "euiTourStepIndicator.isActive": any;
37598
37886
  "euiTourStepIndicator.isComplete": any;
37599
37887
  "euiTourStepIndicator.isIncomplete": any;
37600
37888
  "euiTourStepIndicator.ariaLabel": any;
37601
37889
  "euiTourFooter.endTour": any;
37602
37890
  "euiTourFooter.skipTour": any;
37603
37891
  "euiTourFooter.closeTour": any;
37892
+ "euiTreeView.listNavigationInstructions": any;
37893
+ "euiIconTip.defaultAriaLabel": any;
37604
37894
  "euiToast.newNotification": any;
37605
37895
  "euiToast.notification": any;
37606
37896
  "euiToast.dismissToast": any;
37607
37897
  "euiGlobalToastList.clearAllToastsButtonAriaLabel": any;
37608
37898
  "euiGlobalToastList.clearAllToastsButtonDisplayText": any;
37609
- "euiTableHeaderCell.titleTextWithDesc": any;
37610
37899
  "euiStat.loadingText": any;
37611
37900
  "euiStepStrings.step": any;
37612
37901
  "euiStepStrings.simpleStep": any;
@@ -37624,25 +37913,24 @@ declare module '@elastic/eui' {
37624
37913
  "euiStepStrings.simpleLoading": any;
37625
37914
  "euiStepStrings.current": any;
37626
37915
  "euiStepStrings.simpleCurrent": any;
37916
+ "euiTableHeaderCell.titleTextWithDesc": any;
37627
37917
  "euiSkeletonLoading.loadedAriaText": any;
37628
37918
  "euiSkeletonLoading.loadingAriaText": any;
37629
- "euiSearchBox.placeholder": any;
37630
- "euiSearchBox.incrementalAriaLabel": any;
37631
- "euiSearchBox.ariaLabel": any;
37632
37919
  "euiSelectable.loadingOptions": any;
37633
37920
  "euiSelectable.noMatchingOptions": any;
37634
37921
  "euiSelectable.noAvailableOptions": any;
37635
37922
  "euiSelectable.screenReaderInstructions": any;
37636
37923
  "euiSelectable.placeholderName": any;
37637
37924
  "euiSelectable.searchResults": any;
37638
- "euiSideNav.mobileToggleAriaLabel": any;
37639
- "euiProgress.valueText": any;
37925
+ "euiSearchBox.placeholder": any;
37926
+ "euiSearchBox.incrementalAriaLabel": any;
37927
+ "euiSearchBox.ariaLabel": any;
37640
37928
  "euiResizablePanel.toggleButtonAriaLabel": any;
37641
37929
  "euiResizableButton.horizontalResizerAriaLabel": any;
37642
37930
  "euiResizableButton.verticalResizerAriaLabel": any;
37931
+ "euiProgress.valueText": any;
37932
+ "euiSideNav.mobileToggleAriaLabel": any;
37643
37933
  "euiPopover.screenReaderAnnouncement": any;
37644
- "euiPaginationButton.longPageString": any;
37645
- "euiPaginationButton.shortPageString": any;
37646
37934
  "euiPaginationButtonArrow.firstPage": any;
37647
37935
  "euiPaginationButtonArrow.previousPage": any;
37648
37936
  "euiPaginationButtonArrow.nextPage": any;
@@ -37655,6 +37943,12 @@ declare module '@elastic/eui' {
37655
37943
  "euiPagination.of": any;
37656
37944
  "euiPagination.collection": any;
37657
37945
  "euiPagination.fromEndLabel": any;
37946
+ "euiPaginationButton.longPageString": any;
37947
+ "euiPaginationButton.shortPageString": any;
37948
+ "euiMark.highlightStart": any;
37949
+ "euiMark.highlightEnd": any;
37950
+ "euiModal.screenReaderModalDialog": any;
37951
+ "euiModal.closeModal": any;
37658
37952
  "euiMarkdownEditorToolbar.editor": any;
37659
37953
  "euiMarkdownEditorToolbar.previewMarkdown": any;
37660
37954
  "euiMarkdownEditorHelpButton.mdSyntaxLink": any;
@@ -37670,11 +37964,7 @@ declare module '@elastic/eui' {
37670
37964
  "euiMarkdownEditorFooter.supportedFileTypes": any;
37671
37965
  "euiMarkdownEditorFooter.showSyntaxErrors": any;
37672
37966
  "euiMarkdownEditorFooter.errorsTitle": any;
37673
- "euiModal.screenReaderModalDialog": any;
37674
- "euiModal.closeModal": any;
37675
37967
  "euiLoadingStrings.ariaLabel": any;
37676
- "euiMark.highlightStart": any;
37677
- "euiMark.highlightEnd": any;
37678
37968
  "euiExternalLinkIcon.newTarget.screenReaderOnlyText": any;
37679
37969
  "euiExternalLinkIcon.externalTarget.screenReaderOnlyText": any;
37680
37970
  "euiInlineEditForm.saveButtonAriaLabel": any;
@@ -37683,13 +37973,13 @@ declare module '@elastic/eui' {
37683
37973
  "euiInlineEditForm.activateEditModeDescription": any;
37684
37974
  "euiImageButton.openFullScreen": any;
37685
37975
  "euiImageButton.closeFullScreen": any;
37686
- "euiForm.addressFormErrors": any;
37687
37976
  "euiFlyoutMenu.back": any;
37688
37977
  "euiFlyoutMenu.history": any;
37689
37978
  "euiFlyout.screenReaderModalDialog": any;
37690
37979
  "euiFlyout.screenReaderNoOverlayMaskDialog": any;
37691
37980
  "euiFlyout.screenReaderFocusTrapShards": any;
37692
37981
  "euiFlyoutCloseButton.ariaLabel": any;
37982
+ "euiForm.addressFormErrors": any;
37693
37983
  "euiFilterButton.filterBadgeActiveAriaLabel": any;
37694
37984
  "euiFilterButton.filterBadgeAvailableAriaLabel": any;
37695
37985
  "euiErrorBoundary.error": any;
@@ -37697,6 +37987,7 @@ declare module '@elastic/eui' {
37697
37987
  "euiDataGrid.ariaLabelledBy": any;
37698
37988
  "euiDataGrid.screenReaderNotice": any;
37699
37989
  "euiContextMenuPanelTitle.ariaLabel": any;
37990
+ "euiComboBox.listboxAriaLabel": any;
37700
37991
  "euiSaturation.ariaLabel": any;
37701
37992
  "euiSaturation.roleDescription": any;
37702
37993
  "euiSaturation.screenReaderInstructions": any;
@@ -37713,15 +38004,17 @@ declare module '@elastic/eui' {
37713
38004
  "euiColorPicker.openLabel": any;
37714
38005
  "euiColorPicker.closeLabel": any;
37715
38006
  "euiColorPicker.ariaLabel": any;
37716
- "euiComboBox.listboxAriaLabel": any;
37717
38007
  "euiCollapsibleNavBeta.ariaLabel": any;
38008
+ "euiCallOut.dismissAriaLabel": any;
37718
38009
  "euiCodeBlockFullScreen.fullscreenCollapse": any;
37719
38010
  "euiCodeBlockFullScreen.fullscreenExpand": any;
37720
38011
  "euiCodeBlockFullScreen.ariaLabel": any;
37721
38012
  "euiCodeBlockCopy.copy": any;
37722
38013
  "euiCodeBlockAnnotations.ariaLabel": any;
37723
38014
  "euiCodeBlock.label": any;
37724
- "euiCallOut.dismissAriaLabel": any;
38015
+ "euiBreadcrumbs.nav.ariaLabel": any;
38016
+ "euiBreadcrumb.collapsedBadge.ariaLabel": any;
38017
+ "euiBreadcrumb.popoverAriaLabel": any;
37725
38018
  "euiBottomBar.screenReaderHeading": any;
37726
38019
  "euiBottomBar.customScreenReaderAnnouncement": any;
37727
38020
  "euiBottomBar.screenReaderAnnouncement": any;
@@ -37737,15 +38030,12 @@ declare module '@elastic/eui' {
37737
38030
  "euiBasicTable.deselectRows": any;
37738
38031
  "euiBasicTable.selectThisRow": any;
37739
38032
  "euiBasicTable.tablePagination": any;
37740
- "euiBreadcrumbs.nav.ariaLabel": any;
37741
- "euiBreadcrumb.collapsedBadge.ariaLabel": any;
37742
- "euiBreadcrumb.popoverAriaLabel": any;
38033
+ "euiBanner.dismissAriaLabel": any;
37743
38034
  "euiTablePagination.allRows": any;
37744
38035
  "euiTablePagination.rowsPerPage": any;
37745
38036
  "euiTablePagination.rowsPerPageOptionShowAllRows": any;
37746
38037
  "euiTablePagination.rowsPerPageOption": any;
37747
38038
  "euiTableSortMobile.sorting": any;
37748
- "euiFieldValueSelectionFilter.buttonLabelHint": any;
37749
38039
  "euiSelectableTemplateSitewide.searchPlaceholder": any;
37750
38040
  "euiSelectableTemplateSitewide.loadingResults": any;
37751
38041
  "euiSelectableTemplateSitewide.noResults": any;
@@ -37759,109 +38049,25 @@ declare module '@elastic/eui' {
37759
38049
  "euiSelectableListItem.mixedOptionInstructions": any;
37760
38050
  "euiSelectableListItem.mixedOptionUncheckInstructions": any;
37761
38051
  "euiSelectableListItem.mixedOptionExcludeInstructions": any;
38052
+ "euiFieldValueSelectionFilter.buttonLabelHint": any;
37762
38053
  "euiPinnableListGroup.pinExtraActionLabel": any;
37763
38054
  "euiPinnableListGroup.pinnedExtraActionLabel": any;
38055
+ "euiHeaderLinks.appNavigation": any;
38056
+ "euiHeaderLinks.openNavigationMenu": any;
38057
+ "euiFlyoutManaged.defaultTitle": any;
37764
38058
  "euiSuperSelect.screenReaderAnnouncement": any;
37765
38059
  "euiSuperSelect.ariaLabel": any;
37766
38060
  "euiRange.sliderScreenReaderInstructions": any;
37767
38061
  "euiDualRange.sliderScreenReaderInstructions": any;
37768
38062
  "euiFormControlLayoutDelimited.delimiterLabel": any;
37769
38063
  "euiFormControlLayoutClearButton.label": any;
38064
+ "euiFieldSearch.clearSearchButtonLabel": any;
37770
38065
  "euiFilePicker.promptText": any;
37771
38066
  "euiFilePicker.filesSelected": any;
37772
38067
  "euiFilePicker.removeSelectedAriaLabel": any;
37773
38068
  "euiFilePicker.removeSelected": any;
37774
- "euiFieldSearch.clearSearchButtonLabel": any;
37775
38069
  "euiFieldPassword.showPassword": any;
37776
38070
  "euiFieldPassword.maskPassword": any;
37777
- "euiFlyoutManaged.defaultTitle": any;
37778
- "euiHeaderLinks.appNavigation": any;
37779
- "euiHeaderLinks.openNavigationMenu": any;
37780
- "euiDataGridSchema.booleanSortTextAsc": any;
37781
- "euiDataGridSchema.booleanSortTextDesc": any;
37782
- "euiDataGridSchema.currencySortTextAsc": any;
37783
- "euiDataGridSchema.currencySortTextDesc": any;
37784
- "euiDataGridSchema.dateSortTextAsc": any;
37785
- "euiDataGridSchema.dateSortTextDesc": any;
37786
- "euiDataGridSchema.numberSortTextAsc": any;
37787
- "euiDataGridSchema.numberSortTextDesc": any;
37788
- "euiDataGridSchema.jsonSortTextAsc": any;
37789
- "euiDataGridSchema.jsonSortTextDesc": any;
37790
- "euiKeyboardShortcuts.title": any;
37791
- "euiKeyboardShortcuts.upArrowTitle": any;
37792
- "euiKeyboardShortcuts.upArrowDescription": any;
37793
- "euiKeyboardShortcuts.downArrowTitle": any;
37794
- "euiKeyboardShortcuts.downArrowDescription": any;
37795
- "euiKeyboardShortcuts.rightArrowTitle": any;
37796
- "euiKeyboardShortcuts.rightArrowDescription": any;
37797
- "euiKeyboardShortcuts.leftArrowTitle": any;
37798
- "euiKeyboardShortcuts.leftArrowDescription": any;
37799
- "euiKeyboardShortcuts.homeTitle": any;
37800
- "euiKeyboardShortcuts.homeDescription": any;
37801
- "euiKeyboardShortcuts.endTitle": any;
37802
- "euiKeyboardShortcuts.endDescription": any;
37803
- "euiKeyboardShortcuts.ctrl": any;
37804
- "euiKeyboardShortcuts.ctrlHomeDescription": any;
37805
- "euiKeyboardShortcuts.ctrlEndDescription": any;
37806
- "euiKeyboardShortcuts.pageUpTitle": any;
37807
- "euiKeyboardShortcuts.pageUpDescription": any;
37808
- "euiKeyboardShortcuts.pageDownTitle": any;
37809
- "euiKeyboardShortcuts.pageDownDescription": any;
37810
- "euiKeyboardShortcuts.enterTitle": any;
37811
- "euiKeyboardShortcuts.enterDescription": any;
37812
- "euiKeyboardShortcuts.escapeTitle": any;
37813
- "euiKeyboardShortcuts.escapeDescription": any;
37814
- "euiFullscreenSelector.fullscreenButton": any;
37815
- "euiFullscreenSelector.fullscreenButtonActive": any;
37816
- "euiDisplaySelector.densityLabel": any;
37817
- "euiDisplaySelector.labelCompact": any;
37818
- "euiDisplaySelector.labelNormal": any;
37819
- "euiDisplaySelector.labelExpanded": any;
37820
- "euiDisplaySelector.rowHeightLabel": any;
37821
- "euiDisplaySelector.labelAuto": any;
37822
- "euiDisplaySelector.labelStatic": any;
37823
- "euiDisplaySelector.labelMax": any;
37824
- "euiDisplaySelector.buttonText": any;
37825
- "euiDisplaySelector.resetButtonText": any;
37826
- "euiDataGridToolbarControl.badgeAriaLabel": any;
37827
- "euiColumnSortingDraggable.defaultSortAsc": any;
37828
- "euiColumnSortingDraggable.defaultSortDesc": any;
37829
- "euiColumnSortingDraggable.dragHandleAriaLabel": any;
37830
- "euiColumnSortingDraggable.activeSortLabel": any;
37831
- "euiColumnSortingDraggable.removeSortLabel": any;
37832
- "euiColumnSortingDraggable.toggleLegend": any;
37833
- "euiColumnSorting.button": any;
37834
- "euiColumnSorting.sortFieldAriaLabel": any;
37835
- "euiColumnSorting.emptySorting": any;
37836
- "euiColumnSorting.pickFields": any;
37837
- "euiColumnSorting.clearAll": any;
37838
- "euiColumnSelector.dragHandleAriaLabel": any;
37839
- "euiColumnSelector.button": any;
37840
- "euiColumnSelector.search": any;
37841
- "euiColumnSelector.searchcolumns": any;
37842
- "euiColumnSelector.selectAll": any;
37843
- "euiColumnSelector.hideAll": any;
37844
- "euiDataGridPagination.detailedPaginationLabel": any;
37845
- "euiDataGridPagination.paginationLabel": any;
37846
- "euiRefreshInterval.fullDescriptionOff": any;
37847
- "euiRefreshInterval.fullDescriptionOn": any;
37848
- "euiRefreshInterval.toggleLabel": any;
37849
- "euiRefreshInterval.toggleAriaLabel": any;
37850
- "euiRefreshInterval.valueAriaLabel": any;
37851
- "euiRefreshInterval.unitsAriaLabel": any;
37852
- "euiAutoRefresh.autoRefreshLabel": any;
37853
- "euiAutoRefresh.buttonLabelOff": any;
37854
- "euiAutoRefresh.buttonLabelOn": any;
37855
- "euiTimeWindowButtons.previousDescription": any;
37856
- "euiTimeWindowButtons.nextDescription": any;
37857
- "euiTimeWindowButtons.invalidShiftLabel": any;
37858
- "euiTimeWindowButtons.invalidZoomInLabel": any;
37859
- "euiTimeWindowButtons.cannotZoomInLabel": any;
37860
- "euiTimeWindowButtons.invalidZoomOutLabel": any;
37861
- "euiTimeWindowButtons.previousLabel": any;
37862
- "euiTimeWindowButtons.zoomInLabel": any;
37863
- "euiTimeWindowButtons.zoomOutLabel": any;
37864
- "euiTimeWindowButtons.nextLabel": any;
37865
38071
  "euiTimeOptions.last": any;
37866
38072
  "euiTimeOptions.next": any;
37867
38073
  "euiTimeOptions.seconds": any;
@@ -37900,11 +38106,30 @@ declare module '@elastic/eui' {
37900
38106
  "euiTimeOptions.weekToDate": any;
37901
38107
  "euiTimeOptions.monthToDate": any;
37902
38108
  "euiTimeOptions.yearToDate": any;
38109
+ "euiTimeWindowButtons.previousDescription": any;
38110
+ "euiTimeWindowButtons.nextDescription": any;
38111
+ "euiTimeWindowButtons.invalidShiftLabel": any;
38112
+ "euiTimeWindowButtons.invalidZoomInLabel": any;
38113
+ "euiTimeWindowButtons.cannotZoomInLabel": any;
38114
+ "euiTimeWindowButtons.invalidZoomOutLabel": any;
38115
+ "euiTimeWindowButtons.previousLabel": any;
38116
+ "euiTimeWindowButtons.zoomInLabel": any;
38117
+ "euiTimeWindowButtons.zoomOutLabel": any;
38118
+ "euiTimeWindowButtons.nextLabel": any;
37903
38119
  "euiSuperUpdateButton.updatingButtonLabel": any;
37904
38120
  "euiSuperUpdateButton.updateButtonLabel": any;
37905
38121
  "euiSuperUpdateButton.refreshButtonLabel": any;
37906
38122
  "euiSuperUpdateButton.cannotUpdateTooltip": any;
37907
38123
  "euiSuperUpdateButton.clickToApplyTooltip": any;
38124
+ "euiPrettyInterval.seconds": any;
38125
+ "euiPrettyInterval.minutes": any;
38126
+ "euiPrettyInterval.hours": any;
38127
+ "euiPrettyInterval.days": any;
38128
+ "euiPrettyInterval.secondsShorthand": any;
38129
+ "euiPrettyInterval.minutesShorthand": any;
38130
+ "euiPrettyInterval.hoursShorthand": any;
38131
+ "euiPrettyInterval.daysShorthand": any;
38132
+ "euiPrettyInterval.off": any;
37908
38133
  "euiPrettyDuration.lastDurationSeconds": any;
37909
38134
  "euiPrettyDuration.nextDurationSeconds": any;
37910
38135
  "euiPrettyDuration.lastDurationMinutes": any;
@@ -37929,15 +38154,81 @@ declare module '@elastic/eui' {
37929
38154
  "euiPrettyDuration.now": any;
37930
38155
  "euiPrettyDuration.invalid": any;
37931
38156
  "euiPrettyDuration.fallbackDuration": any;
37932
- "euiPrettyInterval.seconds": any;
37933
- "euiPrettyInterval.minutes": any;
37934
- "euiPrettyInterval.hours": any;
37935
- "euiPrettyInterval.days": any;
37936
- "euiPrettyInterval.secondsShorthand": any;
37937
- "euiPrettyInterval.minutesShorthand": any;
37938
- "euiPrettyInterval.hoursShorthand": any;
37939
- "euiPrettyInterval.daysShorthand": any;
37940
- "euiPrettyInterval.off": any;
38157
+ "euiRefreshInterval.fullDescriptionOff": any;
38158
+ "euiRefreshInterval.fullDescriptionOn": any;
38159
+ "euiRefreshInterval.toggleLabel": any;
38160
+ "euiRefreshInterval.toggleAriaLabel": any;
38161
+ "euiRefreshInterval.valueAriaLabel": any;
38162
+ "euiRefreshInterval.unitsAriaLabel": any;
38163
+ "euiAutoRefresh.autoRefreshLabel": any;
38164
+ "euiAutoRefresh.buttonLabelOff": any;
38165
+ "euiAutoRefresh.buttonLabelOn": any;
38166
+ "euiDataGridPagination.detailedPaginationLabel": any;
38167
+ "euiDataGridPagination.paginationLabel": any;
38168
+ "euiDataGridSchema.booleanSortTextAsc": any;
38169
+ "euiDataGridSchema.booleanSortTextDesc": any;
38170
+ "euiDataGridSchema.currencySortTextAsc": any;
38171
+ "euiDataGridSchema.currencySortTextDesc": any;
38172
+ "euiDataGridSchema.dateSortTextAsc": any;
38173
+ "euiDataGridSchema.dateSortTextDesc": any;
38174
+ "euiDataGridSchema.numberSortTextAsc": any;
38175
+ "euiDataGridSchema.numberSortTextDesc": any;
38176
+ "euiDataGridSchema.jsonSortTextAsc": any;
38177
+ "euiDataGridSchema.jsonSortTextDesc": any;
38178
+ "euiKeyboardShortcuts.title": any;
38179
+ "euiKeyboardShortcuts.upArrowTitle": any;
38180
+ "euiKeyboardShortcuts.upArrowDescription": any;
38181
+ "euiKeyboardShortcuts.downArrowTitle": any;
38182
+ "euiKeyboardShortcuts.downArrowDescription": any;
38183
+ "euiKeyboardShortcuts.rightArrowTitle": any;
38184
+ "euiKeyboardShortcuts.rightArrowDescription": any;
38185
+ "euiKeyboardShortcuts.leftArrowTitle": any;
38186
+ "euiKeyboardShortcuts.leftArrowDescription": any;
38187
+ "euiKeyboardShortcuts.homeTitle": any;
38188
+ "euiKeyboardShortcuts.homeDescription": any;
38189
+ "euiKeyboardShortcuts.endTitle": any;
38190
+ "euiKeyboardShortcuts.endDescription": any;
38191
+ "euiKeyboardShortcuts.ctrl": any;
38192
+ "euiKeyboardShortcuts.ctrlHomeDescription": any;
38193
+ "euiKeyboardShortcuts.ctrlEndDescription": any;
38194
+ "euiKeyboardShortcuts.pageUpTitle": any;
38195
+ "euiKeyboardShortcuts.pageUpDescription": any;
38196
+ "euiKeyboardShortcuts.pageDownTitle": any;
38197
+ "euiKeyboardShortcuts.pageDownDescription": any;
38198
+ "euiKeyboardShortcuts.enterTitle": any;
38199
+ "euiKeyboardShortcuts.enterDescription": any;
38200
+ "euiKeyboardShortcuts.escapeTitle": any;
38201
+ "euiKeyboardShortcuts.escapeDescription": any;
38202
+ "euiFullscreenSelector.fullscreenButton": any;
38203
+ "euiFullscreenSelector.fullscreenButtonActive": any;
38204
+ "euiDisplaySelector.densityLabel": any;
38205
+ "euiDisplaySelector.labelCompact": any;
38206
+ "euiDisplaySelector.labelNormal": any;
38207
+ "euiDisplaySelector.labelExpanded": any;
38208
+ "euiDisplaySelector.rowHeightLabel": any;
38209
+ "euiDisplaySelector.labelAuto": any;
38210
+ "euiDisplaySelector.labelStatic": any;
38211
+ "euiDisplaySelector.labelMax": any;
38212
+ "euiDisplaySelector.buttonText": any;
38213
+ "euiDisplaySelector.resetButtonText": any;
38214
+ "euiDataGridToolbarControl.badgeAriaLabel": any;
38215
+ "euiColumnSortingDraggable.defaultSortAsc": any;
38216
+ "euiColumnSortingDraggable.defaultSortDesc": any;
38217
+ "euiColumnSortingDraggable.dragHandleAriaLabel": any;
38218
+ "euiColumnSortingDraggable.activeSortLabel": any;
38219
+ "euiColumnSortingDraggable.removeSortLabel": any;
38220
+ "euiColumnSortingDraggable.toggleLegend": any;
38221
+ "euiColumnSorting.button": any;
38222
+ "euiColumnSorting.sortFieldAriaLabel": any;
38223
+ "euiColumnSorting.emptySorting": any;
38224
+ "euiColumnSorting.pickFields": any;
38225
+ "euiColumnSorting.clearAll": any;
38226
+ "euiColumnSelector.dragHandleAriaLabel": any;
38227
+ "euiColumnSelector.button": any;
38228
+ "euiColumnSelector.search": any;
38229
+ "euiColumnSelector.searchcolumns": any;
38230
+ "euiColumnSelector.selectAll": any;
38231
+ "euiColumnSelector.hideAll": any;
37941
38232
  "euiComboBoxOptionsList.loadingOptions": any;
37942
38233
  "euiComboBoxOptionsList.delimiterMessage": any;
37943
38234
  "euiComboBoxOptionsList.alreadyAdded": any;
@@ -37946,23 +38237,51 @@ declare module '@elastic/eui' {
37946
38237
  "euiComboBoxOptionsList.noAvailableOptions": any;
37947
38238
  "euiComboBoxOptionsList.allOptionsSelected": any;
37948
38239
  "euiComboBoxPill.removeSelection": any;
37949
- "euiCollapsibleNavKibanaSolution.switcherTitle": any;
37950
- "euiCollapsibleNavKibanaSolution.switcherAriaLabel": any;
37951
- "euiCollapsibleNavKibanaSolution.groupLabel": any;
37952
38240
  "euiCollapsibleNavButton.ariaLabelExpand": any;
37953
38241
  "euiCollapsibleNavButton.ariaLabelCollapse": any;
37954
38242
  "euiCollapsibleNavButton.ariaLabelOpen": any;
37955
38243
  "euiCollapsibleNavButton.ariaLabelClose": any;
38244
+ "euiCollapsibleNavKibanaSolution.switcherTitle": any;
38245
+ "euiCollapsibleNavKibanaSolution.switcherAriaLabel": any;
38246
+ "euiCollapsibleNavKibanaSolution.groupLabel": any;
37956
38247
  "euiCardSelect.selected": any;
37957
38248
  "euiCardSelect.unavailable": any;
37958
38249
  "euiCardSelect.select": any;
37959
38250
  "euiAccordionChildrenLoading.message": any;
38251
+ "euiRecentlyUsed.legend": any;
38252
+ "euiQuickSelectPopover.buttonLabel": any;
38253
+ "euiCommonlyUsedTimeRanges.legend": any;
38254
+ "euiQuickSelect.quickSelectTitle": any;
38255
+ "euiQuickSelect.previousLabel": any;
38256
+ "euiQuickSelect.nextLabel": any;
38257
+ "euiQuickSelect.tenseLabel": any;
38258
+ "euiQuickSelect.valueLabel": any;
38259
+ "euiQuickSelect.unitLabel": any;
38260
+ "euiQuickSelect.applyButton": any;
38261
+ "euiQuickSelect.fullDescription": any;
38262
+ "euiRelativeTab.numberInputLabel": any;
38263
+ "euiRelativeTab.numberInputError": any;
38264
+ "euiRelativeTab.dateInputError": any;
38265
+ "euiRelativeTab.unitInputLabel": any;
38266
+ "euiRelativeTab.fullDescription": any;
38267
+ "euiDatePopoverContent.startDateLabel": any;
38268
+ "euiDatePopoverContent.endDateLabel": any;
38269
+ "euiDatePopoverContent.absoluteTabLabel": any;
38270
+ "euiDatePopoverContent.relativeTabLabel": any;
38271
+ "euiDatePopoverContent.nowTabLabel": any;
38272
+ "euiDatePopoverContent.nowTabContent": any;
38273
+ "euiDatePopoverContent.nowTabButtonStart": any;
38274
+ "euiDatePopoverContent.nowTabButtonEnd": any;
38275
+ "euiDatePopoverButton.invalidTitle": any;
38276
+ "euiDatePopoverButton.outdatedTitle": any;
38277
+ "euiAbsoluteTab.dateFormatButtonLabel": any;
38278
+ "euiAbsoluteTab.dateFormatError": any;
37960
38279
  "euiDataGridCell.focusTrapExitPrompt": any;
37961
38280
  "euiDataGridCell.focusTrapEnterPrompt": any;
37962
38281
  "euiDataGridCell.focusTrapEnteredExitPrompt": any;
38282
+ "euiDataGridCellActions.expandButtonTitle": any;
37963
38283
  "euiDataGridCell.position": any;
37964
38284
  "euiDataGridCell.expansionEnterPrompt": any;
37965
- "euiDataGridCellActions.expandButtonTitle": any;
37966
38285
  "euiDataGridHeaderCell.sortedByAscendingSingle": any;
37967
38286
  "euiDataGridHeaderCell.sortedByDescendingSingle": any;
37968
38287
  "euiDataGridHeaderCell.sortedByAscendingFirst": any;
@@ -37977,34 +38296,6 @@ declare module '@elastic/eui' {
37977
38296
  "euiColumnActions.moveRight": any;
37978
38297
  "euiColumnActions.unsort": any;
37979
38298
  "euiColumnActions.sort": any;
37980
- "euiRelativeTab.numberInputLabel": any;
37981
- "euiRelativeTab.numberInputError": any;
37982
- "euiRelativeTab.dateInputError": any;
37983
- "euiRelativeTab.unitInputLabel": any;
37984
- "euiRelativeTab.fullDescription": any;
37985
- "euiDatePopoverContent.startDateLabel": any;
37986
- "euiDatePopoverContent.endDateLabel": any;
37987
- "euiDatePopoverContent.absoluteTabLabel": any;
37988
- "euiDatePopoverContent.relativeTabLabel": any;
37989
- "euiDatePopoverContent.nowTabLabel": any;
37990
- "euiDatePopoverContent.nowTabContent": any;
37991
- "euiDatePopoverContent.nowTabButtonStart": any;
37992
- "euiDatePopoverContent.nowTabButtonEnd": any;
37993
- "euiDatePopoverButton.invalidTitle": any;
37994
- "euiDatePopoverButton.outdatedTitle": any;
37995
- "euiAbsoluteTab.dateFormatButtonLabel": any;
37996
- "euiAbsoluteTab.dateFormatError": any;
37997
- "euiRecentlyUsed.legend": any;
37998
- "euiQuickSelectPopover.buttonLabel": any;
37999
- "euiQuickSelect.quickSelectTitle": any;
38000
- "euiQuickSelect.previousLabel": any;
38001
- "euiQuickSelect.nextLabel": any;
38002
- "euiQuickSelect.tenseLabel": any;
38003
- "euiQuickSelect.valueLabel": any;
38004
- "euiQuickSelect.unitLabel": any;
38005
- "euiQuickSelect.applyButton": any;
38006
- "euiQuickSelect.fullDescription": any;
38007
- "euiCommonlyUsedTimeRanges.legend": any;
38008
38299
  "euiCollapsedNavButton.ariaLabelButtonIcon": any;
38009
38300
  }
38010
38301
  }