@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
@@ -15,14 +15,12 @@ import { EuiButtonIcon } from '../../button/button_icon';
15
15
  import { EuiButtonEmpty } from '../../button/button_empty';
16
16
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
17
17
  import { EuiPopoverFooter } from '../../popover';
18
- import classNames from 'classnames';
19
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
20
19
  export var EuiDataGridCellActions = function EuiDataGridCellActions(_ref) {
21
20
  var onExpandClick = _ref.onExpandClick,
22
21
  column = _ref.column,
23
22
  rowIndex = _ref.rowIndex,
24
- colIndex = _ref.colIndex,
25
- cellHeightType = _ref.cellHeightType;
23
+ colIndex = _ref.colIndex;
26
24
  // Note: The cell expand button/expansion popover is *always* rendered if
27
25
  // column.cellActions is present (regardless of column.isExpandable).
28
26
  // This is because cell actions are not otherwise accessible to keyboard
@@ -33,11 +31,11 @@ export var EuiDataGridCellActions = function EuiDataGridCellActions(_ref) {
33
31
  default: "Click or hit enter to interact with cell content"
34
32
  }, function (expandButtonTitle) {
35
33
  return ___EmotionJSX(EuiButtonIcon, {
36
- display: "fill",
37
- className: "euiDataGridRowCell__actionButtonIcon",
34
+ className: "euiDataGridRowCell__actionButtonIcon euiDataGridRowCell__expandCell",
38
35
  "data-test-subj": "euiDataGridCellExpandButton",
36
+ display: "fill",
39
37
  color: "primary",
40
- iconSize: "s",
38
+ iconSize: "m",
41
39
  iconType: "expandMini",
42
40
  "aria-hidden": true,
43
41
  onClick: onExpandClick,
@@ -49,8 +47,13 @@ export var EuiDataGridCellActions = function EuiDataGridCellActions(_ref) {
49
47
  var ButtonComponent = function ButtonComponent(props) {
50
48
  return ___EmotionJSX(EuiButtonIcon, _extends({}, props, {
51
49
  "aria-hidden": true,
52
- className: "euiDataGridRowCell__actionButtonIcon",
53
- iconSize: "s"
50
+ className: "euiDataGridRowCell__actionButtonIcon"
51
+ // Don't allow consumers to override sizes or colors for cell actions on hover/focus
52
+ ,
53
+ size: "xs",
54
+ iconSize: "s",
55
+ display: "fill",
56
+ color: "primary"
54
57
  }));
55
58
  };
56
59
  var _getVisibleCellAction = getVisibleCellActions(column === null || column === void 0 ? void 0 : column.cellActions, column === null || column === void 0 ? void 0 : column.visibleCellActions),
@@ -69,11 +72,8 @@ export var EuiDataGridCellActions = function EuiDataGridCellActions(_ref) {
69
72
  });
70
73
  });
71
74
  }, [column, colIndex, rowIndex]);
72
- var classes = classNames('euiDataGridRowCell__actions', {
73
- 'euiDataGridRowCell__actions--overlay': cellHeightType !== 'default'
74
- });
75
75
  return ___EmotionJSX("div", {
76
- className: classes
76
+ className: "euiDataGridRowCell__actions"
77
77
  }, [].concat(_toConsumableArray(additionalButtons), [expandButton]));
78
78
  };
