@elastic/eui 116.3.1 → 116.4.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 (183) hide show
  1. package/es/components/banner/banner.js +1 -2
  2. package/es/components/banner/banner.styles.js +1 -1
  3. package/es/components/basic_table/basic_table.js +35 -5
  4. package/es/components/basic_table/basic_table.styles.js +19 -1
  5. package/es/components/basic_table/in_memory_table.js +17 -0
  6. package/es/components/basic_table/index.js +2 -1
  7. package/es/components/basic_table/pagination_bar.js +19 -4
  8. package/es/components/basic_table/pagination_bar.styles.js +21 -0
  9. package/es/components/basic_table/panel.styles.js +14 -0
  10. package/es/components/basic_table/use_panel_props.js +28 -0
  11. package/es/components/date_picker/auto_refresh/refresh_interval.js +176 -229
  12. package/es/components/flyout/flyout.component.js +10 -6
  13. package/es/components/flyout/flyout_menu.js +122 -19
  14. package/es/components/flyout/flyout_menu.styles.js +2 -1
  15. package/es/components/flyout/manager/actions.js +20 -0
  16. package/es/components/flyout/manager/flyout_child.js +23 -1
  17. package/es/components/flyout/manager/flyout_managed.js +65 -19
  18. package/es/components/flyout/manager/hooks.js +1 -1
  19. package/es/components/flyout/manager/index.js +2 -2
  20. package/es/components/flyout/manager/reducer.js +32 -8
  21. package/es/components/flyout/manager/selectors.js +8 -2
  22. package/es/components/flyout/manager/store.js +35 -2
  23. package/es/components/flyout/use_flyout_menu.js +2 -2
  24. package/es/components/form/form_control_layout/form_control_layout_icons.js +95 -143
  25. package/es/components/notification_icon/assets/info_fill.js +34 -0
  26. package/es/components/notification_icon/assets/warning_static.js +40 -0
  27. package/es/components/notification_icon/notification_icon.js +87 -0
  28. package/es/components/notification_icon/notification_icon.styles.js +22 -0
  29. package/es/components/table/mobile/table_sort_mobile.js +64 -103
  30. package/es/components/toast/global_toast_list.js +132 -6
  31. package/es/components/toast/global_toast_list.styles.js +31 -7
  32. package/es/components/toast/toast.js +242 -47
  33. package/es/components/toast/toast.styles.js +35 -47
  34. package/es/components/toast/toast_action.js +34 -0
  35. package/es/components/toast/types.js +9 -0
  36. package/es/components/tool_tip/tool_tip.js +3 -3
  37. package/eui.d.ts +1203 -971
  38. package/i18ntokens.json +1582 -1546
  39. package/lib/components/banner/banner.js +1 -2
  40. package/lib/components/banner/banner.styles.js +1 -1
  41. package/lib/components/basic_table/basic_table.js +34 -4
  42. package/lib/components/basic_table/basic_table.styles.js +19 -1
  43. package/lib/components/basic_table/in_memory_table.js +17 -0
  44. package/lib/components/basic_table/index.js +8 -1
  45. package/lib/components/basic_table/pagination_bar.js +19 -4
  46. package/lib/components/basic_table/pagination_bar.styles.js +26 -0
  47. package/lib/components/basic_table/panel.styles.js +20 -0
  48. package/lib/components/basic_table/use_panel_props.js +33 -0
  49. package/lib/components/date_picker/auto_refresh/refresh_interval.js +175 -229
  50. package/lib/components/flyout/flyout.component.js +10 -6
  51. package/lib/components/flyout/flyout_menu.js +120 -19
  52. package/lib/components/flyout/flyout_menu.styles.js +2 -1
  53. package/lib/components/flyout/manager/actions.js +21 -1
  54. package/lib/components/flyout/manager/flyout_child.js +23 -1
  55. package/lib/components/flyout/manager/flyout_managed.js +41 -17
  56. package/lib/components/flyout/manager/hooks.js +6 -0
  57. package/lib/components/flyout/manager/index.js +12 -0
  58. package/lib/components/flyout/manager/reducer.js +31 -7
  59. package/lib/components/flyout/manager/selectors.js +9 -3
  60. package/lib/components/flyout/manager/store.js +34 -1
  61. package/lib/components/flyout/use_flyout_menu.js +2 -2
  62. package/lib/components/form/form_control_layout/form_control_layout_icons.js +95 -145
  63. package/lib/components/notification_icon/assets/info_fill.js +41 -0
  64. package/lib/components/notification_icon/assets/warning_static.js +47 -0
  65. package/lib/components/notification_icon/notification_icon.js +93 -0
  66. package/lib/components/notification_icon/notification_icon.styles.js +28 -0
  67. package/lib/components/notification_icon/svgs/info_fill.svg +3 -0
  68. package/lib/components/notification_icon/svgs/warning_static.svg +5 -0
  69. package/lib/components/table/mobile/table_sort_mobile.js +71 -108
  70. package/lib/components/toast/global_toast_list.js +132 -6
  71. package/lib/components/toast/global_toast_list.styles.js +31 -8
  72. package/lib/components/toast/toast.js +244 -47
  73. package/lib/components/toast/toast.styles.js +32 -45
  74. package/lib/components/toast/toast_action.js +40 -0
  75. package/lib/components/toast/types.js +15 -0
  76. package/lib/components/tool_tip/tool_tip.js +2 -2
  77. package/optimize/es/components/banner/banner.js +1 -2
  78. package/optimize/es/components/banner/banner.styles.js +1 -1
  79. package/optimize/es/components/basic_table/basic_table.js +18 -5
  80. package/optimize/es/components/basic_table/basic_table.styles.js +19 -1
  81. package/optimize/es/components/basic_table/index.js +2 -1
  82. package/optimize/es/components/basic_table/pagination_bar.js +19 -4
  83. package/optimize/es/components/basic_table/pagination_bar.styles.js +21 -0
  84. package/optimize/es/components/basic_table/panel.styles.js +14 -0
  85. package/optimize/es/components/basic_table/use_panel_props.js +28 -0
  86. package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +172 -196
  87. package/optimize/es/components/flyout/flyout.component.js +10 -6
  88. package/optimize/es/components/flyout/flyout_menu.js +99 -18
  89. package/optimize/es/components/flyout/flyout_menu.styles.js +2 -1
  90. package/optimize/es/components/flyout/manager/actions.js +20 -0
  91. package/optimize/es/components/flyout/manager/flyout_managed.js +42 -18
  92. package/optimize/es/components/flyout/manager/hooks.js +1 -1
  93. package/optimize/es/components/flyout/manager/index.js +2 -2
  94. package/optimize/es/components/flyout/manager/reducer.js +32 -8
  95. package/optimize/es/components/flyout/manager/selectors.js +8 -2
  96. package/optimize/es/components/flyout/manager/store.js +35 -2
  97. package/optimize/es/components/flyout/use_flyout_menu.js +2 -2
  98. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +96 -115
  99. package/optimize/es/components/notification_icon/assets/info_fill.js +33 -0
  100. package/optimize/es/components/notification_icon/assets/warning_static.js +39 -0
  101. package/optimize/es/components/notification_icon/notification_icon.js +77 -0
  102. package/optimize/es/components/notification_icon/notification_icon.styles.js +22 -0
  103. package/optimize/es/components/table/mobile/table_sort_mobile.js +59 -82
  104. package/optimize/es/components/toast/global_toast_list.js +31 -6
  105. package/optimize/es/components/toast/global_toast_list.styles.js +31 -7
  106. package/optimize/es/components/toast/toast.js +143 -47
  107. package/optimize/es/components/toast/toast.styles.js +35 -47
  108. package/optimize/es/components/toast/toast_action.js +33 -0
  109. package/optimize/es/components/toast/types.js +9 -0
  110. package/optimize/es/components/tool_tip/tool_tip.js +3 -3
  111. package/optimize/lib/components/banner/banner.js +1 -2
  112. package/optimize/lib/components/banner/banner.styles.js +1 -1
  113. package/optimize/lib/components/basic_table/basic_table.js +17 -4
  114. package/optimize/lib/components/basic_table/basic_table.styles.js +19 -1
  115. package/optimize/lib/components/basic_table/index.js +8 -1
  116. package/optimize/lib/components/basic_table/pagination_bar.js +19 -4
  117. package/optimize/lib/components/basic_table/pagination_bar.styles.js +26 -0
  118. package/optimize/lib/components/basic_table/panel.styles.js +20 -0
  119. package/optimize/lib/components/basic_table/use_panel_props.js +33 -0
  120. package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +170 -194
  121. package/optimize/lib/components/flyout/flyout.component.js +10 -6
  122. package/optimize/lib/components/flyout/flyout_menu.js +98 -18
  123. package/optimize/lib/components/flyout/flyout_menu.styles.js +2 -1
  124. package/optimize/lib/components/flyout/manager/actions.js +21 -1
  125. package/optimize/lib/components/flyout/manager/flyout_managed.js +41 -17
  126. package/optimize/lib/components/flyout/manager/hooks.js +6 -0
  127. package/optimize/lib/components/flyout/manager/index.js +12 -0
  128. package/optimize/lib/components/flyout/manager/reducer.js +31 -7
  129. package/optimize/lib/components/flyout/manager/selectors.js +9 -3
  130. package/optimize/lib/components/flyout/manager/store.js +34 -1
  131. package/optimize/lib/components/flyout/use_flyout_menu.js +2 -2
  132. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +96 -117
  133. package/optimize/lib/components/notification_icon/assets/info_fill.js +41 -0
  134. package/optimize/lib/components/notification_icon/assets/warning_static.js +47 -0
  135. package/optimize/lib/components/notification_icon/notification_icon.js +83 -0
  136. package/optimize/lib/components/notification_icon/notification_icon.styles.js +28 -0
  137. package/optimize/lib/components/notification_icon/svgs/info_fill.svg +3 -0
  138. package/optimize/lib/components/notification_icon/svgs/warning_static.svg +5 -0
  139. package/optimize/lib/components/table/mobile/table_sort_mobile.js +61 -83
  140. package/optimize/lib/components/toast/global_toast_list.js +31 -6
  141. package/optimize/lib/components/toast/global_toast_list.styles.js +30 -7
  142. package/optimize/lib/components/toast/toast.js +146 -47
  143. package/optimize/lib/components/toast/toast.styles.js +33 -45
  144. package/optimize/lib/components/toast/toast_action.js +39 -0
  145. package/optimize/lib/components/toast/types.js +15 -0
  146. package/optimize/lib/components/tool_tip/tool_tip.js +2 -2
  147. package/package.json +7 -5
  148. package/test-env/components/banner/banner.js +1 -2
  149. package/test-env/components/banner/banner.styles.js +1 -1
  150. package/test-env/components/basic_table/basic_table.js +34 -4
  151. package/test-env/components/basic_table/basic_table.styles.js +19 -1
  152. package/test-env/components/basic_table/in_memory_table.js +17 -0
  153. package/test-env/components/basic_table/index.js +8 -1
  154. package/test-env/components/basic_table/pagination_bar.js +19 -4
  155. package/test-env/components/basic_table/pagination_bar.styles.js +26 -0
  156. package/test-env/components/basic_table/panel.styles.js +20 -0
  157. package/test-env/components/basic_table/use_panel_props.js +33 -0
  158. package/test-env/components/date_picker/auto_refresh/refresh_interval.js +170 -220
  159. package/test-env/components/flyout/flyout.component.js +10 -6
  160. package/test-env/components/flyout/flyout_menu.js +121 -19
  161. package/test-env/components/flyout/flyout_menu.styles.js +2 -1
  162. package/test-env/components/flyout/manager/actions.js +21 -1
  163. package/test-env/components/flyout/manager/flyout_child.js +23 -1
  164. package/test-env/components/flyout/manager/flyout_managed.js +41 -17
  165. package/test-env/components/flyout/manager/hooks.js +6 -0
  166. package/test-env/components/flyout/manager/index.js +12 -0
  167. package/test-env/components/flyout/manager/reducer.js +31 -7
  168. package/test-env/components/flyout/manager/selectors.js +9 -3
  169. package/test-env/components/flyout/manager/store.js +34 -1
  170. package/test-env/components/flyout/use_flyout_menu.js +2 -2
  171. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +95 -139
  172. package/test-env/components/notification_icon/assets/info_fill.js +41 -0
  173. package/test-env/components/notification_icon/assets/warning_static.js +47 -0
  174. package/test-env/components/notification_icon/notification_icon.js +46 -0
  175. package/test-env/components/notification_icon/notification_icon.styles.js +28 -0
  176. package/test-env/components/table/mobile/table_sort_mobile.js +61 -98
  177. package/test-env/components/toast/global_toast_list.js +132 -6
  178. package/test-env/components/toast/global_toast_list.styles.js +30 -7
  179. package/test-env/components/toast/toast.js +242 -47
  180. package/test-env/components/toast/toast.styles.js +33 -45
  181. package/test-env/components/toast/toast_action.js +39 -0
  182. package/test-env/components/toast/types.js +15 -0
  183. package/test-env/components/tool_tip/tool_tip.js +2 -2
package/eui.d.ts CHANGED
@@ -11835,7 +11835,7 @@ declare module '@elastic/eui/src/components/form/form_control_layout/form_contro
11835
11835
 
11836
11836
  }
11837
11837
  declare module '@elastic/eui/src/components/form/form_control_layout/form_control_layout_icons' {
11838
- import React, { Component } from 'react';
11838
+ import React from 'react';
11839
11839
  import { DistributiveOmit } from '@elastic/eui/src/components/common';
11840
11840
  import { IconColor, IconType } from '@elastic/eui/src/components/icon';
11841
11841
  import { EuiFormControlLayoutClearButtonProps } from '@elastic/eui/src/components/form/form_control_layout/form_control_layout_clear_button';
@@ -11859,14 +11859,7 @@ declare module '@elastic/eui/src/components/form/form_control_layout/form_contro
11859
11859
  compressed?: boolean;
11860
11860
  isDisabled?: boolean;
11861
11861
  }
11862
- export class EuiFormControlLayoutIcons extends Component<EuiFormControlLayoutIconsProps> {
11863
- render(): React.JSX.Element;
11864
- renderCustomIcon(): React.JSX.Element | null;
11865
- renderDropdownIcon(): React.JSX.Element | null;
11866
- renderLoadingSpinner(): React.JSX.Element | null;
11867
- renderClearButton(): React.JSX.Element | null;
11868
- renderInvalidIcon(): React.JSX.Element | null;
11869
- }
11862
+ export const EuiFormControlLayoutIcons: ({ side, iconsPosition, compressed, isDisabled, icon, clear, isLoading, isInvalid, isDropdown, }: EuiFormControlLayoutIconsProps) => React.JSX.Element;
11870
11863
 
11871
11864
  }
