@elastic/eui 88.5.4 → 89.0.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 (206) hide show
  1. package/dist/eui_theme_dark.css +26 -526
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +26 -526
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/basic_table/basic_table.js +7 -2
  6. package/es/components/basic_table/in_memory_table.js +7 -2
  7. package/es/components/collapsible_nav/collapsible_nav.js +5 -0
  8. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  9. package/es/components/color_picker/index.js +0 -4
  10. package/es/components/combo_box/combo_box.js +142 -304
  11. package/es/components/combo_box/combo_box_input/combo_box_input.js +0 -13
  12. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +34 -118
  13. package/es/components/context_menu/context_menu_panel.js +6 -6
  14. package/es/components/flex/flex_grid.styles.js +1 -1
  15. package/es/components/flex/flex_group.styles.js +1 -1
  16. package/es/components/flyout/flyout.js +32 -33
  17. package/es/components/flyout/flyout.styles.js +13 -3
  18. package/es/components/form/range/dual_range.js +4 -0
  19. package/es/components/form/range/range.js +4 -0
  20. package/es/components/index.js +0 -1
  21. package/es/components/popover/input_popover.js +47 -3
  22. package/es/components/popover/popover.js +2 -2
  23. package/es/components/table/table_row_cell.js +27 -9
  24. package/es/components/text_truncate/index.js +1 -0
  25. package/es/components/text_truncate/text_block_truncate.js +78 -0
  26. package/es/global_styling/reset/global_styles.js +16 -2
  27. package/es/services/accessibility/index.js +0 -3
  28. package/es/services/index.js +1 -1
  29. package/es/test/rtl/component_helpers.d.ts +2 -0
  30. package/es/test/rtl/component_helpers.js +29 -1
  31. package/eui.d.ts +375 -667
  32. package/i18ntokens.json +52 -286
  33. package/lib/components/basic_table/basic_table.js +7 -2
  34. package/lib/components/basic_table/in_memory_table.js +7 -2
  35. package/lib/components/collapsible_nav/collapsible_nav.js +5 -0
  36. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  37. package/lib/components/color_picker/index.js +0 -7
  38. package/lib/components/combo_box/combo_box.js +141 -303
  39. package/lib/components/combo_box/combo_box_input/combo_box_input.js +0 -13
  40. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +34 -118
  41. package/lib/components/context_menu/context_menu_panel.js +5 -5
  42. package/lib/components/flex/flex_grid.styles.js +1 -1
  43. package/lib/components/flex/flex_group.styles.js +1 -1
  44. package/lib/components/flyout/flyout.js +31 -32
  45. package/lib/components/flyout/flyout.styles.js +19 -10
  46. package/lib/components/form/range/dual_range.js +4 -0
  47. package/lib/components/index.js +0 -11
  48. package/lib/components/popover/input_popover.js +48 -3
  49. package/lib/components/popover/popover.js +1 -1
  50. package/lib/components/table/table_row_cell.js +26 -8
  51. package/lib/components/text_truncate/index.js +7 -0
  52. package/lib/components/text_truncate/text_block_truncate.js +85 -0
  53. package/lib/global_styling/reset/global_styles.js +16 -2
  54. package/lib/services/accessibility/index.js +0 -21
  55. package/lib/services/index.js +0 -21
  56. package/lib/test/rtl/component_helpers.d.ts +2 -0
  57. package/lib/test/rtl/component_helpers.js +31 -2
  58. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  59. package/optimize/es/components/color_picker/index.js +0 -4
  60. package/optimize/es/components/combo_box/combo_box.js +137 -304
  61. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +0 -12
  62. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +28 -107
  63. package/optimize/es/components/context_menu/context_menu_panel.js +6 -6
  64. package/optimize/es/components/flex/flex_grid.styles.js +1 -1
  65. package/optimize/es/components/flex/flex_group.styles.js +1 -1
  66. package/optimize/es/components/flyout/flyout.js +32 -33
  67. package/optimize/es/components/flyout/flyout.styles.js +13 -3
  68. package/optimize/es/components/index.js +0 -1
  69. package/optimize/es/components/popover/input_popover.js +43 -3
  70. package/optimize/es/components/popover/popover.js +2 -2
  71. package/optimize/es/components/table/table_row_cell.js +13 -5
  72. package/optimize/es/components/text_truncate/index.js +1 -0
  73. package/optimize/es/components/text_truncate/text_block_truncate.js +58 -0
  74. package/optimize/es/global_styling/reset/global_styles.js +13 -2
  75. package/optimize/es/services/accessibility/index.js +0 -3
  76. package/optimize/es/services/index.js +1 -1
  77. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  78. package/optimize/es/test/rtl/component_helpers.js +29 -1
  79. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  80. package/optimize/lib/components/color_picker/index.js +0 -7
  81. package/optimize/lib/components/combo_box/combo_box.js +136 -303
  82. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +0 -12
  83. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +28 -107
  84. package/optimize/lib/components/context_menu/context_menu_panel.js +5 -5
  85. package/optimize/lib/components/flex/flex_grid.styles.js +1 -1
  86. package/optimize/lib/components/flex/flex_group.styles.js +1 -1
  87. package/optimize/lib/components/flyout/flyout.js +31 -32
  88. package/optimize/lib/components/flyout/flyout.styles.js +19 -10
  89. package/optimize/lib/components/index.js +0 -11
  90. package/optimize/lib/components/popover/input_popover.js +44 -3
  91. package/optimize/lib/components/popover/popover.js +1 -1
  92. package/optimize/lib/components/table/table_row_cell.js +12 -4
  93. package/optimize/lib/components/text_truncate/index.js +7 -0
  94. package/optimize/lib/components/text_truncate/text_block_truncate.js +66 -0
  95. package/optimize/lib/global_styling/reset/global_styles.js +19 -10
  96. package/optimize/lib/services/accessibility/index.js +0 -21
  97. package/optimize/lib/services/index.js +0 -21
  98. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  99. package/optimize/lib/test/rtl/component_helpers.js +31 -2
  100. package/package.json +1 -1
  101. package/src/components/combo_box/combo_box_options_list/_combo_box_options_list.scss +5 -15
  102. package/src/components/context_menu/_context_menu_panel.scss +4 -0
  103. package/src/components/index.scss +0 -1
  104. package/src/global_styling/mixins/_index.scss +0 -1
  105. package/src/global_styling/variables/_index.scss +0 -1
  106. package/src/test/README.md +0 -15
  107. package/src/themes/amsterdam/global_styling/mixins/_index.scss +0 -1
  108. package/test-env/components/basic_table/basic_table.js +7 -2
  109. package/test-env/components/basic_table/in_memory_table.js +7 -2
  110. package/test-env/components/collapsible_nav/collapsible_nav.js +5 -0
  111. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -2
  112. package/test-env/components/color_picker/index.js +0 -7
  113. package/test-env/components/combo_box/combo_box.js +141 -303
  114. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +0 -13
  115. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +33 -117
  116. package/test-env/components/context_menu/context_menu_panel.js +5 -5
  117. package/test-env/components/flex/flex_grid.styles.js +1 -1
  118. package/test-env/components/flex/flex_group.styles.js +1 -1
  119. package/test-env/components/flyout/flyout.styles.js +19 -10
  120. package/test-env/components/form/range/dual_range.js +4 -0
  121. package/test-env/components/index.js +0 -11
  122. package/test-env/components/popover/input_popover.js +48 -3
  123. package/test-env/components/popover/popover.js +1 -1
  124. package/test-env/components/table/table_row_cell.js +26 -8
  125. package/test-env/components/text_truncate/index.js +7 -0
  126. package/test-env/components/text_truncate/text_block_truncate.js +82 -0
  127. package/test-env/global_styling/reset/global_styles.js +19 -10
  128. package/test-env/services/accessibility/index.js +0 -21
  129. package/test-env/services/index.js +0 -21
  130. package/test-env/test/rtl/component_helpers.js +31 -2
  131. package/es/components/color_picker/color_stops/color_stop_thumb.js +0 -371
  132. package/es/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -55
  133. package/es/components/color_picker/color_stops/color_stops.js +0 -499
  134. package/es/components/color_picker/color_stops/color_stops.styles.js +0 -61
  135. package/es/components/color_picker/color_stops/index.js +0 -9
  136. package/es/components/color_picker/color_stops/utils.js +0 -95
  137. package/es/components/suggest/index.js +0 -10
  138. package/es/components/suggest/suggest.a11y.js +0 -70
  139. package/es/components/suggest/suggest.js +0 -347
  140. package/es/components/suggest/suggest_item.js +0 -123
  141. package/es/components/suggest/types.js +0 -9
  142. package/es/services/accessibility/accessible_click_keys.js +0 -17
  143. package/es/services/accessibility/cascading_menu_keys.js +0 -28
  144. package/es/services/accessibility/combo_box_keys.js +0 -25
  145. package/lib/components/color_picker/color_stops/color_stop_thumb.js +0 -380
  146. package/lib/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -62
  147. package/lib/components/color_picker/color_stops/color_stops.js +0 -505
  148. package/lib/components/color_picker/color_stops/color_stops.styles.js +0 -67
  149. package/lib/components/color_picker/color_stops/index.js +0 -12
  150. package/lib/components/color_picker/color_stops/utils.js +0 -108
  151. package/lib/components/suggest/index.js +0 -19
  152. package/lib/components/suggest/suggest.a11y.js +0 -73
  153. package/lib/components/suggest/suggest.js +0 -356
  154. package/lib/components/suggest/suggest_item.js +0 -130
  155. package/lib/components/suggest/types.js +0 -16
  156. package/lib/services/accessibility/accessible_click_keys.js +0 -21
  157. package/lib/services/accessibility/cascading_menu_keys.js +0 -35
  158. package/lib/services/accessibility/combo_box_keys.js +0 -32
  159. package/optimize/es/components/color_picker/color_stops/color_stop_thumb.js +0 -329
  160. package/optimize/es/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -55
  161. package/optimize/es/components/color_picker/color_stops/color_stops.js +0 -444
  162. package/optimize/es/components/color_picker/color_stops/color_stops.styles.js +0 -61
  163. package/optimize/es/components/color_picker/color_stops/index.js +0 -9
  164. package/optimize/es/components/color_picker/color_stops/utils.js +0 -90
  165. package/optimize/es/components/suggest/index.js +0 -10
  166. package/optimize/es/components/suggest/suggest.a11y.js +0 -70
  167. package/optimize/es/components/suggest/suggest.js +0 -256
  168. package/optimize/es/components/suggest/suggest_item.js +0 -89
  169. package/optimize/es/components/suggest/types.js +0 -9
  170. package/optimize/es/services/accessibility/accessible_click_keys.js +0 -14
  171. package/optimize/es/services/accessibility/cascading_menu_keys.js +0 -28
  172. package/optimize/es/services/accessibility/combo_box_keys.js +0 -25
  173. package/optimize/lib/components/color_picker/color_stops/color_stop_thumb.js +0 -339
  174. package/optimize/lib/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -62
  175. package/optimize/lib/components/color_picker/color_stops/color_stops.js +0 -451
  176. package/optimize/lib/components/color_picker/color_stops/color_stops.styles.js +0 -67
  177. package/optimize/lib/components/color_picker/color_stops/index.js +0 -12
  178. package/optimize/lib/components/color_picker/color_stops/utils.js +0 -106
  179. package/optimize/lib/components/suggest/index.js +0 -19
  180. package/optimize/lib/components/suggest/suggest.a11y.js +0 -73
  181. package/optimize/lib/components/suggest/suggest.js +0 -266
  182. package/optimize/lib/components/suggest/suggest_item.js +0 -96
  183. package/optimize/lib/components/suggest/types.js +0 -16
  184. package/optimize/lib/services/accessibility/accessible_click_keys.js +0 -20
  185. package/optimize/lib/services/accessibility/cascading_menu_keys.js +0 -35
  186. package/optimize/lib/services/accessibility/combo_box_keys.js +0 -32
  187. package/src/components/suggest/_index.scss +0 -5
  188. package/src/components/suggest/_suggest_input.scss +0 -4
  189. package/src/components/suggest/_suggest_item.scss +0 -103
  190. package/src/components/suggest/_variables.scss +0 -13
  191. package/src/global_styling/mixins/_header.scss +0 -29
  192. package/src/global_styling/variables/_header.scss +0 -3
  193. package/test-env/components/color_picker/color_stops/color_stop_thumb.js +0 -372
  194. package/test-env/components/color_picker/color_stops/color_stop_thumb.styles.js +0 -62
  195. package/test-env/components/color_picker/color_stops/color_stops.js +0 -494
  196. package/test-env/components/color_picker/color_stops/color_stops.styles.js +0 -67
  197. package/test-env/components/color_picker/color_stops/index.js +0 -12
  198. package/test-env/components/color_picker/color_stops/utils.js +0 -106
  199. package/test-env/components/suggest/index.js +0 -19
  200. package/test-env/components/suggest/suggest.a11y.js +0 -73
  201. package/test-env/components/suggest/suggest.js +0 -348
  202. package/test-env/components/suggest/suggest_item.js +0 -129
  203. package/test-env/components/suggest/types.js +0 -16
  204. package/test-env/services/accessibility/accessible_click_keys.js +0 -20
  205. package/test-env/services/accessibility/cascading_menu_keys.js +0 -35
  206. package/test-env/services/accessibility/combo_box_keys.js +0 -32
