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