@elastic/eui 90.0.0 → 91.1.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 (552) hide show
  1. package/dist/eui_charts_theme.js +1 -15
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +302 -203
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +302 -203
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accordion/accordion.a11y.js +1 -3
  8. package/es/components/accordion/accordion.js +13 -2
  9. package/es/components/accordion/accordion_children/accordion_children.js +4 -3
  10. package/es/components/basic_table/action_types.js +5 -0
  11. package/es/components/basic_table/basic_table.a11y.js +1 -2
  12. package/es/components/basic_table/basic_table.js +8 -8
  13. package/es/components/basic_table/collapsed_item_actions.js +120 -249
  14. package/es/components/basic_table/custom_item_action.js +9 -95
  15. package/es/components/basic_table/default_item_action.js +23 -14
  16. package/es/components/basic_table/in_memory_table.a11y.js +13 -11
  17. package/es/components/basic_table/in_memory_table.js +8 -8
  18. package/es/components/breadcrumbs/breadcrumb.js +16 -12
  19. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  20. package/es/components/breadcrumbs/breadcrumbs.js +5 -5
  21. package/es/components/button/button_display/_button_display.js +6 -4
  22. package/es/components/button/button_display/_button_display_content.js +8 -4
  23. package/es/components/button/button_empty/button_empty.js +9 -7
  24. package/es/components/button/button_group/button_group.js +13 -13
  25. package/es/components/button/button_group/button_group_button.js +13 -54
  26. package/es/components/button/button_group/button_group_button.styles.js +2 -12
  27. package/es/components/card/card.a11y.js +5 -18
  28. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  29. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  30. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  31. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  32. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +9 -104
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  35. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +67 -81
  36. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  37. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -102
  38. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  39. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +11 -90
  40. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  41. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  42. package/es/components/combo_box/combo_box.js +8 -6
  43. package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  44. package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  45. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  46. package/es/components/combo_box/utils.js +23 -0
  47. package/es/components/context_menu/context_menu_item.js +16 -8
  48. package/es/components/context_menu/context_menu_item.styles.js +1 -1
  49. package/es/components/control_bar/control_bar.js +5 -5
  50. package/es/components/datagrid/body/data_grid_body.js +16 -6
  51. package/es/components/datagrid/body/data_grid_body_custom.js +16 -6
  52. package/es/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  53. package/es/components/datagrid/body/data_grid_cell.js +67 -44
  54. package/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  55. package/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  56. package/es/components/datagrid/body/header/data_grid_header_cell.js +66 -35
  57. package/es/components/datagrid/body/header/data_grid_header_row.js +16 -6
  58. package/es/components/datagrid/controls/column_selector.js +24 -45
  59. package/es/components/datagrid/controls/column_sorting.js +23 -37
  60. package/es/components/datagrid/controls/data_grid_toolbar_control.js +154 -0
  61. package/es/components/datagrid/controls/display_selector.js +21 -17
  62. package/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  63. package/es/components/datagrid/controls/index.js +2 -1
  64. package/es/components/datagrid/data_grid.js +3 -864
  65. package/es/components/datagrid/index.js +1 -1
  66. package/es/components/datagrid/utils/in_memory.js +16 -6
  67. package/es/components/datagrid/utils/row_heights.js +1 -1
  68. package/es/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  69. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
  70. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  71. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  72. package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  73. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  74. package/es/components/error_boundary/error_boundary.a11y.js +1 -1
  75. package/es/components/expression/expression.a11y.js +2 -4
  76. package/es/components/facet/facet_button.js +6 -4
  77. package/es/components/filter_group/filter_button.js +2 -2
  78. package/es/components/filter_group/filter_group.styles.js +1 -1
  79. package/es/components/focus_trap/focus_trap.a11y.js +3 -3
  80. package/es/components/form/range/range.a11y.js +5 -10
  81. package/es/components/form/super_select/super_select.js +3 -2
  82. package/es/components/form/super_select/super_select_control.js +13 -20
  83. package/es/components/header/header.a11y.js +1 -1
  84. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
  85. package/es/components/header/header_links/header_link.js +7 -5
  86. package/es/components/header/header_links/header_links.js +5 -5
  87. package/es/components/header/header_section/header_section_item_button.js +7 -5
  88. package/es/components/i18n/i18n.js +1 -0
  89. package/es/components/image/image.a11y.js +1 -2
  90. package/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  91. package/es/components/link/external_link_icon.js +51 -0
  92. package/es/components/link/link.js +6 -20
  93. package/es/components/link/link.styles.js +2 -5
  94. package/es/components/list_group/list_group.js +6 -1
  95. package/es/components/list_group/list_group_item.js +14 -4
  96. package/es/components/list_group/list_group_item.styles.js +2 -1
  97. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  98. package/es/components/notification/notification_event.a11y.js +1 -2
  99. package/es/components/notification/notification_event.js +7 -5
  100. package/es/components/page/page_header/page_header_content.js +5 -5
  101. package/es/components/pagination/pagination_button.js +7 -5
  102. package/es/components/popover/input_popover.js +1 -1
  103. package/es/components/popover/popover.js +19 -28
  104. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  105. package/es/components/popover/popover_panel/_popover_panel.js +2 -6
  106. package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  107. package/es/components/resizable_container/resizable_container.a11y.js +4 -8
  108. package/es/components/search_bar/search_bar.a11y.js +3 -6
  109. package/es/components/selectable/selectable.js +16 -1
  110. package/es/components/selectable/selectable_list/selectable_list.js +227 -78
  111. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +29 -12
  112. package/es/components/text/text.styles.js +2 -2
  113. package/es/components/text_truncate/text_truncate.js +33 -10
  114. package/es/components/toast/global_toast_list.js +11 -1
  115. package/es/components/tour/tour_step.js +5 -5
  116. package/es/global_styling/mixins/_states.js +4 -1
  117. package/es/services/color/eui_palettes.js +0 -6
  118. package/es/services/color/index.js +1 -1
  119. package/es/services/hooks/useCombinedRefs.js +16 -9
  120. package/es/services/index.js +1 -2
  121. package/es/test/rtl/component_helpers.d.ts +2 -0
  122. package/es/test/rtl/component_helpers.js +40 -1
  123. package/eui.d.ts +562 -218
  124. package/i18ntokens.json +329 -347
  125. package/lib/components/accordion/accordion.a11y.js +1 -3
  126. package/lib/components/accordion/accordion.js +13 -2
  127. package/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  128. package/lib/components/basic_table/action_types.js +8 -2
  129. package/lib/components/basic_table/basic_table.a11y.js +1 -2
  130. package/lib/components/basic_table/basic_table.js +8 -8
  131. package/lib/components/basic_table/collapsed_item_actions.js +128 -257
  132. package/lib/components/basic_table/custom_item_action.js +18 -104
  133. package/lib/components/basic_table/default_item_action.js +23 -14
  134. package/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  135. package/lib/components/basic_table/in_memory_table.js +8 -8
  136. package/lib/components/breadcrumbs/breadcrumb.js +16 -12
  137. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  138. package/lib/components/button/button_display/_button_display.js +6 -4
  139. package/lib/components/button/button_display/_button_display_content.js +8 -4
  140. package/lib/components/button/button_empty/button_empty.js +9 -7
  141. package/lib/components/button/button_group/button_group.js +12 -12
  142. package/lib/components/button/button_group/button_group_button.js +13 -54
  143. package/lib/components/button/button_group/button_group_button.styles.js +2 -12
  144. package/lib/components/card/card.a11y.js +5 -18
  145. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  146. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  147. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  148. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  149. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -103
  150. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  151. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  152. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  153. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  154. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -104
  155. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  156. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -89
  157. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  158. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  159. package/lib/components/combo_box/combo_box.js +8 -6
  160. package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  161. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  162. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  163. package/lib/components/combo_box/utils.js +31 -0
  164. package/lib/components/context_menu/context_menu_item.js +16 -8
  165. package/lib/components/context_menu/context_menu_item.styles.js +1 -1
  166. package/lib/components/datagrid/body/data_grid_body.js +16 -6
  167. package/lib/components/datagrid/body/data_grid_body_custom.js +16 -6
  168. package/lib/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  169. package/lib/components/datagrid/body/data_grid_cell.js +67 -44
  170. package/lib/components/datagrid/body/data_grid_cell_actions.js +12 -13
  171. package/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  172. package/lib/components/datagrid/body/header/data_grid_header_cell.js +66 -35
  173. package/lib/components/datagrid/body/header/data_grid_header_row.js +16 -6
  174. package/lib/components/datagrid/controls/column_selector.js +24 -45
  175. package/lib/components/datagrid/controls/column_sorting.js +22 -37
  176. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +159 -0
  177. package/lib/components/datagrid/controls/display_selector.js +21 -17
  178. package/lib/components/datagrid/controls/fullscreen_selector.js +2 -7
  179. package/lib/components/datagrid/controls/index.js +8 -1
  180. package/lib/components/datagrid/data_grid.js +2 -863
  181. package/lib/components/datagrid/index.js +8 -1
  182. package/lib/components/datagrid/utils/in_memory.js +16 -6
  183. package/lib/components/datagrid/utils/row_heights.js +1 -1
  184. package/lib/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  185. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
  186. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  187. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  188. package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  189. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  190. package/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  191. package/lib/components/expression/expression.a11y.js +2 -4
  192. package/lib/components/facet/facet_button.js +6 -4
  193. package/lib/components/filter_group/filter_button.js +2 -2
  194. package/lib/components/filter_group/filter_group.styles.js +1 -1
  195. package/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  196. package/lib/components/form/range/range.a11y.js +5 -10
  197. package/lib/components/form/super_select/super_select.js +3 -2
  198. package/lib/components/form/super_select/super_select_control.js +12 -19
  199. package/lib/components/header/header.a11y.js +1 -1
  200. package/lib/components/header/header_links/header_link.js +7 -5
  201. package/lib/components/header/header_section/header_section_item_button.js +7 -5
  202. package/lib/components/i18n/i18n.js +1 -0
  203. package/lib/components/image/image.a11y.js +1 -2
  204. package/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  205. package/lib/components/link/external_link_icon.js +57 -0
  206. package/lib/components/link/link.js +6 -20
  207. package/lib/components/link/link.styles.js +1 -4
  208. package/lib/components/list_group/list_group.js +6 -1
  209. package/lib/components/list_group/list_group_item.js +14 -4
  210. package/lib/components/list_group/list_group_item.styles.js +2 -1
  211. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  212. package/lib/components/notification/notification_event.a11y.js +1 -2
  213. package/lib/components/notification/notification_event.js +7 -5
  214. package/lib/components/popover/input_popover.js +1 -1
  215. package/lib/components/popover/popover.js +33 -36
  216. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  217. package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  218. package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  219. package/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  220. package/lib/components/search_bar/search_bar.a11y.js +3 -6
  221. package/lib/components/selectable/selectable.js +16 -1
  222. package/lib/components/selectable/selectable_list/selectable_list.js +227 -78
  223. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +28 -11
  224. package/lib/components/text/text.styles.js +2 -2
  225. package/lib/components/text_truncate/text_truncate.js +32 -9
  226. package/lib/components/toast/global_toast_list.js +11 -1
  227. package/lib/global_styling/mixins/_states.js +4 -1
  228. package/lib/services/color/eui_palettes.js +1 -8
  229. package/lib/services/color/index.js +0 -7
  230. package/lib/services/hooks/useCombinedRefs.js +19 -10
  231. package/lib/services/index.js +0 -15
  232. package/lib/test/rtl/component_helpers.d.ts +2 -0
  233. package/lib/test/rtl/component_helpers.js +41 -3
  234. package/optimize/es/components/accordion/accordion.a11y.js +1 -3
  235. package/optimize/es/components/accordion/accordion.js +5 -2
  236. package/optimize/es/components/accordion/accordion_children/accordion_children.js +4 -3
  237. package/optimize/es/components/basic_table/action_types.js +5 -0
  238. package/optimize/es/components/basic_table/basic_table.a11y.js +1 -2
  239. package/optimize/es/components/basic_table/collapsed_item_actions.js +116 -169
  240. package/optimize/es/components/basic_table/custom_item_action.js +10 -83
  241. package/optimize/es/components/basic_table/default_item_action.js +23 -14
  242. package/optimize/es/components/basic_table/in_memory_table.a11y.js +13 -11
  243. package/optimize/es/components/breadcrumbs/breadcrumb.js +11 -7
  244. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  245. package/optimize/es/components/button/button_display/_button_display_content.js +3 -1
  246. package/optimize/es/components/button/button_empty/button_empty.js +2 -2
  247. package/optimize/es/components/button/button_group/button_group.js +7 -8
  248. package/optimize/es/components/button/button_group/button_group_button.js +6 -38
  249. package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
  250. package/optimize/es/components/card/card.a11y.js +5 -18
  251. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  252. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  253. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  254. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  255. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  256. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  257. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  258. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  259. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
  260. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  261. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -10
  262. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  263. package/optimize/es/components/combo_box/combo_box.js +7 -5
  264. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  265. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  266. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  267. package/optimize/es/components/combo_box/utils.js +23 -0
  268. package/optimize/es/components/context_menu/context_menu_item.js +9 -6
  269. package/optimize/es/components/context_menu/context_menu_item.styles.js +1 -1
  270. package/optimize/es/components/datagrid/body/data_grid_cell.js +38 -30
  271. package/optimize/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  272. package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  273. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +50 -29
  274. package/optimize/es/components/datagrid/controls/column_selector.js +24 -45
  275. package/optimize/es/components/datagrid/controls/column_sorting.js +23 -37
  276. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +70 -0
  277. package/optimize/es/components/datagrid/controls/display_selector.js +21 -17
  278. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  279. package/optimize/es/components/datagrid/controls/index.js +2 -1
  280. package/optimize/es/components/datagrid/data_grid.js +3 -3
  281. package/optimize/es/components/datagrid/index.js +1 -1
  282. package/optimize/es/components/datagrid/utils/row_heights.js +1 -1
  283. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
  284. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  285. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  286. package/optimize/es/components/error_boundary/error_boundary.a11y.js +1 -1
  287. package/optimize/es/components/expression/expression.a11y.js +2 -4
  288. package/optimize/es/components/filter_group/filter_button.js +2 -2
  289. package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
  290. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -3
  291. package/optimize/es/components/form/range/range.a11y.js +5 -10
  292. package/optimize/es/components/form/super_select/super_select.js +3 -2
  293. package/optimize/es/components/form/super_select/super_select_control.js +13 -20
  294. package/optimize/es/components/header/header.a11y.js +1 -1
  295. package/optimize/es/components/i18n/i18n.js +1 -0
  296. package/optimize/es/components/image/image.a11y.js +1 -2
  297. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  298. package/optimize/es/components/link/external_link_icon.js +41 -0
  299. package/optimize/es/components/link/link.js +6 -20
  300. package/optimize/es/components/link/link.styles.js +2 -5
  301. package/optimize/es/components/list_group/list_group_item.js +8 -3
  302. package/optimize/es/components/list_group/list_group_item.styles.js +2 -1
  303. package/optimize/es/components/notification/notification_event.a11y.js +1 -2
  304. package/optimize/es/components/popover/input_popover.js +1 -1
  305. package/optimize/es/components/popover/popover.js +14 -23
  306. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  307. package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
  308. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  309. package/optimize/es/components/resizable_container/resizable_container.a11y.js +4 -8
  310. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -6
  311. package/optimize/es/components/selectable/selectable_list/selectable_list.js +199 -76
  312. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  313. package/optimize/es/components/text/text.styles.js +2 -2
  314. package/optimize/es/components/text_truncate/text_truncate.js +26 -9
  315. package/optimize/es/components/toast/global_toast_list.js +1 -1
  316. package/optimize/es/global_styling/mixins/_states.js +4 -1
  317. package/optimize/es/services/color/eui_palettes.js +0 -6
  318. package/optimize/es/services/color/index.js +1 -1
  319. package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
  320. package/optimize/es/services/index.js +1 -2
  321. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  322. package/optimize/es/test/rtl/component_helpers.js +40 -1
  323. package/optimize/lib/components/accordion/accordion.a11y.js +1 -3
  324. package/optimize/lib/components/accordion/accordion.js +5 -2
  325. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  326. package/optimize/lib/components/basic_table/action_types.js +8 -2
  327. package/optimize/lib/components/basic_table/basic_table.a11y.js +1 -2
  328. package/optimize/lib/components/basic_table/collapsed_item_actions.js +123 -174
  329. package/optimize/lib/components/basic_table/custom_item_action.js +17 -91
  330. package/optimize/lib/components/basic_table/default_item_action.js +23 -14
  331. package/optimize/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  332. package/optimize/lib/components/breadcrumbs/breadcrumb.js +11 -7
  333. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  334. package/optimize/lib/components/button/button_display/_button_display_content.js +3 -1
  335. package/optimize/lib/components/button/button_empty/button_empty.js +2 -2
  336. package/optimize/lib/components/button/button_group/button_group.js +6 -7
  337. package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
  338. package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
  339. package/optimize/lib/components/card/card.a11y.js +5 -18
  340. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  341. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  342. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  343. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  344. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  345. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  346. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  347. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  348. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
  349. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  350. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +9 -9
  351. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  352. package/optimize/lib/components/combo_box/combo_box.js +7 -5
  353. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  354. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  355. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  356. package/optimize/lib/components/combo_box/utils.js +31 -0
  357. package/optimize/lib/components/context_menu/context_menu_item.js +9 -6
  358. package/optimize/lib/components/context_menu/context_menu_item.styles.js +1 -1
  359. package/optimize/lib/components/datagrid/body/data_grid_cell.js +38 -30
  360. package/optimize/lib/components/datagrid/body/data_grid_cell_actions.js +12 -12
  361. package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  362. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +56 -37
  363. package/optimize/lib/components/datagrid/controls/column_selector.js +24 -45
  364. package/optimize/lib/components/datagrid/controls/column_sorting.js +22 -36
  365. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +75 -0
  366. package/optimize/lib/components/datagrid/controls/display_selector.js +21 -17
  367. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +2 -6
  368. package/optimize/lib/components/datagrid/controls/index.js +8 -1
  369. package/optimize/lib/components/datagrid/data_grid.js +2 -2
  370. package/optimize/lib/components/datagrid/index.js +8 -1
  371. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  372. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  373. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  374. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  375. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  376. package/optimize/lib/components/expression/expression.a11y.js +2 -4
  377. package/optimize/lib/components/filter_group/filter_button.js +2 -2
  378. package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
  379. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  380. package/optimize/lib/components/form/range/range.a11y.js +5 -10
  381. package/optimize/lib/components/form/super_select/super_select.js +3 -2
  382. package/optimize/lib/components/form/super_select/super_select_control.js +12 -19
  383. package/optimize/lib/components/header/header.a11y.js +1 -1
  384. package/optimize/lib/components/i18n/i18n.js +1 -0
  385. package/optimize/lib/components/image/image.a11y.js +1 -2
  386. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  387. package/optimize/lib/components/link/external_link_icon.js +47 -0
  388. package/optimize/lib/components/link/link.js +6 -20
  389. package/optimize/lib/components/link/link.styles.js +1 -4
  390. package/optimize/lib/components/list_group/list_group_item.js +8 -3
  391. package/optimize/lib/components/list_group/list_group_item.styles.js +2 -1
  392. package/optimize/lib/components/notification/notification_event.a11y.js +1 -2
  393. package/optimize/lib/components/popover/input_popover.js +1 -1
  394. package/optimize/lib/components/popover/popover.js +28 -36
  395. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  396. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  397. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  398. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  399. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -6
  400. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +199 -76
  401. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  402. package/optimize/lib/components/text/text.styles.js +2 -2
  403. package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
  404. package/optimize/lib/components/toast/global_toast_list.js +1 -1
  405. package/optimize/lib/global_styling/mixins/_states.js +4 -1
  406. package/optimize/lib/services/color/eui_palettes.js +1 -8
  407. package/optimize/lib/services/color/index.js +0 -7
  408. package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
  409. package/optimize/lib/services/index.js +0 -15
  410. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  411. package/optimize/lib/test/rtl/component_helpers.js +41 -3
  412. package/package.json +13 -13
  413. package/src/components/combo_box/_combo_box.scss +46 -14
  414. package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
  415. package/src/components/combo_box/combo_box_input/_index.scss +0 -2
  416. package/src/components/datagrid/_data_grid_data_row.scss +139 -101
  417. package/src/components/datagrid/_mixins.scss +2 -2
  418. package/src/components/datagrid/body/header/_data_grid_header_row.scss +36 -28
  419. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -5
  420. package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
  421. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
  422. package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
  423. package/src/components/form/form_row/_form_row.scss +1 -1
  424. package/src/components/table/_responsive.scss +19 -0
  425. package/src/components/table/_table.scss +4 -9
  426. package/src/global_styling/variables/_typography.scss +2 -2
  427. package/test-env/components/accordion/accordion.a11y.js +1 -3
  428. package/test-env/components/accordion/accordion.js +13 -2
  429. package/test-env/components/accordion/accordion_children/accordion_children.js +4 -3
  430. package/test-env/components/auto_sizer/auto_sizer.js +10 -3
  431. package/test-env/components/basic_table/action_types.js +8 -2
  432. package/test-env/components/basic_table/basic_table.a11y.js +1 -2
  433. package/test-env/components/basic_table/basic_table.js +8 -8
  434. package/test-env/components/basic_table/collapsed_item_actions.js +124 -251
  435. package/test-env/components/basic_table/custom_item_action.js +18 -100
  436. package/test-env/components/basic_table/default_item_action.js +23 -14
  437. package/test-env/components/basic_table/in_memory_table.a11y.js +13 -11
  438. package/test-env/components/basic_table/in_memory_table.js +8 -8
  439. package/test-env/components/breadcrumbs/breadcrumb.js +16 -12
  440. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -0
  441. package/test-env/components/button/button_display/_button_display.js +6 -4
  442. package/test-env/components/button/button_display/_button_display_content.js +8 -4
  443. package/test-env/components/button/button_empty/button_empty.js +9 -7
  444. package/test-env/components/button/button_group/button_group.js +12 -12
  445. package/test-env/components/button/button_group/button_group_button.js +13 -54
  446. package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
  447. package/test-env/components/card/card.a11y.js +5 -18
  448. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  449. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  450. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  451. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  452. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -103
  453. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  454. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  455. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  456. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  457. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -105
  458. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  459. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -89
  460. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  461. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  462. package/test-env/components/combo_box/combo_box.js +8 -6
  463. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  464. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  465. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  466. package/test-env/components/combo_box/utils.js +31 -0
  467. package/test-env/components/context_menu/context_menu_item.js +16 -8
  468. package/test-env/components/context_menu/context_menu_item.styles.js +1 -1
  469. package/test-env/components/datagrid/body/data_grid_body.js +16 -6
  470. package/test-env/components/datagrid/body/data_grid_body_custom.js +16 -6
  471. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  472. package/test-env/components/datagrid/body/data_grid_cell.js +67 -44
  473. package/test-env/components/datagrid/body/data_grid_cell_actions.js +12 -12
  474. package/test-env/components/datagrid/body/data_grid_cell_popover.js +43 -10
  475. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -43
  476. package/test-env/components/datagrid/body/header/data_grid_header_row.js +16 -6
  477. package/test-env/components/datagrid/controls/column_selector.js +24 -45
  478. package/test-env/components/datagrid/controls/column_sorting.js +22 -36
  479. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +158 -0
  480. package/test-env/components/datagrid/controls/display_selector.js +21 -17
  481. package/test-env/components/datagrid/controls/fullscreen_selector.js +2 -6
  482. package/test-env/components/datagrid/controls/index.js +8 -1
  483. package/test-env/components/datagrid/data_grid.js +2 -863
  484. package/test-env/components/datagrid/index.js +8 -1
  485. package/test-env/components/datagrid/utils/in_memory.js +16 -6
  486. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  487. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  488. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  489. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  490. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  491. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  492. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  493. package/test-env/components/error_boundary/error_boundary.a11y.js +1 -1
  494. package/test-env/components/expression/expression.a11y.js +2 -4
  495. package/test-env/components/facet/facet_button.js +6 -4
  496. package/test-env/components/filter_group/filter_button.js +2 -2
  497. package/test-env/components/filter_group/filter_group.styles.js +1 -1
  498. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -3
  499. package/test-env/components/form/range/range.a11y.js +5 -10
  500. package/test-env/components/form/super_select/super_select.js +3 -2
  501. package/test-env/components/form/super_select/super_select_control.js +12 -19
  502. package/test-env/components/header/header.a11y.js +1 -1
  503. package/test-env/components/header/header_links/header_link.js +7 -5
  504. package/test-env/components/header/header_section/header_section_item_button.js +7 -5
  505. package/test-env/components/i18n/i18n.js +1 -0
  506. package/test-env/components/image/image.a11y.js +1 -2
  507. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  508. package/test-env/components/link/external_link_icon.js +56 -0
  509. package/test-env/components/link/link.js +6 -20
  510. package/test-env/components/link/link.styles.js +1 -4
  511. package/test-env/components/list_group/list_group.js +6 -1
  512. package/test-env/components/list_group/list_group_item.js +14 -4
  513. package/test-env/components/list_group/list_group_item.styles.js +2 -1
  514. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  515. package/test-env/components/notification/notification_event.a11y.js +1 -2
  516. package/test-env/components/notification/notification_event.js +7 -5
  517. package/test-env/components/popover/input_popover.js +1 -1
  518. package/test-env/components/popover/popover.js +33 -36
  519. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  520. package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
  521. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  522. package/test-env/components/resizable_container/resizable_container.a11y.js +4 -8
  523. package/test-env/components/search_bar/search_bar.a11y.js +3 -6
  524. package/test-env/components/selectable/selectable.js +16 -1
  525. package/test-env/components/selectable/selectable_list/selectable_list.js +227 -78
  526. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +28 -11
  527. package/test-env/components/text/text.styles.js +2 -2
  528. package/test-env/components/text_truncate/text_truncate.js +32 -9
  529. package/test-env/components/toast/global_toast_list.js +11 -1
  530. package/test-env/global_styling/mixins/_states.js +4 -1
  531. package/test-env/services/color/eui_palettes.js +1 -8
  532. package/test-env/services/color/index.js +0 -7
  533. package/test-env/services/hooks/useCombinedRefs.js +19 -10
  534. package/test-env/services/index.js +0 -15
  535. package/test-env/test/rtl/component_helpers.js +41 -3
  536. package/es/services/random.js +0 -94
  537. package/es/services/utils.js +0 -25
  538. package/es/test/patch_random.js +0 -18
  539. package/lib/services/random.js +0 -100
  540. package/lib/services/utils.js +0 -35
  541. package/lib/test/patch_random.js +0 -25
  542. package/optimize/es/services/random.js +0 -85
  543. package/optimize/es/services/utils.js +0 -25
  544. package/optimize/es/test/patch_random.js +0 -18
  545. package/optimize/lib/services/random.js +0 -91
  546. package/optimize/lib/services/utils.js +0 -35
  547. package/optimize/lib/test/patch_random.js +0 -25
  548. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
  549. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
  550. package/test-env/services/random.js +0 -91
  551. package/test-env/services/utils.js +0 -35
  552. package/test-env/test/patch_random.js +0 -25
