@elastic/eui 94.1.0 → 94.2.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 (260) hide show
  1. package/dist/eui_theme_dark.css +6 -15
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +6 -15
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accordion/accordion.js +1 -25
  6. package/es/components/accordion/accordion_children/accordion_children.js +3 -7
  7. package/es/components/basic_table/basic_table.js +8 -5
  8. package/es/components/breadcrumbs/_breadcrumb_content.js +1 -1
  9. package/es/components/breadcrumbs/breadcrumbs.js +1 -1
  10. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +306 -0
  11. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +56 -0
  12. package/{optimize/es/components/collapsible_nav_beta/collapsible_nav_group → es/components/collapsible_nav_beta/_kibana_solution}/index.js +1 -1
  13. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  14. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +12 -4
  15. package/es/components/color_picker/color_picker.js +9 -1
  16. package/es/components/combo_box/combo_box.js +19 -5
  17. package/es/components/combo_box/index.js +2 -1
  18. package/es/components/combo_box/matching_options.js +34 -5
  19. package/es/components/datagrid/body/cell/data_grid_cell.js +0 -46
  20. package/es/components/datagrid/body/data_grid_body.js +0 -28
  21. package/es/components/datagrid/body/data_grid_body_custom.js +0 -28
  22. package/es/components/datagrid/body/data_grid_body_virtualized.js +0 -28
  23. package/es/components/datagrid/body/header/column_actions.js +17 -5
  24. package/es/components/datagrid/body/header/data_grid_header_cell.js +3 -30
  25. package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  26. package/es/components/datagrid/controls/column_sorting.js +0 -28
  27. package/es/components/datagrid/utils/in_memory.js +0 -28
  28. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  29. package/es/components/date_picker/super_date_picker/super_date_picker.js +2 -84
  30. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -62
  31. package/es/components/flex/flex_group.js +21 -35
  32. package/es/components/flex/flex_item.js +18 -18
  33. package/es/components/form/field_number/field_number.js +22 -7
  34. package/es/components/form/field_text/field_text.js +17 -7
  35. package/es/components/form/form_control_layout/_num_icons.js +7 -2
  36. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  37. package/es/components/form/range/dual_range.js +2 -1
  38. package/es/components/form/range/range.js +12 -1
  39. package/es/components/form/range/range_slider.js +4 -1
  40. package/es/components/form/range/range_track.js +2 -1
  41. package/es/components/form/range/range_wrapper.styles.js +4 -4
  42. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +1 -1
  43. package/es/components/header/header_links/header_links.js +1 -1
  44. package/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +27 -8
  45. package/es/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +32 -9
  46. package/es/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +17 -2
  47. package/es/components/page/page_header/page_header_content.js +1 -1
  48. package/es/components/page_template/outer/page_outer.js +2 -1
  49. package/es/components/page_template/page_template.js +119 -81
  50. package/es/components/popover/input_popover.js +4 -2
  51. package/es/components/popover/popover.js +6 -1
  52. package/es/components/search_bar/filters/field_value_selection_filter.js +3 -5
  53. package/es/components/search_bar/query/default_syntax.js +2 -2
  54. package/es/components/selectable/matching_options.js +43 -5
  55. package/es/components/selectable/selectable.js +55 -13
  56. package/es/components/selectable/selectable_list/selectable_list.js +15 -6
  57. package/es/components/selectable/selectable_search/selectable_search.js +9 -3
  58. package/es/components/steps/step_horizontal.js +1 -0
  59. package/es/components/table/table_row_cell.styles.js +2 -2
  60. package/es/components/tour/tour_step.js +1 -1
  61. package/eui.d.ts +1416 -1177
  62. package/i18ntokens.json +202 -148
  63. package/lib/components/accordion/accordion.js +1 -25
  64. package/lib/components/accordion/accordion_children/accordion_children.js +3 -7
  65. package/lib/components/basic_table/basic_table.js +8 -5
  66. package/lib/components/breadcrumbs/_breadcrumb_content.js +1 -1
  67. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +315 -0
  68. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +61 -0
  69. package/lib/components/collapsible_nav_beta/_kibana_solution/index.js +12 -0
  70. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  71. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  72. package/lib/components/color_picker/color_picker.js +9 -1
  73. package/lib/components/combo_box/combo_box.js +18 -4
  74. package/lib/components/combo_box/index.js +10 -2
  75. package/lib/components/combo_box/matching_options.js +37 -7
  76. package/lib/components/datagrid/body/cell/data_grid_cell.js +0 -46
  77. package/lib/components/datagrid/body/data_grid_body.js +0 -28
  78. package/lib/components/datagrid/body/data_grid_body_custom.js +0 -28
  79. package/lib/components/datagrid/body/data_grid_body_virtualized.js +0 -28
  80. package/lib/components/datagrid/body/header/column_actions.js +17 -5
  81. package/lib/components/datagrid/body/header/data_grid_header_cell.js +3 -30
  82. package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  83. package/lib/components/datagrid/controls/column_sorting.js +0 -28
  84. package/lib/components/datagrid/utils/in_memory.js +0 -28
  85. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  86. package/lib/components/date_picker/super_date_picker/super_date_picker.js +2 -84
  87. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -62
  88. package/lib/components/flex/flex_group.js +22 -37
  89. package/lib/components/flex/flex_item.js +17 -17
  90. package/lib/components/form/field_number/field_number.js +20 -6
  91. package/lib/components/form/field_text/field_text.js +16 -6
  92. package/lib/components/form/form_control_layout/_num_icons.js +9 -3
  93. package/lib/components/form/form_control_layout/form_control_layout_icons.js +4 -3
  94. package/lib/components/form/range/dual_range.js +2 -1
  95. package/lib/components/form/range/range.js +12 -1
  96. package/lib/components/form/range/range_slider.js +4 -1
  97. package/lib/components/form/range/range_track.js +2 -1
  98. package/lib/components/form/range/range_wrapper.styles.js +4 -4
  99. package/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +33 -18
  100. package/lib/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +38 -16
  101. package/lib/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +23 -10
  102. package/lib/components/page_template/outer/page_outer.js +4 -2
  103. package/lib/components/page_template/page_template.js +117 -79
  104. package/lib/components/popover/input_popover.js +4 -2
  105. package/lib/components/popover/popover.js +6 -1
  106. package/lib/components/search_bar/filters/field_value_selection_filter.js +3 -5
  107. package/lib/components/search_bar/query/default_syntax.js +2 -2
  108. package/lib/components/selectable/matching_options.js +46 -7
  109. package/lib/components/selectable/selectable.js +54 -12
  110. package/lib/components/selectable/selectable_list/selectable_list.js +15 -6
  111. package/lib/components/selectable/selectable_search/selectable_search.js +9 -3
  112. package/lib/components/steps/step_horizontal.js +1 -0
  113. package/lib/components/table/table_row_cell.styles.js +1 -1
  114. package/optimize/es/components/accordion/accordion.js +1 -25
  115. package/optimize/es/components/accordion/accordion_children/accordion_children.js +2 -5
  116. package/optimize/es/components/basic_table/basic_table.js +8 -5
  117. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +173 -0
  118. package/optimize/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +56 -0
  119. package/{es/components/collapsible_nav_beta/collapsible_nav_group → optimize/es/components/collapsible_nav_beta/_kibana_solution}/index.js +1 -1
  120. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  121. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +9 -4
  122. package/optimize/es/components/color_picker/color_picker.js +9 -1
  123. package/optimize/es/components/combo_box/combo_box.js +10 -5
  124. package/optimize/es/components/combo_box/index.js +2 -1
  125. package/optimize/es/components/combo_box/matching_options.js +34 -5
  126. package/optimize/es/components/datagrid/body/header/column_actions.js +17 -5
  127. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +3 -2
  128. package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  129. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  130. package/optimize/es/components/flex/flex_group.js +22 -22
  131. package/optimize/es/components/flex/flex_item.js +19 -6
  132. package/optimize/es/components/form/field_number/field_number.js +13 -6
  133. package/optimize/es/components/form/field_text/field_text.js +14 -7
  134. package/optimize/es/components/form/form_control_layout/_num_icons.js +7 -2
  135. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  136. package/optimize/es/components/form/range/range.js +10 -0
  137. package/optimize/es/components/form/range/range_slider.js +3 -1
  138. package/optimize/es/components/form/range/range_wrapper.styles.js +4 -4
  139. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +22 -8
  140. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +24 -9
  141. package/optimize/es/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +12 -2
  142. package/optimize/es/components/page_template/outer/page_outer.js +1 -0
  143. package/optimize/es/components/page_template/page_template.js +79 -80
  144. package/optimize/es/components/popover/input_popover.js +4 -2
  145. package/optimize/es/components/popover/popover.js +5 -0
  146. package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +3 -5
  147. package/optimize/es/components/search_bar/query/default_syntax.js +2 -2
  148. package/optimize/es/components/selectable/matching_options.js +43 -5
  149. package/optimize/es/components/selectable/selectable.js +33 -9
  150. package/optimize/es/components/selectable/selectable_list/selectable_list.js +12 -5
  151. package/optimize/es/components/selectable/selectable_search/selectable_search.js +9 -3
  152. package/optimize/es/components/steps/step_horizontal.js +1 -0
  153. package/optimize/es/components/table/table_row_cell.styles.js +2 -2
  154. package/optimize/lib/components/accordion/accordion.js +1 -25
  155. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +2 -5
  156. package/optimize/lib/components/basic_table/basic_table.js +8 -5
  157. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +182 -0
  158. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +61 -0
  159. package/optimize/lib/components/collapsible_nav_beta/_kibana_solution/index.js +12 -0
  160. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  161. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +9 -4
  162. package/optimize/lib/components/color_picker/color_picker.js +9 -1
  163. package/optimize/lib/components/combo_box/combo_box.js +9 -4
  164. package/optimize/lib/components/combo_box/index.js +10 -2
  165. package/optimize/lib/components/combo_box/matching_options.js +37 -7
  166. package/optimize/lib/components/datagrid/body/header/column_actions.js +17 -5
  167. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +3 -2
  168. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  169. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  170. package/optimize/lib/components/flex/flex_group.js +22 -23
  171. package/optimize/lib/components/flex/flex_item.js +18 -5
  172. package/optimize/lib/components/form/field_number/field_number.js +12 -5
  173. package/optimize/lib/components/form/field_text/field_text.js +13 -6
  174. package/optimize/lib/components/form/form_control_layout/_num_icons.js +9 -3
  175. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +4 -3
  176. package/optimize/lib/components/form/range/range.js +10 -0
  177. package/optimize/lib/components/form/range/range_slider.js +3 -1
  178. package/optimize/lib/components/form/range/range_wrapper.styles.js +4 -4
  179. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +22 -8
  180. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +30 -18
  181. package/optimize/lib/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +13 -2
  182. package/optimize/lib/components/page_template/outer/page_outer.js +3 -1
  183. package/optimize/lib/components/page_template/page_template.js +77 -78
  184. package/optimize/lib/components/popover/input_popover.js +4 -2
  185. package/optimize/lib/components/popover/popover.js +5 -0
  186. package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +3 -5
  187. package/optimize/lib/components/search_bar/query/default_syntax.js +2 -2
  188. package/optimize/lib/components/selectable/matching_options.js +46 -7
  189. package/optimize/lib/components/selectable/selectable.js +32 -8
  190. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +14 -7
  191. package/optimize/lib/components/selectable/selectable_search/selectable_search.js +9 -3
  192. package/optimize/lib/components/steps/step_horizontal.js +1 -0
  193. package/optimize/lib/components/table/table_row_cell.styles.js +1 -1
  194. package/package.json +16 -13
  195. package/src/components/color_picker/_color_picker.scss +0 -16
  196. package/src/components/date_picker/super_date_picker/date_popover/_date_popover_content.scss +4 -7
  197. package/test-env/components/accordion/accordion.js +1 -25
  198. package/test-env/components/accordion/accordion_children/accordion_children.js +3 -7
  199. package/test-env/components/basic_table/basic_table.js +8 -5
  200. package/test-env/components/breadcrumbs/_breadcrumb_content.js +1 -1
  201. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +307 -0
  202. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles.js +61 -0
  203. package/test-env/components/collapsible_nav_beta/_kibana_solution/index.js +12 -0
  204. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  205. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +9 -4
  206. package/test-env/components/color_picker/color_picker.js +9 -1
  207. package/test-env/components/combo_box/combo_box.js +18 -4
  208. package/test-env/components/combo_box/index.js +10 -2
  209. package/test-env/components/combo_box/matching_options.js +37 -7
  210. package/test-env/components/datagrid/body/cell/data_grid_cell.js +0 -46
  211. package/test-env/components/datagrid/body/data_grid_body.js +0 -28
  212. package/test-env/components/datagrid/body/data_grid_body_custom.js +0 -28
  213. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +0 -28
  214. package/test-env/components/datagrid/body/header/column_actions.js +17 -5
  215. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +3 -30
  216. package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -9
  217. package/test-env/components/datagrid/controls/column_sorting.js +0 -28
  218. package/test-env/components/datagrid/utils/in_memory.js +0 -28
  219. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  220. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +2 -84
  221. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -62
  222. package/test-env/components/flex/flex_group.js +22 -37
  223. package/test-env/components/flex/flex_item.js +17 -17
  224. package/test-env/components/form/field_number/field_number.js +18 -6
  225. package/test-env/components/form/field_text/field_text.js +13 -6
  226. package/test-env/components/form/form_control_layout/_num_icons.js +9 -3
  227. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +4 -3
  228. package/test-env/components/form/range/dual_range.js +2 -1
  229. package/test-env/components/form/range/range.js +12 -1
  230. package/test-env/components/form/range/range_slider.js +4 -1
  231. package/test-env/components/form/range/range_track.js +2 -1
  232. package/test-env/components/form/range/range_wrapper.styles.js +4 -4
  233. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.js +22 -8
  234. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.js +30 -18
  235. package/test-env/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.js +13 -2
  236. package/test-env/components/page_template/outer/page_outer.js +4 -2
  237. package/test-env/components/page_template/page_template.js +112 -79
  238. package/test-env/components/popover/input_popover.js +4 -2
  239. package/test-env/components/popover/popover.js +6 -1
  240. package/test-env/components/search_bar/filters/field_value_selection_filter.js +3 -5
  241. package/test-env/components/search_bar/query/default_syntax.js +2 -2
  242. package/test-env/components/selectable/matching_options.js +46 -7
  243. package/test-env/components/selectable/selectable.js +54 -12
  244. package/test-env/components/selectable/selectable_list/selectable_list.js +17 -7
  245. package/test-env/components/selectable/selectable_search/selectable_search.js +9 -3
  246. package/test-env/components/steps/step_horizontal.js +1 -0
  247. package/test-env/components/table/table_row_cell.styles.js +1 -1
  248. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -74
  249. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -19
  250. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -84
  251. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -26
  252. package/lib/components/collapsible_nav_beta/collapsible_nav_group/index.js +0 -12
  253. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -52
  254. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -19
  255. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -62
  256. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -26
  257. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/index.js +0 -12
  258. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +0 -83
  259. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles.js +0 -26
  260. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/index.js +0 -12
package/eui.d.ts CHANGED
@@ -1865,25 +1865,68 @@ declare module '@elastic/eui/src/components/flex/flex_group.styles' {
1865
1865
 
1866
1866
  }
1867
1867
  declare module '@elastic/eui/src/components/flex/flex_group' {
1868
- import React, { HTMLAttributes } from 'react';
1868
+ import React, { ComponentPropsWithoutRef, ElementType, ForwardedRef, Ref } from 'react';
1869
1869
  import { CommonProps } from '@elastic/eui/src/components/common';
1870
1870
  export const GUTTER_SIZES: readonly ["none", "xs", "s", "m", "l", "xl"];
1871
1871
  export type EuiFlexGroupGutterSize = (typeof GUTTER_SIZES)[number];
1872
1872
  export const ALIGN_ITEMS: readonly ["stretch", "flexStart", "flexEnd", "center", "baseline"];
1873
1873
  export type FlexGroupAlignItems = (typeof ALIGN_ITEMS)[number];
1874
1874
  export const JUSTIFY_CONTENTS: readonly ["flexStart", "flexEnd", "center", "spaceBetween", "spaceAround", "spaceEvenly"]; type FlexGroupJustifyContent = (typeof JUSTIFY_CONTENTS)[number];
1875
- export const DIRECTIONS: readonly ["row", "rowReverse", "column", "columnReverse"]; type FlexGroupDirection = (typeof DIRECTIONS)[number];
1876
- export const COMPONENT_TYPES: readonly ["div", "span"]; type FlexGroupComponentType = (typeof COMPONENT_TYPES)[number];
1877
- export interface EuiFlexGroupProps extends CommonProps, HTMLAttributes<HTMLDivElement | HTMLSpanElement> {
1875
+ export const DIRECTIONS: readonly ["row", "rowReverse", "column", "columnReverse"]; type FlexGroupDirection = (typeof DIRECTIONS)[number]; type ComponentPropType = ElementType<CommonProps>;
1876
+ export type EuiFlexGroupProps<TComponent extends ComponentPropType = 'div'> = ComponentPropsWithoutRef<TComponent> & {
1878
1877
  alignItems?: FlexGroupAlignItems;
1879
- component?: FlexGroupComponentType;
1878
+ /**
1879
+ * Customize the component type that is rendered.
1880
+ *
1881
+ * It can be any valid React component type like a tag name string
1882
+ * such as `'div'` or `'span'`, a React component (a function, a class,
1883
+ * or an exotic component like `memo()`).
1884
+ *
1885
+ * `<EuiFlexGroup>` accepts and forwards all extra props to the custom
1886
+ * component.
1887
+ *
1888
+ * @example
1889
+ * // Renders a <button> element
1890
+ * <EuiFlexGroup component="button">
1891
+ * Submit form
1892
+ * </EuiFlexGroup>
1893
+ * @default "div"
1894
+ */
1895
+ component?: TComponent;
1880
1896
  direction?: FlexGroupDirection;
1881
1897
  gutterSize?: EuiFlexGroupGutterSize;
1882
1898
  justifyContent?: FlexGroupJustifyContent;
1883
1899
  responsive?: boolean;
1884
1900
  wrap?: boolean;
1885
- }
1886
- export const EuiFlexGroup: React.ForwardRefExoticComponent<EuiFlexGroupProps & React.RefAttributes<HTMLDivElement | HTMLSpanElement>>;
1901
+ }; const EuiFlexGroupInternal: <TComponent extends ComponentPropType>({ className, component, gutterSize, alignItems, responsive, justifyContent, direction, wrap, ...rest }: EuiFlexGroupProps<TComponent>, ref: React.ForwardedRef<TComponent>) => React.JSX.Element;
1902
+ export const EuiFlexGroup: <TComponent extends ComponentPropType>(props: React.PropsWithoutRef<React.ComponentProps<TComponent>> & {
1903
+ alignItems?: "center" | "stretch" | "baseline" | "flexStart" | "flexEnd" | undefined;
1904
+ /**
1905
+ * Customize the component type that is rendered.
1906
+ *
1907
+ * It can be any valid React component type like a tag name string
1908
+ * such as `'div'` or `'span'`, a React component (a function, a class,
1909
+ * or an exotic component like `memo()`).
1910
+ *
1911
+ * `<EuiFlexGroup>` accepts and forwards all extra props to the custom
1912
+ * component.
1913
+ *
1914
+ * @example
1915
+ * // Renders a <button> element
1916
+ * <EuiFlexGroup component="button">
1917
+ * Submit form
1918
+ * </EuiFlexGroup>
1919
+ * @default "div"
1920
+ */
1921
+ component?: TComponent | undefined;
1922
+ direction?: "row" | "column" | "rowReverse" | "columnReverse" | undefined;
1923
+ gutterSize?: "xs" | "s" | "m" | "l" | "xl" | "none" | undefined;
1924
+ justifyContent?: "center" | "flexStart" | "flexEnd" | "spaceBetween" | "spaceAround" | "spaceEvenly" | undefined;
1925
+ responsive?: boolean | undefined;
1926
+ wrap?: boolean | undefined;
1927
+ } & {
1928
+ ref?: React.Ref<(<TComponent_1 extends ComponentPropType>({ className, component, gutterSize, alignItems, responsive, justifyContent, direction, wrap, ...rest }: EuiFlexGroupProps<TComponent_1>, ref: React.ForwardedRef<TComponent_1>) => React.JSX.Element)> | undefined;
1929
+ }) => ReturnType<typeof EuiFlexGroupInternal>;
1887
1930
  export {};
1888
1931
 
1889
1932
  }
@@ -1984,16 +2027,55 @@ declare module '@elastic/eui/src/components/flex/flex_item.styles' {
1984
2027
 
1985
2028
  }
1986
2029
  declare module '@elastic/eui/src/components/flex/flex_item' {
1987
- import { HTMLAttributes, FunctionComponent, ElementType } from 'react';
1988
- import { CommonProps } from '@elastic/eui/src/components/common';
1989
- export interface EuiFlexItemProps {
2030
+ import React, { ElementType, ComponentPropsWithoutRef, PropsWithChildren, ForwardedRef, Ref } from 'react';
2031
+ import { CommonProps } from '@elastic/eui/src/components/common'; type ComponentPropType = ElementType<CommonProps>;
2032
+ export type EuiFlexItemProps<TComponent extends ComponentPropType = 'div'> = PropsWithChildren & CommonProps & ComponentPropsWithoutRef<TComponent> & {
1990
2033
  grow?: boolean | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | null;
1991
2034
  /**
1992
- * @default div
1993
- */
1994
- component?: ElementType;
1995
- }
1996
- export const EuiFlexItem: FunctionComponent<CommonProps & HTMLAttributes<HTMLDivElement | HTMLSpanElement> & EuiFlexItemProps>;
2035
+ * Customize the component type that is rendered.
2036
+ *
2037
+ * It can be any valid React component type like a tag name string
2038
+ * such as `'div'` or `'span'`, a React component (a function, a class,
2039
+ * or an exotic component like `memo()`).
2040
+ *
2041
+ * `<EuiFlexGroup>` accepts and forwards all extra props to the custom
2042
+ * component.
2043
+ *
2044
+ * @example
2045
+ * // Renders a <button> element
2046
+ * <EuiFlexItem component="button">
2047
+ * Submit form
2048
+ * </EuiFlexGroup>
2049
+ * @default "div"
2050
+ */
2051
+ component?: TComponent;
2052
+ }; const EuiFlexItemInternal: <TComponent extends ComponentPropType>({ children, className, grow, component, ...rest }: EuiFlexItemProps<TComponent>, ref: React.ForwardedRef<TComponent>) => React.JSX.Element;
2053
+ export const EuiFlexItem: <TComponent extends ComponentPropType>(props: {
2054
+ children?: React.ReactNode;
2055
+ } & CommonProps & React.PropsWithoutRef<React.ComponentProps<TComponent>> & {
2056
+ grow?: boolean | 0 | 5 | 2 | 10 | 3 | 8 | 9 | 1 | 4 | 6 | 7 | null | undefined;
2057
+ /**
2058
+ * Customize the component type that is rendered.
2059
+ *
2060
+ * It can be any valid React component type like a tag name string
2061
+ * such as `'div'` or `'span'`, a React component (a function, a class,
2062
+ * or an exotic component like `memo()`).
2063
+ *
2064
+ * `<EuiFlexGroup>` accepts and forwards all extra props to the custom
2065
+ * component.
2066
+ *
2067
+ * @example
2068
+ * // Renders a <button> element
2069
+ * <EuiFlexItem component="button">
2070
+ * Submit form
2071
+ * </EuiFlexGroup>
2072
+ * @default "div"
2073
+ */
2074
+ component?: TComponent | undefined;
2075
+ } & {
2076
+ ref?: React.Ref<(<TComponent_1 extends ComponentPropType>({ children, className, grow, component, ...rest }: EuiFlexItemProps<TComponent_1>, ref: React.ForwardedRef<TComponent_1>) => React.JSX.Element)> | undefined;
2077
+ }) => ReturnType<typeof EuiFlexItemInternal>;
2078
+ export {};
1997
2079
 
1998
2080
  }