package/eui.d.ts CHANGED
@@ -38,34 +38,6 @@ declare module '@elastic/eui/src/services/keys' {
38
38
  HOME = "Home"
39
39
  }
40
40
 
41
- }
42
- declare module '@elastic/eui/src/services/accessibility/accessible_click_keys' {
43
- export const accessibleClickKeys: {
44
- Enter: string;
45
- " ": string;
46
- };
47
-
48
- }
49
- declare module '@elastic/eui/src/services/accessibility/cascading_menu_keys' {
50
- export const cascadingMenuKeys: {
51
- ARROW_DOWN: string;
52
- ARROW_LEFT: string;
53
- ARROW_RIGHT: string;
54
- ARROW_UP: string;
55
- ESCAPE: string;
56
- TAB: string;
57
- };
58
-
59
- }
60
- declare module '@elastic/eui/src/services/accessibility/combo_box_keys' {
61
- export const comboBoxKeys: {
62
- ARROW_DOWN: string;
63
- ARROW_UP: string;
64
- ENTER: string;
65
- ESCAPE: string;
66
- TAB: string;
67
- };
68
-
69
41
  }
70
42
  declare module '@elastic/eui/src/services/accessibility/html_id_generator' {
71
43
  /**
@@ -99,9 +71,6 @@ declare module '@elastic/eui/src/services/accessibility/html_id_generator' {
99
71
 
100
72
  }
101
73
  declare module '@elastic/eui/src/services/accessibility' {
102
- export { accessibleClickKeys } from '@elastic/eui/src/services/accessibility/accessible_click_keys';
103
- export { cascadingMenuKeys } from '@elastic/eui/src/services/accessibility/cascading_menu_keys';
104
- export { comboBoxKeys } from '@elastic/eui/src/services/accessibility/combo_box_keys';
105
74
  export { htmlIdGenerator, useGeneratedHtmlId } from '@elastic/eui/src/services/accessibility/html_id_generator';
106
75
 
107
76
  }
@@ -5734,6 +5703,199 @@ declare module '@elastic/eui/src/components/table/table_row' {
5734
5703
  export const EuiTableRow: FunctionComponent<Props>;
5735
5704
  export {};
5736
5705
 
5706
+ }
5707
+ declare module '@elastic/eui/src/services/canvas/canvas_text_utils' {
5708
+ import type { ExclusiveUnion } from '@elastic/eui/src/components/common';
5709
+ export type CanvasTextParams = ExclusiveUnion<{
5710
+ container: HTMLElement;
5711
+ }, {
5712
+ font: CanvasTextDrawingStyles['font'];
5713
+ }>;
5714
+ /**
5715
+ * Creates a temporary Canvas element for manipulating text & determining text width.
5716
+ *
5717
+ * To accurately measure text, canvas rendering requires either a container to
5718
+ * compute/derive font styles from, or a static font string (useful for usage
5719
+ * outside the DOM). Particular care should be applied when fallback fonts are
5720
+ * used, as more fallback fonts can lead to less precision.
5721
+ *
5722
+ * Please note that while canvas is more significantly more performant than DOM
5723
+ * measurement, there are subpixel to single digit pixel differences between
5724
+ * DOM and canvas measurement due to the different rendering engines used.
5725
+ */
5726
+ export class CanvasTextUtils {
5727
+ context: CanvasRenderingContext2D;
5728
+ currentText: string;
5729
+ constructor({ font, container }: CanvasTextParams);
5730
+ computeFontFromElement: (element: HTMLElement) => string;
5731
+ get textWidth(): number;
5732
+ setTextToCheck: (text: string) => void;
5733
+ }
5734
+
5735
+ }
5736
+ declare module '@elastic/eui/src/services/canvas' {
5737
+ export { CanvasTextUtils } from '@elastic/eui/src/services/canvas/canvas_text_utils';
5738
+ export type { CanvasTextParams } from '@elastic/eui/src/services/canvas/canvas_text_utils';
5739
+
5740
+ }
5741
+ declare module '@elastic/eui/src/components/text_truncate/utils' {
5742
+ import { CanvasTextParams, CanvasTextUtils } from '@elastic/eui/src/services/canvas'; type TruncationParams = CanvasTextParams & {
5743
+ fullText: string;
5744
+ ellipsis: string;
5745
+ availableWidth: number;
5746
+ };
5747
+ /**
5748
+ * Utilities for truncating types at various positions, as well as
5749
+ * determining whether truncation is possible or even necessary.
5750
+ */
5751
+ export class TruncationUtils extends CanvasTextUtils {
5752
+ protected fullText: TruncationParams['fullText'];
5753
+ protected ellipsis: TruncationParams['ellipsis'];
5754
+ protected availableWidth: TruncationParams['availableWidth'];
5755
+ constructor({ fullText, ellipsis, availableWidth, ...rest }: TruncationParams);
5756
+ /**
5757
+ * Performance utilities
5758
+ */
5759
+ debugPerformance: boolean;
5760
+ debugCounter: number;
5761
+ get textWidth(): number;
5762
+ /**
5763
+ * Internal utils for calculating a ratio based on the passed available width
5764
+ * vs the full text width.
5765
+ * This ratio is used to get an initial _approximate_ text string that should
5766
+ * be slightly over the available width, which we can then remove from
5767
+ * character-by-character until the text just fits within the available width.
5768
+ */
5769
+ widthRatio: number;
5770
+ setTextWidthRatio: (text?: string, textToOffset?: string) => void;
5771
+ getTextFromRatio: (text: string, type: 'start' | 'end') => string;
5772
+ /**
5773
+ * Early return checks
5774
+ */
5775
+ checkIfTruncationIsNeeded: () => false | undefined;
5776
+ checkSufficientEllipsisWidth: (truncation: string) => false | undefined;
5777
+ checkTruncationOffsetWidth: (text: string) => false | undefined;
5778
+ /**
5779
+ * Truncation types logic. This is where the magic happens
5780
+ */
5781
+ truncateStart: (truncationOffset?: number | undefined) => string;
5782
+ truncateEnd: (truncationOffset?: number | undefined) => string;
5783
+ truncateStartEndAtPosition: (truncationPosition: number) => string;
5784
+ truncateStartEndAtMiddle: () => string;
5785
+ truncateMiddle: () => string;
5786
+ }
5787
+ export {};
5788
+
5789
+ }
5790
+ declare module '@elastic/eui/src/components/text_truncate/text_truncate.styles' {
5791
+ export const euiTextTruncateStyles: {
5792
+ euiTextTruncate: import("@emotion/utils").SerializedStyles;
5793
+ /**
5794
+ * The below CSS is a hack to get double clicking and selecting the *full* text
5795
+ * instead of the truncated text (useful for copying/pasting, and mimics how
5796
+ * `text-overflow: ellipsis` works).
5797
+ *
5798
+ * Real talk: I'm lowkey amazed it works and it wouldn't surprise me if we ran into
5799
+ * cross-browser issues with this at some point. Hopefully CSS natively implements
5800
+ * custom text truncation some day (https://github.com/w3c/csswg-drafts/issues/3937)
5801
+ * and there'll be no need for the entire component at that point 🙏
5802
+ */
5803
+ euiTextTruncate__truncatedText: import("@emotion/utils").SerializedStyles;
5804
+ euiTextTruncate__fullText: import("@emotion/utils").SerializedStyles;
5805
+ };
5806
+
5807
+ }
5808
+ declare module '@elastic/eui/src/components/text_truncate/text_truncate' {
5809
+ import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
5810
+ import type { CommonProps } from '@elastic/eui/src/components/common'; const TRUNCATION_TYPES: readonly ["end", "start", "startEnd", "middle"];
5811
+ export type EuiTextTruncationTypes = (typeof TRUNCATION_TYPES)[number];
5812
+ export type EuiTextTruncateProps = Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onResize'> & CommonProps & {
5813
+ /**
5814
+ * The full text string to truncate
5815
+ */
5816
+ text: string;
5817
+ /**
5818
+ * The truncation type desired. Determines where the ellipses are placed.
5819
+ */
5820
+ truncation?: EuiTextTruncationTypes;
5821
+ /**
5822
+ * This prop **only** applies to the `start` and `end` truncation types.
5823
+ * It allows preserving a certain number of characters of either the
5824
+ * starting or ending text.
5825
+ *
5826
+ * If the passed offset is greater than the total text length,
5827
+ * the offset will be ignored.
5828
+ */
5829
+ truncationOffset?: number;
5830
+ /**
5831
+ * This prop **only** applies to the `startEnd` truncation type.
5832
+ * It allows customizing the anchor position of the displayed text,
5833
+ * which otherwise defaults to the middle of the text string.
5834
+ *
5835
+ * The primary use case for this prop for is search highlighting - e.g., if
5836
+ * a user searches for a specific word in the text, pass the index of that
5837
+ * found word to ensure it is always visible.
5838
+ *
5839
+ * This behavior will intelligently detect when positions are close to the start
5840
+ * or end of the text, and omit leading or trailing ellipses when necessary.
5841
+ * If the passed position is greater than the total text length,
5842
+ * the truncation will simply default to `start` instead.
5843
+ */
5844
+ truncationPosition?: number;
5845
+ /**
5846
+ * Defaults to the horizontal ellipsis character.
5847
+ * Can be optionally configured to use other punctuation,
5848
+ * e.g. spaces, brackets, hyphens, asterisks, etc.
5849
+ */
5850
+ ellipsis?: string;
5851
+ /**
5852
+ * By default, EuiTextTruncate will render a resize observer to detect the
5853
+ * available width it has. For performance reasons (e.g. multiple truncated
5854
+ * text items within the same container), you may opt to pass in your own
5855
+ * container width, which will skip initializing a resize observer.
5856
+ */
5857
+ width?: number;
5858
+ /**
5859
+ * Optional callback that fires when the default resizer observer both mounts and
5860
+ * registers a size change. This callback will **not** fire if `width` is passed.
5861
+ */
5862
+ onResize?: (width: number) => void;
5863
+ /**
5864
+ * By default, EuiTextTruncate will render the truncated string directly.
5865
+ * You can optionally pass a render prop function to the component, which
5866
+ * allows for more flexible text rendering, e.g. adding custom markup
5867
+ * or highlighting
5868
+ */
5869
+ children?: (truncatedString: string) => ReactNode;
5870
+ };
5871
+ export const EuiTextTruncate: FunctionComponent<EuiTextTruncateProps>;
5872
+ export {};
5873
+
5874
+ }
5875
+ declare module '@elastic/eui/src/components/text_truncate/text_block_truncate' {
5876
+ import { FunctionComponent, HTMLAttributes, PropsWithChildren } from 'react';
5877
+ import { CommonProps } from '@elastic/eui/src/components/common';
5878
+ export type EuiTextBlockTruncateProps = PropsWithChildren & CommonProps & HTMLAttributes<HTMLDivElement> & {
5879
+ /**
5880
+ * Number of lines of text to truncate to
5881
+ */
5882
+ lines: number;
5883
+ /**
5884
+ * Applies styling to the child element instead of rendering a parent wrapper `div`.
5885
+ * Can only be used when wrapping a *single* child element/tag, and not raw text.
5886
+ */
5887
+ cloneElement?: boolean;
5888
+ };
5889
+ export const EuiTextBlockTruncate: FunctionComponent<EuiTextBlockTruncateProps>;
5890
+
5891
+ }
5892
+ declare module '@elastic/eui/src/components/text_truncate' {
5893
+ export type { EuiTextTruncateProps, EuiTextTruncationTypes, } from '@elastic/eui/src/components/text_truncate/text_truncate';
5894
+ export { EuiTextTruncate } from '@elastic/eui/src/components/text_truncate/text_truncate';
5895
+ export type { EuiTextBlockTruncateProps } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
5896
+ export { EuiTextBlockTruncate } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
5897
+ export { TruncationUtils } from '@elastic/eui/src/components/text_truncate/utils';
5898
+
5737
5899
  }