@@ -405,14 +405,16 @@ export var EuiComboBox = /*#__PURE__*/function (_Component) {
405
405
  var _this$props10 = _this.props,
406
406
  onSearchChange = _this$props10.onSearchChange,
407
407
  delimiter = _this$props10.delimiter;
408
- if (onSearchChange) {
409
- var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
410
- onSearchChange(searchValue, _hasMatchingOptions);
411
- }
412
408
  _this.setState({
413
409
  searchValue: searchValue
414
410
  }, function () {
415
- if (searchValue && _this.state.isListOpen === false) _this.openList();
411
+ if (searchValue && _this.state.isListOpen === false) {
412
+ _this.openList();
413
+ }
414
+ if (onSearchChange) {
415
+ var _hasMatchingOptions = _this.state.matchingOptions.length > 0;
416
+ onSearchChange(searchValue, _hasMatchingOptions);
417
+ }
416
418
  });
417
419
  if (delimiter && searchValue.endsWith(delimiter)) {
418
420
  _this.setCustomOptions(false);
@@ -1,6 +1,6 @@
1
+ import _typeof from "@babel/runtime/helpers/typeof";
1
2
  import _extends from "@babel/runtime/helpers/extends";
2
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _typeof from "@babel/runtime/helpers/typeof";
4
4
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
5
  import _createClass from "@babel/runtime/helpers/createClass";
6
6
  import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
@@ -25,6 +25,7 @@ import { keys, CanvasTextUtils } from '../../../services';
25
25
  import { EuiScreenReaderOnly } from '../../accessibility';
26
26
  import { EuiFormControlLayout } from '../../form/form_control_layout';
27
27
  import { getFormControlClassNameForIconCount } from '../../form/form_control_layout/_num_icons';
28
+ import { EuiComboBoxOptionAppendPrepend } from '../utils';
28
29
  import { EuiComboBoxPill } from './combo_box_pill';
29
30
  import { jsx as ___EmotionJSX } from "@emotion/react";
30
31
  export var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
@@ -51,6 +52,7 @@ export var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
51
52
  });