1999
2081
  declare module '@elastic/eui/src/components/flex' {
@@ -2072,6 +2154,41 @@ declare module '@elastic/eui/src/components/form/described_form_group' {
2072
2154
  export type { EuiDescribedFormGroupProps } from '@elastic/eui/src/components/form/described_form_group/described_form_group';
2073
2155
  export { EuiDescribedFormGroup } from '@elastic/eui/src/components/form/described_form_group/described_form_group';
2074
2156
 
2157
+ }
2158
+ declare module '@elastic/eui/src/components/form/validatable_control/validatable_control' {
2159
+ import { ReactElement, Ref, FunctionComponent } from 'react';
2160
+ import { CommonProps } from '@elastic/eui/src/components/common';
2161
+ export interface HTMLConstraintValidityElement extends Element {
2162
+ setCustomValidity: (error: string) => void;
2163
+ }
2164
+ export interface ReactElementWithRef extends ReactElement {
2165
+ ref?: Ref<HTMLConstraintValidityElement>;
2166
+ }
2167
+ /**
2168
+ * The `EuiValidatableControl` component should be used in scenarios where
2169
+ * we can render the validated `<input>` as its direct child.
2170
+ */
2171
+ export interface EuiValidatableControlProps {
2172
+ isInvalid?: boolean;
2173
+ children: ReactElementWithRef;
2174
+ }
2175
+ export const EuiValidatableControl: FunctionComponent<CommonProps & EuiValidatableControlProps>;
2176
+ /**
2177
+ * The `UseEuiValidatableControl` hook should be used in scenarios where
2178
+ * we *cannot* control where the validated `<input>` is rendered (e.g., ReactDatePicker)
2179
+ * and instead need to access the input via a ref and pass the element in directly
2180
+ */
2181
+ export interface UseEuiValidatableControlProps {
2182
+ isInvalid?: boolean;
2183
+ controlEl: HTMLInputElement | HTMLConstraintValidityElement | null;
2184
+ }
2185
+ export const useEuiValidatableControl: ({ isInvalid, controlEl, }: UseEuiValidatableControlProps) => void;
2186
+
2187
+ }
2188
+ declare module '@elastic/eui/src/components/form/validatable_control' {
2189
+ export type { EuiValidatableControlProps, UseEuiValidatableControlProps, } from '@elastic/eui/src/components/form/validatable_control/validatable_control';
2190
+ export { EuiValidatableControl, useEuiValidatableControl, } from '@elastic/eui/src/components/form/validatable_control/validatable_control';
2191
+
2075
2192
  }
2076
2193
  declare module '@elastic/eui/src/components/icon/icon_map' {
2077
2194
  export const typeToPathMap: {
@@ -2625,7 +2742,7 @@ declare module '@elastic/eui/src/components/icon/icon' {
2625
2742
  import { WithEuiStylesMemoizerProps } from '@elastic/eui/src/services';
2626
2743
  export { COLORS } from '@elastic/eui/src/components/icon/named_colors';
2627
2744
  import { NamedColor } from '@elastic/eui/src/components/icon/named_colors';
2628
- export const TYPES: ("string" | "number" | "function" | "search" | "link" | "at" | "article" | "menu" | "filter" | "image" | "stop" | "key" | "temperature" | "color" | "email" | "list" | "user" | "alert" | "document" | "grid" | "copy" | "scale" | "wordWrap" | "grab" | "help" | "invert" | "spaces" | "dot" | "warning" | "error" | "download" | "accessibility" | "aggregate" | "analyzeEvent" | "annotation" | "apps" | "arrowStart" | "arrowEnd" | "asterisk" | "beaker" | "bell" | "bellSlash" | "beta" | "bolt" | "branch" | "branchUser" | "broom" | "brush" | "bug" | "bullseye" | "calendar" | "check" | "checkInCircleFilled" | "cheer" | "clock" | "cloudDrizzle" | "cloudStormy" | "cloudSunny" | "cluster" | "compute" | "console" | "container" | "continuityAbove" | "continuityAboveBelow" | "continuityBelow" | "continuityWithin" | "cross" | "crosshairs" | "currency" | "cut" | "database" | "desktop" | "diff" | "discuss" | "documentEdit" | "documentation" | "documents" | "dotInCircle" | "doubleArrowLeft" | "doubleArrowRight" | "editorDistributeHorizontal" | "editorDistributeVertical" | "editorItemAlignBottom" | "editorItemAlignCenter" | "editorItemAlignLeft" | "editorItemAlignMiddle" | "editorItemAlignRight" | "editorItemAlignTop" | "editorPositionBottomLeft" | "editorPositionBottomRight" | "editorPositionTopLeft" | "editorPositionTopRight" | "empty" | "endpoint" | "eql" | "eraser" | "esqlVis" | "exit" | "expand" | "expandMini" | "eye" | "filterExclude" | "filterIgnore" | "filterInclude" | "filterInCircle" | "flag" | "fold" | "frameNext" | "framePrevious" | "fullScreenExit" | "gear" | "glasses" | "globe" | "grabOmnidirectional" | "gradient" | "heart" | "heatmap" | "home" | "iInCircle" | "index" | "indexTemporary" | "infinity" | "inputOutput" | "inspect" | "ip" | "keyboard" | "kubernetesNode" | "kubernetesPod" | "launch" | "layers" | "lettering" | "lineDashed" | "lineDotted" | "lineSolid" | "lock" | "lockOpen" | "magnet" | "magnifyWithExclamation" | "magnifyWithMinus" | "magnifyWithPlus" | "memory" | "menuDown" | "menuLeft" | "menuRight" | "menuUp" | "merge" | "minimize" | "minus" | "mobile" | "moon" | "namespace" | "nested" | "node" | "offline" | "online" | "package" | "pageSelect" | "pagesSelect" | "palette" | "partial" | "pause" | "payment" | "pencil" | "percent" | "pin" | "pipeBreaks" | "pipeNoBreaks" | "pivot" | "play" | "playFilled" | "plus" | "popout" | "push" | "quote" | "refresh" | "reporter" | "save" | "securitySignal" | "securitySignalDetected" | "securitySignalResolved" | "sessionViewer" | "shard" | "share" | "snowflake" | "sortAscending" | "sortDescending" | "sortLeft" | "sortRight" | "sortable" | "sparkles" | "starPlusEmpty" | "starPlusFilled" | "stats" | "storage" | "submodule" | "sun" | "symlink" | "tableOfContents" | "tag" | "tear" | "timeline" | "timelineWithArrow" | "timeRefresh" | "timeslider" | "training" | "transitionLeftIn" | "transitionLeftOut" | "transitionTopIn" | "transitionTopOut" | "trash" | "unfold" | "unlink" | "userAvatar" | "users" | "vector" | "videoPlayer" | "wordWrapDisabled" | "wrench" | "tokenAlias" | "tokenAnnotation" | "tokenArray" | "tokenBinary" | "tokenBoolean" | "tokenClass" | "tokenCompletionSuggester" | "tokenConstant" | "tokenDate" | "tokenElement" | "tokenEnum" | "tokenEnumMember" | "tokenEvent" | "tokenException" | "tokenField" | "tokenFile" | "tokenFlattened" | "tokenFunction" | "tokenGeo" | "tokenHistogram" | "tokenInterface" | "tokenIP" | "tokenJoin" | "tokenKey" | "tokenKeyword" | "tokenMethod" | "tokenMetricCounter" | "tokenMetricGauge" | "tokenModule" | "tokenNamespace" | "tokenNested" | "tokenNull" | "tokenNumber" | "tokenObject" | "tokenOperator" | "tokenPackage" | "tokenParameter" | "tokenPercolator" | "tokenProperty" | "tokenRange" | "tokenRankFeature" | "tokenRankFeatures" | "tokenRepo" | "tokenSearchType" | "tokenShape" | "tokenString" | "tokenStruct" | "tokenSymbol" | "tokenTag" | "tokenText" | "tokenTokenCount" | "tokenVariable" | "tokenVectorDense" | "tokenVectorSparse" | "addDataApp" | "advancedSettingsApp" | "agentApp" | "apmApp" | "apmTrace" | "appSearchApp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp" | "auditbeatApp" | "boxesHorizontal" | "boxesVertical" | "canvasApp" | "casesApp" | "classificationJob" | "codeApp" | "consoleApp" | "controlsHorizontal" | "controlsVertical" | "copyClipboard" | "createAdvancedJob" | "createMultiMetricJob" | "createPopulationJob" | "createSingleMetricJob" | "crossClusterReplicationApp" | "dashboardApp" | "dataVisualizer" | "devToolsApp" | "discoverApp" | "editorAlignCenter" | "editorAlignLeft" | "editorAlignRight" | "editorBold" | "editorChecklist" | "editorCodeBlock" | "editorComment" | "editorHeading" | "editorItalic" | "editorLink" | "editorOrderedList" | "editorRedo" | "editorStrike" | "editorTable" | "editorUnderline" | "editorUndo" | "editorUnorderedList" | "emsApp" | "exportAction" | "eyeClosed" | "faceHappy" | "faceNeutral" | "faceSad" | "filebeatApp" | "fleetApp" | "folderCheck" | "folderClosed" | "folderExclamation" | "folderOpen" | "fullScreen" | "gisApp" | "grabHorizontal" | "graphApp" | "grokApp" | "heartbeatApp" | "importAction" | "indexClose" | "indexEdit" | "indexFlush" | "indexManagementApp" | "indexMapping" | "indexOpen" | "indexPatternApp" | "indexRollupApp" | "indexRuntime" | "indexSettings" | "kqlField" | "kqlFunction" | "kqlOperand" | "kqlSelector" | "kqlValue" | "lensApp" | "listAdd" | "logoAWS" | "logoAWSMono" | "logoAerospike" | "logoApache" | "logoAppSearch" | "logoAzure" | "logoAzureMono" | "logoBeats" | "logoBusinessAnalytics" | "logoCeph" | "logoCloud" | "logoCloudEnterprise" | "logoCode" | "logoCodesandbox" | "logoCouchbase" | "logoDocker" | "logoDropwizard" | "logoElastic" | "logoElasticStack" | "logoElasticsearch" | "logoEnterpriseSearch" | "logoEtcd" | "logoGCP" | "logoGCPMono" | "logoGithub" | "logoGmail" | "logoGolang" | "logoGoogleG" | "logoHAproxy" | "logoIBM" | "logoIBMMono" | "logoKafka" | "logoKibana" | "logoKubernetes" | "logoLogging" | "logoLogstash" | "logoMaps" | "logoMemcached" | "logoMetrics" | "logoMongodb" | "logoMySQL" | "logoNginx" | "logoObservability" | "logoOsquery" | "logoPhp" | "logoPostgres" | "logoPrometheus" | "logoRabbitmq" | "logoRedis" | "logoSecurity" | "logoSiteSearch" | "logoSketch" | "logoSlack" | "logoUptime" | "logoVulnerabilityManagement" | "logoWebhook" | "logoWindows" | "logoWorkplaceSearch" | "logsApp" | "logstashFilter" | "logstashIf" | "logstashInput" | "logstashOutput" | "logstashQueue" | "machineLearningApp" | "managementApp" | "mapMarker" | "metricbeatApp" | "metricsApp" | "minusInCircle" | "minusInCircleFilled" | "monitoringApp" | "newChat" | "notebookApp" | "outlierDetectionJob" | "packetbeatApp" | "paperClip" | "pinFilled" | "pipelineApp" | "plusInCircle" | "plusInCircleFilled" | "questionInCircle" | "recentlyViewedApp" | "regressionJob" | "reportingApp" | "returnKey" | "savedObjectsApp" | "searchProfilerApp" | "securityAnalyticsApp" | "securityApp" | "sortDown" | "sortUp" | "spacesApp" | "sqlApp" | "starEmpty" | "starEmptySpace" | "starFilled" | "starFilledSpace" | "starMinusEmpty" | "starMinusFilled" | "stopFilled" | "stopSlash" | "swatchInput" | "tableDensityCompact" | "tableDensityExpanded" | "tableDensityNormal" | "timelionApp" | "upgradeAssistantApp" | "uptimeApp" | "usersRolesApp" | "visArea" | "visAreaStacked" | "visBarHorizontal" | "visBarHorizontalStacked" | "visBarVertical" | "visBarVerticalStacked" | "visGauge" | "visGoal" | "visLine" | "visMapCoordinate" | "visMapRegion" | "visMetric" | "visPie" | "visTable" | "visTagCloud" | "visText" | "visTimelion" | "visVega" | "visVisualBuilder" | "visualizeApp" | "vulnerabilityManagementApp" | "watchesApp" | "workplaceSearchApp" | "tokenDenseVector")[];
2745
+ export const TYPES: ("string" | "number" | "function" | "search" | "link" | "at" | "article" | "menu" | "filter" | "image" | "stop" | "key" | "temperature" | "color" | "email" | "list" | "user" | "alert" | "document" | "grid" | "copy" | "scale" | "wordWrap" | "grab" | "help" | "invert" | "spaces" | "dot" | "warning" | "error" | "download" | "push" | "cut" | "pause" | "play" | "accessibility" | "aggregate" | "analyzeEvent" | "annotation" | "apps" | "arrowStart" | "arrowEnd" | "asterisk" | "beaker" | "bell" | "bellSlash" | "beta" | "bolt" | "branch" | "branchUser" | "broom" | "brush" | "bug" | "bullseye" | "calendar" | "check" | "checkInCircleFilled" | "cheer" | "clock" | "cloudDrizzle" | "cloudStormy" | "cloudSunny" | "cluster" | "compute" | "console" | "container" | "continuityAbove" | "continuityAboveBelow" | "continuityBelow" | "continuityWithin" | "cross" | "crosshairs" | "currency" | "database" | "desktop" | "diff" | "discuss" | "documentEdit" | "documentation" | "documents" | "dotInCircle" | "doubleArrowLeft" | "doubleArrowRight" | "editorDistributeHorizontal" | "editorDistributeVertical" | "editorItemAlignBottom" | "editorItemAlignCenter" | "editorItemAlignLeft" | "editorItemAlignMiddle" | "editorItemAlignRight" | "editorItemAlignTop" | "editorPositionBottomLeft" | "editorPositionBottomRight" | "editorPositionTopLeft" | "editorPositionTopRight" | "empty" | "endpoint" | "eql" | "eraser" | "esqlVis" | "exit" | "expand" | "expandMini" | "eye" | "filterExclude" | "filterIgnore" | "filterInclude" | "filterInCircle" | "flag" | "fold" | "frameNext" | "framePrevious" | "fullScreenExit" | "gear" | "glasses" | "globe" | "grabOmnidirectional" | "gradient" | "heart" | "heatmap" | "home" | "iInCircle" | "index" | "indexTemporary" | "infinity" | "inputOutput" | "inspect" | "ip" | "keyboard" | "kubernetesNode" | "kubernetesPod" | "launch" | "layers" | "lettering" | "lineDashed" | "lineDotted" | "lineSolid" | "lock" | "lockOpen" | "magnet" | "magnifyWithExclamation" | "magnifyWithMinus" | "magnifyWithPlus" | "memory" | "menuDown" | "menuLeft" | "menuRight" | "menuUp" | "merge" | "minimize" | "minus" | "mobile" | "moon" | "namespace" | "nested" | "node" | "offline" | "online" | "package" | "pageSelect" | "pagesSelect" | "palette" | "partial" | "payment" | "pencil" | "percent" | "pin" | "pipeBreaks" | "pipeNoBreaks" | "pivot" | "playFilled" | "plus" | "popout" | "quote" | "refresh" | "reporter" | "save" | "securitySignal" | "securitySignalDetected" | "securitySignalResolved" | "sessionViewer" | "shard" | "share" | "snowflake" | "sortAscending" | "sortDescending" | "sortLeft" | "sortRight" | "sortable" | "sparkles" | "starPlusEmpty" | "starPlusFilled" | "stats" | "storage" | "submodule" | "sun" | "symlink" | "tableOfContents" | "tag" | "tear" | "timeline" | "timelineWithArrow" | "timeRefresh" | "timeslider" | "training" | "transitionLeftIn" | "transitionLeftOut" | "transitionTopIn" | "transitionTopOut" | "trash" | "unfold" | "unlink" | "userAvatar" | "users" | "vector" | "videoPlayer" | "wordWrapDisabled" | "wrench" | "tokenAlias" | "tokenAnnotation" | "tokenArray" | "tokenBinary" | "tokenBoolean" | "tokenClass" | "tokenCompletionSuggester" | "tokenConstant" | "tokenDate" | "tokenElement" | "tokenEnum" | "tokenEnumMember" | "tokenEvent" | "tokenException" | "tokenField" | "tokenFile" | "tokenFlattened" | "tokenFunction" | "tokenGeo" | "tokenHistogram" | "tokenInterface" | "tokenIP" | "tokenJoin" | "tokenKey" | "tokenKeyword" | "tokenMethod" | "tokenMetricCounter" | "tokenMetricGauge" | "tokenModule" | "tokenNamespace" | "tokenNested" | "tokenNull" | "tokenNumber" | "tokenObject" | "tokenOperator" | "tokenPackage" | "tokenParameter" | "tokenPercolator" | "tokenProperty" | "tokenRange" | "tokenRankFeature" | "tokenRankFeatures" | "tokenRepo" | "tokenSearchType" | "tokenShape" | "tokenString" | "tokenStruct" | "tokenSymbol" | "tokenTag" | "tokenText" | "tokenTokenCount" | "tokenVariable" | "tokenVectorDense" | "tokenVectorSparse" | "addDataApp" | "advancedSettingsApp" | "agentApp" | "apmApp" | "apmTrace" | "appSearchApp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp" | "auditbeatApp" | "boxesHorizontal" | "boxesVertical" | "canvasApp" | "casesApp" | "classificationJob" | "codeApp" | "consoleApp" | "controlsHorizontal" | "controlsVertical" | "copyClipboard" | "createAdvancedJob" | "createMultiMetricJob" | "createPopulationJob" | "createSingleMetricJob" | "crossClusterReplicationApp" | "dashboardApp" | "dataVisualizer" | "devToolsApp" | "discoverApp" | "editorAlignCenter" | "editorAlignLeft" | "editorAlignRight" | "editorBold" | "editorChecklist" | "editorCodeBlock" | "editorComment" | "editorHeading" | "editorItalic" | "editorLink" | "editorOrderedList" | "editorRedo" | "editorStrike" | "editorTable" | "editorUnderline" | "editorUndo" | "editorUnorderedList" | "emsApp" | "exportAction" | "eyeClosed" | "faceHappy" | "faceNeutral" | "faceSad" | "filebeatApp" | "fleetApp" | "folderCheck" | "folderClosed" | "folderExclamation" | "folderOpen" | "fullScreen" | "gisApp" | "grabHorizontal" | "graphApp" | "grokApp" | "heartbeatApp" | "importAction" | "indexClose" | "indexEdit" | "indexFlush" | "indexManagementApp" | "indexMapping" | "indexOpen" | "indexPatternApp" | "indexRollupApp" | "indexRuntime" | "indexSettings" | "kqlField" | "kqlFunction" | "kqlOperand" | "kqlSelector" | "kqlValue" | "lensApp" | "listAdd" | "logoAWS" | "logoAWSMono" | "logoAerospike" | "logoApache" | "logoAppSearch" | "logoAzure" | "logoAzureMono" | "logoBeats" | "logoBusinessAnalytics" | "logoCeph" | "logoCloud" | "logoCloudEnterprise" | "logoCode" | "logoCodesandbox" | "logoCouchbase" | "logoDocker" | "logoDropwizard" | "logoElastic" | "logoElasticStack" | "logoElasticsearch" | "logoEnterpriseSearch" | "logoEtcd" | "logoGCP" | "logoGCPMono" | "logoGithub" | "logoGmail" | "logoGolang" | "logoGoogleG" | "logoHAproxy" | "logoIBM" | "logoIBMMono" | "logoKafka" | "logoKibana" | "logoKubernetes" | "logoLogging" | "logoLogstash" | "logoMaps" | "logoMemcached" | "logoMetrics" | "logoMongodb" | "logoMySQL" | "logoNginx" | "logoObservability" | "logoOsquery" | "logoPhp" | "logoPostgres" | "logoPrometheus" | "logoRabbitmq" | "logoRedis" | "logoSecurity" | "logoSiteSearch" | "logoSketch" | "logoSlack" | "logoUptime" | "logoVulnerabilityManagement" | "logoWebhook" | "logoWindows" | "logoWorkplaceSearch" | "logsApp" | "logstashFilter" | "logstashIf" | "logstashInput" | "logstashOutput" | "logstashQueue" | "machineLearningApp" | "managementApp" | "mapMarker" | "metricbeatApp" | "metricsApp" | "minusInCircle" | "minusInCircleFilled" | "monitoringApp" | "newChat" | "notebookApp" | "outlierDetectionJob" | "packetbeatApp" | "paperClip" | "pinFilled" | "pipelineApp" | "plusInCircle" | "plusInCircleFilled" | "questionInCircle" | "recentlyViewedApp" | "regressionJob" | "reportingApp" | "returnKey" | "savedObjectsApp" | "searchProfilerApp" | "securityAnalyticsApp" | "securityApp" | "sortDown" | "sortUp" | "spacesApp" | "sqlApp" | "starEmpty" | "starEmptySpace" | "starFilled" | "starFilledSpace" | "starMinusEmpty" | "starMinusFilled" | "stopFilled" | "stopSlash" | "swatchInput" | "tableDensityCompact" | "tableDensityExpanded" | "tableDensityNormal" | "timelionApp" | "upgradeAssistantApp" | "uptimeApp" | "usersRolesApp" | "visArea" | "visAreaStacked" | "visBarHorizontal" | "visBarHorizontalStacked" | "visBarVertical" | "visBarVerticalStacked" | "visGauge" | "visGoal" | "visLine" | "visMapCoordinate" | "visMapRegion" | "visMetric" | "visPie" | "visTable" | "visTagCloud" | "visText" | "visTimelion" | "visVega" | "visVisualBuilder" | "visualizeApp" | "vulnerabilityManagementApp" | "watchesApp" | "workplaceSearchApp" | "tokenDenseVector")[];
2629
2746
  export type EuiIconType = keyof typeof typeToPathMap;
2630
2747
  export type IconType = EuiIconType | string | ComponentType;
2631
2748
  export type IconColor = string | NamedColor;
@@ -2668,7 +2785,7 @@ declare module '@elastic/eui/src/components/icon/icon' {
2668
2785
  isLoading: boolean;
2669
2786
  neededLoading: boolean;
2670
2787
  }
2671
- export const clearIconComponentCache: (iconType?: "string" | "number" | "function" | "search" | "link" | "at" | "article" | "menu" | "filter" | "image" | "stop" | "key" | "temperature" | "color" | "email" | "list" | "user" | "alert" | "document" | "grid" | "copy" | "scale" | "wordWrap" | "grab" | "help" | "invert" | "spaces" | "dot" | "warning" | "error" | "download" | "accessibility" | "aggregate" | "analyzeEvent" | "annotation" | "apps" | "arrowStart" | "arrowEnd" | "asterisk" | "beaker" | "bell" | "bellSlash" | "beta" | "bolt" | "branch" | "branchUser" | "broom" | "brush" | "bug" | "bullseye" | "calendar" | "check" | "checkInCircleFilled" | "cheer" | "clock" | "cloudDrizzle" | "cloudStormy" | "cloudSunny" | "cluster" | "compute" | "console" | "container" | "continuityAbove" | "continuityAboveBelow" | "continuityBelow" | "continuityWithin" | "cross" | "crosshairs" | "currency" | "cut" | "database" | "desktop" | "diff" | "discuss" | "documentEdit" | "documentation" | "documents" | "dotInCircle" | "doubleArrowLeft" | "doubleArrowRight" | "editorDistributeHorizontal" | "editorDistributeVertical" | "editorItemAlignBottom" | "editorItemAlignCenter" | "editorItemAlignLeft" | "editorItemAlignMiddle" | "editorItemAlignRight" | "editorItemAlignTop" | "editorPositionBottomLeft" | "editorPositionBottomRight" | "editorPositionTopLeft" | "editorPositionTopRight" | "empty" | "endpoint" | "eql" | "eraser" | "esqlVis" | "exit" | "expand" | "expandMini" | "eye" | "filterExclude" | "filterIgnore" | "filterInclude" | "filterInCircle" | "flag" | "fold" | "frameNext" | "framePrevious" | "fullScreenExit" | "gear" | "glasses" | "globe" | "grabOmnidirectional" | "gradient" | "heart" | "heatmap" | "home" | "iInCircle" | "index" | "indexTemporary" | "infinity" | "inputOutput" | "inspect" | "ip" | "keyboard" | "kubernetesNode" | "kubernetesPod" | "launch" | "layers" | "lettering" | "lineDashed" | "lineDotted" | "lineSolid" | "lock" | "lockOpen" | "magnet" | "magnifyWithExclamation" | "magnifyWithMinus" | "magnifyWithPlus" | "memory" | "menuDown" | "menuLeft" | "menuRight" | "menuUp" | "merge" | "minimize" | "minus" | "mobile" | "moon" | "namespace" | "nested" | "node" | "offline" | "online" | "package" | "pageSelect" | "pagesSelect" | "palette" | "partial" | "pause" | "payment" | "pencil" | "percent" | "pin" | "pipeBreaks" | "pipeNoBreaks" | "pivot" | "play" | "playFilled" | "plus" | "popout" | "push" | "quote" | "refresh" | "reporter" | "save" | "securitySignal" | "securitySignalDetected" | "securitySignalResolved" | "sessionViewer" | "shard" | "share" | "snowflake" | "sortAscending" | "sortDescending" | "sortLeft" | "sortRight" | "sortable" | "sparkles" | "starPlusEmpty" | "starPlusFilled" | "stats" | "storage" | "submodule" | "sun" | "symlink" | "tableOfContents" | "tag" | "tear" | "timeline" | "timelineWithArrow" | "timeRefresh" | "timeslider" | "training" | "transitionLeftIn" | "transitionLeftOut" | "transitionTopIn" | "transitionTopOut" | "trash" | "unfold" | "unlink" | "userAvatar" | "users" | "vector" | "videoPlayer" | "wordWrapDisabled" | "wrench" | "tokenAlias" | "tokenAnnotation" | "tokenArray" | "tokenBinary" | "tokenBoolean" | "tokenClass" | "tokenCompletionSuggester" | "tokenConstant" | "tokenDate" | "tokenElement" | "tokenEnum" | "tokenEnumMember" | "tokenEvent" | "tokenException" | "tokenField" | "tokenFile" | "tokenFlattened" | "tokenFunction" | "tokenGeo" | "tokenHistogram" | "tokenInterface" | "tokenIP" | "tokenJoin" | "tokenKey" | "tokenKeyword" | "tokenMethod" | "tokenMetricCounter" | "tokenMetricGauge" | "tokenModule" | "tokenNamespace" | "tokenNested" | "tokenNull" | "tokenNumber" | "tokenObject" | "tokenOperator" | "tokenPackage" | "tokenParameter" | "tokenPercolator" | "tokenProperty" | "tokenRange" | "tokenRankFeature" | "tokenRankFeatures" | "tokenRepo" | "tokenSearchType" | "tokenShape" | "tokenString" | "tokenStruct" | "tokenSymbol" | "tokenTag" | "tokenText" | "tokenTokenCount" | "tokenVariable" | "tokenVectorDense" | "tokenVectorSparse" | "addDataApp" | "advancedSettingsApp" | "agentApp" | "apmApp" | "apmTrace" | "appSearchApp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp" | "auditbeatApp" | "boxesHorizontal" | "boxesVertical" | "canvasApp" | "casesApp" | "classificationJob" | "codeApp" | "consoleApp" | "controlsHorizontal" | "controlsVertical" | "copyClipboard" | "createAdvancedJob" | "createMultiMetricJob" | "createPopulationJob" | "createSingleMetricJob" | "crossClusterReplicationApp" | "dashboardApp" | "dataVisualizer" | "devToolsApp" | "discoverApp" | "editorAlignCenter" | "editorAlignLeft" | "editorAlignRight" | "editorBold" | "editorChecklist" | "editorCodeBlock" | "editorComment" | "editorHeading" | "editorItalic" | "editorLink" | "editorOrderedList" | "editorRedo" | "editorStrike" | "editorTable" | "editorUnderline" | "editorUndo" | "editorUnorderedList" | "emsApp" | "exportAction" | "eyeClosed" | "faceHappy" | "faceNeutral" | "faceSad" | "filebeatApp" | "fleetApp" | "folderCheck" | "folderClosed" | "folderExclamation" | "folderOpen" | "fullScreen" | "gisApp" | "grabHorizontal" | "graphApp" | "grokApp" | "heartbeatApp" | "importAction" | "indexClose" | "indexEdit" | "indexFlush" | "indexManagementApp" | "indexMapping" | "indexOpen" | "indexPatternApp" | "indexRollupApp" | "indexRuntime" | "indexSettings" | "kqlField" | "kqlFunction" | "kqlOperand" | "kqlSelector" | "kqlValue" | "lensApp" | "listAdd" | "logoAWS" | "logoAWSMono" | "logoAerospike" | "logoApache" | "logoAppSearch" | "logoAzure" | "logoAzureMono" | "logoBeats" | "logoBusinessAnalytics" | "logoCeph" | "logoCloud" | "logoCloudEnterprise" | "logoCode" | "logoCodesandbox" | "logoCouchbase" | "logoDocker" | "logoDropwizard" | "logoElastic" | "logoElasticStack" | "logoElasticsearch" | "logoEnterpriseSearch" | "logoEtcd" | "logoGCP" | "logoGCPMono" | "logoGithub" | "logoGmail" | "logoGolang" | "logoGoogleG" | "logoHAproxy" | "logoIBM" | "logoIBMMono" | "logoKafka" | "logoKibana" | "logoKubernetes" | "logoLogging" | "logoLogstash" | "logoMaps" | "logoMemcached" | "logoMetrics" | "logoMongodb" | "logoMySQL" | "logoNginx" | "logoObservability" | "logoOsquery" | "logoPhp" | "logoPostgres" | "logoPrometheus" | "logoRabbitmq" | "logoRedis" | "logoSecurity" | "logoSiteSearch" | "logoSketch" | "logoSlack" | "logoUptime" | "logoVulnerabilityManagement" | "logoWebhook" | "logoWindows" | "logoWorkplaceSearch" | "logsApp" | "logstashFilter" | "logstashIf" | "logstashInput" | "logstashOutput" | "logstashQueue" | "machineLearningApp" | "managementApp" | "mapMarker" | "metricbeatApp" | "metricsApp" | "minusInCircle" | "minusInCircleFilled" | "monitoringApp" | "newChat" | "notebookApp" | "outlierDetectionJob" | "packetbeatApp" | "paperClip" | "pinFilled" | "pipelineApp" | "plusInCircle" | "plusInCircleFilled" | "questionInCircle" | "recentlyViewedApp" | "regressionJob" | "reportingApp" | "returnKey" | "savedObjectsApp" | "searchProfilerApp" | "securityAnalyticsApp" | "securityApp" | "sortDown" | "sortUp" | "spacesApp" | "sqlApp" | "starEmpty" | "starEmptySpace" | "starFilled" | "starFilledSpace" | "starMinusEmpty" | "starMinusFilled" | "stopFilled" | "stopSlash" | "swatchInput" | "tableDensityCompact" | "tableDensityExpanded" | "tableDensityNormal" | "timelionApp" | "upgradeAssistantApp" | "uptimeApp" | "usersRolesApp" | "visArea" | "visAreaStacked" | "visBarHorizontal" | "visBarHorizontalStacked" | "visBarVertical" | "visBarVerticalStacked" | "visGauge" | "visGoal" | "visLine" | "visMapCoordinate" | "visMapRegion" | "visMetric" | "visPie" | "visTable" | "visTagCloud" | "visText" | "visTimelion" | "visVega" | "visVisualBuilder" | "visualizeApp" | "vulnerabilityManagementApp" | "watchesApp" | "workplaceSearchApp" | "tokenDenseVector" | undefined) => void;
2788
+ export const clearIconComponentCache: (iconType?: "string" | "number" | "function" | "search" | "link" | "at" | "article" | "menu" | "filter" | "image" | "stop" | "key" | "temperature" | "color" | "email" | "list" | "user" | "alert" | "document" | "grid" | "copy" | "scale" | "wordWrap" | "grab" | "help" | "invert" | "spaces" | "dot" | "warning" | "error" | "download" | "push" | "cut" | "pause" | "play" | "accessibility" | "aggregate" | "analyzeEvent" | "annotation" | "apps" | "arrowStart" | "arrowEnd" | "asterisk" | "beaker" | "bell" | "bellSlash" | "beta" | "bolt" | "branch" | "branchUser" | "broom" | "brush" | "bug" | "bullseye" | "calendar" | "check" | "checkInCircleFilled" | "cheer" | "clock" | "cloudDrizzle" | "cloudStormy" | "cloudSunny" | "cluster" | "compute" | "console" | "container" | "continuityAbove" | "continuityAboveBelow" | "continuityBelow" | "continuityWithin" | "cross" | "crosshairs" | "currency" | "database" | "desktop" | "diff" | "discuss" | "documentEdit" | "documentation" | "documents" | "dotInCircle" | "doubleArrowLeft" | "doubleArrowRight" | "editorDistributeHorizontal" | "editorDistributeVertical" | "editorItemAlignBottom" | "editorItemAlignCenter" | "editorItemAlignLeft" | "editorItemAlignMiddle" | "editorItemAlignRight" | "editorItemAlignTop" | "editorPositionBottomLeft" | "editorPositionBottomRight" | "editorPositionTopLeft" | "editorPositionTopRight" | "empty" | "endpoint" | "eql" | "eraser" | "esqlVis" | "exit" | "expand" | "expandMini" | "eye" | "filterExclude" | "filterIgnore" | "filterInclude" | "filterInCircle" | "flag" | "fold" | "frameNext" | "framePrevious" | "fullScreenExit" | "gear" | "glasses" | "globe" | "grabOmnidirectional" | "gradient" | "heart" | "heatmap" | "home" | "iInCircle" | "index" | "indexTemporary" | "infinity" | "inputOutput" | "inspect" | "ip" | "keyboard" | "kubernetesNode" | "kubernetesPod" | "launch" | "layers" | "lettering" | "lineDashed" | "lineDotted" | "lineSolid" | "lock" | "lockOpen" | "magnet" | "magnifyWithExclamation" | "magnifyWithMinus" | "magnifyWithPlus" | "memory" | "menuDown" | "menuLeft" | "menuRight" | "menuUp" | "merge" | "minimize" | "minus" | "mobile" | "moon" | "namespace" | "nested" | "node" | "offline" | "online" | "package" | "pageSelect" | "pagesSelect" | "palette" | "partial" | "payment" | "pencil" | "percent" | "pin" | "pipeBreaks" | "pipeNoBreaks" | "pivot" | "playFilled" | "plus" | "popout" | "quote" | "refresh" | "reporter" | "save" | "securitySignal" | "securitySignalDetected" | "securitySignalResolved" | "sessionViewer" | "shard" | "share" | "snowflake" | "sortAscending" | "sortDescending" | "sortLeft" | "sortRight" | "sortable" | "sparkles" | "starPlusEmpty" | "starPlusFilled" | "stats" | "storage" | "submodule" | "sun" | "symlink" | "tableOfContents" | "tag" | "tear" | "timeline" | "timelineWithArrow" | "timeRefresh" | "timeslider" | "training" | "transitionLeftIn" | "transitionLeftOut" | "transitionTopIn" | "transitionTopOut" | "trash" | "unfold" | "unlink" | "userAvatar" | "users" | "vector" | "videoPlayer" | "wordWrapDisabled" | "wrench" | "tokenAlias" | "tokenAnnotation" | "tokenArray" | "tokenBinary" | "tokenBoolean" | "tokenClass" | "tokenCompletionSuggester" | "tokenConstant" | "tokenDate" | "tokenElement" | "tokenEnum" | "tokenEnumMember" | "tokenEvent" | "tokenException" | "tokenField" | "tokenFile" | "tokenFlattened" | "tokenFunction" | "tokenGeo" | "tokenHistogram" | "tokenInterface" | "tokenIP" | "tokenJoin" | "tokenKey" | "tokenKeyword" | "tokenMethod" | "tokenMetricCounter" | "tokenMetricGauge" | "tokenModule" | "tokenNamespace" | "tokenNested" | "tokenNull" | "tokenNumber" | "tokenObject" | "tokenOperator" | "tokenPackage" | "tokenParameter" | "tokenPercolator" | "tokenProperty" | "tokenRange" | "tokenRankFeature" | "tokenRankFeatures" | "tokenRepo" | "tokenSearchType" | "tokenShape" | "tokenString" | "tokenStruct" | "tokenSymbol" | "tokenTag" | "tokenText" | "tokenTokenCount" | "tokenVariable" | "tokenVectorDense" | "tokenVectorSparse" | "addDataApp" | "advancedSettingsApp" | "agentApp" | "apmApp" | "apmTrace" | "appSearchApp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp" | "auditbeatApp" | "boxesHorizontal" | "boxesVertical" | "canvasApp" | "casesApp" | "classificationJob" | "codeApp" | "consoleApp" | "controlsHorizontal" | "controlsVertical" | "copyClipboard" | "createAdvancedJob" | "createMultiMetricJob" | "createPopulationJob" | "createSingleMetricJob" | "crossClusterReplicationApp" | "dashboardApp" | "dataVisualizer" | "devToolsApp" | "discoverApp" | "editorAlignCenter" | "editorAlignLeft" | "editorAlignRight" | "editorBold" | "editorChecklist" | "editorCodeBlock" | "editorComment" | "editorHeading" | "editorItalic" | "editorLink" | "editorOrderedList" | "editorRedo" | "editorStrike" | "editorTable" | "editorUnderline" | "editorUndo" | "editorUnorderedList" | "emsApp" | "exportAction" | "eyeClosed" | "faceHappy" | "faceNeutral" | "faceSad" | "filebeatApp" | "fleetApp" | "folderCheck" | "folderClosed" | "folderExclamation" | "folderOpen" | "fullScreen" | "gisApp" | "grabHorizontal" | "graphApp" | "grokApp" | "heartbeatApp" | "importAction" | "indexClose" | "indexEdit" | "indexFlush" | "indexManagementApp" | "indexMapping" | "indexOpen" | "indexPatternApp" | "indexRollupApp" | "indexRuntime" | "indexSettings" | "kqlField" | "kqlFunction" | "kqlOperand" | "kqlSelector" | "kqlValue" | "lensApp" | "listAdd" | "logoAWS" | "logoAWSMono" | "logoAerospike" | "logoApache" | "logoAppSearch" | "logoAzure" | "logoAzureMono" | "logoBeats" | "logoBusinessAnalytics" | "logoCeph" | "logoCloud" | "logoCloudEnterprise" | "logoCode" | "logoCodesandbox" | "logoCouchbase" | "logoDocker" | "logoDropwizard" | "logoElastic" | "logoElasticStack" | "logoElasticsearch" | "logoEnterpriseSearch" | "logoEtcd" | "logoGCP" | "logoGCPMono" | "logoGithub" | "logoGmail" | "logoGolang" | "logoGoogleG" | "logoHAproxy" | "logoIBM" | "logoIBMMono" | "logoKafka" | "logoKibana" | "logoKubernetes" | "logoLogging" | "logoLogstash" | "logoMaps" | "logoMemcached" | "logoMetrics" | "logoMongodb" | "logoMySQL" | "logoNginx" | "logoObservability" | "logoOsquery" | "logoPhp" | "logoPostgres" | "logoPrometheus" | "logoRabbitmq" | "logoRedis" | "logoSecurity" | "logoSiteSearch" | "logoSketch" | "logoSlack" | "logoUptime" | "logoVulnerabilityManagement" | "logoWebhook" | "logoWindows" | "logoWorkplaceSearch" | "logsApp" | "logstashFilter" | "logstashIf" | "logstashInput" | "logstashOutput" | "logstashQueue" | "machineLearningApp" | "managementApp" | "mapMarker" | "metricbeatApp" | "metricsApp" | "minusInCircle" | "minusInCircleFilled" | "monitoringApp" | "newChat" | "notebookApp" | "outlierDetectionJob" | "packetbeatApp" | "paperClip" | "pinFilled" | "pipelineApp" | "plusInCircle" | "plusInCircleFilled" | "questionInCircle" | "recentlyViewedApp" | "regressionJob" | "reportingApp" | "returnKey" | "savedObjectsApp" | "searchProfilerApp" | "securityAnalyticsApp" | "securityApp" | "sortDown" | "sortUp" | "spacesApp" | "sqlApp" | "starEmpty" | "starEmptySpace" | "starFilled" | "starFilledSpace" | "starMinusEmpty" | "starMinusFilled" | "stopFilled" | "stopSlash" | "swatchInput" | "tableDensityCompact" | "tableDensityExpanded" | "tableDensityNormal" | "timelionApp" | "upgradeAssistantApp" | "uptimeApp" | "usersRolesApp" | "visArea" | "visAreaStacked" | "visBarHorizontal" | "visBarHorizontalStacked" | "visBarVertical" | "visBarVerticalStacked" | "visGauge" | "visGoal" | "visLine" | "visMapCoordinate" | "visMapRegion" | "visMetric" | "visPie" | "visTable" | "visTagCloud" | "visText" | "visTimelion" | "visVega" | "visVisualBuilder" | "visualizeApp" | "vulnerabilityManagementApp" | "watchesApp" | "workplaceSearchApp" | "tokenDenseVector" | undefined) => void;
2672
2789
  export const appendIconComponentCache: (iconTypeToIconComponentMap: {
2673
2790
  [iconType: string]: React.ComponentType<{}>;
2674
2791
  }) => void;
@@ -2689,41 +2806,6 @@ declare module '@elastic/eui/src/components/icon' {
2689
2806
  export type { EuiIconProps, IconColor, IconSize, IconType } from '@elastic/eui/src/components/icon/icon';
2690
2807
  export { EuiIcon, TYPES as ICON_TYPES, SIZES as ICON_SIZES, COLORS as ICON_COLORS, } from '@elastic/eui/src/components/icon/icon';
2691
2808
 
2692
- }
2693
- declare module '@elastic/eui/src/components/form/validatable_control/validatable_control' {
2694
- import { ReactElement, Ref, FunctionComponent } from 'react';
2695
- import { CommonProps } from '@elastic/eui/src/components/common';
2696
- export interface HTMLConstraintValidityElement extends Element {
2697
- setCustomValidity: (error: string) => void;
2698
- }
2699
- export interface ReactElementWithRef extends ReactElement {
2700
- ref?: Ref<HTMLConstraintValidityElement>;
2701
- }
2702
- /**
2703
- * The `EuiValidatableControl` component should be used in scenarios where
2704
- * we can render the validated `<input>` as its direct child.
2705
- */
2706
- export interface EuiValidatableControlProps {
2707
- isInvalid?: boolean;
2708
- children: ReactElementWithRef;
2709
- }
2710
- export const EuiValidatableControl: FunctionComponent<CommonProps & EuiValidatableControlProps>;
2711
- /**
2712
- * The `UseEuiValidatableControl` hook should be used in scenarios where
2713
- * we *cannot* control where the validated `<input>` is rendered (e.g., ReactDatePicker)
2714
- * and instead need to access the input via a ref and pass the element in directly
2715
- */
2716
- export interface UseEuiValidatableControlProps {
2717
- isInvalid?: boolean;
2718
- controlEl: HTMLInputElement | HTMLConstraintValidityElement | null;
2719
- }
2720
- export const useEuiValidatableControl: ({ isInvalid, controlEl, }: UseEuiValidatableControlProps) => void;
2721
-
2722
- }
2723
- declare module '@elastic/eui/src/components/form/validatable_control' {
2724
- export type { EuiValidatableControlProps, UseEuiValidatableControlProps, } from '@elastic/eui/src/components/form/validatable_control/validatable_control';
2725
- export { EuiValidatableControl, useEuiValidatableControl, } from '@elastic/eui/src/components/form/validatable_control/validatable_control';
2726
-
2727
2809
  }
2728
2810
  declare module '@elastic/eui/src/components/context/context' {
2729
2811
  import React, { Context, FunctionComponent, ReactChild, ReactNode } from 'react';
@@ -3016,6 +3098,7 @@ declare module '@elastic/eui/src/components/form/form_control_layout/form_contro
3016
3098
  color?: IconColor;
3017
3099
  ref?: EuiFormControlLayoutCustomIconProps['iconRef'];
3018
3100
  };
3101
+ export const isIconShape: (icon: EuiFormControlLayoutIconsProps['icon']) => icon is IconShape;
3019
3102
  export interface EuiFormControlLayoutIconsProps {
3020
3103
  icon?: IconType | IconShape;
3021
3104
  side?: (typeof ICON_SIDES)[number];
@@ -3151,6 +3234,7 @@ declare module '@elastic/eui/src/components/form/form_control_layout' {
3151
3234
 
3152
3235
  }
3153
3236
  declare module '@elastic/eui/src/components/form/form_control_layout/_num_icons' {
3237
+ import { type EuiFormControlLayoutIconsProps } from '@elastic/eui/src/components/form/form_control_layout/form_control_layout_icons';
3154
3238
  /**
3155
3239
  * The `getFormControlClassNameForIconCount` function helps setup the className appendum
3156
3240
  * depending on the form control's current settings/state.
@@ -3169,16 +3253,16 @@ declare module '@elastic/eui/src/components/form/form_control_layout/_num_icons'
3169
3253
  isInvalid?: boolean;
3170
3254
  isDropdown?: boolean;
3171
3255
  };
3172
- export function getFormControlClassNameForIconCount({ icon, clear, isLoading, isInvalid, isDropdown, }: _EuiFormControlLayoutNumIcons): string | undefined;
3256
+ export const getFormControlClassNameForIconCount: ({ icon, clear, isLoading, isInvalid, isDropdown, }: _EuiFormControlLayoutNumIcons) => string | undefined;
3257
+ export const isRightSideIcon: (icon?: EuiFormControlLayoutIconsProps['icon']) => boolean;
3173
3258
 
3174
3259
  }
3175
3260
  declare module '@elastic/eui/src/components/form/field_number/field_number' {
3176
3261
  import { InputHTMLAttributes, Ref, FunctionComponent } from 'react';
3177
3262
  import { CommonProps } from '@elastic/eui/src/components/common';
3178
- import { IconType } from '@elastic/eui/src/components/icon';
3179
3263
  import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form/form_control_layout';
3180
3264
  export type EuiFieldNumberProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'min' | 'max' | 'readOnly' | 'step'> & CommonProps & {
3181
- icon?: IconType;
3265
+ icon?: EuiFormControlLayoutProps['icon'];
3182
3266
  isInvalid?: boolean;
3183
3267
  /**
3184
3268
  * Expand to fill 100% of the parent.
@@ -5403,7 +5487,7 @@ declare module '@elastic/eui/src/components/popover/popover' {
5403
5487
  /**
5404
5488
  * Minimum distance between the popover and the bounding container;
5405
5489
  * Pass an array of 4 values to adjust each side differently: `[top, right, bottom, left]`
5406
- * Default is 16
5490
+ * @default 16
5407
5491
  */
5408
5492
  buffer?: number | [number, number, number, number];
5409
5493
  /**
@@ -7241,6 +7325,7 @@ declare module '@elastic/eui/src/components/form/range/types' {
7241
7325
  export interface EuiRangeTick {
7242
7326
  value: number;
7243
7327
  label: ReactNode;
7328
+ accessibleLabel?: string;
7244
7329
  }
7245
7330
  export interface EuiRangeLevel extends CommonProps, Pick<_SharedRangeValuesProps, 'min' | 'max'> {
7246
7331
  /**
@@ -7426,6 +7511,7 @@ declare module '@elastic/eui/src/components/form/range/range_slider' {
7426
7511
  onChange?: ChangeEventHandler<HTMLInputElement>;
7427
7512
  thumbColor?: EuiRangeLevel['color'];
7428
7513
  onResize: EuiResizeObserverProps['onResize'];
7514
+ ariaValueText?: string;
7429
7515
  }
7430
7516
  export const EuiRangeSlider: FunctionComponent<EuiRangeSliderProps>;
7431
7517
 
@@ -7625,7 +7711,7 @@ declare module '@elastic/eui/src/components/form/range/range' {
7625
7711
  import React, { Component } from 'react';
7626
7712
  import { WithEuiThemeProps } from '@elastic/eui/src/services';
7627
7713
  import { FormContextValue } from '@elastic/eui/src/components/form/eui_form_context';
7628
- import type { EuiRangeProps } from '@elastic/eui/src/components/form/range/types';
7714
+ import type { EuiRangeProps, EuiRangeTick } from '@elastic/eui/src/components/form/range/types';
7629
7715
  export class EuiRangeClass extends Component<EuiRangeProps & WithEuiThemeProps> {
7630
7716
  static contextType: React.Context<FormContextValue>;
7631
7717
  static defaultProps: {
@@ -7655,6 +7741,7 @@ declare module '@elastic/eui/src/components/form/range/range' {
7655
7741
  onInputFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
7656
7742
  onInputBlur: (e: React.FocusEvent<HTMLInputElement>) => NodeJS.Timeout;
7657
7743
  closePopover: () => void;
7744
+ handleAriaValueText: (ticks: EuiRangeTick[], currentVal: string | number) => string | undefined;
7658
7745
  render(): React.JSX.Element;
7659
7746
  }
7660
7747
  export const EuiRange: React.ForwardRefExoticComponent<Omit<EuiRangeProps, "theme"> & React.RefAttributes<Omit<EuiRangeProps, "theme">>>;
@@ -9156,10 +9243,9 @@ declare module '@elastic/eui/src/components/accordion/accordion_children/accordi
9156
9243
 
9157
9244
  }
9158
9245
  declare module '@elastic/eui/src/components/accordion/accordion_children/accordion_children' {
9159
- import { FunctionComponent, HTMLAttributes, Ref } from 'react';
9246
+ import { FunctionComponent, HTMLAttributes } from 'react';
9160
9247
  import { EuiAccordionProps } from '@elastic/eui/src/components/accordion/accordion'; type _EuiAccordionChildrenProps = HTMLAttributes<HTMLDivElement> & Pick<EuiAccordionProps, 'role' | 'children' | 'paddingSize' | 'isLoading' | 'isLoadingMessage'> & {
9161
9248
  isOpen: boolean;
9162
- accordionChildrenRef: Ref<HTMLDivElement>;
9163
9249
  };
9164
9250
  export const EuiAccordionChildren: FunctionComponent<_EuiAccordionChildrenProps>;
9165
9251
  export {};
@@ -9294,8 +9380,6 @@ declare module '@elastic/eui/src/components/accordion/accordion' {
9294
9380
  };
9295
9381
  get isOpen(): boolean;
9296
9382
  onToggle: () => void;
9297
- accordionChildrenEl: HTMLDivElement | null;
9298
- accordionChildrenRef: (node: HTMLDivElement | null) => void;
9299
9383
  generatedId: string;
9300
9384
  render(): React.JSX.Element;
9301
9385
  }
@@ -11884,8 +11968,9 @@ declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav
11884
11968
  }
11885
11969
  declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover' {
11886
11970
  import { FunctionComponent } from 'react';
11971
+ import { type EuiPopoverProps } from '@elastic/eui/src/components/popover';
11887
11972
  import { EuiCollapsibleNavItemProps } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item';
11888
- export const EuiCollapsedNavPopover: FunctionComponent<Omit<EuiCollapsibleNavItemProps, 'isCollapsible' | 'accordionProps' | 'href' | 'linkProps'>>;
11973
+ export const EuiCollapsedNavPopover: FunctionComponent<Omit<EuiCollapsibleNavItemProps, 'isCollapsible' | 'accordionProps' | 'href' | 'linkProps'> & Partial<EuiPopoverProps>>;
11889
11974
 
11890
11975
  }
11891
11976
  declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item' {
@@ -12085,1359 +12170,1415 @@ declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav
12085
12170
  export {};
12086
12171
 
12087
12172
  }
12088
- declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.styles' {
12089
- import { UseEuiTheme } from '@elastic/eui/src/services';
12090
- export const euiCollapsibleNavGroupStyles: (euiThemeContext: UseEuiTheme) => {
12091
- euiCollapsibleNavGroup: import("@emotion/utils").SerializedStyles;
12092
- isWrapper: import("@emotion/utils").SerializedStyles;
12093
- euiCollapsibleNavGroup__title: import("@emotion/utils").SerializedStyles;
12094
- };
12173
+ declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item' {
12174
+ export type { EuiCollapsibleNavItemProps, EuiCollapsibleNavSubItemProps, } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item';
12175
+ export { EuiCollapsibleNavItem } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item';
12095
12176
 
12096
12177
  }
12097
- declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group' {
12098
- import { FunctionComponent, HTMLAttributes } from 'react';
12099
- import { CommonProps } from '@elastic/eui/src/components/common';
12100
- import { type EuiCollapsibleNavItemProps, type _SharedEuiCollapsibleNavItemProps } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item';
12101
- export type EuiCollapsibleNavGroupProps = _SharedEuiCollapsibleNavItemProps & Pick<EuiCollapsibleNavItemProps, 'title' | 'titleElement' | 'icon' | 'iconProps'> & Required<Pick<EuiCollapsibleNavItemProps, 'items'>> & {
12102
- /**
12103
- * Optional props to pass to the wrapping div
12104
- */
12105
- wrapperProps?: HTMLAttributes<HTMLDivElement> & CommonProps;
12178
+ declare module '@elastic/eui/src/components/list_group/list_group_item_extra_action.styles' {
12179
+ import { UseEuiTheme } from '@elastic/eui/src/services';
12180
+ export const euiListGroupItemExtraActionStyles: ({ euiTheme, }: UseEuiTheme) => {
12181
+ euiListGroupItemExtraAction: import("@emotion/utils").SerializedStyles;
12182
+ hoverStyles: import("@emotion/utils").SerializedStyles;
12183
+ alwaysShow: import("@emotion/utils").SerializedStyles;
12106
12184
  };
12107
- /**
12108
- * This component should only ever be used as a **top-level component**, and not as a sub-item.
12109
- * It also should **not** be used in the nav footer.
12110
- */
12111
- export const EuiCollapsibleNavGroup: FunctionComponent<EuiCollapsibleNavGroupProps>;
12112
12185
 
12113
12186
  }
12114
- declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_group' {
12115
- export { EuiCollapsibleNavGroup } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group';
12187
+ declare module '@elastic/eui/src/components/list_group/list_group_item_extra_action' {
12188
+ import { FunctionComponent } from 'react';
12189
+ import { EuiButtonIconPropsForButton } from '@elastic/eui/src/components/button';
12190
+ export type EuiListGroupItemExtraActionProps = {
12191
+ alwaysShow?: boolean;
12192
+ } & EuiButtonIconPropsForButton; type _FromEuiListGroupItem = {
12193
+ parentIsDisabled?: boolean;
12194
+ };
12195
+ export const EuiListGroupItemExtraAction: FunctionComponent<EuiListGroupItemExtraActionProps & _FromEuiListGroupItem>;
12196
+ export {};
12116
12197
 
12117
12198
  }
12118
- declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item' {
12119
- export type { EuiCollapsibleNavItemProps, EuiCollapsibleNavSubItemProps, } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item';
12120
- export { EuiCollapsibleNavItem } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item';
12199
+ declare module '@elastic/eui/src/components/list_group/list_group_item.styles' {
12200
+ import { UseEuiTheme } from '@elastic/eui/src/services';
12201
+ export const euiListGroupItemStyles: (euiThemeContext: UseEuiTheme) => {
12202
+ euiListGroupItem: import("@emotion/utils").SerializedStyles;
12203
+ xs: import("@emotion/utils").SerializedStyles;
12204
+ s: import("@emotion/utils").SerializedStyles;
12205
+ m: import("@emotion/utils").SerializedStyles;
12206
+ l: import("@emotion/utils").SerializedStyles;
12207
+ colors: {
12208
+ isActive: {
12209
+ primary: import("@emotion/utils").SerializedStyles;
12210
+ text: import("@emotion/utils").SerializedStyles;
12211
+ subdued: import("@emotion/utils").SerializedStyles;
12212
+ };
12213
+ isClickable: {
12214
+ primary: import("@emotion/utils").SerializedStyles;
12215
+ text: import("@emotion/utils").SerializedStyles;
12216
+ subdued: import("@emotion/utils").SerializedStyles;
12217
+ };
12218
+ };
12219
+ };
12220
+ export const euiListGroupItemInnerStyles: (euiThemeContext: UseEuiTheme) => {
12221
+ euiListGroupItem__inner: import("@emotion/utils").SerializedStyles;
12222
+ xs: import("@emotion/utils").SerializedStyles;
12223
+ s: import("@emotion/utils").SerializedStyles;
12224
+ m: import("@emotion/utils").SerializedStyles;
12225
+ l: import("@emotion/utils").SerializedStyles;
12226
+ primary: import("@emotion/utils").SerializedStyles;
12227
+ text: import("@emotion/utils").SerializedStyles;
12228
+ subdued: import("@emotion/utils").SerializedStyles;
12229
+ ghost: import("@emotion/utils").SerializedStyles;
12230
+ isDisabled: import("@emotion/utils").SerializedStyles;
12231
+ isActive: import("@emotion/utils").SerializedStyles;
12232
+ isClickable: import("@emotion/utils").SerializedStyles;
12233
+ externalIcon: import("@emotion/utils").SerializedStyles;
12234
+ };
12235
+ export const euiListGroupItemLabelStyles: () => {
12236
+ euiListGroupItem__label: import("@emotion/utils").SerializedStyles;
12237
+ truncate: import("@emotion/utils").SerializedStyles;
12238
+ wrapText: import("@emotion/utils").SerializedStyles;
12239
+ };
12240
+ export const euiListGroupItemIconStyles: ({ euiTheme }: UseEuiTheme) => {
12241
+ euiListGroupItem__icon: import("@emotion/utils").SerializedStyles;
12242
+ };
12243
+ export const euiListGroupItemTooltipStyles: () => {
12244
+ euiListGroupItem__tooltip: import("@emotion/utils").SerializedStyles;
12245
+ };
12121
12246
 
12122
12247
  }
12123
- declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_beta' {
12124
- import React, { HTMLAttributes, ReactNode } from 'react';
12125
- import { CommonProps } from '@elastic/eui/src/components/common';
12126
- import { EuiFlyoutProps } from '@elastic/eui/src/components/flyout';
12127
- export type EuiCollapsibleNavBetaProps = CommonProps & HTMLAttributes<HTMLElement> & Pick<EuiFlyoutProps, // Extend only specific flyout props - EuiCollapsibleNav is much less customizable than EuiFlyout
12128
- // Extend only specific flyout props - EuiCollapsibleNav is much less customizable than EuiFlyout
12129
- 'side' | 'focusTrapProps' | 'includeFixedHeadersInFocusTrap'> & {
12248
+ declare module '@elastic/eui/src/components/list_group/list_group_item' {
12249
+ import React, { HTMLAttributes, AnchorHTMLAttributes, ButtonHTMLAttributes, ReactNode, ReactElement, MouseEventHandler, FunctionComponent } from 'react';
12250
+ import { IconType, EuiIconProps } from '@elastic/eui/src/components/icon';
12251
+ import { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip';
12252
+ import { ExclusiveUnion, CommonProps } from '@elastic/eui/src/components/common';
12253
+ import { EuiListGroupItemExtraActionProps } from '@elastic/eui/src/components/list_group/list_group_item_extra_action';
12254
+ export const SIZES: readonly ["xs", "s", "m", "l"];
12255
+ export type EuiListGroupItemSize = (typeof SIZES)[number];
12256
+ export const COLORS: readonly ["primary", "text", "subdued"];
12257
+ export type EuiListGroupItemColor = (typeof COLORS)[number];
12258
+ export type EuiListGroupItemProps = CommonProps & Omit<ExclusiveUnion<ExclusiveUnion<ButtonHTMLAttributes<HTMLButtonElement>, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>>, HTMLAttributes<HTMLSpanElement>>, 'onClick' | 'color' | 'target' | 'rel'> & {
12130
12259
  /**
12131
- * ReactNode(s) to render as navigation flyout content, typically `EuiCollapsibleNavBeta.Item`s.
12132
- * You will likely want to use `EuiCollapsibleNavBeta.Body` and `EuiCollapsibleNavBeta.Footer`
12133
- * for organization.
12260
+ * Size of the label text
12134
12261
  */
12135
- children?: ReactNode;
12262
+ size?: EuiListGroupItemSize;
12136
12263
  /**
12137
- * Whether the navigation flyout should default to initially collapsed or expanded
12264
+ * By default the item will get the color `text`.
12265
+ * You can customize the color of the item by passing a color name.
12138
12266
  */
12139
- initialIsCollapsed?: boolean;
12267
+ color?: EuiListGroupItemColor;
12140
12268
  /**
12141
- * Optional callback that fires when the user toggles the nav between
12142
- * collapsed and uncollapsed states
12269
+ * Content to be displayed in the list item
12143
12270
  */
12144
- onCollapseToggle?: (isCollapsed: boolean) => void;
12271
+ label: ReactNode;
12145
12272
  /**
12146
- * Defaults to 248px wide. The navigation width determines behavior at
12147
- * various responsive breakpoints.
12148
- *
12149
- * At larger screen sizes (at least 3x the width of the nav), the nav will
12150
- * be able to be toggled between a docked full width nav and a collapsed
12151
- * side bar that only shows the icon of each item.
12152
- *
12153
- * At under 3 times the width of the nav, the behavior will lose the collapsed
12154
- * side bar behavior, and switch from a docked flyout to an overlay flyout only.
12155
- *
12156
- * If the page is under 1.5 times the width of the nav, the overlay will
12157
- * take up the full width of the page.
12273
+ * Apply styles indicating an item is active
12158
12274
  */
12159
- width?: number;
12275
+ isActive?: boolean;
12160
12276
  /**
12161
- * Overlay flyouts are considered dialogs, and dialogs must have a label.
12162
- * By default, a label of `Site menu` will be applied.
12163
- *
12164
- * If your usage of this component is not actually for site-wide navigation,
12165
- * please set your own `aria-label` or `aria-labelledby`.
12166
- *
12167
- * @default 'Site menu'
12277
+ * Apply styles indicating an item is disabled
12168
12278
  */
12169
- 'aria-label'?: string;
12170
- };
12171
- export const EuiCollapsibleNavBeta: React.FunctionComponent<EuiCollapsibleNavBetaProps> & {
12172
- Body: import ("@elastic/eui/src/components/flyout").EuiFlyoutBodyProps;
12173
- Footer: import ("@elastic/eui/src/components/flyout").EuiFlyoutFooterProps;
12174
- Group: React.FunctionComponent<import ("@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group").EuiCollapsibleNavGroupProps>;
12175
- Item: React.FunctionComponent<import ("@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item").EuiCollapsibleNavItemProps>;
12176
- };
12177
-
12178
- }
12179
- declare module '@elastic/eui/src/components/collapsible_nav_beta' {
12180
- /**
12181
- * NOTE: This is currently still a beta component, being exported for Kibana
12182
- * development usage. It is not yet fully documented or supported.
12183
- */
12184
- export type { EuiCollapsibleNavBetaProps } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_beta';
12185
- export { EuiCollapsibleNavBeta } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_beta';
12186
- export type { EuiCollapsibleNavItemProps, EuiCollapsibleNavSubItemProps, } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item';
12187
- export { EuiCollapsibleNavItem } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item';
12188
-
12189
- }
12190
- declare module '@elastic/eui/src/components/color_picker/color_picker_swatch' {
12191
- import React, { ButtonHTMLAttributes } from 'react';
12192
- import { CommonProps } from '@elastic/eui/src/components/common';
12193
- export type EuiColorPickerSwatchProps = CommonProps & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'> & {
12194
- color?: string;
12195
- };
12196
- export const EuiColorPickerSwatch: React.ForwardRefExoticComponent<CommonProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "color"> & {
12197
- color?: string | undefined;
12198
- } & React.RefAttributes<HTMLButtonElement>>;
12199
-
12200
- }
12201
- declare module '@elastic/eui/src/components/color_picker/hue' {
12202
- import { InputHTMLAttributes, FunctionComponent } from 'react';
12203
- import { CommonProps } from '@elastic/eui/src/components/common';
12204
- export type EuiHueProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> & CommonProps & {
12205
- hex?: string;
12206
- hue?: string | number;
12207
- onChange: (hue: number) => void;
12279
+ isDisabled?: boolean;
12280
+ /**
12281
+ * Make the list item label a link.
12282
+ * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
12283
+ */
12284
+ href?: string;
12285
+ rel?: string;
12286
+ target?: string;
12287
+ /**
12288
+ * Set to true to show an icon indicating that it is an external link;
12289
+ * Defaults to true if `target="_blank"`
12290
+ */
12291
+ external?: boolean;
12292
+ /**
12293
+ * Adds `EuiIcon` of `EuiIcon.type`
12294
+ */
12295
+ iconType?: IconType;
12296
+ /**
12297
+ * Further extend the props applied to EuiIcon
12298
+ */
12299
+ iconProps?: Omit<EuiIconProps, 'type'>;
12300
+ /**
12301
+ * Custom node to pass as the icon. Cannot be used in conjunction
12302
+ * with `iconType` and `iconProps`.
12303
+ */
12304
+ icon?: ReactElement;
12305
+ /**
12306
+ * Display tooltip on list item
12307
+ */
12308
+ showToolTip?: boolean;
12309
+ /**
12310
+ * An object of #EuiListGroupItemExtraAction props.
12311
+ * Adds an `EuiButtonIcon` to the right side of the item; `iconType` is required;
12312
+ * pass `alwaysShow` if you don't want the default behavior of only showing on hover
12313
+ */
12314
+ extraAction?: EuiListGroupItemExtraActionProps;
12315
+ /**
12316
+ * Make the list item label a button.
12317
+ * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
12318
+ */
12319
+ onClick?: MouseEventHandler<HTMLButtonElement>;
12320
+ /**
12321
+ * Allow link text to wrap
12322
+ */
12323
+ wrapText?: boolean;
12324
+ /**
12325
+ * Pass-through ref reference specifically for targeting
12326
+ * instances where the item content is rendered as a `button`
12327
+ */
12328
+ buttonRef?: React.Ref<HTMLButtonElement>;
12329
+ /**
12330
+ * Text to be displayed in the tooltip when `showToolTip` is true.
12331
+ * By default the text will be same as the label text.
12332
+ */
12333
+ toolTipText?: string;
12334
+ /**
12335
+ * Allows customizing the tooltip shown when `showToolTip` is true.
12336
+ * Accepts any props that [EuiToolTip](/#/display/tooltip) accepts.
12337
+ */
12338
+ toolTipProps?: Partial<EuiToolTipProps>;
12208
12339
  };
12209
- export const EuiHue: FunctionComponent<EuiHueProps>;
12340
+ export const EuiListGroupItem: FunctionComponent<EuiListGroupItemProps>;
12210
12341
 
12211
12342
  }
12212
- declare module '@elastic/eui/src/components/color_picker/saturation' {
12213
- import React, { HTMLAttributes } from 'react';
12214
- import { ColorSpaces } from 'chroma-js';
12215
- import { CommonProps } from '@elastic/eui/src/components/common';
12216
- export type SaturationClientRect = Pick<ClientRect, 'left' | 'top' | 'width' | 'height'>;
12217
- export type SaturationPosition = Pick<SaturationClientRect, 'left' | 'top'>;
12218
- interface HTMLDivElementOverrides {
12219
- color?: ColorSpaces['hsv'];
12220
- onChange: (color: ColorSpaces['hsv']) => void;
12221
- }
12222
- export type EuiSaturationProps = Omit<HTMLAttributes<HTMLDivElement>, keyof HTMLDivElementOverrides> & CommonProps & HTMLDivElementOverrides & {
12223
- hex?: string;
12343
+ declare module '@elastic/eui/src/components/list_group/list_group.styles' {
12344
+ import { UseEuiTheme } from '@elastic/eui/src/services';
12345
+ export const euiListGroupStyles: (euiThemeContext: UseEuiTheme) => {
12346
+ euiListGroup: import("@emotion/utils").SerializedStyles;
12347
+ flush: import("@emotion/utils").SerializedStyles;
12348
+ bordered: import("@emotion/utils").SerializedStyles;
12349
+ maxWidthDefault: import("@emotion/utils").SerializedStyles;
12350
+ none: import("@emotion/utils").SerializedStyles;
12351
+ s: import("@emotion/utils").SerializedStyles;
12352
+ m: import("@emotion/utils").SerializedStyles;
12224
12353
  };
12225
- export const EuiSaturation: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, keyof HTMLDivElementOverrides> & CommonProps & HTMLDivElementOverrides & {
12226
- hex?: string | undefined;
12227
- } & React.RefAttributes<HTMLDivElement>>;
12228
- export {};
12229
12354
 
12230
12355
  }
12231
- declare module '@elastic/eui/src/components/color_picker/color_picker' {
12232
- import { FunctionComponent, HTMLAttributes, ReactElement } from 'react';
12233
- import { ColorSpaces } from 'chroma-js';
12356
+ declare module '@elastic/eui/src/components/list_group/list_group' {
12357
+ import { FunctionComponent, HTMLAttributes, CSSProperties } from 'react';
12358
+ import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
12234
12359
  import { CommonProps } from '@elastic/eui/src/components/common';
12235
- import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form'; type EuiColorPickerDisplay = 'default' | 'inline'; type EuiColorPickerMode = 'default' | 'swatch' | 'picker' | 'secondaryInput';
12236
- export interface EuiColorPickerOutput {
12237
- rgba: ColorSpaces['rgba'];
12238
- hex: string;
12239
- isValid: boolean;
12240
- }
12241
- interface HTMLDivElementOverrides {
12360
+ export const GUTTER_SIZES: readonly ["none", "s", "m"];
12361
+ export type EuiListGroupGutterSize = (typeof GUTTER_SIZES)[number];
12362
+ export type EuiListGroupProps = CommonProps & Omit<HTMLAttributes<HTMLUListElement>, 'color'> & {
12242
12363
  /**
12243
- * hex (string)
12244
- * RGB (as comma separated string)
12245
- * RGBa (as comma separated string)
12246
- * Empty string will register as 'transparent'
12364
+ * Add a border to the list container
12247
12365
  */
12248
- color?: string | null;
12249
- onBlur?: () => void;
12366
+ bordered?: boolean;
12250
12367
  /**
12251
- * text (string, as entered or selected)
12252
- * hex (8-digit hex if alpha < 1, otherwise 6-digit hex)
12253
- * RGBa (as array; values of NaN if color is invalid)
12254
- * isValid (boolean signifying if the input text is a valid color)
12368
+ * Remove container padding, stretching list items to the edges
12255
12369
  */
12256
- onChange: (text: string, output: EuiColorPickerOutput) => void;
12257
- onFocus?: () => void;
12258
- }
12259
- export interface EuiColorPickerProps extends CommonProps, Omit<HTMLAttributes<HTMLDivElement>, keyof HTMLDivElementOverrides>, HTMLDivElementOverrides {
12370
+ flush?: boolean;
12260
12371
  /**
12261
- * Custom element to use instead of text input
12372
+ * Spacing between list items
12262
12373
  */
12263
- button?: ReactElement;
12374
+ gutterSize?: EuiListGroupGutterSize;
12264
12375
  /**
12265
- * Use the compressed style for EuiFieldText
12376
+ * Items to display in this group. See #EuiListGroupItem
12266
12377
  */
12267
- compressed?: boolean;
12268
- display?: EuiColorPickerDisplay;
12269
- disabled?: boolean;
12270
- fullWidth?: boolean;
12271
- id?: string;
12378
+ listItems?: EuiListGroupItemProps[];
12272
12379
  /**
12273
- * Custom validation flag
12380
+ * Change the colors of all `listItems` at once
12381
+ * @default text
12274
12382
  */
12275
- isInvalid?: boolean;
12383
+ color?: EuiListGroupItemProps['color'];
12276
12384
  /**
12277
- * Choose between swatches with gradient picker (default), swatches only, gradient picker only, or secondary input only.
12385
+ * Change the size of all `listItems` at once
12386
+ * @default m
12278
12387
  */
12279
- mode?: EuiColorPickerMode;
12388
+ size?: EuiListGroupItemProps['size'];
12280
12389
  /**
12281
- * Custom z-index for the popover
12390
+ * Sets the max-width of the page.
12391
+ * Set to `true` to use the default size,
12392
+ * set to `false` to not restrict the width,
12393
+ * or set to a number/string for a custom CSS width/measurement.
12282
12394
  */
12283
- popoverZIndex?: number;
12284
- readOnly?: boolean;
12395
+ maxWidth?: boolean | CSSProperties['maxWidth'];
12285
12396
  /**
12286
- * Array of hex strings (3 or 6 character) to use as swatch options. Defaults to EUI visualization colors
12397
+ * Display tooltips on all list items
12287
12398
  */
12288
- swatches?: string[];
12399
+ showToolTips?: boolean;
12289
12400
  /**
12290
- * Creates an input group with element(s) coming before input. It only shows when the `display` is set to `default`.
12291
- * `string` | `ReactElement` or an array of these
12401
+ * Allow link text to wrap vs truncated
12292
12402
  */
12293
- prepend?: EuiFormControlLayoutProps['prepend'];
12403
+ wrapText?: boolean;
12404
+ ariaLabelledby?: string;
12405
+ };
12406
+ export const EuiListGroup: FunctionComponent<EuiListGroupProps>;
12407
+
12408
+ }
12409
+ declare module '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group.styles' {
12410
+ import { UseEuiTheme } from '@elastic/eui/src/services';
12411
+ export const euiPinnableListGroupItemExtraActionStyles: ({ euiTheme, }: UseEuiTheme) => {
12412
+ euiPinnableListGroup__itemExtraAction: import("@emotion/utils").SerializedStyles;
12413
+ pinned: import("@emotion/utils").SerializedStyles;
12414
+ };
12415
+
12416
+ }
12417
+ declare module '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group' {
12418
+ import { FunctionComponent } from 'react';
12419
+ import { CommonProps } from '@elastic/eui/src/components/common';
12420
+ import { EuiListGroupProps } from '@elastic/eui/src/components/list_group/list_group';
12421
+ import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
12422
+ export type EuiPinnableListGroupItemProps = EuiListGroupItemProps & {
12294
12423
  /**
12295
- * Creates an input group with element(s) coming after input. It only shows when the `display` is set to `default`.
12296
- * `string` | `ReactElement` or an array of these
12424
+ * Saves the pinned status and changes the visibility of the pin icon
12297
12425
  */
12298
- append?: EuiFormControlLayoutProps['append'];
12426
+ pinned?: boolean;
12299
12427
  /**
12300
- * Whether to render the alpha channel (opacity) value range slider.
12428
+ * Passing `onPinClick` to the full EuiPinnableListGroup, will make every item pinnable.
12429
+ * Set this property to `false` to turn off individual item pinnability
12301
12430
  */
12302
- showAlpha?: boolean;
12431
+ pinnable?: boolean;
12432
+ };
12433
+ export interface EuiPinnableListGroupProps extends CommonProps, EuiListGroupProps {
12303
12434
  /**
12304
- * Will format the text input in the provided format when possible (hue and saturation selection)
12305
- * Exceptions: Manual text input and swatches will display as-authored
12306
- * Default is to display the last format entered by the user
12435
+ * Extends `EuiListGroupItemProps`, at the very least, expecting a `label`.
12436
+ * See #EuiPinnableListGroupItem
12307
12437
  */
12308
- format?: 'hex' | 'rgba';
12438
+ listItems: EuiPinnableListGroupItemProps[];
12309
12439
  /**
12310
- * Placement option for a secondary color value input.
12440
+ * Shows the pin icon and calls this function on click.
12441
+ * Returns `item: EuiPinnableListGroupItemProps`
12311
12442
  */
12312
- secondaryInputDisplay?: 'top' | 'bottom' | 'none';
12443
+ onPinClick: (item: EuiPinnableListGroupItemProps) => void;
12313
12444
  /**
12314
- * Add a button to the primary input to clear its value.
12445
+ * The pin icon needs a title/aria-label for accessibility.
12446
+ * It is a function that passes the item back and must return a string `(item) => string`.
12447
+ * Default is `"Pin item"`
12315
12448
  */
12316
- isClearable?: boolean;
12449
+ pinTitle?: (item: EuiPinnableListGroupItemProps) => string;
12317
12450
  /**
12318
- * Text to replace the default 'Transparent' placeholder for unset color values.
12451
+ * The unpin icon needs a title/aria-label for accessibility.
12452
+ * It is a function that passes the item back and must return a string `(item) => string`.
12453
+ * Default is `"Unpin item"`
12319
12454
  */
12320
- placeholder?: string;
12455
+ unpinTitle?: (item: EuiPinnableListGroupItemProps) => string;
12321
12456
  }
12322
- export const EuiColorPicker: FunctionComponent<EuiColorPickerProps>;
12323
- export {};
12457
+ export const EuiPinnableListGroup: FunctionComponent<EuiPinnableListGroupProps>;
12324
12458
 
12325
12459
  }
12326
- declare module '@elastic/eui/src/components/color_picker' {
12327
- export type { EuiColorPickerProps } from '@elastic/eui/src/components/color_picker/color_picker';
12328
- export { EuiColorPicker } from '@elastic/eui/src/components/color_picker/color_picker';
12329
- export type { EuiColorPickerSwatchProps } from '@elastic/eui/src/components/color_picker/color_picker_swatch';
12330
- export { EuiColorPickerSwatch } from '@elastic/eui/src/components/color_picker/color_picker_swatch';
12331
- export type { EuiColorPalettePickerProps, EuiColorPalettePickerPaletteProps, } from '@elastic/eui/src/components/color_picker/color_palette_picker';
12332
- export { EuiColorPalettePicker } from '@elastic/eui/src/components/color_picker/color_palette_picker';
12333
- export type { EuiColorPaletteDisplayProps } from '@elastic/eui/src/components/color_picker/color_palette_display';
12334
- export { EuiColorPaletteDisplay } from '@elastic/eui/src/components/color_picker/color_palette_display';
12460
+ declare module '@elastic/eui/src/components/list_group/pinnable_list_group' {
12461
+ export type { EuiPinnableListGroupProps, EuiPinnableListGroupItemProps, } from '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group';
12462
+ export { EuiPinnableListGroup } from '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group';
12335
12463
 
12336
12464
  }
12337
- declare module '@elastic/eui/src/components/combo_box/types' {
12338
- import { ButtonHTMLAttributes, ReactNode } from 'react';
12339
- import { CommonProps } from '@elastic/eui/src/components/common';
12340
- import type { _EuiComboBoxProps } from '@elastic/eui/src/components/combo_box/combo_box';
12341
- export interface EuiComboBoxOptionOption<T = string | number | string[] | undefined> extends CommonProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
12342
- isGroupLabelOption?: boolean;
12343
- label: string;
12344
- key?: string;
12345
- options?: Array<EuiComboBoxOptionOption<T>>;
12346
- value?: T;
12347
- prepend?: ReactNode;
12348
- append?: ReactNode;
12349
- truncationProps?: _EuiComboBoxProps<T>['truncationProps'];
12350
- }
12351
- export type OptionHandler<T> = (option: EuiComboBoxOptionOption<T>) => void;
12352
- export type RefInstance<T> = T | null;
12353
- export interface EuiComboBoxSingleSelectionShape {
12354
- asPlainText?: boolean;
12355
- }
12356
-
12357
- }
12358
- declare module '@elastic/eui/src/components/combo_box/matching_options' {
12359
- import { EuiComboBoxOptionOption } from '@elastic/eui/src/components/combo_box/types';
12360
- export type SortMatchesBy = 'none' | 'startsWith';
12361
- interface GetMatchingOptions<T> {
12362
- options: Array<EuiComboBoxOptionOption<T>>;
12363
- selectedOptions: Array<EuiComboBoxOptionOption<T>>;
12364
- searchValue: string;
12365
- isCaseSensitive?: boolean;
12366
- isPreFiltered?: boolean;
12367
- showPrevSelected?: boolean;
12368
- sortMatchesBy?: SortMatchesBy;
12369
- }
12370
- interface GetSelectedOptionForSearchValue<T> extends Pick<GetMatchingOptions<T>, 'isCaseSensitive' | 'searchValue' | 'selectedOptions'> {
12371
- optionKey?: string;
12372
- }
12373
- export const transformForCaseSensitivity: (string: string, isCaseSensitive?: boolean | undefined) => string;
12374
- export const flattenOptionGroups: <T>(optionsOrGroups: EuiComboBoxOptionOption<T>[]) => EuiComboBoxOptionOption<T>[];
12375
- export const getSelectedOptionForSearchValue: <T>({ isCaseSensitive, searchValue, selectedOptions, optionKey, }: GetSelectedOptionForSearchValue<T>) => EuiComboBoxOptionOption<T> | undefined;
12376
- export const getMatchingOptions: <T>({ options, selectedOptions, searchValue, isCaseSensitive, isPreFiltered, showPrevSelected, sortMatchesBy, }: GetMatchingOptions<T>) => EuiComboBoxOptionOption<T>[];
12377
- export {};
12378
-
12379
- }
12380
- declare module '@elastic/eui/src/components/combo_box/utils' {
12381
- import React, { PropsWithChildren } from 'react';
12382
- import { EuiComboBoxOptionOption } from '@elastic/eui/src/components/combo_box/types';
12383
- /**
12384
- * DRY util for rendering an option with its prepend and append properties
12385
- */
12386
- export const EuiComboBoxOptionAppendPrepend: <T>({ children, option, classNamePrefix, }: {
12387
- children?: React.ReactNode;
12388
- } & {
12389
- option?: EuiComboBoxOptionOption<T> | undefined;
12390
- classNamePrefix?: string | undefined;
12391
- }) => React.JSX.Element;
12392
-
12393
- }
12394
- declare module '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_pill' {
12395
- import React, { AriaAttributes, Component, MouseEventHandler } from 'react';
12396
- import { EuiComboBoxOptionOption, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
12397
- import { CommonProps } from '@elastic/eui/src/components/common';
12398
- export interface EuiComboBoxPillProps<T> extends CommonProps {
12399
- children?: string;
12400
- className?: string;
12401
- color?: string;
12402
- onClick?: MouseEventHandler<HTMLButtonElement>;
12403
- onClickAriaLabel?: AriaAttributes['aria-label'];
12404
- onClose?: OptionHandler<T>;
12405
- option: EuiComboBoxOptionOption<T>;
12406
- }
12407
- export class EuiComboBoxPill<T> extends Component<EuiComboBoxPillProps<T>> {
12408
- static defaultProps: {
12409
- color: string;
12410
- };
12411
- onCloseButtonClick: () => void;
12412
- render(): React.JSX.Element;
12413
- }
12414
-
12415
- }
12416
- declare module '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input' {
12417
- import React, { Component, FocusEventHandler, KeyboardEventHandler, RefCallback } from 'react';
12418
- import { CommonProps } from '@elastic/eui/src/components/common';
12419
- import { htmlIdGenerator } from '@elastic/eui/src/services';
12420
- import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form/form_control_layout';
12421
- import { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
12422
- export interface EuiComboBoxInputProps<T> extends CommonProps {
12423
- compressed: boolean;
12424
- focusedOptionId?: string;
12425
- fullWidth?: boolean;
12426
- hasSelectedOptions: boolean;
12427
- id?: string;
12428
- inputRef?: RefCallback<HTMLInputElement>;
12429
- isDisabled?: boolean;
12430
- isListOpen: boolean;
12431
- noIcon: boolean;
12432
- onBlur?: FocusEventHandler<HTMLInputElement>;
12433
- onChange: (searchValue: string) => void;
12434
- onClear?: () => void;
12435
- onClick: () => void;
12436
- onCloseListClick: () => void;
12437
- onFocus: FocusEventHandler<HTMLInputElement>;
12438
- onOpenListClick: () => void;
12439
- onRemoveOption: OptionHandler<T>;
12440
- placeholder?: string;
12441
- rootId: ReturnType<typeof htmlIdGenerator>;
12442
- searchValue: string;
12443
- selectedOptions: Array<EuiComboBoxOptionOption<T>>;
12444
- singleSelection?: boolean | EuiComboBoxSingleSelectionShape;
12445
- toggleButtonRef?: RefCallback<HTMLButtonElement | HTMLSpanElement>;
12446
- value?: string;
12447
- prepend?: EuiFormControlLayoutProps['prepend'];
12448
- append?: EuiFormControlLayoutProps['append'];
12449
- isLoading?: boolean;
12450
- isInvalid?: boolean;
12451
- autoFocus?: boolean;
12452
- 'aria-label'?: string;
12453
- 'aria-labelledby'?: string;
12454
- }
12455
- interface EuiComboBoxInputState {
12456
- inputWidth: number;
12457
- hasFocus: boolean;
12458
- }
12459
- export class EuiComboBoxInput<T> extends Component<EuiComboBoxInputProps<T>, EuiComboBoxInputState> {
12460
- state: EuiComboBoxInputState;
12461
- private widthUtils?;
12462
- inputRefCallback: (el: HTMLInputElement) => void;
12463
- updateInputSize: (inputValue: string) => void;
12464
- componentDidUpdate(prevProps: EuiComboBoxInputProps<T>): void;
12465
- onFocus: FocusEventHandler<HTMLInputElement>;
12466
- onBlur: FocusEventHandler<HTMLInputElement>;
12467
- onKeyDown: KeyboardEventHandler<HTMLInputElement>;
12468
- get asPlainText(): boolean;
12469
- get searchValue(): string;
12470
- renderPills: () => React.JSX.Element[] | null;
12471
- render(): React.JSX.Element;
12472
- }
12473
- export {};
12465
+ declare module '@elastic/eui/src/components/list_group' {
12466
+ export type { EuiListGroupProps } from '@elastic/eui/src/components/list_group/list_group';
12467
+ export { EuiListGroup } from '@elastic/eui/src/components/list_group/list_group';
12468
+ export type { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
12469
+ export type { EuiListGroupItemExtraActionProps } from '@elastic/eui/src/components/list_group/list_group_item_extra_action';
12470
+ export { EuiListGroupItem } from '@elastic/eui/src/components/list_group/list_group_item';
12471
+ export type { EuiPinnableListGroupProps, EuiPinnableListGroupItemProps, } from '@elastic/eui/src/components/list_group/pinnable_list_group';
12472
+ export { EuiPinnableListGroup } from '@elastic/eui/src/components/list_group/pinnable_list_group';
12474
12473
 
12475
12474
  }
12476
- declare module '@elastic/eui/src/components/mark/mark.styles' {
12475
+ declare module '@elastic/eui/src/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.styles' {
12477
12476
  import { UseEuiTheme } from '@elastic/eui/src/services';
12478
- export const euiMarkStyles: ({ euiTheme, colorMode }: UseEuiTheme) => {
12479
- euiMark: import("@emotion/utils").SerializedStyles;
12480
- };
12481
- export const euiMarkScreenReaderStyles: (highlightStart: string, highlightEnd: string) => {
12482
- hasScreenReaderHelpText: import("@emotion/utils").SerializedStyles;
12477
+ export const euiCollapsibleNavKibanaSolutionStyles: (euiThemeContext: UseEuiTheme) => {
12478
+ euiCollapsibleNavKibanaSolution: import("@emotion/utils").SerializedStyles;
12479
+ collapsed: import("@emotion/utils").SerializedStyles;
12480
+ uncollapsed: import("@emotion/utils").SerializedStyles;
12481
+ euiCollapsibleNavKibanaSolution__title: import("@emotion/utils").SerializedStyles;
12482
+ euiCollapsibleNavKibanaSolution__logo: import("@emotion/utils").SerializedStyles;
12483
+ euiCollapsibleNavKibanaSolution__switcherIcon: import("@emotion/utils").SerializedStyles;
12484
+ euiCollapsibleNavKibanaSolution__switcherPopover: import("@emotion/utils").SerializedStyles;
12485
+ euiCollapsibleNavKibanaSolution__secondaryItems: import("@emotion/utils").SerializedStyles;
12483
12486
  };
12484
12487
 
12485
12488
  }
12486
- declare module '@elastic/eui/src/components/mark/mark' {
12487
- import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
12489
+ declare module '@elastic/eui/src/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution' {
12490
+ import { FunctionComponent, HTMLAttributes } from 'react';
12488
12491
  import { CommonProps } from '@elastic/eui/src/components/common';
12489
- export type EuiMarkProps = HTMLAttributes<HTMLElement> & CommonProps & {
12490
- /**
12491
- * Set to `false` to remove the CSS :before and :after
12492
- * screen reader helper text
12493
- */
12494
- hasScreenReaderHelpText?: boolean;
12495
- /**
12496
- * ReactNode to render as this component's content
12497
- */
12498
- children: ReactNode;
12492
+ import { type EuiListGroupItemProps } from '@elastic/eui/src/components/list_group';
12493
+ import { type EuiCollapsibleNavItemProps } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item';
12494
+ export type KibanaCollapsibleNavSolutionProps = HTMLAttributes<HTMLDivElement> & CommonProps & Required<Pick<EuiCollapsibleNavItemProps, 'title' | 'icon' | 'items'>> & {
12495
+ solutions: EuiListGroupItemsModified;
12499
12496
  };
12500
- export const EuiMark: FunctionComponent<EuiMarkProps>;
12501
-
12502
- }
12503
- declare module '@elastic/eui/src/components/mark' {
12504
- export type { EuiMarkProps } from '@elastic/eui/src/components/mark/mark';
12505
- export { EuiMark } from '@elastic/eui/src/components/mark/mark';
12506
-
12507
- }
12508
- declare module '@elastic/eui/src/components/highlight/_highlight_all' {
12509
- import { FunctionComponent } from 'react';
12510
- import type { _SharedSubcomponentProps } from '@elastic/eui/src/components/highlight/highlight';
12511
12497
  /**
12512
- * Internal subcomponent with logic for highlighting all occurrences
12513
- * of a search value within a subject
12498
+ * This component should only ever be used as a **top-level component**.
12499
+ * It also should **not** be used in the nav footer.
12514
12500
  *
12515
- * Uses regex rather than indexOf/while loops for easier dev maintainability
12501
+ * This component is **very** specific to Kibana and is not meant to be a generic component.
12516
12502
  */
12517
- export const HighlightAll: FunctionComponent<_SharedSubcomponentProps>;
12503
+ export const KibanaCollapsibleNavSolution: FunctionComponent<KibanaCollapsibleNavSolutionProps>; type EuiListGroupItemsModified = Array<Omit<EuiListGroupItemProps, 'label' | 'iconType' | 'icon'> & {
12504
+ title: string;
12505
+ icon?: EuiListGroupItemProps['iconType'];
12506
+ isSecondary?: boolean;
12507
+ }>;
12508
+ export {};
12518
12509
 
12519
12510
  }
12520
- declare module '@elastic/eui/src/components/highlight/_highlight_first' {
12521
- import { FunctionComponent } from 'react';
12522
- import { _SharedSubcomponentProps } from '@elastic/eui/src/components/highlight/highlight';
12523
- /**
12524
- * Internal subcomponent with logic for highlighting only the first occurrence
12525
- * of a search value within a subject
12526
- *
12527
- * Uses indexOf for performance (which does matter for, e.g. EuiSelectable searching)
12528
- */
12529
- export const HighlightFirst: FunctionComponent<_SharedSubcomponentProps>;
12511
+ declare module '@elastic/eui/src/components/collapsible_nav_beta/_kibana_solution' {
12512
+ export { KibanaCollapsibleNavSolution } from '@elastic/eui/src/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution';
12530
12513
 
12531
12514
  }
12532
- declare module '@elastic/eui/src/components/highlight/highlight' {
12533
- import { HTMLAttributes, FunctionComponent, ElementType } from 'react';
12515
+ declare module '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_beta' {
12516
+ import React, { HTMLAttributes, ReactNode } from 'react';
12534
12517
  import { CommonProps } from '@elastic/eui/src/components/common';
12535
- import { EuiMarkProps } from '@elastic/eui/src/components/mark';
12536
- export type EuiHighlightProps = HTMLAttributes<HTMLSpanElement> & Pick<EuiMarkProps, 'hasScreenReaderHelpText'> & CommonProps & {
12518
+ import { EuiFlyoutProps } from '@elastic/eui/src/components/flyout';
12519
+ export type EuiCollapsibleNavBetaProps = CommonProps & HTMLAttributes<HTMLElement> & Pick<EuiFlyoutProps, // Extend only specific flyout props - EuiCollapsibleNav is much less customizable than EuiFlyout
12520
+ // Extend only specific flyout props - EuiCollapsibleNav is much less customizable than EuiFlyout
12521
+ 'side' | 'focusTrapProps' | 'includeFixedHeadersInFocusTrap'> & {
12537
12522
  /**
12538
- * string to highlight as this component's content
12523
+ * ReactNode(s) to render as navigation flyout content, typically `EuiCollapsibleNavBeta.Item`s.
12524
+ * You will likely want to use `EuiCollapsibleNavBeta.Body` and `EuiCollapsibleNavBeta.Footer`
12525
+ * for organization.
12539
12526
  */
12540
- children: string;
12527
+ children?: ReactNode;
12541
12528
  /**
12542
- * What to search for.
12543
- *
12544
- * Allows passing an array of strings (searching by multiple separate
12545
- * words or phrases) **only** if `highlightAll` is also set to `true`.
12529
+ * Whether the navigation flyout should default to initially collapsed or expanded
12546
12530
  */
12547
- search: string | string[];
12531
+ initialIsCollapsed?: boolean;
12548
12532
  /**
12549
- * Should the search be strict or not
12533
+ * Optional callback that fires when the user toggles the nav between
12534
+ * collapsed and uncollapsed states
12550
12535
  */
12551
- strict?: boolean;
12536
+ onCollapseToggle?: (isCollapsed: boolean) => void;
12552
12537
  /**
12553
- * Should highlight all matches
12538
+ * Defaults to 248px wide. The navigation width determines behavior at
12539
+ * various responsive breakpoints.
12540
+ *
12541
+ * At larger screen sizes (at least 3x the width of the nav), the nav will
12542
+ * be able to be toggled between a docked full width nav and a collapsed
12543
+ * side bar that only shows the icon of each item.
12544
+ *
12545
+ * At under 3 times the width of the nav, the behavior will lose the collapsed
12546
+ * side bar behavior, and switch from a docked flyout to an overlay flyout only.
12547
+ *
12548
+ * If the page is under 1.5 times the width of the nav, the overlay will
12549
+ * take up the full width of the page.
12554
12550
  */
12555
- highlightAll?: boolean;
12551
+ width?: number;
12552
+ /**
12553
+ * Overlay flyouts are considered dialogs, and dialogs must have a label.
12554
+ * By default, a label of `Site menu` will be applied.
12555
+ *
12556
+ * If your usage of this component is not actually for site-wide navigation,
12557
+ * please set your own `aria-label` or `aria-labelledby`.
12558
+ *
12559
+ * @default 'Site menu'
12560
+ */
12561
+ 'aria-label'?: string;
12556
12562
  };
12557
- export const EuiHighlight: FunctionComponent<EuiHighlightProps>;
12558
- export type _SharedSubcomponentProps = {
12559
- searchValue: EuiHighlightProps['search'];
12560
- searchSubject: EuiHighlightProps['children'];
12561
- isStrict: EuiHighlightProps['strict'];
12562
- highlightComponent?: ElementType;
12563
+ export const EuiCollapsibleNavBeta: React.FunctionComponent<EuiCollapsibleNavBetaProps> & {
12564
+ Body: import ("@elastic/eui/src/components/flyout").EuiFlyoutBodyProps;
12565
+ Footer: import ("@elastic/eui/src/components/flyout").EuiFlyoutFooterProps;
12566
+ Item: React.FunctionComponent<import ("@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item").EuiCollapsibleNavItemProps>;
12567
+ KibanaSolution: React.FunctionComponent<import ("@elastic/eui/src/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution").KibanaCollapsibleNavSolutionProps>;
12563
12568
  };
12564
12569
 
12565
12570
  }
12566
- declare module '@elastic/eui/src/components/highlight' {
12567
- export type { EuiHighlightProps } from '@elastic/eui/src/components/highlight/highlight';
12568
- export { EuiHighlight } from '@elastic/eui/src/components/highlight/highlight';
12569
-
12570
- }
12571
- declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_title' {
12572
- import { FunctionComponent, PropsWithChildren } from 'react';
12573
- export const EuiComboBoxTitle: FunctionComponent<PropsWithChildren>;
12574
-
12575
- }
12576
- declare module '@elastic/eui/src/components/filter_group/filter_select_item.styles' {
12577
- import { UseEuiTheme } from '@elastic/eui/src/services';
12578
- export const euiFilterSelectItemStyles: (euiThemeContext: UseEuiTheme) => {
12579
- euiFilterSelectItem: import("@emotion/utils").SerializedStyles;
12580
- isFocused: import("@emotion/utils").SerializedStyles;
12581
- };
12582
-
12583
- }
12584
- declare module '@elastic/eui/src/components/filter_group/filter_select_item' {
12585
- import React, { ButtonHTMLAttributes, Component } from 'react';
12586
- import { WithEuiThemeProps } from '@elastic/eui/src/services';
12587
- import { CommonProps } from '@elastic/eui/src/components/common';
12588
- export type FilterChecked = 'on' | 'off';
12589
- export interface EuiFilterSelectItemProps extends CommonProps, ButtonHTMLAttributes<HTMLButtonElement> {
12590
- checked?: FilterChecked;
12591
- showIcons?: boolean;
12592
- isFocused?: boolean;
12593
- }
12594
- /**
12595
- * TODO: This component should removed in favor of EuiSelectable usage
12596
- * once EuiComboBox has been converted to dogfood EuiSelectable.
12597
- *
12598
- * @deprecated - Use EuiSelectable instead
12599
- */
12600
- export class EuiFilterSelectItemClass extends Component<WithEuiThemeProps & EuiFilterSelectItemProps> {
12601
- static defaultProps: {
12602
- showIcons: boolean;
12603
- };
12604
- buttonRef: HTMLButtonElement | null;
12605
- state: {
12606
- hasFocus: boolean;
12607
- };
12608
- focus: () => void;
12609
- hasFocus: () => boolean;
12610
- render(): React.JSX.Element;
12611
- }
12571
+ declare module '@elastic/eui/src/components/collapsible_nav_beta' {
12612
12572
  /**
12613
- * @deprecated - Use EuiSelectable instead
12573
+ * NOTE: This is currently still a beta component, being exported for Kibana
12574
+ * development usage. It is not yet fully documented or supported.
12614
12575
  */
12615
- export const EuiFilterSelectItem: React.ForwardRefExoticComponent<Omit<EuiFilterSelectItemProps, "theme"> & React.RefAttributes<Omit<EuiFilterSelectItemProps, "theme">>>;
12576
+ export type { EuiCollapsibleNavBetaProps } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_beta';
12577
+ export { EuiCollapsibleNavBeta } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_beta';
12578
+ export type { EuiCollapsibleNavItemProps, EuiCollapsibleNavSubItemProps, } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item';
12579
+ export { EuiCollapsibleNavItem } from '@elastic/eui/src/components/collapsible_nav_beta/collapsible_nav_item';
12616
12580
 
12617
12581
  }
12618
- declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list' {
12619
- import React, { Component, ContextType, ReactNode, RefCallback } from 'react';
12620
- import { FixedSizeList, FixedSizeListProps, ListProps, ListChildComponentProps } from 'react-window';
12621
- import { htmlIdGenerator } from '@elastic/eui/src/services';
12582
+ declare module '@elastic/eui/src/components/color_picker/color_picker_swatch' {
12583
+ import React, { ButtonHTMLAttributes } from 'react';
12622
12584
  import { CommonProps } from '@elastic/eui/src/components/common';
12623
- import { EuiInputPopoverWidthContext } from '@elastic/eui/src/components/popover/input_popover';
12624
- import type { _EuiComboBoxProps } from '@elastic/eui/src/components/combo_box/combo_box';
12625
- import { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
12626
- export type EuiComboBoxOptionsListProps<T> = CommonProps & {
12627
- activeOptionIndex?: number;
12628
- areAllOptionsSelected?: boolean;
12629
- listboxAriaLabel: string;
12630
- /**
12631
- * Creates a custom text option. You can use `{searchValue}` inside your string to better customize your text.
12632
- * It won't show if there's no onCreateOption.
12633
- */
12634
- customOptionText?: string;
12635
- fullWidth?: boolean;
12636
- getSelectedOptionForSearchValue?: (params: {
12637
- isCaseSensitive?: boolean;
12638
- searchValue: string;
12639
- selectedOptions: any[];
12640
- }) => EuiComboBoxOptionOption<T> | undefined;
12641
- isCaseSensitive?: boolean;
12642
- isLoading?: boolean;
12643
- listRef: RefCallback<HTMLDivElement>;
12644
- matchingOptions: Array<EuiComboBoxOptionOption<T>>;
12645
- onCloseList: (event: Event) => void;
12646
- onCreateOption?: (searchValue: string, options: Array<EuiComboBoxOptionOption<T>>) => boolean | void;
12647
- onOptionClick?: OptionHandler<T>;
12648
- onOptionEnterKey?: OptionHandler<T>;
12649
- onScroll?: ListProps['onScroll'];
12650
- /**
12651
- * Array of EuiComboBoxOptionOption objects. See #EuiComboBoxOptionOption
12652
- */
12653
- options: Array<EuiComboBoxOptionOption<T>>;
12654
- renderOption?: (option: EuiComboBoxOptionOption<T>, searchValue: string, OPTION_CONTENT_CLASSNAME: string) => ReactNode;
12655
- rootId: ReturnType<typeof htmlIdGenerator>;
12656
- rowHeight: number;
12657
- scrollToIndex?: number;
12658
- searchValue: string;
12659
- selectedOptions: Array<EuiComboBoxOptionOption<T>>;
12660
- singleSelection?: boolean | EuiComboBoxSingleSelectionShape;
12661
- delimiter?: string;
12662
- truncationProps?: _EuiComboBoxProps<T>['truncationProps'];
12585
+ export type EuiColorPickerSwatchProps = CommonProps & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'> & {
12586
+ color?: string;
12663
12587
  };
12664
- export class EuiComboBoxOptionsList<T> extends Component<EuiComboBoxOptionsListProps<T>> {
12665
- listRef: FixedSizeList | null;
12666
- static contextType: React.Context<number>;
12667
- context: ContextType<typeof EuiInputPopoverWidthContext>;
12668
- static defaultProps: {
12669
- 'data-test-subj': string;
12670
- rowHeight: number;
12671
- isCaseSensitive: boolean;
12672
- };
12673
- componentDidUpdate(prevProps: EuiComboBoxOptionsListProps<T>): void;
12674
- setListRef: (ref: FixedSizeList | null) => void;
12675
- ListInnerElement: FixedSizeListProps['innerElementType'];
12676
- ListRow: ({ data, index, style }: ListChildComponentProps) => React.JSX.Element;
12677
- optionWidth: number | undefined;
12678
- setOptionWidth: (width: number) => void;
12679
- renderTruncatedOption: (text: string, truncationProps?: EuiComboBoxOptionsListProps<T>['truncationProps']) => string | React.JSX.Element;
12680
- render(): React.JSX.Element;
12681
- }
12588
+ export const EuiColorPickerSwatch: React.ForwardRefExoticComponent<CommonProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "color"> & {
12589
+ color?: string | undefined;
12590
+ } & React.RefAttributes<HTMLButtonElement>>;
12682
12591
 
12683
12592
  }
12684
- declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_option' {
12685
- import React, { Component, HTMLAttributes, KeyboardEventHandler, ReactNode, RefCallback } from 'react';
12686
- import { EuiComboBoxOptionOption, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
12593
+ declare module '@elastic/eui/src/components/color_picker/hue' {
12594
+ import { InputHTMLAttributes, FunctionComponent } from 'react';
12687
12595
  import { CommonProps } from '@elastic/eui/src/components/common';
12688
- export interface EuiComboBoxOptionProps<T> extends CommonProps, Omit<HTMLAttributes<HTMLButtonElement>, 'onClick'> {
12689
- children?: ReactNode;
12690
- className?: string;
12691
- disabled?: boolean;
12692
- isFocused: boolean;
12693
- onClick: OptionHandler<T>;
12694
- onEnterKey: OptionHandler<T>;
12695
- option: EuiComboBoxOptionOption<T>;
12696
- optionRef?: RefCallback<HTMLButtonElement>;
12697
- }
12698
- export class EuiComboBoxOption<T> extends Component<EuiComboBoxOptionProps<T>> {
12699
- onClick: () => void;
12700
- onKeyDown: KeyboardEventHandler<HTMLButtonElement>;
12701
- render(): React.JSX.Element;
12702
- }
12596
+ export type EuiHueProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> & CommonProps & {
12597
+ hex?: string;
12598
+ hue?: string | number;
12599
+ onChange: (hue: number) => void;
12600
+ };
12601
+ export const EuiHue: FunctionComponent<EuiHueProps>;
12703
12602
 
12704
12603
  }
12705
- declare module '@elastic/eui/src/components/combo_box/combo_box_options_list' {
12706
- export type { EuiComboBoxOptionsListProps } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list';
12707
- export { EuiComboBoxOptionsList } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list';
12708
- export type { EuiComboBoxOptionProps } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_option';
12709
- export { EuiComboBoxOption } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_option';
12710
- export { EuiComboBoxTitle } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_title';
12604
+ declare module '@elastic/eui/src/components/color_picker/saturation' {
12605
+ import React, { HTMLAttributes } from 'react';
12606
+ import { ColorSpaces } from 'chroma-js';
12607
+ import { CommonProps } from '@elastic/eui/src/components/common';
12608
+ export type SaturationClientRect = Pick<ClientRect, 'left' | 'top' | 'width' | 'height'>;
12609
+ export type SaturationPosition = Pick<SaturationClientRect, 'left' | 'top'>;
12610
+ interface HTMLDivElementOverrides {
12611
+ color?: ColorSpaces['hsv'];
12612
+ onChange: (color: ColorSpaces['hsv']) => void;
12613
+ }
12614
+ export type EuiSaturationProps = Omit<HTMLAttributes<HTMLDivElement>, keyof HTMLDivElementOverrides> & CommonProps & HTMLDivElementOverrides & {
12615
+ hex?: string;
12616
+ };
12617
+ export const EuiSaturation: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, keyof HTMLDivElementOverrides> & CommonProps & HTMLDivElementOverrides & {
12618
+ hex?: string | undefined;
12619
+ } & React.RefAttributes<HTMLDivElement>>;
12620
+ export {};
12711
12621
 
12712
12622
  }
12713
- declare module '@elastic/eui/src/components/combo_box/combo_box' {
12714
- /**
12715
- * Elements within EuiComboBox which would normally be tabbable (inputs, buttons) have been removed
12716
- * from the tab order with tabindex={-1} so that we can control the keyboard navigation interface.
12717
- */
12718
- import React, { Component, FocusEventHandler, HTMLAttributes, KeyboardEventHandler, RefCallback } from 'react';
12623
+ declare module '@elastic/eui/src/components/color_picker/color_picker' {
12624
+ import { FunctionComponent, HTMLAttributes, ReactElement } from 'react';
12625
+ import { ColorSpaces } from 'chroma-js';
12719
12626
  import { CommonProps } from '@elastic/eui/src/components/common';
12720
- import { EuiInputPopoverProps } from '@elastic/eui/src/components/popover';
12721
- import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form';
12722
- import type { EuiTextTruncateProps } from '@elastic/eui/src/components/text_truncate';
12723
- import { SortMatchesBy } from '@elastic/eui/src/components/combo_box/matching_options';
12724
- import { EuiComboBoxInputProps } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input';
12725
- import { EuiComboBoxOptionsListProps } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list';
12726
- import { OptionHandler, RefInstance, EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape } from '@elastic/eui/src/components/combo_box/types'; type DrillProps<T> = Pick<EuiComboBoxOptionsListProps<T>, 'customOptionText' | 'onCreateOption' | 'options' | 'renderOption' | 'selectedOptions'>;
12727
- export interface _EuiComboBoxProps<T> extends CommonProps, Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>, DrillProps<T> {
12728
- 'data-test-subj'?: string;
12627
+ import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form'; type EuiColorPickerDisplay = 'default' | 'inline'; type EuiColorPickerMode = 'default' | 'swatch' | 'picker' | 'secondaryInput';
12628
+ export interface EuiColorPickerOutput {
12629
+ rgba: ColorSpaces['rgba'];
12630
+ hex: string;
12631
+ isValid: boolean;
12632
+ }
12633
+ interface HTMLDivElementOverrides {
12729
12634
  /**
12730
- * Updates the list of options asynchronously
12635
+ * hex (string)
12636
+ * RGB (as comma separated string)
12637
+ * RGBa (as comma separated string)
12638
+ * Empty string will register as 'transparent'
12731
12639
  */
12732
- async: boolean;
12733
- className?: string;
12640
+ color?: string | null;
12641
+ onBlur?: () => void;
12734
12642
  /**
12735
- * When `true` creates a shorter height input
12643
+ * text (string, as entered or selected)
12644
+ * hex (8-digit hex if alpha < 1, otherwise 6-digit hex)
12645
+ * RGBa (as array; values of NaN if color is invalid)
12646
+ * isValid (boolean signifying if the input text is a valid color)
12736
12647
  */
12737
- compressed: boolean;
12648
+ onChange: (text: string, output: EuiColorPickerOutput) => void;
12649
+ onFocus?: () => void;
12650
+ }
12651
+ export interface EuiColorPickerProps extends CommonProps, Omit<HTMLAttributes<HTMLDivElement>, keyof HTMLDivElementOverrides>, HTMLDivElementOverrides {
12738
12652
  /**
12739
- * When `true` expands to the entire width available
12653
+ * Custom element to use instead of text input
12740
12654
  */
12741
- fullWidth: boolean;
12742
- id?: string;
12743
- inputRef?: RefCallback<HTMLInputElement>;
12655
+ button?: ReactElement;
12744
12656
  /**
12745
- * Shows a button that quickly clears any input
12657
+ * Use the compressed style for EuiFieldText
12746
12658
  */
12747
- isClearable: boolean;
12659
+ compressed?: boolean;
12660
+ display?: EuiColorPickerDisplay;
12661
+ disabled?: boolean;
12662
+ fullWidth?: boolean;
12663
+ id?: string;
12748
12664
  /**
12749
- * Disables the input
12665
+ * Custom validation flag
12750
12666
  */
12751
- isDisabled?: boolean;
12752
12667
  isInvalid?: boolean;
12753
12668
  /**
12754
- * Swaps the dropdown options for a loading spinner
12669
+ * Choose between swatches with gradient picker (default), swatches only, gradient picker only, or secondary input only.
12755
12670
  */
12756
- isLoading?: boolean;
12671
+ mode?: EuiColorPickerMode;
12757
12672
  /**
12758
- * Doesn't show the suggestions list/dropdown
12673
+ * Custom z-index for the popover
12759
12674
  */
12760
- noSuggestions?: boolean;
12761
- onBlur?: FocusEventHandler<HTMLDivElement>;
12675
+ popoverZIndex?: number;
12676
+ readOnly?: boolean;
12762
12677
  /**
12763
- * Called every time the query in the combo box is parsed
12678
+ * Array of hex strings (3 or 6 character) to use as swatch options. Defaults to EUI visualization colors
12764
12679
  */
12765
- onChange?: (options: Array<EuiComboBoxOptionOption<T>>) => void;
12766
- onFocus?: FocusEventHandler<HTMLDivElement>;
12767
- onKeyDown?: KeyboardEventHandler<HTMLDivElement>;
12680
+ swatches?: string[];
12768
12681
  /**
12769
- * Called every time the text query in the search box is parsed
12682
+ * Creates an input group with element(s) coming before input. It only shows when the `display` is set to `default`.
12683
+ * `string` | `ReactElement` or an array of these
12770
12684
  */
12771
- onSearchChange?: (searchValue: string, hasMatchingOptions?: boolean) => void;
12685
+ prepend?: EuiFormControlLayoutProps['prepend'];
12772
12686
  /**
12773
- * Sets the placeholder of the input
12687
+ * Creates an input group with element(s) coming after input. It only shows when the `display` is set to `default`.
12688
+ * `string` | `ReactElement` or an array of these
12774
12689
  */
12775
- placeholder?: string;
12690
+ append?: EuiFormControlLayoutProps['append'];
12776
12691
  /**
12777
- * Every option must be the same height and must be explicitly set if using a custom render
12778
- */
12779
- rowHeight?: number;
12780
- /**
12781
- * When `true` only allows the user to select a single option. Set to `{ asPlainText: true }` to not render input selection as pills
12782
- */
12783
- singleSelection: boolean | EuiComboBoxSingleSelectionShape;
12784
- /**
12785
- * Display matching options by:
12786
- * `startsWith`: moves items that start with search value to top of the list;
12787
- * `none`: don't change the sort order of initial object
12788
- */
12789
- sortMatchesBy: SortMatchesBy;
12790
- /**
12791
- * Whether to match options with case sensitivity.
12692
+ * Whether to render the alpha channel (opacity) value range slider.
12792
12693
  */
12793
- isCaseSensitive?: boolean;
12694
+ showAlpha?: boolean;
12794
12695
  /**
12795
- * Creates an input group with element(s) coming before input. It won't show if `singleSelection` is set to `false`.
12796
- * `string` | `ReactElement` or an array of these
12696
+ * Will format the text input in the provided format when possible (hue and saturation selection)
12697
+ * Exceptions: Manual text input and swatches will display as-authored
12698
+ * Default is to display the last format entered by the user
12797
12699
  */
12798
- prepend?: EuiFormControlLayoutProps['prepend'];
12700
+ format?: 'hex' | 'rgba';
12799
12701
  /**
12800
- * Creates an input group with element(s) coming after input. It won't show if `singleSelection` is set to `false`.
12801
- * `string` | `ReactElement` or an array of these
12702
+ * Placement option for a secondary color value input.
12802
12703
  */
12803
- append?: EuiFormControlLayoutProps['append'];
12704
+ secondaryInputDisplay?: 'top' | 'bottom' | 'none';
12804
12705
  /**
12805
- * A special character to use as a value separator. Typically a comma `,`
12706
+ * Add a button to the primary input to clear its value.
12806
12707
  */
12807
- delimiter?: string;
12708
+ isClearable?: boolean;
12808
12709
  /**
12809
- * Specifies that the input should have focus when the component loads
12710
+ * Text to replace the default 'Transparent' placeholder for unset color values.
12810
12711
  */
12811
- autoFocus?: boolean;
12712
+ placeholder?: string;
12713
+ }
12714
+ export const EuiColorPicker: FunctionComponent<EuiColorPickerProps>;
12715
+ export {};
12716
+
12717
+ }
12718
+ declare module '@elastic/eui/src/components/color_picker' {
12719
+ export type { EuiColorPickerProps } from '@elastic/eui/src/components/color_picker/color_picker';
12720
+ export { EuiColorPicker } from '@elastic/eui/src/components/color_picker/color_picker';
12721
+ export type { EuiColorPickerSwatchProps } from '@elastic/eui/src/components/color_picker/color_picker_swatch';
12722
+ export { EuiColorPickerSwatch } from '@elastic/eui/src/components/color_picker/color_picker_swatch';
12723
+ export type { EuiColorPalettePickerProps, EuiColorPalettePickerPaletteProps, } from '@elastic/eui/src/components/color_picker/color_palette_picker';
12724
+ export { EuiColorPalettePicker } from '@elastic/eui/src/components/color_picker/color_palette_picker';
12725
+ export type { EuiColorPaletteDisplayProps } from '@elastic/eui/src/components/color_picker/color_palette_display';
12726
+ export { EuiColorPaletteDisplay } from '@elastic/eui/src/components/color_picker/color_palette_display';
12727
+
12728
+ }
12729
+ declare module '@elastic/eui/src/components/combo_box/types' {
12730
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
12731
+ import { CommonProps } from '@elastic/eui/src/components/common';
12732
+ import type { _EuiComboBoxProps } from '@elastic/eui/src/components/combo_box/combo_box';
12733
+ export interface EuiComboBoxOptionOption<T = string | number | string[] | undefined> extends CommonProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
12734
+ isGroupLabelOption?: boolean;
12735
+ label: string;
12736
+ key?: string;
12737
+ options?: Array<EuiComboBoxOptionOption<T>>;
12738
+ value?: T;
12739
+ prepend?: ReactNode;
12740
+ append?: ReactNode;
12741
+ truncationProps?: _EuiComboBoxProps<T>['truncationProps'];
12742
+ }
12743
+ export type OptionHandler<T> = (option: EuiComboBoxOptionOption<T>) => void;
12744
+ export type RefInstance<T> = T | null;
12745
+ export interface EuiComboBoxSingleSelectionShape {
12746
+ asPlainText?: boolean;
12747
+ }
12748
+ export interface EuiComboBoxOptionMatcherArgs<TOption> {
12812
12749
  /**
12813
- * Required when rendering without a visible label from [EuiFormRow](/#/forms/form-layouts).
12750
+ * Option being currently processed
12814
12751
  */
12815
- 'aria-label'?: string;
12752
+ option: EuiComboBoxOptionOption<TOption>;
12816
12753
  /**
12817
- * Reference ID of a text element containing the visible label for the combo box when not
12818
- * supplied by `aria-label` or from [EuiFormRow](/#/forms/form-layouts).
12754
+ * Raw search input value
12819
12755
  */
12820
- 'aria-labelledby'?: string;
12756
+ searchValue: string;
12821
12757
  /**
12822
- * By default, EuiComboBox will truncate option labels at the end of
12823
- * the string. You can use pass in a custom truncation configuration that
12824
- * accepts any [EuiTextTruncate](/#/utilities/text-truncation) prop,
12825
- * except for `text` and `children`.
12826
- *
12827
- * Note: when searching, custom truncation props are ignored. The highlighted search
12828
- * text will always take precedence.
12758
+ * Search input value normalized for case-sensitivity
12759
+ * and with leading and trailing whitespace characters trimmed
12829
12760
  */
12830
- truncationProps?: Partial<Omit<EuiTextTruncateProps, 'text' | 'children'>>;
12761
+ normalizedSearchValue: string;
12831
12762
  /**
12832
- * Allows customizing the underlying EuiInputPopover component
12833
- * (except for props that control state).
12763
+ * Whether to match the option with case-sensitivity
12834
12764
  */
12835
- inputPopoverProps?: Partial<Omit<EuiInputPopoverProps, 'input' | 'isOpen' | 'closePopover'>>;
12836
- } type DefaultProps<T> = Omit<(typeof EuiComboBox)['defaultProps'], 'options' | 'selectedOptions'> & {
12765
+ isCaseSensitive: boolean;
12766
+ }
12767
+ /**
12768
+ * Option matcher function for EuiComboBox component.
12769
+ *
12770
+ * @example
12771
+ * const equalityMatcher: EuiComboBoxOptionMatcher = ({ option, searchValue }) => {
12772
+ * return option.label === searchValue;
12773
+ * }
12774
+ */
12775
+ export type EuiComboBoxOptionMatcher<TOption> = (args: EuiComboBoxOptionMatcherArgs<TOption>) => boolean;
12776
+
12777
+ }
12778
+ declare module '@elastic/eui/src/components/combo_box/matching_options' {
12779
+ import { EuiComboBoxOptionOption, EuiComboBoxOptionMatcher } from '@elastic/eui/src/components/combo_box/types';
12780
+ export type SortMatchesBy = 'none' | 'startsWith';
12781
+ interface GetMatchingOptions<T> {
12837
12782
  options: Array<EuiComboBoxOptionOption<T>>;
12838
12783
  selectedOptions: Array<EuiComboBoxOptionOption<T>>;
12839
- };
12840
- export type EuiComboBoxProps<T> = Omit<_EuiComboBoxProps<T>, keyof DefaultProps<T>> & Partial<DefaultProps<T>>;
12841
- interface EuiComboBoxState<T> {
12842
- activeOptionIndex: number;
12843
- hasFocus: boolean;
12844
- isListOpen: boolean;
12845
- matchingOptions: Array<EuiComboBoxOptionOption<T>>;
12846
12784
  searchValue: string;
12785
+ optionMatcher: EuiComboBoxOptionMatcher<T>;
12786
+ isCaseSensitive?: boolean;
12787
+ isPreFiltered?: boolean;
12788
+ showPrevSelected?: boolean;
12789
+ sortMatchesBy?: SortMatchesBy;
12847
12790
  }
12848
- export class EuiComboBox<T> extends Component<_EuiComboBoxProps<T>, EuiComboBoxState<T>> {
12849
- static defaultProps: {
12850
- async: boolean;
12851
- compressed: boolean;
12852
- fullWidth: boolean;
12853
- isClearable: boolean;
12854
- options: never[];
12855
- selectedOptions: never[];
12856
- singleSelection: boolean;
12857
- prepend: undefined;
12858
- append: undefined;
12859
- sortMatchesBy: "none";
12860
- };
12861
- state: EuiComboBoxState<T>;
12862
- rootId: (idSuffix?: string) => string;
12863
- comboBoxRefInstance: RefInstance<HTMLDivElement>;
12864
- comboBoxRefCallback: RefCallback<HTMLDivElement>;
12865
- searchInputRefInstance: RefInstance<HTMLInputElement>;
12866
- searchInputRefCallback: RefCallback<HTMLInputElement>;
12867
- listRefInstance: RefInstance<HTMLDivElement>;
12868
- listRefCallback: RefCallback<HTMLDivElement>;
12869
- openList: () => void;
12870
- closeList: () => void;
12871
- incrementActiveOptionIndex: (amount: number) => void;
12872
- hasActiveOption: () => boolean;
12873
- clearActiveOption: () => void;
12874
- clearSearchValue: () => void;
12875
- addCustomOption: (isContainerBlur: boolean, searchValue: string) => void;
12876
- doesSearchMatchOnlyOption: () => EuiComboBoxOptionOption<T> | undefined;
12877
- areAllOptionsSelected: () => boolean;
12878
- onComboBoxFocus: FocusEventHandler<HTMLInputElement>;
12879
- setCustomOptions: (isContainerBlur: boolean) => void;
12880
- onContainerBlur: FocusEventHandler<HTMLDivElement>;
12881
- onKeyDown: KeyboardEventHandler<HTMLDivElement>;
12882
- onOptionEnterKey: OptionHandler<T>;
12883
- onOptionClick: OptionHandler<T>;
12884
- onAddOption: (addedOption: EuiComboBoxOptionOption<T>, isContainerBlur?: boolean | undefined) => void;
12885
- onRemoveOption: OptionHandler<T>;
12886
- clearSelectedOptions: () => void;
12887
- onComboBoxClick: () => void;
12888
- onOpenListClick: () => void;
12889
- onOptionListScroll: () => void;
12890
- onSearchChange: NonNullable<EuiComboBoxInputProps<T>['onChange']>;
12891
- static getDerivedStateFromProps<T>(nextProps: _EuiComboBoxProps<T>, prevState: EuiComboBoxState<T>): Partial<EuiComboBoxState<T>>;
12892
- render(): React.JSX.Element;
12791
+ interface GetSelectedOptionForSearchValue<T> extends Pick<GetMatchingOptions<T>, 'isCaseSensitive' | 'searchValue' | 'selectedOptions'> {
12792
+ optionKey?: string;
12893
12793
  }
12794
+ export const transformForCaseSensitivity: (string: string, isCaseSensitive?: boolean | undefined) => string;
12795
+ export const flattenOptionGroups: <T>(optionsOrGroups: EuiComboBoxOptionOption<T>[]) => EuiComboBoxOptionOption<T>[];
12796
+ export const getSelectedOptionForSearchValue: <T>({ isCaseSensitive, searchValue, selectedOptions, optionKey, }: GetSelectedOptionForSearchValue<T>) => EuiComboBoxOptionOption<T> | undefined;
12797
+ export const getMatchingOptions: <T>({ options, selectedOptions, searchValue, optionMatcher, isCaseSensitive, isPreFiltered, showPrevSelected, sortMatchesBy, }: GetMatchingOptions<T>) => EuiComboBoxOptionOption<T>[];
12798
+ /**
12799
+ * Partial string equality option matcher for EuiComboBox.
12800
+ * It matches all options with labels including the searched string.
12801
+ */
12802
+ export const createPartialStringEqualityOptionMatcher: <TOption>() => EuiComboBoxOptionMatcher<TOption>;
12894
12803
  export {};
12895
12804
 
12896
12805
  }
12897
- declare module '@elastic/eui/src/components/combo_box/combo_box_input' {
12898
- export type { EuiComboBoxInputProps } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input';
12899
- export { EuiComboBoxInput } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input';
12900
- export type { EuiComboBoxPillProps } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_pill';
12901
- export { EuiComboBoxPill } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_pill';
12902
-
12903
- }
12904
- declare module '@elastic/eui/src/components/combo_box' {
12905
- export type { EuiComboBoxProps } from '@elastic/eui/src/components/combo_box/combo_box';
12906
- export { EuiComboBox } from '@elastic/eui/src/components/combo_box/combo_box';
12907
- export * from '@elastic/eui/src/components/combo_box/combo_box_input';
12908
- export * from '@elastic/eui/src/components/combo_box/combo_box_options_list';
12909
- export type { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, } from '@elastic/eui/src/components/combo_box/types';
12910
-
12911
- }
12912
- declare module '@elastic/eui/src/components/timeline/timeline_item_event.styles' {
12913
- export const euiTimelineItemEventStyles: () => {
12914
- euiTimelineItemEvent: import("@emotion/utils").SerializedStyles;
12915
- top: import("@emotion/utils").SerializedStyles;
12916
- center: import("@emotion/utils").SerializedStyles;
12917
- };
12806
+ declare module '@elastic/eui/src/components/combo_box/utils' {
12807
+ import React, { PropsWithChildren } from 'react';
12808
+ import { EuiComboBoxOptionOption } from '@elastic/eui/src/components/combo_box/types';
12809
+ /**
12810
+ * DRY util for rendering an option with its prepend and append properties
12811
+ */
12812
+ export const EuiComboBoxOptionAppendPrepend: <T>({ children, option, classNamePrefix, }: {
12813
+ children?: React.ReactNode;
12814
+ } & {
12815
+ option?: EuiComboBoxOptionOption<T> | undefined;
12816
+ classNamePrefix?: string | undefined;
12817
+ }) => React.JSX.Element;
12918
12818
 
12919
12819
  }
12920
- declare module '@elastic/eui/src/components/timeline/timeline_item_event' {
12921
- import { FunctionComponent, ReactNode } from 'react';
12922
- import { EuiTimelineItemVerticalAlign } from '@elastic/eui/src/components/timeline/timeline_item';
12923
- export interface EuiTimelineItemEventProps {
12924
- /**
12925
- * Accepts any node. But preferably `EuiPanel`
12926
- */
12927
- children: ReactNode;
12928
- verticalAlign?: EuiTimelineItemVerticalAlign;
12820
+ declare module '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_pill' {
12821
+ import React, { AriaAttributes, Component, MouseEventHandler } from 'react';
12822
+ import { EuiComboBoxOptionOption, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
12823
+ import { CommonProps } from '@elastic/eui/src/components/common';
12824
+ export interface EuiComboBoxPillProps<T> extends CommonProps {
12825
+ children?: string;
12826
+ className?: string;
12827
+ color?: string;
12828
+ onClick?: MouseEventHandler<HTMLButtonElement>;
12829
+ onClickAriaLabel?: AriaAttributes['aria-label'];
12830
+ onClose?: OptionHandler<T>;
12831
+ option: EuiComboBoxOptionOption<T>;
12929
12832
  }
12930
- export const EuiTimelineItemEvent: FunctionComponent<EuiTimelineItemEventProps>;
12931
-
12932
- }
12933
- declare module '@elastic/eui/src/components/timeline/timeline_item_icon.styles' {
12934
- import { UseEuiTheme } from '@elastic/eui/src/services';
12935
- export const euiTimelineItemIconStyles: ({ euiTheme }: UseEuiTheme) => {
12936
- euiTimelineItemIcon: import("@emotion/utils").SerializedStyles;
12937
- euiTimelineItemIcon__content: import("@emotion/utils").SerializedStyles;
12938
- top: import("@emotion/utils").SerializedStyles;
12939
- center: import("@emotion/utils").SerializedStyles;
12940
- };
12941
-
12942
- }
12943
- declare module '@elastic/eui/src/components/timeline/timeline_item_icon' {
12944
- import { FunctionComponent, ReactNode } from 'react';
12945
- import { IconType } from '@elastic/eui/src/components/icon';
12946
- import { EuiTimelineItemVerticalAlign } from '@elastic/eui/src/components/timeline/timeline_item';
12947
- export interface EuiTimelineItemIconProps {
12948
- /**
12949
- * Any `ReactNode`, but preferably `EuiAvatar`, or a `string` as an `EuiIcon['type']`.
12950
- */
12951
- icon: ReactNode | IconType;
12952
- verticalAlign?: EuiTimelineItemVerticalAlign;
12953
- /**
12954
- * Specify an `aria-label` for the icon when passed as an `IconType`.
12955
- * If no `aria-label` is passed we assume the icon is purely decorative.
12956
- */
12957
- iconAriaLabel?: string;
12833
+ export class EuiComboBoxPill<T> extends Component<EuiComboBoxPillProps<T>> {
12834
+ static defaultProps: {
12835
+ color: string;
12836
+ };
12837
+ onCloseButtonClick: () => void;
12838
+ render(): React.JSX.Element;
12958
12839
  }
12959
- export const EuiTimelineItemIcon: FunctionComponent<EuiTimelineItemIconProps>;
12960
12840
 
12961
12841
  }
12962
- declare module '@elastic/eui/src/components/timeline/timeline_item.styles' {
12963
- export const euiTimelineItemStyles: () => {
12964
- euiTimelineItem: import("@emotion/utils").SerializedStyles;
12965
- top: import("@emotion/utils").SerializedStyles;
12966
- center: import("@emotion/utils").SerializedStyles;
12967
- };
12968
-
12969
- }
12970
- declare module '@elastic/eui/src/components/timeline/timeline_item' {
12971
- import { FunctionComponent, HTMLAttributes } from 'react';
12842
+ declare module '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input' {
12843
+ import React, { Component, FocusEventHandler, KeyboardEventHandler, RefCallback } from 'react';
12972
12844
  import { CommonProps } from '@elastic/eui/src/components/common';
12973
- import { EuiTimelineItemEventProps } from '@elastic/eui/src/components/timeline/timeline_item_event';
12974
- import { EuiTimelineItemIconProps } from '@elastic/eui/src/components/timeline/timeline_item_icon';
12975
- export const VERTICAL_ALIGN: readonly ["top", "center"];
12976
- export type EuiTimelineItemVerticalAlign = (typeof VERTICAL_ALIGN)[number];
12977
- export interface EuiTimelineItemProps extends Omit<HTMLAttributes<HTMLElement>, 'children'>, CommonProps, Omit<EuiTimelineItemIconProps, 'verticalAlign'>, Omit<EuiTimelineItemEventProps, 'verticalAlign'> {
12978
- /**
12979
- * Vertical alignment of the event with the icon
12980
- */
12981
- verticalAlign?: EuiTimelineItemVerticalAlign;
12845
+ import { htmlIdGenerator } from '@elastic/eui/src/services';
12846
+ import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form/form_control_layout';
12847
+ import { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
12848
+ export interface EuiComboBoxInputProps<T> extends CommonProps {
12849
+ compressed: boolean;
12850
+ focusedOptionId?: string;
12851
+ fullWidth?: boolean;
12852
+ hasSelectedOptions: boolean;
12853
+ id?: string;
12854
+ inputRef?: RefCallback<HTMLInputElement>;
12855
+ isDisabled?: boolean;
12856
+ isListOpen: boolean;
12857
+ noIcon: boolean;
12858
+ onBlur?: FocusEventHandler<HTMLInputElement>;
12859
+ onChange: (searchValue: string) => void;
12860
+ onClear?: () => void;
12861
+ onClick: () => void;
12862
+ onCloseListClick: () => void;
12863
+ onFocus: FocusEventHandler<HTMLInputElement>;
12864
+ onOpenListClick: () => void;
12865
+ onRemoveOption: OptionHandler<T>;
12866
+ placeholder?: string;
12867
+ rootId: ReturnType<typeof htmlIdGenerator>;
12868
+ searchValue: string;
12869
+ selectedOptions: Array<EuiComboBoxOptionOption<T>>;
12870
+ singleSelection?: boolean | EuiComboBoxSingleSelectionShape;
12871
+ toggleButtonRef?: RefCallback<HTMLButtonElement | HTMLSpanElement>;
12872
+ value?: string;
12873
+ prepend?: EuiFormControlLayoutProps['prepend'];
12874
+ append?: EuiFormControlLayoutProps['append'];
12875
+ isLoading?: boolean;
12876
+ isInvalid?: boolean;
12877
+ autoFocus?: boolean;
12878
+ 'aria-label'?: string;
12879
+ 'aria-labelledby'?: string;
12982
12880
  }
12983
- export const EuiTimelineItem: FunctionComponent<EuiTimelineItemProps>;
12881
+ interface EuiComboBoxInputState {
12882
+ inputWidth: number;
12883
+ hasFocus: boolean;
12884
+ }
12885
+ export class EuiComboBoxInput<T> extends Component<EuiComboBoxInputProps<T>, EuiComboBoxInputState> {
12886
+ state: EuiComboBoxInputState;
12887
+ private widthUtils?;
12888
+ inputRefCallback: (el: HTMLInputElement) => void;
12889
+ updateInputSize: (inputValue: string) => void;
12890
+ componentDidUpdate(prevProps: EuiComboBoxInputProps<T>): void;
12891
+ onFocus: FocusEventHandler<HTMLInputElement>;
12892
+ onBlur: FocusEventHandler<HTMLInputElement>;
12893
+ onKeyDown: KeyboardEventHandler<HTMLInputElement>;
12894
+ get asPlainText(): boolean;
12895
+ get searchValue(): string;
12896
+ renderPills: () => React.JSX.Element[] | null;
12897
+ render(): React.JSX.Element;
12898
+ }
12899
+ export {};
12984
12900
 
12985
12901
  }
12986
- declare module '@elastic/eui/src/components/timeline/timeline.styles' {
12902
+ declare module '@elastic/eui/src/components/mark/mark.styles' {
12987
12903
  import { UseEuiTheme } from '@elastic/eui/src/services';
12988
- export const euiTimelineStyles: ({ euiTheme }: UseEuiTheme) => {
12989
- euiTimeline: import("@emotion/utils").SerializedStyles;
12990
- m: import("@emotion/utils").SerializedStyles;
12991
- l: import("@emotion/utils").SerializedStyles;
12992
- xl: import("@emotion/utils").SerializedStyles;
12904
+ export const euiMarkStyles: ({ euiTheme, colorMode }: UseEuiTheme) => {
12905
+ euiMark: import("@emotion/utils").SerializedStyles;
12906
+ };
12907
+ export const euiMarkScreenReaderStyles: (highlightStart: string, highlightEnd: string) => {
12908
+ hasScreenReaderHelpText: import("@emotion/utils").SerializedStyles;
12993
12909
  };
12994
12910
 
12995
12911
  }
12996
- declare module '@elastic/eui/src/components/timeline/timeline' {
12997
- import { HTMLAttributes, FunctionComponent } from 'react';
12912
+ declare module '@elastic/eui/src/components/mark/mark' {
12913
+ import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
12998
12914
  import { CommonProps } from '@elastic/eui/src/components/common';
12999
- import { EuiTimelineItemProps } from '@elastic/eui/src/components/timeline/timeline_item';
13000
- export const GUTTER_SIZES: readonly ["m", "l", "xl"];
13001
- export type EuiTimelineGutterSize = (typeof GUTTER_SIZES)[number];
13002
- export interface EuiTimelineProps extends HTMLAttributes<HTMLOListElement>, CommonProps {
12915
+ export type EuiMarkProps = HTMLAttributes<HTMLElement> & CommonProps & {
13003
12916
  /**
13004
- * List of timeline items to render. See #EuiTimelineItem
12917
+ * Set to `false` to remove the CSS :before and :after
12918
+ * screen reader helper text
13005
12919
  */
13006
- items?: EuiTimelineItemProps[];
12920
+ hasScreenReaderHelpText?: boolean;
13007
12921
  /**
13008
- * Sets the size of the vertical space between each timeline item
12922
+ * ReactNode to render as this component's content
13009
12923
  */
13010
- gutterSize?: EuiTimelineGutterSize;
13011
- }
13012
- export const EuiTimeline: FunctionComponent<EuiTimelineProps>;
12924
+ children: ReactNode;
12925
+ };
12926
+ export const EuiMark: FunctionComponent<EuiMarkProps>;
13013
12927
 
13014
12928
  }
13015
- declare module '@elastic/eui/src/components/timeline' {
13016
- export type { EuiTimelineProps } from '@elastic/eui/src/components/timeline/timeline';
13017
- export { EuiTimeline } from '@elastic/eui/src/components/timeline/timeline';
13018
- export type { EuiTimelineItemProps, EuiTimelineItemVerticalAlign, } from '@elastic/eui/src/components/timeline/timeline_item';
13019
- export { EuiTimelineItem } from '@elastic/eui/src/components/timeline/timeline_item';
13020
- export { EuiTimelineItemEvent } from '@elastic/eui/src/components/timeline/timeline_item_event';
13021
- export { EuiTimelineItemIcon } from '@elastic/eui/src/components/timeline/timeline_item_icon';
12929
+ declare module '@elastic/eui/src/components/mark' {
12930
+ export type { EuiMarkProps } from '@elastic/eui/src/components/mark/mark';
12931
+ export { EuiMark } from '@elastic/eui/src/components/mark/mark';
13022
12932
 
13023
12933
  }
13024
- declare module '@elastic/eui/src/components/comment_list/comment_event.styles' {
13025
- import { UseEuiTheme } from '@elastic/eui/src/services';
13026
- export const euiCommentEventStyles: (euiThemeContext: UseEuiTheme) => {
13027
- euiCommentEvent: import("@emotion/utils").SerializedStyles;
13028
- border: import("@emotion/utils").SerializedStyles;
13029
- };
13030
- export const euiCommentEventHeaderStyles: (euiThemeContext: UseEuiTheme) => {
13031
- euiCommentEvent__header: import("@emotion/utils").SerializedStyles;
13032
- border: import("@emotion/utils").SerializedStyles;
13033
- euiCommentEvent__headerMain: import("@emotion/utils").SerializedStyles;
13034
- euiCommentEvent__headerData: import("@emotion/utils").SerializedStyles;
13035
- euiCommentEvent__headerEventIcon: import("@emotion/utils").SerializedStyles;
13036
- euiCommentEvent__headerUsername: import("@emotion/utils").SerializedStyles;
13037
- euiCommentEvent__headerEvent: import("@emotion/utils").SerializedStyles;
13038
- euiCommentEvent__headerActions: import("@emotion/utils").SerializedStyles;
13039
- };
13040
- export const euiCommentEventBodyStyles: ({ euiTheme }: UseEuiTheme) => {
13041
- euiCommentEvent__body: import("@emotion/utils").SerializedStyles;
13042
- regular: import("@emotion/utils").SerializedStyles;
13043
- update: import("@emotion/utils").SerializedStyles;
13044
- custom: import("@emotion/utils").SerializedStyles;
13045
- };
12934
+ declare module '@elastic/eui/src/components/highlight/_highlight_all' {
12935
+ import { FunctionComponent } from 'react';
12936
+ import type { _SharedSubcomponentProps } from '@elastic/eui/src/components/highlight/highlight';
12937
+ /**
12938
+ * Internal subcomponent with logic for highlighting all occurrences
12939
+ * of a search value within a subject
12940
+ *
12941
+ * Uses regex rather than indexOf/while loops for easier dev maintainability
12942
+ */
12943
+ export const HighlightAll: FunctionComponent<_SharedSubcomponentProps>;
13046
12944
 
13047
12945
  }
13048
- declare module '@elastic/eui/src/components/comment_list/comment_event' {
13049
- import { FunctionComponent, ReactNode } from 'react';
12946
+ declare module '@elastic/eui/src/components/highlight/_highlight_first' {
12947
+ import { FunctionComponent } from 'react';
12948
+ import { _SharedSubcomponentProps } from '@elastic/eui/src/components/highlight/highlight';
12949
+ /**
12950
+ * Internal subcomponent with logic for highlighting only the first occurrence
12951
+ * of a search value within a subject
12952
+ *
12953
+ * Uses indexOf for performance (which does matter for, e.g. EuiSelectable searching)
12954
+ */
12955
+ export const HighlightFirst: FunctionComponent<_SharedSubcomponentProps>;
12956
+
12957
+ }
12958
+ declare module '@elastic/eui/src/components/highlight/highlight' {
12959
+ import { HTMLAttributes, FunctionComponent, ElementType } from 'react';
13050
12960
  import { CommonProps } from '@elastic/eui/src/components/common';
13051
- import { IconType } from '@elastic/eui/src/components/icon';
13052
- import { EuiPanelProps } from '@elastic/eui/src/components/panel';
13053
- export interface EuiCommentEventProps extends CommonProps {
13054
- /**
13055
- * Author of the comment.
13056
- */
13057
- username: ReactNode;
13058
- /**
13059
- * Time of occurrence of the event. Its format is set on the consumer's side
13060
- */
13061
- timestamp?: ReactNode;
13062
- /**
13063
- * Describes the event that took place
13064
- */
13065
- event?: ReactNode;
13066
- /**
13067
- * Custom actions that the user can perform from the comment's header
13068
- */
13069
- actions?: ReactNode | ReactNode[];
12961
+ import { EuiMarkProps } from '@elastic/eui/src/components/mark';
12962
+ export type EuiHighlightProps = HTMLAttributes<HTMLSpanElement> & Pick<EuiMarkProps, 'hasScreenReaderHelpText'> & CommonProps & {
13070
12963
  /**
13071
- * Accepts any ReactNode. Renders in a panel within the comment event.
12964
+ * string to highlight as this component's content
13072
12965
  */
13073
- children?: ReactNode;
12966
+ children: string;
13074
12967
  /**
13075
- * Custom icon that shows before the username.
12968
+ * What to search for.
12969
+ *
12970
+ * Allows passing an array of strings (searching by multiple separate
12971
+ * words or phrases) **only** if `highlightAll` is also set to `true`.
13076
12972
  */
13077
- eventIcon?: IconType;
12973
+ search: string | string[];
13078
12974
  /**
13079
- * Specify an `aria-label` for the `eventIcon`.
13080
- * If no `aria-label` is passed we assume the icon is purely decorative.
12975
+ * Should the search be strict or not
13081
12976
  */
13082
- eventIconAriaLabel?: string;
12977
+ strict?: boolean;
13083
12978
  /**
13084
- * Background color for the comment's header.
12979
+ * Should highlight all matches
13085
12980
  */
13086
- eventColor?: EuiPanelProps['color'];
13087
- }
13088
- export const EuiCommentEvent: FunctionComponent<EuiCommentEventProps>;
12981
+ highlightAll?: boolean;
12982
+ };
12983
+ export const EuiHighlight: FunctionComponent<EuiHighlightProps>;
12984
+ export type _SharedSubcomponentProps = {
12985
+ searchValue: EuiHighlightProps['search'];
12986
+ searchSubject: EuiHighlightProps['children'];
12987
+ isStrict: EuiHighlightProps['strict'];
12988
+ highlightComponent?: ElementType;
12989
+ };
13089
12990
 
13090
12991
  }
13091
- declare module '@elastic/eui/src/components/comment_list/comment_timeline' {
13092
- import { FunctionComponent, ReactNode } from 'react';
13093
- import { CommonProps } from '@elastic/eui/src/components/common';
13094
- import { EuiAvatarProps } from '@elastic/eui/src/components/avatar';
13095
- export interface EuiCommentTimelineProps extends CommonProps {
13096
- /**
13097
- * Main avatar that accompanies the comment. Should indicate who is the author of the comment.
13098
- * Any `ReactNode`, but preferably `EuiAvatar`, or a `string` as an `EuiAvatarProps['iconType']`.
13099
- * If no `timelineAvatar` is passed, the `userAvatar` icon will be used as the avatar.
13100
- */
13101
- timelineAvatar?: ReactNode | EuiAvatarProps['iconType'];
13102
- /**
13103
- * Specify an `aria-label` and `title` for the `timelineAvatar` when passed as an `IconType` or when nothing is passed.
13104
- * If no `timelineAvatarAriaLabel` is passed we assume the avatar is purely decorative.
13105
- */
13106
- timelineAvatarAriaLabel?: string;
13107
- }
13108
- export const EuiCommentTimeline: FunctionComponent<EuiCommentTimelineProps>;
12992
+ declare module '@elastic/eui/src/components/highlight' {
12993
+ export type { EuiHighlightProps } from '@elastic/eui/src/components/highlight/highlight';
12994
+ export { EuiHighlight } from '@elastic/eui/src/components/highlight/highlight';
13109
12995
 
13110
12996
  }
13111
- declare module '@elastic/eui/src/components/comment_list/comment' {
13112
- import { FunctionComponent } from 'react';
13113
- import { EuiCommentEventProps } from '@elastic/eui/src/components/comment_list/comment_event';
13114
- import { EuiCommentTimelineProps } from '@elastic/eui/src/components/comment_list/comment_timeline';
13115
- export interface EuiCommentProps extends EuiCommentEventProps, EuiCommentTimelineProps {
13116
- }
13117
- export const EuiComment: FunctionComponent<EuiCommentProps>;
12997
+ declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_title' {
12998
+ import { FunctionComponent, PropsWithChildren } from 'react';
12999
+ export const EuiComboBoxTitle: FunctionComponent<PropsWithChildren>;
13118
13000
 
13119
13001
  }
13120
- declare module '@elastic/eui/src/components/comment_list/comment_list' {
13121
- import { FunctionComponent } from 'react';
13122
- import { EuiCommentProps } from '@elastic/eui/src/components/comment_list/comment';
13123
- import { EuiTimelineProps } from '@elastic/eui/src/components/timeline';
13124
- export type EuiCommentListProps = Omit<EuiTimelineProps, 'items' | 'gutterSize'> & {
13125
- /**
13126
- * List of comments to render. See #EuiComment
13127
- */
13128
- comments?: EuiCommentProps[];
13129
- /**
13130
- * Sets the size of the vertical space between each comment
13131
- */
13132
- gutterSize?: EuiTimelineProps['gutterSize'];
13002
+ declare module '@elastic/eui/src/components/filter_group/filter_select_item.styles' {
13003
+ import { UseEuiTheme } from '@elastic/eui/src/services';
13004
+ export const euiFilterSelectItemStyles: (euiThemeContext: UseEuiTheme) => {
13005
+ euiFilterSelectItem: import("@emotion/utils").SerializedStyles;
13006
+ isFocused: import("@emotion/utils").SerializedStyles;
13133
13007
  };
13134
- export const EuiCommentList: FunctionComponent<EuiCommentListProps>;
13135
13008
 
13136
13009
  }
13137
- declare module '@elastic/eui/src/components/comment_list' {
13138
- export type { EuiCommentProps } from '@elastic/eui/src/components/comment_list/comment';
13139
- export { EuiComment } from '@elastic/eui/src/components/comment_list/comment';
13140
- export type { EuiCommentEventProps } from '@elastic/eui/src/components/comment_list/comment_event';
13141
- export { EuiCommentEvent } from '@elastic/eui/src/components/comment_list/comment_event';
13142
- export type { EuiCommentListProps } from '@elastic/eui/src/components/comment_list/comment_list';
13143
- export { EuiCommentList } from '@elastic/eui/src/components/comment_list/comment_list';
13010
+ declare module '@elastic/eui/src/components/filter_group/filter_select_item' {
13011
+ import React, { ButtonHTMLAttributes, Component } from 'react';
13012
+ import { WithEuiThemeProps } from '@elastic/eui/src/services';
13013
+ import { CommonProps } from '@elastic/eui/src/components/common';
13014
+ export type FilterChecked = 'on' | 'off';
13015
+ export interface EuiFilterSelectItemProps extends CommonProps, ButtonHTMLAttributes<HTMLButtonElement> {
13016
+ checked?: FilterChecked;
13017
+ showIcons?: boolean;
13018
+ isFocused?: boolean;
13019
+ }
13020
+ /**
13021
+ * TODO: This component should removed in favor of EuiSelectable usage
13022
+ * once EuiComboBox has been converted to dogfood EuiSelectable.
13023
+ *
13024
+ * @deprecated - Use EuiSelectable instead
13025
+ */
13026
+ export class EuiFilterSelectItemClass extends Component<WithEuiThemeProps & EuiFilterSelectItemProps> {
13027
+ static defaultProps: {
13028
+ showIcons: boolean;
13029
+ };
13030
+ buttonRef: HTMLButtonElement | null;
13031
+ state: {
13032
+ hasFocus: boolean;
13033
+ };
13034
+ focus: () => void;
13035
+ hasFocus: () => boolean;
13036
+ render(): React.JSX.Element;
13037
+ }
13038
+ /**
13039
+ * @deprecated - Use EuiSelectable instead
13040
+ */
13041
+ export const EuiFilterSelectItem: React.ForwardRefExoticComponent<Omit<EuiFilterSelectItemProps, "theme"> & React.RefAttributes<Omit<EuiFilterSelectItemProps, "theme">>>;
13144
13042
 
13145
13043
  }
13146
- declare module '@elastic/eui/src/components/list_group/list_group_item_extra_action.styles' {
13147
- import { UseEuiTheme } from '@elastic/eui/src/services';
13148
- export const euiListGroupItemExtraActionStyles: ({ euiTheme, }: UseEuiTheme) => {
13149
- euiListGroupItemExtraAction: import("@emotion/utils").SerializedStyles;
13150
- hoverStyles: import("@emotion/utils").SerializedStyles;
13151
- alwaysShow: import("@emotion/utils").SerializedStyles;
13044
+ declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list' {
13045
+ import React, { Component, ContextType, ReactNode, RefCallback } from 'react';
13046
+ import { FixedSizeList, FixedSizeListProps, ListProps, ListChildComponentProps } from 'react-window';
13047
+ import { htmlIdGenerator } from '@elastic/eui/src/services';
13048
+ import { CommonProps } from '@elastic/eui/src/components/common';
13049
+ import { EuiInputPopoverWidthContext } from '@elastic/eui/src/components/popover/input_popover';
13050
+ import type { _EuiComboBoxProps } from '@elastic/eui/src/components/combo_box/combo_box';
13051
+ import { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
13052
+ export type EuiComboBoxOptionsListProps<T> = CommonProps & {
13053
+ activeOptionIndex?: number;
13054
+ areAllOptionsSelected?: boolean;
13055
+ listboxAriaLabel: string;
13056
+ /**
13057
+ * Creates a custom text option. You can use `{searchValue}` inside your string to better customize your text.
13058
+ * It won't show if there's no onCreateOption.
13059
+ */
13060
+ customOptionText?: string;
13061
+ fullWidth?: boolean;
13062
+ getSelectedOptionForSearchValue?: (params: {
13063
+ isCaseSensitive?: boolean;
13064
+ searchValue: string;
13065
+ selectedOptions: any[];
13066
+ }) => EuiComboBoxOptionOption<T> | undefined;
13067
+ isCaseSensitive?: boolean;
13068
+ isLoading?: boolean;
13069
+ listRef: RefCallback<HTMLDivElement>;
13070
+ matchingOptions: Array<EuiComboBoxOptionOption<T>>;
13071
+ onCloseList: (event: Event) => void;
13072
+ onCreateOption?: (searchValue: string, options: Array<EuiComboBoxOptionOption<T>>) => boolean | void;
13073
+ onOptionClick?: OptionHandler<T>;
13074
+ onOptionEnterKey?: OptionHandler<T>;
13075
+ onScroll?: ListProps['onScroll'];
13076
+ /**
13077
+ * Array of EuiComboBoxOptionOption objects. See #EuiComboBoxOptionOption
13078
+ */
13079
+ options: Array<EuiComboBoxOptionOption<T>>;
13080
+ renderOption?: (option: EuiComboBoxOptionOption<T>, searchValue: string, OPTION_CONTENT_CLASSNAME: string) => ReactNode;
13081
+ rootId: ReturnType<typeof htmlIdGenerator>;
13082
+ rowHeight: number;
13083
+ scrollToIndex?: number;
13084
+ searchValue: string;
13085
+ selectedOptions: Array<EuiComboBoxOptionOption<T>>;
13086
+ singleSelection?: boolean | EuiComboBoxSingleSelectionShape;
13087
+ delimiter?: string;
13088
+ truncationProps?: _EuiComboBoxProps<T>['truncationProps'];
13152
13089
  };
13090
+ export class EuiComboBoxOptionsList<T> extends Component<EuiComboBoxOptionsListProps<T>> {
13091
+ listRef: FixedSizeList | null;
13092
+ static contextType: React.Context<number>;
13093
+ context: ContextType<typeof EuiInputPopoverWidthContext>;
13094
+ static defaultProps: {
13095
+ 'data-test-subj': string;
13096
+ rowHeight: number;
13097
+ isCaseSensitive: boolean;
13098
+ };
13099
+ componentDidUpdate(prevProps: EuiComboBoxOptionsListProps<T>): void;
13100
+ setListRef: (ref: FixedSizeList | null) => void;
13101
+ ListInnerElement: FixedSizeListProps['innerElementType'];
13102
+ ListRow: ({ data, index, style }: ListChildComponentProps) => React.JSX.Element;
13103
+ optionWidth: number | undefined;
13104
+ setOptionWidth: (width: number) => void;
13105
+ renderTruncatedOption: (text: string, truncationProps?: EuiComboBoxOptionsListProps<T>['truncationProps']) => string | React.JSX.Element;
13106
+ render(): React.JSX.Element;
13107
+ }
13153
13108
 
13154
13109
  }
13155
- declare module '@elastic/eui/src/components/list_group/list_group_item_extra_action' {
13156
- import { FunctionComponent } from 'react';
13157
- import { EuiButtonIconPropsForButton } from '@elastic/eui/src/components/button';
13158
- export type EuiListGroupItemExtraActionProps = {
13159
- alwaysShow?: boolean;
13160
- } & EuiButtonIconPropsForButton; type _FromEuiListGroupItem = {
13161
- parentIsDisabled?: boolean;
13162
- };
13163
- export const EuiListGroupItemExtraAction: FunctionComponent<EuiListGroupItemExtraActionProps & _FromEuiListGroupItem>;
13164
- export {};
13110
+ declare module '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_option' {
13111
+ import React, { Component, HTMLAttributes, KeyboardEventHandler, ReactNode, RefCallback } from 'react';
13112
+ import { EuiComboBoxOptionOption, OptionHandler } from '@elastic/eui/src/components/combo_box/types';
13113
+ import { CommonProps } from '@elastic/eui/src/components/common';
13114
+ export interface EuiComboBoxOptionProps<T> extends CommonProps, Omit<HTMLAttributes<HTMLButtonElement>, 'onClick'> {
13115
+ children?: ReactNode;
13116
+ className?: string;
13117
+ disabled?: boolean;
13118
+ isFocused: boolean;
13119
+ onClick: OptionHandler<T>;
13120
+ onEnterKey: OptionHandler<T>;
13121
+ option: EuiComboBoxOptionOption<T>;
13122
+ optionRef?: RefCallback<HTMLButtonElement>;
13123
+ }
13124
+ export class EuiComboBoxOption<T> extends Component<EuiComboBoxOptionProps<T>> {
13125
+ onClick: () => void;
13126
+ onKeyDown: KeyboardEventHandler<HTMLButtonElement>;
13127
+ render(): React.JSX.Element;
13128
+ }
13165
13129
 
13166
13130
  }
13167
- declare module '@elastic/eui/src/components/list_group/list_group_item.styles' {
13168
- import { UseEuiTheme } from '@elastic/eui/src/services';
13169
- export const euiListGroupItemStyles: (euiThemeContext: UseEuiTheme) => {
13170
- euiListGroupItem: import("@emotion/utils").SerializedStyles;
13171
- xs: import("@emotion/utils").SerializedStyles;
13172
- s: import("@emotion/utils").SerializedStyles;
13173
- m: import("@emotion/utils").SerializedStyles;
13174
- l: import("@emotion/utils").SerializedStyles;
13175
- colors: {
13176
- isActive: {
13177
- primary: import("@emotion/utils").SerializedStyles;
13178
- text: import("@emotion/utils").SerializedStyles;
13179
- subdued: import("@emotion/utils").SerializedStyles;
13180
- };
13181
- isClickable: {
13182
- primary: import("@emotion/utils").SerializedStyles;
13183
- text: import("@emotion/utils").SerializedStyles;
13184
- subdued: import("@emotion/utils").SerializedStyles;
13185
- };
13186
- };
13187
- };
13188
- export const euiListGroupItemInnerStyles: (euiThemeContext: UseEuiTheme) => {
13189
- euiListGroupItem__inner: import("@emotion/utils").SerializedStyles;
13190
- xs: import("@emotion/utils").SerializedStyles;
13191
- s: import("@emotion/utils").SerializedStyles;
13192
- m: import("@emotion/utils").SerializedStyles;
13193
- l: import("@emotion/utils").SerializedStyles;
13194
- primary: import("@emotion/utils").SerializedStyles;
13195
- text: import("@emotion/utils").SerializedStyles;
13196
- subdued: import("@emotion/utils").SerializedStyles;
13197
- ghost: import("@emotion/utils").SerializedStyles;
13198
- isDisabled: import("@emotion/utils").SerializedStyles;
13199
- isActive: import("@emotion/utils").SerializedStyles;
13200
- isClickable: import("@emotion/utils").SerializedStyles;
13201
- externalIcon: import("@emotion/utils").SerializedStyles;
13202
- };
13203
- export const euiListGroupItemLabelStyles: () => {
13204
- euiListGroupItem__label: import("@emotion/utils").SerializedStyles;
13205
- truncate: import("@emotion/utils").SerializedStyles;
13206
- wrapText: import("@emotion/utils").SerializedStyles;
13207
- };
13208
- export const euiListGroupItemIconStyles: ({ euiTheme }: UseEuiTheme) => {
13209
- euiListGroupItem__icon: import("@emotion/utils").SerializedStyles;
13210
- };
13211
- export const euiListGroupItemTooltipStyles: () => {
13212
- euiListGroupItem__tooltip: import("@emotion/utils").SerializedStyles;
13213
- };
13131
+ declare module '@elastic/eui/src/components/combo_box/combo_box_options_list' {
13132
+ export type { EuiComboBoxOptionsListProps } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list';
13133
+ export { EuiComboBoxOptionsList } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list';
13134
+ export type { EuiComboBoxOptionProps } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_option';
13135
+ export { EuiComboBoxOption } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_option';
13136
+ export { EuiComboBoxTitle } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_title';
13214
13137
 
13215
13138
  }
13216
- declare module '@elastic/eui/src/components/list_group/list_group_item' {
13217
- import React, { HTMLAttributes, AnchorHTMLAttributes, ButtonHTMLAttributes, ReactNode, ReactElement, MouseEventHandler, FunctionComponent } from 'react';
13218
- import { IconType, EuiIconProps } from '@elastic/eui/src/components/icon';
13219
- import { EuiToolTipProps } from '@elastic/eui/src/components/tool_tip';
13220
- import { ExclusiveUnion, CommonProps } from '@elastic/eui/src/components/common';
13221
- import { EuiListGroupItemExtraActionProps } from '@elastic/eui/src/components/list_group/list_group_item_extra_action';
13222
- export const SIZES: readonly ["xs", "s", "m", "l"];
13223
- export type EuiListGroupItemSize = (typeof SIZES)[number];
13224
- export const COLORS: readonly ["primary", "text", "subdued"];
13225
- export type EuiListGroupItemColor = (typeof COLORS)[number];
13226
- export type EuiListGroupItemProps = CommonProps & Omit<ExclusiveUnion<ExclusiveUnion<ButtonHTMLAttributes<HTMLButtonElement>, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>>, HTMLAttributes<HTMLSpanElement>>, 'onClick' | 'color' | 'target' | 'rel'> & {
13139
+ declare module '@elastic/eui/src/components/combo_box/combo_box' {
13140
+ /**
13141
+ * Elements within EuiComboBox which would normally be tabbable (inputs, buttons) have been removed
13142
+ * from the tab order with tabindex={-1} so that we can control the keyboard navigation interface.
13143
+ */
13144
+ import React, { Component, FocusEventHandler, HTMLAttributes, KeyboardEventHandler, RefCallback } from 'react';
13145
+ import { CommonProps } from '@elastic/eui/src/components/common';
13146
+ import { EuiInputPopoverProps } from '@elastic/eui/src/components/popover';
13147
+ import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form';
13148
+ import type { EuiTextTruncateProps } from '@elastic/eui/src/components/text_truncate';
13149
+ import { SortMatchesBy } from '@elastic/eui/src/components/combo_box/matching_options';
13150
+ import { EuiComboBoxInputProps } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input';
13151
+ import { EuiComboBoxOptionsListProps } from '@elastic/eui/src/components/combo_box/combo_box_options_list/combo_box_options_list';
13152
+ import { OptionHandler, RefInstance, EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, EuiComboBoxOptionMatcher } from '@elastic/eui/src/components/combo_box/types'; type DrillProps<T> = Pick<EuiComboBoxOptionsListProps<T>, 'customOptionText' | 'onCreateOption' | 'options' | 'renderOption' | 'selectedOptions'>;
13153
+ export interface _EuiComboBoxProps<T> extends CommonProps, Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>, DrillProps<T> {
13154
+ 'data-test-subj'?: string;
13155
+ /**
13156
+ * Updates the list of options asynchronously
13157
+ */
13158
+ async: boolean;
13159
+ className?: string;
13160
+ /**
13161
+ * When `true` creates a shorter height input
13162
+ */
13163
+ compressed: boolean;
13164
+ /**
13165
+ * When `true` expands to the entire width available
13166
+ */
13167
+ fullWidth: boolean;
13168
+ id?: string;
13169
+ inputRef?: RefCallback<HTMLInputElement>;
13170
+ /**
13171
+ * Shows a button that quickly clears any input
13172
+ */
13173
+ isClearable: boolean;
13174
+ /**
13175
+ * Disables the input
13176
+ */
13177
+ isDisabled?: boolean;
13178
+ isInvalid?: boolean;
13179
+ /**
13180
+ * Swaps the dropdown options for a loading spinner
13181
+ */
13182
+ isLoading?: boolean;
13183
+ /**
13184
+ * Doesn't show the suggestions list/dropdown
13185
+ */
13186
+ noSuggestions?: boolean;
13187
+ onBlur?: FocusEventHandler<HTMLDivElement>;
13188
+ /**
13189
+ * Called every time the query in the combo box is parsed
13190
+ */
13191
+ onChange?: (options: Array<EuiComboBoxOptionOption<T>>) => void;
13192
+ onFocus?: FocusEventHandler<HTMLDivElement>;
13193
+ onKeyDown?: KeyboardEventHandler<HTMLDivElement>;
13227
13194
  /**
13228
- * Size of the label text
13195
+ * Called every time the text query in the search box is parsed
13229
13196
  */
13230
- size?: EuiListGroupItemSize;
13197
+ onSearchChange?: (searchValue: string, hasMatchingOptions?: boolean) => void;
13231
13198
  /**
13232
- * By default the item will get the color `text`.
13233
- * You can customize the color of the item by passing a color name.
13199
+ * Sets the placeholder of the input
13234
13200
  */
13235
- color?: EuiListGroupItemColor;
13201
+ placeholder?: string;
13236
13202
  /**
13237
- * Content to be displayed in the list item
13203
+ * Every option must be the same height and must be explicitly set if using a custom render
13238
13204
  */
13239
- label: ReactNode;
13205
+ rowHeight?: number;
13240
13206
  /**
13241
- * Apply styles indicating an item is active
13207
+ * When `true` only allows the user to select a single option. Set to `{ asPlainText: true }` to not render input selection as pills
13242
13208
  */
13243
- isActive?: boolean;
13209
+ singleSelection: boolean | EuiComboBoxSingleSelectionShape;
13244
13210
  /**
13245
- * Apply styles indicating an item is disabled
13211
+ * Display matching options by:
13212
+ * `startsWith`: moves items that start with search value to top of the list;
13213
+ * `none`: don't change the sort order of initial object
13246
13214
  */
13247
- isDisabled?: boolean;
13215
+ sortMatchesBy: SortMatchesBy;
13248
13216
  /**
13249
- * Make the list item label a link.
13250
- * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
13217
+ * Whether to match options with case sensitivity.
13251
13218
  */
13252
- href?: string;
13253
- rel?: string;
13254
- target?: string;
13219
+ isCaseSensitive?: boolean;
13255
13220
  /**
13256
- * Set to true to show an icon indicating that it is an external link;
13257
- * Defaults to true if `target="_blank"`
13221
+ * Optional custom option matcher function
13222
+ *
13223
+ * @example
13224
+ * const exactEqualityMatcher: EuiComboBoxOptionMatcher = ({ option, searchValue }) => {
13225
+ * return option.label === searchValue;
13226
+ * }
13258
13227
  */
13259
- external?: boolean;
13228
+ optionMatcher?: EuiComboBoxOptionMatcher<T>;
13260
13229
  /**
13261
- * Adds `EuiIcon` of `EuiIcon.type`
13230
+ * Creates an input group with element(s) coming before input. It won't show if `singleSelection` is set to `false`.
13231
+ * `string` | `ReactElement` or an array of these
13262
13232
  */
13263
- iconType?: IconType;
13233
+ prepend?: EuiFormControlLayoutProps['prepend'];
13264
13234
  /**
13265
- * Further extend the props applied to EuiIcon
13235
+ * Creates an input group with element(s) coming after input. It won't show if `singleSelection` is set to `false`.
13236
+ * `string` | `ReactElement` or an array of these
13266
13237
  */
13267
- iconProps?: Omit<EuiIconProps, 'type'>;
13238
+ append?: EuiFormControlLayoutProps['append'];
13268
13239
  /**
13269
- * Custom node to pass as the icon. Cannot be used in conjunction
13270
- * with `iconType` and `iconProps`.
13240
+ * A special character to use as a value separator. Typically a comma `,`
13271
13241
  */
13272
- icon?: ReactElement;
13242
+ delimiter?: string;
13273
13243
  /**
13274
- * Display tooltip on list item
13244
+ * Specifies that the input should have focus when the component loads
13275
13245
  */
13276
- showToolTip?: boolean;
13246
+ autoFocus?: boolean;
13277
13247
  /**
13278
- * An object of #EuiListGroupItemExtraAction props.
13279
- * Adds an `EuiButtonIcon` to the right side of the item; `iconType` is required;
13280
- * pass `alwaysShow` if you don't want the default behavior of only showing on hover
13248
+ * Required when rendering without a visible label from [EuiFormRow](/#/forms/form-layouts).
13281
13249
  */
13282
- extraAction?: EuiListGroupItemExtraActionProps;
13250
+ 'aria-label'?: string;
13283
13251
  /**
13284
- * Make the list item label a button.
13285
- * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
13252
+ * Reference ID of a text element containing the visible label for the combo box when not
13253
+ * supplied by `aria-label` or from [EuiFormRow](/#/forms/form-layouts).
13286
13254
  */
13287
- onClick?: MouseEventHandler<HTMLButtonElement>;
13255
+ 'aria-labelledby'?: string;
13288
13256
  /**
13289
- * Allow link text to wrap
13257
+ * By default, EuiComboBox will truncate option labels at the end of
13258
+ * the string. You can use pass in a custom truncation configuration that
13259
+ * accepts any [EuiTextTruncate](/#/utilities/text-truncation) prop,
13260
+ * except for `text` and `children`.
13261
+ *
13262
+ * Note: when searching, custom truncation props are ignored. The highlighted search
13263
+ * text will always take precedence.
13290
13264
  */
13291
- wrapText?: boolean;
13265
+ truncationProps?: Partial<Omit<EuiTextTruncateProps, 'text' | 'children'>>;
13292
13266
  /**
13293
- * Pass-through ref reference specifically for targeting
13294
- * instances where the item content is rendered as a `button`
13267
+ * Allows customizing the underlying EuiInputPopover component
13268
+ * (except for props that control state).
13295
13269
  */
13296
- buttonRef?: React.Ref<HTMLButtonElement>;
13270
+ inputPopoverProps?: Partial<Omit<EuiInputPopoverProps, 'input' | 'isOpen' | 'closePopover'>>;
13271
+ } type DefaultProps<T> = Omit<(typeof EuiComboBox)['defaultProps'], 'options' | 'selectedOptions' | 'optionMatcher'> & {
13272
+ options: Array<EuiComboBoxOptionOption<T>>;
13273
+ selectedOptions: Array<EuiComboBoxOptionOption<T>>;
13274
+ optionMatcher: EuiComboBoxOptionMatcher<T>;
13275
+ };
13276
+ export type EuiComboBoxProps<T> = Omit<_EuiComboBoxProps<T>, keyof DefaultProps<T>> & Partial<DefaultProps<T>>;
13277
+ interface EuiComboBoxState<T> {
13278
+ activeOptionIndex: number;
13279
+ hasFocus: boolean;
13280
+ isListOpen: boolean;
13281
+ matchingOptions: Array<EuiComboBoxOptionOption<T>>;
13282
+ searchValue: string;
13283
+ }
13284
+ export class EuiComboBox<T> extends Component<_EuiComboBoxProps<T>, EuiComboBoxState<T>> {
13285
+ static defaultProps: {
13286
+ async: boolean;
13287
+ compressed: boolean;
13288
+ fullWidth: boolean;
13289
+ isClearable: boolean;
13290
+ options: never[];
13291
+ selectedOptions: never[];
13292
+ singleSelection: boolean;
13293
+ prepend: undefined;
13294
+ append: undefined;
13295
+ sortMatchesBy: "none";
13296
+ optionMatcher: EuiComboBoxOptionMatcher<unknown>;
13297
+ };
13298
+ state: EuiComboBoxState<T>;
13299
+ rootId: (idSuffix?: string) => string;
13300
+ comboBoxRefInstance: RefInstance<HTMLDivElement>;
13301
+ comboBoxRefCallback: RefCallback<HTMLDivElement>;
13302
+ searchInputRefInstance: RefInstance<HTMLInputElement>;
13303
+ searchInputRefCallback: RefCallback<HTMLInputElement>;
13304
+ listRefInstance: RefInstance<HTMLDivElement>;
13305
+ listRefCallback: RefCallback<HTMLDivElement>;
13306
+ openList: () => void;
13307
+ closeList: () => void;
13308
+ incrementActiveOptionIndex: (amount: number) => void;
13309
+ hasActiveOption: () => boolean;
13310
+ clearActiveOption: () => void;
13311
+ clearSearchValue: () => void;
13312
+ addCustomOption: (isContainerBlur: boolean, searchValue: string) => void;
13313
+ doesSearchMatchOnlyOption: () => EuiComboBoxOptionOption<T> | undefined;
13314
+ areAllOptionsSelected: () => boolean;
13315
+ onComboBoxFocus: FocusEventHandler<HTMLInputElement>;
13316
+ setCustomOptions: (isContainerBlur: boolean) => void;
13317
+ onContainerBlur: FocusEventHandler<HTMLDivElement>;
13318
+ onKeyDown: KeyboardEventHandler<HTMLDivElement>;
13319
+ onOptionEnterKey: OptionHandler<T>;
13320
+ onOptionClick: OptionHandler<T>;
13321
+ onAddOption: (addedOption: EuiComboBoxOptionOption<T>, isContainerBlur?: boolean | undefined) => void;
13322
+ onRemoveOption: OptionHandler<T>;
13323
+ clearSelectedOptions: () => void;
13324
+ onComboBoxClick: () => void;
13325
+ onOpenListClick: () => void;
13326
+ onOptionListScroll: () => void;
13327
+ onSearchChange: NonNullable<EuiComboBoxInputProps<T>['onChange']>;
13328
+ static getDerivedStateFromProps<T>(nextProps: _EuiComboBoxProps<T>, prevState: EuiComboBoxState<T>): Partial<EuiComboBoxState<T>>;
13329
+ render(): React.JSX.Element;
13330
+ }
13331
+ export {};
13332
+
13333
+ }
13334
+ declare module '@elastic/eui/src/components/combo_box/combo_box_input' {
13335
+ export type { EuiComboBoxInputProps } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input';
13336
+ export { EuiComboBoxInput } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_input';
13337
+ export type { EuiComboBoxPillProps } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_pill';
13338
+ export { EuiComboBoxPill } from '@elastic/eui/src/components/combo_box/combo_box_input/combo_box_pill';
13339
+
13340
+ }
13341
+ declare module '@elastic/eui/src/components/combo_box' {
13342
+ export type { EuiComboBoxProps } from '@elastic/eui/src/components/combo_box/combo_box';
13343
+ export { EuiComboBox } from '@elastic/eui/src/components/combo_box/combo_box';
13344
+ export * from '@elastic/eui/src/components/combo_box/combo_box_input';
13345
+ export * from '@elastic/eui/src/components/combo_box/combo_box_options_list';
13346
+ export type { EuiComboBoxOptionOption, EuiComboBoxSingleSelectionShape, EuiComboBoxOptionMatcher, EuiComboBoxOptionMatcherArgs, } from '@elastic/eui/src/components/combo_box/types';
13347
+ export { createPartialStringEqualityOptionMatcher } from '@elastic/eui/src/components/combo_box/matching_options';
13348
+
13349
+ }
13350
+ declare module '@elastic/eui/src/components/timeline/timeline_item_event.styles' {
13351
+ export const euiTimelineItemEventStyles: () => {
13352
+ euiTimelineItemEvent: import("@emotion/utils").SerializedStyles;
13353
+ top: import("@emotion/utils").SerializedStyles;
13354
+ center: import("@emotion/utils").SerializedStyles;
13355
+ };
13356
+
13357
+ }
13358
+ declare module '@elastic/eui/src/components/timeline/timeline_item_event' {
13359
+ import { FunctionComponent, ReactNode } from 'react';
13360
+ import { EuiTimelineItemVerticalAlign } from '@elastic/eui/src/components/timeline/timeline_item';
13361
+ export interface EuiTimelineItemEventProps {
13297
13362
  /**
13298
- * Text to be displayed in the tooltip when `showToolTip` is true.
13299
- * By default the text will be same as the label text.
13363
+ * Accepts any node. But preferably `EuiPanel`
13300
13364
  */
13301
- toolTipText?: string;
13365
+ children: ReactNode;
13366
+ verticalAlign?: EuiTimelineItemVerticalAlign;
13367
+ }
13368
+ export const EuiTimelineItemEvent: FunctionComponent<EuiTimelineItemEventProps>;
13369
+
13370
+ }
13371
+ declare module '@elastic/eui/src/components/timeline/timeline_item_icon.styles' {
13372
+ import { UseEuiTheme } from '@elastic/eui/src/services';
13373
+ export const euiTimelineItemIconStyles: ({ euiTheme }: UseEuiTheme) => {
13374
+ euiTimelineItemIcon: import("@emotion/utils").SerializedStyles;
13375
+ euiTimelineItemIcon__content: import("@emotion/utils").SerializedStyles;
13376
+ top: import("@emotion/utils").SerializedStyles;
13377
+ center: import("@emotion/utils").SerializedStyles;
13378
+ };
13379
+
13380
+ }
13381
+ declare module '@elastic/eui/src/components/timeline/timeline_item_icon' {
13382
+ import { FunctionComponent, ReactNode } from 'react';
13383
+ import { IconType } from '@elastic/eui/src/components/icon';
13384
+ import { EuiTimelineItemVerticalAlign } from '@elastic/eui/src/components/timeline/timeline_item';
13385
+ export interface EuiTimelineItemIconProps {
13302
13386
  /**
13303
- * Allows customizing the tooltip shown when `showToolTip` is true.
13304
- * Accepts any props that [EuiToolTip](/#/display/tooltip) accepts.
13387
+ * Any `ReactNode`, but preferably `EuiAvatar`, or a `string` as an `EuiIcon['type']`.
13305
13388
  */
13306
- toolTipProps?: Partial<EuiToolTipProps>;
13389
+ icon: ReactNode | IconType;
13390
+ verticalAlign?: EuiTimelineItemVerticalAlign;
13391
+ /**
13392
+ * Specify an `aria-label` for the icon when passed as an `IconType`.
13393
+ * If no `aria-label` is passed we assume the icon is purely decorative.
13394
+ */
13395
+ iconAriaLabel?: string;
13396
+ }
13397
+ export const EuiTimelineItemIcon: FunctionComponent<EuiTimelineItemIconProps>;
13398
+
13399
+ }
13400
+ declare module '@elastic/eui/src/components/timeline/timeline_item.styles' {
13401
+ export const euiTimelineItemStyles: () => {
13402
+ euiTimelineItem: import("@emotion/utils").SerializedStyles;
13403
+ top: import("@emotion/utils").SerializedStyles;
13404
+ center: import("@emotion/utils").SerializedStyles;
13307
13405
  };
13308
- export const EuiListGroupItem: FunctionComponent<EuiListGroupItemProps>;
13309
13406
 
13310
13407
  }
13311
- declare module '@elastic/eui/src/components/list_group/list_group.styles' {
13408
+ declare module '@elastic/eui/src/components/timeline/timeline_item' {
13409
+ import { FunctionComponent, HTMLAttributes } from 'react';
13410
+ import { CommonProps } from '@elastic/eui/src/components/common';
13411
+ import { EuiTimelineItemEventProps } from '@elastic/eui/src/components/timeline/timeline_item_event';
13412
+ import { EuiTimelineItemIconProps } from '@elastic/eui/src/components/timeline/timeline_item_icon';
13413
+ export const VERTICAL_ALIGN: readonly ["top", "center"];
13414
+ export type EuiTimelineItemVerticalAlign = (typeof VERTICAL_ALIGN)[number];
13415
+ export interface EuiTimelineItemProps extends Omit<HTMLAttributes<HTMLElement>, 'children'>, CommonProps, Omit<EuiTimelineItemIconProps, 'verticalAlign'>, Omit<EuiTimelineItemEventProps, 'verticalAlign'> {
13416
+ /**
13417
+ * Vertical alignment of the event with the icon
13418
+ */
13419
+ verticalAlign?: EuiTimelineItemVerticalAlign;
13420
+ }
13421
+ export const EuiTimelineItem: FunctionComponent<EuiTimelineItemProps>;
13422
+
13423
+ }
13424
+ declare module '@elastic/eui/src/components/timeline/timeline.styles' {
13425
+ import { UseEuiTheme } from '@elastic/eui/src/services';
13426
+ export const euiTimelineStyles: ({ euiTheme }: UseEuiTheme) => {
13427
+ euiTimeline: import("@emotion/utils").SerializedStyles;
13428
+ m: import("@emotion/utils").SerializedStyles;
13429
+ l: import("@emotion/utils").SerializedStyles;
13430
+ xl: import("@emotion/utils").SerializedStyles;
13431
+ };
13432
+
13433
+ }
13434
+ declare module '@elastic/eui/src/components/timeline/timeline' {
13435
+ import { HTMLAttributes, FunctionComponent } from 'react';
13436
+ import { CommonProps } from '@elastic/eui/src/components/common';
13437
+ import { EuiTimelineItemProps } from '@elastic/eui/src/components/timeline/timeline_item';
13438
+ export const GUTTER_SIZES: readonly ["m", "l", "xl"];
13439
+ export type EuiTimelineGutterSize = (typeof GUTTER_SIZES)[number];
13440
+ export interface EuiTimelineProps extends HTMLAttributes<HTMLOListElement>, CommonProps {
13441
+ /**
13442
+ * List of timeline items to render. See #EuiTimelineItem
13443
+ */
13444
+ items?: EuiTimelineItemProps[];
13445
+ /**
13446
+ * Sets the size of the vertical space between each timeline item
13447
+ */
13448
+ gutterSize?: EuiTimelineGutterSize;
13449
+ }
13450
+ export const EuiTimeline: FunctionComponent<EuiTimelineProps>;
13451
+
13452
+ }
13453
+ declare module '@elastic/eui/src/components/timeline' {
13454
+ export type { EuiTimelineProps } from '@elastic/eui/src/components/timeline/timeline';
13455
+ export { EuiTimeline } from '@elastic/eui/src/components/timeline/timeline';
13456
+ export type { EuiTimelineItemProps, EuiTimelineItemVerticalAlign, } from '@elastic/eui/src/components/timeline/timeline_item';
13457
+ export { EuiTimelineItem } from '@elastic/eui/src/components/timeline/timeline_item';
13458
+ export { EuiTimelineItemEvent } from '@elastic/eui/src/components/timeline/timeline_item_event';
13459
+ export { EuiTimelineItemIcon } from '@elastic/eui/src/components/timeline/timeline_item_icon';
13460
+
13461
+ }
13462
+ declare module '@elastic/eui/src/components/comment_list/comment_event.styles' {
13312
13463
  import { UseEuiTheme } from '@elastic/eui/src/services';
13313
- export const euiListGroupStyles: (euiThemeContext: UseEuiTheme) => {
13314
- euiListGroup: import("@emotion/utils").SerializedStyles;
13315
- flush: import("@emotion/utils").SerializedStyles;
13316
- bordered: import("@emotion/utils").SerializedStyles;
13317
- maxWidthDefault: import("@emotion/utils").SerializedStyles;
13318
- none: import("@emotion/utils").SerializedStyles;
13319
- s: import("@emotion/utils").SerializedStyles;
13320
- m: import("@emotion/utils").SerializedStyles;
13464
+ export const euiCommentEventStyles: (euiThemeContext: UseEuiTheme) => {
13465
+ euiCommentEvent: import("@emotion/utils").SerializedStyles;
13466
+ border: import("@emotion/utils").SerializedStyles;
13467
+ };
13468
+ export const euiCommentEventHeaderStyles: (euiThemeContext: UseEuiTheme) => {
13469
+ euiCommentEvent__header: import("@emotion/utils").SerializedStyles;
13470
+ border: import("@emotion/utils").SerializedStyles;
13471
+ euiCommentEvent__headerMain: import("@emotion/utils").SerializedStyles;
13472
+ euiCommentEvent__headerData: import("@emotion/utils").SerializedStyles;
13473
+ euiCommentEvent__headerEventIcon: import("@emotion/utils").SerializedStyles;
13474
+ euiCommentEvent__headerUsername: import("@emotion/utils").SerializedStyles;
13475
+ euiCommentEvent__headerEvent: import("@emotion/utils").SerializedStyles;
13476
+ euiCommentEvent__headerActions: import("@emotion/utils").SerializedStyles;
13477
+ };
13478
+ export const euiCommentEventBodyStyles: ({ euiTheme }: UseEuiTheme) => {
13479
+ euiCommentEvent__body: import("@emotion/utils").SerializedStyles;
13480
+ regular: import("@emotion/utils").SerializedStyles;
13481
+ update: import("@emotion/utils").SerializedStyles;
13482
+ custom: import("@emotion/utils").SerializedStyles;
13321
13483
  };
13322
13484
 
13323
13485
  }
13324
- declare module '@elastic/eui/src/components/list_group/list_group' {
13325
- import { FunctionComponent, HTMLAttributes, CSSProperties } from 'react';
13326
- import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
13486
+ declare module '@elastic/eui/src/components/comment_list/comment_event' {
13487
+ import { FunctionComponent, ReactNode } from 'react';
13327
13488
  import { CommonProps } from '@elastic/eui/src/components/common';
13328
- export const GUTTER_SIZES: readonly ["none", "s", "m"];
13329
- export type EuiListGroupGutterSize = (typeof GUTTER_SIZES)[number];
13330
- export type EuiListGroupProps = CommonProps & Omit<HTMLAttributes<HTMLUListElement>, 'color'> & {
13489
+ import { IconType } from '@elastic/eui/src/components/icon';
13490
+ import { EuiPanelProps } from '@elastic/eui/src/components/panel';
13491
+ export interface EuiCommentEventProps extends CommonProps {
13331
13492
  /**
13332
- * Add a border to the list container
13493
+ * Author of the comment.
13333
13494
  */
13334
- bordered?: boolean;
13495
+ username: ReactNode;
13335
13496
  /**
13336
- * Remove container padding, stretching list items to the edges
13497
+ * Time of occurrence of the event. Its format is set on the consumer's side
13337
13498
  */
13338
- flush?: boolean;
13499
+ timestamp?: ReactNode;
13339
13500
  /**
13340
- * Spacing between list items
13501
+ * Describes the event that took place
13341
13502
  */
13342
- gutterSize?: EuiListGroupGutterSize;
13503
+ event?: ReactNode;
13343
13504
  /**
13344
- * Items to display in this group. See #EuiListGroupItem
13505
+ * Custom actions that the user can perform from the comment's header
13345
13506
  */
13346
- listItems?: EuiListGroupItemProps[];
13507
+ actions?: ReactNode | ReactNode[];
13347
13508
  /**
13348
- * Change the colors of all `listItems` at once
13349
- * @default text
13509
+ * Accepts any ReactNode. Renders in a panel within the comment event.
13350
13510
  */
13351
- color?: EuiListGroupItemProps['color'];
13511
+ children?: ReactNode;
13352
13512
  /**
13353
- * Change the size of all `listItems` at once
13354
- * @default m
13513
+ * Custom icon that shows before the username.
13355
13514
  */
13356
- size?: EuiListGroupItemProps['size'];
13515
+ eventIcon?: IconType;
13357
13516
  /**
13358
- * Sets the max-width of the page.
13359
- * Set to `true` to use the default size,
13360
- * set to `false` to not restrict the width,
13361
- * or set to a number/string for a custom CSS width/measurement.
13517
+ * Specify an `aria-label` for the `eventIcon`.
13518
+ * If no `aria-label` is passed we assume the icon is purely decorative.
13362
13519
  */
13363
- maxWidth?: boolean | CSSProperties['maxWidth'];
13520
+ eventIconAriaLabel?: string;
13364
13521
  /**
13365
- * Display tooltips on all list items
13522
+ * Background color for the comment's header.
13366
13523
  */
13367
- showToolTips?: boolean;
13524
+ eventColor?: EuiPanelProps['color'];
13525
+ }
13526
+ export const EuiCommentEvent: FunctionComponent<EuiCommentEventProps>;
13527
+
13528
+ }
13529
+ declare module '@elastic/eui/src/components/comment_list/comment_timeline' {
13530
+ import { FunctionComponent, ReactNode } from 'react';
13531
+ import { CommonProps } from '@elastic/eui/src/components/common';
13532
+ import { EuiAvatarProps } from '@elastic/eui/src/components/avatar';
13533
+ export interface EuiCommentTimelineProps extends CommonProps {
13368
13534
  /**
13369
- * Allow link text to wrap vs truncated
13535
+ * Main avatar that accompanies the comment. Should indicate who is the author of the comment.
13536
+ * Any `ReactNode`, but preferably `EuiAvatar`, or a `string` as an `EuiAvatarProps['iconType']`.
13537
+ * If no `timelineAvatar` is passed, the `userAvatar` icon will be used as the avatar.
13370
13538
  */
13371
- wrapText?: boolean;
13372
- ariaLabelledby?: string;
13373
- };
13374
- export const EuiListGroup: FunctionComponent<EuiListGroupProps>;
13539
+ timelineAvatar?: ReactNode | EuiAvatarProps['iconType'];
13540
+ /**
13541
+ * Specify an `aria-label` and `title` for the `timelineAvatar` when passed as an `IconType` or when nothing is passed.
13542
+ * If no `timelineAvatarAriaLabel` is passed we assume the avatar is purely decorative.
13543
+ */
13544
+ timelineAvatarAriaLabel?: string;
13545
+ }
13546
+ export const EuiCommentTimeline: FunctionComponent<EuiCommentTimelineProps>;
13375
13547
 
13376
13548
  }
13377
- declare module '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group.styles' {
13378
- import { UseEuiTheme } from '@elastic/eui/src/services';
13379
- export const euiPinnableListGroupItemExtraActionStyles: ({ euiTheme, }: UseEuiTheme) => {
13380
- euiPinnableListGroup__itemExtraAction: import("@emotion/utils").SerializedStyles;
13381
- pinned: import("@emotion/utils").SerializedStyles;
13382
- };
13549
+ declare module '@elastic/eui/src/components/comment_list/comment' {
13550
+ import { FunctionComponent } from 'react';
13551
+ import { EuiCommentEventProps } from '@elastic/eui/src/components/comment_list/comment_event';
13552
+ import { EuiCommentTimelineProps } from '@elastic/eui/src/components/comment_list/comment_timeline';
13553
+ export interface EuiCommentProps extends EuiCommentEventProps, EuiCommentTimelineProps {
13554
+ }
13555
+ export const EuiComment: FunctionComponent<EuiCommentProps>;
13383
13556
 
13384
13557
  }
13385
- declare module '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group' {
13558
+ declare module '@elastic/eui/src/components/comment_list/comment_list' {
13386
13559
  import { FunctionComponent } from 'react';
13387
- import { CommonProps } from '@elastic/eui/src/components/common';
13388
- import { EuiListGroupProps } from '@elastic/eui/src/components/list_group/list_group';
13389
- import { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
13390
- export type EuiPinnableListGroupItemProps = EuiListGroupItemProps & {
13560
+ import { EuiCommentProps } from '@elastic/eui/src/components/comment_list/comment';
13561
+ import { EuiTimelineProps } from '@elastic/eui/src/components/timeline';
13562
+ export type EuiCommentListProps = Omit<EuiTimelineProps, 'items' | 'gutterSize'> & {
13391
13563
  /**
13392
- * Saves the pinned status and changes the visibility of the pin icon
13564
+ * List of comments to render. See #EuiComment
13393
13565
  */
13394
- pinned?: boolean;
13566
+ comments?: EuiCommentProps[];
13395
13567
  /**
13396
- * Passing `onPinClick` to the full EuiPinnableListGroup, will make every item pinnable.
13397
- * Set this property to `false` to turn off individual item pinnability
13568
+ * Sets the size of the vertical space between each comment
13398
13569
  */
13399
- pinnable?: boolean;
13570
+ gutterSize?: EuiTimelineProps['gutterSize'];
13400
13571
  };
13401
- export interface EuiPinnableListGroupProps extends CommonProps, EuiListGroupProps {
13402
- /**
13403
- * Extends `EuiListGroupItemProps`, at the very least, expecting a `label`.
13404
- * See #EuiPinnableListGroupItem
13405
- */
13406
- listItems: EuiPinnableListGroupItemProps[];
13407
- /**
13408
- * Shows the pin icon and calls this function on click.
13409
- * Returns `item: EuiPinnableListGroupItemProps`
13410
- */
13411
- onPinClick: (item: EuiPinnableListGroupItemProps) => void;
13412
- /**
13413
- * The pin icon needs a title/aria-label for accessibility.
13414
- * It is a function that passes the item back and must return a string `(item) => string`.
13415
- * Default is `"Pin item"`
13416
- */
13417
- pinTitle?: (item: EuiPinnableListGroupItemProps) => string;
13418
- /**
13419
- * The unpin icon needs a title/aria-label for accessibility.
13420
- * It is a function that passes the item back and must return a string `(item) => string`.
13421
- * Default is `"Unpin item"`
13422
- */
13423
- unpinTitle?: (item: EuiPinnableListGroupItemProps) => string;
13424
- }
13425
- export const EuiPinnableListGroup: FunctionComponent<EuiPinnableListGroupProps>;
13426
-
13427
- }
13428
- declare module '@elastic/eui/src/components/list_group/pinnable_list_group' {
13429
- export type { EuiPinnableListGroupProps, EuiPinnableListGroupItemProps, } from '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group';
13430
- export { EuiPinnableListGroup } from '@elastic/eui/src/components/list_group/pinnable_list_group/pinnable_list_group';
13572
+ export const EuiCommentList: FunctionComponent<EuiCommentListProps>;
13431
13573
 
13432
13574
  }
13433
- declare module '@elastic/eui/src/components/list_group' {
13434
- export type { EuiListGroupProps } from '@elastic/eui/src/components/list_group/list_group';
13435
- export { EuiListGroup } from '@elastic/eui/src/components/list_group/list_group';
13436
- export type { EuiListGroupItemProps } from '@elastic/eui/src/components/list_group/list_group_item';
13437
- export type { EuiListGroupItemExtraActionProps } from '@elastic/eui/src/components/list_group/list_group_item_extra_action';
13438
- export { EuiListGroupItem } from '@elastic/eui/src/components/list_group/list_group_item';
13439
- export type { EuiPinnableListGroupProps, EuiPinnableListGroupItemProps, } from '@elastic/eui/src/components/list_group/pinnable_list_group';
13440
- export { EuiPinnableListGroup } from '@elastic/eui/src/components/list_group/pinnable_list_group';
13575
+ declare module '@elastic/eui/src/components/comment_list' {
13576
+ export type { EuiCommentProps } from '@elastic/eui/src/components/comment_list/comment';
13577
+ export { EuiComment } from '@elastic/eui/src/components/comment_list/comment';
13578
+ export type { EuiCommentEventProps } from '@elastic/eui/src/components/comment_list/comment_event';
13579
+ export { EuiCommentEvent } from '@elastic/eui/src/components/comment_list/comment_event';
13580
+ export type { EuiCommentListProps } from '@elastic/eui/src/components/comment_list/comment_list';
13581
+ export { EuiCommentList } from '@elastic/eui/src/components/comment_list/comment_list';
13441
13582
 
13442
13583
  }
13443
13584
  declare module '@elastic/eui/src/components/datagrid/utils/data_grid_schema' {
@@ -14879,8 +15020,9 @@ declare module '@elastic/eui/src/components/datagrid/body/header/column_actions'
14879
15020
  sorting: EuiDataGridSorting | undefined;
14880
15021
  switchColumnPos: (colFromId: string, colToId: string) => void;
14881
15022
  setFocusedCell: DataGridFocusContextShape['setFocusedCell'];
15023
+ columnFocusIndex: number;
14882
15024
  }
14883
- export const getColumnActions: ({ column, columns, schema, schemaDetectors, setVisibleColumns, focusFirstVisibleInteractiveCell, setIsPopoverOpen, sorting, switchColumnPos, setFocusedCell, }: GetColumnActions) => EuiListGroupItemProps[]; type HideColumnAction = Pick<GetColumnActions, 'column' | 'columns' | 'setVisibleColumns' | 'focusFirstVisibleInteractiveCell'>;
15025
+ export const getColumnActions: ({ column, columns, schema, schemaDetectors, setVisibleColumns, focusFirstVisibleInteractiveCell, setIsPopoverOpen, sorting, switchColumnPos, setFocusedCell, columnFocusIndex, }: GetColumnActions) => EuiListGroupItemProps[]; type HideColumnAction = Pick<GetColumnActions, 'column' | 'columns' | 'setVisibleColumns' | 'focusFirstVisibleInteractiveCell'>;
14884
15026
  export const getHideColumnAction: ({ column, columns, setVisibleColumns, focusFirstVisibleInteractiveCell, }: HideColumnAction) => EuiListGroupItemProps[]; type SortColumnActions = Pick<GetColumnActions, 'column' | 'sorting' | 'schema' | 'schemaDetectors'>;
14885
15027
  export const getSortColumnActions: ({ column, sorting, schema, schemaDetectors, }: SortColumnActions) => EuiListGroupItemProps[];
14886
15028
  /**
@@ -15633,7 +15775,7 @@ declare module '@elastic/eui/src/components/date_picker/react-datepicker/src' {
15633
15775
  import * as React from 'react';
15634
15776
  import * as moment from 'moment';
15635
15777
 
15636
- import {PopoverAnchorPosition} from '@elastic/eui/src/components/popover';
15778
+ import { EuiPopoverProps, PopoverAnchorPosition } from '@elastic/eui/src/components/popover';
15637
15779
 
15638
15780
  export interface ReactDatePickerProps {
15639
15781
  /**
@@ -15747,6 +15889,7 @@ declare module '@elastic/eui/src/components/date_picker/react-datepicker/src' {
15747
15889
  popperClassName?: string;
15748
15890
  popperContainer?(props: { children: React.ReactNode[] }): React.ReactNode;
15749
15891
  popperPlacement?: PopoverAnchorPosition;
15892
+ popperProps?: Partial<EuiPopoverProps>;
15750
15893
  preventOpenOnFocus?: boolean;
15751
15894
  readOnly?: boolean;
15752
15895
  required?: boolean;
@@ -16660,7 +16803,7 @@ declare module '@elastic/eui/src/components/date_picker/super_date_picker/super_
16660
16803
  /**
16661
16804
  * Passes props to `EuiToolTip`
16662
16805
  */
16663
- toolTipProps?: EuiToolTipProps;
16806
+ toolTipProps?: Partial<EuiToolTipProps>;
16664
16807
  /**
16665
16808
  * Returns an IconButton instead
16666
16809
  */
@@ -18815,15 +18958,6 @@ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_too
18815
18958
  export { tooltipMarkdownRenderer as renderer } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_tooltip/renderer';
18816
18959
  export * from '@elastic/eui/src/components/markdown_editor/plugins/markdown_tooltip/types';
18817
18960
 
18818
- }
18819
- declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins' {
18820
- import { EuiMarkdownEditorUiPlugin } from '@elastic/eui/src/components/markdown_editor/markdown_types';
18821
- export type DefaultEuiMarkdownUiPlugins = EuiMarkdownEditorUiPlugin[];
18822
- export const getDefaultEuiMarkdownUiPlugins: ({ exclude, }?: {
18823
- exclude?: "tooltip"[] | undefined;
18824
- }) => DefaultEuiMarkdownUiPlugins;
18825
- export const defaultUiPlugins: DefaultEuiMarkdownUiPlugins;
18826
-
18827
18961
  }
18828
18962
  declare module '@elastic/eui/src/components/markdown_editor/plugins/remark/remark_prismjs' {
18829
18963
  import { Plugin } from 'unified';
@@ -18883,10 +19017,9 @@ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_lin
18883
19017
  }
18884
19018
  declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins' {
18885
19019
  import { PluggableList } from 'unified';
19020
+ import type { DefaultPluginsConfig } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/plugins';
18886
19021
  export type DefaultEuiMarkdownParsingPlugins = PluggableList;
18887
- export const getDefaultEuiMarkdownParsingPlugins: ({ exclude, }?: {
18888
- exclude?: "tooltip"[] | undefined;
18889
- }) => DefaultEuiMarkdownParsingPlugins;
19022
+ export const getDefaultEuiMarkdownParsingPlugins: ({ exclude, }?: DefaultPluginsConfig) => DefaultEuiMarkdownParsingPlugins;
18890
19023
  export const defaultParsingPlugins: DefaultEuiMarkdownParsingPlugins;
18891
19024
 
18892
19025
  }
@@ -18895,6 +19028,7 @@ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_def
18895
19028
  import { Plugin, PluggableList, Pluggable, Settings } from 'unified';
18896
19029
  import { Options as Remark2RehypeOptions } from 'mdast-util-to-hast';
18897
19030
  import rehype2react from 'rehype-react';
19031
+ import type { DefaultPluginsConfig } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/plugins';
18898
19032
  export interface Rehype2ReactOptions {
18899
19033
  components: {
18900
19034
  [key: string]: React.ComponentType<any>;
@@ -18912,9 +19046,7 @@ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_def
18912
19046
  ],
18913
19047
  ...PluggableList
18914
19048
  ];
18915
- export const getDefaultEuiMarkdownProcessingPlugins: ({ exclude, }?: {
18916
- exclude?: "tooltip"[] | undefined;
18917
- }) => [[Plugin<[(Settings | undefined)?], Settings>, Remark2RehypeOptions], [typeof rehype2react, Rehype2ReactOptions], ...Pluggable<any[], Settings>[]];
19049
+ export const getDefaultEuiMarkdownProcessingPlugins: ({ exclude, }?: DefaultPluginsConfig) => [[Plugin<[(Settings | undefined)?], Settings>, Remark2RehypeOptions], [typeof rehype2react, Rehype2ReactOptions], ...Pluggable<any[], Settings>[]];
18918
19050
  export const defaultProcessingPlugins: [[Plugin<[(Settings | undefined)?], Settings>, Remark2RehypeOptions], [typeof rehype2react, Rehype2ReactOptions], ...Pluggable<any[], Settings>[]];
18919
19051
 
18920
19052
  }
@@ -18922,14 +19054,24 @@ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_def
18922
19054
  import { DefaultEuiMarkdownUiPlugins } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins';
18923
19055
  import { DefaultEuiMarkdownParsingPlugins } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins';
18924
19056
  import { DefaultEuiMarkdownProcessingPlugins } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins';
18925
- export const getDefaultEuiMarkdownPlugins: (config: undefined | {
18926
- exclude?: Array<'tooltip'>;
18927
- }) => {
19057
+ export type ExcludableDefaultPlugins = 'emoji' | 'lineBreaks' | 'linkValidator' | 'checkbox' | 'tooltip';
19058
+ export type DefaultPluginsConfig = undefined | {
19059
+ exclude?: ExcludableDefaultPlugins[];
19060
+ };
19061
+ export const getDefaultEuiMarkdownPlugins: (config?: DefaultPluginsConfig) => {
18928
19062
  parsingPlugins: DefaultEuiMarkdownParsingPlugins;
18929
19063
  processingPlugins: DefaultEuiMarkdownProcessingPlugins;
18930
19064
  uiPlugins: DefaultEuiMarkdownUiPlugins;
18931
19065
  };
18932
19066
 
19067
+ }
19068
+ declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins' {
19069
+ import { EuiMarkdownEditorUiPlugin } from '@elastic/eui/src/components/markdown_editor/markdown_types';
19070
+ import type { DefaultPluginsConfig } from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/plugins';
19071
+ export type DefaultEuiMarkdownUiPlugins = EuiMarkdownEditorUiPlugin[];
19072
+ export const getDefaultEuiMarkdownUiPlugins: ({ exclude, }?: DefaultPluginsConfig) => DefaultEuiMarkdownUiPlugins;
19073
+ export const defaultUiPlugins: DefaultEuiMarkdownUiPlugins;
19074
+
18933
19075
  }
18934
19076
  declare module '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins' {
18935
19077
  export * from '@elastic/eui/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins';
@@ -19674,6 +19816,7 @@ declare module '@elastic/eui/src/components/page_template/outer/page_outer' {
19674
19816
  import { FunctionComponent, HTMLAttributes } from 'react';
19675
19817
  import { CommonProps } from '@elastic/eui/src/components/common';
19676
19818
  import { _EuiThemeBreakpoint } from '@elastic/eui/src/global_styling';
19819
+ export const PAGE_DIRECTIONS: readonly ["row", "column"]; type PageDirections = (typeof PAGE_DIRECTIONS)[number];
19677
19820
  export interface _EuiPageOuterProps extends CommonProps, HTMLAttributes<HTMLDivElement> {
19678
19821
  /**
19679
19822
  * Adds `flex-grow: 1` to the whole page for stretching to fit vertically.
@@ -19684,13 +19827,14 @@ declare module '@elastic/eui/src/components/page_template/outer/page_outer' {
19684
19827
  * Changes the `flex-direction` property.
19685
19828
  * Flip to `column` when not including a sidebar.
19686
19829
  */
19687
- direction?: 'row' | 'column';
19830
+ direction?: PageDirections;
19688
19831
  /**
19689
19832
  * When direction is `row`, it will flip to `column` when within these breakpoints.
19690
19833
  */
19691
19834
  responsive?: _EuiThemeBreakpoint[];
19692
19835
  }
19693
19836
  export const _EuiPageOuter: FunctionComponent<_EuiPageOuterProps>;
19837
+ export {};
19694
19838
 
19695
19839
  }
19696
19840
  declare module '@elastic/eui/src/components/page_template/outer' {
@@ -19777,11 +19921,12 @@ declare module '@elastic/eui/src/components/page_template/page_template' {
19777
19921
  import { ComponentTypes } from '@elastic/eui/src/components/page_template/inner/page_inner';
19778
19922
  import { _EuiPageBottomBarProps } from '@elastic/eui/src/components/page_template/bottom_bar/page_bottom_bar';
19779
19923
  import { _EuiPageEmptyPromptProps } from '@elastic/eui/src/components/page_template/empty_prompt/page_empty_prompt';
19780
- import { EuiPageHeaderProps, EuiPageSectionProps } from '@elastic/eui/src/components/page';
19924
+ import { EuiPageHeaderProps, EuiPageSectionProps, EuiPageSidebarProps } from '@elastic/eui/src/components/page';
19781
19925
  import { _EuiPageRestrictWidth } from '@elastic/eui/src/components/page/_restrict_width';
19782
19926
  import { _EuiPageBottomBorder } from '@elastic/eui/src/components/page/_bottom_border';
19783
19927
  import { CommonProps } from '@elastic/eui/src/components/common';
19784
19928
  export const TemplateContext: React.Context<{
19929
+ sidebar: {};
19785
19930
  section: {};
19786
19931
  header: {};
19787
19932
  emptyPrompt: {};
@@ -19819,7 +19964,7 @@ declare module '@elastic/eui/src/components/page_template/page_template' {
19819
19964
  */
19820
19965
  export const _EuiPageTemplate: FunctionComponent<EuiPageTemplateProps>;
19821
19966
  export const EuiPageTemplate: React.FunctionComponent<EuiPageTemplateProps> & {
19822
- Sidebar: React.FunctionComponent<import ("@elastic/eui/src/components/page").EuiPageSidebarProps>;
19967
+ Sidebar: React.FunctionComponent<EuiPageSidebarProps>;
19823
19968
  Header: React.FunctionComponent<EuiPageHeaderProps>;
19824
19969
  Section: React.FunctionComponent<EuiPageSectionProps>;
19825
19970
  BottomBar: React.FunctionComponent<_EuiPageBottomBarProps>;
@@ -20766,8 +20911,37 @@ declare module '@elastic/eui/src/components/selectable/selectable_option' {
20766
20911
 
20767
20912
  }
20768
20913
  declare module '@elastic/eui/src/components/selectable/matching_options' {
20769
- import { EuiSelectableOption } from '@elastic/eui/src/components/selectable/selectable_option'; type SelectableOptions<T> = Array<EuiSelectableOption<T>>;
20770
- export const getMatchingOptions: <T>(options: SelectableOptions<T>, searchValue: string, isPreFiltered?: boolean | undefined, selectedOptions?: SelectableOptions<T> | undefined) => SelectableOptions<T>;
20914
+ import { EuiSelectableOption } from '@elastic/eui/src/components/selectable/selectable_option';
20915
+ import { EuiSelectableOptionMatcher } from '@elastic/eui/src/components/selectable/selectable'; type SelectableOptions<T> = Array<EuiSelectableOption<T>>;
20916
+ interface GetMatchingOptionsArgs<TOption> {
20917
+ /**
20918
+ * All available options to match against
20919
+ */
20920
+ options: SelectableOptions<TOption>;
20921
+ /**
20922
+ * String to match option.label || option.searchableLabel against
20923
+ */
20924
+ searchValue: string;
20925
+ /**
20926
+ * Async?
20927
+ */
20928
+ isPreFiltered: boolean;
20929
+ /**
20930
+ * To exclude selected options from the search list,
20931
+ * pass the array of selected options
20932
+ */
20933
+ selectedOptions?: SelectableOptions<TOption>;
20934
+ /**
20935
+ * Option matcher function passed to EuiSelectable or the default matcher
20936
+ */
20937
+ optionMatcher: EuiSelectableOptionMatcher<TOption>;
20938
+ }
20939
+ export const getMatchingOptions: <TOption>({ searchValue, options, isPreFiltered, selectedOptions, optionMatcher, }: GetMatchingOptionsArgs<TOption>) => SelectableOptions<TOption>;
20940
+ /**
20941
+ * Partial string equality option matcher for EuiSelectable
20942
+ * It matches all options with labels including the searched string.
20943
+ */
20944
+ export const createPartialStringEqualityOptionMatcher: <TOption>() => EuiSelectableOptionMatcher<TOption>;
20771
20945
  export {};
20772
20946
 
20773
20947
  }
@@ -20776,6 +20950,7 @@ declare module '@elastic/eui/src/components/selectable/selectable_search/selecta
20776
20950
  import { CommonProps } from '@elastic/eui/src/components/common';
20777
20951
  import { EuiFieldSearchProps } from '@elastic/eui/src/components/form';
20778
20952
  import { EuiSelectableOption } from '@elastic/eui/src/components/selectable/selectable_option';
20953
+ import type { EuiSelectableOptionMatcher } from '@elastic/eui/src/components/selectable/selectable';
20779
20954
  export type EuiSelectableSearchProps<T> = CommonProps & Omit<EuiFieldSearchProps, 'onChange' | 'onSearch' | 'incremental'> & {
20780
20955
  /**
20781
20956
  * Passes back (searchValue, matchingOptions)
@@ -20792,8 +20967,12 @@ declare module '@elastic/eui/src/components/selectable/selectable_search/selecta
20792
20967
  */
20793
20968
  listId?: string;
20794
20969
  isPreFiltered: boolean;
20970
+ /**
20971
+ * Option matcher function
20972
+ */
20973
+ optionMatcher: EuiSelectableOptionMatcher<T>;
20795
20974
  };
20796
- export const EuiSelectableSearch: <T>({ onChange: onChangeCallback, options, value, placeholder, isPreFiltered, listId, className, ...rest }: _EuiSelectableSearchProps<T>) => React.JSX.Element;
20975
+ export const EuiSelectableSearch: <T>({ onChange: onChangeCallback, options, value, placeholder, isPreFiltered, listId, className, optionMatcher, ...rest }: _EuiSelectableSearchProps<T>) => React.JSX.Element;
20797
20976
  export {};
20798
20977
 
20799
20978
  }
@@ -20889,8 +21068,8 @@ declare module '@elastic/eui/src/components/selectable/selectable_list/selectabl
20889
21068
  import { FixedSizeList, ListProps, ListChildComponentProps as ReactWindowListChildComponentProps } from 'react-window';
20890
21069
  import { CommonProps, ExclusiveUnion } from '@elastic/eui/src/components/common';
20891
21070
  import { EuiAutoSizeHorizontal } from '@elastic/eui/src/components/auto_sizer';
20892
- import { EuiSelectableOption } from '@elastic/eui/src/components/selectable/selectable_option';
20893
- import { EuiSelectableOnChangeEvent } from '@elastic/eui/src/components/selectable/selectable';
21071
+ import type { EuiSelectableOption } from '@elastic/eui/src/components/selectable/selectable_option';
21072
+ import type { EuiSelectableOnChangeEvent, EuiSelectableProps } from '@elastic/eui/src/components/selectable/selectable';
20894
21073
  import { EuiSelectableListItemProps } from '@elastic/eui/src/components/selectable/selectable_list/selectable_list_item';
20895
21074
  interface ListChildComponentProps<T> extends Omit<ReactWindowListChildComponentProps, 'style'> {
20896
21075
  data: Array<EuiSelectableOption<T>>;
@@ -20991,6 +21170,7 @@ declare module '@elastic/eui/src/components/selectable/selectable_list/selectabl
20991
21170
  */
20992
21171
  allowExclusions?: boolean;
20993
21172
  searchable?: boolean;
21173
+ isPreFiltered?: EuiSelectableProps['isPreFiltered'];
20994
21174
  makeOptionId: (index: number | undefined) => string;
20995
21175
  listId: string;
20996
21176
  setActiveOptionIndex: (index: number, cb?: () => void) => void;
@@ -21023,7 +21203,7 @@ declare module '@elastic/eui/src/components/selectable/selectable_list/selectabl
21023
21203
  forceVirtualizedListRowRerender: () => void;
21024
21204
  focusBadgeOffset: number;
21025
21205
  calculateDefaultOptionWidth: ({ width: containerWidth, }: EuiAutoSizeHorizontal) => void;
21026
- getTruncationProps: (option: EuiSelectableOption, isFocused: boolean) => {
21206
+ getTruncationProps: (option: EuiSelectableOption, highlightSearch: boolean, isFocused: boolean) => {
21027
21207
  prefix?: string | undefined;
21028
21208
  slot?: string | undefined;
21029
21209
  style?: React.CSSProperties | undefined;
@@ -21329,6 +21509,12 @@ declare module '@elastic/eui/src/components/selectable/selectable' {
21329
21509
  import { EuiSelectableSearchProps } from '@elastic/eui/src/components/selectable/selectable_search/selectable_search';
21330
21510
  import { Align } from 'react-window';
21331
21511
  export type EuiSelectableOnChangeEvent = KeyboardEvent | MouseEvent; type RequiredEuiSelectableOptionsListProps = Omit<EuiSelectableOptionsListProps, keyof (typeof EuiSelectableList)['defaultProps']>; type OptionalEuiSelectableOptionsListProps = Omit<EuiSelectableOptionsListProps, keyof RequiredEuiSelectableOptionsListProps>; type EuiSelectableOptionsListPropsWithDefaults = RequiredEuiSelectableOptionsListProps & Partial<OptionalEuiSelectableOptionsListProps>;
21512
+ export interface EuiSelectableOptionMatcherArgs<TOption> {
21513
+ option: EuiSelectableOption<TOption>;
21514
+ searchValue: string;
21515
+ normalizedSearchValue: string;
21516
+ }
21517
+ export type EuiSelectableOptionMatcher<T> = (args: EuiSelectableOptionMatcherArgs<T>) => boolean;
21332
21518
  export type EuiSelectableSearchableProps<T> = ExclusiveUnion<{
21333
21519
  searchable: false;
21334
21520
  }, {
@@ -21418,16 +21604,34 @@ declare module '@elastic/eui/src/components/selectable/selectable' {
21418
21604
  */
21419
21605
  errorMessage?: ReactElement | string | null;
21420
21606
  /**
21421
- * Control whether or not options get filtered internally or if consumer will filter
21422
- * Default: false
21607
+ * Control whether or not options get filtered internally (i.e., whether filtering is
21608
+ * handled by EUI or by you, the consumer).
21609
+ * If set to `true`, all passed `options` will be displayed regardless of the user's
21610
+ * search input.
21611
+ *
21612
+ * Additionally allows passing a configuration object which enables turning off
21613
+ * search highlighting if needed.
21614
+ *
21615
+ * @default false
21423
21616
  */
21424
- isPreFiltered?: boolean;
21617
+ isPreFiltered?: boolean | {
21618
+ highlightSearch?: boolean;
21619
+ };
21425
21620
  /**
21426
21621
  * Optional screen reader instructions to announce upon focus/interaction. This text is read out
21427
21622
  * after the `EuiSelectable` label and a brief pause, but before the default keyboard instructions for
21428
21623
  * interacting with a selectable are read out.
21429
21624
  */
21430
21625
  selectableScreenReaderText?: string;
21626
+ /**
21627
+ * Optional custom option matcher function
21628
+ *
21629
+ * @example
21630
+ * const exactEqualityMatcher: EuiSelectableOptionMatcher = ({ option, searchValue }) => {
21631
+ * return option.label === searchValue;
21632
+ * }
21633
+ */
21634
+ optionMatcher?: EuiSelectableOptionMatcher<T>;
21431
21635
  };
21432
21636
  export interface EuiSelectableState<T> {
21433
21637
  activeOptionIndex?: number;
@@ -21441,6 +21645,7 @@ declare module '@elastic/eui/src/components/selectable/selectable' {
21441
21645
  singleSelection: boolean;
21442
21646
  searchable: boolean;
21443
21647
  isPreFiltered: boolean;
21648
+ optionMatcher: EuiSelectableOptionMatcher<unknown>;
21444
21649
  };
21445
21650
  private inputRef;
21446
21651
  private containerRef;
@@ -21755,7 +21960,7 @@ declare module '@elastic/eui/src/components/search_bar/search_filters' {
21755
21960
  import { SearchFilterConfig } from '@elastic/eui/src/components/search_bar/filters';
21756
21961
  import { Query } from '@elastic/eui/src/components/search_bar/query';
21757
21962
  export type { SearchFilterConfig } from '@elastic/eui/src/components/search_bar/filters';
21758
- interface EuiSearchBarFiltersProps {
21963
+ export interface EuiSearchBarFiltersProps {
21759
21964
  query: Query;
21760
21965
  onChange: (query: Query) => void;
21761
21966
  filters: SearchFilterConfig[];
@@ -23134,8 +23339,8 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
23134
23339
  renderTableBody(): React.JSX.Element;
23135
23340
  renderErrorMessage(error: string): React.JSX.Element;
23136
23341
  renderEmptyMessage(): React.JSX.Element;
23137
- renderItemRow(item: T, rowIndex: number): React.JSX.Element;
23138
- renderItemSelectionCell(itemId: ItemId<T>, item: T, selected: boolean): (boolean | React.JSX.Element | undefined)[];
23342
+ renderItemRow(item: T, rowIndex: number, displayedRowIndex: number): React.JSX.Element;
23343
+ renderItemSelectionCell(itemId: ItemId<T>, item: T, selected: boolean, displayedRowIndex: number): (boolean | React.JSX.Element | undefined)[];
23139
23344
  renderItemActionsCell(itemId: ItemIdResolved, item: T, column: EuiTableActionsColumnType<T>, columnIndex: number, hasCustomActions: boolean): React.JSX.Element;
23140
23345
  renderItemFieldDataCell(itemId: ItemId<T>, item: T, column: EuiTableFieldDataColumnType<T>, columnIndex: number, setScopeRow: boolean): React.JSX.Element;
23141
23346
  renderItemComputedCell(itemId: ItemId<T>, item: T, column: EuiTableComputedColumnType<T>, columnIndex: number): React.JSX.Element;
@@ -23602,6 +23807,18 @@ declare module '@elastic/eui/.storybook/utils' {
23602
23807
  * @returns the mutated config
23603
23808
  */
23604
23809
  export const moveStorybookControlsToCategory: <Props>(config: StorybookConfig<Props>, propNames: (keyof Props)[], category?: string) => StorybookConfig<Props>;
23810
+ /**
23811
+ * Configures passed argTypes to be setup as toggle control
23812
+ * which fires a Storybook action when enabled.
23813
+ * Should be used for function props only.
23814
+ *
23815
+ * Can be used for preview (Preview), component (Meta) or story (Story)
23816
+ * context by passing the config object for either. Use after defining
23817
+ * the specific config to be able to pass the config to this util.
23818
+ *
23819
+ * @returns the mutated config
23820
+ */
23821
+ export const enableFunctionToggleControls: <Props>(config: StorybookConfig<Props>, propNames: (keyof Props)[]) => StorybookConfig<Props>;
23605
23822
  /**
23606
23823
  * parameters configurations
23607
23824
  */
@@ -23628,6 +23845,25 @@ declare module '@elastic/eui/.storybook/utils' {
23628
23845
  };
23629
23846
  export {};
23630
23847
 
23848
+ }
23849
+ declare module '@elastic/eui/.storybook/loki' {
23850
+ export const LOKI_SELECTORS: {
23851
+ /**
23852
+ * Default story selector
23853
+ * Please keep in sync with loki.config.js
23854
+ */
23855
+ readonly default: "#story-wrapper > *";
23856
+ /**
23857
+ * Text node only selector
23858
+ * To be used in stories for components rendering a text node instead of JSX elements
23859
+ */
23860
+ readonly textOnly: "#story-wrapper";
23861
+ /**
23862
+ * Portal element content selector
23863
+ */
23864
+ readonly portal: "[data-euiportal=\"true\"]";
23865
+ };
23866
+
23631
23867
  }
23632
23868
  declare module '@elastic/eui/src/components/color_picker/color_picker.styles' {
23633
23869
  import { UseEuiTheme } from '@elastic/eui/src/services';
@@ -29119,6 +29355,9 @@ declare module '@elastic/eui' {
29119
29355
  "euiCodeBlockCopy.copy": any;
29120
29356
  "euiCodeBlockFullScreen.fullscreenCollapse": any;
29121
29357
  "euiCodeBlockFullScreen.fullscreenExpand": any;
29358
+ "euiCollapsibleNavKibanaSolution.switcherTitle": any;
29359
+ "euiCollapsibleNavKibanaSolution.switcherAriaLabel": any;
29360
+ "euiCollapsibleNavKibanaSolution.groupLabel": any;
29122
29361
  "euiCollapsibleNavBeta.ariaLabel": any;
29123
29362
  "euiCollapsibleNavButton.ariaLabelExpand": any;
29124
29363
  "euiCollapsibleNavButton.ariaLabelCollapse": any;