@elastic/eui 93.5.2 → 94.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/dist/eui_theme_dark.css +0 -765
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -765
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accessibility/screen_reader_only/screen_reader_only.js +9 -8
  6. package/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  7. package/es/components/accessibility/skip_link/skip_link.js +2 -3
  8. package/es/components/aspect_ratio/aspect_ratio.js +16 -14
  9. package/es/components/avatar/avatar.js +41 -42
  10. package/es/components/avatar/avatar.styles.js +1 -1
  11. package/es/components/badge/badge.js +4 -4
  12. package/es/components/badge/badge_group/badge_group.js +3 -4
  13. package/es/components/badge/beta_badge/beta_badge.js +2 -3
  14. package/es/components/badge/notification_badge/badge_notification.js +3 -4
  15. package/es/components/basic_table/basic_table.js +117 -131
  16. package/es/components/basic_table/basic_table.styles.js +3 -17
  17. package/es/components/basic_table/expanded_item_actions.js +1 -2
  18. package/es/components/basic_table/in_memory_table.js +57 -76
  19. package/es/components/bottom_bar/bottom_bar.js +8 -18
  20. package/es/components/bottom_bar/bottom_bar.styles.js +3 -2
  21. package/es/components/breadcrumbs/_breadcrumb_content.js +8 -11
  22. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +17 -4
  23. package/es/components/breadcrumbs/breadcrumbs.js +4 -3
  24. package/es/components/button/button_display/_button_display_content.js +28 -30
  25. package/es/components/button/button_group/button_group_button.js +5 -6
  26. package/es/components/button/button_group/button_group_button.styles.js +21 -10
  27. package/es/components/call_out/call_out.js +45 -42
  28. package/es/components/call_out/call_out.styles.js +4 -4
  29. package/es/components/code/code_block_annotations.js +7 -6
  30. package/es/components/code/code_block_annotations.style.js +2 -1
  31. package/es/components/collapsible_nav/collapsible_nav.js +2 -3
  32. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +2 -3
  33. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +4 -4
  34. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +2 -3
  35. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +2 -3
  36. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +2 -3
  37. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -4
  38. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -3
  39. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -3
  40. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +2 -3
  41. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +2 -3
  42. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +2 -3
  43. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +1 -0
  44. package/es/components/combo_box/combo_box.js +22 -16
  45. package/es/components/comment_list/comment_event.js +4 -5
  46. package/es/components/context_menu/context_menu.js +6 -7
  47. package/es/components/context_menu/context_menu_item.js +2 -3
  48. package/es/components/context_menu/context_menu_panel.js +5 -5
  49. package/es/components/description_list/description_list.js +14 -16
  50. package/es/components/description_list/description_list_description.js +2 -3
  51. package/es/components/description_list/description_list_title.js +2 -3
  52. package/es/components/empty_prompt/empty_prompt.js +2 -5
  53. package/es/components/flyout/_flyout_close_button.js +45 -0
  54. package/es/components/flyout/_flyout_close_button.styles.js +27 -0
  55. package/es/components/flyout/flyout.js +77 -64
  56. package/es/components/flyout/flyout.styles.js +3 -17
  57. package/es/components/flyout/flyout_body.js +5 -8
  58. package/es/components/flyout/flyout_body.styles.js +2 -1
  59. package/es/components/flyout/flyout_footer.js +3 -5
  60. package/es/components/flyout/flyout_header.js +2 -3
  61. package/es/components/flyout/flyout_resizable.js +2 -3
  62. package/es/components/form/super_select/super_select.js +33 -22
  63. package/es/components/form/super_select/super_select_control.js +39 -5
  64. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -3
  65. package/es/components/horizontal_rule/horizontal_rule.js +3 -18
  66. package/es/components/loading/loading_chart.js +16 -21
  67. package/es/components/loading/loading_chart.styles.js +28 -10
  68. package/es/components/loading/loading_elastic.js +3 -5
  69. package/es/components/loading/loading_elastic.styles.js +2 -4
  70. package/es/components/loading/loading_logo.js +6 -9
  71. package/es/components/loading/loading_logo.styles.js +1 -6
  72. package/es/components/loading/loading_spinner.js +5 -5
  73. package/es/components/page/page_header/page_header_content.js +1 -1
  74. package/es/components/provider/component_defaults/component_defaults.js +7 -1
  75. package/es/components/resizable_container/resizable_collapse_button.js +1 -2
  76. package/es/components/table/_table_cell_content.js +72 -0
  77. package/es/components/table/_table_cell_content.styles.js +63 -0
  78. package/es/components/table/index.js +0 -1
  79. package/es/components/table/mobile/responsive_context.js +37 -0
  80. package/es/components/table/mobile/table_header_mobile.js +11 -4
  81. package/es/components/table/mobile/table_header_mobile.styles.js +15 -0
  82. package/es/components/table/mobile/table_sort_mobile.js +12 -3
  83. package/es/components/table/table.js +23 -13
  84. package/es/components/table/table.styles.js +102 -0
  85. package/es/components/table/table_cells_shared.styles.js +47 -0
  86. package/es/components/table/table_footer_cell.js +12 -12
  87. package/es/components/table/table_header_cell.js +36 -51
  88. package/es/components/table/table_header_cell_checkbox.js +6 -2
  89. package/es/components/table/table_row.js +18 -6
  90. package/es/components/table/table_row.styles.js +78 -0
  91. package/es/components/table/table_row_cell.js +65 -91
  92. package/es/components/table/table_row_cell.styles.js +89 -0
  93. package/es/components/table/table_row_cell_checkbox.js +7 -0
  94. package/es/components/tabs/tab.js +3 -4
  95. package/es/components/tabs/tabs.js +2 -3
  96. package/eui.d.ts +743 -574
  97. package/i18ntokens.json +122 -140
  98. package/lib/components/accessibility/screen_reader_only/screen_reader_only.js +8 -7
  99. package/lib/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  100. package/lib/components/accessibility/skip_link/skip_link.js +1 -2
  101. package/lib/components/aspect_ratio/aspect_ratio.js +18 -14
  102. package/lib/components/avatar/avatar.js +42 -41
  103. package/lib/components/avatar/avatar.styles.js +1 -1
  104. package/lib/components/badge/badge.js +3 -3
  105. package/lib/components/badge/badge_group/badge_group.js +2 -3
  106. package/lib/components/badge/beta_badge/beta_badge.js +1 -2
  107. package/lib/components/badge/notification_badge/badge_notification.js +2 -3
  108. package/lib/components/basic_table/basic_table.js +116 -130
  109. package/lib/components/basic_table/basic_table.styles.js +5 -20
  110. package/lib/components/basic_table/expanded_item_actions.js +1 -2
  111. package/lib/components/basic_table/in_memory_table.js +57 -76
  112. package/lib/components/bottom_bar/bottom_bar.js +10 -20
  113. package/lib/components/bottom_bar/bottom_bar.styles.js +3 -2
  114. package/lib/components/breadcrumbs/_breadcrumb_content.js +8 -11
  115. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +16 -3
  116. package/lib/components/breadcrumbs/breadcrumbs.js +4 -3
  117. package/lib/components/button/button_display/_button_display_content.js +30 -29
  118. package/lib/components/button/button_group/button_group_button.js +3 -4
  119. package/lib/components/button/button_group/button_group_button.styles.js +22 -12
  120. package/lib/components/call_out/call_out.js +43 -40
  121. package/lib/components/call_out/call_out.styles.js +6 -6
  122. package/lib/components/code/code_block_annotations.js +6 -5
  123. package/lib/components/code/code_block_annotations.style.js +2 -1
  124. package/lib/components/collapsible_nav/collapsible_nav.js +1 -2
  125. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -2
  126. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  127. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +1 -2
  128. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +1 -2
  129. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -2
  130. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -3
  131. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -2
  132. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +1 -2
  133. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +1 -2
  134. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +1 -2
  135. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +1 -2
  136. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +1 -0
  137. package/lib/components/combo_box/combo_box.js +22 -16
  138. package/lib/components/comment_list/comment_event.js +3 -4
  139. package/lib/components/context_menu/context_menu.js +5 -6
  140. package/lib/components/context_menu/context_menu_item.js +1 -2
  141. package/lib/components/context_menu/context_menu_panel.js +4 -4
  142. package/lib/components/description_list/description_list.js +13 -15
  143. package/lib/components/description_list/description_list_description.js +1 -2
  144. package/lib/components/description_list/description_list_title.js +1 -2
  145. package/lib/components/empty_prompt/empty_prompt.js +1 -4
  146. package/lib/components/flyout/_flyout_close_button.js +52 -0
  147. package/lib/components/flyout/_flyout_close_button.styles.js +34 -0
  148. package/lib/components/flyout/flyout.js +76 -63
  149. package/lib/components/flyout/flyout.styles.js +5 -19
  150. package/lib/components/flyout/flyout_body.js +4 -7
  151. package/lib/components/flyout/flyout_body.styles.js +2 -1
  152. package/lib/components/flyout/flyout_footer.js +2 -4
  153. package/lib/components/flyout/flyout_header.js +1 -2
  154. package/lib/components/flyout/flyout_resizable.js +1 -2
  155. package/lib/components/form/super_select/super_select.js +32 -21
  156. package/lib/components/form/super_select/super_select_control.js +38 -4
  157. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -3
  158. package/lib/components/horizontal_rule/horizontal_rule.js +2 -17
  159. package/lib/components/loading/loading_chart.js +14 -19
  160. package/lib/components/loading/loading_chart.styles.js +28 -10
  161. package/lib/components/loading/loading_elastic.js +2 -4
  162. package/lib/components/loading/loading_elastic.styles.js +2 -4
  163. package/lib/components/loading/loading_logo.js +5 -8
  164. package/lib/components/loading/loading_logo.styles.js +3 -9
  165. package/lib/components/loading/loading_spinner.js +5 -5
  166. package/lib/components/page/page_header/page_header_content.js +1 -1
  167. package/lib/components/provider/component_defaults/component_defaults.js +7 -1
  168. package/lib/components/resizable_container/resizable_collapse_button.js +1 -2
  169. package/lib/components/table/_table_cell_content.js +82 -0
  170. package/lib/components/table/_table_cell_content.styles.js +68 -0
  171. package/lib/components/table/index.js +0 -7
  172. package/lib/components/table/mobile/responsive_context.js +47 -0
  173. package/lib/components/table/mobile/table_header_mobile.js +11 -4
  174. package/lib/components/table/mobile/table_header_mobile.styles.js +22 -0
  175. package/lib/components/table/mobile/table_sort_mobile.js +12 -3
  176. package/lib/components/table/table.js +23 -13
  177. package/lib/components/table/table.styles.js +109 -0
  178. package/lib/components/table/table_cells_shared.styles.js +53 -0
  179. package/lib/components/table/table_footer_cell.js +11 -11
  180. package/lib/components/table/table_header_cell.js +36 -51
  181. package/lib/components/table/table_header_cell_checkbox.js +6 -2
  182. package/lib/components/table/table_row.js +17 -5
  183. package/lib/components/table/table_row.styles.js +84 -0
  184. package/lib/components/table/table_row_cell.js +64 -92
  185. package/lib/components/table/table_row_cell.styles.js +94 -0
  186. package/lib/components/table/table_row_cell_checkbox.js +7 -0
  187. package/lib/components/tabs/tab.js +2 -3
  188. package/lib/components/tabs/tabs.js +1 -2
  189. package/optimize/es/components/accessibility/screen_reader_only/screen_reader_only.js +8 -7
  190. package/optimize/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  191. package/optimize/es/components/accessibility/skip_link/skip_link.js +2 -3
  192. package/optimize/es/components/aspect_ratio/aspect_ratio.js +16 -14
  193. package/optimize/es/components/avatar/avatar.js +39 -40
  194. package/optimize/es/components/avatar/avatar.styles.js +1 -1
  195. package/optimize/es/components/badge/badge.js +4 -4
  196. package/optimize/es/components/badge/badge_group/badge_group.js +3 -4
  197. package/optimize/es/components/badge/beta_badge/beta_badge.js +2 -3
  198. package/optimize/es/components/badge/notification_badge/badge_notification.js +3 -4
  199. package/optimize/es/components/basic_table/basic_table.js +56 -59
  200. package/optimize/es/components/basic_table/basic_table.styles.js +3 -17
  201. package/optimize/es/components/basic_table/expanded_item_actions.js +1 -2
  202. package/optimize/es/components/basic_table/in_memory_table.js +1 -6
  203. package/optimize/es/components/bottom_bar/bottom_bar.js +6 -16
  204. package/optimize/es/components/bottom_bar/bottom_bar.styles.js +3 -2
  205. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +7 -10
  206. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +17 -4
  207. package/optimize/es/components/button/button_display/_button_display_content.js +28 -30
  208. package/optimize/es/components/button/button_group/button_group_button.js +5 -6
  209. package/optimize/es/components/button/button_group/button_group_button.styles.js +13 -10
  210. package/optimize/es/components/call_out/call_out.js +45 -42
  211. package/optimize/es/components/call_out/call_out.styles.js +4 -4
  212. package/optimize/es/components/code/code_block_annotations.js +7 -6
  213. package/optimize/es/components/code/code_block_annotations.style.js +2 -1
  214. package/optimize/es/components/collapsible_nav/collapsible_nav.js +2 -3
  215. package/optimize/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +2 -3
  216. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +4 -4
  217. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +2 -3
  218. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +2 -3
  219. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +2 -3
  220. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -4
  221. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -3
  222. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -3
  223. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +2 -3
  224. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +2 -3
  225. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +2 -3
  226. package/optimize/es/components/combo_box/combo_box.js +22 -16
  227. package/optimize/es/components/comment_list/comment_event.js +4 -5
  228. package/optimize/es/components/context_menu/context_menu.js +6 -7
  229. package/optimize/es/components/context_menu/context_menu_item.js +2 -3
  230. package/optimize/es/components/context_menu/context_menu_panel.js +5 -5
  231. package/optimize/es/components/description_list/description_list.js +14 -16
  232. package/optimize/es/components/description_list/description_list_description.js +2 -3
  233. package/optimize/es/components/description_list/description_list_title.js +2 -3
  234. package/optimize/es/components/empty_prompt/empty_prompt.js +2 -5
  235. package/optimize/es/components/flyout/_flyout_close_button.js +44 -0
  236. package/optimize/es/components/flyout/_flyout_close_button.styles.js +27 -0
  237. package/optimize/es/components/flyout/flyout.js +57 -64
  238. package/optimize/es/components/flyout/flyout.styles.js +3 -17
  239. package/optimize/es/components/flyout/flyout_body.js +5 -8
  240. package/optimize/es/components/flyout/flyout_body.styles.js +2 -1
  241. package/optimize/es/components/flyout/flyout_footer.js +3 -5
  242. package/optimize/es/components/flyout/flyout_header.js +2 -3
  243. package/optimize/es/components/flyout/flyout_resizable.js +2 -3
  244. package/optimize/es/components/form/super_select/super_select.js +32 -22
  245. package/optimize/es/components/form/super_select/super_select_control.js +34 -5
  246. package/optimize/es/components/horizontal_rule/horizontal_rule.js +3 -15
  247. package/optimize/es/components/loading/loading_chart.js +16 -21
  248. package/optimize/es/components/loading/loading_chart.styles.js +28 -10
  249. package/optimize/es/components/loading/loading_elastic.js +3 -5
  250. package/optimize/es/components/loading/loading_elastic.styles.js +2 -4
  251. package/optimize/es/components/loading/loading_logo.js +6 -9
  252. package/optimize/es/components/loading/loading_logo.styles.js +1 -6
  253. package/optimize/es/components/loading/loading_spinner.js +5 -5
  254. package/optimize/es/components/resizable_container/resizable_collapse_button.js +1 -2
  255. package/optimize/es/components/table/_table_cell_content.js +56 -0
  256. package/optimize/es/components/table/_table_cell_content.styles.js +63 -0
  257. package/optimize/es/components/table/index.js +0 -1
  258. package/optimize/es/components/table/mobile/responsive_context.js +37 -0
  259. package/optimize/es/components/table/mobile/table_header_mobile.js +11 -4
  260. package/optimize/es/components/table/mobile/table_header_mobile.styles.js +15 -0
  261. package/optimize/es/components/table/mobile/table_sort_mobile.js +7 -1
  262. package/optimize/es/components/table/table.js +13 -12
  263. package/optimize/es/components/table/table.styles.js +102 -0
  264. package/optimize/es/components/table/table_cells_shared.styles.js +44 -0
  265. package/optimize/es/components/table/table_footer_cell.js +12 -12
  266. package/optimize/es/components/table/table_header_cell.js +35 -37
  267. package/optimize/es/components/table/table_header_cell_checkbox.js +6 -2
  268. package/optimize/es/components/table/table_row.js +10 -2
  269. package/optimize/es/components/table/table_row.styles.js +78 -0
  270. package/optimize/es/components/table/table_row_cell.js +49 -80
  271. package/optimize/es/components/table/table_row_cell.styles.js +89 -0
  272. package/optimize/es/components/table/table_row_cell_checkbox.js +7 -0
  273. package/optimize/es/components/tabs/tab.js +3 -4
  274. package/optimize/es/components/tabs/tabs.js +2 -3
  275. package/optimize/lib/components/accessibility/screen_reader_only/screen_reader_only.js +7 -6
  276. package/optimize/lib/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  277. package/optimize/lib/components/accessibility/skip_link/skip_link.js +1 -2
  278. package/optimize/lib/components/aspect_ratio/aspect_ratio.js +19 -14
  279. package/optimize/lib/components/avatar/avatar.js +41 -39
  280. package/optimize/lib/components/avatar/avatar.styles.js +1 -1
  281. package/optimize/lib/components/badge/badge.js +3 -3
  282. package/optimize/lib/components/badge/badge_group/badge_group.js +2 -3
  283. package/optimize/lib/components/badge/beta_badge/beta_badge.js +1 -2
  284. package/optimize/lib/components/badge/notification_badge/badge_notification.js +2 -3
  285. package/optimize/lib/components/basic_table/basic_table.js +55 -58
  286. package/optimize/lib/components/basic_table/basic_table.styles.js +5 -20
  287. package/optimize/lib/components/basic_table/expanded_item_actions.js +1 -2
  288. package/optimize/lib/components/basic_table/in_memory_table.js +1 -6
  289. package/optimize/lib/components/bottom_bar/bottom_bar.js +8 -18
  290. package/optimize/lib/components/bottom_bar/bottom_bar.styles.js +3 -2
  291. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +7 -10
  292. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +16 -3
  293. package/optimize/lib/components/button/button_display/_button_display_content.js +30 -29
  294. package/optimize/lib/components/button/button_group/button_group_button.js +3 -4
  295. package/optimize/lib/components/button/button_group/button_group_button.styles.js +15 -12
  296. package/optimize/lib/components/call_out/call_out.js +43 -40
  297. package/optimize/lib/components/call_out/call_out.styles.js +6 -6
  298. package/optimize/lib/components/code/code_block_annotations.js +6 -5
  299. package/optimize/lib/components/code/code_block_annotations.style.js +2 -1
  300. package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -2
  301. package/optimize/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -2
  302. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  303. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +1 -2
  304. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +1 -2
  305. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -2
  306. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -3
  307. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -2
  308. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +1 -2
  309. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +1 -2
  310. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +1 -2
  311. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +1 -2
  312. package/optimize/lib/components/combo_box/combo_box.js +22 -16
  313. package/optimize/lib/components/comment_list/comment_event.js +3 -4
  314. package/optimize/lib/components/context_menu/context_menu.js +5 -6
  315. package/optimize/lib/components/context_menu/context_menu_item.js +1 -2
  316. package/optimize/lib/components/context_menu/context_menu_panel.js +4 -4
  317. package/optimize/lib/components/description_list/description_list.js +13 -15
  318. package/optimize/lib/components/description_list/description_list_description.js +1 -2
  319. package/optimize/lib/components/description_list/description_list_title.js +1 -2
  320. package/optimize/lib/components/empty_prompt/empty_prompt.js +1 -4
  321. package/optimize/lib/components/flyout/_flyout_close_button.js +51 -0
  322. package/optimize/lib/components/flyout/_flyout_close_button.styles.js +34 -0
  323. package/optimize/lib/components/flyout/flyout.js +55 -62
  324. package/optimize/lib/components/flyout/flyout.styles.js +5 -19
  325. package/optimize/lib/components/flyout/flyout_body.js +4 -7
  326. package/optimize/lib/components/flyout/flyout_body.styles.js +2 -1
  327. package/optimize/lib/components/flyout/flyout_footer.js +2 -4
  328. package/optimize/lib/components/flyout/flyout_header.js +1 -2
  329. package/optimize/lib/components/flyout/flyout_resizable.js +1 -2
  330. package/optimize/lib/components/form/super_select/super_select.js +31 -21
  331. package/optimize/lib/components/form/super_select/super_select_control.js +33 -4
  332. package/optimize/lib/components/horizontal_rule/horizontal_rule.js +2 -14
  333. package/optimize/lib/components/loading/loading_chart.js +14 -19
  334. package/optimize/lib/components/loading/loading_chart.styles.js +28 -10
  335. package/optimize/lib/components/loading/loading_elastic.js +2 -4
  336. package/optimize/lib/components/loading/loading_elastic.styles.js +2 -4
  337. package/optimize/lib/components/loading/loading_logo.js +5 -8
  338. package/optimize/lib/components/loading/loading_logo.styles.js +3 -9
  339. package/optimize/lib/components/loading/loading_spinner.js +5 -5
  340. package/optimize/lib/components/resizable_container/resizable_collapse_button.js +1 -2
  341. package/optimize/lib/components/table/_table_cell_content.js +66 -0
  342. package/optimize/lib/components/table/_table_cell_content.styles.js +68 -0
  343. package/optimize/lib/components/table/index.js +0 -7
  344. package/optimize/lib/components/table/mobile/responsive_context.js +47 -0
  345. package/optimize/lib/components/table/mobile/table_header_mobile.js +11 -4
  346. package/optimize/lib/components/table/mobile/table_header_mobile.styles.js +22 -0
  347. package/optimize/lib/components/table/mobile/table_sort_mobile.js +7 -1
  348. package/optimize/lib/components/table/table.js +13 -12
  349. package/optimize/lib/components/table/table.styles.js +109 -0
  350. package/optimize/lib/components/table/table_cells_shared.styles.js +51 -0
  351. package/optimize/lib/components/table/table_footer_cell.js +11 -11
  352. package/optimize/lib/components/table/table_header_cell.js +35 -37
  353. package/optimize/lib/components/table/table_header_cell_checkbox.js +6 -2
  354. package/optimize/lib/components/table/table_row.js +9 -1
  355. package/optimize/lib/components/table/table_row.styles.js +85 -0
  356. package/optimize/lib/components/table/table_row_cell.js +48 -82
  357. package/optimize/lib/components/table/table_row_cell.styles.js +94 -0
  358. package/optimize/lib/components/table/table_row_cell_checkbox.js +7 -0
  359. package/optimize/lib/components/tabs/tab.js +2 -3
  360. package/optimize/lib/components/tabs/tabs.js +1 -2
  361. package/package.json +1 -1
  362. package/src/components/index.scss +0 -1
  363. package/test-env/components/accessibility/screen_reader_only/screen_reader_only.js +8 -7
  364. package/test-env/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  365. package/test-env/components/accessibility/skip_link/skip_link.js +1 -2
  366. package/test-env/components/aspect_ratio/aspect_ratio.js +19 -14
  367. package/test-env/components/avatar/avatar.js +41 -39
  368. package/test-env/components/avatar/avatar.styles.js +1 -1
  369. package/test-env/components/badge/badge.js +3 -3
  370. package/test-env/components/badge/badge_group/badge_group.js +2 -3
  371. package/test-env/components/badge/beta_badge/beta_badge.js +1 -2
  372. package/test-env/components/badge/notification_badge/badge_notification.js +2 -3
  373. package/test-env/components/basic_table/basic_table.js +112 -129
  374. package/test-env/components/basic_table/basic_table.styles.js +5 -20
  375. package/test-env/components/basic_table/expanded_item_actions.js +1 -2
  376. package/test-env/components/basic_table/in_memory_table.js +57 -76
  377. package/test-env/components/bottom_bar/bottom_bar.js +10 -20
  378. package/test-env/components/bottom_bar/bottom_bar.styles.js +3 -2
  379. package/test-env/components/breadcrumbs/_breadcrumb_content.js +8 -11
  380. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +16 -3
  381. package/test-env/components/breadcrumbs/breadcrumbs.js +4 -3
  382. package/test-env/components/button/button_display/_button_display_content.js +30 -29
  383. package/test-env/components/button/button_group/button_group_button.js +3 -4
  384. package/test-env/components/button/button_group/button_group_button.styles.js +15 -12
  385. package/test-env/components/call_out/call_out.js +43 -40
  386. package/test-env/components/call_out/call_out.styles.js +6 -6
  387. package/test-env/components/code/code_block_annotations.js +6 -5
  388. package/test-env/components/code/code_block_annotations.style.js +2 -1
  389. package/test-env/components/collapsible_nav/collapsible_nav.js +1 -2
  390. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -2
  391. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  392. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +1 -2
  393. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +1 -2
  394. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -2
  395. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -3
  396. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -2
  397. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +1 -2
  398. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +1 -2
  399. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +1 -2
  400. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +1 -2
  401. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +1 -0
  402. package/test-env/components/combo_box/combo_box.js +22 -16
  403. package/test-env/components/comment_list/comment_event.js +3 -4
  404. package/test-env/components/context_menu/context_menu.js +5 -6
  405. package/test-env/components/context_menu/context_menu_item.js +1 -2
  406. package/test-env/components/context_menu/context_menu_panel.js +4 -4
  407. package/test-env/components/description_list/description_list.js +13 -15
  408. package/test-env/components/description_list/description_list_description.js +1 -2
  409. package/test-env/components/description_list/description_list_title.js +1 -2
  410. package/test-env/components/empty_prompt/empty_prompt.js +1 -4
  411. package/test-env/components/flyout/_flyout_close_button.js +51 -0
  412. package/test-env/components/flyout/_flyout_close_button.styles.js +34 -0
  413. package/test-env/components/flyout/flyout.styles.js +5 -19
  414. package/test-env/components/flyout/flyout_body.js +4 -7
  415. package/test-env/components/flyout/flyout_body.styles.js +2 -1
  416. package/test-env/components/flyout/flyout_footer.js +2 -4
  417. package/test-env/components/flyout/flyout_header.js +1 -2
  418. package/test-env/components/flyout/flyout_resizable.js +1 -2
  419. package/test-env/components/form/super_select/super_select.js +32 -21
  420. package/test-env/components/form/super_select/super_select_control.js +33 -4
  421. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -3
  422. package/test-env/components/horizontal_rule/horizontal_rule.js +2 -14
  423. package/test-env/components/loading/loading_chart.js +14 -19
  424. package/test-env/components/loading/loading_chart.styles.js +28 -10
  425. package/test-env/components/loading/loading_elastic.js +2 -4
  426. package/test-env/components/loading/loading_elastic.styles.js +2 -4
  427. package/test-env/components/loading/loading_logo.js +5 -8
  428. package/test-env/components/loading/loading_logo.styles.js +3 -9
  429. package/test-env/components/loading/loading_spinner.js +5 -5
  430. package/test-env/components/page/page_header/page_header_content.js +1 -1
  431. package/test-env/components/provider/component_defaults/component_defaults.js +7 -1
  432. package/test-env/components/resizable_container/resizable_collapse_button.js +1 -2
  433. package/test-env/components/table/_table_cell_content.js +76 -0
  434. package/test-env/components/table/_table_cell_content.styles.js +68 -0
  435. package/test-env/components/table/index.js +0 -7
  436. package/test-env/components/table/mobile/responsive_context.js +47 -0
  437. package/test-env/components/table/mobile/table_header_mobile.js +11 -4
  438. package/test-env/components/table/mobile/table_header_mobile.styles.js +22 -0
  439. package/test-env/components/table/mobile/table_sort_mobile.js +12 -3
  440. package/test-env/components/table/table.js +23 -13
  441. package/test-env/components/table/table.styles.js +109 -0
  442. package/test-env/components/table/table_cells_shared.styles.js +51 -0
  443. package/test-env/components/table/table_footer_cell.js +11 -11
  444. package/test-env/components/table/table_header_cell.js +36 -51
  445. package/test-env/components/table/table_header_cell_checkbox.js +6 -2
  446. package/test-env/components/table/table_row.js +17 -5
  447. package/test-env/components/table/table_row.styles.js +85 -0
  448. package/test-env/components/table/table_row_cell.js +59 -93
  449. package/test-env/components/table/table_row_cell.styles.js +94 -0
  450. package/test-env/components/table/table_row_cell_checkbox.js +7 -0
  451. package/test-env/components/tabs/tab.js +2 -3
  452. package/test-env/components/tabs/tabs.js +1 -2
  453. package/es/components/table/table_header_button.js +0 -52
  454. package/lib/components/table/table_header_button.js +0 -59
  455. package/optimize/es/components/table/table_header_button.js +0 -43
  456. package/optimize/lib/components/table/table_header_button.js +0 -50
  457. package/src/components/table/_index.scss +0 -7
  458. package/src/components/table/_mixins.scss +0 -20
  459. package/src/components/table/_responsive.scss +0 -211
  460. package/src/components/table/_table.scss +0 -241
  461. package/src/components/table/_variables.scss +0 -17
  462. package/src/components/table/mobile/_index.scss +0 -1
  463. package/src/components/table/mobile/_mobile.scss +0 -17
  464. package/test-env/components/table/table_header_button.js +0 -58