52
53
  _defineProperty(_assertThisInitialized(_this), "updateInputSize", function (inputValue) {
53
54
  if (!_this.widthUtils) return;
55
+ if (_this.asPlainText) return;
54
56
  _this.widthUtils.setTextToCheck(inputValue);
55
57
  // Canvas has minute subpixel differences in rendering compared to DOM
56
58
  // We'll buffer the input by ~2px just to ensure sufficient width
@@ -76,65 +78,42 @@ export var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
76
78
  _defineProperty(_assertThisInitialized(_this), "onKeyDown", function (event) {
77
79
  var _this$props2 = _this.props,
78
80
  searchValue = _this$props2.searchValue,
81
+ hasSelectedOptions = _this$props2.hasSelectedOptions,
79
82
  selectedOptions = _this$props2.selectedOptions,
80
83
  onRemoveOption = _this$props2.onRemoveOption,
81
84
  singleSelection = _this$props2.singleSelection,
82
85
  isListOpen = _this$props2.isListOpen,
83
- onOpenListClick = _this$props2.onOpenListClick;
84
-
85
- // When backspacing from an empty input, delete the last pill option in the list
86
+ onOpenListClick = _this$props2.onOpenListClick,
87
+ onChange = _this$props2.onChange;
86
88
  var searchIsEmpty = !searchValue.length;
87
- var hasPills = selectedOptions.length;
88
- if (event.key === keys.BACKSPACE && searchIsEmpty && hasPills) {
89
- onRemoveOption(selectedOptions[selectedOptions.length - 1]);
90
- if (!!singleSelection && !isListOpen) {
91
- onOpenListClick();
89
+ if (event.key === keys.BACKSPACE) {
90
+ // When backspacing in a plain text combobox, change normally and remove the selection
91
+ if (_this.asPlainText) {
92
+ onChange(event.currentTarget.value);
93
+ if (hasSelectedOptions) {
94
+ onRemoveOption(selectedOptions[selectedOptions.length - 1]);
95
+ }
96
+ }
97
+ // When backspacing from an empty input, delete the last pill option in the list
98
+ else if (searchIsEmpty && hasSelectedOptions) {
99
+ onRemoveOption(selectedOptions[selectedOptions.length - 1]);
100
+ if (!!singleSelection && !isListOpen) {
101
+ onOpenListClick();
102
+ }
92
103
  }
93
104
  }
94
105
  });
95
- return _this;
96
- }
97
- _createClass(EuiComboBoxInput, [{
98
- key: "componentDidUpdate",
99
- value: function componentDidUpdate(prevProps) {
100
- if (prevProps.searchValue !== this.props.searchValue) {
101
- this.updateInputSize(this.props.searchValue);
102
- }
103
- }
104
- }, {
105
- key: "render",
106
- value: function render() {
107
- var _this$props3 = this.props,
108
- compressed = _this$props3.compressed,
109
- focusedOptionId = _this$props3.focusedOptionId,
110
- fullWidth = _this$props3.fullWidth,
111
- hasSelectedOptions = _this$props3.hasSelectedOptions,
112
- id = _this$props3.id,
113
- isDisabled = _this$props3.isDisabled,
114
- isListOpen = _this$props3.isListOpen,
115
- noIcon = _this$props3.noIcon,
116
- _onChange = _this$props3.onChange,
117
- onClear = _this$props3.onClear,
118
- onClick = _this$props3.onClick,
119
- onCloseListClick = _this$props3.onCloseListClick,
120
- onOpenListClick = _this$props3.onOpenListClick,
121
- onRemoveOption = _this$props3.onRemoveOption,
122
- placeholder = _this$props3.placeholder,
123
- rootId = _this$props3.rootId,
124
- searchValue = _this$props3.searchValue,
106
+ _defineProperty(_assertThisInitialized(_this), "renderPills", function () {
107
+ // Don't render a pill for plain text comboboxes - use the input instead
108
+ if (_this.asPlainText) return null;
109
+ // Don't render the single pill selection while searching
110
+ if (_this.props.singleSelection && _this.props.searchValue) return null;
111
+ var _this$props3 = _this.props,
125
112
  selectedOptions = _this$props3.selectedOptions,
126
- singleSelectionProp = _this$props3.singleSelection,
127
- value = _this$props3.value,
128
- prepend = _this$props3.prepend,
129
- append = _this$props3.append,
130
- isLoading = _this$props3.isLoading,
131
- isInvalid = _this$props3.isInvalid,
132
- autoFocus = _this$props3.autoFocus,
133
- ariaLabel = _this$props3['aria-label'],
134
- ariaLabelledby = _this$props3['aria-labelledby'];
135
- var singleSelection = Boolean(singleSelectionProp);
136
- var asPlainText = singleSelectionProp && _typeof(singleSelectionProp) === 'object' && singleSelectionProp.asPlainText || false;
137
- var pills = selectedOptions ? selectedOptions.map(function (option) {
113
+ isDisabled = _this$props3.isDisabled,
114
+ onRemoveOption = _this$props3.onRemoveOption;
115
+ if (!selectedOptions || !selectedOptions.length) return null;
116
+ return selectedOptions.map(function (option) {
138
117
  var key = option.key,
139
118
  label = option.label,
140
119
  color = option.color,
@@ -143,17 +122,77 @@ export var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
143
122
  prepend = option.prepend,
144
123
  truncationProps = option.truncationProps,
145
124
  rest = _objectWithoutProperties(option, _excluded);
146
- var pillOnClose = isDisabled || singleSelection || onClick ? undefined : onRemoveOption;
125
+ var pillOnClose = isDisabled || _this.props.singleSelection || onClick ? undefined : onRemoveOption;
147
126
  return ___EmotionJSX(EuiComboBoxPill, _extends({
148
127
  option: option,
149
128
  onClose: pillOnClose,
150
129
  key: key !== null && key !== void 0 ? key : label.toLowerCase(),
151
130
  color: color,
152
131
  onClick: onClick,
153
- onClickAriaLabel: onClick ? 'Change' : undefined,
154
- asPlainText: asPlainText
132
+ onClickAriaLabel: onClick ? 'Change' : undefined
155
133
  }, rest), label);
156
- }) : null;
134
+ });
135
+ });
136
+ return _this;
137
+ }
138
+ _createClass(EuiComboBoxInput, [{
139
+ key: "componentDidUpdate",
140
+ value: function componentDidUpdate(prevProps) {
141
+ if (prevProps.searchValue !== this.props.searchValue) {
142
+ this.updateInputSize(this.props.searchValue);
143
+ }
144
+ }
145
+ }, {
146
+ key: "asPlainText",
147
+ get: function get() {
148
+ var singleSelection = this.props.singleSelection;
149
+ var isSingleSelectionConfig = singleSelection && _typeof(singleSelection) === 'object';
150
+ return !!(isSingleSelectionConfig && singleSelection.asPlainText);
151
+ }
152
+ }, {
153
+ key: "searchValue",
154
+ get: function get() {
155
+ var _this$props4 = this.props,
156
+ searchValue = _this$props4.searchValue,
157
+ selectedOptions = _this$props4.selectedOptions;
158
+ if (this.asPlainText) {
159
+ var _selectedOptions$;
160
+ return searchValue || (selectedOptions === null || selectedOptions === void 0 ? void 0 : (_selectedOptions$ = selectedOptions[0]) === null || _selectedOptions$ === void 0 ? void 0 : _selectedOptions$.label) || '';
161
+ } else {
162
+ return searchValue;
163
+ }
164
+ }
165
+ }, {
166
+ key: "render",
167
+ value: function render() {
168
+ var _this$props5 = this.props,
169
+ compressed = _this$props5.compressed,
170
+ focusedOptionId = _this$props5.focusedOptionId,
171
+ fullWidth = _this$props5.fullWidth,
172
+ hasSelectedOptions = _this$props5.hasSelectedOptions,
173
+ id = _this$props5.id,
174
+ isDisabled = _this$props5.isDisabled,
175
+ isListOpen = _this$props5.isListOpen,
176
+ noIcon = _this$props5.noIcon,
177
+ _onChange = _this$props5.onChange,
178
+ onClear = _this$props5.onClear,
179
+ onClick = _this$props5.onClick,
180
+ onFocus = _this$props5.onFocus,
181
+ onCloseListClick = _this$props5.onCloseListClick,
182
+ onOpenListClick = _this$props5.onOpenListClick,
183
+ placeholder = _this$props5.placeholder,
184
+ rootId = _this$props5.rootId,
185
+ searchValue = _this$props5.searchValue,
186
+ selectedOptions = _this$props5.selectedOptions,
187
+ singleSelection = _this$props5.singleSelection,
188
+ value = _this$props5.value,
189
+ prepend = _this$props5.prepend,
190
+ append = _this$props5.append,
191
+ isLoading = _this$props5.isLoading,
192
+ isInvalid = _this$props5.isInvalid,
193
+ autoFocus = _this$props5.autoFocus,
194
+ ariaLabel = _this$props5['aria-label'],
195
+ ariaLabelledby = _this$props5['aria-labelledby'];
157
196
  var removeOptionMessage;
158
197
  var removeOptionMessageId;
159
198
  if (this.state.hasFocus) {
@@ -170,12 +209,7 @@ export var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
170
209
  id: removeOptionMessageId
171
210
  }, removeOptionMessageContent));
172
211
  }
173
- var placeholderMessage;
174
- if (placeholder && selectedOptions && !selectedOptions.length && !searchValue) {
175
- placeholderMessage = ___EmotionJSX("p", {
176
- className: "euiComboBoxPlaceholder"
177
- }, placeholder);
178
- }
212
+ var showPlaceholder = placeholder && !(selectedOptions !== null && selectedOptions !== void 0 && selectedOptions.length) && !searchValue;
179
213
  var clickProps = {};
180
214
  if (!isDisabled && onClear && hasSelectedOptions) {
181
215
  clickProps.clear = {
@@ -205,6 +239,7 @@ export var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
205
239
  'euiComboBox__inputWrap--compressed': compressed,
206
240
  'euiComboBox__inputWrap--fullWidth': fullWidth,
207
241
  'euiComboBox__inputWrap--noWrap': singleSelection,
242
+ 'euiComboBox__inputWrap--plainText': this.asPlainText || showPlaceholder,
208
243
  'euiComboBox__inputWrap--inGroup': prepend || append
209
244
  });
210
245
  return ___EmotionJSX(EuiFormControlLayout, _extends({
@@ -222,7 +257,10 @@ export var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
222
257
  "data-test-subj": "comboBoxInput",
223
258
  onClick: onClick,
224
259
  tabIndex: -1 // becomes onBlur event's relatedTarget, otherwise relatedTarget is null when clicking on this div
225
- }, !singleSelection || !searchValue ? pills : null, placeholderMessage, ___EmotionJSX("input", {
260
+ }, this.renderPills(), ___EmotionJSX(EuiComboBoxOptionAppendPrepend, {
261
+ option: this.asPlainText ? selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0] : undefined,
262
+ classNamePrefix: "euiComboBoxPlainTextSelection"
263
+ }, ___EmotionJSX("input", {
226
264
  "aria-activedescendant": focusedOptionId,
227
265
  "aria-autocomplete": "list",
228
266
  "aria-controls": isListOpen ? rootId('listbox') : '',
@@ -243,11 +281,15 @@ export var EuiComboBoxInput = /*#__PURE__*/function (_Component) {
243
281
  ref: this.inputRefCallback,
244
282
  role: "combobox",
245
283
  style: {
246
- inlineSize: this.state.inputWidth
284
+ inlineSize: this.asPlainText || showPlaceholder ? '100%' : this.state.inputWidth
247
285
  },
248
- value: searchValue,
286
+ placeholder: showPlaceholder ? placeholder : undefined,
287
+ value: this.searchValue,
249
288
  autoFocus: autoFocus
250
- }), removeOptionMessage));
289
+ // Force the menu to re-open on every input click - only necessary when plain text
290
+ ,
291
+ onClick: this.asPlainText ? onFocus : undefined // Type shenanigans - event should be mostly the same
292
+ })), removeOptionMessage));
251
293
  }
252
294
  }]);