79
79
  export var EuiDataGridCellPopoverActions = function EuiDataGridCellPopoverActions(_ref2) {
@@ -24,6 +24,7 @@ export var DataGridCellPopoverContext = /*#__PURE__*/createContext({
24
24
  openCellPopover: function openCellPopover() {},
25
25
  closeCellPopover: function closeCellPopover() {},
26
26
  setPopoverAnchor: function setPopoverAnchor() {},
27
+ setPopoverAnchorPosition: function setPopoverAnchorPosition() {},
27
28
  setPopoverContent: function setPopoverContent() {},
28
29
  setCellPopoverProps: function setCellPopoverProps() {}
29
30
  });
@@ -46,15 +47,19 @@ export var useCellPopover = function useCellPopover() {
46
47
  _useState6 = _slicedToArray(_useState5, 2),
47
48
  popoverAnchor = _useState6[0],
48
49
  setPopoverAnchor = _useState6[1];
49
- var _useState7 = useState(),
50
+ var _useState7 = useState('downLeft'),
50
51
  _useState8 = _slicedToArray(_useState7, 2),
51
- popoverContent = _useState8[0],
52
- setPopoverContent = _useState8[1];
53
- // Allow customization of most (not all) popover props by consumers
54
- var _useState9 = useState({}),
52
+ popoverAnchorPosition = _useState8[0],
53
+ setPopoverAnchorPosition = _useState8[1];
54
+ var _useState9 = useState(),
55
55
  _useState10 = _slicedToArray(_useState9, 2),
56
- cellPopoverProps = _useState10[0],
57
- setCellPopoverProps = _useState10[1];
56
+ popoverContent = _useState10[0],
57
+ setPopoverContent = _useState10[1];
58
+ // Allow customization of most (not all) popover props by consumers
59
+ var _useState11 = useState({}),
60
+ _useState12 = _slicedToArray(_useState11, 2),
61
+ cellPopoverProps = _useState12[0],
62
+ setCellPopoverProps = _useState12[1];
58
63
  var closeCellPopover = useCallback(function () {
59
64
  return setPopoverIsOpen(false);
60
65
  }, []);
@@ -81,29 +86,57 @@ export var useCellPopover = function useCellPopover() {
81
86
  openCellPopover: openCellPopover,
82
87
  cellLocation: cellLocation,
83
88
  setPopoverAnchor: setPopoverAnchor,
89
+ setPopoverAnchorPosition: setPopoverAnchorPosition,
84
90
  setPopoverContent: setPopoverContent,
85
91
  setCellPopoverProps: setCellPopoverProps
86
92
  };
87
93
 
94
+ // Override the default EuiPopover `onClickOutside` behavior, since the toggling
95
+ // popover button isn't actually the DOM node we pass to `button`. Otherwise,
96
+ // clicking the expansion cell action triggers an outside click
97
+ var onClickOutside = useCallback(function (event) {
98
+ var _popoverAnchor$parent, _popoverAnchor$parent2;
99
+ var cellActions = popoverAnchor === null || popoverAnchor === void 0 ? void 0 : (_popoverAnchor$parent = popoverAnchor.parentElement) === null || _popoverAnchor$parent === void 0 ? void 0 : (_popoverAnchor$parent2 = _popoverAnchor$parent.parentElement) === null || _popoverAnchor$parent2 === void 0 ? void 0 : _popoverAnchor$parent2.previousElementSibling;
100
+ if (!(cellActions !== null && cellActions !== void 0 && cellActions.contains(event.target))) {
101
+ closeCellPopover();
102
+ }
103
+ }, [popoverAnchor, closeCellPopover]);
104
+
88
105
  // Note that this popover is rendered once at the top grid level, rather than one popover per cell
89
106
  var cellPopover = popoverIsOpen && popoverAnchor && ___EmotionJSX(EuiWrappingPopover, _extends({
90
107
  isOpen: popoverIsOpen,
91
108
  display: "block",
92
109
  hasArrow: false,
93
- panelPaddingSize: "s"
110
+ panelPaddingSize: "s",
111
+ anchorPosition: popoverAnchorPosition,
112
+ repositionToCrossAxis: false
94
113
  }, cellPopoverProps, {
114
+ focusTrapProps: {
115
+ onClickOutside: onClickOutside,
116
+ clickOutsideDisables: false
117
+ },
95
118
  panelProps: _objectSpread({
96
119
  'data-test-subj': 'euiDataGridExpansionPopover'
97
120
  }, cellPopoverProps.panelProps || {}),
98
121
  panelClassName: classNames('euiDataGridRowCell__popover', cellPopoverProps.panelClassName, (_cellPopoverProps$pan = cellPopoverProps.panelProps) === null || _cellPopoverProps$pan === void 0 ? void 0 : _cellPopoverProps$pan.className),
122
+ panelStyle: {
123
+ maxInlineSize: "min(75vw, max(".concat(popoverAnchor.parentElement.offsetWidth, "px, 400px))"),
124
+ maxBlockSize: '50vh'
125
+ },
99
126
  onKeyDown: function onKeyDown(event) {
100
127
  if (event.key === keys.F2 || event.key === keys.ESCAPE) {
128
+ var _popoverAnchor$parent3, _popoverAnchor$parent4;
101
129
  event.preventDefault();
102
130
  event.stopPropagation();
103
131
  closeCellPopover();
104
- // Ensure focus is returned to the parent cell
132
+ var cell = (_popoverAnchor$parent3 = popoverAnchor.parentElement) === null || _popoverAnchor$parent3 === void 0 ? void 0 : (_popoverAnchor$parent4 = _popoverAnchor$parent3.parentElement) === null || _popoverAnchor$parent4 === void 0 ? void 0 : _popoverAnchor$parent4.parentElement;
133
+
134
+ // Prevent cell animation flash while focus is being shifted between popover and cell
135
+ cell === null || cell === void 0 ? void 0 : cell.setAttribute('data-keyboard-closing', 'true');
136
+ // Ensure focus is returned to the parent cell, and remove animation stopgap
105
137
  requestAnimationFrame(function () {
106
- return popoverAnchor.parentElement.focus();
138
+ popoverAnchor.parentElement.focus();
139
+ cell === null || cell === void 0 ? void 0 : cell.removeAttribute('data-keyboard-closing');
107
140
  });
108
141
  }
109
142
  },
@@ -1,6 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
4
5
  /*
5
6
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
7
  * or more contributor license agreements. Licensed under the Elastic License
@@ -25,6 +26,14 @@ import { getColumnActions } from './column_actions';
25
26
  import { EuiDataGridColumnResizer } from './data_grid_column_resizer';
26
27
  import { EuiDataGridHeaderCellWrapper } from './data_grid_header_cell_wrapper';
27
28
  import { jsx as ___EmotionJSX } from "@emotion/react";
29
+ var _ref2 = process.env.NODE_ENV === "production" ? {
30
+ name: "mc0thx-EuiDataGridHeaderCell",
31
+ styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;"
32
+ } : {
33
+ name: "mc0thx-EuiDataGridHeaderCell",
34
+ styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;",
35
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
+ };
28
37
  export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
29
38
  var column = _ref.column,
30
39
  index = _ref.index,
@@ -67,6 +76,7 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
67
76
  setFocusedCell: setFocusedCell
68
77
  });
69
78
  var showColumnActions = columnActions && columnActions.length > 0;
79
+ var actionsButtonRef = useRef(null);
70
80
  var _useSortingUtils = useSortingUtils({
71
81
  sorting: sorting,
72
82
  id: id,
@@ -83,6 +93,10 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
83
93
  prefix: 'euiDataGridCellHeader',
84
94
  suffix: 'actions'
85
95
  });
96
+ var cellContent = ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", {
97
+ title: displayAsText || id,
98
+ className: "euiDataGridHeaderCell__content"
99
+ }, display || displayAsText || id), sortingArrow);
86
100
  return ___EmotionJSX(EuiDataGridHeaderCellWrapper, _extends({}, displayHeaderCellProps, {
87
101
  className: classes,
88
102
  id: id,
@@ -94,29 +108,36 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
94
108
  columnId: id,
95
109
  columnWidth: width,
96
110
  setColumnWidth: setColumnWidth
97
- }) : null, !showColumnActions ? ___EmotionJSX(React.Fragment, null, sortingArrow, ___EmotionJSX("div", {
98
- className: "euiDataGridHeaderCell__content",
99
- title: displayAsText || id
100
- }, display || displayAsText || id), sortingScreenReaderText && ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, sortingScreenReaderText))) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiPopover, _extends({
101
- className: "eui-fullWidth",
102
- anchorClassName: "eui-fullWidth",
111
+ }) : null, !showColumnActions ? ___EmotionJSX(React.Fragment, null, cellContent, sortingScreenReaderText && ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, sortingScreenReaderText))) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX("button", {
112
+ className: "euiDataGridHeaderCell__button",
113
+ onClick: function onClick() {
114
+ setFocusedCell([index, -1]);
115
+ setIsPopoverOpen(function (isPopoverOpen) {
116
+ return !isPopoverOpen;
117
+ });
118
+ },
119
+ "aria-describedby": "".concat(sortingAriaId, " ").concat(actionsAriaId),
120
+ ref: actionsButtonRef
121
+ }, cellContent, ___EmotionJSX(EuiPopover, _extends({
122
+ display: "block",
103
123
  panelPaddingSize: "none",
104
124
  offset: 7,
105
- button: ___EmotionJSX("button", {
106
- className: "euiDataGridHeaderCell__button",
107
- onClick: function onClick() {
108
- setFocusedCell([index, -1]);
109
- setIsPopoverOpen(function (isPopoverOpen) {
110
- return !isPopoverOpen;
111
- });
112
- },
113
- "aria-describedby": "".concat(sortingAriaId, " ").concat(actionsAriaId)
114
- }, sortingArrow, ___EmotionJSX("div", {
115
- className: "euiDataGridHeaderCell__content",
116
- title: displayAsText || id
117
- }, display || displayAsText || id), ___EmotionJSX(EuiIcon, {
118
- className: "euiDataGridHeaderCell__icon",
119
- type: "arrowDown",
125
+ anchorPosition: "downRight",
126
+ css: _ref2 // Align to right
127
+ ,
128
+ focusTrapProps: {
129
+ // We need to override the default EuiPopover `onClickOutside` since the anchor is separate from the actual button
130
+ onClickOutside: function onClickOutside(event) {
131
+ var _actionsButtonRef$cur;
132
+ if (((_actionsButtonRef$cur = actionsButtonRef.current) === null || _actionsButtonRef$cur === void 0 ? void 0 : _actionsButtonRef$cur.contains(event.target)) === false) {
133
+ setIsPopoverOpen(false);
134
+ }
135
+ }
136
+ },
137
+ button: ___EmotionJSX("div", {
138
+ className: "euiDataGridHeaderCell__icon"
139
+ }, ___EmotionJSX(EuiIcon, {
140
+ type: "boxesVertical",
120
141
  size: "s",
121
142
  color: "text",
122
143
  "data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
@@ -129,7 +150,7 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
129
150
  listItems: columnActions,
130
151
  gutterSize: "none",
131
152
  "data-test-subj": "dataGridHeaderCellActionGroup-".concat(id)
132
- })), ___EmotionJSX("p", {
153
+ }))), ___EmotionJSX("p", {
133
154
  id: sortingAriaId,
134
155
  hidden: true
135
156
  }, sortingScreenReaderText), ___EmotionJSX("p", {
@@ -144,11 +165,11 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
144
165
  /**
145
166
  * Column sorting utility helpers
146
167
  */
147
- export var useSortingUtils = function useSortingUtils(_ref2) {
168
+ export var useSortingUtils = function useSortingUtils(_ref3) {
148
169
  var _sorting$columns;
149
- var sorting = _ref2.sorting,
150
- id = _ref2.id,
151
- showColumnActions = _ref2.showColumnActions;
170
+ var sorting = _ref3.sorting,
171
+ id = _ref3.id,
172
+ showColumnActions = _ref3.showColumnActions;
152
173
  var sortedColumn = useMemo(function () {
153
174
  return sorting === null || sorting === void 0 ? void 0 : sorting.columns.find(function (col) {
154
175
  return col.id === id;
@@ -182,9 +203,9 @@ export var useSortingUtils = function useSortingUtils(_ref2) {
182
203
  var _sorting$columns2;
183
204
  if (!isColumnSorted) return null;
184
205
  if (!showColumnActions && hasOnlyOneSort) return null; // in this scenario, the `aria-sort` attribute will be used by screen readers
185
- return ___EmotionJSX(React.Fragment, null, sorting === null || sorting === void 0 ? void 0 : (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (_ref3, index) {
186
- var columnId = _ref3.id,
187
- direction = _ref3.direction;
206
+ return ___EmotionJSX(React.Fragment, null, sorting === null || sorting === void 0 ? void 0 : (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (_ref4, index) {
207
+ var columnId = _ref4.id,
208
+ direction = _ref4.direction;
188
209
  if (hasOnlyOneSort) {
189
210
  if (direction === 'asc') {
190
211
  return ___EmotionJSX(EuiI18n, {
@@ -20,6 +20,7 @@ import { EuiDragDropContext, EuiDraggable, EuiDroppable, euiDragDropReorder } fr
20
20
  import { EuiIcon } from '../../icon';
21
21
  import { useDependentState } from '../../../services';
22
22
  import { getNestedObjectOptions } from './data_grid_toolbar';
23
+ import { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
23
24
  import { jsx as ___EmotionJSX } from "@emotion/react";
24
25
  export var useDataGridColumnSelector = function useDataGridColumnSelector(availableColumns, columnVisibility, showColumnSelector, displayValues) {
25
26
  var allowColumnHiding = getNestedObjectOptions(showColumnSelector, 'allowHide');
@@ -63,9 +64,6 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
63
64
  _useState4 = _slicedToArray(_useState3, 2),
64
65
  columnSearchText = _useState4[0],
65
66
  setColumnSearchText = _useState4[1];
66
- var controlBtnClasses = classNames('euiDataGrid__controlBtn', {
67
- 'euiDataGrid__controlBtn--active': numberOfHiddenFields > 0
68
- });
69
67
  var filteredColumns = useMemo(function () {
70
68
  return sortedColumns.filter(function (id) {
71
69
  return (displayValues[id] || id).toLowerCase().indexOf(columnSearchText.toLowerCase()) !== -1;
@@ -77,23 +75,17 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
77
75
  token: "euiColumnSelector.button",
78
76
  default: "Columns"
79
77
  });
80
- if (numberOfHiddenFields === 1) {
81
- buttonText = ___EmotionJSX(EuiI18n, {
82
- token: "euiColumnSelector.buttonActiveSingular",
83
- default: "{numberOfHiddenFields} column hidden",
84
- values: {
85
- numberOfHiddenFields: numberOfHiddenFields
86
- }
87
- });
88
- } else if (numberOfHiddenFields > 1) {
89
- buttonText = ___EmotionJSX(EuiI18n, {
90
- token: "euiColumnSelector.buttonActivePlural",
91
- default: "{numberOfHiddenFields} columns hidden",
92
- values: {
93
- numberOfHiddenFields: numberOfHiddenFields
94
- }
78
+ var orderedVisibleColumns = useMemo(function () {
79
+ return visibleColumns.map(function (columnId) {
80
+ return availableColumns.find(function (_ref3) {
81
+ var id = _ref3.id;
82
+ return id === columnId;
83
+ });
84
+ } // cast to avoid `undefined`, it filters those out next
85
+ ).filter(function (column) {
86
+ return column != null;
95
87
  });
96
- }
88
+ }, [availableColumns, visibleColumns]);
97
89
  var columnSelector = allowColumnHiding || allowColumnReorder ? ___EmotionJSX(EuiPopover, {
98
90
  "data-test-subj": "dataGridColumnSelectorPopover",
99
91
  isOpen: isOpen,
@@ -103,23 +95,21 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
103
95
  anchorPosition: "downLeft",
104
96
  panelPaddingSize: "s",
105
97
  hasDragDrop: true,
106
- button: ___EmotionJSX(EuiButtonEmpty, {
107
- size: "xs",
108
- iconType: allowColumnHiding ? 'listAdd' : 'list',
109
- color: "text",
110
- className: controlBtnClasses,
98
+ button: ___EmotionJSX(EuiDataGridToolbarControl, {
99
+ badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(availableColumns.length) : availableColumns.length,
100
+ iconType: "tableDensityNormal",
111
101
  "data-test-subj": "dataGridColumnSelectorButton",
112
102
  onClick: function onClick() {
113
103
  return setIsOpen(!isOpen);
114
104
  }
115
105
  }, buttonText)
116
- }, ___EmotionJSX("div", null, allowColumnHiding && ___EmotionJSX(EuiPopoverTitle, null, ___EmotionJSX(EuiI18n, {
106
+ }, allowColumnHiding && ___EmotionJSX(EuiPopoverTitle, null, ___EmotionJSX(EuiI18n, {
117
107
  tokens: ['euiColumnSelector.search', 'euiColumnSelector.searchcolumns'],
118
108
  defaults: ['Search', 'Search columns']
119
- }, function (_ref3) {
120
- var _ref4 = _slicedToArray(_ref3, 2),
121
- search = _ref4[0],
122
- searchcolumns = _ref4[1];
109
+ }, function (_ref4) {
110
+ var _ref5 = _slicedToArray(_ref4, 2),
111
+ search = _ref5[0],
112
+ searchcolumns = _ref5[1];
123
113
  return ___EmotionJSX(EuiFieldText, {
124
114
  compressed: true,
125
115
  placeholder: search,
@@ -130,13 +120,12 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
130
120
  },
131
121
  "data-test-subj": "dataGridColumnSelectorSearch"
132
122
  });
133
- })), ___EmotionJSX("div", {
134
- className: "euiDataGrid__controlScroll"
135
- }, ___EmotionJSX(EuiDragDropContext, {
123
+ })), ___EmotionJSX(EuiDragDropContext, {
136
124
  onDragEnd: onDragEnd
137
125
  }, ___EmotionJSX(EuiDroppable, {
138
126
  droppableId: "columnOrder",
139
- isDropDisabled: !isDragEnabled
127
+ isDropDisabled: !isDragEnabled,
128
+ className: "euiDataGrid__controlScroll"
140
129
  }, ___EmotionJSX(React.Fragment, null, filteredColumns.map(function (id, index) {
141
130
  return ___EmotionJSX(EuiDraggable, {
142
131
  key: id,
@@ -189,7 +178,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
189
178
  color: "subdued"
190
179
  }))));
191
180
  });
192
- })))))), allowColumnHiding && ___EmotionJSX(EuiPopoverFooter, null, ___EmotionJSX(EuiFlexGroup, {
181
+ })))), allowColumnHiding && ___EmotionJSX(EuiPopoverFooter, null, ___EmotionJSX(EuiFlexGroup, {
193
182
  gutterSize: "s",
194
183
  responsive: false,
195
184
  justifyContent: "spaceBetween"
@@ -218,17 +207,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
218
207
  token: "euiColumnSelector.hideAll",
219
208
  default: "Hide all"
220
209
  })))))) : null;
221
- var orderedVisibleColumns = useMemo(function () {
222
- return visibleColumns.map(function (columnId) {
223
- return availableColumns.find(function (_ref5) {
224
- var id = _ref5.id;
225
- return id === columnId;
226
- });
227
- } // cast to avoid `undefined`, it filters those out next
228
- ).filter(function (column) {
229
- return column != null;
230
- });
231
- }, [availableColumns, visibleColumns]);
210
+
232
211
  /**
233
212
  * Used for moving columns left/right, available in the headers actions menu
234
213
  */
@@ -8,8 +8,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
8
  * Side Public License, v 1.
9
9
  */
10
10
 
11
- import classNames from 'classnames';
12
- import React, { Fragment, useEffect, useState } from 'react';
11
+ import React, { useEffect, useState } from 'react';
13
12
  import { EuiButtonEmpty } from '../../button';
14
13
  import { EuiDragDropContext, euiDragDropReorder, EuiDroppable } from '../../drag_and_drop';
15
14
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
@@ -17,6 +16,7 @@ import { EuiI18n, useEuiI18n } from '../../i18n';
17
16
  import { EuiPopover, EuiPopoverFooter } from '../../popover';
18
17
  import { EuiText } from '../../text';
19
18
  import { EuiToken } from '../../token';
19
+ import { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
20
20
  import { EuiDataGridColumnSortingDraggable } from './column_sorting_draggable';
21
21
  import { getDetailsForSchema } from '../utils/data_grid_schema';
22
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -51,15 +51,9 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
51
51
  }
52
52
  }, [columns, sorting]);
53
53
  var sortingButtonText = useEuiI18n('euiColumnSorting.button', 'Sort fields');
54
- var sortingButtonTextActive = useEuiI18n('euiColumnSorting.buttonActive', function (_ref2) {
55
- var numberOfSortedFields = _ref2.numberOfSortedFields;
56
- return "".concat(numberOfSortedFields, " field").concat(numberOfSortedFields === 1 ? '' : 's', " sorted");
57
- }, {
58
- numberOfSortedFields: sorting != null ? sorting.columns.length : 0
59
- });
60
54
  if (sorting == null) return null;
61
- var activeColumnIds = new Set(sorting.columns.map(function (_ref3) {
62
- var id = _ref3.id;
55
+ var activeColumnIds = new Set(sorting.columns.map(function (_ref2) {
56
+ var id = _ref2.id;
63
57
  return id;
64
58
  }));
65
59
  var _columns$reduce = columns.reduce(function (acc, column) {
@@ -74,24 +68,21 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
74
68
  inactiveColumns: []
75
69
  }),
76
70
  inactiveColumns = _columns$reduce.inactiveColumns;
77
- var onDragEnd = function onDragEnd(_ref4) {
78
- var sourceIndex = _ref4.source.index,
79
- destination = _ref4.destination;
71
+ var onDragEnd = function onDragEnd(_ref3) {
72
+ var sourceIndex = _ref3.source.index,
73
+ destination = _ref3.destination;
80
74
  if (destination) {
81
75
  var destinationIndex = destination.index;
82
76
  var nextColumns = euiDragDropReorder(sorting.columns, sourceIndex, destinationIndex);
83
77
  sorting.onSort(nextColumns);
84
78
  }
85
79
  };
86
- var controlBtnClasses = classNames('euiDataGrid__controlBtn', {
87
- 'euiDataGrid__controlBtn--active': sorting.columns.length > 0
88
- });
89
80
  var schemaDetails = function schemaDetails(id) {
90
81
  return schema.hasOwnProperty(id) && schema[id].columnType != null ? getDetailsForSchema(schemaDetectors, schema[id].columnType) : null;
91
82
  };
92
- var inactiveSortableColumns = inactiveColumns.filter(function (_ref5) {
93
- var id = _ref5.id,
94
- isSortable = _ref5.isSortable;
83
+ var inactiveSortableColumns = inactiveColumns.filter(function (_ref4) {
84
+ var id = _ref4.id,
85
+ isSortable = _ref4.isSortable;
95
86
  var schemaDetail = schemaDetails(id);
96
87
  var sortable = true;
97
88
  if (isSortable != null) {
@@ -110,27 +101,22 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
110
101
  anchorPosition: "downLeft",
111
102
  panelPaddingSize: "s",
112
103
  hasDragDrop: true,
113
- button: ___EmotionJSX(EuiButtonEmpty, {
114
- size: "xs",
104
+ button: ___EmotionJSX(EuiDataGridToolbarControl, {
105
+ badgeContent: sorting.columns.length,
115
106
  iconType: "sortable",
116
- color: "text",
117
- className: controlBtnClasses,
118
107
  "data-test-subj": "dataGridColumnSortingButton",
119
108
  onClick: function onClick() {
120
109
  return setIsOpen(!isOpen);
121
110
  }
122
- }, sorting.columns.length > 0 ? sortingButtonTextActive : sortingButtonText)
123
- }, sorting.columns.length > 0 ? ___EmotionJSX("div", {
124
- role: "region",
125
- "aria-live": "assertive",
126
- className: "euiDataGrid__controlScroll"
127
- }, ___EmotionJSX(EuiDragDropContext, {
111
+ }, sortingButtonText)
112
+ }, sorting.columns.length > 0 ? ___EmotionJSX(EuiDragDropContext, {
128
113
  onDragEnd: onDragEnd
129
114
  }, ___EmotionJSX(EuiDroppable, {
130
- droppableId: "columnSorting"
131
- }, ___EmotionJSX(Fragment, null, sorting.columns.map(function (_ref6, index) {
132
- var id = _ref6.id,
133
- direction = _ref6.direction;
115
+ droppableId: "columnSorting",
116
+ className: "euiDataGrid__controlScroll"
117
+ }, ___EmotionJSX(React.Fragment, null, sorting.columns.map(function (_ref5, index) {
118
+ var id = _ref5.id,
119
+ direction = _ref5.direction;
134
120
  return ___EmotionJSX(EuiDataGridColumnSortingDraggable, {
135
121
  key: id,
136
122
  id: id,
@@ -141,7 +127,7 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
141
127
  schema: schema,
142
128
  schemaDetectors: schemaDetectors
143
129
  });
144
- }))))) : ___EmotionJSX(EuiText, {
130
+ })))) : ___EmotionJSX(EuiText, {
145
131
  size: "s",
146
132
  color: "subdued"
147
133
  }, ___EmotionJSX("p", {
@@ -183,9 +169,9 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
183
169
  return ___EmotionJSX("div", {
184
170
  className: "euiDataGridColumnSorting__fieldList",
185
171
  role: "listbox"
186
- }, inactiveSortableColumns.map(function (_ref7) {
187
- var id = _ref7.id,
188
- defaultSortDirection = _ref7.defaultSortDirection;
172
+ }, inactiveSortableColumns.map(function (_ref6) {
173
+ var id = _ref6.id,
174
+ defaultSortDirection = _ref6.defaultSortDirection;
189
175
  return ___EmotionJSX("button", {
190
176
  key: id,
191
177
  className: "euiDataGridColumnSorting__field",
@@ -0,0 +1,70 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["children", "className", "badgeContent", "textProps"];
4
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
5
+ /*
6
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
+ * or more contributor license agreements. Licensed under the Elastic License
8
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
9
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
10
+ * Side Public License, v 1.
11
+ */
12
+
13
+ import React from 'react';
14
+ import classNames from 'classnames';
15
+ import { css } from '@emotion/react';
16
+ import { EuiButtonEmpty } from '../../button';
17
+ import { EuiNotificationBadge } from '../../badge';
18
+ import { useEuiI18n } from '../../i18n';
19
+ import { jsx as ___EmotionJSX } from "@emotion/react";
20
+ var _ref = process.env.NODE_ENV === "production" ? {
21
+ name: "1vci2nd-EuiDataGridToolbarControl",
22
+ styles: "cursor:inherit;label:EuiDataGridToolbarControl;"
23
+ } : {
24
+ name: "1vci2nd-EuiDataGridToolbarControl",
25
+ styles: "cursor:inherit;label:EuiDataGridToolbarControl;",
26
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
27
+ };
28
+ var _ref2 = process.env.NODE_ENV === "production" ? {
29
+ name: "8fsqop-EuiDataGridToolbarControl",
30
+ styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:EuiDataGridToolbarControl;"
31
+ } : {
32
+ name: "8fsqop-EuiDataGridToolbarControl",
33
+ styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:EuiDataGridToolbarControl;",
34
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
35
+ };
36
+ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref3) {
37
+ var children = _ref3.children,
38
+ className = _ref3.className,
39
+ badgeContent = _ref3.badgeContent,
40
+ textProps = _ref3.textProps,
41
+ rest = _objectWithoutProperties(_ref3, _excluded);
42
+ var classes = classNames('euiDataGridToolbarControl', className);
43
+ var badgeAriaLabel = useEuiI18n('euiDataGridToolbarControl.badgeAriaLabel', 'Active: {count}', {
44
+ count: typeof badgeContent === 'string' ? betterScreenReaderSlashes(badgeContent) : badgeContent
45
+ });
46
+ return ___EmotionJSX(EuiButtonEmpty, _extends({
47
+ className: classes,
48
+ size: "xs",
49
+ color: "text",
50
+ textProps: false
51
+ // Underline actual text, but not the badge
52
+ ,
53
+ css: _ref2
54
+ }, rest), ___EmotionJSX("span", _extends({}, textProps, {
55
+ className: classNames('euiDataGridToolbarControl__text', 'eui-textTruncate', textProps && textProps.className)
56
+ }), children), Boolean(badgeContent) && ___EmotionJSX(EuiNotificationBadge, {
57
+ className: "euiDataGridToolbarControl__badge",
58
+ css: _ref,
59
+ color: "subdued",
60
+ "aria-label": "- ".concat(badgeAriaLabel) // Punctuation helps add pauses for screen readers
61
+ ,
62
+ role: "marquee" // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/marquee_role
63
+ }, badgeContent));
64
+ };
65
+
66
+ // The columns control specifically passes (e.g.) `5/10` when some columns
67
+ // are being hidden. We can make this a bit more legible to SRs with this quick util
68
+ var betterScreenReaderSlashes = function betterScreenReaderSlashes(badgeContent) {
69
+ return badgeContent.replaceAll('/', ' out of ');
70
+ };