package/eui.d.ts CHANGED
@@ -2857,7 +2857,7 @@ declare module '@elastic/eui/src/components/loading/_loading_strings' {
2857
2857
 
2858
2858
  }
2859
2859
  declare module '@elastic/eui/src/components/loading/loading_elastic.styles' {
2860
- export const euiLoadingElasticStyles: () => {
2860
+ export const euiLoadingElasticStyles: {
2861
2861
  euiLoadingElastic: import("@emotion/utils").SerializedStyles;
2862
2862
  };
2863
2863
 
@@ -2881,13 +2881,15 @@ declare module '@elastic/eui/src/components/loading/loading_chart.styles' {
2881
2881
  l: import("@emotion/utils").SerializedStyles;
2882
2882
  xl: import("@emotion/utils").SerializedStyles;
2883
2883
  };
2884
- export const euiLoadingChartBarStyles: ({ euiTheme }: UseEuiTheme) => {
2884
+ export const BARS_COUNT = 4;
2885
+ export const euiLoadingChartBarStyles: ({ euiTheme, colorMode, }: UseEuiTheme) => {
2885
2886
  euiLoadingChart__bar: import("@emotion/utils").SerializedStyles;
2887
+ nonmono: import("@emotion/utils").SerializedStyles;
2888
+ mono: import("@emotion/utils").SerializedStyles;
2886
2889
  m: import("@emotion/utils").SerializedStyles;
2887
2890
  l: import("@emotion/utils").SerializedStyles;
2888
2891
  xl: import("@emotion/utils").SerializedStyles;
2889
2892
  };
2890
- export const _barIndex: (index: number, mono: boolean, { euiTheme, colorMode }: UseEuiTheme) => import("@emotion/utils").SerializedStyles;
2891
2893
 
2892
2894
  }
2893
2895
  declare module '@elastic/eui/src/components/loading/loading_chart' {
@@ -2941,6 +2943,7 @@ declare module '@elastic/eui/src/components/loading/loading_logo.styles' {
2941
2943
  import { UseEuiTheme } from '@elastic/eui/src/services';
2942
2944
  export const euiLoadingLogoStyles: ({ euiTheme }: UseEuiTheme) => {
2943
2945
  euiLoadingLogo: import("@emotion/utils").SerializedStyles;
2946
+ euiLoadingLogo__icon: import("@emotion/utils").SerializedStyles;
2944
2947
  /**
2945
2948
  * 1. Requires pixel math for animation
2946
2949
  * 2. Add a half the amount of animation distance padding to the top to give it more room
@@ -2949,9 +2952,6 @@ declare module '@elastic/eui/src/components/loading/loading_logo.styles' {
2949
2952
  l: import("@emotion/utils").SerializedStyles;
2950
2953
  xl: import("@emotion/utils").SerializedStyles;
2951
2954
  };
2952
- export const euiLoadingLogoIconStyles: ({ euiTheme }: UseEuiTheme) => {
2953
- euiLoadingLogo__icon: import("@emotion/utils").SerializedStyles;
2954
- };
2955
2955
 
2956
2956
  }
2957
2957
  declare module '@elastic/eui/src/components/loading/loading_logo' {
@@ -3854,13 +3854,81 @@ declare module '@elastic/eui/src/components/focus_trap' {
3854
3854
  export type { EuiFocusTrapProps, FocusTarget } from '@elastic/eui/src/components/focus_trap/focus_trap';
3855
3855
  export { EuiFocusTrap } from '@elastic/eui/src/components/focus_trap/focus_trap';
3856
3856
 
3857
+ }
3858
+ declare module '@elastic/eui/src/components/table/mobile/responsive_context' {
3859
+
3860
+ import { type EuiBreakpointSize } from '@elastic/eui/src/services';
3861
+ export const DEFAULT_TABLE_BREAKPOINT: EuiBreakpointSize;
3862
+ /**
3863
+ * Used by parent/top-level table components to determine isResponsive state
3864
+ * based on the passed breakpoint
3865
+ */
3866
+ export const useIsEuiTableResponsive: (componentProp?: string | boolean | undefined) => boolean;
3867
+ /**
3868
+ * Context set by parent table components
3869
+ * Hook used by cells to fetch parent isResponsive state
3870
+ */
3871
+ export const EuiTableIsResponsiveContext: import("react").Context<boolean>;
3872
+ export const useEuiTableIsResponsive: () => boolean;
3873
+
3874
+ }
3875
+ declare module '@elastic/eui/src/components/table/table.styles' {
3876
+ import { UseEuiTheme } from '@elastic/eui/src/services';
3877
+ export const euiTableVariables: ({ euiTheme }: UseEuiTheme) => {
3878
+ cellContentPadding: string;
3879
+ compressedCellContentPadding: string;
3880
+ mobileSizes: {
3881
+ actions: {
3882
+ width: string;
3883
+ offset: string;
3884
+ };
3885
+ checkbox: {
3886
+ width: string;
3887
+ offset: string;
3888
+ };
3889
+ };
3890
+ checkboxSize: string;
3891
+ };
3892
+ export const euiTableStyles: (euiThemeContext: UseEuiTheme) => {
3893
+ euiTable: import("@emotion/utils").SerializedStyles;
3894
+ layout: {
3895
+ fixed: import("@emotion/utils").SerializedStyles;
3896
+ auto: import("@emotion/utils").SerializedStyles;
3897
+ };
3898
+ /**
3899
+ * 1. The padding on the `.euiTableCellContent` div allows the ellipsis to show if the
3900
+ * content is truncated. If the padding was on the cell, the ellipsis would be cropped.
3901
+ * 2. The `:where()` selector sets the specificity to 0, allowing consumers to more easily
3902
+ * override our CSS if needed
3903
+ */
3904
+ uncompressed: import("@emotion/utils").SerializedStyles;
3905
+ compressed: import("@emotion/utils").SerializedStyles;
3906
+ /**
3907
+ * Responsive/mobile vs desktop styles
3908
+ * Individual row/cells handle their own desktop vs mobile styles
3909
+ */
3910
+ desktop: import("@emotion/utils").SerializedStyles;
3911
+ mobile: import("@emotion/utils").SerializedStyles;
3912
+ };
3913
+ export const euiTableCaptionStyles: import("@emotion/utils").SerializedStyles;
3914
+
3857
3915
  }
3858
3916
  declare module '@elastic/eui/src/components/table/table' {
3859
3917
  import { FunctionComponent, TableHTMLAttributes } from 'react';
3918
+ import { type EuiBreakpointSize } from '@elastic/eui/src/services';
3860
3919
  import { CommonProps } from '@elastic/eui/src/components/common';
3861
3920
  export interface EuiTableProps extends CommonProps, TableHTMLAttributes<HTMLTableElement> {
3862
3921
  compressed?: boolean;
3863
- responsive?: boolean;
3922
+ /**
3923
+ * Named breakpoint. Below this size, the table will collapse
3924
+ * into responsive cards.
3925
+ *
3926
+ * Pass `false` to never collapse to a mobile view, or inversely,
3927
+ * `true` to always render mobile-friendly cards.
3928
+ *
3929
+ * @default m
3930
+ */
3931
+ responsiveBreakpoint?: EuiBreakpointSize | boolean;
3864
3932
  /**
3865
3933
  * Sets the table-layout CSS property
3866
3934
  */
@@ -3890,99 +3958,438 @@ declare module '@elastic/eui/src/components/table/utils' {
3890
3958
  export const resolveWidthAsStyle: (style?: CSSProperties, width?: string | number | undefined) => CSSProperties;
3891
3959
 
3892
3960
  }
3893
- declare module '@elastic/eui/src/components/table/table_footer_cell' {
3894
- import { FunctionComponent, TdHTMLAttributes } from 'react';
3895
- import { CommonProps } from '@elastic/eui/src/components/common';
3896
- import { HorizontalAlignment } from '@elastic/eui/src/services';
3897
- export type EuiTableFooterCellProps = CommonProps & TdHTMLAttributes<HTMLTableCellElement> & {
3898
- align?: HorizontalAlignment;
3899
- width?: string | number;
3900
- };
3901
- export const EuiTableFooterCell: FunctionComponent<EuiTableFooterCellProps>;
3961
+ declare module '@elastic/eui/src/services/canvas/canvas_text_utils' {
3962
+ import type { ExclusiveUnion } from '@elastic/eui/src/components/common';
3963
+ export type CanvasTextParams = ExclusiveUnion<{
3964
+ container: HTMLElement;
3965
+ }, {
3966
+ font: CanvasTextDrawingStyles['font'];
3967
+ }>;
3968
+ /**
3969
+ * Creates a temporary Canvas element for manipulating text & determining text width.
3970
+ *
3971
+ * To accurately measure text, canvas rendering requires either a container to
3972
+ * compute/derive font styles from, or a static font string (useful for usage
3973
+ * outside the DOM). Particular care should be applied when fallback fonts are
3974
+ * used, as more fallback fonts can lead to less precision.
3975
+ *
3976
+ * Please note that while canvas is more significantly more performant than DOM
3977
+ * measurement, there are subpixel to single digit pixel differences between
3978
+ * DOM and canvas measurement due to the different rendering engines used.
3979
+ */
3980
+ export class CanvasTextUtils {
3981
+ context: CanvasRenderingContext2D;
3982
+ currentText: string;
3983
+ constructor({ font, container }: CanvasTextParams);
3984
+ computeFontFromElement: (element: HTMLElement) => string;
3985
+ get textWidth(): number;
3986
+ setTextToCheck: (text: string) => void;
3987
+ }
3902
3988
 
3903
3989
  }
3904
- declare module '@elastic/eui/src/components/table/table_header' {
3905
- import { FunctionComponent, ReactNode, HTMLAttributes } from 'react';
3906
- import { CommonProps } from '@elastic/eui/src/components/common';
3907
- export type EuiTableHeaderProps = CommonProps & HTMLAttributes<HTMLElement> & {
3990
+ declare module '@elastic/eui/src/services/canvas' {
3991
+ export { CanvasTextUtils } from '@elastic/eui/src/services/canvas/canvas_text_utils';
3992
+ export type { CanvasTextParams } from '@elastic/eui/src/services/canvas/canvas_text_utils';
3993
+
3994
+ }
3995
+ declare module '@elastic/eui/src/components/text_truncate/utils' {
3996
+ import { CanvasTextParams, CanvasTextUtils } from '@elastic/eui/src/services/canvas'; type TruncationParams = CanvasTextParams & {
3997
+ fullText: string;
3998
+ ellipsis: string;
3999
+ availableWidth: number;
4000
+ };
4001
+ /**
4002
+ * Utilities for truncating types at various positions, as well as
4003
+ * determining whether truncation is possible or even necessary.
4004
+ */
4005
+ export class TruncationUtils extends CanvasTextUtils {
4006
+ protected fullText: TruncationParams['fullText'];
4007
+ protected ellipsis: TruncationParams['ellipsis'];
4008
+ protected availableWidth: TruncationParams['availableWidth'];
4009
+ constructor({ fullText, ellipsis, availableWidth, ...rest }: TruncationParams);
3908
4010
  /**
3909
- * Children must be valid DOM structure residing within `<thead>`.
3910
- * Use `<td> | <th>` by default, or `<tr><th/></tr>` when `wrapWithTableRow=false`
4011
+ * Performance utilities
3911
4012
  */
3912
- children?: ReactNode;
4013
+ debugPerformance: boolean;
4014
+ debugCounter: number;
4015
+ get textWidth(): number;
3913
4016
  /**
3914
- * Automatically adds a wrapping `<tr>` element around the children
4017
+ * Internal utils for calculating a ratio based on the passed available width
4018
+ * vs the full text width.
4019
+ * This ratio is used to get an initial _approximate_ text string that should
4020
+ * be slightly over the available width, which we can then remove from
4021
+ * character-by-character until the text just fits within the available width.
3915
4022
  */
3916
- wrapWithTableRow?: boolean;
3917
- };
3918
- export const EuiTableHeader: FunctionComponent<EuiTableHeaderProps>;
3919
-
3920
- }
3921
- declare module '@elastic/eui/src/components/inner_text/inner_text' {
3922
- import { FunctionComponent, ReactElement } from 'react'; type RefT = HTMLElement | Element | undefined | null;
3923
- export function useInnerText(innerTextFallback?: string): [(node: RefT) => void, string | undefined];
3924
- export interface EuiInnerTextProps {
4023
+ widthRatio: number;
4024
+ setTextWidthRatio: (text?: string, textToOffset?: string) => void;
4025
+ getTextFromRatio: (text: string, type: 'start' | 'end') => string;
3925
4026
  /**
3926
- * ReactNode to render as this component's content
4027
+ * Early return checks
3927
4028
  */
3928
- children: (ref?: (node: RefT) => void, innerText?: string) => ReactElement;
3929
- fallback?: string;
4029
+ checkIfTruncationIsNeeded: () => false | undefined;
4030
+ checkSufficientEllipsisWidth: (truncation: string) => false | undefined;
4031
+ checkTruncationOffsetWidth: (text: string) => false | undefined;
4032
+ /**
4033
+ * Truncation types logic. This is where the magic happens
4034
+ */
4035
+ truncateStart: (truncationOffset?: number | undefined) => string;
4036
+ truncateEnd: (truncationOffset?: number | undefined) => string;
4037
+ truncateStartEndAtPosition: (truncationPosition: number) => string;
4038
+ truncateStartEndAtMiddle: () => string;
4039
+ truncateMiddle: () => string;
3930
4040
  }
3931
- export const EuiInnerText: FunctionComponent<EuiInnerTextProps>;
3932
4041
  export {};
3933
4042
 
3934
4043
  }
3935
- declare module '@elastic/eui/src/components/inner_text' {
3936
- export type { EuiInnerTextProps } from '@elastic/eui/src/components/inner_text/inner_text';
3937
- export { useInnerText, EuiInnerText } from '@elastic/eui/src/components/inner_text/inner_text';
4044
+ declare module '@elastic/eui/src/components/text_truncate/text_truncate.styles' {
4045
+ export const euiTextTruncateStyles: {
4046
+ euiTextTruncate: import("@emotion/utils").SerializedStyles;
4047
+ /**
4048
+ * The below CSS is a hack to get double clicking and selecting the *full* text
4049
+ * instead of the truncated text (useful for copying/pasting, and mimics how
4050
+ * `text-overflow: ellipsis` works).
4051
+ *
4052
+ * Real talk: I'm lowkey amazed it works and it wouldn't surprise me if we ran into
4053
+ * cross-browser issues with this at some point. Hopefully CSS natively implements
4054
+ * custom text truncation some day (https://github.com/w3c/csswg-drafts/issues/3937)
4055
+ * and there'll be no need for the entire component at that point 🙏
4056
+ */
4057
+ euiTextTruncate__truncatedText: import("@emotion/utils").SerializedStyles;
4058
+ euiTextTruncate__fullText: import("@emotion/utils").SerializedStyles;
4059
+ };
3938
4060
 
3939
4061
  }
3940
- declare module '@elastic/eui/src/components/table/table_header_button' {
3941
- import { ButtonHTMLAttributes, FunctionComponent } from 'react';
3942
- import { CommonProps } from '@elastic/eui/src/components/common';
3943
- import { IconType } from '@elastic/eui/src/components/icon';
3944
- export type EuiTableHeaderButtonProps = CommonProps & ButtonHTMLAttributes<HTMLButtonElement> & {
3945
- iconType?: IconType;
4062
+ declare module '@elastic/eui/src/components/text_truncate/text_truncate' {
4063
+ import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
4064
+ import type { CommonProps } from '@elastic/eui/src/components/common'; const TRUNCATION_TYPES: readonly ["end", "start", "startEnd", "middle"];
4065
+ export type EuiTextTruncationTypes = (typeof TRUNCATION_TYPES)[number];
4066
+ export type EuiTextTruncateProps = Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onResize'> & CommonProps & {
4067
+ /**
4068
+ * The full text string to truncate
4069
+ */
4070
+ text: string;
4071
+ /**
4072
+ * The truncation type desired. Determines where the ellipses are placed.
4073
+ */
4074
+ truncation?: EuiTextTruncationTypes;
4075
+ /**
4076
+ * This prop **only** applies to the `start` and `end` truncation types.
4077
+ * It allows preserving a certain number of characters of either the
4078
+ * starting or ending text.
4079
+ *
4080
+ * If the passed offset is greater than the total text length,
4081
+ * the offset will be ignored.
4082
+ */
4083
+ truncationOffset?: number;
4084
+ /**
4085
+ * This prop **only** applies to the `startEnd` truncation type.
4086
+ * It allows customizing the anchor position of the displayed text,
4087
+ * which otherwise defaults to the middle of the text string.
4088
+ *
4089
+ * The primary use case for this prop for is search highlighting - e.g., if
4090
+ * a user searches for a specific word in the text, pass the index of that
4091
+ * found word to ensure it is always visible.
4092
+ *
4093
+ * This behavior will intelligently detect when positions are close to the start
4094
+ * or end of the text, and omit leading or trailing ellipses when necessary.
4095
+ * If the passed position is greater than the total text length,
4096
+ * the truncation will simply default to `start` instead.
4097
+ */
4098
+ truncationPosition?: number;
4099
+ /**
4100
+ * Defaults to the horizontal ellipsis character.
4101
+ * Can be optionally configured to use other punctuation,
4102
+ * e.g. spaces, brackets, hyphens, asterisks, etc.
4103
+ */
4104
+ ellipsis?: string;
4105
+ /**
4106
+ * By default, EuiTextTruncate will render a resize observer to detect the
4107
+ * available width it has. For performance reasons (e.g. multiple truncated
4108
+ * text items within the same container), you may opt to pass in your own
4109
+ * container width, which will skip initializing a resize observer.
4110
+ */
4111
+ width?: number;
4112
+ /**
4113
+ * Optional callback that fires when the default resizer observer both mounts and
4114
+ * registers a size change. This callback will **not** fire if `width` is passed.
4115
+ */
4116
+ onResize?: (width: number) => void;
4117
+ /**
4118
+ * By default, EuiTextTruncate will render the truncated string directly.
4119
+ * You can optionally pass a render prop function to the component, which
4120
+ * allows for more flexible text rendering, e.g. adding custom markup
4121
+ * or highlighting
4122
+ */
4123
+ children?: (truncatedString: string) => ReactNode;
4124
+ /**
4125
+ * For some edge case scenarios, EuiTextTruncate's calculations may be off until
4126
+ * fonts are done loading or layout is done shifting or settling. Adding a delay
4127
+ * may help resolve any rendering issues.
4128
+ */
4129
+ calculationDelayMs?: number;
3946
4130
  };
3947
- export const EuiTableHeaderButton: FunctionComponent<EuiTableHeaderButtonProps>;
4131
+ export const EuiTextTruncate: FunctionComponent<EuiTextTruncateProps>;
4132
+ export {};
3948
4133
 
3949
4134
  }
3950
- declare module '@elastic/eui/src/components/table/table_header_cell' {
3951
- import { FunctionComponent, ThHTMLAttributes } from 'react';
3952
- import { CommonProps, NoArgCallback } from '@elastic/eui/src/components/common';
3953
- import { HorizontalAlignment } from '@elastic/eui/src/services';
3954
- export type TableHeaderCellScope = 'col' | 'row' | 'colgroup' | 'rowgroup';
3955
- export type EuiTableHeaderCellProps = CommonProps & Omit<ThHTMLAttributes<HTMLTableHeaderCellElement>, 'align' | 'scope'> & {
3956
- align?: HorizontalAlignment;
3957
- isSortAscending?: boolean;
3958
- isSorted?: boolean;
4135
+ declare module '@elastic/eui/src/components/text_truncate/text_block_truncate' {
4136
+ import { FunctionComponent, HTMLAttributes, PropsWithChildren } from 'react';
4137
+ import { CommonProps } from '@elastic/eui/src/components/common';
4138
+ export type EuiTextBlockTruncateProps = PropsWithChildren & CommonProps & HTMLAttributes<HTMLDivElement> & {
3959
4139
  /**
3960
- * Mobile options for displaying differently at small screens
4140
+ * Number of lines of text to truncate to
3961
4141
  */
3962
- mobileOptions?: {
3963
- /**
3964
- * If false, will not render the column at all for mobile
3965
- */
3966
- show?: boolean;
3967
- /**
3968
- * Only show for mobile? If true, will not render the column at all
3969
- * for desktop
3970
- */
3971
- only?: boolean;
3972
- };
3973
- onSort?: NoArgCallback<void>;
3974
- scope?: TableHeaderCellScope;
3975
- width?: string | number;
3976
- description?: string;
4142
+ lines: number;
3977
4143
  /**
3978
- * Shows the sort indicator but removes the button
4144
+ * Applies styling to the child element instead of rendering a parent wrapper `div`.
4145
+ * Can only be used when wrapping a *single* child element/tag, and not raw text.
3979
4146
  */
3980
- readOnly?: boolean;
4147
+ cloneElement?: boolean;
3981
4148
  };
3982
- export const EuiTableHeaderCell: FunctionComponent<EuiTableHeaderCellProps>;
4149
+ export const EuiTextBlockTruncate: FunctionComponent<EuiTextBlockTruncateProps>;
3983
4150
 
3984
4151
  }
3985
- declare module '@elastic/eui/src/components/table/table_header_cell_checkbox' {
4152
+ declare module '@elastic/eui/src/components/text_truncate' {
4153
+ export type { EuiTextTruncateProps, EuiTextTruncationTypes, } from '@elastic/eui/src/components/text_truncate/text_truncate';
4154
+ export { EuiTextTruncate } from '@elastic/eui/src/components/text_truncate/text_truncate';
4155
+ export type { EuiTextBlockTruncateProps } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
4156
+ export { EuiTextBlockTruncate } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
4157
+ export { TruncationUtils } from '@elastic/eui/src/components/text_truncate/utils';
4158
+
4159
+ }
4160
+ declare module '@elastic/eui/src/components/table/table_row_cell.styles' {
4161
+ import { UseEuiTheme } from '@elastic/eui/src/services';
4162
+ export const euiTableRowCellStyles: (euiThemeContext: UseEuiTheme) => {
4163
+ euiTableRowCell: import("@emotion/utils").SerializedStyles;
4164
+ rowHeader: import("@emotion/utils").SerializedStyles;
4165
+ isExpander: import("@emotion/utils").SerializedStyles;
4166
+ hasActions: import("@emotion/utils").SerializedStyles;
4167
+ middle: import("@emotion/utils").SerializedStyles;
4168
+ baseline: import("@emotion/utils").SerializedStyles;
4169
+ top: import("@emotion/utils").SerializedStyles;
4170
+ bottom: import("@emotion/utils").SerializedStyles;
4171
+ desktop: {
4172
+ desktop: import("@emotion/utils").SerializedStyles;
4173
+ actions: import("@emotion/utils").SerializedStyles;
4174
+ };
4175
+ mobile: {
4176
+ mobile: import("@emotion/utils").SerializedStyles;
4177
+ enlarge: import("@emotion/utils").SerializedStyles;
4178
+ rightColumnContent: string;
4179
+ readonly actions: import("@emotion/utils").SerializedStyles;
4180
+ readonly expander: import("@emotion/utils").SerializedStyles;
4181
+ /**
4182
+ * Custom actions may not be icons and therefore may not fit in a column
4183
+ * If they're the last cell, we can create a pseudo "row"/"border-top"
4184
+ * that mimicks the visual separation that the right column has
4185
+ */
4186
+ customActions: import("@emotion/utils").SerializedStyles;
4187
+ };
4188
+ euiTableRowCell__mobileHeader: import("@emotion/utils").SerializedStyles;
4189
+ };
4190
+
4191
+ }
4192
+ declare module '@elastic/eui/src/components/table/table_row_cell' {
4193
+ import { CSSProperties, FunctionComponent, ReactNode, TdHTMLAttributes } from 'react';
4194
+ import { CommonProps } from '@elastic/eui/src/components/common';
4195
+ import { HorizontalAlignment } from '@elastic/eui/src/services';
4196
+ interface EuiTableRowCellSharedPropsShape {
4197
+ /**
4198
+ * Horizontal alignment of the text in the cell
4199
+ */
4200
+ align?: HorizontalAlignment;
4201
+ /**
4202
+ * Creates a text wrapper around cell content that helps word break or truncate
4203
+ * long text correctly.
4204
+ * @default true
4205
+ */
4206
+ textOnly?: boolean;
4207
+ /**
4208
+ * Indicates whether this column should truncate overflowing text content.
4209
+ * - Set to `true` to enable single-line truncation.
4210
+ * - To enable multi-line truncation, use a configuration object with `lines`
4211
+ * set to a number of lines to truncate to.
4212
+ * @default false
4213
+ */
4214
+ truncateText?: boolean | {
4215
+ lines: number;
4216
+ };
4217
+ width?: CSSProperties['width'];
4218
+ }
4219
+ export interface EuiTableRowCellMobileOptionsShape extends EuiTableRowCellSharedPropsShape {
4220
+ /**
4221
+ * If false, will not render the cell at all for mobile
4222
+ * @default true
4223
+ */
4224
+ show?: boolean;
4225
+ /**
4226
+ * Only show for mobile? If true, will not render the column at all for desktop
4227
+ * @default false
4228
+ */
4229
+ only?: boolean;
4230
+ /**
4231
+ * Custom render/children if different from desktop
4232
+ */
4233
+ render?: ReactNode;
4234
+ /**
4235
+ * The column's header for use in mobile view (automatically passed down
4236
+ * when using `EuiBasicTable`).
4237
+ * Or pass `false` to not show a header at all.
4238
+ */
4239
+ header?: ReactNode | boolean;
4240
+ /**
4241
+ * Increase text size compared to rest of cells
4242
+ * @default false
4243
+ */
4244
+ enlarge?: boolean;
4245
+ /**
4246
+ * Applies the value to the width of the cell in mobile view (typically 50%)
4247
+ * @default 50%
4248
+ */
4249
+ width?: CSSProperties['width'];
4250
+ }
4251
+ export interface EuiTableRowCellProps extends EuiTableRowCellSharedPropsShape {
4252
+ /**
4253
+ * Vertical alignment of the content in the cell
4254
+ */
4255
+ valign?: TdHTMLAttributes<HTMLTableCellElement>['valign'];
4256
+ /**
4257
+ * Indicates whether the cell should be marked as the heading for its row
4258
+ */
4259
+ setScopeRow?: boolean;
4260
+ /**
4261
+ * Indicates if the cell is dedicated to row actions
4262
+ * (used for mobile styling and desktop action hover behavior)
4263
+ */
4264
+ hasActions?: boolean | 'custom';
4265
+ /**
4266
+ * Indicates if the column is dedicated as the expandable row toggle
4267
+ */
4268
+ isExpander?: boolean;
4269
+ /**
4270
+ * Mobile options for displaying differently at small screens;
4271
+ * See #EuiTableRowCellMobileOptionsShape
4272
+ */
4273
+ mobileOptions?: EuiTableRowCellMobileOptionsShape;
4274
+ } type Props = CommonProps & Omit<TdHTMLAttributes<HTMLTableCellElement>, 'valign'> & EuiTableRowCellProps;
4275
+ export const EuiTableRowCell: FunctionComponent<Props>;
4276
+ export {};
4277
+
4278
+ }
4279
+ declare module '@elastic/eui/src/components/table/_table_cell_content.styles' {
4280
+ import { UseEuiTheme } from '@elastic/eui/src/services';
4281
+ export const euiTableCellContentStyles: ({ euiTheme }: UseEuiTheme) => {
4282
+ euiTableCellContent: import("@emotion/utils").SerializedStyles;
4283
+ left: null;
4284
+ right: import("@emotion/utils").SerializedStyles;
4285
+ center: import("@emotion/utils").SerializedStyles;
4286
+ truncateText: import("@emotion/utils").SerializedStyles;
4287
+ wrapText: import("@emotion/utils").SerializedStyles;
4288
+ hasActions: {
4289
+ actions: import("@emotion/utils").SerializedStyles;
4290
+ desktop: import("@emotion/utils").SerializedStyles;
4291
+ mobile: import("@emotion/utils").SerializedStyles;
4292
+ };
4293
+ };
4294
+
4295
+ }
4296
+ declare module '@elastic/eui/src/components/table/_table_cell_content' {
4297
+ import { FunctionComponent, HTMLAttributes } from 'react';
4298
+ import { CommonProps } from '@elastic/eui/src/components/common';
4299
+ import type { EuiTableRowCellProps } from '@elastic/eui/src/components/table/table_row_cell';
4300
+ export type EuiTableCellContentProps = CommonProps & HTMLAttributes<HTMLDivElement> & Pick<EuiTableRowCellProps, 'align' | 'hasActions' | 'textOnly'> & {
4301
+ truncateText?: EuiTableRowCellProps['truncateText'] | null;
4302
+ };
4303
+ export const EuiTableCellContent: FunctionComponent<EuiTableCellContentProps>;
4304
+
4305
+ }
4306
+ declare module '@elastic/eui/src/components/table/table_cells_shared.styles' {
4307
+ import { UseEuiTheme } from '@elastic/eui/src/services';
4308
+ export const euiTableHeaderFooterCellStyles: (euiThemeContext: UseEuiTheme) => {
4309
+ euiTableHeaderCell: import("@emotion/utils").SerializedStyles;
4310
+ euiTableHeaderCell__content: import("@emotion/utils").SerializedStyles;
4311
+ euiTableHeaderCell__button: import("@emotion/utils").SerializedStyles;
4312
+ euiTableFooterCell: import("@emotion/utils").SerializedStyles;
4313
+ };
4314
+ export const euiTableCellCheckboxStyles: (euiThemeContext: UseEuiTheme) => {
4315
+ euiTableHeaderCellCheckbox: import("@emotion/utils").SerializedStyles;
4316
+ euiTableRowCellCheckbox: import("@emotion/utils").SerializedStyles;
4317
+ desktop: import("@emotion/utils").SerializedStyles;
4318
+ mobile: import("@emotion/utils").SerializedStyles;
4319
+ };
4320
+
4321
+ }
4322
+ declare module '@elastic/eui/src/components/table/table_footer_cell' {
4323
+ import { FunctionComponent, TdHTMLAttributes } from 'react';
4324
+ import { HorizontalAlignment } from '@elastic/eui/src/services';
4325
+ import { CommonProps } from '@elastic/eui/src/components/common';
4326
+ export type EuiTableFooterCellProps = CommonProps & TdHTMLAttributes<HTMLTableCellElement> & {
4327
+ align?: HorizontalAlignment;
4328
+ width?: string | number;
4329
+ };
4330
+ export const EuiTableFooterCell: FunctionComponent<EuiTableFooterCellProps>;
4331
+
4332
+ }
4333
+ declare module '@elastic/eui/src/components/table/table_header' {
4334
+ import { FunctionComponent, ReactNode, HTMLAttributes } from 'react';
4335
+ import { CommonProps } from '@elastic/eui/src/components/common';
4336
+ export type EuiTableHeaderProps = CommonProps & HTMLAttributes<HTMLElement> & {
4337
+ /**
4338
+ * Children must be valid DOM structure residing within `<thead>`.
4339
+ * Use `<td> | <th>` by default, or `<tr><th/></tr>` when `wrapWithTableRow=false`
4340
+ */
4341
+ children?: ReactNode;
4342
+ /**
4343
+ * Automatically adds a wrapping `<tr>` element around the children
4344
+ */
4345
+ wrapWithTableRow?: boolean;
4346
+ };
4347
+ export const EuiTableHeader: FunctionComponent<EuiTableHeaderProps>;
4348
+
4349
+ }
4350
+ declare module '@elastic/eui/src/components/inner_text/inner_text' {
4351
+ import { FunctionComponent, ReactElement } from 'react'; type RefT = HTMLElement | Element | undefined | null;
4352
+ export function useInnerText(innerTextFallback?: string): [(node: RefT) => void, string | undefined];
4353
+ export interface EuiInnerTextProps {
4354
+ /**
4355
+ * ReactNode to render as this component's content
4356
+ */
4357
+ children: (ref?: (node: RefT) => void, innerText?: string) => ReactElement;
4358
+ fallback?: string;
4359
+ }
4360
+ export const EuiInnerText: FunctionComponent<EuiInnerTextProps>;
4361
+ export {};
4362
+
4363
+ }
4364
+ declare module '@elastic/eui/src/components/inner_text' {
4365
+ export type { EuiInnerTextProps } from '@elastic/eui/src/components/inner_text/inner_text';
4366
+ export { useInnerText, EuiInnerText } from '@elastic/eui/src/components/inner_text/inner_text';
4367
+
4368
+ }
4369
+ declare module '@elastic/eui/src/components/table/table_header_cell' {
4370
+ import { FunctionComponent, ThHTMLAttributes } from 'react';
4371
+ import { HorizontalAlignment } from '@elastic/eui/src/services';
4372
+ import { CommonProps, NoArgCallback } from '@elastic/eui/src/components/common';
4373
+ import type { EuiTableRowCellMobileOptionsShape } from '@elastic/eui/src/components/table/table_row_cell';
4374
+ export type TableHeaderCellScope = 'col' | 'row' | 'colgroup' | 'rowgroup';
4375
+ export type EuiTableHeaderCellProps = CommonProps & Omit<ThHTMLAttributes<HTMLTableHeaderCellElement>, 'align' | 'scope'> & {
4376
+ align?: HorizontalAlignment;
4377
+ isSortAscending?: boolean;
4378
+ isSorted?: boolean;
4379
+ mobileOptions?: Pick<EuiTableRowCellMobileOptionsShape, 'only' | 'show'>;
4380
+ onSort?: NoArgCallback<void>;
4381
+ scope?: TableHeaderCellScope;
4382
+ width?: string | number;
4383
+ description?: string;
4384
+ /**
4385
+ * Shows the sort indicator but removes the button
4386
+ */
4387
+ readOnly?: boolean;
4388
+ };
4389
+ export const EuiTableHeaderCell: FunctionComponent<EuiTableHeaderCellProps>;
4390
+
4391
+ }
4392
+ declare module '@elastic/eui/src/components/table/table_header_cell_checkbox' {
3986
4393
  import { FunctionComponent, ThHTMLAttributes } from 'react';
3987
4394
  import { CommonProps } from '@elastic/eui/src/components/common';
3988
4395
  export type EuiTableHeaderCellCheckboxScope = 'col' | 'row' | 'colgroup' | 'rowgroup';
@@ -4123,7 +4530,7 @@ declare module '@elastic/eui/src/components/context_menu/context_menu_panel.styl
4123
4530
  declare module '@elastic/eui/src/components/context_menu/context_menu_panel' {
4124
4531
  import React, { Component, HTMLAttributes, PropsWithChildren, ReactElement, ReactNode } from 'react';
4125
4532
  import { FocusableElement } from 'tabbable';
4126
- import { WithEuiThemeProps } from '@elastic/eui/src/services';
4533
+ import { WithEuiStylesMemoizerProps } from '@elastic/eui/src/services';
4127
4534
  import { CommonProps, NoArgCallback } from '@elastic/eui/src/components/common';
4128
4535
  export type EuiContextMenuPanelHeightChangeHandler = (height: number) => void;
4129
4536
  export type EuiContextMenuPanelTransitionType = 'in' | 'out';
@@ -4158,13 +4565,13 @@ declare module '@elastic/eui/src/components/context_menu/context_menu_panel' {
4158
4565
  waitingForInitialPopover: boolean;
4159
4566
  tookInitialFocus: boolean;
4160
4567
  }
4161
- export class EuiContextMenuPanelClass extends Component<WithEuiThemeProps & Props, State> {
4568
+ export class EuiContextMenuPanelClass extends Component<WithEuiStylesMemoizerProps & Props, State> {
4162
4569
  static defaultProps: Partial<Props>;
4163
4570
  private _isMounted;
4164
4571
  private backButton?;
4165
4572
  private panel?;
4166
4573
  private initialPopoverParent?;
4167
- constructor(props: WithEuiThemeProps & Props);
4574
+ constructor(props: WithEuiStylesMemoizerProps & Props);
4168
4575
  findMenuItems: () => void;
4169
4576
  focusMenuItem: (direction: 'up' | 'down') => void;
4170
4577
  onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
@@ -4180,13 +4587,13 @@ declare module '@elastic/eui/src/components/context_menu/context_menu_panel' {
4180
4587
  panelRef: (node: HTMLElement | null) => void;
4181
4588
  render(): React.JSX.Element;
4182
4589
  }
4183
- export const EuiContextMenuPanel: React.ForwardRefExoticComponent<Omit<EuiContextMenuPanelProps, "theme"> & React.RefAttributes<Omit<EuiContextMenuPanelProps, "theme">>>;
4590
+ export const EuiContextMenuPanel: React.ForwardRefExoticComponent<Omit<EuiContextMenuPanelProps, "stylesMemoizer"> & React.RefAttributes<Omit<EuiContextMenuPanelProps, "stylesMemoizer">>>;
4184
4591
  export {};
4185
4592
 
4186
4593
  }
4187
4594
  declare module '@elastic/eui/src/components/context_menu/context_menu' {
4188
4595
  import React, { Component, HTMLAttributes, CSSProperties, ReactElement, ReactNode } from 'react';
4189
- import { WithEuiThemeProps } from '@elastic/eui/src/services';
4596
+ import { WithEuiStylesMemoizerProps } from '@elastic/eui/src/services';
4190
4597
  import { CommonProps, ExclusiveUnion } from '@elastic/eui/src/components/common';
4191
4598
  import { EuiHorizontalRuleProps } from '@elastic/eui/src/components/horizontal_rule';
4192
4599
  import { EuiContextMenuPanelTransitionDirection, EuiContextMenuPanelTransitionType } from '@elastic/eui/src/components/context_menu/context_menu_panel';
@@ -4265,10 +4672,10 @@ declare module '@elastic/eui/src/components/context_menu/context_menu' {
4265
4672
  focusedItemIndex?: number;
4266
4673
  isUsingKeyboardToNavigate: boolean;
4267
4674
  }
4268
- export class EuiContextMenuClass extends Component<WithEuiThemeProps & EuiContextMenuProps, State> {
4675
+ export class EuiContextMenuClass extends Component<WithEuiStylesMemoizerProps & EuiContextMenuProps, State> {
4269
4676
  static defaultProps: Partial<EuiContextMenuProps>;
4270
4677
  static getDerivedStateFromProps(nextProps: EuiContextMenuProps, prevState: State): Partial<State> | null;
4271
- constructor(props: WithEuiThemeProps & EuiContextMenuProps);
4678
+ constructor(props: WithEuiStylesMemoizerProps & EuiContextMenuProps);
4272
4679
  componentDidUpdate(prevProps: EuiContextMenuProps): void;
4273
4680
  hasPreviousPanel: (panelId: EuiContextMenuPanelId) => boolean;
4274
4681
  showPanel(panelId: EuiContextMenuPanelId, direction?: EuiContextMenuPanelTransitionDirection): void;
@@ -4284,7 +4691,7 @@ declare module '@elastic/eui/src/components/context_menu/context_menu' {
4284
4691
  renderPanel(panelId: EuiContextMenuPanelId, transitionType: EuiContextMenuPanelTransitionType): React.JSX.Element | undefined;
4285
4692
  render(): React.JSX.Element;
4286
4693
  }
4287
- export const EuiContextMenu: React.ForwardRefExoticComponent<Omit<EuiContextMenuProps, "theme"> & React.RefAttributes<Omit<EuiContextMenuProps, "theme">>>;
4694
+ export const EuiContextMenu: React.ForwardRefExoticComponent<Omit<EuiContextMenuProps, "stylesMemoizer"> & React.RefAttributes<Omit<EuiContextMenuProps, "stylesMemoizer">>>;
4288
4695
  export {};
4289
4696
 
4290
4697
  }
@@ -5212,417 +5619,181 @@ declare module '@elastic/eui/src/components/table/table_pagination/table_paginat
5212
5619
  import { FunctionComponent } from 'react';
5213
5620
  import { EuiPaginationProps } from '@elastic/eui/src/components/pagination';
5214
5621
  export type PageChangeHandler = EuiPaginationProps['onPageClick'];
5215
- export type ItemsPerPageChangeHandler = (pageSize: number) => void;
5216
- export interface EuiTablePaginationProps extends Omit<EuiPaginationProps, 'onPageClick'> {
5217
- /**
5218
- * Option to completely hide the "Rows per page" selector.
5219
- *
5220
- * @default true
5221
- */
5222
- showPerPageOptions?: boolean;
5223
- /**
5224
- * Current selection for "Rows per page".
5225
- * Pass `0` to display the selected "Show all" option and hide the pagination.
5226
- *
5227
- * @default 10
5228
- */
5229
- itemsPerPage?: number;
5230
- /**
5231
- * Custom array of options for "Rows per page".
5232
- * Pass `0` as one of the options to create a "Show all" option.
5233
- *
5234
- * @default [10, 25, 50]
5235
- */
5236
- itemsPerPageOptions?: number[];
5237
- /**
5238
- * Click handler that passes back selected `pageSize` number
5239
- */
5240
- onChangeItemsPerPage?: ItemsPerPageChangeHandler;
5241
- onChangePage?: PageChangeHandler;
5242
- /**
5243
- * Requires the `id` of the table being controlled
5244
- */
5245
- 'aria-controls'?: string;
5246
- 'aria-label'?: string;
5247
- }
5248
- export const EuiTablePagination: FunctionComponent<EuiTablePaginationProps>;
5249
-
5250
- }
5251
- declare module '@elastic/eui/src/components/table/table_pagination' {
5252
- export type { EuiTablePaginationProps } from '@elastic/eui/src/components/table/table_pagination/table_pagination';
5253
- export { EuiTablePagination } from '@elastic/eui/src/components/table/table_pagination/table_pagination';
5254
- export { useEuiTablePaginationDefaults, euiTablePaginationDefaults, } from '@elastic/eui/src/components/table/table_pagination/table_pagination_defaults';
5255
-
5256
- }
5257
- declare module '@elastic/eui/src/components/table/mobile/table_header_mobile' {
5258
- import { FunctionComponent, HTMLAttributes } from 'react';
5259
- import { CommonProps } from '@elastic/eui/src/components/common';
5260
- export const EuiTableHeaderMobile: FunctionComponent<CommonProps & HTMLAttributes<HTMLDivElement>>;
5261
-
5262
- }
5263
- declare module '@elastic/eui/src/components/table/mobile/table_sort_mobile_item' {
5264
- import { FunctionComponent, PropsWithChildren } from 'react';
5265
- import { CommonProps } from '@elastic/eui/src/components/common';
5266
- export interface EuiTableSortMobileItemProps extends PropsWithChildren, CommonProps {
5267
- /**
5268
- * Callback to know when an item has been clicked
5269
- */
5270
- onSort?: () => void;
5271
- /**
5272
- * Indicates current option is the sorted on column
5273
- */
5274
- isSorted?: boolean;
5275
- /**
5276
- * Indicates which direction the current column is sorted on
5277
- */
5278
- isSortAscending?: boolean;
5279
- ariaLabel?: string;
5280
- }
5281
- export const EuiTableSortMobileItem: FunctionComponent<EuiTableSortMobileItemProps>;
5282
-
5283
- }
5284
- declare module '@elastic/eui/src/components/table/mobile/table_sort_mobile' {
5285
- import React, { Component, ReactNode, Key } from 'react';
5286
- import { PopoverAnchorPosition } from '@elastic/eui/src/components/popover';
5287
- interface ItemProps {
5288
- name: ReactNode;
5289
- key?: Key;
5290
- onSort?: () => void;
5291
- isSorted?: boolean;
5292
- isSortAscending?: boolean;
5293
- }
5294
- export interface EuiTableSortMobileProps {
5295
- className?: string;
5296
- anchorPosition?: PopoverAnchorPosition;
5297
- items?: ItemProps[];
5298
- }
5299
- interface State {
5300
- isPopoverOpen: boolean;
5301
- }
5302
- export class EuiTableSortMobile extends Component<EuiTableSortMobileProps, State> {
5303
- state: {
5304
- isPopoverOpen: boolean;
5305
- };
5306
- onButtonClick: () => void;
5307
- closePopover: () => void;
5308
- render(): React.JSX.Element;
5309
- }
5310
- export {};
5311
-
5312
- }
5313
- declare module '@elastic/eui/src/components/table/table_row' {
5314
- import { FunctionComponent, HTMLAttributes, KeyboardEventHandler, MouseEventHandler } from 'react';
5315
- import { CommonProps } from '@elastic/eui/src/components/common';
5316
- export interface EuiTableRowProps {
5317
- /**
5318
- * Indicates if the table has a single column of checkboxes for selecting
5319
- * rows (affects mobile only)
5320
- */
5321
- isSelectable?: boolean;
5322
- /**
5323
- * Indicates the current row has been selected
5324
- */
5325
- isSelected?: boolean;
5326
- /**
5327
- * Indicates if the table has a dedicated column for icon-only actions
5328
- * (affects mobile only)
5329
- */
5330
- hasActions?: boolean;
5331
- /**
5332
- * Indicates if the row will have an expanded row
5333
- */
5334
- isExpandable?: boolean;
5335
- /**
5336
- * Indicates if the row will be the expanded row
5337
- */
5338
- isExpandedRow?: boolean;
5339
- onClick?: MouseEventHandler<HTMLTableRowElement> & KeyboardEventHandler<HTMLTableRowElement>;
5340
- } type Props = CommonProps & HTMLAttributes<HTMLTableRowElement> & EuiTableRowProps;
5341
- export const EuiTableRow: FunctionComponent<Props>;
5342
- export {};
5343
-
5344
- }
5345
- declare module '@elastic/eui/src/services/canvas/canvas_text_utils' {
5346
- import type { ExclusiveUnion } from '@elastic/eui/src/components/common';
5347
- export type CanvasTextParams = ExclusiveUnion<{
5348
- container: HTMLElement;
5349
- }, {
5350
- font: CanvasTextDrawingStyles['font'];
5351
- }>;
5352
- /**
5353
- * Creates a temporary Canvas element for manipulating text & determining text width.
5354
- *
5355
- * To accurately measure text, canvas rendering requires either a container to
5356
- * compute/derive font styles from, or a static font string (useful for usage
5357
- * outside the DOM). Particular care should be applied when fallback fonts are
5358
- * used, as more fallback fonts can lead to less precision.
5359
- *
5360
- * Please note that while canvas is more significantly more performant than DOM
5361
- * measurement, there are subpixel to single digit pixel differences between
5362
- * DOM and canvas measurement due to the different rendering engines used.
5363
- */
5364
- export class CanvasTextUtils {
5365
- context: CanvasRenderingContext2D;
5366
- currentText: string;
5367
- constructor({ font, container }: CanvasTextParams);
5368
- computeFontFromElement: (element: HTMLElement) => string;
5369
- get textWidth(): number;
5370
- setTextToCheck: (text: string) => void;
5371
- }
5372
-
5373
- }
5374
- declare module '@elastic/eui/src/services/canvas' {
5375
- export { CanvasTextUtils } from '@elastic/eui/src/services/canvas/canvas_text_utils';
5376
- export type { CanvasTextParams } from '@elastic/eui/src/services/canvas/canvas_text_utils';
5377
-
5378
- }
5379
- declare module '@elastic/eui/src/components/text_truncate/utils' {
5380
- import { CanvasTextParams, CanvasTextUtils } from '@elastic/eui/src/services/canvas'; type TruncationParams = CanvasTextParams & {
5381
- fullText: string;
5382
- ellipsis: string;
5383
- availableWidth: number;
5384
- };
5385
- /**
5386
- * Utilities for truncating types at various positions, as well as
5387
- * determining whether truncation is possible or even necessary.
5388
- */
5389
- export class TruncationUtils extends CanvasTextUtils {
5390
- protected fullText: TruncationParams['fullText'];
5391
- protected ellipsis: TruncationParams['ellipsis'];
5392
- protected availableWidth: TruncationParams['availableWidth'];
5393
- constructor({ fullText, ellipsis, availableWidth, ...rest }: TruncationParams);
5394
- /**
5395
- * Performance utilities
5396
- */
5397
- debugPerformance: boolean;
5398
- debugCounter: number;
5399
- get textWidth(): number;
5400
- /**
5401
- * Internal utils for calculating a ratio based on the passed available width
5402
- * vs the full text width.
5403
- * This ratio is used to get an initial _approximate_ text string that should
5404
- * be slightly over the available width, which we can then remove from
5405
- * character-by-character until the text just fits within the available width.
5406
- */
5407
- widthRatio: number;
5408
- setTextWidthRatio: (text?: string, textToOffset?: string) => void;
5409
- getTextFromRatio: (text: string, type: 'start' | 'end') => string;
5410
- /**
5411
- * Early return checks
5412
- */
5413
- checkIfTruncationIsNeeded: () => false | undefined;
5414
- checkSufficientEllipsisWidth: (truncation: string) => false | undefined;
5415
- checkTruncationOffsetWidth: (text: string) => false | undefined;
5416
- /**
5417
- * Truncation types logic. This is where the magic happens
5418
- */
5419
- truncateStart: (truncationOffset?: number | undefined) => string;
5420
- truncateEnd: (truncationOffset?: number | undefined) => string;
5421
- truncateStartEndAtPosition: (truncationPosition: number) => string;
5422
- truncateStartEndAtMiddle: () => string;
5423
- truncateMiddle: () => string;
5424
- }
5425
- export {};
5426
-
5427
- }
5428
- declare module '@elastic/eui/src/components/text_truncate/text_truncate.styles' {
5429
- export const euiTextTruncateStyles: {
5430
- euiTextTruncate: import("@emotion/utils").SerializedStyles;
5431
- /**
5432
- * The below CSS is a hack to get double clicking and selecting the *full* text
5433
- * instead of the truncated text (useful for copying/pasting, and mimics how
5434
- * `text-overflow: ellipsis` works).
5435
- *
5436
- * Real talk: I'm lowkey amazed it works and it wouldn't surprise me if we ran into
5437
- * cross-browser issues with this at some point. Hopefully CSS natively implements
5438
- * custom text truncation some day (https://github.com/w3c/csswg-drafts/issues/3937)
5439
- * and there'll be no need for the entire component at that point 🙏
5440
- */
5441
- euiTextTruncate__truncatedText: import("@emotion/utils").SerializedStyles;
5442
- euiTextTruncate__fullText: import("@emotion/utils").SerializedStyles;
5443
- };
5444
-
5445
- }
5446
- declare module '@elastic/eui/src/components/text_truncate/text_truncate' {
5447
- import { HTMLAttributes, FunctionComponent, ReactNode } from 'react';
5448
- import type { CommonProps } from '@elastic/eui/src/components/common'; const TRUNCATION_TYPES: readonly ["end", "start", "startEnd", "middle"];
5449
- export type EuiTextTruncationTypes = (typeof TRUNCATION_TYPES)[number];
5450
- export type EuiTextTruncateProps = Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onResize'> & CommonProps & {
5451
- /**
5452
- * The full text string to truncate
5453
- */
5454
- text: string;
5455
- /**
5456
- * The truncation type desired. Determines where the ellipses are placed.
5457
- */
5458
- truncation?: EuiTextTruncationTypes;
5459
- /**
5460
- * This prop **only** applies to the `start` and `end` truncation types.
5461
- * It allows preserving a certain number of characters of either the
5462
- * starting or ending text.
5463
- *
5464
- * If the passed offset is greater than the total text length,
5465
- * the offset will be ignored.
5466
- */
5467
- truncationOffset?: number;
5468
- /**
5469
- * This prop **only** applies to the `startEnd` truncation type.
5470
- * It allows customizing the anchor position of the displayed text,
5471
- * which otherwise defaults to the middle of the text string.
5472
- *
5473
- * The primary use case for this prop for is search highlighting - e.g., if
5474
- * a user searches for a specific word in the text, pass the index of that
5475
- * found word to ensure it is always visible.
5476
- *
5477
- * This behavior will intelligently detect when positions are close to the start
5478
- * or end of the text, and omit leading or trailing ellipses when necessary.
5479
- * If the passed position is greater than the total text length,
5480
- * the truncation will simply default to `start` instead.
5481
- */
5482
- truncationPosition?: number;
5483
- /**
5484
- * Defaults to the horizontal ellipsis character.
5485
- * Can be optionally configured to use other punctuation,
5486
- * e.g. spaces, brackets, hyphens, asterisks, etc.
5487
- */
5488
- ellipsis?: string;
5489
- /**
5490
- * By default, EuiTextTruncate will render a resize observer to detect the
5491
- * available width it has. For performance reasons (e.g. multiple truncated
5492
- * text items within the same container), you may opt to pass in your own
5493
- * container width, which will skip initializing a resize observer.
5494
- */
5495
- width?: number;
5496
- /**
5497
- * Optional callback that fires when the default resizer observer both mounts and
5498
- * registers a size change. This callback will **not** fire if `width` is passed.
5499
- */
5500
- onResize?: (width: number) => void;
5501
- /**
5502
- * By default, EuiTextTruncate will render the truncated string directly.
5503
- * You can optionally pass a render prop function to the component, which
5504
- * allows for more flexible text rendering, e.g. adding custom markup
5505
- * or highlighting
5506
- */
5507
- children?: (truncatedString: string) => ReactNode;
5508
- /**
5509
- * For some edge case scenarios, EuiTextTruncate's calculations may be off until
5510
- * fonts are done loading or layout is done shifting or settling. Adding a delay
5511
- * may help resolve any rendering issues.
5512
- */
5513
- calculationDelayMs?: number;
5514
- };
5515
- export const EuiTextTruncate: FunctionComponent<EuiTextTruncateProps>;
5516
- export {};
5517
-
5518
- }
5519
- declare module '@elastic/eui/src/components/text_truncate/text_block_truncate' {
5520
- import { FunctionComponent, HTMLAttributes, PropsWithChildren } from 'react';
5521
- import { CommonProps } from '@elastic/eui/src/components/common';
5522
- export type EuiTextBlockTruncateProps = PropsWithChildren & CommonProps & HTMLAttributes<HTMLDivElement> & {
5523
- /**
5524
- * Number of lines of text to truncate to
5525
- */
5526
- lines: number;
5527
- /**
5528
- * Applies styling to the child element instead of rendering a parent wrapper `div`.
5529
- * Can only be used when wrapping a *single* child element/tag, and not raw text.
5530
- */
5531
- cloneElement?: boolean;
5532
- };
5533
- export const EuiTextBlockTruncate: FunctionComponent<EuiTextBlockTruncateProps>;
5534
-
5535
- }
5536
- declare module '@elastic/eui/src/components/text_truncate' {
5537
- export type { EuiTextTruncateProps, EuiTextTruncationTypes, } from '@elastic/eui/src/components/text_truncate/text_truncate';
5538
- export { EuiTextTruncate } from '@elastic/eui/src/components/text_truncate/text_truncate';
5539
- export type { EuiTextBlockTruncateProps } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
5540
- export { EuiTextBlockTruncate } from '@elastic/eui/src/components/text_truncate/text_block_truncate';
5541
- export { TruncationUtils } from '@elastic/eui/src/components/text_truncate/utils';
5542
-
5543
- }
5544
- declare module '@elastic/eui/src/components/table/table_row_cell' {
5545
- import { CSSProperties, FunctionComponent, ReactNode, TdHTMLAttributes } from 'react';
5546
- import { CommonProps } from '@elastic/eui/src/components/common';
5547
- import { HorizontalAlignment } from '@elastic/eui/src/services';
5548
- interface EuiTableRowCellSharedPropsShape {
5549
- /**
5550
- * Horizontal alignment of the text in the cell
5551
- */
5552
- align?: HorizontalAlignment;
5622
+ export type ItemsPerPageChangeHandler = (pageSize: number) => void;
5623
+ export interface EuiTablePaginationProps extends Omit<EuiPaginationProps, 'onPageClick'> {
5553
5624
  /**
5554
- * _Should only be used for action cells_
5625
+ * Option to completely hide the "Rows per page" selector.
5626
+ *
5627
+ * @default true
5555
5628
  */
5556
- showOnHover?: boolean;
5629
+ showPerPageOptions?: boolean;
5557
5630
  /**
5558
- * Creates a text wrapper around cell content that helps word break or truncate
5559
- * long text correctly.
5631
+ * Current selection for "Rows per page".
5632
+ * Pass `0` to display the selected "Show all" option and hide the pagination.
5633
+ *
5634
+ * @default 10
5560
5635
  */
5561
- textOnly?: boolean;
5636
+ itemsPerPage?: number;
5562
5637
  /**
5563
- * Indicates whether this column should truncate overflowing text content.
5564
- * - Set to `true` to enable single-line truncation.
5565
- * - To enable multi-line truncation, use a configuration object with `lines`
5566
- * set to a number of lines to truncate to.
5638
+ * Custom array of options for "Rows per page".
5639
+ * Pass `0` as one of the options to create a "Show all" option.
5640
+ *
5641
+ * @default [10, 25, 50]
5567
5642
  */
5568
- truncateText?: boolean | {
5569
- lines: number;
5570
- };
5571
- width?: CSSProperties['width'];
5572
- }
5573
- export interface EuiTableRowCellMobileOptionsShape extends EuiTableRowCellSharedPropsShape {
5643
+ itemsPerPageOptions?: number[];
5574
5644
  /**
5575
- * If false, will not render the cell at all for mobile
5645
+ * Click handler that passes back selected `pageSize` number
5576
5646
  */
5577
- show?: boolean;
5647
+ onChangeItemsPerPage?: ItemsPerPageChangeHandler;
5648
+ onChangePage?: PageChangeHandler;
5578
5649
  /**
5579
- * Only show for mobile? If true, will not render the column at all for desktop
5650
+ * Requires the `id` of the table being controlled
5580
5651
  */
5581
- only?: boolean;
5652
+ 'aria-controls'?: string;
5653
+ 'aria-label'?: string;
5654
+ }
5655
+ export const EuiTablePagination: FunctionComponent<EuiTablePaginationProps>;
5656
+
5657
+ }
5658
+ declare module '@elastic/eui/src/components/table/table_pagination' {
5659
+ export type { EuiTablePaginationProps } from '@elastic/eui/src/components/table/table_pagination/table_pagination';
5660
+ export { EuiTablePagination } from '@elastic/eui/src/components/table/table_pagination/table_pagination';
5661
+ export { useEuiTablePaginationDefaults, euiTablePaginationDefaults, } from '@elastic/eui/src/components/table/table_pagination/table_pagination_defaults';
5662
+
5663
+ }
5664
+ declare module '@elastic/eui/src/components/table/mobile/table_header_mobile.styles' {
5665
+ import { UseEuiTheme } from '@elastic/eui/src/services';
5666
+ export const euiTableHeaderMobileStyles: ({ euiTheme }: UseEuiTheme) => {
5667
+ euiTableHeaderMobile: import("@emotion/utils").SerializedStyles;
5668
+ };
5669
+
5670
+ }
5671
+ declare module '@elastic/eui/src/components/table/mobile/table_header_mobile' {
5672
+ import { FunctionComponent, HTMLAttributes } from 'react';
5673
+ import { CommonProps } from '@elastic/eui/src/components/common';
5674
+ import type { EuiTableProps } from '@elastic/eui/src/components/table/table';
5675
+ export const EuiTableHeaderMobile: FunctionComponent<CommonProps & HTMLAttributes<HTMLDivElement> & Pick<EuiTableProps, 'responsiveBreakpoint'>>;
5676
+
5677
+ }
5678
+ declare module '@elastic/eui/src/components/table/mobile/table_sort_mobile_item' {
5679
+ import { FunctionComponent, PropsWithChildren } from 'react';
5680
+ import { CommonProps } from '@elastic/eui/src/components/common';
5681
+ export interface EuiTableSortMobileItemProps extends PropsWithChildren, CommonProps {
5582
5682
  /**
5583
- * Custom render/children if different from desktop
5683
+ * Callback to know when an item has been clicked
5584
5684
  */
5585
- render?: ReactNode;
5685
+ onSort?: () => void;
5586
5686
  /**
5587
- * The column's header for use in mobile view (automatically passed down
5588
- * when using `EuiBasicTable`).
5589
- * Or pass `false` to not show a header at all.
5687
+ * Indicates current option is the sorted on column
5590
5688
  */
5591
- header?: ReactNode | boolean;
5689
+ isSorted?: boolean;
5592
5690
  /**
5593
- * Increase text size compared to rest of cells
5691
+ * Indicates which direction the current column is sorted on
5594
5692
  */
5595
- enlarge?: boolean;
5693
+ isSortAscending?: boolean;
5694
+ ariaLabel?: string;
5695
+ }
5696
+ export const EuiTableSortMobileItem: FunctionComponent<EuiTableSortMobileItemProps>;
5697
+
5698
+ }
5699
+ declare module '@elastic/eui/src/components/table/mobile/table_sort_mobile' {
5700
+ import React, { Component, ReactNode, Key } from 'react';
5701
+ import { CommonProps } from '@elastic/eui/src/components/common';
5702
+ import { PopoverAnchorPosition } from '@elastic/eui/src/components/popover';
5703
+ interface ItemProps {
5704
+ name: ReactNode;
5705
+ key?: Key;
5706
+ onSort?: () => void;
5707
+ isSorted?: boolean;
5708
+ isSortAscending?: boolean;
5709
+ }
5710
+ export interface EuiTableSortMobileProps extends CommonProps {
5711
+ anchorPosition?: PopoverAnchorPosition;
5712
+ items?: ItemProps[];
5713
+ }
5714
+ interface State {
5715
+ isPopoverOpen: boolean;
5716
+ }
5717
+ export class EuiTableSortMobile extends Component<EuiTableSortMobileProps, State> {
5718
+ state: {
5719
+ isPopoverOpen: boolean;
5720
+ };
5721
+ onButtonClick: () => void;
5722
+ closePopover: () => void;
5723
+ euiTableSortMobileStyles: {
5724
+ marginInlineStart: string;
5725
+ label: string;
5726
+ };
5727
+ render(): React.JSX.Element;
5728
+ }
5729
+ export {};
5730
+
5731
+ }
5732
+ declare module '@elastic/eui/src/components/table/table_row.styles' {
5733
+ import { UseEuiTheme } from '@elastic/eui/src/services';
5734
+ export const euiTableRowStyles: (euiThemeContext: UseEuiTheme) => {
5735
+ euiTableRow: import("@emotion/utils").SerializedStyles;
5736
+ desktop: {
5737
+ desktop: import("@emotion/utils").SerializedStyles;
5738
+ expanded: import("@emotion/utils").SerializedStyles;
5739
+ clickable: import("@emotion/utils").SerializedStyles;
5740
+ selected: import("@emotion/utils").SerializedStyles;
5741
+ checkboxOffset: import("@emotion/utils").SerializedStyles;
5742
+ };
5743
+ mobile: {
5744
+ mobile: import("@emotion/utils").SerializedStyles;
5745
+ selected: import("@emotion/utils").SerializedStyles;
5746
+ /**
5747
+ * Left column offset (no border)
5748
+ * Used for selection checkbox, which will be absolutely positioned
5749
+ */
5750
+ hasLeftColumn: import("@emotion/utils").SerializedStyles;
5751
+ /**
5752
+ * Right column styles + border
5753
+ * Used for cell actions and row expander arrow
5754
+ */
5755
+ hasRightColumn: import("@emotion/utils").SerializedStyles;
5756
+ /**
5757
+ * Bottom of card - expanded rows
5758
+ */
5759
+ expanded: import("@emotion/utils").SerializedStyles;
5760
+ };
5761
+ };
5762
+
5763
+ }
5764
+ declare module '@elastic/eui/src/components/table/table_row' {
5765
+ import { FunctionComponent, HTMLAttributes, KeyboardEventHandler, MouseEventHandler } from 'react';
5766
+ import { CommonProps } from '@elastic/eui/src/components/common';
5767
+ export interface EuiTableRowProps {
5596
5768
  /**
5597
- * Applies the value to the width of the cell in mobile view (typically 50%)
5769
+ * Indicates if the table has a single column of checkboxes for selecting
5770
+ * rows (used for mobile styling)
5598
5771
  */
5599
- width?: CSSProperties['width'];
5600
- }
5601
- export interface EuiTableRowCellProps extends EuiTableRowCellSharedPropsShape {
5772
+ hasSelection?: boolean;
5602
5773
  /**
5603
- * Vertical alignment of the content in the cell
5774
+ * Indicates that the current row's checkbox is selectable / not disabled
5604
5775
  */
5605
- valign?: TdHTMLAttributes<HTMLTableCellElement>['valign'];
5776
+ isSelectable?: boolean;
5606
5777
  /**
5607
- * Indicates whether the cell should be marked as the heading for its row
5778
+ * Indicates the current row has been selected
5608
5779
  */
5609
- setScopeRow?: boolean;
5780
+ isSelected?: boolean;
5610
5781
  /**
5611
- * Indicates if the column is dedicated to icon-only actions (currently
5612
- * affects mobile only)
5782
+ * Indicates if the table has a dedicated column for actions
5783
+ * (used for mobile styling and desktop action hover behavior)
5613
5784
  */
5614
- hasActions?: boolean;
5785
+ hasActions?: boolean | 'custom';
5615
5786
  /**
5616
- * Indicates if the column is dedicated as the expandable row toggle
5787
+ * Indicates if the row will have an expanded row
5617
5788
  */
5618
- isExpander?: boolean;
5789
+ isExpandable?: boolean;
5619
5790
  /**
5620
- * Mobile options for displaying differently at small screens;
5621
- * See #EuiTableRowCellMobileOptionsShape
5791
+ * Indicates if the row will be the expanded row
5622
5792
  */
5623
- mobileOptions?: EuiTableRowCellMobileOptionsShape;
5624
- } type Props = CommonProps & Omit<TdHTMLAttributes<HTMLTableCellElement>, 'valign'> & EuiTableRowCellProps;
5625
- export const EuiTableRowCell: FunctionComponent<Props>;
5793
+ isExpandedRow?: boolean;
5794
+ onClick?: MouseEventHandler<HTMLTableRowElement> & KeyboardEventHandler<HTMLTableRowElement>;
5795
+ } type Props = CommonProps & HTMLAttributes<HTMLTableRowElement> & EuiTableRowProps;
5796
+ export const EuiTableRow: FunctionComponent<Props>;
5626
5797
  export {};
5627
5798
 
5628
5799
  }
@@ -5642,8 +5813,6 @@ declare module '@elastic/eui/src/components/table' {
5642
5813
  export { EuiTableFooterCell } from '@elastic/eui/src/components/table/table_footer_cell';
5643
5814
  export type { EuiTableHeaderProps } from '@elastic/eui/src/components/table/table_header';
5644
5815
  export { EuiTableHeader } from '@elastic/eui/src/components/table/table_header';
5645
- export type { EuiTableHeaderButtonProps } from '@elastic/eui/src/components/table/table_header_button';
5646
- export { EuiTableHeaderButton } from '@elastic/eui/src/components/table/table_header_button';
5647
5816
  export type { EuiTableHeaderCellProps } from '@elastic/eui/src/components/table/table_header_cell';
5648
5817
  export { EuiTableHeaderCell } from '@elastic/eui/src/components/table/table_header_cell';
5649
5818
  export type { EuiTableHeaderCellCheckboxProps } from '@elastic/eui/src/components/table/table_header_cell_checkbox';
@@ -5666,7 +5835,7 @@ declare module '@elastic/eui/src/components/provider/component_defaults/componen
5666
5835
  import React, { FunctionComponent, PropsWithChildren } from 'react';
5667
5836
  import type { EuiPortalProps } from '@elastic/eui/src/components/portal';
5668
5837
  import type { EuiFocusTrapProps } from '@elastic/eui/src/components/focus_trap';
5669
- import type { EuiTablePaginationProps } from '@elastic/eui/src/components/table';
5838
+ import type { EuiTablePaginationProps, EuiTableProps } from '@elastic/eui/src/components/table';
5670
5839
  export type EuiComponentDefaults = {
5671
5840
  /**
5672
5841
  * Provide a global configuration for EuiPortal's default insertion position.
@@ -5683,6 +5852,12 @@ declare module '@elastic/eui/src/components/provider/component_defaults/componen
5683
5852
  * These defaults will be inherited all table and grid components that utilize EuiTablePagination.
5684
5853
  */
5685
5854
  EuiTablePagination?: Pick<EuiTablePaginationProps, 'itemsPerPage' | 'itemsPerPageOptions' | 'showPerPageOptions'>;
5855
+ /**
5856
+ * Provide a global configuration for EuiTable's `responsiveBreakpoint` prop. Defaults to `'s'`.
5857
+ *
5858
+ * Defaults will be inherited by all `EuiBasicTable`s and `EuiInMemoryTable`s.
5859
+ */
5860
+ EuiTable?: Pick<EuiTableProps, 'responsiveBreakpoint'>;
5686
5861
  };
5687
5862
  export const EuiComponentDefaultsContext: React.Context<EuiComponentDefaults>;
5688
5863
  export type EuiComponentDefaultsProviderProps = PropsWithChildren & {
@@ -5929,32 +6104,31 @@ declare module '@elastic/eui/src/components/tool_tip' {
5929
6104
 
5930
6105
  }
5931
6106
  declare module '@elastic/eui/src/components/button/button_group/button_group_button.styles' {
6107
+ import { type SerializedStyles } from '@emotion/react';
5932
6108
  import { UseEuiTheme } from '@elastic/eui/src/services';
5933
- import { _EuiButtonColor } from '@elastic/eui/src/themes/amsterdam/global_styling/mixins/button';
5934
6109
  export const euiButtonGroupButtonStyles: (euiThemeContext: UseEuiTheme) => {
5935
- euiButtonGroupButton: import("@emotion/utils").SerializedStyles;
5936
- iconOnly: import("@emotion/utils").SerializedStyles;
6110
+ euiButtonGroupButton: SerializedStyles;
6111
+ iconOnly: SerializedStyles;
5937
6112
  uncompressed: {
5938
- uncompressed: import("@emotion/utils").SerializedStyles;
6113
+ uncompressed: SerializedStyles;
5939
6114
  readonly borders: string;
5940
- readonly s: import("@emotion/utils").SerializedStyles;
5941
- readonly m: import("@emotion/utils").SerializedStyles;
5942
- hasToolTip: import("@emotion/utils").SerializedStyles;
6115
+ readonly s: SerializedStyles;
6116
+ readonly m: SerializedStyles;
6117
+ hasToolTip: SerializedStyles;
5943
6118
  };
5944
- compressed: import("@emotion/utils").SerializedStyles;
5945
- disabledAndSelected: import("@emotion/utils").SerializedStyles;
5946
- tooltipWrapper: import("@emotion/utils").SerializedStyles;
6119
+ compressed: SerializedStyles;
6120
+ disabledAndSelected: SerializedStyles;
6121
+ tooltipWrapper: SerializedStyles;
5947
6122
  content: {
5948
- euiButtonGroupButton__content: import("@emotion/utils").SerializedStyles;
5949
- compressed: import("@emotion/utils").SerializedStyles;
6123
+ euiButtonGroupButton__content: SerializedStyles;
6124
+ compressed: SerializedStyles;
5950
6125
  };
5951
6126
  text: {
5952
- euiButtonGroupButton__text: import("@emotion/utils").SerializedStyles;
5953
- euiButtonGroupButton__iconOnly: import("@emotion/utils").SerializedStyles;
6127
+ euiButtonGroupButton__text: SerializedStyles;
6128
+ euiButtonGroupButton__iconOnly: SerializedStyles;
5954
6129
  };
5955
6130
  };
5956
- export const _compressedButtonFocusColor: (euiThemeContext: UseEuiTheme, color: _EuiButtonColor | 'disabled') => import("@emotion/utils").SerializedStyles;
5957
- export const _uncompressedButtonFocus: (euiThemeContext: UseEuiTheme) => import("@emotion/utils").SerializedStyles;
6131
+ export const _compressedButtonFocusColors: (euiThemeContext: UseEuiTheme) => Record<"text" | "disabled" | "accent" | "primary" | "success" | "warning" | "danger", SerializedStyles>;
5958
6132
 
5959
6133
  }
5960
6134
  declare module '@elastic/eui/src/components/button/button_group/button_group_button' {
@@ -6583,14 +6757,14 @@ declare module '@elastic/eui/src/components/call_out/call_out.styles' {
6583
6757
  s: import("@emotion/utils").SerializedStyles;
6584
6758
  m: import("@emotion/utils").SerializedStyles;
6585
6759
  };
6586
- euiCallOut__icon: import("@emotion/utils").SerializedStyles;
6587
6760
  };
6588
- export const euiCallOutHeadingStyles: ({ euiTheme }: UseEuiTheme) => {
6761
+ export const euiCallOutHeaderStyles: ({ euiTheme }: UseEuiTheme) => {
6589
6762
  euiCallOutHeader: import("@emotion/utils").SerializedStyles;
6590
6763
  primary: import("@emotion/utils").SerializedStyles;
6591
6764
  success: import("@emotion/utils").SerializedStyles;
6592
6765
  warning: import("@emotion/utils").SerializedStyles;
6593
6766
  danger: import("@emotion/utils").SerializedStyles;
6767
+ euiCallOut__icon: import("@emotion/utils").SerializedStyles;
6594
6768
  };
6595
6769
 
6596
6770
  }
@@ -7544,7 +7718,7 @@ declare module '@elastic/eui/src/components/form/select' {
7544
7718
 
7545
7719
  }
7546
7720
  declare module '@elastic/eui/src/components/form/super_select/super_select_control' {
7547
- import { FunctionComponent, ButtonHTMLAttributes, ReactNode } from 'react';
7721
+ import { Ref, FunctionComponent, ButtonHTMLAttributes, ReactNode } from 'react';
7548
7722
  import { CommonProps } from '@elastic/eui/src/components/common';
7549
7723
  import { EuiFormControlLayoutProps } from '@elastic/eui/src/components/form/form_control_layout';
7550
7724
  export interface EuiSuperSelectOption<T> {
@@ -7555,6 +7729,7 @@ declare module '@elastic/eui/src/components/form/super_select/super_select_contr
7555
7729
  'data-test-subj'?: string;
7556
7730
  }
7557
7731
  export interface EuiSuperSelectControlProps<T> extends CommonProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'placeholder'> {
7732
+ buttonRef?: Ref<HTMLButtonElement>;
7558
7733
  /**
7559
7734
  * @default false
7560
7735
  */
@@ -7658,6 +7833,7 @@ declare module '@elastic/eui/src/components/form/super_select/super_select' {
7658
7833
  };
7659
7834
  private itemNodes;
7660
7835
  private _isMounted;
7836
+ private controlButtonRef;
7661
7837
  describedById: string;
7662
7838
  state: {
7663
7839
  isPopoverOpen: boolean;
@@ -7670,7 +7846,7 @@ declare module '@elastic/eui/src/components/form/super_select/super_select' {
7670
7846
  itemClicked: (value: T) => void;
7671
7847
  onSelectKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
7672
7848
  onItemKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
7673
- focusItemAt(index: number): void;
7849
+ focusItemAt(index: number, direction?: ShiftDirection): void;
7674
7850
  shiftFocus(direction: ShiftDirection): void;
7675
7851
  render(): React.JSX.Element;
7676
7852
  }
@@ -8765,8 +8941,9 @@ declare module '@elastic/eui/src/services' {
8765
8941
  }
8766
8942
  declare module '@elastic/eui/src/components/accessibility/screen_reader_only/screen_reader_only.styles' {
8767
8943
  export const euiScreenReaderOnly: () => string;
8768
- export const euiScreenReaderOnlyStyles: (showOnFocus?: boolean | undefined) => {
8944
+ export const euiScreenReaderOnlyStyles: {
8769
8945
  euiScreenReaderOnly: import("@emotion/utils").SerializedStyles;
8946
+ 'euiScreenReaderOnly-showOnFocus': import("@emotion/utils").SerializedStyles;
8770
8947
  };
8771
8948
 
8772
8949
  }
@@ -9650,10 +9827,8 @@ declare module '@elastic/eui/src/components/bottom_bar/bottom_bar.styles' {
9650
9827
  declare module '@elastic/eui/src/components/bottom_bar/bottom_bar' {
9651
9828
  import React, { CSSProperties, HTMLAttributes } from 'react';
9652
9829
  import { CommonProps, ExclusiveUnion } from '@elastic/eui/src/components/common';
9653
- import { EuiPortalProps } from '@elastic/eui/src/components/portal'; type BottomBarPaddingSize = 'none' | 's' | 'm' | 'l';
9654
- export const paddingSizeToClassNameMap: {
9655
- [value in BottomBarPaddingSize]: string | null;
9656
- };
9830
+ import { EuiPortalProps } from '@elastic/eui/src/components/portal';
9831
+ export const PADDING_SIZES: readonly ["none", "s", "m", "l"]; type BottomBarPaddingSize = (typeof PADDING_SIZES)[number];
9657
9832
  export const POSITIONS: readonly ["static", "fixed", "sticky"];
9658
9833
  export type _BottomBarPosition = (typeof POSITIONS)[number]; type _BottomBarExclusivePositions = ExclusiveUnion<{
9659
9834
  position?: 'fixed';
@@ -9822,8 +9997,9 @@ declare module '@elastic/eui/src/components/breadcrumbs/types' {
9822
9997
  */
9823
9998
  type?: 'page' | 'application';
9824
9999
  /**
9825
- * Whether the last breadcrumb should visually (and accessibly, to screen readers)
9826
- * be highlighted as the current page. Defaults to true.
10000
+ * Whether the last breadcrumb should be semantically highlighted as the
10001
+ * current page. (improves accessibility for screen readers users)
10002
+ * Defaults to true.
9827
10003
  */
9828
10004
  lastBreadcrumbIsCurrentPage?: boolean;
9829
10005
  };
@@ -9840,7 +10016,7 @@ declare module '@elastic/eui/src/components/breadcrumbs/types' {
9840
10016
  */
9841
10017
  truncate?: boolean;
9842
10018
  /**
9843
- * Accepts any EuiLink `color` when rendered as one (has `href`, `onClick`, or `popoverContent`)
10019
+ * @deprecated - if a custom color is wanted, use the `css` prop to pass custom css
9844
10020
  */
9845
10021
  color?: EuiLinkColor;
9846
10022
  /**
@@ -9884,6 +10060,7 @@ declare module '@elastic/eui/src/components/breadcrumbs/_breadcrumb_content.styl
9884
10060
  euiBreadcrumb__content: import("@emotion/utils").SerializedStyles;
9885
10061
  isTruncated: import("@emotion/utils").SerializedStyles;
9886
10062
  isTruncatedLast: import("@emotion/utils").SerializedStyles;
10063
+ isInteractive: import("@emotion/utils").SerializedStyles;
9887
10064
  page: import("@emotion/utils").SerializedStyles;
9888
10065
  application: import("@emotion/utils").SerializedStyles;
9889
10066
  applicationStyles: {
@@ -10189,7 +10366,7 @@ declare module '@elastic/eui/src/components/card' {
10189
10366
  }
10190
10367
  declare module '@elastic/eui/src/components/code/code_block_annotations.style' {
10191
10368
  import { UseEuiTheme } from '@elastic/eui/src/services';
10192
- export const euiCodeBlockAnnotationsStyles: (euiTheme: UseEuiTheme['euiTheme']) => {
10369
+ export const euiCodeBlockAnnotationsStyles: ({ euiTheme }: UseEuiTheme) => {
10193
10370
  euiCodeBlockAnnotation: import("@emotion/utils").SerializedStyles;
10194
10371
  euiCodeBlockAnnotation__buttonIcon: import("@emotion/utils").SerializedStyles;
10195
10372
  };
@@ -10706,17 +10883,9 @@ declare module '@elastic/eui/src/components/collapsible_nav/collapsible_nav_grou
10706
10883
  }
10707
10884
  declare module '@elastic/eui/src/components/flyout/flyout.styles' {
10708
10885
  import { UseEuiTheme } from '@elastic/eui/src/services';
10886
+ export const FLYOUT_BREAKPOINT: "m";
10709
10887
  export const euiFlyoutSlideInRight: import("@emotion/serialize").Keyframes;
10710
10888
  export const euiFlyoutSlideInLeft: import("@emotion/serialize").Keyframes;
10711
- export const euiFlyoutCloseButtonStyles: (euiThemeContext: UseEuiTheme) => {
10712
- euiFlyout__closeButton: import("@emotion/utils").SerializedStyles;
10713
- inside: import("@emotion/utils").SerializedStyles;
10714
- outside: import("@emotion/utils").SerializedStyles;
10715
- outsideSide: {
10716
- right: import("@emotion/utils").SerializedStyles;
10717
- left: import("@emotion/utils").SerializedStyles;
10718
- };
10719
- };
10720
10889
  export const euiFlyoutStyles: (euiThemeContext: UseEuiTheme) => {
10721
10890
  euiFlyout: import("@emotion/utils").SerializedStyles;
10722
10891
  s: import("@emotion/utils").SerializedStyles;
@@ -10740,6 +10909,26 @@ declare module '@elastic/eui/src/components/flyout/flyout.styles' {
10740
10909
  };
10741
10910
  };
10742
10911
 
10912
+ }
10913
+ declare module '@elastic/eui/src/components/flyout/_flyout_close_button.styles' {
10914
+ import { UseEuiTheme } from '@elastic/eui/src/services';
10915
+ export const euiFlyoutCloseButtonStyles: (euiThemeContext: UseEuiTheme) => {
10916
+ euiFlyout__closeButton: import("@emotion/utils").SerializedStyles;
10917
+ inside: import("@emotion/utils").SerializedStyles;
10918
+ outside: import("@emotion/utils").SerializedStyles;
10919
+ outsideSide: {
10920
+ right: import("@emotion/utils").SerializedStyles;
10921
+ left: import("@emotion/utils").SerializedStyles;
10922
+ };
10923
+ };
10924
+
10925
+ }
10926
+ declare module '@elastic/eui/src/components/flyout/_flyout_close_button' {
10927
+ import { FunctionComponent } from 'react';
10928
+ import type { EuiFlyoutProps } from '@elastic/eui/src/components/flyout/flyout'; type EuiFlyoutCloseButtonProps = EuiFlyoutProps['closeButtonProps'] & Required<Pick<EuiFlyoutProps, 'closeButtonPosition' | 'onClose' | 'side'>>;
10929
+ export const EuiFlyoutCloseButton: FunctionComponent<EuiFlyoutCloseButtonProps>;
10930
+ export {};
10931
+
10743
10932
  }
10744
10933
  declare module '@elastic/eui/src/components/flyout/flyout' {
10745
10934
  import React, { ComponentPropsWithRef, CSSProperties, ElementType } from 'react';
@@ -10747,7 +10936,7 @@ declare module '@elastic/eui/src/components/flyout/flyout' {
10747
10936
  import { CommonProps, PropsOfElement } from '@elastic/eui/src/components/common';
10748
10937
  import { EuiFocusTrapProps } from '@elastic/eui/src/components/focus_trap';
10749
10938
  import { EuiOverlayMaskProps } from '@elastic/eui/src/components/overlay_mask';
10750
- import { EuiButtonIconPropsForButton } from '@elastic/eui/src/components/button';
10939
+ import type { EuiButtonIconPropsForButton } from '@elastic/eui/src/components/button';
10751
10940
  export const TYPES: readonly ["push", "overlay"]; type _EuiFlyoutType = (typeof TYPES)[number];
10752
10941
  export const SIDES: readonly ["left", "right"];
10753
10942
  export type _EuiFlyoutSide = (typeof SIDES)[number];
@@ -10859,7 +11048,8 @@ declare module '@elastic/eui/src/components/flyout/flyout_body.styles' {
10859
11048
  import { UseEuiTheme } from '@elastic/eui/src/services';
10860
11049
  export const euiFlyoutBodyStyles: (euiThemeContext: UseEuiTheme) => {
10861
11050
  euiFlyoutBody: import("@emotion/utils").SerializedStyles;
10862
- euiFlyoutBody__overflow: {
11051
+ overflow: {
11052
+ euiFlyoutBody__overflow: import("@emotion/utils").SerializedStyles;
10863
11053
  noBanner: import("@emotion/utils").SerializedStyles;
10864
11054
  hasBanner: import("@emotion/utils").SerializedStyles;
10865
11055
  };
@@ -12683,7 +12873,7 @@ declare module '@elastic/eui/src/components/combo_box/combo_box' {
12683
12873
  clearActiveOption: () => void;
12684
12874
  clearSearchValue: () => void;
12685
12875
  addCustomOption: (isContainerBlur: boolean, searchValue: string) => void;
12686
- doesSearchMatchOnlyOption: () => boolean;
12876
+ doesSearchMatchOnlyOption: () => EuiComboBoxOptionOption<T> | undefined;
12687
12877
  areAllOptionsSelected: () => boolean;
12688
12878
  onComboBoxFocus: FocusEventHandler<HTMLInputElement>;
12689
12879
  setCustomOptions: (isContainerBlur: boolean) => void;
@@ -22477,8 +22667,21 @@ declare module '@elastic/eui/src/components/basic_table/action_types' {
22477
22667
  * A callback function that determines whether the action is enabled
22478
22668
  */
22479
22669
  enabled?: (item: T) => boolean;
22480
- isPrimary?: boolean;
22481
22670
  'data-test-subj'?: string | ((item: T) => string);
22671
+ /**
22672
+ * If more than 3 actions are passed, 2 primary actions will show (on hover)
22673
+ * next to an expansion menu of all actions.
22674
+ *
22675
+ * On mobile, primary actions will be tucked away in the expansion menu for space.
22676
+ */
22677
+ isPrimary?: boolean;
22678
+ /**
22679
+ * Allows only showing the action on mouse hover or keyboard focus.
22680
+ * If more than 3 actions are passed, this will always be true for `isPrimary` actions.
22681
+ *
22682
+ * Has no effect on mobile, or if `hasActions` is not set.
22683
+ */
22684
+ showOnHover?: boolean;
22482
22685
  }
22483
22686
  export interface DefaultItemEmptyButtonAction<T extends object> extends DefaultItemActionBase<T> {
22484
22687
  /**
@@ -22499,7 +22702,7 @@ declare module '@elastic/eui/src/components/basic_table/action_types' {
22499
22702
  color?: EuiButtonIconProps['color'] | EuiButtonIconColorFunction<T>;
22500
22703
  }
22501
22704
  export type DefaultItemAction<T extends object> = ExclusiveUnion<DefaultItemEmptyButtonAction<T>, DefaultItemIconButtonAction<T>>;
22502
- export interface CustomItemAction<T> {
22705
+ export type CustomItemAction<T> = {
22503
22706
  /**
22504
22707
  * Allows rendering a totally custom action
22505
22708
  */
@@ -22512,8 +22715,7 @@ declare module '@elastic/eui/src/components/basic_table/action_types' {
22512
22715
  * A callback that defines whether the action is enabled
22513
22716
  */
22514
22717
  enabled?: (item: T) => boolean;
22515
- isPrimary?: boolean;
22516
- }
22718
+ } & Pick<DefaultItemActionBase<{}>, 'isPrimary' | 'showOnHover'>;
22517
22719
  export type Action<T extends object> = DefaultItemAction<T> | CustomItemAction<T>;
22518
22720
  export const isCustomItemAction: <T extends object>(action: (import ("@elastic/eui/src/components/common").DisambiguateSet<DefaultItemEmptyButtonAction<T>, DefaultItemIconButtonAction<T>> & DefaultItemIconButtonAction<T>) | (import ("@elastic/eui/src/components/common").DisambiguateSet<DefaultItemIconButtonAction<T>, DefaultItemEmptyButtonAction<T>> & DefaultItemEmptyButtonAction<T>) | CustomItemAction<T>) => action is CustomItemAction<T>;
22519
22721
  export const callWithItemIfFunction: <T>(item: T) => <U>(prop: U | ((item: T) => U)) => U;
@@ -22581,7 +22783,7 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
22581
22783
  items: T[];
22582
22784
  pagination?: Pagination;
22583
22785
  }
22584
- export interface EuiTableFieldDataColumnType<T> extends CommonProps, TdHTMLAttributes<HTMLTableDataCellElement> {
22786
+ export interface EuiTableFieldDataColumnType<T> extends CommonProps, Omit<TdHTMLAttributes<HTMLTableCellElement>, 'width' | 'align'> {
22585
22787
  /**
22586
22788
  * A field of the item (may be a nested field)
22587
22789
  */
@@ -22606,16 +22808,22 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
22606
22808
  * Defines whether the user can sort on this column. If a function is provided, this function returns the value to sort against
22607
22809
  */
22608
22810
  sortable?: boolean | ((item: T) => Primitive);
22609
- isExpander?: boolean;
22610
22811
  /**
22611
- * Creates a text wrapper around cell content that helps word break or truncate
22612
- * long text correctly.
22812
+ * Disables the user's ability to change the sort, but will still
22813
+ * show the current sort direction in the column header
22613
22814
  */
22614
- textOnly?: boolean;
22815
+ readOnly?: boolean;
22615
22816
  /**
22616
22817
  * Defines the horizontal alignment of the column
22818
+ * @default left
22617
22819
  */
22618
22820
  align?: HorizontalAlignment;
22821
+ /**
22822
+ * Creates a text wrapper around cell content that helps word break or truncate
22823
+ * long text correctly.
22824
+ * @default true
22825
+ */
22826
+ textOnly?: boolean;
22619
22827
  /**
22620
22828
  * Indicates whether this column should truncate overflowing text content.
22621
22829
  * - Set to `true` to enable single-line truncation.
@@ -22623,6 +22831,10 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
22623
22831
  * set to a number of lines to truncate to.
22624
22832
  */
22625
22833
  truncateText?: EuiTableRowCellProps['truncateText'];
22834
+ /**
22835
+ * Allows configuring custom render options or appearances for column cells
22836
+ * when the table responsively collapses into a mobile-friendly view
22837
+ */
22626
22838
  mobileOptions?: Omit<EuiTableRowCellMobileOptionsShape, 'render'> & {
22627
22839
  render?: (item: T) => ReactNode;
22628
22840
  };
@@ -22635,11 +22847,12 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
22635
22847
  */
22636
22848
  footer?: string | ReactElement | ((props: EuiTableFooterProps<T>) => ReactNode);
22637
22849
  /**
22638
- * Disables the user's ability to change the sort but still shows the current direction
22850
+ * If passing `itemIdToExpandedRowMap` to your table, set this flag to `true`
22851
+ * for the custom column or cell used to toggle the expanded row.
22639
22852
  */
22640
- readOnly?: boolean;
22853
+ isExpander?: boolean;
22641
22854
  }
22642
- export interface EuiTableComputedColumnType<T> extends CommonProps, TdHTMLAttributes<HTMLTableDataCellElement> {
22855
+ export type EuiTableComputedColumnType<T> = CommonProps & Omit<TdHTMLAttributes<HTMLTableCellElement>, 'width' | 'align'> & {
22643
22856
  /**
22644
22857
  * A function that computes the value for each item and renders it
22645
22858
  */
@@ -22648,30 +22861,12 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
22648
22861
  * The display name of the column
22649
22862
  */
22650
22863
  name?: ReactNode;
22651
- /**
22652
- * A description of the column (will be presented as a title over the column header
22653
- */
22654
- description?: string;
22655
22864
  /**
22656
22865
  * If provided, allows this column to be sorted on. Must return the value to sort against.
22657
22866
  */
22658
22867
  sortable?: (item: T) => Primitive;
22659
- /**
22660
- * A CSS width property. Hints for the required width of the column
22661
- */
22662
- width?: string;
22663
- /**
22664
- * Indicates whether this column should truncate its content when it doesn't fit
22665
- */
22666
- truncateText?: boolean;
22667
- isExpander?: boolean;
22668
- align?: HorizontalAlignment;
22669
- /**
22670
- * Disables the user's ability to change the sort but still shows the current direction
22671
- */
22672
- readOnly?: boolean;
22673
- }
22674
- export interface EuiTableActionsColumnType<T extends object> {
22868
+ } & Pick<EuiTableFieldDataColumnType<T>, 'readOnly' | 'description' | 'width' | 'align' | 'truncateText' | 'isExpander'>;
22869
+ export type EuiTableActionsColumnType<T extends object> = {
22675
22870
  /**
22676
22871
  * An array of one of the objects: #DefaultItemAction or #CustomItemAction
22677
22872
  */
@@ -22680,15 +22875,7 @@ declare module '@elastic/eui/src/components/basic_table/table_types' {
22680
22875
  * The display name of the column
22681
22876
  */
22682
22877
  name?: ReactNode;
22683
- /**
22684
- * A description of the column (will be presented as a title over the column header
22685
- */
22686
- description?: string;
22687
- /**
22688
- * A CSS width property. Hints for the required width of the column
22689
- */
22690
- width?: string;
22691
- }
22878
+ } & Pick<EuiTableFieldDataColumnType<T>, 'description' | 'width'>;
22692
22879
  export interface EuiTableSortingType<T> {
22693
22880
  /**
22694
22881
  * Indicates the property/field to sort on
@@ -22797,8 +22984,7 @@ declare module '@elastic/eui/src/components/basic_table/expanded_item_actions' {
22797
22984
  declare module '@elastic/eui/src/components/basic_table/basic_table.styles' {
22798
22985
  import { UseEuiTheme } from '@elastic/eui/src/services';
22799
22986
  export const euiBasicTableBodyLoading: ({ euiTheme }: UseEuiTheme) => import("@emotion/utils").SerializedStyles;
22800
- export const safariLoadingWorkaround: () => import("@emotion/utils").SerializedStyles;
22801
- export const euiBasicTableActionsWrapper: import("@emotion/utils").SerializedStyles;
22987
+ export const safariLoadingWorkaround: import("@emotion/utils").SerializedStyles;
22802
22988
 
22803
22989
  }
22804
22990
  declare module '@elastic/eui/src/components/basic_table/basic_table' {
@@ -22871,9 +23057,6 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
22871
23057
  * Indicates which column should be used as the identifying cell in each row. Should match a "field" prop in FieldDataColumn
22872
23058
  */
22873
23059
  rowHeader?: string;
22874
- hasActions?: boolean;
22875
- isExpandable?: boolean;
22876
- isSelectable?: boolean;
22877
23060
  /**
22878
23061
  * Provides an infinite loading indicator
22879
23062
  */
@@ -22890,10 +23073,6 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
22890
23073
  * Configures #Pagination
22891
23074
  */
22892
23075
  pagination?: undefined;
22893
- /**
22894
- * If true, will convert table to cards in mobile view
22895
- */
22896
- responsive?: boolean;
22897
23076
  /**
22898
23077
  * Applied to `EuiTableRow`
22899
23078
  */
@@ -22910,13 +23089,6 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
22910
23089
  * Sets the table-layout CSS property. Note that auto tableLayout prevents truncateText from working properly.
22911
23090
  */
22912
23091
  tableLayout?: 'fixed' | 'auto';
22913
- /**
22914
- * Applied to table cells. Any cell using a render function will set this to be false.
22915
- *
22916
- * Creates a text wrapper around cell content that helps word break or truncate
22917
- * long text correctly.
22918
- */
22919
- textOnly?: boolean;
22920
23092
  } type BasicTableWithPaginationProps<T extends object> = Omit<BasicTableProps<T>, 'pagination' | 'onChange'> & {
22921
23093
  pagination: Pagination;
22922
23094
  onChange?: (criteria: CriteriaWithPagination<T>) => void;
@@ -22930,7 +23102,6 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
22930
23102
  static contextType: React.Context<import ("@elastic/eui/src/components/provider/component_defaults").EuiComponentDefaults>;
22931
23103
  context: ContextType<typeof EuiComponentDefaultsContext>;
22932
23104
  static defaultProps: {
22933
- responsive: boolean;
22934
23105
  tableLayout: string;
22935
23106
  noItemsMessage: React.JSX.Element;
22936
23107
  };
@@ -22962,8 +23133,8 @@ declare module '@elastic/eui/src/components/basic_table/basic_table' {
22962
23133
  renderErrorMessage(error: string): React.JSX.Element;
22963
23134
  renderEmptyMessage(): React.JSX.Element;
22964
23135
  renderItemRow(item: T, rowIndex: number): React.JSX.Element;
22965
- renderItemSelectionCell(itemId: ItemId<T>, item: T, selected: boolean): React.JSX.Element;
22966
- renderItemActionsCell(itemId: ItemIdResolved, item: T, column: EuiTableActionsColumnType<T>, columnIndex: number): React.JSX.Element;
23136
+ renderItemSelectionCell(itemId: ItemId<T>, item: T, selected: boolean): (boolean | React.JSX.Element | undefined)[];
23137
+ renderItemActionsCell(itemId: ItemIdResolved, item: T, column: EuiTableActionsColumnType<T>, columnIndex: number, hasCustomActions: boolean): React.JSX.Element;
22967
23138
  renderItemFieldDataCell(itemId: ItemId<T>, item: T, column: EuiTableFieldDataColumnType<T>, columnIndex: number, setScopeRow: boolean): React.JSX.Element;
22968
23139
  renderItemComputedCell(itemId: ItemId<T>, item: T, column: EuiTableComputedColumnType<T>, columnIndex: number): React.JSX.Element;
22969
23140
  renderItemCell(item: T, column: EuiBasicTableColumn<T>, key: string | number, content: ReactNode, setScopeRow: boolean): React.JSX.Element;
@@ -23079,7 +23250,6 @@ declare module '@elastic/eui/src/components/basic_table/in_memory_table' {
23079
23250
  export class EuiInMemoryTable<T extends object = object> extends Component<EuiInMemoryTableProps<T>, State<T>> {
23080
23251
  static contextType: React.Context<EuiComponentDefaults>;
23081
23252
  static defaultProps: {
23082
- responsive: boolean;
23083
23253
  tableLayout: string;
23084
23254
  searchFormat: string;
23085
23255
  };
@@ -29172,7 +29342,7 @@ declare module '@elastic/eui' {
29172
29342
  "euiErrorBoundary.error": any;
29173
29343
  "euiFilterButton.filterBadgeActiveAriaLabel": any;
29174
29344
  "euiFilterButton.filterBadgeAvailableAriaLabel": any;
29175
- "euiFlyout.closeAriaLabel": any;
29345
+ "euiFlyoutCloseButton.ariaLabel": any;
29176
29346
  "euiFlyout.screenReaderModalDialog": any;
29177
29347
  "euiFlyout.screenReaderNonModalDialog": any;
29178
29348
  "euiFlyout.screenReaderFixedHeaders": any;
@@ -29202,7 +29372,6 @@ declare module '@elastic/eui' {
29202
29372
  "euiPinnableListGroup.pinExtraActionLabel": any;
29203
29373
  "euiPinnableListGroup.pinnedExtraActionLabel": any;
29204
29374
  "euiLoadingStrings.ariaLabel": any;
29205
- "euiLoadingChart.ariaLabel": any;
29206
29375
  "euiMark.highlightStart": any;
29207
29376
  "euiMark.highlightEnd": any;
29208
29377
  "euiMarkdownEditorFooter.uploadingFiles": any;