253
295
  return EuiComboBoxInput;
@@ -7,7 +7,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
7
7
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
- var _excluded = ["asPlainText", "children", "className", "color", "onClick", "onClickAriaLabel", "onClose", "option"];
10
+ var _excluded = ["children", "className", "color", "onClick", "onClickAriaLabel", "onClose", "option"];
11
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
12
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
13
  /*
@@ -22,6 +22,7 @@ import React, { Component } from 'react';
22
22
  import classNames from 'classnames';
23
23
  import { EuiBadge } from '../../badge';
24
24
  import { EuiI18n } from '../../i18n';
25
+ import { EuiComboBoxOptionAppendPrepend } from '../utils';
25
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
26
27
  export var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
27
28
  _inherits(EuiComboBoxPill, _Component);
@@ -48,7 +49,6 @@ export var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
48
49
  value: function render() {
49
50
  var _this2 = this;
50
51
  var _this$props2 = this.props,
51
- asPlainText = _this$props2.asPlainText,
52
52
  children = _this$props2.children,
53
53
  className = _this$props2.className,
54
54
  color = _this$props2.color,
@@ -57,20 +57,17 @@ export var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
57
57
  onClose = _this$props2.onClose,
58
58
  option = _this$props2.option,
59
59
  rest = _objectWithoutProperties(_this$props2, _excluded);
60
- var classes = classNames('euiComboBoxPill', {
61
- 'euiComboBoxPill--plainText': asPlainText
62
- }, className);
60
+ var classes = classNames('euiComboBoxPill', className);
63
61
  var onClickProps = onClick && onClickAriaLabel ? {
64
62
  onClick: onClick,
65
63
  onClickAriaLabel: onClickAriaLabel
66
64
  } : {};
67
- var content = ___EmotionJSX(React.Fragment, null, option.prepend && ___EmotionJSX("span", {
68
- className: "euiComboBoxPill__prepend"
69
- }, option.prepend), ___EmotionJSX("span", {
65
+ var content = ___EmotionJSX(EuiComboBoxOptionAppendPrepend, {
66
+ option: option,
67
+ classNamePrefix: "euiComboBoxPill"
68
+ }, ___EmotionJSX("span", {
70
69
  className: "eui-textTruncate"
71
- }, children), option.append && ___EmotionJSX("span", {
72
- className: "euiComboBoxPill__append"
73
- }, option.append));
70
+ }, children));
74
71
  if (onClose) {
75
72
  return ___EmotionJSX(EuiI18n, {
76
73
  token: "euiComboBoxPill.removeSelection",
@@ -91,12 +88,6 @@ export var EuiComboBoxPill = /*#__PURE__*/function (_Component) {
91
88
  }, onClickProps, rest), content);