11872
11865
  declare module '@elastic/eui/src/components/form/form_control_layout/_num_icons' {
@@ -16825,10 +16818,22 @@ declare module '@elastic/eui/src/components/table/table_pagination' {
16825
16818
  export { EuiTablePagination } from '@elastic/eui/src/components/table/table_pagination/table_pagination';
16826
16819
  export { useEuiTablePaginationDefaults, euiTablePaginationDefaults, } from '@elastic/eui/src/components/table/table_pagination/table_pagination_defaults';
16827
16820
 
16821
+ }
16822
+ declare module '@elastic/eui/src/components/basic_table/pagination_bar.styles' {
16823
+ import { UseEuiTheme } from '@elastic/eui/src/services';
16824
+ /**
16825
+ * @internal
16826
+ */
16827
+ export const euiBasicTablePaginationBarStyles: (theme: UseEuiTheme) => {
16828
+ root: import("@emotion/react").SerializedStyles;
16829
+ panelled: import("@emotion/react").SerializedStyles;
16830
+ };
16831
+
16828
16832
  }
16829
16833
  declare module '@elastic/eui/src/components/basic_table/pagination_bar' {
16830
16834
  import React from 'react';
16831
- import { ItemsPerPageChangeHandler, PageChangeHandler } from '@elastic/eui/src/components/table/table_pagination/table_pagination';
16835
+ import { EuiBreakpointSize } from '@elastic/eui/src/services';
16836
+ import type { ItemsPerPageChangeHandler, PageChangeHandler } from '@elastic/eui/src/components/table/table_pagination/table_pagination';
16832
16837
  export interface Pagination {
16833
16838
  /**
16834
16839
  * The current page (zero-based) index
@@ -16859,8 +16864,21 @@ declare module '@elastic/eui/src/components/basic_table/pagination_bar' {
16859
16864
  */
16860
16865
  showPerPageOptions?: boolean;
16861
16866
  }
16862
- export interface PaginationBarProps {
16867
+ /**
16868
+ * @internal
16869
+ */
16870
+ interface PaginationBarProps {
16863
16871
  pagination: Pagination;
16872
+ /**
16873
+ * Enable the panelled style.
16874
+ *
16875
+ * Panelled style adds contrast between the table navigation controls
16876
+ * and table content itself. It should be used in tables rendered outside
16877
+ * EUI containers like `<EuiPanel>` or `<EuiFlyout>`.
16878
+ * @default false
16879
+ */
16880
+ panelled?: boolean;
16881
+ responsiveBreakpoint?: EuiBreakpointSize | boolean;
16864
16882
  onPageSizeChange: ItemsPerPageChangeHandler;
16865
16883
  onPageChange: PageChangeHandler;
16866
16884
  /**
@@ -16869,7 +16887,13 @@ declare module '@elastic/eui/src/components/basic_table/pagination_bar' {
16869
16887
  'aria-controls'?: string;
16870
16888
  'aria-label'?: string;
16871
16889
  }
16872
- export const PaginationBar: ({ pagination, onPageSizeChange, onPageChange, "aria-controls": ariaControls, "aria-label": ariaLabel, }: PaginationBarProps) => React.JSX.Element;
16890
+ /**
16891
+ * An internal utility component that renders EuiTablePagination with
16892
+ * proper configuration and handles the `panelled` styles.
16893
+ * @internal
16894
+ */
16895
+ export const PaginationBar: ({ pagination, panelled, responsiveBreakpoint, onPageSizeChange, onPageChange, "aria-controls": ariaControls, "aria-label": ariaLabel, }: PaginationBarProps) => React.JSX.Element;
16896
+ export {};
16873
16897
 
16874
16898
  }
16875
16899
  declare module '@elastic/eui/src/components/basic_table/action_types' {
@@ -17353,7 +17377,7 @@ declare module '@elastic/eui/src/components/table/mobile/table_sort_mobile_item'
17353
17377
 
17354
17378
  }
17355
17379
  declare module '@elastic/eui/src/components/table/mobile/table_sort_mobile' {
17356
- import React, { Component, ReactNode, Key } from 'react';
17380
+ import React, { Key, ReactNode } from 'react';
17357
17381
  import { CommonProps } from '@elastic/eui/src/components/common';
17358
17382
  import { PopoverAnchorPosition } from '@elastic/eui/src/components/popover';
17359
17383
  interface ItemProps {
@@ -17367,21 +17391,10 @@ declare module '@elastic/eui/src/components/table/mobile/table_sort_mobile' {
17367
17391
  anchorPosition?: PopoverAnchorPosition;
17368
17392
  items?: ItemProps[];
17369
17393
  }
17370
- interface State {
17371
- isPopoverOpen: boolean;
17372
- }
17373
- export class EuiTableSortMobile extends Component<EuiTableSortMobileProps, State> {
17374
- state: {
17375
- isPopoverOpen: boolean;
17376
- };
17377
- onButtonClick: () => void;
17378
- closePopover: () => void;
17379
- euiTableSortMobileStyles: {
17380
- marginInlineStart: string;
17381
- label: string;
17382
- };
17383
- render(): React.JSX.Element;
17384
- }
17394
+ export const EuiTableSortMobile: {
17395
+ ({ className, anchorPosition, items, ...rest }: EuiTableSortMobileProps): React.JSX.Element;
17396
+ displayName: string;
17397
+ };
17385
17398
  export {};
17386
17399
 
17387
17400
  }
@@ -17504,948 +17517,1027 @@ declare module '@elastic/eui/src/components/table' {
17504
17517
  export { EUI_TABLE_CSS_CONTAINER_NAME } from '@elastic/eui/src/components/table/const';
17505
17518
 
17506
17519
  }
17507
- declare module '@elastic/eui/src/components/flyout/manager/const' {
17508
- /**
17509
- * Allowed values for `session` prop to control the way the session is managed for a flyout.
17510
- */
17511
- export const SESSION_START = "start";
17512
- export const SESSION_INHERIT = "inherit";
17513
- export const SESSION_NEVER = "never";
17514
- /**
17515
- * Data attribute applied to a managed flyout element to help identify it as a managed flyout.
17516
- */
17517
- export const PROPERTY_FLYOUT = "data-managed-flyout";
17518
- /**
17519
- * Data attribute indicating whether the flyout is the `main` or `child` flyout.
17520
- */
17521
- export const PROPERTY_LEVEL = "data-managed-flyout-level";
17522
- /**
17523
- * Data attribute representing how multiple flyouts are laid out
17524
- * (`side-by-side` or `stacked`).
17525
- */
17526
- export const PROPERTY_LAYOUT_MODE = "data-managed-flyout-layout-mode";
17527
- /** Stacked layout mode where child flyouts overlay on top of the main flyout. */
17528
- export const LAYOUT_MODE_STACKED = "stacked";
17529
- /** Side-by-side layout mode where child flyouts render adjacent to the main flyout. */
17530
- export const LAYOUT_MODE_SIDE_BY_SIDE = "side-by-side";
17531
- /** The primary (parent) flyout in a session. */
17532
- export const LEVEL_MAIN = "main";
17533
- /** The secondary (child) flyout spawned by the main flyout. */
17534
- export const LEVEL_CHILD = "child";
17535
- /** Flyout is mounting and playing its opening animation. */
17536
- export const STAGE_OPENING = "opening";
17537
- /** Flyout is fully visible and interactive. */
17538
- export const STAGE_ACTIVE = "active";
17539
- /** Flyout is unmounted or not currently visible/interactable. */
17540
- export const STAGE_INACTIVE = "inactive";
17541
- /** Main flyout is transitioning behind an active session flyout. */
17542
- export const STAGE_BACKGROUNDING = "backgrounding";
17543
- /** Main flyout is backgrounded behind an active session flyout. */
17544
- export const STAGE_BACKGROUNDED = "backgrounded";
17545
- /** Flyout is returning to the foreground from a backgrounded state. */
17546
- export const STAGE_RETURNING = "returning";
17547
- /** Flyout is playing its closing animation. */
17548
- export const STAGE_CLOSING = "closing";
17520
+ declare module '@elastic/eui/src/components/list_group/list_group_item_extra_action.styles' {
17521
+ import { UseEuiTheme } from '@elastic/eui/src/services';
17522
+ export const euiListGroupItemExtraActionStyles: ({ euiTheme, }: UseEuiTheme) => {
17523
+ euiListGroupItemExtraAction: import("@emotion/react").SerializedStyles;
17524
+ hoverStyles: import("@emotion/react").SerializedStyles;
17525
+ alwaysShow: import("@emotion/react").SerializedStyles;
17526
+ };
17549
17527
 
17550
17528
  }
17551
- declare module '@elastic/eui/src/components/flyout/manager/types' {
17552
- import type { IconType } from '@elastic/eui/src/components/icon';
17553
- import type { Action } from '@elastic/eui/src/components/flyout/manager/actions';
17554
- import { STAGE_CLOSING, STAGE_OPENING, STAGE_ACTIVE, STAGE_INACTIVE, STAGE_BACKGROUNDING, STAGE_BACKGROUNDED, STAGE_RETURNING, LAYOUT_MODE_SIDE_BY_SIDE, LAYOUT_MODE_STACKED, LEVEL_CHILD, LEVEL_MAIN } from '@elastic/eui/src/components/flyout/manager/const';
17555
- export type EuiFlyoutLayoutMode = typeof LAYOUT_MODE_STACKED | typeof LAYOUT_MODE_SIDE_BY_SIDE;
17556
- export type EuiFlyoutLevel = typeof LEVEL_MAIN | typeof LEVEL_CHILD;
17557
- export type EuiFlyoutActivityStage = typeof STAGE_OPENING | typeof STAGE_ACTIVE | typeof STAGE_INACTIVE | typeof STAGE_BACKGROUNDING | typeof STAGE_BACKGROUNDED | typeof STAGE_RETURNING | typeof STAGE_CLOSING;
17558
- export interface EuiManagedFlyoutState {
17559
- flyoutId: string;
17560
- level: EuiFlyoutLevel;
17561
- width?: number;
17562
- size?: string;
17563
- minWidth?: number;
17564
- activityStage?: EuiFlyoutActivityStage;
17565
- }
17566
- /** Entry for a child flyout in session history. */
17567
- export interface ChildHistoryEntry {
17568
- flyoutId: string;
17569
- title: string;
17570
- iconType?: IconType;
17571
- }
17572
- export interface FlyoutSession {
17573
- /** ID of the main flyout for this session */
17574
- mainFlyoutId: string;
17575
- /** ID of the child flyout for this session */
17576
- childFlyoutId: string | null;
17577
- /** Title of the main flyout in this session */
17578
- title: string;
17579
- /** Optional icon for this session when shown in history popover */
17529
+ declare module '@elastic/eui/src/components/list_group/list_group_item_extra_action' {
17530
+ import { FunctionComponent } from 'react';
17531
+ import { EuiButtonIconPropsForButton } from '@elastic/eui/src/components/button';
17532
+ export type EuiListGroupItemExtraActionProps = {
17533
+ alwaysShow?: boolean;
17534
+ } & EuiButtonIconPropsForButton;
17535
+ type _FromEuiListGroupItem = {
17536
+ parentIsDisabled?: boolean;
17537
+ };
17538
+ export const EuiListGroupItemExtraAction: FunctionComponent<EuiListGroupItemExtraActionProps & _FromEuiListGroupItem>;
17539
+ export {};
17540
+
17541
+ }
17542
+ declare module '@elastic/eui/src/components/list_group/list_group_item.styles' {
17543
+ import { UseEuiTheme } from '@elastic/eui/src/services';
17544
+ export const euiListGroupItemStyles: (euiThemeContext: UseEuiTheme) => {
17545
+ euiListGroupItem: import("@emotion/react").SerializedStyles;
17546
+ euiListGroupItem__inner: import("@emotion/react").SerializedStyles;
17547
+ primary: import("@emotion/react").SerializedStyles;
17548
+ text: import("@emotion/react").SerializedStyles;
17549
+ subdued: import("@emotion/react").SerializedStyles;
17550
+ };
17551
+ export const euiListGroupItemTooltipStyles: {
17552
+ euiListGroupItem__tooltip: import("@emotion/react").SerializedStyles;
17553
+ };
17554
+
17555
+ }
17556
+ declare module '@elastic/eui/src/components/list_group/list_group_item' {
17557
+ import React, { HTMLAttributes, AnchorHTMLAttributes, ButtonHTMLAttributes, ReactNode, ReactElement, MouseEventHandler, FunctionComponent } from 'react';
17558
+ import { EuiDisabledProps } from '@elastic/eui/src/services';
17559
+ import { ExclusiveUnion, CommonProps } from '@elastic/eui/src/components/common';
17560
+ import { IconType, EuiIconProps } from '@elastic/eui/src/components/icon';
17561
+ import { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip';
17562
+ import { EuiListGroupItemExtraActionProps } from '@elastic/eui/src/components/list_group/list_group_item_extra_action';
17563
+ export const COLORS: readonly ["primary", "text", "subdued"];
17564
+ export type EuiListGroupItemColor = (typeof COLORS)[number];
17565
+ export type EuiListGroupItemProps = CommonProps & Omit<ExclusiveUnion<ExclusiveUnion<ButtonHTMLAttributes<HTMLButtonElement>, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>>, HTMLAttributes<HTMLSpanElement>>, 'onClick' | 'color' | 'target' | 'rel'> & EuiDisabledProps & {
17566
+ /**
17567
+ * By default the item will get the color `text`.
17568
+ * You can customize the color of the item by passing a color name.
17569
+ * @default 'text'
17570
+ */
17571
+ color?: EuiListGroupItemColor;
17572
+ /**
17573
+ * Content to be displayed in the list item
17574
+ */
17575
+ label: ReactNode;
17576
+ /**
17577
+ * Apply styles indicating an item is active
17578
+ */
17579
+ isActive?: boolean;
17580
+ /**
17581
+ * Make the list item label a link.
17582
+ * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
17583
+ */
17584
+ href?: string;
17585
+ rel?: string;
17586
+ target?: string;
17587
+ /**
17588
+ * Set to true to show an icon indicating that it is an external link;
17589
+ * Defaults to true if `target="_blank"`
17590
+ */
17591
+ external?: boolean;
17592
+ /**
17593
+ * Adds `EuiIcon` of `EuiIcon.type`
17594
+ */
17580
17595
  iconType?: IconType;
17581
- /** z-index value to be used by the flyout session */
17582
- zIndex: number;
17583
- /** Title of the current child flyout. */
17584
- childTitle?: string;
17585
- /** Icon of the current child flyout. */
17586
- childIconType?: IconType;
17587
- /** Stack of child flyouts we navigated away from. */
17588
- childHistory: ChildHistoryEntry[];
17589
- /** Key that scopes this session's history; same Symbol reference = same history group. Always set (from action or Symbol()). */
17590
- historyKey: symbol;
17591
- }
17592
- export interface PushPaddingOffsets {
17593
- /** Push padding applied to the left side (in pixels) */
17594
- left: number;
17595
- /** Push padding applied to the right side (in pixels) */
17596
- right: number;
17597
- }
17598
- export interface EuiFlyoutManagerState {
17599
- sessions: FlyoutSession[];
17600
- flyouts: EuiManagedFlyoutState[];
17601
- layoutMode: EuiFlyoutLayoutMode;
17602
- /** Active push padding offsets (updated by active push flyouts) */
17603
- pushPadding?: PushPaddingOffsets;
17604
- currentZIndex: number;
17605
- unmanagedFlyouts: string[];
17606
- /** The container element that flyouts are positioned relative to (if any). */
17607
- containerElement?: HTMLElement | null;
17608
17596
  /**
17609
- * Reference width used for layout and resize clamping (container or viewport).
17610
- * Set by the layout mode hook so flyouts use the same value for consistent clamping.
17597
+ * Further extend the props applied to EuiIcon
17611
17598
  */
17612
- referenceWidth?: number;
17613
- }
17614
- /**
17615
- * Public API surface provided through React context.
17616
- * Kept intentionally decoupled from action types to avoid module cycles.
17617
- */
17618
- export interface FlyoutManagerApi {
17619
- state: EuiFlyoutManagerState;
17620
- dispatch: (action: Action) => void;
17621
- addFlyout: (flyoutId: string, title: string, level?: EuiFlyoutLevel, size?: string, historyKey?: symbol, iconType?: IconType, minWidth?: number) => void;
17622
- closeFlyout: (flyoutId: string) => void;
17623
- closeAllFlyouts: () => void;
17624
- setActiveFlyout: (flyoutId: string | null) => void;
17625
- setFlyoutWidth: (flyoutId: string, width: number) => void;
17626
- setPushPadding: (side: 'left' | 'right', width: number) => void;
17627
- setContainerElement: (element: HTMLElement | null) => void;
17628
- goBack: () => void;
17629
- goToFlyout: (flyoutId: string, level?: EuiFlyoutLevel) => void;
17630
- addUnmanagedFlyout: (flyoutId: string) => void;
17631
- closeUnmanagedFlyout: (flyoutId: string) => void;
17632
- historyItems: Array<{
17633
- title: string;
17634
- iconType?: IconType;
17635
- onClick: () => void;
17636
- }>;
17637
- }
17638
-
17639
- }
17640
- declare module '@elastic/eui/src/components/flyout/manager/actions' {
17641
- import type { IconType } from '@elastic/eui/src/components/icon';
17642
- import { EuiFlyoutActivityStage, EuiFlyoutLevel, EuiFlyoutLayoutMode } from '@elastic/eui/src/components/flyout/manager/types'; const PREFIX: "eui/flyoutManager";
17643
- interface BaseAction {
17644
- type: `${typeof PREFIX}/${string}`;
17645
- }
17646
- /** Dispatched when a flyout registers itself with the manager. */
17647
- export const ACTION_ADD: "eui/flyoutManager/add";
17648
- /** Dispatched to remove a flyout from the manager (usually on close/unmount). */
17649
- export const ACTION_CLOSE: "eui/flyoutManager/close";
17650
- /** Dispatched to remove all flyouts from the manager. */
17651
- export const ACTION_CLOSE_ALL: "eui/flyoutManager/closeAll";
17652
- /** Dispatched to set which flyout is currently active within the session. */
17653
- export const ACTION_SET_ACTIVE: "eui/flyoutManager/setActive";
17654
- /** Dispatched when an active flyout's pixel width changes (for responsive layout). */
17655
- export const ACTION_SET_WIDTH: "eui/flyoutManager/setWidth";
17656
- /** Dispatched to switch layout mode between `side-by-side` and `stacked`. */
17657
- export const ACTION_SET_LAYOUT_MODE: "eui/flyoutManager/setLayoutMode";
17658
- /** Dispatched to update a flyout's activity stage (e.g., opening -> active). */
17659
- export const ACTION_SET_ACTIVITY_STAGE: "eui/flyoutManager/setActivityStage";
17660
- /** Dispatched to go back one session (remove current session). */
17661
- export const ACTION_GO_BACK: "eui/flyoutManager/goBack";
17662
- /** Dispatched to navigate to a specific flyout (remove all sessions after it). */
17663
- export const ACTION_GO_TO_FLYOUT: "eui/flyoutManager/goToFlyout";
17664
- /** Dispatched to set push padding offset for a side. */
17665
- export const ACTION_SET_PUSH_PADDING: "eui/flyoutManager/setPushPadding";
17666
- /** Dispatched to set the container element for container-relative flyouts. */
17667
- export const ACTION_SET_CONTAINER_ELEMENT: "eui/flyoutManager/setContainerElement";
17668
- /** Dispatched to set the reference width used for layout and resize clamping. */
17669
- export const ACTION_SET_REFERENCE_WIDTH: "eui/flyoutManager/setReferenceWidth";
17670
- export const ACTION_ADD_UNMANAGED_FLYOUT: "eui/flyoutManager/addUnmanagedFlyout";
17671
- export const ACTION_CLOSE_UNMANAGED_FLYOUT: "eui/flyoutManager/closeUnmanagedFlyout";
17672
- /**
17673
- * Add a flyout to manager state. The manager will create or update
17674
- * the current session depending on the `level` provided.
17675
- */
17676
- export interface AddFlyoutAction extends BaseAction {
17677
- type: typeof ACTION_ADD;
17678
- flyoutId: string;
17679
- title: string;
17680
- level: EuiFlyoutLevel;
17681
- size?: string;
17682
- historyKey?: symbol;
17683
- iconType?: IconType;
17684
- minWidth?: number;
17685
- }
17686
- /** Remove a flyout from manager state. Also updates the active session. */
17687
- export interface CloseFlyoutAction extends BaseAction {
17688
- type: typeof ACTION_CLOSE;
17689
- flyoutId: string;
17690
- }
17691
- /** Remove all flyouts from manager state. */
17692
- export interface CloseAllFlyoutsAction extends BaseAction {
17693
- type: typeof ACTION_CLOSE_ALL;
17694
- }
17695
- /** Set the active flyout within the current session (or clear with `null`). */
17696
- export interface SetActiveFlyoutAction extends BaseAction {
17697
- type: typeof ACTION_SET_ACTIVE;
17698
- flyoutId: string | null;
17699
- }
17700
- /** Update a flyout's measured width in pixels. */
17701
- export interface SetWidthAction extends BaseAction {
17702
- type: typeof ACTION_SET_WIDTH;
17703
- flyoutId: string;
17704
- width: number;
17705
- }
17706
- /** Change how flyouts are arranged: `side-by-side` or `stacked`. */
17707
- export interface SetLayoutModeAction extends BaseAction {
17708
- type: typeof ACTION_SET_LAYOUT_MODE;
17709
- layoutMode: EuiFlyoutLayoutMode;
17710
- }
17711
- /** Set a specific flyout's activity stage. */
17712
- export interface SetActivityStageAction extends BaseAction {
17713
- type: typeof ACTION_SET_ACTIVITY_STAGE;
17714
- flyoutId: string;
17715
- activityStage: EuiFlyoutActivityStage;
17716
- }
17717
- /** Go back one session (remove current session from stack). */
17718
- export interface GoBackAction extends BaseAction {
17719
- type: typeof ACTION_GO_BACK;
17720
- }
17721
- /** Navigate to a specific flyout (remove all sessions after it, or pop to child in history). */
17722
- export interface GoToFlyoutAction extends BaseAction {
17723
- type: typeof ACTION_GO_TO_FLYOUT;
17724
- flyoutId: string;
17725
- /** When 'child', find flyout in current session's childHistory and pop to it. When 'main' or omitted, find session by mainFlyoutId. */
17726
- level?: EuiFlyoutLevel;
17727
- }
17728
- /** Set push padding offset for a specific side. */
17729
- export interface SetPushPaddingAction extends BaseAction {
17730
- type: typeof ACTION_SET_PUSH_PADDING;
17731
- side: 'left' | 'right';
17732
- width: number;
17733
- }
17734
- export interface AddUnmanagedFlyoutAction extends BaseAction {
17735
- type: typeof ACTION_ADD_UNMANAGED_FLYOUT;
17736
- flyoutId: string;
17737
- }
17738
- export interface CloseUnmanagedFlyoutAction extends BaseAction {
17739
- type: typeof ACTION_CLOSE_UNMANAGED_FLYOUT;
17740
- flyoutId: string;
17741
- }
17742
- /** Set the container element for container-relative positioning. */
17743
- export interface SetContainerElementAction extends BaseAction {
17744
- type: typeof ACTION_SET_CONTAINER_ELEMENT;
17745
- element: HTMLElement | null;
17746
- }
17747
- /** Set the reference width for layout and resize clamping. */
17748
- export interface SetReferenceWidthAction extends BaseAction {
17749
- type: typeof ACTION_SET_REFERENCE_WIDTH;
17750
- width: number;
17751
- }
17752
- /** Union of all flyout manager actions. */
17753
- export type Action = AddFlyoutAction | CloseFlyoutAction | CloseAllFlyoutsAction | SetActiveFlyoutAction | SetWidthAction | SetLayoutModeAction | SetActivityStageAction | GoBackAction | GoToFlyoutAction | SetPushPaddingAction | AddUnmanagedFlyoutAction | CloseUnmanagedFlyoutAction | SetContainerElementAction | SetReferenceWidthAction;
17754
- /**
17755
- * Register a flyout with the manager.
17756
- * - `title` is used for the flyout menu.
17757
- * - `level` determines whether the flyout is `main` or `child`.
17758
- * - Optional `size` is the named EUI size (e.g. `s`, `m`, `l`).
17759
- * - Optional `historyKey` (Symbol) scopes history; only flyouts with the same reference share Back/history. Omit for a unique group per session.
17760
- * - Optional `iconType` is shown next to the session title in the history menu.
17761
- */
17762
- export const addFlyout: (flyoutId: string, title: string, level?: EuiFlyoutLevel, size?: string, historyKey?: symbol, iconType?: IconType, minWidth?: number) => AddFlyoutAction;
17763
- /** Unregister a flyout and update the session accordingly. */
17764
- export const closeFlyout: (flyoutId: string) => CloseFlyoutAction;
17765
- /** Unregister all flyouts. */
17766
- export const closeAllFlyouts: () => CloseAllFlyoutsAction;
17767
- /** Set or clear the active flyout for the current session. */
17768
- export const setActiveFlyout: (flyoutId: string | null) => SetActiveFlyoutAction;
17769
- /** Record a flyout's current width in pixels. */
17770
- export const setFlyoutWidth: (flyoutId: string, width: number) => SetWidthAction;
17771
- /** Switch layout mode between `side-by-side` and `stacked`. */
17772
- export const setLayoutMode: (layoutMode: EuiFlyoutLayoutMode) => SetLayoutModeAction;
17773
- /** Update a flyout's activity stage. */
17774
- export const setActivityStage: (flyoutId: string, activityStage: EuiFlyoutActivityStage) => SetActivityStageAction;
17775
- /** Go back one session (remove current session from stack). */
17776
- export const goBack: () => GoBackAction;
17777
- /** Navigate to a specific flyout (remove all sessions after it, or pop to child in history when level === 'child'). */
17778
- export const goToFlyout: (flyoutId: string, level?: EuiFlyoutLevel) => GoToFlyoutAction;
17779
- /** Set push padding offset for a specific side. */
17780
- export const setPushPadding: (side: "left" | "right", width: number) => SetPushPaddingAction;
17781
- /** Register an unmanaged flyout for z-index positioning purposes */
17782
- export const addUnmanagedFlyout: (flyoutId: string) => AddUnmanagedFlyoutAction;
17783
- /** Unregister an unmanaged flyout */
17784
- export const closeUnmanagedFlyout: (flyoutId: string) => CloseUnmanagedFlyoutAction;
17785
- /** Set the container element for container-relative flyout positioning. */
17786
- export const setContainerElement: (element: HTMLElement | null) => SetContainerElementAction;
17787
- /** Set the reference width for layout and resize clamping. */
17788
- export const setReferenceWidth: (width: number) => SetReferenceWidthAction;
17789
- export {};
17599
+ iconProps?: Omit<EuiIconProps, 'type'>;
17600
+ /**
17601
+ * Custom node to pass as the icon. Cannot be used in conjunction
17602
+ * with `iconType` and `iconProps`.
17603
+ */
17604
+ icon?: ReactElement;
17605
+ /**
17606
+ * Display tooltip on list item
17607
+ */
17608
+ showToolTip?: boolean;
17609
+ /**
17610
+ * An object of {@link EuiListGroupItemExtraAction} props.
17611
+ * Adds an `EuiButtonIcon` to the right side of the item; `iconType` is required;
17612
+ * pass `alwaysShow` if you don't want the default behavior of only showing on hover
17613
+ */
17614
+ extraAction?: EuiListGroupItemExtraActionProps;
17615
+ /**
17616
+ * Make the list item label a button.
17617
+ * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
17618
+ */
17619
+ onClick?: MouseEventHandler<HTMLButtonElement>;
17620
+ /**
17621
+ * Allow link text to wrap
17622
+ */
17623
+ wrapText?: boolean;
17624
+ /**
17625
+ * Pass-through ref reference specifically for targeting
17626
+ * instances where the item content is rendered as a `button`
17627
+ */
17628
+ buttonRef?: React.Ref<HTMLButtonElement>;
17629
+ /**
17630
+ * Text to be displayed in the tooltip when `showToolTip` is true.
17631
+ * By default the text will be same as the label text.
17632
+ */
17633
+ toolTipText?: string;
17634
+ /**
17635
+ * Allows customizing the tooltip shown when `showToolTip` is true.
17636
+ * Accepts any props that [EuiToolTip](/#/display/tooltip) accepts.
17637
+ */
17638
+ toolTipProps?: Partial<EuiToolTipProps>;
17639
+ };
17640
+ export const EuiListGroupItem: FunctionComponent<EuiListGroupItemProps>;
17790
17641
 
17791
17642
  }
17792
- declare module '@elastic/eui/src/components/flyout/manager/reducer' {
17793
- import { Action } from '@elastic/eui/src/components/flyout/manager/actions';
17794
- import { EuiFlyoutManagerState } from '@elastic/eui/src/components/flyout/manager/types';
17795
- /**
17796
- * Default flyout manager state used to initialize the reducer.
17797
- */
17798
- export const initialState: EuiFlyoutManagerState;
17799
- /**
17800
- * Reducer handling all flyout manager actions and state transitions.
17801
- */
17802
- export function flyoutManagerReducer(state: EuiFlyoutManagerState | undefined, action: Action): EuiFlyoutManagerState;
17643
+ declare module '@elastic/eui/src/components/list_group/list_group.styles' {
17644
+ import { UseEuiTheme } from '@elastic/eui/src/services';
17645
+ export const euiListGroupStyles: (euiThemeContext: UseEuiTheme) => {
17646
+ euiListGroup: import("@emotion/react").SerializedStyles;
17647
+ bordered: import("@emotion/react").SerializedStyles;
17648
+ maxWidthDefault: import("@emotion/react").SerializedStyles;
17649
+ };
17803
17650
 
17804
17651
  }
17805
- declare module '@elastic/eui/src/components/flyout/manager/store' {
17806
- import type { IconType } from '@elastic/eui/src/components/icon';
17807
- import type { EuiFlyoutLevel, EuiFlyoutManagerState, FlyoutSession } from '@elastic/eui/src/components/flyout/manager/types';
17808
- import type { Action } from '@elastic/eui/src/components/flyout/manager/actions';
17809
- type Listener = () => void;
17810
- /**
17811
- * Events emitted by the flyout manager store for external consumers.
17812
- */
17813
- export type FlyoutManagerEvent = {
17814
- type: 'CLOSE_SESSION';
17815
- session: FlyoutSession;
17652
+ declare module '@elastic/eui/src/components/list_group/list_group' {
17653
+ import { FunctionComponent, HTMLAttributes, CSSProperties } from 'react';
17654
+ import { CommonProps } from '@elastic/eui/src/components/common';
17655
+ import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
17656
+ export type EuiListGroupProps = CommonProps & Omit<HTMLAttributes<HTMLUListElement>, 'color'> & {
17657
+ /**
17658
+ * Add a border to the list container
17659
+ */
17660
+ bordered?: boolean;
17661
+ /**
17662
+ * Items to display in this group. See {@link EuiListGroupItem}
17663
+ */
17664
+ listItems?: EuiListGroupItemProps[];
17665
+ /**
17666
+ * Change the colors of all `listItems` at once
17667
+ * @default text
17668
+ */
17669
+ color?: EuiListGroupItemProps['color'];
17670
+ /**
17671
+ * Sets the max-width of the page.
17672
+ * Set to `true` to use the default size,
17673
+ * set to `false` to not restrict the width,
17674
+ * or set to a number/string for a custom CSS width/measurement.
17675
+ */
17676
+ maxWidth?: boolean | CSSProperties['maxWidth'];
17677
+ /**
17678
+ * Display tooltips on all list items
17679
+ */
17680
+ showToolTips?: boolean;
17681
+ /**
17682
+ * Allow link text to wrap vs truncated
17683
+ */
17684
+ wrapText?: boolean;
17685
+ ariaLabelledby?: string;
17816
17686
  };
17817
- type EventListener = (event: FlyoutManagerEvent) => void;
17818
- export interface FlyoutManagerStore {
17819
- getState: () => EuiFlyoutManagerState;
17820
- subscribe: (listener: Listener) => () => void;
17821
- subscribeToEvents: (listener: EventListener) => () => void;
17822
- dispatch: (action: Action) => void;
17823
- addFlyout: (flyoutId: string, title: string, level?: EuiFlyoutLevel, size?: string, historyKey?: symbol, iconType?: IconType, minWidth?: number) => void;
17824
- closeFlyout: (flyoutId: string) => void;
17825
- closeAllFlyouts: () => void;
17826
- setActiveFlyout: (flyoutId: string | null) => void;
17827
- setFlyoutWidth: (flyoutId: string, width: number) => void;
17828
- setPushPadding: (side: 'left' | 'right', width: number) => void;
17829
- setContainerElement: (element: HTMLElement | null) => void;
17830
- goBack: () => void;
17831
- goToFlyout: (flyoutId: string, level?: EuiFlyoutLevel) => void;
17832
- addUnmanagedFlyout: (flyoutId: string) => void;
17833
- closeUnmanagedFlyout: (flyoutId: string) => void;
17834
- historyItems: Array<{
17835
- title: string;
17836
- iconType?: IconType;
17837
- onClick: () => void;
17838
- }>;
17687
+ export const EuiListGroup: FunctionComponent<EuiListGroupProps>;
17688
+
17689
+ }
17690
+ declare module '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group.styles' {
17691
+ import { UseEuiTheme } from '@elastic/eui/src/services';
17692
+ export const euiPinnableListGroupItemExtraActionStyles: ({ euiTheme, }: UseEuiTheme) => {
17693
+ euiPinnableListGroup__itemExtraAction: import("@emotion/react").SerializedStyles;
17694
+ pinned: import("@emotion/react").SerializedStyles;
17695
+ };
17696
+
17697
+ }
17698
+ declare module '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group' {
17699
+ import { FunctionComponent } from 'react';
17700
+ import { CommonProps } from '@elastic/eui/src/components/common';
17701
+ import { EuiListGroupProps } from '@elastic/eui/src/components/list_group/list_group';
17702
+ import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
17703
+ export type EuiPinnableListGroupItemProps = EuiListGroupItemProps & {
17704
+ /**
17705
+ * Saves the pinned status and changes the visibility of the pin icon
17706
+ */
17707
+ pinned?: boolean;
17708
+ /**
17709
+ * Passing `onPinClick` to the full EuiPinnableListGroup, will make every item pinnable.
17710
+ * Set this property to `false` to turn off individual item pinnability
17711
+ */
17712
+ pinnable?: boolean;
17713
+ };
17714
+ export interface EuiPinnableListGroupProps extends CommonProps, EuiListGroupProps {
17715
+ /**
17716
+ * Extends `EuiListGroupItemProps`, at the very least, expecting a `label`.
17717
+ * See {@link EuiPinnableListGroupItemProps}
17718
+ */
17719
+ listItems: EuiPinnableListGroupItemProps[];
17720
+ /**
17721
+ * Shows the pin icon and calls this function on click.
17722
+ * Returns `item: EuiPinnableListGroupItemProps`
17723
+ */
17724
+ onPinClick: (item: EuiPinnableListGroupItemProps) => void;
17725
+ /**
17726
+ * The pin icon needs a title/aria-label for accessibility.
17727
+ * It is a function that passes the item back and must return a string `(item) => string`.
17728
+ * Default is `"Pin item"`
17729
+ */
17730
+ pinTitle?: (item: EuiPinnableListGroupItemProps) => string;
17731
+ /**
17732
+ * The unpin icon needs a title/aria-label for accessibility.
17733
+ * It is a function that passes the item back and must return a string `(item) => string`.
17734
+ * Default is `"Unpin item"`
17735
+ */
17736
+ unpinTitle?: (item: EuiPinnableListGroupItemProps) => string;
17839
17737
  }
17840
- /**
17841
- * Returns a singleton store instance shared across all React roots within the same JS context.
17842
- * Uses module-level singleton to ensure deduplication even if modules are loaded twice.
17843
- */
17844
- export function getFlyoutManagerStore(): FlyoutManagerStore;
17845
- /**
17846
- * For testing purposes - allows resetting the store
17847
- */
17848
- export function _resetFlyoutManagerStore(): void;
17849
- export {};
17738
+ export const EuiPinnableListGroup: FunctionComponent<EuiPinnableListGroupProps>;
17850
17739
 
17851
17740
  }
17852
- declare module '@elastic/eui/src/components/flyout/manager/selectors' {
17853
- export const useSession: (flyoutId?: string | null) => import ("@elastic/eui/src/components/flyout/manager/types").FlyoutSession | null;
17854
- /** True when any managed flyout session is currently active. */
17855
- export const useHasActiveSession: () => boolean;
17856
- /** True if the given `flyoutId` is the main or child flyout in the latest session. */
17857
- export const useIsFlyoutActive: (flyoutId: string) => boolean;
17858
- export const useFlyout: (flyoutId?: string | null) => import ("@elastic/eui/src/components/flyout/manager/types").EuiManagedFlyoutState | null;
17859
- export const useIsFlyoutRegistered: (flyoutId?: string | null) => boolean;
17860
- /** The most recent flyout session or `null` if none. */
17861
- export const useCurrentSession: () => import ("@elastic/eui/src/components/flyout/manager/types").FlyoutSession | null;
17862
- /** The registered state of the current session's main flyout, if present. */
17863
- export const useCurrentMainFlyout: () => import ("@elastic/eui/src/components/flyout/manager/types").EuiManagedFlyoutState | null;
17864
- /** The registered state of the current session's child flyout, if present. */
17865
- export const useCurrentChildFlyout: () => import ("@elastic/eui/src/components/flyout/manager/types").EuiManagedFlyoutState | null;
17866
- /** The measured width (px) of the specified flyout, or `null` if unknown. */
17867
- export const useFlyoutWidth: (flyoutId?: string | null) => number | undefined;
17868
- /** The configured minWidth (px) of the specified flyout, or `undefined` if not set. */
17869
- export const useFlyoutMinWidth: (flyoutId?: string | null) => number | undefined;
17870
- /** The configured size of the parent (main) flyout for a given child flyout ID. */
17871
- export const useParentFlyoutSize: (childFlyoutId: string) => string | undefined;
17872
- /** True if the provided `flyoutId` is the main flyout and it currently has a child. */
17873
- export const useHasChildFlyout: (flyoutId: string) => boolean;
17874
- /** Get the current push padding offsets from manager state. */
17875
- export const usePushPaddingOffsets: () => import ("@elastic/eui/src/components/flyout/manager/types").PushPaddingOffsets;
17876
- /** True if there's any active push padding (left or right side). */
17877
- export const useHasPushPadding: () => boolean;
17878
- /** Get the ref for the current flyout z-index to be used */
17879
- export const useCurrentFlyoutZIndexRef: () => import("react").MutableRefObject<number>;
17741
+ declare module '@elastic/eui/src/components/list_group/pinnable_list_group' {
17742
+ export type { EuiPinnableListGroupProps, EuiPinnableListGroupItemProps, } from '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group';
17743
+ export { EuiPinnableListGroup } from '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group';
17880
17744
 
17881
17745
  }
17882
- declare module '@elastic/eui/src/components/flyout/manager/context' {
17883
- import React from 'react';
17884
- /**
17885
- * React provider that marks descendants as being rendered inside
17886
- * an EUI managed flyout. Used by hooks/components to alter behavior
17887
- * (e.g., focus handling) when inside a managed flyout tree.
17888
- */
17889
- export const EuiFlyoutIsManagedProvider: ({ isManaged, children, }: {
17890
- isManaged: boolean;
17891
- children: React.ReactNode;
17892
- }) => React.JSX.Element;
17893
- /**
17894
- * Hook that returns `true` when called within an EUI managed flyout subtree.
17895
- */
17896
- export const useIsInManagedFlyout: () => boolean;
17746
+ declare module '@elastic/eui/src/components/list_group' {
17747
+ export type { EuiListGroupProps } from '@elastic/eui/src/components/list_group/list_group';
17748
+ export { EuiListGroup } from '@elastic/eui/src/components/list_group/list_group';
17749
+ export type { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
17750
+ export type { EuiListGroupItemExtraActionProps } from '@elastic/eui/src/components/list_group/list_group_item_extra_action';
17751
+ export { EuiListGroupItem } from '@elastic/eui/src/components/list_group/list_group_item';
17752
+ export type { EuiPinnableListGroupProps, EuiPinnableListGroupItemProps, } from '@elastic/eui/src/components/list_group/pinnable_list_group';
17753
+ export { EuiPinnableListGroup } from '@elastic/eui/src/components/list_group/pinnable_list_group';
17897
17754
 
17898
17755
  }
17899
- declare module '@elastic/eui/src/components/flyout/manager/hooks' {
17900
- export { useIsFlyoutActive, useHasActiveSession, useCurrentSession, useCurrentMainFlyout, useCurrentChildFlyout, useFlyoutWidth, useParentFlyoutSize, useHasChildFlyout, usePushPaddingOffsets, useHasPushPadding, } from '@elastic/eui/src/components/flyout/manager/selectors';
17901
- export { useFlyoutLayoutMode } from '@elastic/eui/src/components/flyout/manager/layout_mode';
17902
- export { useIsInManagedFlyout } from '@elastic/eui/src/components/flyout/manager/context';
17903
- export type { EuiFlyoutActivityStage } from '@elastic/eui/src/components/flyout/manager/types';
17904
- /** Access the flyout manager context (state and actions). */
17905
- export const useFlyoutManager: () => import ("@elastic/eui/src/components/flyout/manager/types").FlyoutManagerApi | null;
17756
+ declare module '@elastic/eui/src/components/flyout/const' {
17757
+ import { EuiBreakpointSize } from '@elastic/eui/src/services';
17758
+ /** Allowed flyout render types. */
17759
+ export const FLYOUT_TYPES: readonly ["push", "overlay"];
17760
+ /** Type representing a supported flyout render type. */
17761
+ export type _EuiFlyoutType = (typeof FLYOUT_TYPES)[number];
17762
+ /** Allowed flyout attachment sides. */
17763
+ export const FLYOUT_SIDES: readonly ["left", "right"];
17764
+ /** Type representing a supported flyout side. */
17765
+ export type _EuiFlyoutSide = (typeof FLYOUT_SIDES)[number];
17766
+ /** Allowed named flyout sizes used by the manager. */
17767
+ export const FLYOUT_SIZES: readonly ["s", "m", "l", "fill"];
17768
+ /** Type representing a supported named flyout size. */
17769
+ export type EuiFlyoutSize = (typeof FLYOUT_SIZES)[number];
17770
+ /** Menu display mode: always render menu when flyoutMenuProps is provided. */
17771
+ export const MENU_DISPLAY_ALWAYS: "always";
17772
+ /** Menu display mode: only render menu when it has content (back button, history, title, or custom actions). */
17773
+ export const MENU_DISPLAY_AUTO: "auto";
17774
+ /** Allowed flyout menu display modes. */
17775
+ export const FLYOUT_MENU_DISPLAY_MODES: readonly ["always", "auto"];
17776
+ /** Type representing a supported flyout menu display mode. */
17777
+ export type EuiFlyoutMenuDisplayMode = (typeof FLYOUT_MENU_DISPLAY_MODES)[number];
17778
+ /** Allowed padding sizes for flyout content. */
17779
+ export const FLYOUT_PADDING_SIZES: readonly ["none", "s", "m", "l"];
17780
+ /** Type representing a supported flyout padding size. */
17781
+ export type _EuiFlyoutPaddingSize = (typeof FLYOUT_PADDING_SIZES)[number];
17782
+ /** Default minimum breakpoint at which push-type flyouts begin to push content. */
17783
+ export const DEFAULT_PUSH_MIN_BREAKPOINT: EuiBreakpointSize;
17784
+ /** Default flyout type when none is provided. */
17785
+ export const DEFAULT_TYPE: _EuiFlyoutType;
17786
+ /** Default side where flyouts anchor when none is provided. */
17787
+ export const DEFAULT_SIDE: _EuiFlyoutSide;
17788
+ /** Default named flyout size. */
17789
+ export const DEFAULT_SIZE: EuiFlyoutSize;
17790
+ /** Default padding size inside flyouts. */
17791
+ export const DEFAULT_PADDING_SIZE: _EuiFlyoutPaddingSize;
17792
+ /** Default flyout menu display mode. */
17793
+ export const DEFAULT_MENU_DISPLAY_MODE: EuiFlyoutMenuDisplayMode;
17906
17794
  /**
17907
- * Stable flyout ID utility. Uses the passed `id` if provided and not already registered,
17908
- * otherwise generates a deterministic ID for the component's lifetime.
17909
- * The ID remains stable across re-renders to maintain consistency in effects and other hooks.
17795
+ * Custom type checker for named flyout sizes since the prop
17796
+ * `size` can also be CSSProperties['width'] (string | number)
17910
17797
  */
17911
- export const useFlyoutId: (flyoutId?: string) => string;
17798
+ export function isEuiFlyoutSizeNamed(value: unknown): value is EuiFlyoutSize;
17912
17799
 
17913
17800
  }
17914
- declare module '@elastic/eui/src/components/flyout/manager/layout_mode' {
17915
- import { EuiFlyoutLayoutMode } from '@elastic/eui/src/components/flyout/manager/types';
17801
+ declare module '@elastic/eui/src/components/flyout/flyout.styles' {
17802
+ import { EuiFlyoutSize } from '@elastic/eui/src/components/flyout/const';
17803
+ import { UseEuiTheme } from '@elastic/eui/src/services';
17804
+ export const FLYOUT_BREAKPOINT: "m";
17805
+ export const euiFlyoutSlideInRight: import("@emotion/serialize").Keyframes;
17806
+ export const euiFlyoutSlideOutRight: import("@emotion/serialize").Keyframes;
17807
+ export const euiFlyoutSlideInLeft: import("@emotion/serialize").Keyframes;
17808
+ export const euiFlyoutSlideOutLeft: import("@emotion/serialize").Keyframes;
17916
17809
  /**
17917
- * Hook to handle responsive layout mode for managed flyouts.
17918
- * Decides whether to place flyouts side-by-side or stacked based on
17919
- * the reference width (the reference container's width, defaulting to
17920
- * document.body when not set) and flyout widths/sizes.
17810
+ * When a `container` reference element is provided, the flyout's position
17811
+ * and dimensions are constrained to the container's bounding rect via
17812
+ * inline styles computed in JS.
17921
17813
  */
17922
- export const useApplyFlyoutLayoutMode: () => void;
17814
+ export const euiFlyoutStyles: (euiThemeContext: UseEuiTheme) => {
17815
+ noMaxWidth: import("@emotion/react").SerializedStyles;
17816
+ right: import("@emotion/react").SerializedStyles;
17817
+ left: import("@emotion/react").SerializedStyles;
17818
+ overlay: {
17819
+ overlay: import("@emotion/react").SerializedStyles;
17820
+ left: import("@emotion/react").SerializedStyles;
17821
+ right: import("@emotion/react").SerializedStyles;
17822
+ };
17823
+ push: {
17824
+ push: import("@emotion/react").SerializedStyles;
17825
+ right: import("@emotion/react").SerializedStyles;
17826
+ left: import("@emotion/react").SerializedStyles;
17827
+ };
17828
+ noAnimation: import("@emotion/react").SerializedStyles;
17829
+ paddingSizes: {
17830
+ none: import("@emotion/react").SerializedStyles;
17831
+ s: import("@emotion/react").SerializedStyles;
17832
+ m: import("@emotion/react").SerializedStyles;
17833
+ l: import("@emotion/react").SerializedStyles;
17834
+ };
17835
+ s: import("@emotion/react").SerializedStyles;
17836
+ m: import("@emotion/react").SerializedStyles;
17837
+ l: import("@emotion/react").SerializedStyles;
17838
+ fill: import("@emotion/react").SerializedStyles;
17839
+ euiFlyout: import("@emotion/react").SerializedStyles;
17840
+ };
17923
17841
  /**
17924
- * Convert a flyout `size` value to a pixel width.
17925
- * When `referenceWidth` is provided, named sizes are calculated as a percentage
17926
- * of that width (container-relative). Otherwise falls back to `window.innerWidth`.
17842
+ * Applies a max-width constraint at the flyout breakpoint.
17927
17843
  */
17928
- export const getWidthFromSize: (size: string | number, referenceWidth?: number) => number;
17929
- /** Current layout mode for managed flyouts (`side-by-side` or `stacked`). */
17930
- export const useFlyoutLayoutMode: () => EuiFlyoutLayoutMode;
17931
-
17932
- }
17933
- declare module '@elastic/eui/src/components/flyout/manager/provider' {
17934
- import React from 'react';
17935
- import { FlyoutManagerApi } from '@elastic/eui/src/components/flyout/manager/types';
17844
+ export const maxedFlyoutWidth: (euiThemeContext: UseEuiTheme) => string;
17936
17845
  /**
17937
- * React context that exposes the Flyout Manager API (state + actions).
17846
+ * Composes the full set of named size styles (`s`, `m`, `l`, `fill`).
17847
+ *
17848
+ * Uses `%` units for widths. Media queries drive responsive breakpoints.
17849
+ *
17850
+ * When a child flyout is stacked on top of the parent, the parent flyout
17851
+ * size will match the child flyout size. The `s` and `m` sizes include
17852
+ * overrides for this stacked-child behavior.
17938
17853
  */
17939
- export const EuiFlyoutManagerContext: React.Context<FlyoutManagerApi | null>;
17854
+ export const composeFlyoutSizing: (euiThemeContext: UseEuiTheme) => {
17855
+ s: import("@emotion/react").SerializedStyles;
17856
+ m: import("@emotion/react").SerializedStyles;
17857
+ l: import("@emotion/react").SerializedStyles;
17858
+ fill: import("@emotion/react").SerializedStyles;
17859
+ };
17940
17860
  /**
17941
- * Provides the Flyout Manager API via context and runs layout-mode logic.
17861
+ * Composes all inline styles for a flyout based on its configuration.
17862
+ * Uses a CSS custom property (`--euiFlyoutMainWidth`) for synchronous
17863
+ * tracking of the main flyout width during resize drag, falling back to
17864
+ * the pixel value from manager state when the variable is not set.
17942
17865
  */
17943
- export const EuiFlyoutManager: React.FC<{
17944
- children: React.ReactNode;
17945
- }>;
17946
- /** Hook to access the Flyout Manager API from context. */
17947
- export const useFlyoutManager: () => FlyoutManagerApi | null;
17866
+ export const composeFlyoutInlineStyles: (size: EuiFlyoutSize | string | number, layoutMode: "side-by-side" | "stacked", siblingFlyoutId: string | null, siblingFlyoutWidth: number | null, maxWidth: boolean | number | string | undefined, zIndex?: number) => React.CSSProperties;
17948
17867
 
17949
17868
  }
17950
- declare module '@elastic/eui/src/components/list_group/list_group_item_extra_action.styles' {
17869
+ declare module '@elastic/eui/src/components/flyout/_flyout_close_button.styles' {
17951
17870
  import { UseEuiTheme } from '@elastic/eui/src/services';
17952
- export const euiListGroupItemExtraActionStyles: ({ euiTheme, }: UseEuiTheme) => {
17953
- euiListGroupItemExtraAction: import("@emotion/react").SerializedStyles;
17954
- hoverStyles: import("@emotion/react").SerializedStyles;
17955
- alwaysShow: import("@emotion/react").SerializedStyles;
17871
+ export const euiFlyoutCloseButtonStyles: (euiThemeContext: UseEuiTheme) => {
17872
+ euiFlyout__closeButton: import("@emotion/react").SerializedStyles;
17873
+ inside: import("@emotion/react").SerializedStyles;
17874
+ outside: import("@emotion/react").SerializedStyles;
17875
+ outsideSide: {
17876
+ right: import("@emotion/react").SerializedStyles;
17877
+ left: import("@emotion/react").SerializedStyles;
17878
+ };
17956
17879
  };
17957
17880
 
17958
17881
  }
17959
- declare module '@elastic/eui/src/components/list_group/list_group_item_extra_action' {
17882
+ declare module '@elastic/eui/src/components/flyout/_flyout_close_button' {
17960
17883
  import { FunctionComponent } from 'react';
17961
- import { EuiButtonIconPropsForButton } from '@elastic/eui/src/components/button';
17962
- export type EuiListGroupItemExtraActionProps = {
17963
- alwaysShow?: boolean;
17964
- } & EuiButtonIconPropsForButton;
17965
- type _FromEuiListGroupItem = {
17966
- parentIsDisabled?: boolean;
17967
- };
17968
- export const EuiListGroupItemExtraAction: FunctionComponent<EuiListGroupItemExtraActionProps & _FromEuiListGroupItem>;
17884
+ import type { EuiFlyoutProps } from '@elastic/eui/src/components/flyout/flyout';
17885
+ type EuiFlyoutCloseButtonProps = EuiFlyoutProps['closeButtonProps'] & Required<Pick<EuiFlyoutProps, 'closeButtonPosition' | 'onClose' | 'side'>>;
17886
+ export const EuiFlyoutCloseButton: FunctionComponent<EuiFlyoutCloseButtonProps>;
17969
17887
  export {};
17970
17888
 
17971
17889
  }
17972
- declare module '@elastic/eui/src/components/list_group/list_group_item.styles' {
17890
+ declare module '@elastic/eui/src/components/flyout/flyout_menu.styles' {
17973
17891
  import { UseEuiTheme } from '@elastic/eui/src/services';
17974
- export const euiListGroupItemStyles: (euiThemeContext: UseEuiTheme) => {
17975
- euiListGroupItem: import("@emotion/react").SerializedStyles;
17976
- euiListGroupItem__inner: import("@emotion/react").SerializedStyles;
17977
- primary: import("@emotion/react").SerializedStyles;
17978
- text: import("@emotion/react").SerializedStyles;
17979
- subdued: import("@emotion/react").SerializedStyles;
17980
- };
17981
- export const euiListGroupItemTooltipStyles: {
17982
- euiListGroupItem__tooltip: import("@emotion/react").SerializedStyles;
17892
+ export const euiFlyoutMenuStyles: (euiThemeContext: UseEuiTheme) => {
17893
+ euiFlyoutMenu__container: import("@emotion/react").SerializedStyles;
17894
+ euiFlyoutMenu__spacer: import("@emotion/react").SerializedStyles;
17895
+ euiFlyoutMenu__actions: import("@emotion/react").SerializedStyles;
17896
+ euiFlyoutMenu__hiddenTitle: import("@emotion/react").SerializedStyles;
17897
+ euiFlyoutMenu__paginationCounter: import("@emotion/react").SerializedStyles;
17983
17898
  };
17984
17899
 
17985
17900
  }
17986
- declare module '@elastic/eui/src/components/list_group/list_group_item' {
17987
- import React, { HTMLAttributes, AnchorHTMLAttributes, ButtonHTMLAttributes, ReactNode, ReactElement, MouseEventHandler, FunctionComponent } from 'react';
17988
- import { EuiDisabledProps } from '@elastic/eui/src/services';
17989
- import { ExclusiveUnion, CommonProps } from '@elastic/eui/src/components/common';
17990
- import { IconType, EuiIconProps } from '@elastic/eui/src/components/icon';
17991
- import { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip';
17992
- import { EuiListGroupItemExtraActionProps } from '@elastic/eui/src/components/list_group/list_group_item_extra_action';
17993
- export const COLORS: readonly ["primary", "text", "subdued"];
17994
- export type EuiListGroupItemColor = (typeof COLORS)[number];
17995
- export type EuiListGroupItemProps = CommonProps & Omit<ExclusiveUnion<ExclusiveUnion<ButtonHTMLAttributes<HTMLButtonElement>, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>>, HTMLAttributes<HTMLSpanElement>>, 'onClick' | 'color' | 'target' | 'rel'> & EuiDisabledProps & {
17996
- /**
17997
- * By default the item will get the color `text`.
17998
- * You can customize the color of the item by passing a color name.
17999
- * @default 'text'
18000
- */
18001
- color?: EuiListGroupItemColor;
18002
- /**
18003
- * Content to be displayed in the list item
18004
- */
18005
- label: ReactNode;
18006
- /**
18007
- * Apply styles indicating an item is active
18008
- */
18009
- isActive?: boolean;
18010
- /**
18011
- * Make the list item label a link.
18012
- * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
18013
- */
18014
- href?: string;
18015
- rel?: string;
18016
- target?: string;
17901
+ declare module '@elastic/eui/src/components/flyout/flyout_menu_context' {
17902
+ import { EuiFlyoutProps } from '@elastic/eui/src/components/flyout/flyout';
17903
+ interface EuiFlyoutMenuContextProps {
17904
+ onClose?: EuiFlyoutProps['onClose'];
17905
+ }
17906
+ export const EuiFlyoutMenuContext: import("react").Context<EuiFlyoutMenuContextProps>;
17907
+ export {};
17908
+
17909
+ }
17910
+ declare module '@elastic/eui/src/components/flyout/types' {
17911
+ export type EuiFlyoutCloseEvent = MouseEvent | TouchEvent | KeyboardEvent;
17912
+ /**
17913
+ * Describes the source that triggered a flyout close. Passed to `onClose` via
17914
+ * the optional `meta` argument so consumers can react differently per source.
17915
+ *
17916
+ * - `close-button`: the default/X close button (base flyout and managed menu)
17917
+ * - `escape`: the Escape key
17918
+ * - `outside-click`: a click on the overlay mask or outside the flyout
17919
+ * - `navigation-back`: a managed flyout closed because the user pressed Back
17920
+ * - `navigation-cascade`: a managed flyout closed because a parent navigated
17921
+ * away or the main flyout closed (e.g. a tab switch)
17922
+ */
17923
+ export type EuiFlyoutCloseReason = 'close-button' | 'escape' | 'outside-click' | 'navigation-back' | 'navigation-cascade';
17924
+ /**
17925
+ * Optional metadata passed as the second argument to a flyout's `onClose`
17926
+ * callback, describing why the flyout closed.
17927
+ */
17928
+ export interface EuiFlyoutCloseMeta {
17929
+ reason: EuiFlyoutCloseReason;
17930
+ }
17931
+
17932
+ }
17933
+ declare module '@elastic/eui/src/components/flyout/flyout_menu' {
17934
+ import React, { FunctionComponent, HTMLAttributes } from 'react';
17935
+ import { EuiButtonProps } from '@elastic/eui/src/components/button';
17936
+ import { CommonProps, PropsForAnchor } from '@elastic/eui/src/components/common';
17937
+ import type { IconType } from '@elastic/eui/src/components/icon';
17938
+ type EuiFlyoutMenuBackButtonProps = Pick<PropsForAnchor<EuiButtonProps>, 'aria-label' | 'data-test-subj' | 'onClick'>;
17939
+ /**
17940
+ * History item for the flyout menu history popover
17941
+ */
17942
+ export interface EuiFlyoutHistoryItem {
18017
17943
  /**
18018
- * Set to true to show an icon indicating that it is an external link;
18019
- * Defaults to true if `target="_blank"`
17944
+ * Title for the history item
18020
17945
  */
18021
- external?: boolean;
17946
+ title: string;
18022
17947
  /**
18023
- * Adds `EuiIcon` of `EuiIcon.type`
17948
+ * An optional icon to display next to the session title in the history menu
18024
17949
  */
18025
17950
  iconType?: IconType;
18026
17951
  /**
18027
- * Further extend the props applied to EuiIcon
18028
- */
18029
- iconProps?: Omit<EuiIconProps, 'type'>;
18030
- /**
18031
- * Custom node to pass as the icon. Cannot be used in conjunction
18032
- * with `iconType` and `iconProps`.
18033
- */
18034
- icon?: ReactElement;
18035
- /**
18036
- * Display tooltip on list item
18037
- */
18038
- showToolTip?: boolean;
18039
- /**
18040
- * An object of {@link EuiListGroupItemExtraAction} props.
18041
- * Adds an `EuiButtonIcon` to the right side of the item; `iconType` is required;
18042
- * pass `alwaysShow` if you don't want the default behavior of only showing on hover
18043
- */
18044
- extraAction?: EuiListGroupItemExtraActionProps;
18045
- /**
18046
- * Make the list item label a button.
18047
- * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
18048
- */
18049
- onClick?: MouseEventHandler<HTMLButtonElement>;
18050
- /**
18051
- * Allow link text to wrap
18052
- */
18053
- wrapText?: boolean;
18054
- /**
18055
- * Pass-through ref reference specifically for targeting
18056
- * instances where the item content is rendered as a `button`
17952
+ * onClick handler for the history item
18057
17953
  */
18058
- buttonRef?: React.Ref<HTMLButtonElement>;
17954
+ onClick: () => void;
17955
+ }
17956
+ /**
17957
+ * Pagination configuration for the flyout menu
17958
+ */
17959
+ export interface EuiFlyoutMenuPagination {
18059
17960
  /**
18060
- * Text to be displayed in the tooltip when `showToolTip` is true.
18061
- * By default the text will be same as the label text.
17961
+ * Zero-based index of the currently displayed item
18062
17962
  */
18063
- toolTipText?: string;
17963
+ currentIndex: number;
18064
17964
  /**
18065
- * Allows customizing the tooltip shown when `showToolTip` is true.
18066
- * Accepts any props that [EuiToolTip](/#/display/tooltip) accepts.
18067
- */
18068
- toolTipProps?: Partial<EuiToolTipProps>;
18069
- };
18070
- export const EuiListGroupItem: FunctionComponent<EuiListGroupItemProps>;
18071
-
18072
- }
18073
- declare module '@elastic/eui/src/components/list_group/list_group.styles' {
18074
- import { UseEuiTheme } from '@elastic/eui/src/services';
18075
- export const euiListGroupStyles: (euiThemeContext: UseEuiTheme) => {
18076
- euiListGroup: import("@emotion/react").SerializedStyles;
18077
- bordered: import("@emotion/react").SerializedStyles;
18078
- maxWidthDefault: import("@emotion/react").SerializedStyles;
18079
- };
18080
-
18081
- }
18082
- declare module '@elastic/eui/src/components/list_group/list_group' {
18083
- import { FunctionComponent, HTMLAttributes, CSSProperties } from 'react';
18084
- import { CommonProps } from '@elastic/eui/src/components/common';
18085
- import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
18086
- export type EuiListGroupProps = CommonProps & Omit<HTMLAttributes<HTMLUListElement>, 'color'> & {
17965
+ * Total number of items
17966
+ */
17967
+ total: number;
18087
17968
  /**
18088
- * Add a border to the list container
17969
+ * Called when the user clicks the Previous button
18089
17970
  */
18090
- bordered?: boolean;
17971
+ onPrevious: () => void;
18091
17972
  /**
18092
- * Items to display in this group. See {@link EuiListGroupItem}
17973
+ * Called when the user clicks the Next button
18093
17974
  */
18094
- listItems?: EuiListGroupItemProps[];
17975
+ onNext: () => void;
17976
+ }
17977
+ /**
17978
+ * Custom action item for the flyout menu component
17979
+ */
17980
+ export interface EuiFlyoutMenuCustomAction {
18095
17981
  /**
18096
- * Change the colors of all `listItems` at once
18097
- * @default text
17982
+ * Icon type for the action button
18098
17983
  */
18099
- color?: EuiListGroupItemProps['color'];
17984
+ iconType: string;
18100
17985
  /**
18101
- * Sets the max-width of the page.
18102
- * Set to `true` to use the default size,
18103
- * set to `false` to not restrict the width,
18104
- * or set to a number/string for a custom CSS width/measurement.
17986
+ * onClick handler for the action button
18105
17987
  */
18106
- maxWidth?: boolean | CSSProperties['maxWidth'];
17988
+ onClick: () => void;
18107
17989
  /**
18108
- * Display tooltips on all list items
17990
+ * Aria label for the action button
18109
17991
  */
18110
- showToolTips?: boolean;
17992
+ 'aria-label': string;
17993
+ }
17994
+ /**
17995
+ * Props for EuiFlyoutMenu
17996
+ */
17997
+ export type EuiFlyoutMenuProps = CommonProps & HTMLAttributes<HTMLDivElement> & {
18111
17998
  /**
18112
- * Allow link text to wrap vs truncated
17999
+ * An id to use for the title element. Useful for setting aria-labelledby on the flyout.
18000
+ * Example:
18001
+ * ```jsx
18002
+ * <EuiFlyout
18003
+ * aria-labelledby="myMenuTitleId"
18004
+ * flyoutMenuProps={{ title: 'Menu title', titleId: 'myMenuTitleId' }
18005
+ * >
18006
+ * ...
18007
+ * </EuiFlyout>
18008
+ * ```
18113
18009
  */
18114
- wrapText?: boolean;
18115
- ariaLabelledby?: string;
18116
- };
18117
- export const EuiListGroup: FunctionComponent<EuiListGroupProps>;
18118
-
18119
- }
18120
- declare module '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group.styles' {
18121
- import { UseEuiTheme } from '@elastic/eui/src/services';
18122
- export const euiPinnableListGroupItemExtraActionStyles: ({ euiTheme, }: UseEuiTheme) => {
18123
- euiPinnableListGroup__itemExtraAction: import("@emotion/react").SerializedStyles;
18124
- pinned: import("@emotion/react").SerializedStyles;
18125
- };
18126
-
18127
- }
18128
- declare module '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group' {
18129
- import { FunctionComponent } from 'react';
18130
- import { CommonProps } from '@elastic/eui/src/components/common';
18131
- import { EuiListGroupProps } from '@elastic/eui/src/components/list_group/list_group';
18132
- import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
18133
- export type EuiPinnableListGroupItemProps = EuiListGroupItemProps & {
18010
+ titleId?: string;
18134
18011
  /**
18135
- * Saves the pinned status and changes the visibility of the pin icon
18012
+ * Title for the menu component. In a managed flyout context, the title is used to indicate the flyout session for history navigation.
18136
18013
  */
18137
- pinned?: boolean;
18014
+ title?: React.ReactNode;
18138
18015
  /**
18139
- * Passing `onPinClick` to the full EuiPinnableListGroup, will make every item pinnable.
18140
- * Set this property to `false` to turn off individual item pinnability
18016
+ * An optional icon to display next to the session title in the history menu
18141
18017
  */
18142
- pinnable?: boolean;
18143
- };
18144
- export interface EuiPinnableListGroupProps extends CommonProps, EuiListGroupProps {
18018
+ iconType?: IconType;
18145
18019
  /**
18146
- * Extends `EuiListGroupItemProps`, at the very least, expecting a `label`.
18147
- * See {@link EuiPinnableListGroupItemProps}
18020
+ * Hides the title in the `EuiFlyoutMenu`.
18021
+ * @default true
18022
+ * @deprecated Use `EuiFlyoutHeader` for visible titles instead.
18023
+ * `hideTitle` is still honored but may be removed in a future major version.
18148
18024
  */
18149
- listItems: EuiPinnableListGroupItemProps[];
18025
+ hideTitle?: boolean;
18150
18026
  /**
18151
- * Shows the pin icon and calls this function on click.
18152
- * Returns `item: EuiPinnableListGroupItemProps`
18027
+ * Hides the close button in the menu component
18028
+ * @default false
18153
18029
  */
18154
- onPinClick: (item: EuiPinnableListGroupItemProps) => void;
18030
+ hideCloseButton?: boolean;
18155
18031
  /**
18156
- * The pin icon needs a title/aria-label for accessibility.
18157
- * It is a function that passes the item back and must return a string `(item) => string`.
18158
- * Default is `"Pin item"`
18032
+ * Shows a back button in the menu component
18033
+ * @default false
18159
18034
  */
18160
- pinTitle?: (item: EuiPinnableListGroupItemProps) => string;
18035
+ showBackButton?: boolean;
18161
18036
  /**
18162
- * The unpin icon needs a title/aria-label for accessibility.
18163
- * It is a function that passes the item back and must return a string `(item) => string`.
18164
- * Default is `"Unpin item"`
18037
+ * Props to pass to the back button, such as `onClick` handler
18165
18038
  */
18166
- unpinTitle?: (item: EuiPinnableListGroupItemProps) => string;
18167
- }
18168
- export const EuiPinnableListGroup: FunctionComponent<EuiPinnableListGroupProps>;
18039
+ backButtonProps?: EuiFlyoutMenuBackButtonProps;
18040
+ /**
18041
+ * List of history items for the history popover
18042
+ */
18043
+ historyItems?: EuiFlyoutHistoryItem[];
18044
+ /**
18045
+ * List of custom action items for the menu component
18046
+ */
18047
+ customActions?: EuiFlyoutMenuCustomAction[];
18048
+ /**
18049
+ * Enables Prev/Next navigation controls and a position counter in the menu bar.
18050
+ * Pagination replaces back/history navigation in the left menu slot.
18051
+ */
18052
+ pagination?: EuiFlyoutMenuPagination;
18053
+ };
18054
+ /**
18055
+ * The component for the top menu bar inside a flyout. Since this is a private
18056
+ * component, rendering is controlled using the `flyoutMenuProps` prop on
18057
+ * `EuiFlyout`. In managed session flyouts, the Flyout Manager controls a back
18058
+ * button and history popover for navigating to different flyout sessions
18059
+ * within the managed context.
18060
+ *
18061
+ * @private
18062
+ */
18063
+ export const EuiFlyoutMenu: FunctionComponent<EuiFlyoutMenuProps>;
18064
+ export {};
18169
18065
 
18170
18066
  }
18171
- declare module '@elastic/eui/src/components/list_group/pinnable_list_group' {
18172
- export type { EuiPinnableListGroupProps, EuiPinnableListGroupItemProps, } from '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group';
18173
- export { EuiPinnableListGroup } from '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group';
18067
+ declare module '@elastic/eui/src/components/flyout/manager/const' {
18068
+ /**
18069
+ * Allowed values for `session` prop to control the way the session is managed for a flyout.
18070
+ */
18071
+ export const SESSION_START = "start";
18072
+ export const SESSION_INHERIT = "inherit";
18073
+ export const SESSION_NEVER = "never";
18074
+ /**
18075
+ * Data attribute applied to a managed flyout element to help identify it as a managed flyout.
18076
+ */
18077
+ export const PROPERTY_FLYOUT = "data-managed-flyout";
18078
+ /**
18079
+ * Data attribute indicating whether the flyout is the `main` or `child` flyout.
18080
+ */
18081
+ export const PROPERTY_LEVEL = "data-managed-flyout-level";
18082
+ /**
18083
+ * Data attribute representing how multiple flyouts are laid out
18084
+ * (`side-by-side` or `stacked`).
18085
+ */
18086
+ export const PROPERTY_LAYOUT_MODE = "data-managed-flyout-layout-mode";
18087
+ /** Stacked layout mode where child flyouts overlay on top of the main flyout. */
18088
+ export const LAYOUT_MODE_STACKED = "stacked";
18089
+ /** Side-by-side layout mode where child flyouts render adjacent to the main flyout. */
18090
+ export const LAYOUT_MODE_SIDE_BY_SIDE = "side-by-side";
18091
+ /** The primary (parent) flyout in a session. */
18092
+ export const LEVEL_MAIN = "main";
18093
+ /** The secondary (child) flyout spawned by the main flyout. */
18094
+ export const LEVEL_CHILD = "child";
18095
+ /** Flyout is mounting and playing its opening animation. */
18096
+ export const STAGE_OPENING = "opening";
18097
+ /** Flyout is fully visible and interactive. */
18098
+ export const STAGE_ACTIVE = "active";
18099
+ /** Flyout is unmounted or not currently visible/interactable. */
18100
+ export const STAGE_INACTIVE = "inactive";
18101
+ /** Main flyout is transitioning behind an active session flyout. */
18102
+ export const STAGE_BACKGROUNDING = "backgrounding";
18103
+ /** Main flyout is backgrounded behind an active session flyout. */
18104
+ export const STAGE_BACKGROUNDED = "backgrounded";
18105
+ /** Flyout is returning to the foreground from a backgrounded state. */
18106
+ export const STAGE_RETURNING = "returning";
18107
+ /** Flyout is playing its closing animation. */
18108
+ export const STAGE_CLOSING = "closing";
18174
18109
 
18175
18110
  }
18176
- declare module '@elastic/eui/src/components/list_group' {
18177
- export type { EuiListGroupProps } from '@elastic/eui/src/components/list_group/list_group';
18178
- export { EuiListGroup } from '@elastic/eui/src/components/list_group/list_group';
18179
- export type { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
18180
- export type { EuiListGroupItemExtraActionProps } from '@elastic/eui/src/components/list_group/list_group_item_extra_action';
18181
- export { EuiListGroupItem } from '@elastic/eui/src/components/list_group/list_group_item';
18182
- export type { EuiPinnableListGroupProps, EuiPinnableListGroupItemProps, } from '@elastic/eui/src/components/list_group/pinnable_list_group';
18183
- export { EuiPinnableListGroup } from '@elastic/eui/src/components/list_group/pinnable_list_group';
18111
+ declare module '@elastic/eui/src/components/flyout/manager/types' {
18112
+ import type { IconType } from '@elastic/eui/src/components/icon';
18113
+ import type { EuiFlyoutMenuPagination } from '@elastic/eui/src/components/flyout/flyout_menu';
18114
+ import type { Action } from '@elastic/eui/src/components/flyout/manager/actions';
18115
+ import { STAGE_CLOSING, STAGE_OPENING, STAGE_ACTIVE, STAGE_INACTIVE, STAGE_BACKGROUNDING, STAGE_BACKGROUNDED, STAGE_RETURNING, LAYOUT_MODE_SIDE_BY_SIDE, LAYOUT_MODE_STACKED, LEVEL_CHILD, LEVEL_MAIN } from '@elastic/eui/src/components/flyout/manager/const';
18116
+ export type EuiFlyoutLayoutMode = typeof LAYOUT_MODE_STACKED | typeof LAYOUT_MODE_SIDE_BY_SIDE;
18117
+ export type EuiFlyoutLevel = typeof LEVEL_MAIN | typeof LEVEL_CHILD;
18118
+ export type EuiFlyoutActivityStage = typeof STAGE_OPENING | typeof STAGE_ACTIVE | typeof STAGE_INACTIVE | typeof STAGE_BACKGROUNDING | typeof STAGE_BACKGROUNDED | typeof STAGE_RETURNING | typeof STAGE_CLOSING;
18119
+ export interface EuiManagedFlyoutState {
18120
+ flyoutId: string;
18121
+ level: EuiFlyoutLevel;
18122
+ width?: number;
18123
+ size?: string;
18124
+ minWidth?: number;
18125
+ activityStage?: EuiFlyoutActivityStage;
18126
+ pagination?: EuiFlyoutMenuPagination;
18127
+ }
18128
+ /** Entry for a child flyout in session history. */
18129
+ export interface ChildHistoryEntry {
18130
+ flyoutId: string;
18131
+ title: string;
18132
+ iconType?: IconType;
18133
+ }
18134
+ export interface FlyoutSession {
18135
+ /** ID of the main flyout for this session */
18136
+ mainFlyoutId: string;
18137
+ /** ID of the child flyout for this session */
18138
+ childFlyoutId: string | null;
18139
+ /** Title of the main flyout in this session */
18140
+ title: string;
18141
+ /** Optional icon for this session when shown in history popover */
18142
+ iconType?: IconType;
18143
+ /** z-index value to be used by the flyout session */
18144
+ zIndex: number;
18145
+ /** Title of the current child flyout. */
18146
+ childTitle?: string;
18147
+ /** Icon of the current child flyout. */
18148
+ childIconType?: IconType;
18149
+ /** Stack of child flyouts we navigated away from. */
18150
+ childHistory: ChildHistoryEntry[];
18151
+ /** Key that scopes this session's history; same Symbol reference = same history group. Always set (from action or Symbol()). */
18152
+ historyKey: symbol;
18153
+ }
18154
+ export interface PushPaddingOffsets {
18155
+ /** Push padding applied to the left side (in pixels) */
18156
+ left: number;
18157
+ /** Push padding applied to the right side (in pixels) */
18158
+ right: number;
18159
+ }
18160
+ export interface EuiFlyoutManagerState {
18161
+ sessions: FlyoutSession[];
18162
+ flyouts: EuiManagedFlyoutState[];
18163
+ layoutMode: EuiFlyoutLayoutMode;
18164
+ /** Active push padding offsets (updated by active push flyouts) */
18165
+ pushPadding?: PushPaddingOffsets;
18166
+ currentZIndex: number;
18167
+ unmanagedFlyouts: string[];
18168
+ /** The container element that flyouts are positioned relative to (if any). */
18169
+ containerElement?: HTMLElement | null;
18170
+ /**
18171
+ * Reference width used for layout and resize clamping (container or viewport).
18172
+ * Set by the layout mode hook so flyouts use the same value for consistent clamping.
18173
+ */
18174
+ referenceWidth?: number;
18175
+ }
18176
+ /**
18177
+ * Public API surface provided through React context.
18178
+ * Kept intentionally decoupled from action types to avoid module cycles.
18179
+ */
18180
+ export interface FlyoutManagerApi {
18181
+ state: EuiFlyoutManagerState;
18182
+ dispatch: (action: Action) => void;
18183
+ addFlyout: (flyoutId: string, title: string, level?: EuiFlyoutLevel, size?: string, historyKey?: symbol, iconType?: IconType, minWidth?: number) => void;
18184
+ closeFlyout: (flyoutId: string) => void;
18185
+ closeAllFlyouts: () => void;
18186
+ setActiveFlyout: (flyoutId: string | null) => void;
18187
+ setFlyoutWidth: (flyoutId: string, width: number) => void;
18188
+ setPagination: (flyoutId: string, pagination: EuiFlyoutMenuPagination | undefined) => void;
18189
+ setPushPadding: (side: 'left' | 'right', width: number) => void;
18190
+ setContainerElement: (element: HTMLElement | null) => void;
18191
+ goBack: () => void;
18192
+ goToFlyout: (flyoutId: string, level?: EuiFlyoutLevel) => void;
18193
+ addUnmanagedFlyout: (flyoutId: string) => void;
18194
+ closeUnmanagedFlyout: (flyoutId: string) => void;
18195
+ historyItems: Array<{
18196
+ title: string;
18197
+ iconType?: IconType;
18198
+ onClick: () => void;
18199
+ }>;
18200
+ }
18184
18201
 
18185
18202
  }
18186
- declare module '@elastic/eui/src/components/flyout/const' {
18187
- import { EuiBreakpointSize } from '@elastic/eui/src/services';
18188
- /** Allowed flyout render types. */
18189
- export const FLYOUT_TYPES: readonly ["push", "overlay"];
18190
- /** Type representing a supported flyout render type. */
18191
- export type _EuiFlyoutType = (typeof FLYOUT_TYPES)[number];
18192
- /** Allowed flyout attachment sides. */
18193
- export const FLYOUT_SIDES: readonly ["left", "right"];
18194
- /** Type representing a supported flyout side. */
18195
- export type _EuiFlyoutSide = (typeof FLYOUT_SIDES)[number];
18196
- /** Allowed named flyout sizes used by the manager. */
18197
- export const FLYOUT_SIZES: readonly ["s", "m", "l", "fill"];
18198
- /** Type representing a supported named flyout size. */
18199
- export type EuiFlyoutSize = (typeof FLYOUT_SIZES)[number];
18200
- /** Menu display mode: always render menu when flyoutMenuProps is provided. */
18201
- export const MENU_DISPLAY_ALWAYS: "always";
18202
- /** Menu display mode: only render menu when it has content (back button, history, title, or custom actions). */
18203
- export const MENU_DISPLAY_AUTO: "auto";
18204
- /** Allowed flyout menu display modes. */
18205
- export const FLYOUT_MENU_DISPLAY_MODES: readonly ["always", "auto"];
18206
- /** Type representing a supported flyout menu display mode. */
18207
- export type EuiFlyoutMenuDisplayMode = (typeof FLYOUT_MENU_DISPLAY_MODES)[number];
18208
- /** Allowed padding sizes for flyout content. */
18209
- export const FLYOUT_PADDING_SIZES: readonly ["none", "s", "m", "l"];
18210
- /** Type representing a supported flyout padding size. */
18211
- export type _EuiFlyoutPaddingSize = (typeof FLYOUT_PADDING_SIZES)[number];
18212
- /** Default minimum breakpoint at which push-type flyouts begin to push content. */
18213
- export const DEFAULT_PUSH_MIN_BREAKPOINT: EuiBreakpointSize;
18214
- /** Default flyout type when none is provided. */
18215
- export const DEFAULT_TYPE: _EuiFlyoutType;
18216
- /** Default side where flyouts anchor when none is provided. */
18217
- export const DEFAULT_SIDE: _EuiFlyoutSide;
18218
- /** Default named flyout size. */
18219
- export const DEFAULT_SIZE: EuiFlyoutSize;
18220
- /** Default padding size inside flyouts. */
18221
- export const DEFAULT_PADDING_SIZE: _EuiFlyoutPaddingSize;
18222
- /** Default flyout menu display mode. */
18223
- export const DEFAULT_MENU_DISPLAY_MODE: EuiFlyoutMenuDisplayMode;
18203
+ declare module '@elastic/eui/src/components/flyout/manager/actions' {
18204
+ import type { IconType } from '@elastic/eui/src/components/icon';
18205
+ import type { EuiFlyoutMenuPagination } from '@elastic/eui/src/components/flyout/flyout_menu';
18206
+ import { EuiFlyoutActivityStage, EuiFlyoutLevel, EuiFlyoutLayoutMode } from '@elastic/eui/src/components/flyout/manager/types'; const PREFIX: "eui/flyoutManager";
18207
+ interface BaseAction {
18208
+ type: `${typeof PREFIX}/${string}`;
18209
+ }
18210
+ /** Dispatched when a flyout registers itself with the manager. */
18211
+ export const ACTION_ADD: "eui/flyoutManager/add";
18212
+ /** Dispatched to remove a flyout from the manager (usually on close/unmount). */
18213
+ export const ACTION_CLOSE: "eui/flyoutManager/close";
18214
+ /** Dispatched to remove all flyouts from the manager. */
18215
+ export const ACTION_CLOSE_ALL: "eui/flyoutManager/closeAll";
18216
+ /** Dispatched to set which flyout is currently active within the session. */
18217
+ export const ACTION_SET_ACTIVE: "eui/flyoutManager/setActive";
18218
+ /** Dispatched when an active flyout's pixel width changes (for responsive layout). */
18219
+ export const ACTION_SET_WIDTH: "eui/flyoutManager/setWidth";
18220
+ /** Dispatched to set a flyout's menu pagination. */
18221
+ export const ACTION_SET_PAGINATION: "eui/flyoutManager/setPagination";
18222
+ /** Dispatched to switch layout mode between `side-by-side` and `stacked`. */
18223
+ export const ACTION_SET_LAYOUT_MODE: "eui/flyoutManager/setLayoutMode";
18224
+ /** Dispatched to update a flyout's activity stage (e.g., opening -> active). */
18225
+ export const ACTION_SET_ACTIVITY_STAGE: "eui/flyoutManager/setActivityStage";
18226
+ /** Dispatched to go back one session (remove current session). */
18227
+ export const ACTION_GO_BACK: "eui/flyoutManager/goBack";
18228
+ /** Dispatched to navigate to a specific flyout (remove all sessions after it). */
18229
+ export const ACTION_GO_TO_FLYOUT: "eui/flyoutManager/goToFlyout";
18230
+ /** Dispatched to set push padding offset for a side. */
18231
+ export const ACTION_SET_PUSH_PADDING: "eui/flyoutManager/setPushPadding";
18232
+ /** Dispatched to set the container element for container-relative flyouts. */
18233
+ export const ACTION_SET_CONTAINER_ELEMENT: "eui/flyoutManager/setContainerElement";
18234
+ /** Dispatched to set the reference width used for layout and resize clamping. */
18235
+ export const ACTION_SET_REFERENCE_WIDTH: "eui/flyoutManager/setReferenceWidth";
18236
+ export const ACTION_ADD_UNMANAGED_FLYOUT: "eui/flyoutManager/addUnmanagedFlyout";
18237
+ export const ACTION_CLOSE_UNMANAGED_FLYOUT: "eui/flyoutManager/closeUnmanagedFlyout";
18224
18238
  /**
18225
- * Custom type checker for named flyout sizes since the prop
18226
- * `size` can also be CSSProperties['width'] (string | number)
18239
+ * Add a flyout to manager state. The manager will create or update
18240
+ * the current session depending on the `level` provided.
18227
18241
  */
18228
- export function isEuiFlyoutSizeNamed(value: unknown): value is EuiFlyoutSize;
18242
+ export interface AddFlyoutAction extends BaseAction {
18243
+ type: typeof ACTION_ADD;
18244
+ flyoutId: string;
18245
+ title: string;
18246
+ level: EuiFlyoutLevel;
18247
+ size?: string;
18248
+ historyKey?: symbol;
18249
+ iconType?: IconType;
18250
+ minWidth?: number;
18251
+ }
18252
+ /** Remove a flyout from manager state. Also updates the active session. */
18253
+ export interface CloseFlyoutAction extends BaseAction {
18254
+ type: typeof ACTION_CLOSE;
18255
+ flyoutId: string;
18256
+ }
18257
+ /** Remove all flyouts from manager state. */
18258
+ export interface CloseAllFlyoutsAction extends BaseAction {
18259
+ type: typeof ACTION_CLOSE_ALL;
18260
+ }
18261
+ /** Set the active flyout within the current session (or clear with `null`). */
18262
+ export interface SetActiveFlyoutAction extends BaseAction {
18263
+ type: typeof ACTION_SET_ACTIVE;
18264
+ flyoutId: string | null;
18265
+ }
18266
+ /** Update a flyout's measured width in pixels. */
18267
+ export interface SetWidthAction extends BaseAction {
18268
+ type: typeof ACTION_SET_WIDTH;
18269
+ flyoutId: string;
18270
+ width: number;
18271
+ }
18272
+ /** Set the manager pagination value for a flyout. */
18273
+ export interface SetPaginationAction extends BaseAction {
18274
+ type: typeof ACTION_SET_PAGINATION;
18275
+ flyoutId: string;
18276
+ pagination: EuiFlyoutMenuPagination | undefined;
18277
+ }
18278
+ /** Change how flyouts are arranged: `side-by-side` or `stacked`. */
18279
+ export interface SetLayoutModeAction extends BaseAction {
18280
+ type: typeof ACTION_SET_LAYOUT_MODE;
18281
+ layoutMode: EuiFlyoutLayoutMode;
18282
+ }
18283
+ /** Set a specific flyout's activity stage. */
18284
+ export interface SetActivityStageAction extends BaseAction {
18285
+ type: typeof ACTION_SET_ACTIVITY_STAGE;
18286
+ flyoutId: string;
18287
+ activityStage: EuiFlyoutActivityStage;
18288
+ }
18289
+ /** Go back one session (remove current session from stack). */
18290
+ export interface GoBackAction extends BaseAction {
18291
+ type: typeof ACTION_GO_BACK;
18292
+ }
18293
+ /** Navigate to a specific flyout (remove all sessions after it, or pop to child in history). */
18294
+ export interface GoToFlyoutAction extends BaseAction {
18295
+ type: typeof ACTION_GO_TO_FLYOUT;
18296
+ flyoutId: string;
18297
+ /** When 'child', find flyout in current session's childHistory and pop to it. When 'main' or omitted, find session by mainFlyoutId. */
18298
+ level?: EuiFlyoutLevel;
18299
+ }
18300
+ /** Set push padding offset for a specific side. */
18301
+ export interface SetPushPaddingAction extends BaseAction {
18302
+ type: typeof ACTION_SET_PUSH_PADDING;
18303
+ side: 'left' | 'right';
18304
+ width: number;
18305
+ }
18306
+ export interface AddUnmanagedFlyoutAction extends BaseAction {
18307
+ type: typeof ACTION_ADD_UNMANAGED_FLYOUT;
18308
+ flyoutId: string;
18309
+ }
18310
+ export interface CloseUnmanagedFlyoutAction extends BaseAction {
18311
+ type: typeof ACTION_CLOSE_UNMANAGED_FLYOUT;
18312
+ flyoutId: string;
18313
+ }
18314
+ /** Set the container element for container-relative positioning. */
18315
+ export interface SetContainerElementAction extends BaseAction {
18316
+ type: typeof ACTION_SET_CONTAINER_ELEMENT;
18317
+ element: HTMLElement | null;
18318
+ }
18319
+ /** Set the reference width for layout and resize clamping. */
18320
+ export interface SetReferenceWidthAction extends BaseAction {
18321
+ type: typeof ACTION_SET_REFERENCE_WIDTH;
18322
+ width: number;
18323
+ }
18324
+ /** Union of all flyout manager actions. */
18325
+ export type Action = AddFlyoutAction | CloseFlyoutAction | CloseAllFlyoutsAction | SetActiveFlyoutAction | SetWidthAction | SetPaginationAction | SetLayoutModeAction | SetActivityStageAction | GoBackAction | GoToFlyoutAction | SetPushPaddingAction | AddUnmanagedFlyoutAction | CloseUnmanagedFlyoutAction | SetContainerElementAction | SetReferenceWidthAction;
18326
+ /**
18327
+ * Register a flyout with the manager.
18328
+ * - `title` is used for the flyout menu.
18329
+ * - `level` determines whether the flyout is `main` or `child`.
18330
+ * - Optional `size` is the named EUI size (e.g. `s`, `m`, `l`).
18331
+ * - Optional `historyKey` (Symbol) scopes history; only flyouts with the same reference share Back/history. Omit for a unique group per session.
18332
+ * - Optional `iconType` is shown next to the session title in the history menu.
18333
+ */
18334
+ export const addFlyout: (flyoutId: string, title: string, level?: EuiFlyoutLevel, size?: string, historyKey?: symbol, iconType?: IconType, minWidth?: number) => AddFlyoutAction;
18335
+ /** Unregister a flyout and update the session accordingly. */
18336
+ export const closeFlyout: (flyoutId: string) => CloseFlyoutAction;
18337
+ /** Unregister all flyouts. */
18338
+ export const closeAllFlyouts: () => CloseAllFlyoutsAction;
18339
+ /** Set or clear the active flyout for the current session. */
18340
+ export const setActiveFlyout: (flyoutId: string | null) => SetActiveFlyoutAction;
18341
+ /** Record a flyout's current width in pixels. */
18342
+ export const setFlyoutWidth: (flyoutId: string, width: number) => SetWidthAction;
18343
+ /**
18344
+ * Set (or clear) the menu pagination config for a flyout. When set, this
18345
+ * overrides any pagination passed via `flyoutMenuProps.pagination` on the
18346
+ * flyout itself, allowing reactive updates from a different React root.
18347
+ *
18348
+ * Only works for managed flyouts. Unmanaged flyouts (session={false}) must use
18349
+ * the `flyoutMenuProps.pagination` prop instead.
18350
+ */
18351
+ export const setPagination: (flyoutId: string, pagination: EuiFlyoutMenuPagination | undefined) => SetPaginationAction;
18352
+ /** Switch layout mode between `side-by-side` and `stacked`. */
18353
+ export const setLayoutMode: (layoutMode: EuiFlyoutLayoutMode) => SetLayoutModeAction;
18354
+ /** Update a flyout's activity stage. */
18355
+ export const setActivityStage: (flyoutId: string, activityStage: EuiFlyoutActivityStage) => SetActivityStageAction;
18356
+ /** Go back one session (remove current session from stack). */
18357
+ export const goBack: () => GoBackAction;
18358
+ /** Navigate to a specific flyout (remove all sessions after it, or pop to child in history when level === 'child'). */
18359
+ export const goToFlyout: (flyoutId: string, level?: EuiFlyoutLevel) => GoToFlyoutAction;
18360
+ /** Set push padding offset for a specific side. */
18361
+ export const setPushPadding: (side: "left" | "right", width: number) => SetPushPaddingAction;
18362
+ /** Register an unmanaged flyout for z-index positioning purposes */
18363
+ export const addUnmanagedFlyout: (flyoutId: string) => AddUnmanagedFlyoutAction;
18364
+ /** Unregister an unmanaged flyout */
18365
+ export const closeUnmanagedFlyout: (flyoutId: string) => CloseUnmanagedFlyoutAction;
18366
+ /** Set the container element for container-relative flyout positioning. */
18367
+ export const setContainerElement: (element: HTMLElement | null) => SetContainerElementAction;
18368
+ /** Set the reference width for layout and resize clamping. */
18369
+ export const setReferenceWidth: (width: number) => SetReferenceWidthAction;
18370
+ export {};
18229
18371
 
18230
18372
  }
18231
- declare module '@elastic/eui/src/components/flyout/flyout.styles' {
18232
- import { EuiFlyoutSize } from '@elastic/eui/src/components/flyout/const';
18233
- import { UseEuiTheme } from '@elastic/eui/src/services';
18234
- export const FLYOUT_BREAKPOINT: "m";
18235
- export const euiFlyoutSlideInRight: import("@emotion/serialize").Keyframes;
18236
- export const euiFlyoutSlideOutRight: import("@emotion/serialize").Keyframes;
18237
- export const euiFlyoutSlideInLeft: import("@emotion/serialize").Keyframes;
18238
- export const euiFlyoutSlideOutLeft: import("@emotion/serialize").Keyframes;
18373
+ declare module '@elastic/eui/src/components/flyout/manager/reducer' {
18374
+ import { Action } from '@elastic/eui/src/components/flyout/manager/actions';
18375
+ import { EuiFlyoutManagerState } from '@elastic/eui/src/components/flyout/manager/types';
18239
18376
  /**
18240
- * When a `container` reference element is provided, the flyout's position
18241
- * and dimensions are constrained to the container's bounding rect via
18242
- * inline styles computed in JS.
18377
+ * Default flyout manager state used to initialize the reducer.
18243
18378
  */
18244
- export const euiFlyoutStyles: (euiThemeContext: UseEuiTheme) => {
18245
- noMaxWidth: import("@emotion/react").SerializedStyles;
18246
- right: import("@emotion/react").SerializedStyles;
18247
- left: import("@emotion/react").SerializedStyles;
18248
- overlay: {
18249
- overlay: import("@emotion/react").SerializedStyles;
18250
- left: import("@emotion/react").SerializedStyles;
18251
- right: import("@emotion/react").SerializedStyles;
18252
- };
18253
- push: {
18254
- push: import("@emotion/react").SerializedStyles;
18255
- right: import("@emotion/react").SerializedStyles;
18256
- left: import("@emotion/react").SerializedStyles;
18257
- };
18258
- noAnimation: import("@emotion/react").SerializedStyles;
18259
- paddingSizes: {
18260
- none: import("@emotion/react").SerializedStyles;
18261
- s: import("@emotion/react").SerializedStyles;
18262
- m: import("@emotion/react").SerializedStyles;
18263
- l: import("@emotion/react").SerializedStyles;
18264
- };
18265
- s: import("@emotion/react").SerializedStyles;
18266
- m: import("@emotion/react").SerializedStyles;
18267
- l: import("@emotion/react").SerializedStyles;
18268
- fill: import("@emotion/react").SerializedStyles;
18269
- euiFlyout: import("@emotion/react").SerializedStyles;
18270
- };
18379
+ export const initialState: EuiFlyoutManagerState;
18380
+ /**
18381
+ * Reducer handling all flyout manager actions and state transitions.
18382
+ */
18383
+ export function flyoutManagerReducer(state: EuiFlyoutManagerState | undefined, action: Action): EuiFlyoutManagerState;
18384
+
18385
+ }
18386
+ declare module '@elastic/eui/src/components/flyout/manager/store' {
18387
+ import type { IconType } from '@elastic/eui/src/components/icon';
18388
+ import type { EuiFlyoutMenuPagination } from '@elastic/eui/src/components/flyout/flyout_menu';
18389
+ import type { EuiFlyoutCloseMeta } from '@elastic/eui/src/components/flyout/types';
18390
+ import type { EuiFlyoutLevel, EuiFlyoutManagerState, FlyoutSession } from '@elastic/eui/src/components/flyout/manager/types';
18391
+ import type { Action } from '@elastic/eui/src/components/flyout/manager/actions';
18392
+ type Listener = () => void;
18271
18393
  /**
18272
- * Applies a max-width constraint at the flyout breakpoint.
18394
+ * Events emitted by the flyout manager store for external consumers.
18273
18395
  */
18274
- export const maxedFlyoutWidth: (euiThemeContext: UseEuiTheme) => string;
18396
+ export type FlyoutManagerEvent = {
18397
+ type: 'CLOSE_SESSION';
18398
+ session: FlyoutSession;
18399
+ };
18400
+ type EventListener = (event: FlyoutManagerEvent) => void;
18401
+ export interface FlyoutManagerStore {
18402
+ getState: () => EuiFlyoutManagerState;
18403
+ subscribe: (listener: Listener) => () => void;
18404
+ subscribeToEvents: (listener: EventListener) => () => void;
18405
+ dispatch: (action: Action) => void;
18406
+ addFlyout: (flyoutId: string, title: string, level?: EuiFlyoutLevel, size?: string, historyKey?: symbol, iconType?: IconType, minWidth?: number) => void;
18407
+ closeFlyout: (flyoutId: string) => void;
18408
+ closeAllFlyouts: () => void;
18409
+ setActiveFlyout: (flyoutId: string | null) => void;
18410
+ setFlyoutWidth: (flyoutId: string, width: number) => void;
18411
+ setPagination: (flyoutId: string, pagination: EuiFlyoutMenuPagination | undefined) => void;
18412
+ setPushPadding: (side: 'left' | 'right', width: number) => void;
18413
+ setContainerElement: (element: HTMLElement | null) => void;
18414
+ goBack: () => void;
18415
+ goToFlyout: (flyoutId: string, level?: EuiFlyoutLevel) => void;
18416
+ addUnmanagedFlyout: (flyoutId: string) => void;
18417
+ closeUnmanagedFlyout: (flyoutId: string) => void;
18418
+ /**
18419
+ * Reads and clears any close `meta` previously stashed for `flyoutId` (e.g.
18420
+ * `goBack` stamps the flyouts it removes with `navigation-back`). Used
18421
+ * internally by managed flyouts to report the correct close reason; defaults
18422
+ * to `navigation-cascade` when nothing was stashed.
18423
+ */
18424
+ consumeCloseMeta: (flyoutId: string) => EuiFlyoutCloseMeta | undefined;
18425
+ historyItems: Array<{
18426
+ title: string;
18427
+ iconType?: IconType;
18428
+ onClick: () => void;
18429
+ }>;
18430
+ }
18275
18431
  /**
18276
- * Composes the full set of named size styles (`s`, `m`, `l`, `fill`).
18277
- *
18278
- * Uses `%` units for widths. Media queries drive responsive breakpoints.
18279
- *
18280
- * When a child flyout is stacked on top of the parent, the parent flyout
18281
- * size will match the child flyout size. The `s` and `m` sizes include
18282
- * overrides for this stacked-child behavior.
18432
+ * Returns a singleton store instance shared across all React roots within the same JS context.
18433
+ * Uses module-level singleton to ensure deduplication even if modules are loaded twice.
18283
18434
  */
18284
- export const composeFlyoutSizing: (euiThemeContext: UseEuiTheme) => {
18285
- s: import("@emotion/react").SerializedStyles;
18286
- m: import("@emotion/react").SerializedStyles;
18287
- l: import("@emotion/react").SerializedStyles;
18288
- fill: import("@emotion/react").SerializedStyles;
18289
- };
18435
+ export function getFlyoutManagerStore(): FlyoutManagerStore;
18290
18436
  /**
18291
- * Composes all inline styles for a flyout based on its configuration.
18292
- * Uses a CSS custom property (`--euiFlyoutMainWidth`) for synchronous
18293
- * tracking of the main flyout width during resize drag, falling back to
18294
- * the pixel value from manager state when the variable is not set.
18437
+ * For testing purposes - allows resetting the store
18295
18438
  */
18296
- export const composeFlyoutInlineStyles: (size: EuiFlyoutSize | string | number, layoutMode: "side-by-side" | "stacked", siblingFlyoutId: string | null, siblingFlyoutWidth: number | null, maxWidth: boolean | number | string | undefined, zIndex?: number) => React.CSSProperties;
18297
-
18298
- }
18299
- declare module '@elastic/eui/src/components/flyout/_flyout_close_button.styles' {
18300
- import { UseEuiTheme } from '@elastic/eui/src/services';
18301
- export const euiFlyoutCloseButtonStyles: (euiThemeContext: UseEuiTheme) => {
18302
- euiFlyout__closeButton: import("@emotion/react").SerializedStyles;
18303
- inside: import("@emotion/react").SerializedStyles;
18304
- outside: import("@emotion/react").SerializedStyles;
18305
- outsideSide: {
18306
- right: import("@emotion/react").SerializedStyles;
18307
- left: import("@emotion/react").SerializedStyles;
18308
- };
18309
- };
18310
-
18311
- }
18312
- declare module '@elastic/eui/src/components/flyout/_flyout_close_button' {
18313
- import { FunctionComponent } from 'react';
18314
- import type { EuiFlyoutProps } from '@elastic/eui/src/components/flyout/flyout';
18315
- type EuiFlyoutCloseButtonProps = EuiFlyoutProps['closeButtonProps'] & Required<Pick<EuiFlyoutProps, 'closeButtonPosition' | 'onClose' | 'side'>>;
18316
- export const EuiFlyoutCloseButton: FunctionComponent<EuiFlyoutCloseButtonProps>;
18439
+ export function _resetFlyoutManagerStore(): void;
18317
18440
  export {};
18318
18441
 
18319
18442
  }
18320
- declare module '@elastic/eui/src/components/flyout/flyout_menu.styles' {
18321
- import { UseEuiTheme } from '@elastic/eui/src/services';
18322
- export const euiFlyoutMenuStyles: (euiThemeContext: UseEuiTheme) => {
18323
- euiFlyoutMenu__container: import("@emotion/react").SerializedStyles;
18324
- euiFlyoutMenu__spacer: import("@emotion/react").SerializedStyles;
18325
- euiFlyoutMenu__actions: import("@emotion/react").SerializedStyles;
18326
- euiFlyoutMenu__hiddenTitle: import("@emotion/react").SerializedStyles;
18327
- };
18328
-
18329
- }
18330
- declare module '@elastic/eui/src/components/flyout/flyout_menu_context' {
18331
- import { EuiFlyoutProps } from '@elastic/eui/src/components/flyout/flyout';
18332
- interface EuiFlyoutMenuContextProps {
18333
- onClose?: EuiFlyoutProps['onClose'];
18334
- }
18335
- export const EuiFlyoutMenuContext: import("react").Context<EuiFlyoutMenuContextProps>;
18336
- export {};
18443
+ declare module '@elastic/eui/src/components/flyout/manager/selectors' {
18444
+ export const useSession: (flyoutId?: string | null) => import ("@elastic/eui/src/components/flyout/manager/types").FlyoutSession | null;
18445
+ /** True when any managed flyout session is currently active. */
18446
+ export const useHasActiveSession: () => boolean;
18447
+ /** True if the given `flyoutId` is the main or child flyout in the latest session. */
18448
+ export const useIsFlyoutActive: (flyoutId: string) => boolean;
18449
+ export const useFlyout: (flyoutId?: string | null) => import ("@elastic/eui/src/components/flyout/manager/types").EuiManagedFlyoutState | null;
18450
+ export const useIsFlyoutRegistered: (flyoutId?: string | null) => boolean;
18451
+ /** The most recent flyout session or `null` if none. */
18452
+ export const useCurrentSession: () => import ("@elastic/eui/src/components/flyout/manager/types").FlyoutSession | null;
18453
+ /** The registered state of the current session's main flyout, if present. */
18454
+ export const useCurrentMainFlyout: () => import ("@elastic/eui/src/components/flyout/manager/types").EuiManagedFlyoutState | null;
18455
+ /** The registered state of the current session's child flyout, if present. */
18456
+ export const useCurrentChildFlyout: () => import ("@elastic/eui/src/components/flyout/manager/types").EuiManagedFlyoutState | null;
18457
+ /** The measured width (px) of the specified flyout, or `null` if unknown. */
18458
+ export const useFlyoutWidth: (flyoutId?: string | null) => number | undefined;
18459
+ /** Returns the store pagination override for a flyout, if set. */
18460
+ export const useFlyoutPagination: (flyoutId?: string | null) => import("..").EuiFlyoutMenuPagination | undefined;
18461
+ /** The configured minWidth (px) of the specified flyout, or `undefined` if not set. */
18462
+ export const useFlyoutMinWidth: (flyoutId?: string | null) => number | undefined;
18463
+ /** The configured size of the parent (main) flyout for a given child flyout ID. */
18464
+ export const useParentFlyoutSize: (childFlyoutId: string) => string | undefined;
18465
+ /** True if the provided `flyoutId` is the main flyout and it currently has a child. */
18466
+ export const useHasChildFlyout: (flyoutId: string) => boolean;
18467
+ /** Get the current push padding offsets from manager state. */
18468
+ export const usePushPaddingOffsets: () => import ("@elastic/eui/src/components/flyout/manager/types").PushPaddingOffsets;
18469
+ /** True if there's any active push padding (left or right side). */
18470
+ export const useHasPushPadding: () => boolean;
18471
+ /** Get the ref for the current flyout z-index to be used */
18472
+ export const useCurrentFlyoutZIndexRef: () => import("react").MutableRefObject<number>;
18337
18473
 
18338
18474
  }
18339
- declare module '@elastic/eui/src/components/flyout/types' {
18340
- export type EuiFlyoutCloseEvent = MouseEvent | TouchEvent | KeyboardEvent;
18475
+ declare module '@elastic/eui/src/components/flyout/manager/context' {
18476
+ import React from 'react';
18477
+ /**
18478
+ * React provider that marks descendants as being rendered inside
18479
+ * an EUI managed flyout. Used by hooks/components to alter behavior
18480
+ * (e.g., focus handling) when inside a managed flyout tree.
18481
+ */
18482
+ export const EuiFlyoutIsManagedProvider: ({ isManaged, children, }: {
18483
+ isManaged: boolean;
18484
+ children: React.ReactNode;
18485
+ }) => React.JSX.Element;
18486
+ /**
18487
+ * Hook that returns `true` when called within an EUI managed flyout subtree.
18488
+ */
18489
+ export const useIsInManagedFlyout: () => boolean;
18341
18490
 
18342
18491
  }
18343
- declare module '@elastic/eui/src/components/flyout/flyout_menu' {
18344
- import React, { FunctionComponent, HTMLAttributes } from 'react';
18345
- import { EuiButtonProps } from '@elastic/eui/src/components/button';
18346
- import { CommonProps, PropsForAnchor } from '@elastic/eui/src/components/common';
18347
- import type { IconType } from '@elastic/eui/src/components/icon';
18348
- type EuiFlyoutMenuBackButtonProps = Pick<PropsForAnchor<EuiButtonProps>, 'aria-label' | 'data-test-subj' | 'onClick'>;
18492
+ declare module '@elastic/eui/src/components/flyout/manager/hooks' {
18493
+ export { useIsFlyoutActive, useHasActiveSession, useCurrentSession, useCurrentMainFlyout, useCurrentChildFlyout, useFlyoutWidth, useFlyoutPagination, useParentFlyoutSize, useHasChildFlyout, usePushPaddingOffsets, useHasPushPadding, } from '@elastic/eui/src/components/flyout/manager/selectors';
18494
+ export { useFlyoutLayoutMode } from '@elastic/eui/src/components/flyout/manager/layout_mode';
18495
+ export { useIsInManagedFlyout } from '@elastic/eui/src/components/flyout/manager/context';
18496
+ export type { EuiFlyoutActivityStage } from '@elastic/eui/src/components/flyout/manager/types';
18497
+ /** Access the flyout manager context (state and actions). */
18498
+ export const useFlyoutManager: () => import ("@elastic/eui/src/components/flyout/manager/types").FlyoutManagerApi | null;
18349
18499
  /**
18350
- * History item for the flyout menu history popover
18500
+ * Stable flyout ID utility. Uses the passed `id` if provided and not already registered,
18501
+ * otherwise generates a deterministic ID for the component's lifetime.
18502
+ * The ID remains stable across re-renders to maintain consistency in effects and other hooks.
18351
18503
  */
18352
- export interface EuiFlyoutHistoryItem {
18353
- /**
18354
- * Title for the history item
18355
- */
18356
- title: string;
18357
- /**
18358
- * An optional icon to display next to the session title in the history menu
18359
- */
18360
- iconType?: IconType;
18361
- /**
18362
- * onClick handler for the history item
18363
- */
18364
- onClick: () => void;
18365
- }
18504
+ export const useFlyoutId: (flyoutId?: string) => string;
18505
+
18506
+ }
18507
+ declare module '@elastic/eui/src/components/flyout/manager/layout_mode' {
18508
+ import { EuiFlyoutLayoutMode } from '@elastic/eui/src/components/flyout/manager/types';
18366
18509
  /**
18367
- * Custom action item for the flyout menu component
18510
+ * Hook to handle responsive layout mode for managed flyouts.
18511
+ * Decides whether to place flyouts side-by-side or stacked based on
18512
+ * the reference width (the reference container's width, defaulting to
18513
+ * document.body when not set) and flyout widths/sizes.
18368
18514
  */
18369
- export interface EuiFlyoutMenuCustomAction {
18370
- /**
18371
- * Icon type for the action button
18372
- */
18373
- iconType: string;
18374
- /**
18375
- * onClick handler for the action button
18376
- */
18377
- onClick: () => void;
18378
- /**
18379
- * Aria label for the action button
18380
- */
18381
- 'aria-label': string;
18382
- }
18515
+ export const useApplyFlyoutLayoutMode: () => void;
18383
18516
  /**
18384
- * Props for EuiFlyoutMenu
18517
+ * Convert a flyout `size` value to a pixel width.
18518
+ * When `referenceWidth` is provided, named sizes are calculated as a percentage
18519
+ * of that width (container-relative). Otherwise falls back to `window.innerWidth`.
18385
18520
  */
18386
- export type EuiFlyoutMenuProps = CommonProps & HTMLAttributes<HTMLDivElement> & {
18387
- /**
18388
- * An id to use for the title element. Useful for setting aria-labelledby on the flyout.
18389
- * Example:
18390
- * ```jsx
18391
- * <EuiFlyout
18392
- * aria-labelledby="myMenuTitleId"
18393
- * flyoutMenuProps={{ title: 'Menu title', titleId: 'myMenuTitleId' }
18394
- * >
18395
- * ...
18396
- * </EuiFlyout>
18397
- * ```
18398
- */
18399
- titleId?: string;
18400
- /**
18401
- * Title for the menu component. In a managed flyout context, the title is used to indicate the flyout session for history navigation.
18402
- */
18403
- title?: React.ReactNode;
18404
- /**
18405
- * An optional icon to display next to the session title in the history menu
18406
- */
18407
- iconType?: IconType;
18408
- /**
18409
- * Hides the title in the `EuiFlyoutMenu`.
18410
- * @default true
18411
- * @deprecated Use `EuiFlyoutHeader` for visible titles instead.
18412
- * `hideTitle` is still honored but may be removed in a future major version.
18413
- */
18414
- hideTitle?: boolean;
18415
- /**
18416
- * Hides the close button in the menu component
18417
- * @default false
18418
- */
18419
- hideCloseButton?: boolean;
18420
- /**
18421
- * Shows a back button in the menu component
18422
- * @default false
18423
- */
18424
- showBackButton?: boolean;
18425
- /**
18426
- * Props to pass to the back button, such as `onClick` handler
18427
- */
18428
- backButtonProps?: EuiFlyoutMenuBackButtonProps;
18429
- /**
18430
- * List of history items for the history popover
18431
- */
18432
- historyItems?: EuiFlyoutHistoryItem[];
18433
- /**
18434
- * List of custom action items for the menu component
18435
- */
18436
- customActions?: EuiFlyoutMenuCustomAction[];
18437
- };
18521
+ export const getWidthFromSize: (size: string | number, referenceWidth?: number) => number;
18522
+ /** Current layout mode for managed flyouts (`side-by-side` or `stacked`). */
18523
+ export const useFlyoutLayoutMode: () => EuiFlyoutLayoutMode;
18524
+
18525
+ }
18526
+ declare module '@elastic/eui/src/components/flyout/manager/provider' {
18527
+ import React from 'react';
18528
+ import { FlyoutManagerApi } from '@elastic/eui/src/components/flyout/manager/types';
18438
18529
  /**
18439
- * The component for the top menu bar inside a flyout. Since this is a private
18440
- * component, rendering is controlled using the `flyoutMenuProps` prop on
18441
- * `EuiFlyout`. In managed session flyouts, the Flyout Manager controls a back
18442
- * button and history popover for navigating to different flyout sessions
18443
- * within the managed context.
18444
- *
18445
- * @private
18530
+ * React context that exposes the Flyout Manager API (state + actions).
18446
18531
  */
18447
- export const EuiFlyoutMenu: FunctionComponent<EuiFlyoutMenuProps>;
18448
- export {};
18532
+ export const EuiFlyoutManagerContext: React.Context<FlyoutManagerApi | null>;
18533
+ /**
18534
+ * Provides the Flyout Manager API via context and runs layout-mode logic.
18535
+ */
18536
+ export const EuiFlyoutManager: React.FC<{
18537
+ children: React.ReactNode;
18538
+ }>;
18539
+ /** Hook to access the Flyout Manager API from context. */
18540
+ export const useFlyoutManager: () => FlyoutManagerApi | null;
18449
18541
 
18450
18542
  }
18451
18543
  declare module '@elastic/eui/src/components/flyout/manager/activity_stage' {
@@ -18618,7 +18710,7 @@ declare module '@elastic/eui/src/components/flyout/manager' {
18618
18710
  /**
18619
18711
  * Convenience re-exports of bound action creators for external usage.
18620
18712
  */
18621
- export { addFlyout as addFlyoutAction, closeFlyout as closeFlyoutAction, closeAllFlyouts as closeAllFlyoutsAction, setActiveFlyout as setActiveFlyoutAction, setFlyoutWidth as setFlyoutWidthAction, setPushPadding as setPushPaddingAction, setActivityStage as setActivityStageAction, } from '@elastic/eui/src/components/flyout/manager/actions';
18713
+ export { addFlyout as addFlyoutAction, closeFlyout as closeFlyoutAction, closeAllFlyouts as closeAllFlyoutsAction, setActiveFlyout as setActiveFlyoutAction, setFlyoutWidth as setFlyoutWidthAction, setPagination as setPaginationAction, setPushPadding as setPushPaddingAction, setActivityStage as setActivityStageAction, } from '@elastic/eui/src/components/flyout/manager/actions';
18622
18714
  /** Reducer and default state for the flyout manager. */
18623
18715
  export { flyoutManagerReducer, initialState } from '@elastic/eui/src/components/flyout/manager/reducer';
18624
18716
  /** Flyout manager store singleton and types. */
@@ -18632,7 +18724,7 @@ declare module '@elastic/eui/src/components/flyout/manager' {
18632
18724
  /**
18633
18725
  * Selectors and derived state hooks for managed flyouts.
18634
18726
  */
18635
- export { useCurrentChildFlyout, useCurrentMainFlyout, useCurrentSession, useFlyoutId, useFlyoutLayoutMode, useFlyoutManager, useFlyoutWidth, useHasChildFlyout, useIsFlyoutActive, useIsInManagedFlyout, useHasActiveSession, useParentFlyoutSize, usePushPaddingOffsets, useHasPushPadding, } from '@elastic/eui/src/components/flyout/manager/hooks';
18727
+ export { useCurrentChildFlyout, useCurrentMainFlyout, useCurrentSession, useFlyoutId, useFlyoutLayoutMode, useFlyoutManager, useFlyoutPagination, useFlyoutWidth, useHasChildFlyout, useIsFlyoutActive, useIsInManagedFlyout, useHasActiveSession, useParentFlyoutSize, usePushPaddingOffsets, useHasPushPadding, } from '@elastic/eui/src/components/flyout/manager/hooks';
18636
18728
  export { EuiFlyoutChild, type EuiFlyoutChildProps } from '@elastic/eui/src/components/flyout/manager/flyout_child';
18637
18729
  export { EuiFlyoutMain, type EuiFlyoutMainProps } from '@elastic/eui/src/components/flyout/manager/flyout_main';
18638
18730
  /** Utility functions for flyout sizing and layout. */
@@ -19660,6 +19752,7 @@ declare module '@elastic/eui/src/components/flyout/use_flyout_menu' {
19660
19752
  };
19661
19753
  historyItems?: import ("@elastic/eui/src/components/flyout/flyout_menu").EuiFlyoutHistoryItem[];
19662
19754
  customActions?: import ("@elastic/eui/src/components/flyout/flyout_menu").EuiFlyoutMenuCustomAction[];
19755
+ pagination?: import ("@elastic/eui/src/components/flyout/flyout_menu").EuiFlyoutMenuPagination;
19663
19756
  };
19664
19757
  shouldRenderMenu: boolean;
19665
19758
  ariaLabelledBy: string | undefined;
@@ -19675,12 +19768,16 @@ declare module '@elastic/eui/src/components/flyout/flyout.component' {
19675
19768
  import type { EuiButtonIconPropsForButton } from '@elastic/eui/src/components/button';
19676
19769
  import { _EuiFlyoutPaddingSize, _EuiFlyoutSide, _EuiFlyoutType, EuiFlyoutMenuDisplayMode, EuiFlyoutSize } from '@elastic/eui/src/components/flyout/const';
19677
19770
  import { EuiFlyoutMenuProps } from '@elastic/eui/src/components/flyout/flyout_menu';
19678
- import type { EuiFlyoutCloseEvent } from '@elastic/eui/src/components/flyout/types';
19771
+ import type { EuiFlyoutCloseEvent, EuiFlyoutCloseMeta } from '@elastic/eui/src/components/flyout/types';
19679
19772
  interface _EuiFlyoutComponentProps {
19680
19773
  /**
19681
19774
  * A required callback function fired when the flyout is closed.
19775
+ *
19776
+ * The optional second `meta` argument describes why the flyout closed via
19777
+ * `meta.reason` (e.g. `'close-button'`, `'escape'`, `'outside-click'`, and,
19778
+ * for managed flyouts, `'navigation-back'` or `'navigation-cascade'`).
19682
19779
  */
19683
- onClose: (event: EuiFlyoutCloseEvent) => void;
19780
+ onClose: (event: EuiFlyoutCloseEvent, meta?: EuiFlyoutCloseMeta) => void;
19684
19781
  /**
19685
19782
  * Defines the width of the panel.
19686
19783
  * Pass a predefined size of `s | m | l`, or pass any number/string compatible with the CSS `width` attribute
@@ -19969,6 +20066,7 @@ declare module '@elastic/eui/src/components/flyout/flyout_header' {
19969
20066
  declare module '@elastic/eui/src/components/flyout' {
19970
20067
  export type { EuiFlyoutProps, EuiFlyoutSize } from '@elastic/eui/src/components/flyout/flyout';
19971
20068
  export { EuiFlyout } from '@elastic/eui/src/components/flyout/flyout';
20069
+ export type { EuiFlyoutCloseEvent, EuiFlyoutCloseReason, EuiFlyoutCloseMeta, } from '@elastic/eui/src/components/flyout/types';
19972
20070
  export type { EuiFlyoutBodyProps } from '@elastic/eui/src/components/flyout/flyout_body';
19973
20071
  export { EuiFlyoutBody } from '@elastic/eui/src/components/flyout/flyout_body';
19974
20072
  export type { EuiFlyoutFooterProps } from '@elastic/eui/src/components/flyout/flyout_footer';
@@ -19978,7 +20076,7 @@ declare module '@elastic/eui/src/components/flyout' {
19978
20076
  export { euiFlyoutSlideInRight, euiFlyoutSlideInLeft } from '@elastic/eui/src/components/flyout/flyout.styles';
19979
20077
  export type { EuiFlyoutResizableProps } from '@elastic/eui/src/components/flyout/flyout_resizable';
19980
20078
  export { EuiFlyoutResizable } from '@elastic/eui/src/components/flyout/flyout_resizable';
19981
- export type { EuiFlyoutMenuProps, EuiFlyoutHistoryItem, EuiFlyoutMenuCustomAction, } from '@elastic/eui/src/components/flyout/flyout_menu';
20079
+ export type { EuiFlyoutMenuProps, EuiFlyoutHistoryItem, EuiFlyoutMenuCustomAction, EuiFlyoutMenuPagination, } from '@elastic/eui/src/components/flyout/flyout_menu';
19982
20080
  export { EuiFlyoutMenu } from '@elastic/eui/src/components/flyout/flyout_menu';
19983
20081
  export { useIsInManagedFlyout, useHasActiveSession } from '@elastic/eui/src/components/flyout/manager';
19984
20082
  export { useIsInsideParentFlyout } from '@elastic/eui/src/components/flyout/flyout_parent_context';
@@ -29238,8 +29336,7 @@ declare module '@elastic/eui/src/components/date_picker/super_date_picker/quick_
29238
29336
 
29239
29337
  }
29240
29338
  declare module '@elastic/eui/src/components/date_picker/auto_refresh/refresh_interval' {
29241
- import React, { Component, ChangeEventHandler, KeyboardEventHandler } from 'react';
29242
- import { TimeOptions } from '@elastic/eui/src/components/date_picker/super_date_picker/time_options';
29339
+ import React from 'react';
29243
29340
  import { Milliseconds, RefreshUnitsOptions, ApplyRefreshInterval } from '@elastic/eui/src/components/date_picker/types';
29244
29341
  export type EuiRefreshIntervalProps = {
29245
29342
  /**
@@ -29266,30 +29363,10 @@ declare module '@elastic/eui/src/components/date_picker/auto_refresh/refresh_int
29266
29363
  */
29267
29364
  onRefreshChange: ApplyRefreshInterval;
29268
29365
  };
29269
- interface EuiRefreshIntervalState {
29270
- value: number | '';
29271
- units: RefreshUnitsOptions;
29272
- min?: Milliseconds;
29273
- }
29274
- export class EuiRefreshInterval extends Component<EuiRefreshIntervalProps, EuiRefreshIntervalState> {
29275
- static defaultProps: {
29276
- isPaused: boolean;
29277
- refreshInterval: number;
29278
- minInterval: number;
29279
- };
29280
- state: EuiRefreshIntervalState;
29281
- generateId: (idSuffix?: string) => string;
29282
- refreshSelectionId: string;
29283
- onValueChange: ChangeEventHandler<HTMLInputElement>;
29284
- onUnitsChange: ChangeEventHandler<HTMLSelectElement>;
29285
- startRefresh: () => void;
29286
- handleKeyDown: KeyboardEventHandler<HTMLElement>;
29287
- applyRefreshInterval: () => void;
29288
- toggleRefresh: () => void;
29289
- renderScreenReaderText: (refreshUnitsOptions: TimeOptions["refreshUnitsOptions"]) => React.JSX.Element;
29290
- render(): React.JSX.Element;
29291
- }
29292
- export {};
29366
+ export const EuiRefreshInterval: {
29367
+ ({ isPaused, refreshInterval, minInterval, intervalUnits, onRefreshChange, }: EuiRefreshIntervalProps): React.JSX.Element;
29368
+ displayName: string;
29369
+ };
29293
29370
 
29294
29371
  }
29295
29372
  declare module '@elastic/eui/src/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover' {
@@ -36071,10 +36148,36 @@ declare module '@elastic/eui/src/components/basic_table/expanded_item_actions' {
36071
36148
  }
36072
36149
  export const ExpandedItemActions: <T extends {}>({ actions, itemId, item, actionsDisabled, className, }: ExpandedItemActionsProps<T>) => ReactElement;
36073
36150
 
36151
+ }
36152
+ declare module '@elastic/eui/src/components/basic_table/panel.styles' {
36153
+ import type { UseEuiTheme } from '@elastic/eui/src/services';
36154
+ export const euiBasicTablePanelStyles: ({ euiTheme }: UseEuiTheme) => import("@emotion/react").SerializedStyles;
36155
+
36156
+ }
36157
+ declare module '@elastic/eui/src/components/basic_table/use_panel_props' {
36158
+ /**
36159
+ * @internal
36160
+ */
36161
+ export const EUI_BASIC_TABLE_PANEL_CLASS_NAME: "euiBasicTablePanel";
36162
+ /**
36163
+ * A utility hook that returns props needed to be passed to element(s) being
36164
+ * a part of the paneled table look and feel (e.g., a toolbar above the table).
36165
+ * @beta
36166
+ */
36167
+ export const useEuiBasicTablePanelProps: () => {
36168
+ css: import("@emotion/serialize").SerializedStyles;
36169
+ className: "euiBasicTablePanel";
36170
+ };
36171
+
36074
36172
  }
36075
36173
  declare module '@elastic/eui/src/components/basic_table/basic_table.styles' {
36076
- import { UseEuiTheme } from '@elastic/eui/src/services';
36174
+ import type { UseEuiTheme } from '@elastic/eui/src/services';
36175
+ import type { EuiTableProps } from '@elastic/eui/src/components/table';
36077
36176
  export const euiBasicTableBodyLoading: (euiThemeContext: UseEuiTheme) => import("@emotion/react").SerializedStyles;
36177
+ /**
36178
+ * @internal
36179
+ */
36180
+ export const euiBasicTableWrapperPanelledStyles: (responsiveBreakpoint: EuiTableProps["responsiveBreakpoint"]) => (theme: UseEuiTheme) => import("@emotion/react").SerializedStyles | null;
36078
36181
  export const safariLoadingWorkaround: import("@emotion/react").SerializedStyles;
36079
36182
 
36080
36183
  }
@@ -36083,7 +36186,7 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
36083
36186
  import { CommonProps } from '@elastic/eui/src/components/common';
36084
36187
  import { EuiComponentDefaultsContext } from '@elastic/eui/src/components/provider/component_defaults';
36085
36188
  import { EuiTableProps } from '@elastic/eui/src/components/table';
36086
- import { Pagination } from '@elastic/eui/src/components/basic_table/pagination_bar';
36189
+ import { type Pagination } from '@elastic/eui/src/components/basic_table/pagination_bar';
36087
36190
  import { EuiTableActionsColumnType, EuiTableComputedColumnType, EuiTableDataType, EuiTableFieldDataColumnType, ItemId, EuiTableSelectionType, EuiTableSortingType, ItemIdResolved } from '@elastic/eui/src/components/basic_table/table_types';
36088
36191
  interface ItemIdToExpandedRowMap {
36089
36192
  [id: string]: ReactNode;
@@ -36154,6 +36257,15 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
36154
36257
  * Provides an infinite loading indicator
36155
36258
  */
36156
36259
  loading?: boolean;
36260
+ /**
36261
+ * Enable the panelled style of the table.
36262
+ *
36263
+ * Panelled style adds contrast between the table navigation controls
36264
+ * and table content itself. It should be used in tables rendered outside
36265
+ * EUI containers like `<EuiPanel>` or `<EuiFlyout>`.
36266
+ * @default false
36267
+ */
36268
+ panelled?: boolean;
36157
36269
  /**
36158
36270
  * Message to display if table is empty
36159
36271
  */
@@ -36388,6 +36500,7 @@ declare module '@elastic/eui/src/components/basic_table' {
36388
36500
  export type { EuiTableDataType, EuiTableFooterProps, EuiTableFieldDataColumnType, EuiTableComputedColumnType, EuiTableActionsColumnType, EuiTableSelectionType, EuiTableSortingType, } from '@elastic/eui/src/components/basic_table/table_types';
36389
36501
  export type { Pagination } from '@elastic/eui/src/components/basic_table/pagination_bar';
36390
36502
  export type { DefaultItemAction, CustomItemAction } from '@elastic/eui/src/components/basic_table/action_types';
36503
+ export { useEuiBasicTablePanelProps } from '@elastic/eui/src/components/basic_table/use_panel_props';
36391
36504
 
36392
36505
  }
36393
36506
  declare module '@elastic/eui/src/components/text_diff/text_diff.styles' {
@@ -36443,37 +36556,143 @@ declare module '@elastic/eui/src/components/toast/toast.styles' {
36443
36556
  import { UseEuiTheme } from '@elastic/eui/src/services';
36444
36557
  export const euiToastStyles: (euiThemeContext: UseEuiTheme) => {
36445
36558
  euiToast: import("@emotion/react").SerializedStyles;
36446
- euiToast__closeButton: import("@emotion/react").SerializedStyles;
36447
- colors: {
36448
- _getStyles: (color: string) => string;
36449
- readonly primary: import("@emotion/react").SerializedStyles;
36450
- readonly success: import("@emotion/react").SerializedStyles;
36451
- readonly warning: import("@emotion/react").SerializedStyles;
36452
- readonly danger: import("@emotion/react").SerializedStyles;
36453
- };
36559
+ decor: import("@emotion/react").SerializedStyles;
36560
+ wrapper: import("@emotion/react").SerializedStyles;
36561
+ body: import("@emotion/react").SerializedStyles;
36562
+ content: import("@emotion/react").SerializedStyles;
36563
+ text: import("@emotion/react").SerializedStyles;
36564
+ icon: import("@emotion/react").SerializedStyles;
36565
+ actions: import("@emotion/react").SerializedStyles;
36566
+ dismissButton: import("@emotion/react").SerializedStyles;
36567
+ hasAnimation: import("@emotion/react").SerializedStyles;
36454
36568
  };
36455
36569
  export const euiToastHeaderStyles: (euiThemeContext: UseEuiTheme) => {
36456
36570
  euiToastHeader: import("@emotion/react").SerializedStyles;
36457
- euiToastHeader__icon: import("@emotion/react").SerializedStyles;
36458
- euiToastHeader__title: import("@emotion/react").SerializedStyles;
36459
- withBody: import("@emotion/react").SerializedStyles;
36571
+ hasDismissButton: import("@emotion/react").SerializedStyles;
36572
+ };
36573
+
36574
+ }
36575
+ declare module '@elastic/eui/src/components/notification_icon/assets/info_fill' {
36576
+ import * as React from 'react';
36577
+ import type { SVGProps } from 'react';
36578
+ interface SVGRProps {
36579
+ title?: string;
36580
+ titleId?: string;
36581
+ }
36582
+ export const icon: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => React.JSX.Element;
36583
+ export {};
36584
+
36585
+ }
36586
+ declare module '@elastic/eui/src/components/notification_icon/assets/warning_static' {
36587
+ import * as React from 'react';
36588
+ import type { SVGProps } from 'react';
36589
+ interface SVGRProps {
36590
+ title?: string;
36591
+ titleId?: string;
36592
+ }
36593
+ export const icon: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => React.JSX.Element;
36594
+ export {};
36595
+
36596
+ }
36597
+ declare module '@elastic/eui/src/components/notification_icon/notification_icon.styles' {
36598
+ import { UseEuiTheme } from '@elastic/eui/src/services';
36599
+ export const euiNotificationIconStyles: ({ euiTheme }: UseEuiTheme) => {
36600
+ euiNotificationIcon: import("@emotion/react").SerializedStyles;
36601
+ size: {
36602
+ l: import("@emotion/react").SerializedStyles;
36603
+ };
36604
+ };
36605
+
36606
+ }
36607
+ declare module '@elastic/eui/src/components/notification_icon/notification_icon' {
36608
+ import { FunctionComponent } from 'react';
36609
+ import { CommonProps } from '@elastic/eui/src/components/common';
36610
+ import { IconType } from '@elastic/eui/src/components/icon/icon'; const TYPES: readonly ["info", "success", "warning", "error"];
36611
+ export type EuiNotificationIconType = (typeof TYPES)[number];
36612
+ export const NOTIFICATION_ICONS_MAP: Record<EuiNotificationIconType, {
36613
+ name: string;
36614
+ icon: IconType;
36615
+ }>;
36616
+ export type EuiNotificationIconProps = CommonProps & {
36617
+ type: EuiNotificationIconType;
36618
+ size?: 'm' | 'l';
36460
36619
  };
36620
+ export const EuiNotificationIcon: FunctionComponent<EuiNotificationIconProps>;
36621
+ export {};
36622
+
36623
+ }
36624
+ declare module '@elastic/eui/src/components/toast/types' {
36625
+ export const COLORS: readonly ["primary", "success", "warning", "danger"];
36626
+ export type EuiToastColor = (typeof COLORS)[number];
36627
+
36628
+ }
36629
+ declare module '@elastic/eui/src/components/toast/toast_action' {
36630
+ import React from 'react';
36631
+ import { ExclusiveUnion } from '@elastic/eui/src/components/common';
36632
+ import { EuiButtonEmptyProps } from '@elastic/eui/src/components/button';
36633
+ import { Props as EuiButtonProps } from '@elastic/eui/src/components/button/button';
36634
+ import { EuiToastColor } from '@elastic/eui/src/components/toast/types';
36635
+ export type EuiToastActionPrimaryProps = Omit<EuiButtonProps, 'color' | 'size' | 'fill'>;
36636
+ export type EuiToastActionSecondaryProps = Omit<EuiButtonEmptyProps, 'color' | 'size' | 'flush'>;
36637
+ type EuiToastActionPrimary = EuiToastActionPrimaryProps & {
36638
+ actionType: 'primary';
36639
+ };
36640
+ type EuiToastActionSecondary = EuiToastActionSecondaryProps & {
36641
+ actionType: 'secondary';
36642
+ };
36643
+ type EuiToastActionProps = ExclusiveUnion<EuiToastActionPrimary, EuiToastActionSecondary>;
36644
+ export const EuiToastAction: ({ children, actionType, color, ...rest }: EuiToastActionProps & {
36645
+ color?: EuiToastColor;
36646
+ }) => React.JSX.Element;
36647
+ export {};
36461
36648
 
36462
36649
  }
36463
36650
  declare module '@elastic/eui/src/components/toast/toast' {
36464
36651
  import { FunctionComponent, HTMLAttributes, ReactNode } from 'react';
36465
36652
  import { CommonProps } from '@elastic/eui/src/components/common';
36466
36653
  import { IconType } from '@elastic/eui/src/components/icon';
36467
- export const COLORS: readonly ["primary", "success", "warning", "danger"];
36468
- type ToastColor = (typeof COLORS)[number];
36654
+ import { type EuiNotificationIconType } from '@elastic/eui/src/components/notification_icon/notification_icon';
36655
+ import { EuiToastActionPrimaryProps, EuiToastActionSecondaryProps } from '@elastic/eui/src/components/toast/toast_action';
36656
+ import { EuiToastColor } from '@elastic/eui/src/components/toast/types';
36657
+ export const COLOR_TO_NOTIFICATION_ICON_MAP: Record<EuiToastColor, EuiNotificationIconType>;
36469
36658
  export interface EuiToastProps extends CommonProps, Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
36659
+ /**
36660
+ * Title of the toast. Should be used with text only. Do not pass complex content or custom components.
36661
+ * Ensure to always pass a title. It's currently marked as optional for backwards compatibility.
36662
+ * In a future major release, this will be required.
36663
+ */
36470
36664
  title?: ReactNode;
36471
- color?: ToastColor;
36665
+ /**
36666
+ * Main component text. Accepts text, text block elements such as `<p>`, and inline elements such as `<span>`, `<strong>`, `<em>` or `<EuiLink>`.
36667
+ * Avoid passing complex layouts or custom components. Use `children` instead.
36668
+ */
36669
+ text?: ReactNode;
36670
+ /**
36671
+ * Can be used for additional, non-inline content. Use sparingly, as toasts are not meant to have complex content.
36672
+ * Where possible, use `text` and `actionProps` instead to display text and actions.
36673
+ */
36674
+ children?: ReactNode;
36675
+ color?: EuiToastColor;
36676
+ /**
36677
+ * Defines a custom icon to be displayed.
36678
+ * When no `iconType` is set, a default icon will be used based on the `color` of the toast.
36679
+ */
36472
36680
  iconType?: IconType;
36473
36681
  onClose?: () => void;
36682
+ /**
36683
+ * Duration in milliseconds that drives a countdown animation on the toast's decor bar.
36684
+ * When not set the bar is static at full width.
36685
+ */
36686
+ animationMs?: number;
36687
+ /**
36688
+ * Props for primary and secondary actions within the toast.
36689
+ */
36690
+ actionProps?: {
36691
+ primary?: EuiToastActionPrimaryProps;
36692
+ secondary?: EuiToastActionSecondaryProps;
36693
+ };
36474
36694
  }
36475
36695
  export const EuiToast: FunctionComponent<EuiToastProps>;
36476
- export {};
36477
36696
 
36478
36697
  }
36479
36698
  declare module '@elastic/eui/src/services/time/timer' {
@@ -36502,6 +36721,11 @@ declare module '@elastic/eui/src/components/toast/global_toast_list.styles' {
36502
36721
  * 2. Allow some padding for shadow
36503
36722
  */
36504
36723
  euiGlobalToastList: import("@emotion/react").SerializedStyles;
36724
+ content: import("@emotion/react").SerializedStyles;
36725
+ notificationBadge: {
36726
+ notificationBadge: import("@emotion/react").SerializedStyles;
36727
+ hasFadeOut: import("@emotion/react").SerializedStyles;
36728
+ };
36505
36729
  right: import("@emotion/react").SerializedStyles;
36506
36730
  left: import("@emotion/react").SerializedStyles;
36507
36731
  euiGlobalToastListDismissButton: import("@emotion/react").SerializedStyles;
@@ -36567,6 +36791,12 @@ declare module '@elastic/eui/src/components/toast/global_toast_list' {
36567
36791
  * @default log
36568
36792
  */
36569
36793
  role?: HTMLAttributes<HTMLElement>['role'];
36794
+ /**
36795
+ * Renders a notification badge indicating the amount of toasts in the list.
36796
+ *
36797
+ * @default false
36798
+ */
36799
+ showNotificationBadge?: boolean;
36570
36800
  }
36571
36801
  export const EuiGlobalToastList: FunctionComponent<EuiGlobalToastListProps>;
36572
36802
  export {};
@@ -37900,18 +38130,17 @@ declare module '@elastic/eui/src/services/container_query' {
37900
38130
 
37901
38131
  declare module '@elastic/eui' {
37902
38132
  export type EuiTokensObject = {
37903
- "euiTourStepIndicator.isActive": any;
38133
+ "euiTreeView.listNavigationInstructions": any;
38134
+ "euiTourStepIndicator.isActive": any;
37904
38135
  "euiTourStepIndicator.isComplete": any;
37905
38136
  "euiTourStepIndicator.isIncomplete": any;
37906
38137
  "euiTourStepIndicator.ariaLabel": any;
37907
38138
  "euiTourFooter.endTour": any;
37908
38139
  "euiTourFooter.skipTour": any;
37909
38140
  "euiTourFooter.closeTour": any;
37910
- "euiTreeView.listNavigationInstructions": any;
37911
38141
  "euiIconTip.defaultAriaLabel": any;
37912
- "euiToast.newNotification": any;
37913
- "euiToast.notification": any;
37914
38142
  "euiToast.dismissToast": any;
38143
+ "euiToast.newNotification": any;
37915
38144
  "euiGlobalToastList.clearAllToastsButtonAriaLabel": any;
37916
38145
  "euiGlobalToastList.clearAllToastsButtonDisplayText": any;
37917
38146
  "euiStat.loadingText": any;
@@ -37934,6 +38163,7 @@ declare module '@elastic/eui' {
37934
38163
  "euiTableHeaderCell.titleTextWithDesc": any;
37935
38164
  "euiSkeletonLoading.loadedAriaText": any;
37936
38165
  "euiSkeletonLoading.loadingAriaText": any;
38166
+ "euiSideNav.mobileToggleAriaLabel": any;
37937
38167
  "euiSelectable.loadingOptions": any;
37938
38168
  "euiSelectable.noMatchingOptions": any;
37939
38169
  "euiSelectable.noAvailableOptions": any;
@@ -37947,12 +38177,13 @@ declare module '@elastic/eui' {
37947
38177
  "euiResizableButton.horizontalResizerAriaLabel": any;
37948
38178
  "euiResizableButton.verticalResizerAriaLabel": any;
37949
38179
  "euiProgress.valueText": any;
37950
- "euiSideNav.mobileToggleAriaLabel": any;
37951
38180
  "euiPopover.screenReaderAnnouncement": any;
37952
38181
  "euiPaginationButtonArrow.firstPage": any;
37953
38182
  "euiPaginationButtonArrow.previousPage": any;
37954
38183
  "euiPaginationButtonArrow.nextPage": any;
37955
38184
  "euiPaginationButtonArrow.lastPage": any;
38185
+ "euiPaginationButton.longPageString": any;
38186
+ "euiPaginationButton.shortPageString": any;
37956
38187
  "euiPagination.pageOfTotalCompressed": any;
37957
38188
  "euiPagination.firstRangeAriaLabel": any;
37958
38189
  "euiPagination.lastRangeAriaLabel": any;
@@ -37961,12 +38192,8 @@ declare module '@elastic/eui' {
37961
38192
  "euiPagination.of": any;
37962
38193
  "euiPagination.collection": any;
37963
38194
  "euiPagination.fromEndLabel": any;
37964
- "euiPaginationButton.longPageString": any;
37965
- "euiPaginationButton.shortPageString": any;
37966
38195
  "euiMark.highlightStart": any;
37967
38196
  "euiMark.highlightEnd": any;
37968
- "euiModal.screenReaderModalDialog": any;
37969
- "euiModal.closeModal": any;
37970
38197
  "euiMarkdownEditorToolbar.editor": any;
37971
38198
  "euiMarkdownEditorToolbar.previewMarkdown": any;
37972
38199
  "euiMarkdownEditorHelpButton.mdSyntaxLink": any;
@@ -37983,6 +38210,8 @@ declare module '@elastic/eui' {
37983
38210
  "euiMarkdownEditorFooter.showSyntaxErrors": any;
37984
38211
  "euiMarkdownEditorFooter.errorsTitle": any;
37985
38212
  "euiLoadingStrings.ariaLabel": any;
38213
+ "euiModal.screenReaderModalDialog": any;
38214
+ "euiModal.closeModal": any;
37986
38215
  "euiExternalLinkIcon.newTarget.screenReaderOnlyText": any;
37987
38216
  "euiExternalLinkIcon.externalTarget.screenReaderOnlyText": any;
37988
38217
  "euiInlineEditForm.saveButtonAriaLabel": any;
@@ -37991,13 +38220,16 @@ declare module '@elastic/eui' {
37991
38220
  "euiInlineEditForm.activateEditModeDescription": any;
37992
38221
  "euiImageButton.openFullScreen": any;
37993
38222
  "euiImageButton.closeFullScreen": any;
38223
+ "euiForm.addressFormErrors": any;
37994
38224
  "euiFlyoutMenu.back": any;
37995
38225
  "euiFlyoutMenu.history": any;
38226
+ "euiFlyoutMenu.pagination.previous": any;
38227
+ "euiFlyoutMenu.pagination.next": any;
38228
+ "euiFlyoutMenu.pagination.counter": any;
37996
38229
  "euiFlyout.screenReaderModalDialog": any;
37997
38230
  "euiFlyout.screenReaderNoOverlayMaskDialog": any;
37998
38231
  "euiFlyout.screenReaderFocusTrapShards": any;
37999
38232
  "euiFlyoutCloseButton.ariaLabel": any;
38000
- "euiForm.addressFormErrors": any;
38001
38233
  "euiFilterButton.filterBadgeActiveAriaLabel": any;
38002
38234
  "euiFilterButton.filterBadgeAvailableAriaLabel": any;
38003
38235
  "euiErrorBoundary.error": any;
@@ -38005,7 +38237,7 @@ declare module '@elastic/eui' {
38005
38237
  "euiDataGrid.ariaLabelledBy": any;
38006
38238
  "euiDataGrid.screenReaderNotice": any;
38007
38239
  "euiContextMenuPanelTitle.ariaLabel": any;
38008
- "euiComboBox.listboxAriaLabel": any;
38240
+ "euiCollapsibleNavBeta.ariaLabel": any;
38009
38241
  "euiSaturation.ariaLabel": any;
38010
38242
  "euiSaturation.roleDescription": any;
38011
38243
  "euiSaturation.screenReaderInstructions": any;
@@ -38022,20 +38254,21 @@ declare module '@elastic/eui' {
38022
38254
  "euiColorPicker.openLabel": any;
38023
38255
  "euiColorPicker.closeLabel": any;
38024
38256
  "euiColorPicker.ariaLabel": any;
38025
- "euiCollapsibleNavBeta.ariaLabel": any;
38026
- "euiCallOut.dismissAriaLabel": any;
38257
+ "euiComboBox.listboxAriaLabel": any;
38027
38258
  "euiCodeBlockFullScreen.fullscreenCollapse": any;
38028
38259
  "euiCodeBlockFullScreen.fullscreenExpand": any;
38029
38260
  "euiCodeBlockFullScreen.ariaLabel": any;
38030
38261
  "euiCodeBlockCopy.copy": any;
38031
38262
  "euiCodeBlockAnnotations.ariaLabel": any;
38032
38263
  "euiCodeBlock.label": any;
38033
- "euiBreadcrumbs.nav.ariaLabel": any;
38034
- "euiBreadcrumb.collapsedBadge.ariaLabel": any;
38035
- "euiBreadcrumb.popoverAriaLabel": any;
38264
+ "euiCallOut.dismissAriaLabel": any;
38036
38265
  "euiBottomBar.screenReaderHeading": any;
38037
38266
  "euiBottomBar.customScreenReaderAnnouncement": any;
38038
38267
  "euiBottomBar.screenReaderAnnouncement": any;
38268
+ "euiBreadcrumbs.nav.ariaLabel": any;
38269
+ "euiBreadcrumb.collapsedBadge.ariaLabel": any;
38270
+ "euiBreadcrumb.popoverAriaLabel": any;
38271
+ "euiBanner.dismissAriaLabel": any;
38039
38272
  "euiCollapsedItemActions.allActionsTooltip": any;
38040
38273
  "euiCollapsedItemActions.allActions": any;
38041
38274
  "euiCollapsedItemActions.allActionsDisabled": any;
@@ -38048,7 +38281,6 @@ declare module '@elastic/eui' {
38048
38281
  "euiBasicTable.deselectRows": any;
38049
38282
  "euiBasicTable.selectThisRow": any;
38050
38283
  "euiBasicTable.tablePagination": any;
38051
- "euiBanner.dismissAriaLabel": any;
38052
38284
  "euiTablePagination.allRows": any;
38053
38285
  "euiTablePagination.rowsPerPage": any;
38054
38286
  "euiTablePagination.rowsPerPageOptionShowAllRows": any;
@@ -38070,22 +38302,37 @@ declare module '@elastic/eui' {
38070
38302
  "euiFieldValueSelectionFilter.buttonLabelHint": any;
38071
38303
  "euiPinnableListGroup.pinExtraActionLabel": any;
38072
38304
  "euiPinnableListGroup.pinnedExtraActionLabel": any;
38073
- "euiHeaderLinks.appNavigation": any;
38074
- "euiHeaderLinks.openNavigationMenu": any;
38075
- "euiFlyoutManaged.defaultTitle": any;
38076
38305
  "euiSuperSelect.screenReaderAnnouncement": any;
38077
38306
  "euiSuperSelect.ariaLabel": any;
38078
38307
  "euiRange.sliderScreenReaderInstructions": any;
38079
38308
  "euiDualRange.sliderScreenReaderInstructions": any;
38080
38309
  "euiFormControlLayoutDelimited.delimiterLabel": any;
38081
38310
  "euiFormControlLayoutClearButton.label": any;
38082
- "euiFieldSearch.clearSearchButtonLabel": any;
38083
38311
  "euiFilePicker.promptText": any;
38084
38312
  "euiFilePicker.filesSelected": any;
38085
38313
  "euiFilePicker.removeSelectedAriaLabel": any;
38086
38314
  "euiFilePicker.removeSelected": any;
38315
+ "euiFieldSearch.clearSearchButtonLabel": any;
38087
38316
  "euiFieldPassword.showPassword": any;
38088
38317
  "euiFieldPassword.maskPassword": any;
38318
+ "euiHeaderLinks.appNavigation": any;
38319
+ "euiHeaderLinks.openNavigationMenu": any;
38320
+ "euiFlyoutManaged.defaultTitle": any;
38321
+ "euiTimeWindowButtons.previousDescription": any;
38322
+ "euiTimeWindowButtons.nextDescription": any;
38323
+ "euiTimeWindowButtons.invalidShiftLabel": any;
38324
+ "euiTimeWindowButtons.invalidZoomInLabel": any;
38325
+ "euiTimeWindowButtons.cannotZoomInLabel": any;
38326
+ "euiTimeWindowButtons.invalidZoomOutLabel": any;
38327
+ "euiTimeWindowButtons.previousLabel": any;
38328
+ "euiTimeWindowButtons.zoomInLabel": any;
38329
+ "euiTimeWindowButtons.zoomOutLabel": any;
38330
+ "euiTimeWindowButtons.nextLabel": any;
38331
+ "euiSuperUpdateButton.updatingButtonLabel": any;
38332
+ "euiSuperUpdateButton.updateButtonLabel": any;
38333
+ "euiSuperUpdateButton.refreshButtonLabel": any;
38334
+ "euiSuperUpdateButton.cannotUpdateTooltip": any;
38335
+ "euiSuperUpdateButton.clickToApplyTooltip": any;
38089
38336
  "euiTimeOptions.last": any;
38090
38337
  "euiTimeOptions.next": any;
38091
38338
  "euiTimeOptions.seconds": any;
@@ -38124,30 +38371,6 @@ declare module '@elastic/eui' {
38124
38371
  "euiTimeOptions.weekToDate": any;
38125
38372
  "euiTimeOptions.monthToDate": any;
38126
38373
  "euiTimeOptions.yearToDate": any;
38127
- "euiTimeWindowButtons.previousDescription": any;
38128
- "euiTimeWindowButtons.nextDescription": any;
38129
- "euiTimeWindowButtons.invalidShiftLabel": any;
38130
- "euiTimeWindowButtons.invalidZoomInLabel": any;
38131
- "euiTimeWindowButtons.cannotZoomInLabel": any;
38132
- "euiTimeWindowButtons.invalidZoomOutLabel": any;
38133
- "euiTimeWindowButtons.previousLabel": any;
38134
- "euiTimeWindowButtons.zoomInLabel": any;
38135
- "euiTimeWindowButtons.zoomOutLabel": any;
38136
- "euiTimeWindowButtons.nextLabel": any;
38137
- "euiSuperUpdateButton.updatingButtonLabel": any;
38138
- "euiSuperUpdateButton.updateButtonLabel": any;
38139
- "euiSuperUpdateButton.refreshButtonLabel": any;
38140
- "euiSuperUpdateButton.cannotUpdateTooltip": any;
38141
- "euiSuperUpdateButton.clickToApplyTooltip": any;
38142
- "euiPrettyInterval.seconds": any;
38143
- "euiPrettyInterval.minutes": any;
38144
- "euiPrettyInterval.hours": any;
38145
- "euiPrettyInterval.days": any;
38146
- "euiPrettyInterval.secondsShorthand": any;
38147
- "euiPrettyInterval.minutesShorthand": any;
38148
- "euiPrettyInterval.hoursShorthand": any;
38149
- "euiPrettyInterval.daysShorthand": any;
38150
- "euiPrettyInterval.off": any;
38151
38374
  "euiPrettyDuration.lastDurationSeconds": any;
38152
38375
  "euiPrettyDuration.nextDurationSeconds": any;
38153
38376
  "euiPrettyDuration.lastDurationMinutes": any;
@@ -38172,6 +38395,15 @@ declare module '@elastic/eui' {
38172
38395
  "euiPrettyDuration.now": any;
38173
38396
  "euiPrettyDuration.invalid": any;
38174
38397
  "euiPrettyDuration.fallbackDuration": any;
38398
+ "euiPrettyInterval.seconds": any;
38399
+ "euiPrettyInterval.minutes": any;
38400
+ "euiPrettyInterval.hours": any;
38401
+ "euiPrettyInterval.days": any;
38402
+ "euiPrettyInterval.secondsShorthand": any;
38403
+ "euiPrettyInterval.minutesShorthand": any;
38404
+ "euiPrettyInterval.hoursShorthand": any;
38405
+ "euiPrettyInterval.daysShorthand": any;
38406
+ "euiPrettyInterval.off": any;
38175
38407
  "euiRefreshInterval.fullDescriptionOff": any;
38176
38408
  "euiRefreshInterval.fullDescriptionOn": any;
38177
38409
  "euiRefreshInterval.toggleLabel": any;
@@ -38247,6 +38479,13 @@ declare module '@elastic/eui' {
38247
38479
  "euiColumnSelector.searchcolumns": any;
38248
38480
  "euiColumnSelector.selectAll": any;
38249
38481
  "euiColumnSelector.hideAll": any;
38482
+ "euiCollapsibleNavButton.ariaLabelExpand": any;
38483
+ "euiCollapsibleNavButton.ariaLabelCollapse": any;
38484
+ "euiCollapsibleNavButton.ariaLabelOpen": any;
38485
+ "euiCollapsibleNavButton.ariaLabelClose": any;
38486
+ "euiCollapsibleNavKibanaSolution.switcherTitle": any;
38487
+ "euiCollapsibleNavKibanaSolution.switcherAriaLabel": any;
38488
+ "euiCollapsibleNavKibanaSolution.groupLabel": any;
38250
38489
  "euiComboBoxOptionsList.loadingOptions": any;
38251
38490
  "euiComboBoxOptionsList.delimiterMessage": any;
38252
38491
  "euiComboBoxOptionsList.alreadyAdded": any;
@@ -38255,28 +38494,10 @@ declare module '@elastic/eui' {
38255
38494
  "euiComboBoxOptionsList.noAvailableOptions": any;
38256
38495
  "euiComboBoxOptionsList.allOptionsSelected": any;
38257
38496
  "euiComboBoxPill.removeSelection": any;
38258
- "euiCollapsibleNavButton.ariaLabelExpand": any;
38259
- "euiCollapsibleNavButton.ariaLabelCollapse": any;
38260
- "euiCollapsibleNavButton.ariaLabelOpen": any;
38261
- "euiCollapsibleNavButton.ariaLabelClose": any;
38262
- "euiCollapsibleNavKibanaSolution.switcherTitle": any;
38263
- "euiCollapsibleNavKibanaSolution.switcherAriaLabel": any;
38264
- "euiCollapsibleNavKibanaSolution.groupLabel": any;
38265
38497
  "euiCardSelect.selected": any;
38266
38498
  "euiCardSelect.unavailable": any;
38267
38499
  "euiCardSelect.select": any;
38268
38500
  "euiAccordionChildrenLoading.message": any;
38269
- "euiRecentlyUsed.legend": any;
38270
- "euiQuickSelectPopover.buttonLabel": any;
38271
- "euiCommonlyUsedTimeRanges.legend": any;
38272
- "euiQuickSelect.quickSelectTitle": any;
38273
- "euiQuickSelect.previousLabel": any;
38274
- "euiQuickSelect.nextLabel": any;
38275
- "euiQuickSelect.tenseLabel": any;
38276
- "euiQuickSelect.valueLabel": any;
38277
- "euiQuickSelect.unitLabel": any;
38278
- "euiQuickSelect.applyButton": any;
38279
- "euiQuickSelect.fullDescription": any;
38280
38501
  "euiRelativeTab.numberInputLabel": any;
38281
38502
  "euiRelativeTab.numberInputError": any;
38282
38503
  "euiRelativeTab.dateInputError": any;
@@ -38294,6 +38515,17 @@ declare module '@elastic/eui' {
38294
38515
  "euiDatePopoverButton.outdatedTitle": any;
38295
38516
  "euiAbsoluteTab.dateFormatButtonLabel": any;
38296
38517
  "euiAbsoluteTab.dateFormatError": any;
38518
+ "euiRecentlyUsed.legend": any;
38519
+ "euiQuickSelectPopover.buttonLabel": any;
38520
+ "euiQuickSelect.quickSelectTitle": any;
38521
+ "euiQuickSelect.previousLabel": any;
38522
+ "euiQuickSelect.nextLabel": any;
38523
+ "euiQuickSelect.tenseLabel": any;
38524
+ "euiQuickSelect.valueLabel": any;
38525
+ "euiQuickSelect.unitLabel": any;
38526
+ "euiQuickSelect.applyButton": any;
38527
+ "euiQuickSelect.fullDescription": any;
38528
+ "euiCommonlyUsedTimeRanges.legend": any;
38297
38529
  "euiDataGridCell.focusTrapExitPrompt": any;
38298
38530
  "euiDataGridCell.focusTrapEnterPrompt": any;
38299
38531
  "euiDataGridCell.focusTrapEnteredExitPrompt": any;