5738
5900
  declare module '@elastic/eui/src/components/table/table_row_cell' {
5739
5901
  import { CSSProperties, FunctionComponent, ReactNode, TdHTMLAttributes } from 'react';
@@ -5754,9 +5916,14 @@ declare module '@elastic/eui/src/components/table/table_row_cell' {
5754
5916
  */
5755
5917
  textOnly?: boolean;
5756
5918
  /**
5757
- * Don't allow line breaks within cells
5919
+ * Indicates whether this column should truncate overflowing text content.
5920
+ * - Set to `true` to enable single-line truncation.
5921
+ * - To enable multi-line truncation, use a configuration object with `lines`
5922
+ * set to a number of lines to truncate to.
5758
5923
  */
5759
- truncateText?: boolean;
5924
+ truncateText?: boolean | {
5925
+ lines: number;
5926
+ };
5760
5927
  width?: CSSProperties['width'];
5761
5928
  }
5762
5929
  export interface EuiTableRowCellMobileOptionsShape extends EuiTableRowCellSharedPropsShape {
@@ -6513,7 +6680,7 @@ declare module '@elastic/eui/src/components/popover/popover' {
6513
6680
 
6514
6681
  }
6515
6682
  declare module '@elastic/eui/src/components/popover/input_popover' {
6516
- import { FunctionComponent, HTMLAttributes } from 'react';
6683
+ import React, { FunctionComponent, HTMLAttributes } from 'react';
6517
6684
  import { CommonProps } from '@elastic/eui/src/components/common';
6518
6685
  import { EuiPopoverProps } from '@elastic/eui/src/components/popover/popover';
6519
6686
  export interface _EuiInputPopoverProps extends Omit<EuiPopoverProps, 'button' | 'buttonRef' | 'anchorPosition'> {
@@ -6522,6 +6689,10 @@ declare module '@elastic/eui/src/components/popover/input_popover' {
6522
6689
  */
6523
6690
  anchorPosition?: 'downLeft' | 'downRight' | 'downCenter';
6524
6691
  disableFocusTrap?: boolean;
6692
+ /**
6693
+ * Allows automatically closing the input popover on page scroll
6694
+ */
6695
+ closeOnScroll?: boolean;
6525
6696
  fullWidth?: boolean;
6526
6697
  input: EuiPopoverProps['button'];
6527
6698
  inputRef?: EuiPopoverProps['buttonRef'];
@@ -6534,6 +6705,7 @@ declare module '@elastic/eui/src/components/popover/input_popover' {
6534
6705
  panelMinWidth?: number;
6535
6706
  }
6536
6707
  export type EuiInputPopoverProps = CommonProps & HTMLAttributes<HTMLDivElement> & _EuiInputPopoverProps;
6708
+ export const EuiInputPopoverWidthContext: React.Context<number>;
6537
6709
  export const EuiInputPopover: FunctionComponent<EuiInputPopoverProps>;
6538
6710
 
6539
6711
  }
@@ -8032,40 +8204,6 @@ declare module '@elastic/eui/src/services/breakpoint' {
8032
8204
  export * from '@elastic/eui/src/services/breakpoint/current_breakpoint_hook';
8033
8205
  export * from '@elastic/eui/src/services/breakpoint/is_within_hooks';
8034
8206
 
8035
- }
8036
- declare module '@elastic/eui/src/services/canvas/canvas_text_utils' {
8037
- import type { ExclusiveUnion } from '@elastic/eui/src/components/common';
8038
- export type CanvasTextParams = ExclusiveUnion<{
8039
- container: HTMLElement;
8040
- }, {
8041
- font: CanvasTextDrawingStyles['font'];
8042
- }>;
8043
- /**
8044
- * Creates a temporary Canvas element for manipulating text & determining text width.
8045
- *
8046
- * To accurately measure text, canvas rendering requires either a container to
8047
- * compute/derive font styles from, or a static font string (useful for usage
8048
- * outside the DOM). Particular care should be applied when fallback fonts are
8049
- * used, as more fallback fonts can lead to less precision.
8050
- *
8051
- * Please note that while canvas is more significantly more performant than DOM
8052
- * measurement, there are subpixel to single digit pixel differences between
8053
- * DOM and canvas measurement due to the different rendering engines used.
8054
- */
8055
- export class CanvasTextUtils {
8056
- context: CanvasRenderingContext2D;
8057
- currentText: string;
8058
- constructor({ font, container }: CanvasTextParams);
8059
- computeFontFromElement: (element: HTMLElement) => string;
8060
- get textWidth(): number;
8061
- setTextToCheck: (text: string) => void;
8062
- }
8063
-
8064
- }
8065
- declare module '@elastic/eui/src/services/canvas' {
8066
- export { CanvasTextUtils } from '@elastic/eui/src/services/canvas/canvas_text_utils';
8067
- export type { CanvasTextParams } from '@elastic/eui/src/services/canvas/canvas_text_utils';
8068
-
8069
8207
  }
8070
8208
  declare module '@elastic/eui/src/services/color_picker/color_picker' {
8071
8209
  interface colorStopsType {
@@ -8499,7 +8637,7 @@ declare module '@elastic/eui/src/services/window_event' {
8499
8637
  }
8500
8638
  declare module '@elastic/eui/src/services' {
8501
8639
  import * as keys from '@elastic/eui/src/services/keys';
8502
- export { accessibleClickKeys, cascadingMenuKeys, comboBoxKeys, htmlIdGenerator, useGeneratedHtmlId, } from '@elastic/eui/src/services/accessibility';
8640
+ export { htmlIdGenerator, useGeneratedHtmlId } from '@elastic/eui/src/services/accessibility';
8503
8641
  export { CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT } from '@elastic/eui/src/services/alignment';
8504
8642
  export type { HorizontalAlignment } from '@elastic/eui/src/services/alignment';
8505
8643
  export { CurrentEuiBreakpointContext, CurrentEuiBreakpointProvider, useCurrentEuiBreakpoint, useIsWithinBreakpoints, useIsWithinMaxBreakpoint, useIsWithinMinBreakpoint, } from '@elastic/eui/src/services/breakpoint';
@@ -10425,10 +10563,11 @@ declare module '@elastic/eui/src/components/flyout/flyout.styles' {
10425
10563
  right: import("@emotion/utils").SerializedStyles;
10426
10564
  left: import("@emotion/utils").SerializedStyles;
10427
10565
  overlay: import("@emotion/utils").SerializedStyles;
10428
- push: import("@emotion/utils").SerializedStyles;
10429
- pushSide: {
10566
+ push: {
10567
+ push: import("@emotion/utils").SerializedStyles;
10430
10568
  right: import("@emotion/utils").SerializedStyles;
10431
10569
  left: import("@emotion/utils").SerializedStyles;
10570
+ noAnimation: import("@emotion/utils").SerializedStyles;
10432
10571
  };
10433
10572
  paddingSizes: {
10434
10573
  none: import("@emotion/utils").SerializedStyles;
@@ -10522,6 +10661,11 @@ declare module '@elastic/eui/src/components/flyout/flyout' {
10522
10661
  * @default l
10523
10662
  */
10524
10663
  pushMinBreakpoint?: EuiBreakpointSize;
10664
+ /**
10665
+ * Enables a slide in animation on push flyouts
10666
+ * @default false
10667
+ */
10668
+ pushAnimation?: boolean;
10525
10669
  style?: CSSProperties;
10526
10670
  /**
10527
10671
  * Object of props passed to EuiFocusTrap.
@@ -11233,392 +11377,52 @@ declare module '@elastic/eui/src/components/color_picker/color_picker' {
11233
11377
  * Creates an input group with element(s) coming before input. It only shows when the `display` is set to `default`.
11234
11378
  * `string` | `ReactElement` or an array of these
11235
11379
  */
11236
- prepend?: EuiFormControlLayoutProps['prepend'];
11237
- /**
11238
- * Creates an input group with element(s) coming after input. It only shows when the `display` is set to `default`.
11239
- * `string` | `ReactElement` or an array of these
11240
- */
11241
- append?: EuiFormControlLayoutProps['append'];
11242
- /**
11243
- * Whether to render the alpha channel (opacity) value range slider.
11244
- */
11245
- showAlpha?: boolean;
11246
- /**
11247
- * Will format the text input in the provided format when possible (hue and saturation selection)
11248
- * Exceptions: Manual text input and swatches will display as-authored
11249
- * Default is to display the last format entered by the user
11250
- */
11251
- format?: 'hex' | 'rgba';
11252
- /**
11253
- * Placement option for a secondary color value input.
11254
- */
11255
- secondaryInputDisplay?: 'top' | 'bottom' | 'none';
11256
- /**
11257
- * Add a button to the primary input to clear its value.
11258
- */
11259
- isClearable?: boolean;
11260
- /**
11261
- * Text to replace the default 'Transparent' placeholder for unset color values.
11262
- */
11263
- placeholder?: string;
11264
- }
11265
- export const EuiColorPicker: FunctionComponent<EuiColorPickerProps>;
11266
- export {};
11267
-
11268
- }
11269
- declare module '@elastic/eui/src/components/color_picker/color_stops/utils' {
11270
- import { ColorStop } from '@elastic/eui/src/components/color_picker/color_stops/color_stop_thumb';
11271
- export const removeStop: (colorStops: ColorStop[], index: number) => ColorStop[];
11272
- export const addDefinedStop: (colorStops: ColorStop[], stop: ColorStop['stop'], color?: ColorStop['color']) => ColorStop[];
11273
- export const addStop: (colorStops: ColorStop[], color: string | undefined, max: number) => ColorStop[];
11274
- export const isColorInvalid: (color: string, showAlpha?: boolean) => boolean;
11275
- export const isStopInvalid: (stop: ColorStop['stop']) => boolean;
11276
- export const isInvalid: (colorStops: ColorStop[], showAlpha?: boolean) => boolean;
11277
- export const calculateScale: (trackWidth: number) => number;
11278
- export const getStopFromMouseLocation: (location: {
11279
- x: number;
11280
- y: number;
11281
- }, ref: HTMLDivElement, min: number, max: number) => number;
11282
- export const getPositionFromStop: (stop: ColorStop['stop'], ref: HTMLDivElement, min: number, max: number) => number;
11283
-
11284
- }
11285
- declare module '@elastic/eui/src/components/color_picker/color_picker.styles' {
11286
- import { UseEuiTheme } from '@elastic/eui/src/services';
11287
- export const euiColorPickerVariables: (euiThemeContext: UseEuiTheme) => {
11288
- width: string;
11289
- };
11290
-
11291
- }
11292
- declare module '@elastic/eui/src/components/color_picker/color_stops/color_stop_thumb.styles' {
11293
- import { UseEuiTheme } from '@elastic/eui/src/services';
11294
- export const euiColorStopThumbStyles: (euiThemeContext: UseEuiTheme) => {
11295
- euiColorStopThumb: import("@emotion/utils").SerializedStyles;
11296
- isPopoverOpen: import("@emotion/utils").SerializedStyles;
11297
- };
11298
- export const euiColorStopThumbPopoverStyles: (euiThemeContext: UseEuiTheme) => {
11299
- euiColorStopThumbPopover: import("@emotion/utils").SerializedStyles;
11300
- isLoadingPanel: import("@emotion/utils").SerializedStyles;
11301
- hasFocus: import("@emotion/utils").SerializedStyles;
11302
- };
11303
- export const euiColorStopStyles: (euiThemeContext: UseEuiTheme) => {
11304
- euiColorStop: import("@emotion/utils").SerializedStyles;
11305
- };
11306
-
11307
- }
11308
- declare module '@elastic/eui/src/components/color_picker/color_stops/color_stop_thumb' {
11309
- import { FunctionComponent, CSSProperties } from 'react';
11310
- import { CommonProps } from '@elastic/eui/src/components/common';
11311
- import { EuiColorPickerProps } from '@elastic/eui/src/components/color_picker/color_picker';
11312
- import { EuiFieldNumberProps } from '@elastic/eui/src/components/form';
11313
- export interface ColorStop {
11314
- stop: number;
11315
- color: string;
11316
- }
11317
- interface EuiColorStopThumbProps extends CommonProps, ColorStop {
11318
- className?: string;
11319
- onChange: (colorStop: ColorStop) => void;
11320
- onFocus?: () => void;
11321
- onRemove?: () => void;
11322
- globalMin: number;
11323
- globalMax: number;
11324
- localMin: number;
11325
- localMax: number;
11326
- min?: number;
11327
- max?: number;
11328
- isRangeMin?: boolean;
11329
- isRangeMax?: boolean;
11330
- parentRef?: HTMLDivElement | null;
11331
- colorPickerMode: EuiColorPickerProps['mode'];
11332
- colorPickerShowAlpha?: EuiColorPickerProps['showAlpha'];
11333
- colorPickerSwatches?: EuiColorPickerProps['swatches'];
11334
- disabled?: boolean;
11335
- readOnly?: boolean;
11336
- isPopoverOpen: boolean;
11337
- openPopover: () => void;
11338
- closePopover: () => void;
11339
- 'data-index'?: string;
11340
- 'aria-valuetext'?: string;
11341
- style?: CSSProperties;
11342
- valueInputProps?: Partial<EuiFieldNumberProps>;
11343
- }
11344
- export const EuiColorStopThumb: FunctionComponent<EuiColorStopThumbProps>;
11345
- export {};
11346
-
11347
- }
11348
- declare module '@elastic/eui/src/components/color_picker/color_stops/color_stops.styles' {
11349
- import { UseEuiTheme } from '@elastic/eui/src/services';
11350
- export const euiColorStopsStyles: (euiThemeContext: UseEuiTheme) => {
11351
- euiColorStops: import("@emotion/utils").SerializedStyles;
11352
- isEnabled: import("@emotion/utils").SerializedStyles;
11353
- isDisabled: import("@emotion/utils").SerializedStyles;
11354
- isHoverDisabled: import("@emotion/utils").SerializedStyles;
11355
- isReadOnly: import("@emotion/utils").SerializedStyles;
11356
- isDragging: import("@emotion/utils").SerializedStyles;
11357
- euiColorStops__track: import("@emotion/utils").SerializedStyles;
11358
- euiColorStops__addTarget: import("@emotion/utils").SerializedStyles;
11359
- };
11360
- export const euiColorStopsAddContainerStyles: (euiThemeContext: UseEuiTheme) => {
11361
- euiColorStopsAddContainer: import("@emotion/utils").SerializedStyles;
11362
- isEnabled: import("@emotion/utils").SerializedStyles;
11363
- isDisabled: import("@emotion/utils").SerializedStyles;
11364
- };
11365
-
11366
- }
11367
- declare module '@elastic/eui/src/components/color_picker/color_stops/color_stops' {
11368
- import { FunctionComponent } from 'react';
11369
- import { CommonProps } from '@elastic/eui/src/components/common';
11370
- import { ColorStop } from '@elastic/eui/src/components/color_picker/color_stops/color_stop_thumb';
11371
- import { EuiColorPickerProps } from '@elastic/eui/src/components/color_picker/color_picker';
11372
- import { EuiFieldNumberProps } from '@elastic/eui/src/components/form/field_number';
11373
- /**
11374
- * @deprecated
11375
- */
11376
- export interface EuiColorStopsProps extends CommonProps {
11377
- addColor?: ColorStop['color'];
11378
- /**
11379
- * An array of #ColorStop. The stops must be numbers in an ordered range.
11380
- */
11381
- colorStops: ColorStop[];
11382
- onChange: (stops?: ColorStop[], isInvalid?: boolean) => void;
11383
- fullWidth?: boolean;
11384
- disabled?: boolean;
11385
- readOnly?: boolean;
11386
- invalid?: boolean;
11387
- compressed?: boolean;
11388
- className?: string;
11389
- max?: number;
11390
- min?: number;
11391
- label: string;
11392
- /**
11393
- * Specify the type of stops:
11394
- * `fixed`: individual color blocks.
11395
- * `gradient`: each color fades into the next.
11396
- * `stepped`: interpolation between colors with a fixed number of steps.
11397
- */
11398
- stopType?: 'fixed' | 'gradient' | 'stepped';
11399
- /**
11400
- * Only works when `stopType="stepped"`
11401
- */
11402
- stepNumber?: number;
11403
- mode?: EuiColorPickerProps['mode'];
11404
- swatches?: EuiColorPickerProps['swatches'];
11405
- showAlpha?: EuiColorPickerProps['showAlpha'];
11406
- /**
11407
- * Props passed to the value input field in the color stop popover.
11408
- * Can be used to configure functionality like append or prepend.
11409
- */
11410
- valueInputProps?: Partial<Omit<EuiFieldNumberProps, 'inputRef' | 'compressed' | 'readOnly' | 'min' | 'max' | 'value' | 'isInvalid' | 'onChange'>>;
11411
- }
11412
- /**
11413
- * @deprecated - EuiColorStops is scheduled for deprecation due to low internal usage and high
11414
- * maintenance requirements. If necessary, we recommend copying this component into your own application.
11415
- *
11416
- * The component will be permanently removed in October 2023.
11417
- */
11418
- export const EuiColorStops: FunctionComponent<EuiColorStopsProps>;
11419
-
11420
- }
11421
- declare module '@elastic/eui/src/components/color_picker/color_stops' {
11422
- export { EuiColorStops } from '@elastic/eui/src/components/color_picker/color_stops/color_stops';
11423
-
11424
- }
11425
- declare module '@elastic/eui/src/components/color_picker' {
11426
- export type { EuiColorPickerProps } from '@elastic/eui/src/components/color_picker/color_picker';
11427
- export { EuiColorPicker } from '@elastic/eui/src/components/color_picker/color_picker';
11428
- export type { EuiColorPickerSwatchProps } from '@elastic/eui/src/components/color_picker/color_picker_swatch';
11429
- export { EuiColorPickerSwatch } from '@elastic/eui/src/components/color_picker/color_picker_swatch';
11430
- export type { EuiHueProps } from '@elastic/eui/src/components/color_picker/hue';
11431
- export { EuiHue } from '@elastic/eui/src/components/color_picker/hue';
11432
- export type { EuiSaturationProps } from '@elastic/eui/src/components/color_picker/saturation';
11433
- export { EuiSaturation } from '@elastic/eui/src/components/color_picker/saturation';
11434
- export { EuiColorStops } from '@elastic/eui/src/components/color_picker/color_stops';
11435
- export type { EuiColorStopsProps } from '@elastic/eui/src/components/color_picker/color_stops/color_stops';
11436
- export type { EuiColorPalettePickerProps, EuiColorPalettePickerPaletteProps, } from '@elastic/eui/src/components/color_picker/color_palette_picker';
11437
- export { EuiColorPalettePicker } from '@elastic/eui/src/components/color_picker/color_palette_picker';
11438
- export type { EuiColorPaletteDisplayProps } from '@elastic/eui/src/components/color_picker/color_palette_display';
11439
- export { EuiColorPaletteDisplay } from '@elastic/eui/src/components/color_picker/color_palette_display';
11440
-
11441
- }
11442
- declare module '@elastic/eui/src/components/filter_group/filter_select_item.styles' {
11443
- import { UseEuiTheme } from '@elastic/eui/src/services';
11444
- export const euiFilterSelectItemStyles: (euiThemeContext: UseEuiTheme) => {
11445
- euiFilterSelectItem: import("@emotion/utils").SerializedStyles;
11446
- isFocused: import("@emotion/utils").SerializedStyles;
11447
- };
11448
-
11449
- }
11450
- declare module '@elastic/eui/src/components/filter_group/filter_select_item' {
11451
- import React, { ButtonHTMLAttributes, Component } from 'react';
11452
- import { WithEuiThemeProps } from '@elastic/eui/src/services';
11453
- import { CommonProps } from '@elastic/eui/src/components/common';
11454
- export type FilterChecked = 'on' | 'off';
11455
- export interface EuiFilterSelectItemProps extends CommonProps, ButtonHTMLAttributes<HTMLButtonElement> {
11456
- checked?: FilterChecked;
11457
- showIcons?: boolean;
11458
- isFocused?: boolean;
11459
- }
11460
- /**
11461
- * TODO: This component should removed in favor of EuiSelectable usage
11462
- * once EuiComboBox has been converted to dogfood EuiSelectable.
11463
- *
11464
- * @deprecated - Use EuiSelectable instead
11465
- */
11466
- export class EuiFilterSelectItemClass extends Component<WithEuiThemeProps & EuiFilterSelectItemProps> {
11467
- static defaultProps: {
11468
- showIcons: boolean;
11469
- };
11470
- buttonRef: HTMLButtonElement | null;
11471
- state: {
11472
- hasFocus: boolean;
11473
- };
11474
- focus: () => void;
11475
- hasFocus: () => boolean;
11476
- render(): React.JSX.Element;
11477
- }
11478
- /**
11479
- * @deprecated - Use EuiSelectable instead
11480
- */
11481
- export const EuiFilterSelectItem: React.ForwardRefExoticComponent<Omit<EuiFilterSelectItemProps, "theme"> & React.RefAttributes<Omit<EuiFilterSelectItemProps, "theme">>>;
11482
-
11483
- }
11484
- declare module '@elastic/eui/src/components/text_truncate/utils' {
11485
- import { CanvasTextParams, CanvasTextUtils } from '@elastic/eui/src/services/canvas'; type TruncationParams = CanvasTextParams & {
11486
- fullText: string;
11487
- ellipsis: string;
11488
- availableWidth: number;
11489
- };
11490
- /**
11491
- * Utilities for truncating types at various positions, as well as
11492
- * determining whether truncation is possible or even necessary.
11493
- */
11494
- export class TruncationUtils extends CanvasTextUtils {
11495
- protected fullText: TruncationParams['fullText'];
11496
- protected ellipsis: TruncationParams['ellipsis'];
11497
- protected availableWidth: TruncationParams['availableWidth'];
11498
- constructor({ fullText, ellipsis, availableWidth, ...rest }: TruncationParams);
11499
- /**
11500
- * Performance utilities
11501
- */
11502
- debugPerformance: boolean;
11503
- debugCounter: number;
11504
- get textWidth(): number;
11505
- /**
11506
- * Internal utils for calculating a ratio based on the passed available width
11507
- * vs the full text width.
11508
- * This ratio is used to get an initial _approximate_ text string that should
11509
- * be slightly over the available width, which we can then remove from
11510
- * character-by-character until the text just fits within the available width.
11511
- */
11512
- widthRatio: number;
11513
- setTextWidthRatio: (text?: string, textToOffset?: string) => void;
11514
- getTextFromRatio: (text: string, type: 'start' | 'end') => string;
11515
- /**
11516
- * Early return checks
11517
- */
11518
- checkIfTruncationIsNeeded: () => false | undefined;
11519
- checkSufficientEllipsisWidth: (truncation: string) => false | undefined;
11520
- checkTruncationOffsetWidth: (text: string) => false | undefined;
11521
- /**
11522
- * Truncation types logic. This is where the magic happens
11523
- */
11524
- truncateStart: (truncationOffset?: number | undefined) => string;
11525
- truncateEnd: (truncationOffset?: number | undefined) => string;
11526
- truncateStartEndAtPosition: (truncationPosition: number) => string;
11527
- truncateStartEndAtMiddle: () => string;
11528
- truncateMiddle: () => string;
11529
- }
11530
- export {};
11531
-
11532
- }
11533
- declare module '@elastic/eui/src/components/text_truncate/text_truncate.styles' {
11534
- export const euiTextTruncateStyles: {
11535
- euiTextTruncate: import("@emotion/utils").SerializedStyles;
11536
- /**
11537
- * The below CSS is a hack to get double clicking and selecting the *full* text
11538
- * instead of the truncated text (useful for copying/pasting, and mimics how
11539
- * `text-overflow: ellipsis` works).
11540
- *
11541
- * Real talk: I'm lowkey amazed it works and it wouldn't surprise me if we ran into
11542
- * cross-browser issues with this at some point. Hopefully CSS natively implements
11543
- * custom text truncation some day (https://github.com/w3c/csswg-drafts/issues/3937)
11544
- * and there'll be no need for the entire component at that point 🙏
11545
- */
11546
- euiTextTruncate__truncatedText: import("@emotion/utils").SerializedStyles;
11547
- euiTextTruncate__fullText: import("@emotion/utils").SerializedStyles;
11548
- };
11549
-
11550
- }
11551
- declare module '@elastic/eui/src/components/text_truncate/text_truncate' {
11552
- import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
11553
- import type { CommonProps } from '@elastic/eui/src/components/common'; const TRUNCATION_TYPES: readonly ["end", "start", "startEnd", "middle"];
11554
- export type EuiTextTruncationTypes = (typeof TRUNCATION_TYPES)[number];
11555
- export type EuiTextTruncateProps = Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onResize'> & CommonProps & {
11556
- /**
11557
- * The full text string to truncate
11558
- */
11559
- text: string;
11560
- /**
11561
- * The truncation type desired. Determines where the ellipses are placed.
11562
- */
11563
- truncation?: EuiTextTruncationTypes;
11380
+ prepend?: EuiFormControlLayoutProps['prepend'];
11564
11381
  /**
11565
- * This prop **only** applies to the `start` and `end` truncation types.
11566
- * It allows preserving a certain number of characters of either the
11567
- * starting or ending text.
11568
- *
11569
- * If the passed offset is greater than the total text length,
11570
- * the offset will be ignored.
11382
+ * Creates an input group with element(s) coming after input. It only shows when the `display` is set to `default`.
11383
+ * `string` | `ReactElement` or an array of these
11571
11384
  */
11572
- truncationOffset?: number;
11385
+ append?: EuiFormControlLayoutProps['append'];
11573
11386
  /**
11574
- * This prop **only** applies to the `startEnd` truncation type.
11575
- * It allows customizing the anchor position of the displayed text,
11576
- * which otherwise defaults to the middle of the text string.
11577
- *
11578
- * The primary use case for this prop for is search highlighting - e.g., if
11579
- * a user searches for a specific word in the text, pass the index of that
11580
- * found word to ensure it is always visible.
11581
- *
11582
- * This behavior will intelligently detect when positions are close to the start
11583
- * or end of the text, and omit leading or trailing ellipses when necessary.
11584
- * If the passed position is greater than the total text length,
11585
- * the truncation will simply default to `start` instead.
11387
+ * Whether to render the alpha channel (opacity) value range slider.
11586
11388
  */
11587
- truncationPosition?: number;
11389
+ showAlpha?: boolean;
11588
11390
  /**
11589
- * Defaults to the horizontal ellipsis character.
11590
- * Can be optionally configured to use other punctuation,
11591
- * e.g. spaces, brackets, hyphens, asterisks, etc.
11391
+ * Will format the text input in the provided format when possible (hue and saturation selection)
11392
+ * Exceptions: Manual text input and swatches will display as-authored
11393
+ * Default is to display the last format entered by the user
11592
11394
  */
11593
- ellipsis?: string;
11395
+ format?: 'hex' | 'rgba';
11594
11396
  /**
11595
- * By default, EuiTextTruncate will render a resize observer to detect the
11596
- * available width it has. For performance reasons (e.g. multiple truncated
11597
- * text items within the same container), you may opt to pass in your own
11598
- * container width, which will skip initializing a resize observer.
11397
+ * Placement option for a secondary color value input.
11599
11398
  */
11600
- width?: number;
11399
+ secondaryInputDisplay?: 'top' | 'bottom' | 'none';
11601
11400
  /**
11602
- * Optional callback that fires when the default resizer observer both mounts and
11603
- * registers a size change. This callback will **not** fire if `width` is passed.
11401
+ * Add a button to the primary input to clear its value.
11604
11402
  */
11605
- onResize?: (width: number) => void;
11403
+ isClearable?: boolean;
11606
11404
  /**
11607
- * By default, EuiTextTruncate will render the truncated string directly.
11608
- * You can optionally pass a render prop function to the component, which
11609
- * allows for more flexible text rendering, e.g. adding custom markup
11610
- * or highlighting
11405
+ * Text to replace the default 'Transparent' placeholder for unset color values.
11611
11406
  */
11612
- children?: (truncatedString: string) => ReactNode;
11613
- };
11614
- export const EuiTextTruncate: FunctionComponent<EuiTextTruncateProps>;
11407
+ placeholder?: string;
11408
+ }
11409
+ export const EuiColorPicker: FunctionComponent<EuiColorPickerProps>;
11615
11410
  export {};
11616
11411
 
11617
11412
  }
11618
- declare module '@elastic/eui/src/components/text_truncate' {
11619
- export type { EuiTextTruncateProps, EuiTextTruncationTypes, } from '@elastic/eui/src/components/text_truncate/text_truncate';
11620
- export { EuiTextTruncate } from '@elastic/eui/src/components/text_truncate/text_truncate';
11621
- export { TruncationUtils } from '@elastic/eui/src/components/text_truncate/utils';
11413
+ declare module '@elastic/eui/src/components/color_picker' {
11414
+ export type { EuiColorPickerProps } from '@elastic/eui/src/components/color_picker/color_picker';
11415
+ export { EuiColorPicker } from '@elastic/eui/src/components/color_picker/color_picker';
11416
+ export type { EuiColorPickerSwatchProps } from '@elastic/eui/src/components/color_picker/color_picker_swatch';
11417
+ export { EuiColorPickerSwatch } from '@elastic/eui/src/components/color_picker/color_picker_swatch';
11418
+ export type { EuiHueProps } from '@elastic/eui/src/components/color_picker/hue';
11419
+ export { EuiHue } from '@elastic/eui/src/components/color_picker/hue';
11420
+ export type { EuiSaturationProps } from '@elastic/eui/src/components/color_picker/saturation';
11421
+ export { EuiSaturation } from '@elastic/eui/src/components/color_picker/saturation';
11422
+ export type { EuiColorPalettePickerProps, EuiColorPalettePickerPaletteProps, } from '@elastic/eui/src/components/color_picker/color_palette_picker';
11423
+ export { EuiColorPalettePicker } from '@elastic/eui/src/components/color_picker/color_palette_picker';
11424
+ export type { EuiColorPaletteDisplayProps } from '@elastic/eui/src/components/color_picker/color_palette_display';
11425
+ export { EuiColorPaletteDisplay } from '@elastic/eui/src/components/color_picker/color_palette_display';
11622
11426
 
11623
11427
  }
11624
11428
  declare module '@elastic/eui/src/components/combo_box/types' {
@@ -11635,10 +11439,8 @@ declare module '@elastic/eui/src/components/combo_box/types' {
11635
11439
  append?: ReactNode;
11636
11440
  truncationProps?: _EuiComboBoxProps<T>['truncationProps'];
11637
11441
  }
11638
- export type UpdatePositionHandler = (listElement?: RefInstance<HTMLDivElement>) => void;
11639
11442
  export type OptionHandler<T> = (option: EuiComboBoxOptionOption<T>) => void;
11640
11443
  export type RefInstance<T> = T | null;
11641
- export type EuiComboBoxOptionsListPosition = 'top' | 'bottom';
11642
11444
  export interface EuiComboBoxSingleSelectionShape {
11643
11445
  asPlainText?: boolean;
11644
11446
  }
@@ -11694,7 +11496,7 @@ declare module '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_
11694
11496
  import { CommonProps } from '@elastic/eui/src/components/common';
11695
11497
  import { htmlIdGenerator } from '@elastic/eui/src/services';
11696
11498
  import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form/form_control_layout';
11697
- import { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, OptionHandler, UpdatePositionHandler } from '@elastic/eui/src/components/combo_box/types';
11499
+ import { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
11698
11500
  export interface EuiComboBoxInputProps<T> extends CommonProps {
11699
11501
  compressed: boolean;
11700
11502
  focusedOptionId?: string;
@@ -11719,7 +11521,6 @@ declare module '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_
11719
11521
  selectedOptions: Array<EuiComboBoxOptionOption<T>>;
11720
11522
  singleSelection?: boolean | EuiComboBoxSingleSelectionShape;
11721
11523
  toggleButtonRef?: RefCallback<HTMLButtonElement | HTMLSpanElement>;
11722
- updatePosition: UpdatePositionHandler;
11723
11524
  value?: string;
11724
11525
  prepend?: EuiFormControlLayoutProps['prepend'];
11725
11526
  append?: EuiFormControlLayoutProps['append'];
@@ -11738,11 +11539,10 @@ declare module '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_
11738
11539
  private widthUtils?;
11739
11540
  inputRefCallback: (el: HTMLInputElement) => void;
11740
11541
  updateInputSize: (inputValue: string) => void;
11741
- updatePosition: () => void;
11542
+ componentDidUpdate(prevProps: EuiComboBoxInputProps<T>): void;
11742
11543
  onFocus: FocusEventHandler<HTMLInputElement>;
11743
11544
  onBlur: FocusEventHandler<HTMLInputElement>;
11744
11545
  onKeyDown: KeyboardEventHandler<HTMLInputElement>;
11745
- componentDidUpdate(prevProps: EuiComboBoxInputProps<T>): void;
11746
11546
  render(): React.JSX.Element;
11747
11547
  }
11748
11548
  export {};
@@ -11815,17 +11615,58 @@ declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/com
11815
11615
  import { FunctionComponent, PropsWithChildren } from 'react';
11816
11616
  export const EuiComboBoxTitle: FunctionComponent<PropsWithChildren>;
11817
11617
 
11618
+ }
11619
+ declare module '@elastic/eui/src/components/filter_group/filter_select_item.styles' {
11620
+ import { UseEuiTheme } from '@elastic/eui/src/services';
11621
+ export const euiFilterSelectItemStyles: (euiThemeContext: UseEuiTheme) => {
11622
+ euiFilterSelectItem: import("@emotion/utils").SerializedStyles;
11623
+ isFocused: import("@emotion/utils").SerializedStyles;
11624
+ };
11625
+
11626
+ }
11627
+ declare module '@elastic/eui/src/components/filter_group/filter_select_item' {
11628
+ import React, { ButtonHTMLAttributes, Component } from 'react';
11629
+ import { WithEuiThemeProps } from '@elastic/eui/src/services';
11630
+ import { CommonProps } from '@elastic/eui/src/components/common';
11631
+ export type FilterChecked = 'on' | 'off';
11632
+ export interface EuiFilterSelectItemProps extends CommonProps, ButtonHTMLAttributes<HTMLButtonElement> {
11633
+ checked?: FilterChecked;
11634
+ showIcons?: boolean;
11635
+ isFocused?: boolean;
11636
+ }
11637
+ /**
11638
+ * TODO: This component should removed in favor of EuiSelectable usage
11639
+ * once EuiComboBox has been converted to dogfood EuiSelectable.
11640
+ *
11641
+ * @deprecated - Use EuiSelectable instead
11642
+ */
11643
+ export class EuiFilterSelectItemClass extends Component<WithEuiThemeProps & EuiFilterSelectItemProps> {
11644
+ static defaultProps: {
11645
+ showIcons: boolean;
11646
+ };
11647
+ buttonRef: HTMLButtonElement | null;
11648
+ state: {
11649
+ hasFocus: boolean;
11650
+ };
11651
+ focus: () => void;
11652
+ hasFocus: () => boolean;
11653
+ render(): React.JSX.Element;
11654
+ }
11655
+ /**
11656
+ * @deprecated - Use EuiSelectable instead
11657
+ */
11658
+ export const EuiFilterSelectItem: React.ForwardRefExoticComponent<Omit<EuiFilterSelectItemProps, "theme"> & React.RefAttributes<Omit<EuiFilterSelectItemProps, "theme">>>;
11659
+
11818
11660
  }
11819
11661
  declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list' {
11820
- import React, { Component, ComponentProps, ReactNode, RefCallback } from 'react';
11821
- import { FixedSizeList, ListProps, ListChildComponentProps } from 'react-window';
11822
- import { EuiFilterSelectItemClass } from '@elastic/eui/src/components/filter_group/filter_select_item';
11662
+ import React, { Component, ContextType, ReactNode, RefCallback } from 'react';
11663
+ import { FixedSizeList, FixedSizeListProps, ListProps, ListChildComponentProps } from 'react-window';
11823
11664
  import { htmlIdGenerator } from '@elastic/eui/src/services';
11824
11665
  import { CommonProps } from '@elastic/eui/src/components/common';
11825
- import { EuiPopoverPanel } from '@elastic/eui/src/components/popover/popover_panel';
11666
+ import { EuiInputPopoverWidthContext } from '@elastic/eui/src/components/popover/input_popover';
11826
11667
  import type { _EuiComboBoxProps } from '@elastic/eui/src/components/combo_box/combo_box';
11827
- import { EuiComboBoxOptionOption, EuiComboBoxOptionsListPosition, EuiComboBoxSingleSelectionShape, OptionHandler, RefInstance, UpdatePositionHandler } from '@elastic/eui/src/components/combo_box/types';
11828
- export type EuiComboBoxOptionsListProps<T> = CommonProps & ComponentProps<typeof EuiPopoverPanel> & {
11668
+ import { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
11669
+ export type EuiComboBoxOptionsListProps<T> = CommonProps & {
11829
11670
  activeOptionIndex?: number;
11830
11671
  areAllOptionsSelected?: boolean;
11831
11672
  listboxAriaLabel: string;
@@ -11849,42 +11690,32 @@ declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/com
11849
11690
  onOptionClick?: OptionHandler<T>;
11850
11691
  onOptionEnterKey?: OptionHandler<T>;
11851
11692
  onScroll?: ListProps['onScroll'];
11852
- optionRef: (index: number, node: RefInstance<EuiFilterSelectItemClass>) => void;
11853
11693
  /**
11854
11694
  * Array of EuiComboBoxOptionOption objects. See #EuiComboBoxOptionOption
11855
11695
  */
11856
11696
  options: Array<EuiComboBoxOptionOption<T>>;
11857
- position?: EuiComboBoxOptionsListPosition;
11858
11697
  renderOption?: (option: EuiComboBoxOptionOption<T>, searchValue: string, OPTION_CONTENT_CLASSNAME: string) => ReactNode;
11859
11698
  rootId: ReturnType<typeof htmlIdGenerator>;
11860
11699
  rowHeight: number;
11861
11700
  scrollToIndex?: number;
11862
11701
  searchValue: string;
11863
11702
  selectedOptions: Array<EuiComboBoxOptionOption<T>>;
11864
- updatePosition: UpdatePositionHandler;
11865
- width: number;
11866
11703
  singleSelection?: boolean | EuiComboBoxSingleSelectionShape;
11867
11704
  delimiter?: string;
11868
- zIndex?: number;
11869
11705
  truncationProps?: _EuiComboBoxProps<T>['truncationProps'];
11870
11706
  };
11871
11707
  export class EuiComboBoxOptionsList<T> extends Component<EuiComboBoxOptionsListProps<T>> {
11872
- listRefInstance: RefInstance<HTMLDivElement>;
11873
11708
  listRef: FixedSizeList | null;
11874
- listBoxRef: HTMLUListElement | null;
11709
+ static contextType: React.Context<number>;
11710
+ context: ContextType<typeof EuiInputPopoverWidthContext>;
11875
11711
  static defaultProps: {
11876
11712
  'data-test-subj': string;
11877
11713
  rowHeight: number;
11878
11714
  isCaseSensitive: boolean;
11879
11715
  };
11880
- updatePosition: () => void;
11881
- componentDidMount(): void;
11882
11716
  componentDidUpdate(prevProps: EuiComboBoxOptionsListProps<T>): void;
11883
- componentWillUnmount(): void;
11884
- closeListOnScroll: (event: Event) => void;
11885
- listRefCallback: RefCallback<HTMLDivElement>;
11886
11717
  setListRef: (ref: FixedSizeList | null) => void;
11887
- setListBoxRef: (ref: HTMLUListElement | null) => void;
11718
+ ListInnerElement: FixedSizeListProps['innerElementType'];
11888
11719
  ListRow: ({ data, index, style }: ListChildComponentProps) => React.JSX.Element;
11889
11720
  optionWidth: number | undefined;
11890
11721
  setOptionWidth: (width: number) => void;
@@ -11929,13 +11760,13 @@ declare module '@elastic/eui/src/components/combo_box/combo_box' {
11929
11760
  */
11930
11761
  import React, { Component, FocusEventHandler, HTMLAttributes, KeyboardEventHandler, RefCallback } from 'react';
11931
11762
  import { CommonProps } from '@elastic/eui/src/components/common';
11763
+ import { EuiInputPopoverProps } from '@elastic/eui/src/components/popover';
11932
11764
  import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form';
11933
- import { EuiFilterSelectItemClass } from '@elastic/eui/src/components/filter_group/filter_select_item';
11934
11765
  import type { EuiTextTruncateProps } from '@elastic/eui/src/components/text_truncate';
11935
11766
  import { SortMatchesBy } from '@elastic/eui/src/components/combo_box/matching_options';
11936
11767
  import { EuiComboBoxInputProps } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input';
11937
11768
  import { EuiComboBoxOptionsListProps } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list';
11938
- import { UpdatePositionHandler, OptionHandler, RefInstance, EuiComboBoxOptionOption, EuiComboBoxOptionsListPosition, EuiComboBoxSingleSelectionShape } from '@elastic/eui/src/components/combo_box/types'; type DrillProps<T> = Pick<EuiComboBoxOptionsListProps<T>, 'customOptionText' | 'onCreateOption' | 'options' | 'renderOption' | 'selectedOptions'>;
11769
+ import { OptionHandler, RefInstance, EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape } from '@elastic/eui/src/components/combo_box/types'; type DrillProps<T> = Pick<EuiComboBoxOptionsListProps<T>, 'customOptionText' | 'onCreateOption' | 'options' | 'renderOption' | 'selectedOptions'>;
11939
11770
  export interface _EuiComboBoxProps<T> extends CommonProps, Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>, DrillProps<T> {
11940
11771
  'data-test-subj'?: string;
11941
11772
  /**
@@ -12040,6 +11871,11 @@ declare module '@elastic/eui/src/components/combo_box/combo_box' {
12040
11871
  * text will always take precedence.
12041
11872
  */
12042
11873
  truncationProps?: Partial<Omit<EuiTextTruncateProps, 'text' | 'children'>>;
11874
+ /**
11875
+ * Allows customizing the underlying EuiInputPopover component
11876
+ * (except for props that control state).
11877
+ */
11878
+ inputPopoverProps?: Partial<Omit<EuiInputPopoverProps, 'input' | 'isOpen' | 'closePopover'>>;
12043
11879
  } type DefaultProps<T> = Omit<(typeof EuiComboBox)['defaultProps'], 'options' | 'selectedOptions'> & {
12044
11880
  options: Array<EuiComboBoxOptionOption<T>>;
12045
11881
  selectedOptions: Array<EuiComboBoxOptionOption<T>>;
@@ -12049,12 +11885,8 @@ declare module '@elastic/eui/src/components/combo_box/combo_box' {
12049
11885
  activeOptionIndex: number;
12050
11886
  hasFocus: boolean;
12051
11887
  isListOpen: boolean;
12052
- listElement?: RefInstance<HTMLDivElement>;
12053
- listPosition: EuiComboBoxOptionsListPosition;
12054
- listZIndex: number | undefined;
12055
11888
  matchingOptions: Array<EuiComboBoxOptionOption<T>>;
12056
11889
  searchValue: string;
12057
- width: number;
12058
11890
  }
12059
11891
  export class EuiComboBox<T> extends Component<_EuiComboBoxProps<T>, EuiComboBoxState<T>> {
12060
11892
  static defaultProps: {
@@ -12070,7 +11902,6 @@ declare module '@elastic/eui/src/components/combo_box/combo_box' {
12070
11902
  sortMatchesBy: "none";
12071
11903
  };
12072
11904
  state: EuiComboBoxState<T>;
12073
- _isMounted: boolean;
12074
11905
  rootId: (idSuffix?: string) => string;
12075
11906
  comboBoxRefInstance: RefInstance<HTMLDivElement>;
12076
11907
  comboBoxRefCallback: RefCallback<HTMLDivElement>;
@@ -12078,13 +11909,8 @@ declare module '@elastic/eui/src/components/combo_box/combo_box' {
12078
11909
  searchInputRefCallback: RefCallback<HTMLInputElement>;
12079
11910
  listRefInstance: RefInstance<HTMLDivElement>;
12080
11911
  listRefCallback: RefCallback<HTMLDivElement>;
12081
- toggleButtonRefInstance: RefInstance<HTMLButtonElement | HTMLSpanElement>;
12082
- toggleButtonRefCallback: RefCallback<HTMLButtonElement | HTMLSpanElement>;
12083
- optionsRefInstances: Array<RefInstance<EuiFilterSelectItemClass>>;
12084
- optionRefCallback: EuiComboBoxOptionsListProps<T>['optionRef'];
12085
11912
  openList: () => void;
12086
- closeList: (event?: Event | undefined) => void;
12087
- updatePosition: UpdatePositionHandler;
11913
+ closeList: () => void;
12088
11914
  incrementActiveOptionIndex: (amount: number) => void;
12089
11915
  hasActiveOption: () => boolean;
12090
11916
  clearActiveOption: () => void;
@@ -12104,13 +11930,8 @@ declare module '@elastic/eui/src/components/combo_box/combo_box' {
12104
11930
  onComboBoxClick: () => void;
12105
11931
  onOpenListClick: () => void;
12106
11932
  onOptionListScroll: () => void;
12107
- onCloseListClick: () => void;
12108
11933
  onSearchChange: NonNullable<EuiComboBoxInputProps<T>['onChange']>;
12109
- componentDidMount(): void;
12110
11934
  static getDerivedStateFromProps<T>(nextProps: _EuiComboBoxProps<T>, prevState: EuiComboBoxState<T>): Partial<EuiComboBoxState<T>>;
12111
- updateMatchingOptionsIfDifferent: (newMatchingOptions: Array<EuiComboBoxOptionOption<T>>) => void;
12112
- componentDidUpdate(): void;
12113
- componentWillUnmount(): void;
12114
11935
  render(): React.JSX.Element;
12115
11936
  }
12116
11937
  export {};
@@ -12128,7 +11949,7 @@ declare module '@elastic/eui/src/components/combo_box' {
12128
11949
  export { EuiComboBox } from '@elastic/eui/src/components/combo_box/combo_box';
12129
11950
  export * from '@elastic/eui/src/components/combo_box/combo_box_input';
12130
11951
  export * from '@elastic/eui/src/components/combo_box/combo_box_options_list';
12131
- export type { EuiComboBoxOptionOption, EuiComboBoxOptionsListPosition, EuiComboBoxSingleSelectionShape, } from '@elastic/eui/src/components/combo_box/types';
11952
+ export type { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, } from '@elastic/eui/src/components/combo_box/types';
12132
11953
 
12133
11954
  }
12134
11955
  declare module '@elastic/eui/src/components/timeline/timeline_item_event.styles' {
@@ -21489,170 +21310,6 @@ declare module '@elastic/eui/src/components/steps' {
21489
21310
  export type { EuiStepStatus, EuiStepNumberProps } from '@elastic/eui/src/components/steps/step_number';
21490
21311
  export { EuiStepNumber } from '@elastic/eui/src/components/steps/step_number';
21491
21312
 
21492
- }
21493
- declare module '@elastic/eui/src/components/suggest/suggest_item' {
21494
- import { FunctionComponent, HTMLAttributes, ButtonHTMLAttributes, MouseEventHandler } from 'react';
21495
- import { CommonProps, ExclusiveUnion } from '@elastic/eui/src/components/common';
21496
- import { IconType } from '@elastic/eui/src/components/icon';
21497
- interface Type {
21498
- iconType: IconType;
21499
- color: string | keyof typeof colorToClassNameMap;
21500
- }
21501
- export interface _EuiSuggestItemPropsBase {
21502
- /**
21503
- * Takes `iconType` for EuiIcon and 'color'. 'color' can be tint1 through tint9.
21504
- */
21505
- type: Type;
21506
- /**
21507
- * Label or primary text.
21508
- */
21509
- label: string;
21510
- /**
21511
- * Description or secondary text (optional).
21512
- */
21513
- description?: string;
21514
- /**
21515
- * Percentage width of `label`.
21516
- * Accepts multiples of `10`, from `20` to `90`.
21517
- * Label will expand to 100% if `description` is not provided.
21518
- */
21519
- labelWidth?: LabelWidthSize;
21520
- /**
21521
- * Truncates both label and description.
21522
- */
21523
- truncate?: boolean;
21524
- } type PropsForSpan = Omit<HTMLAttributes<HTMLSpanElement>, 'onClick'>; type PropsForButton = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'type'> & {
21525
- onClick?: MouseEventHandler<HTMLButtonElement>;
21526
- };
21527
- /**
21528
- * @deprecated
21529
- */
21530
- export type EuiSuggestItemProps = CommonProps & _EuiSuggestItemPropsBase & ExclusiveUnion<PropsForSpan, PropsForButton>;
21531
- interface ColorToClassMap {
21532
- tint0: string;
21533
- tint1: string;
21534
- tint2: string;
21535
- tint3: string;
21536
- tint4: string;
21537
- tint5: string;
21538
- tint6: string;
21539
- tint7: string;
21540
- tint8: string;
21541
- tint9: string;
21542
- tint10: string;
21543
- [key: string]: string;
21544
- } type LabelWidthSize = '20' | '30' | '40' | '50' | '60' | '70' | '80' | '90' | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90; const colorToClassNameMap: ColorToClassMap;
21545
- export const COLORS: (keyof ColorToClassMap)[];
21546
- /**
21547
- * @deprecated - EuiSuggest is scheduled for deprecation due to low internal usage and high
21548
- * overlap with other existing EUI components. We recommend using EuiSelectable instead,
21549
- * or copying this component into your own application for usage if necessary.
21550
- *
21551
- * The component will be permanently removed in October 2023.
21552
- */
21553
- export const EuiSuggestItem: FunctionComponent<EuiSuggestItemProps>;
21554
- export {};
21555
-
21556
- }
21557
- declare module '@elastic/eui/src/components/suggest/types' {
21558
- export const ALL_STATUSES: readonly ["unsaved", "saved", "unchanged", "loading"]; type StatusTuple = typeof ALL_STATUSES;
21559
- export type EuiSuggestStatus = StatusTuple[number];
21560
- export interface _Status {
21561
- icon?: string;
21562
- color?: string;
21563
- tooltip?: string;
21564
- }
21565
- export interface _EuiSuggestStatusMap {
21566
- unsaved: _Status;
21567
- saved: _Status;
21568
- unchanged: _Status;
21569
- loading: _Status;
21570
- }
21571
- export {};
21572
-
21573
- }
21574
- declare module '@elastic/eui/src/components/suggest/suggest' {
21575
- import { CSSProperties, FunctionComponent } from 'react';
21576
- import { CommonProps, ExclusiveUnion } from '@elastic/eui/src/components/common';
21577
- import { EuiSelectableSearchableSearchProps } from '@elastic/eui/src/components/selectable';
21578
- import { _EuiSuggestItemPropsBase } from '@elastic/eui/src/components/suggest/suggest_item';
21579
- import { EuiSuggestStatus } from '@elastic/eui/src/components/suggest/types';
21580
- /**
21581
- * @deprecated
21582
- */
21583
- export type EuiSuggestionProps = CommonProps & _EuiSuggestItemPropsBase; type _EuiSuggestProps = CommonProps & Omit<EuiSelectableSearchableSearchProps<{}>, 'isLoading'> & {
21584
- /**
21585
- * List of suggestions to display using EuiSuggestItem.
21586
- * Accepts props from #EuiSuggestItemProps
21587
- */
21588
- suggestions: EuiSuggestionProps[];
21589
- /**
21590
- * Changes the content of the tooltip that wraps the status icon
21591
- */
21592
- tooltipContent?: string;
21593
- /**
21594
- * Status of the current query 'unsaved', 'saved', 'unchanged' or 'loading'.
21595
- */
21596
- status?: EuiSuggestStatus;
21597
- /**
21598
- * Element to be appended to the input bar.
21599
- */
21600
- append?: JSX.Element;
21601
- /**
21602
- * Handler for click on an EuiSuggestItem.
21603
- */
21604
- onItemClick?: (item: EuiSuggestionProps) => void;
21605
- /**
21606
- * Callback function called when the input changes.
21607
- */
21608
- onInput?: (target: EventTarget) => void;
21609
- /**
21610
- * Callback function called when the search changes.
21611
- */
21612
- onSearch?: (value: string) => void;
21613
- /**
21614
- * Use virtualized rendering for list items with `react-window`.
21615
- * Best used when there are a lot of items.
21616
- */
21617
- isVirtualized?: boolean;
21618
- /**
21619
- * Maximum height to set for the list.
21620
- * Default is `60vh`
21621
- */
21622
- maxHeight?: CSSProperties['maxHeight'];
21623
- /**
21624
- * Control whether or not options get filtered internally or if consumer will filter.
21625
- * Default `false`
21626
- */
21627
- isPreFiltered?: boolean;
21628
- };
21629
- /**
21630
- * @deprecated
21631
- */
21632
- export type EuiSuggestProps = _EuiSuggestProps & ExclusiveUnion<{
21633
- 'aria-label': string;
21634
- 'aria-labelledby'?: string;
21635
- }, {
21636
- 'aria-label'?: string;
21637
- 'aria-labelledby': string;
21638
- }>;
21639
- /**
21640
- * @deprecated - EuiSuggest is scheduled for deprecation due to low internal usage and high
21641
- * overlap with other existing EUI components. We recommend using EuiSelectable instead,
21642
- * or copying this component into your own application for usage if necessary.
21643
- *
21644
- * The component will be permanently removed in October 2023.
21645
- */
21646
- export const EuiSuggest: FunctionComponent<EuiSuggestProps>;
21647
- export {};
21648
-
21649
- }
21650
- declare module '@elastic/eui/src/components/suggest' {
21651
- export type { EuiSuggestItemProps } from '@elastic/eui/src/components/suggest/suggest_item';
21652
- export { EuiSuggestItem } from '@elastic/eui/src/components/suggest/suggest_item';
21653
- export type { EuiSuggestProps, EuiSuggestionProps } from '@elastic/eui/src/components/suggest/suggest';
21654
- export { EuiSuggest } from '@elastic/eui/src/components/suggest/suggest';
21655
-
21656
21313
  }
21657
21314
  declare module '@elastic/eui/src/components/tour/tour_step_indicator' {
21658
21315
  import { FunctionComponent, HTMLAttributes } from 'react';
@@ -21958,7 +21615,7 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
21958
21615
  import { Action } from '@elastic/eui/src/components/basic_table/action_types';
21959
21616
  import { Primitive } from '@elastic/eui/src/services/sort/comparators';
21960
21617
  import { CommonProps } from '@elastic/eui/src/components/common';
21961
- import { EuiTableRowCellMobileOptionsShape } from '@elastic/eui/src/components/table/table_row_cell';
21618
+ import { EuiTableRowCellProps, EuiTableRowCellMobileOptionsShape } from '@elastic/eui/src/components/table/table_row_cell';
21962
21619
  export type ItemId<T> = string | number | ((item: T) => string);
21963
21620
  export type ItemIdResolved = string | number;
21964
21621
  export type EuiTableDataType = 'auto' | 'string' | 'number' | 'boolean' | 'date';
@@ -22002,9 +21659,12 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
22002
21659
  */
22003
21660
  align?: HorizontalAlignment;
22004
21661
  /**
22005
- * Indicates whether this column should truncate its content when it doesn't fit
21662
+ * Indicates whether this column should truncate overflowing text content.
21663
+ * - Set to `true` to enable single-line truncation.
21664
+ * - To enable multi-line truncation, use a configuration object with `lines`
21665
+ * set to a number of lines to truncate to.
22006
21666
  */
22007
- truncateText?: boolean;
21667
+ truncateText?: EuiTableRowCellProps['truncateText'];
22008
21668
  mobileOptions?: Omit<EuiTableRowCellMobileOptionsShape, 'render'> & {
22009
21669
  render?: (item: T) => ReactNode;
22010
21670
  };
@@ -23259,7 +22919,6 @@ declare module '@elastic/eui/src/components' {
23259
22919
  export * from '@elastic/eui/src/components/spacer';
23260
22920
  export * from '@elastic/eui/src/components/stat';
23261
22921
  export * from '@elastic/eui/src/components/steps';
23262
- export * from '@elastic/eui/src/components/suggest';
23263
22922
  export * from '@elastic/eui/src/components/table';
23264
22923
  export * from '@elastic/eui/src/components/token';
23265
22924
  export * from '@elastic/eui/src/components/tour';
@@ -23284,6 +22943,68 @@ declare module '@elastic/eui' {
23284
22943
  export * from '@elastic/eui/src/themes';
23285
22944
  export * from '@elastic/eui/src/global_styling';
23286
22945
 
22946
+ }
22947
+ declare module '@elastic/eui/.storybook/utils' {
22948
+ /**
22949
+ * argTypes configurations
22950
+ */
22951
+ /**
22952
+ * Completely hide props from Storybook's controls panel.
22953
+ * Should be passed or spread to `argTypes`
22954
+ */
22955
+ export const hideStorybookControls: <Props>(propNames: (keyof Props)[]) => {} | Record<keyof Props, {
22956
+ table: {
22957
+ disable: boolean;
22958
+ };
22959
+ }>; const HIDE_CONTROL: {
22960
+ table: {
22961
+ disable: boolean;
22962
+ };
22963
+ };
22964
+ /**
22965
+ * Leave props visible in Storybook's controls panel, but disable them
22966
+ * from being controllable (renders a `-`).
22967
+ *
22968
+ * Should be passed or spread to `argTypes`
22969
+ */
22970
+ export const disableStorybookControls: <Props>(propNames: (keyof Props)[]) => {} | Record<keyof Props, {
22971
+ control: boolean;
22972
+ }>; const DISABLE_CONTROL: {
22973
+ control: boolean;
22974
+ };
22975
+ /**
22976
+ * parameters configurations
22977
+ */
22978
+ /**
22979
+ * Will hide all props/controls. Pass to `parameters`
22980
+ *
22981
+ * TODO: Figure out some way to not show Storybook's "setup" text?
22982
+ */
22983
+ export const hideAllStorybookControls: {
22984
+ controls: {
22985
+ exclude: RegExp;
22986
+ };
22987
+ };
22988
+ /**
22989
+ * Will hide the control/addon panel entirely for a specific story.
22990
+ * Should be passed or spread to to `parameters`.
22991
+ *
22992
+ * Note that users can choose to re-show the panel in the UI
22993
+ */
22994
+ export const hidePanel: {
22995
+ options: {
22996
+ showPanel: boolean;
22997
+ };
22998
+ };
22999
+ export {};
23000
+
23001
+ }
23002
+ declare module '@elastic/eui/src/components/color_picker/color_picker.styles' {
23003
+ import { UseEuiTheme } from '@elastic/eui/src/services';
23004
+ export const euiColorPickerVariables: (euiThemeContext: UseEuiTheme) => {
23005
+ width: string;
23006
+ };
23007
+
23287
23008
  }
23288
23009
  declare module '@elastic/eui/src/components/icon/assets/videoPlayer' {
23289
23010
  import * as React from 'react';
@@ -28690,13 +28411,6 @@ declare module '@elastic/eui' {
28690
28411
  "euiColorPicker.alphaLabel": any;
28691
28412
  "euiColorPicker.openLabel": any;
28692
28413
  "euiColorPicker.closeLabel": any;
28693
- "euiColorStopThumb.buttonAriaLabel": any;
28694
- "euiColorStopThumb.buttonTitle": any;
28695
- "euiColorStopThumb.screenReaderAnnouncement": any;
28696
- "euiColorStopThumb.stopLabel": any;
28697
- "euiColorStopThumb.stopErrorMessage": any;
28698
- "euiColorStopThumb.removeLabel": any;
28699
- "euiColorStops.screenReaderAnnouncement": any;
28700
28414
  "euiHue.label": any;
28701
28415
  "euiSaturation.ariaLabel": any;
28702
28416
  "euiSaturation.screenReaderInstructions": any;
@@ -29032,12 +28746,6 @@ declare module '@elastic/eui' {
29032
28746
  "euiStepStrings.simpleLoading": any;
29033
28747
  "euiStepStrings.current": any;
29034
28748
  "euiStepStrings.simpleCurrent": any;
29035
- "euiSuggest.stateSavedTooltip": any;
29036
- "euiSuggest.stateUnsavedTooltip": any;
29037
- "euiSuggest.stateLoading": any;
29038
- "euiSuggest.stateSaved": any;
29039
- "euiSuggest.stateUnsaved": any;
29040
- "euiSuggest.stateUnchanged": any;
29041
28749
  "euiTableSortMobile.sorting": any;
29042
28750
  "euiTableHeaderCell.titleTextWithDesc": any;
29043
28751
  "euiTablePagination.allRows": any;