92
89
  });
93
90
  }
94
- if (asPlainText) {
95
- return ___EmotionJSX("span", _extends({
96
- className: classes,
97
- "data-test-subj": "euiComboBoxPill"
98
- }, rest), content);
99
- }
100
91
  return ___EmotionJSX(EuiBadge, _extends({
101
92
  className: classes,
102
93
  color: color,
@@ -36,6 +36,7 @@ import { EuiFilterSelectItem } from '../../filter_group/filter_select_item';
36
36
  import { EuiBadge } from '../../badge';
37
37
  import { EuiTextTruncate } from '../../text_truncate';
38
38
  import { EuiInputPopoverWidthContext } from '../../popover/input_popover';
39
+ import { EuiComboBoxOptionAppendPrepend } from '../utils';
39
40
  import { jsx as ___EmotionJSX } from "@emotion/react";
40
41
  var hitEnterBadge = ___EmotionJSX(EuiBadge, {
41
42
  className: "euiComboBoxOption__enterBadge",
@@ -119,13 +120,12 @@ export var EuiComboBoxOptionsList = /*#__PURE__*/function (_Component) {
119
120
  title: label
120
121
  }, rest), ___EmotionJSX("span", {
121
122
  className: "euiComboBoxOption__contentWrapper"
122
- }, prepend && ___EmotionJSX("span", {
123
- className: "euiComboBoxOption__prepend"
124
- }, prepend), ___EmotionJSX("span", {
123
+ }, ___EmotionJSX(EuiComboBoxOptionAppendPrepend, {
124
+ option: option,
125
+ classNamePrefix: "euiComboBoxOption"
126
+ }, ___EmotionJSX("span", {
125
127
  className: "euiComboBoxOption__content"
126
- }, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : _this.renderTruncatedOption(label, truncationProps)), append && ___EmotionJSX("span", {
127
- className: "euiComboBoxOption__append"
128
- }, append), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
128
+ }, renderOption ? renderOption(option, searchValue, 'euiComboBoxOption__renderOption') : _this.renderTruncatedOption(label, truncationProps))), optionIsFocused && !optionIsDisabled ? hitEnterBadge : null));
129
129
  });
130
130
  _defineProperty(_assertThisInitialized(_this), "optionWidth", void 0);
131
131
  _defineProperty(_assertThisInitialized(_this), "setOptionWidth", function (width) {
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import React from 'react';
10
+ import { jsx as ___EmotionJSX } from "@emotion/react";
11
+ /**
12
+ * DRY util for rendering an option with its prepend and append properties
13
+ */
14
+ export var EuiComboBoxOptionAppendPrepend = function EuiComboBoxOptionAppendPrepend(_ref) {
15
+ var children = _ref.children,
16
+ option = _ref.option,
17
+ classNamePrefix = _ref.classNamePrefix;
18
+ return ___EmotionJSX(React.Fragment, null, (option === null || option === void 0 ? void 0 : option.prepend) && ___EmotionJSX("span", {
19
+ className: "".concat(classNamePrefix, "__prepend")
20
+ }, option.prepend), children, (option === null || option === void 0 ? void 0 : option.append) && ___EmotionJSX("span", {
21
+ className: "".concat(classNamePrefix, "__append")
22
+ }, option.append));
23
+ };
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipTitle", "toolTipContent", "toolTipPosition", "href", "target", "rel", "size"];
3
+ var _excluded = ["children", "className", "hasPanel", "icon", "buttonRef", "disabled", "layoutAlign", "toolTipTitle", "toolTipContent", "toolTipPosition", "toolTipProps", "href", "target", "rel", "size"];
4
4
  /*
5
5
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
6
  * or more contributor license agreements. Licensed under the Elastic License
@@ -38,6 +38,7 @@ export var EuiContextMenuItem = function EuiContextMenuItem(_ref) {
38
38
  toolTipContent = _ref.toolTipContent,
39
39
  _ref$toolTipPosition = _ref.toolTipPosition,
40
40
  toolTipPosition = _ref$toolTipPosition === void 0 ? 'right' : _ref$toolTipPosition,
41
+ toolTipProps = _ref.toolTipProps,
41
42
  href = _ref.href,
42
43
  target = _ref.target,
43
44
  rel = _ref.rel,
@@ -89,7 +90,7 @@ export var EuiContextMenuItem = function EuiContextMenuItem(_ref) {
89
90
  rel: secureRel,
90
91
  ref: buttonRef
91
92
  }, rest), buttonContent);
92
- } else if (href || rest.onClick) {
93
+ } else if (href || rest.onClick || toolTipContent) {
93
94
  button = ___EmotionJSX("button", _extends({
94
95
  disabled: disabled,
95
96
  css: cssStyles,
@@ -105,12 +106,14 @@ export var EuiContextMenuItem = function EuiContextMenuItem(_ref) {
105
106
  }, rest), buttonContent);
106
107
  }
107
108
  if (toolTipContent) {
108
- return ___EmotionJSX(EuiToolTip, {
109
+ var anchorClasses = classNames('eui-displayBlock', toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorClassName);
110
+ return ___EmotionJSX(EuiToolTip, _extends({
109
111
  title: toolTipTitle ? toolTipTitle : null,
110
- content: toolTipContent,
111
- anchorClassName: "eui-displayBlock",
112
112
  position: toolTipPosition
113
- }, button);
113
+ }, toolTipProps, {
114
+ anchorClassName: anchorClasses,
115
+ content: toolTipContent
116
+ }), button);
114
117
  } else {
115
118
  return button;
116
119
  }
@@ -60,7 +60,7 @@ var _ref6 = process.env.NODE_ENV === "production" ? {
60
60
  export var euiContextMenuItemStyles = function euiContextMenuItemStyles(euiThemeContext) {
61
61
  var euiTheme = euiThemeContext.euiTheme;
62
62
  return {
63
- euiContextMenuItem: /*#__PURE__*/css("display:flex;gap:", euiTheme.size.s, ";", logicalCSS('width', '100%'), " ", logicalTextAlignCSS('left'), " color:", euiTheme.colors.text, ";outline-offset:-", euiTheme.focus.width, ";&:enabled:hover,&:enabled:focus{text-decoration:underline;}&:enabled:focus{background-color:", euiTheme.focus.backgroundColor, ";};label:euiContextMenuItem;"),
63
+ euiContextMenuItem: /*#__PURE__*/css("display:flex;gap:", euiTheme.size.s, ";", logicalCSS('width', '100%'), " ", logicalTextAlignCSS('left'), " color:", euiTheme.colors.text, ";outline-offset:-", euiTheme.focus.width, ";&:not(:disabled){&:hover,&:focus{text-decoration:underline;}&:focus{background-color:", euiTheme.focus.backgroundColor, ";}};label:euiContextMenuItem;"),
64
64
  disabled: /*#__PURE__*/css("color:", euiTheme.colors.disabledText, ";cursor:default;;label:disabled;"),
65
65
  layoutAlign: {
66
66
  center: _ref6,
@@ -7,7 +7,7 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
7
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
8
  import _extends from "@babel/runtime/helpers/extends";
9
9
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
10
- var _excluded = ["renderCellValue", "column", "setCellContentsRef", "setPopoverAnchorRef", "rowIndex", "colIndex", "ariaRowIndex", "rowHeight", "rowHeightUtils", "isControlColumn", "isFocused", "cellHeightType", "cellActions"],
10
+ var _excluded = ["renderCellValue", "column", "setCellContentsRef", "rowIndex", "colIndex", "ariaRowIndex", "rowHeight", "rowHeightUtils", "isControlColumn", "isFocused", "cellActions"],
11
11
  _excluded2 = ["width", "popoverContext", "interactiveCellId", "columnType", "className", "column", "style", "rowHeightUtils", "rowHeightsOptions", "rowManager", "pagination"],
12
12
  _excluded3 = ["isExpandable", "style", "className", "data-test-subj"];
13
13
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -41,7 +41,6 @@ var EuiDataGridCellContent = /*#__PURE__*/memo(function (_ref) {
41
41
  var renderCellValue = _ref.renderCellValue,
42
42
  column = _ref.column,
43
43
  setCellContentsRef = _ref.setCellContentsRef,
44
- setPopoverAnchorRef = _ref.setPopoverAnchorRef,
45
44
  rowIndex = _ref.rowIndex,
46
45
  colIndex = _ref.colIndex,
47
46
  ariaRowIndex = _ref.ariaRowIndex,
@@ -49,27 +48,17 @@ var EuiDataGridCellContent = /*#__PURE__*/memo(function (_ref) {
49
48
  rowHeightUtils = _ref.rowHeightUtils,
50
49
  isControlColumn = _ref.isControlColumn,
51
50
  isFocused = _ref.isFocused,
52
- cellHeightType = _ref.cellHeightType,
53
51
  cellActions = _ref.cellActions,
54
52
  rest = _objectWithoutProperties(_ref, _excluded);
55
53
  // React is more permissible than the TS types indicate
56
54
  var CellElement = renderCellValue;
57
- var wrapperClasses = classNames('euiDataGridRowCell__contentWrapper', "euiDataGridRowCell__".concat(cellHeightType, "Height"));
58
- var classes = classNames('euiDataGridRowCell__content', !isControlColumn && {
55
+ var cellHeightType = (rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getHeightType(rowHeight)) || 'default';
56
+ var classes = classNames('euiDataGridRowCell__content', "euiDataGridRowCell__content--".concat(cellHeightType, "Height"), !isControlColumn && {
59
57
  'eui-textBreakWord': cellHeightType !== 'default',
60
58
  'eui-textTruncate': cellHeightType === 'default'
61
59
  });
62
60
  var cellContent = ___EmotionJSX("div", {
63
- ref: function ref(el) {
64
- setCellContentsRef(el);
65
- setPopoverAnchorRef.current = cellHeightType === 'default' ? // Default height cells need the popover to be anchored on the wrapper,
66
- // in order for the popover to centered on the full cell width (as content
67
- // width is affected by the width of cell actions)
68
- el === null || el === void 0 ? void 0 : el.parentElement :
69
- // Numerical height cells need the popover anchor to be below the wrapper
70
- // class, in order to set height: 100% on the portalled popover div wrappers
71
- el;
72
- },
61
+ ref: setCellContentsRef,
73
62
  "data-datagrid-cellcontent": true,
74
63
  className: classes
75
64
  }, ___EmotionJSX(CellElement, _extends({
@@ -97,9 +86,7 @@ var EuiDataGridCellContent = /*#__PURE__*/memo(function (_ref) {
97
86
  row: ariaRowIndex
98
87
  }
99
88
  })));
100
- return ___EmotionJSX("div", {
101
- className: wrapperClasses
102
- }, cellContent, screenReaderText, cellActions);
89
+ return ___EmotionJSX(React.Fragment, null, cellContent, screenReaderText, cellActions);
103
90
  });
104
91
  export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
105
92
  _inherits(EuiDataGridCell, _Component);
@@ -121,7 +108,8 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
121
108
  isFocused: false,
122
109
  isEntered: false,
123
110
  enableInteractions: false,
124
- disableCellTabIndex: false
111
+ disableCellTabIndex: false,
112
+ cellTextAlign: 'Left'
125
113
  });
126
114
  _defineProperty(_assertThisInitialized(_this), "unsubscribeCell", void 0);
127
115
  _defineProperty(_assertThisInitialized(_this), "focusTimeout", void 0);
@@ -224,6 +212,7 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
224
212
  _this.contentObserver.disconnect();
225
213
  }
226
214
  _this.preventTabbing();
215
+ _this.setCellTextAlign();
227
216
  });
228
217
  _defineProperty(_assertThisInitialized(_this), "onFocus", function (e) {
229
218
  // only perform this logic when the event's originating element (e.target) is
@@ -251,10 +240,6 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
251
240
  });
252
241
  }
253
242
  }, 0);
254
- // Close the cell popover if the popover was open and the user clicked the cell
255
- if (_this.props.popoverContext.popoverIsOpen) {
256
- _this.props.popoverContext.closeCellPopover();
257
- }
258
243
  }
259
244
  });
260
245
  _defineProperty(_assertThisInitialized(_this), "onBlur", function () {
@@ -281,6 +266,28 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
281
266
  }
282
267
  }
283
268
  });
269
+ _defineProperty(_assertThisInitialized(_this), "setCellTextAlign", function () {
270
+ if (_this.cellContentsRef) {
271
+ var columnType = _this.props.columnType;
272
+ if (!columnType) {
273
+ // If no schema was set, this is likely a left aligned column
274
+ _this.setState({
275
+ cellTextAlign: 'Left'
276
+ });
277
+ } else if (columnType === 'numeric' || columnType === 'currency') {
278
+ // Default EUI schemas that we know set right text align
279
+ _this.setState({
280
+ cellTextAlign: 'Right'
281
+ });
282
+ } else {
283
+ // If the consumer is using a custom schema, it may have custom text alignment
284
+ var textAlign = window.getComputedStyle(_this.cellContentsRef).getPropertyValue('text-align');
285
+ _this.setState({
286
+ cellTextAlign: textAlign === 'right' || textAlign === 'end' ? 'Right' : 'Left'
287
+ });
288
+ }
289
+ }
290
+ });
284
291
  _defineProperty(_assertThisInitialized(_this), "isExpandable", function () {
285
292
  var _this$props$column, _this$props$column$ce, _this$state$cellProps;
286
293
  // A cell must always show an expansion popover if it has cell actions,
@@ -301,12 +308,14 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
301
308
  if (_this.isPopoverOpen()) {
302
309
  var _this$props$popoverCo2 = _this.props.popoverContext,
303
310
  setPopoverAnchor = _this$props$popoverCo2.setPopoverAnchor,
311
+ setPopoverAnchorPosition = _this$props$popoverCo2.setPopoverAnchorPosition,
304
312
  setPopoverContent = _this$props$popoverCo2.setPopoverContent,
305
313
  setCellPopoverProps = _this$props$popoverCo2.setCellPopoverProps;
306
314
 
307
315
  // Set popover anchor
308
316
  var cellAnchorEl = _this.popoverAnchorRef.current;
309
317
  setPopoverAnchor(cellAnchorEl);
318
+ setPopoverAnchorPosition("down".concat(_this.state.cellTextAlign));
310
319
 
311
320
  // Set popover contents with cell content
312
321
  var _this$props6 = _this.props,
@@ -467,7 +476,7 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
467
476
  var isExpandable = this.isExpandable();
468
477
  var popoverIsOpen = this.isPopoverOpen();
469
478
  var showCellActions = this.state.isFocused || this.state.isEntered || this.state.enableInteractions || popoverIsOpen;
470
- var cellClasses = classNames('euiDataGridRowCell', (_classNames = {}, _defineProperty(_classNames, "euiDataGridRowCell--".concat(columnType), columnType), _defineProperty(_classNames, 'euiDataGridRowCell--open', popoverIsOpen), _classNames), className);
479
+ var cellClasses = classNames('euiDataGridRowCell', "euiDataGridRowCell--align".concat(this.state.cellTextAlign), (_classNames = {}, _defineProperty(_classNames, "euiDataGridRowCell--".concat(columnType), columnType), _defineProperty(_classNames, 'euiDataGridRowCell--open', popoverIsOpen), _classNames), className);
471
480
  var ariaRowIndex = pagination ? visibleRowIndex + 1 + pagination.pageSize * pagination.pageIndex : visibleRowIndex + 1;
472
481
  var _this$state$cellProps2 = this.state.cellProps,
473
482
  _ = _this$state$cellProps2.isExpandable,
@@ -550,28 +559,24 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
550
559
  }
551
560
  };
552
561
  var rowHeight = rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getRowHeightOption(rowIndex, rowHeightsOptions);
553
- var cellHeightType = (rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getHeightType(rowHeight)) || 'default';
554
562
  var cellContentProps = _objectSpread(_objectSpread({}, rest), {}, {
555
563
  setCellProps: this.setCellProps,
556
564
  column: column,
557
565
  columnType: columnType,
558
- cellHeightType: cellHeightType,
559
566
  isExpandable: isExpandable,
560
567
  isExpanded: popoverIsOpen,
561
568
  isDetails: false,
562
569
  isFocused: this.state.isFocused,
563
570
  setCellContentsRef: this.setCellContentsRef,
564
- setPopoverAnchorRef: this.popoverAnchorRef,
565
571
  rowHeight: rowHeight,
566
572
  rowHeightUtils: rowHeightUtils,
567
573
  isControlColumn: cellClasses.includes('euiDataGridRowCell--controlColumn'),
568
574
  ariaRowIndex: ariaRowIndex
569
575
  });
570
- var cellActions = showCellActions && ___EmotionJSX(EuiDataGridCellActions, {
576
+ var cellActions = showCellActions && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiDataGridCellActions, {
571
577
  rowIndex: rowIndex,
572
578
  colIndex: colIndex,
573
579
  column: column,
574
- cellHeightType: cellHeightType,
575
580
  onExpandClick: function onExpandClick() {
576
581
  if (popoverIsOpen) {
577
582
  closeCellPopover();
@@ -582,7 +587,10 @@ export var EuiDataGridCell = /*#__PURE__*/function (_Component) {
582
587
  });
583
588
  }
584
589
  }
585
- });
590
+ }), ___EmotionJSX("div", {
591
+ ref: this.popoverAnchorRef,
592
+ "data-test-subject": "cellPopoverAnchor"
593
+ }));
586
594
  var cellContent = isExpandable ? ___EmotionJSX(EuiDataGridCellContent, _extends({}, cellContentProps, {
587
595
  cellActions: cellActions
588
596
  })) : ___EmotionJSX(EuiFocusTrap, {