@elastic/eui 91.0.0 → 91.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/dist/eui_theme_dark.css +191 -124
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +191 -124
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accordion/accordion.a11y.js +1 -3
  6. package/es/components/avatar/avatar.js +1 -1
  7. package/es/components/badge/badge.js +1 -1
  8. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  9. package/es/components/basic_table/action_types.js +5 -0
  10. package/es/components/basic_table/basic_table.a11y.js +1 -2
  11. package/es/components/basic_table/basic_table.js +9 -9
  12. package/es/components/basic_table/collapsed_item_actions.js +120 -249
  13. package/es/components/basic_table/custom_item_action.js +9 -95
  14. package/es/components/basic_table/default_item_action.js +23 -14
  15. package/es/components/basic_table/in_memory_table.a11y.js +13 -11
  16. package/es/components/basic_table/in_memory_table.js +9 -9
  17. package/es/components/breadcrumbs/breadcrumb.js +11 -7
  18. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  19. package/es/components/button/button_display/_button_display.js +6 -4
  20. package/es/components/button/button_display/_button_display_content.js +9 -5
  21. package/es/components/button/button_empty/button_empty.js +10 -8
  22. package/es/components/button/button_group/button_group.js +6 -4
  23. package/es/components/button/button_group/button_group_button.js +6 -4
  24. package/es/components/button/button_icon/button_icon.js +1 -1
  25. package/es/components/call_out/call_out.js +1 -1
  26. package/es/components/card/card.a11y.js +5 -18
  27. package/es/components/card/card.js +1 -1
  28. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  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 +1 -101
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +21 -59
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +91 -39
  35. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +69 -83
  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 +7 -90
  40. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +154 -134
  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 +1 -1
  43. package/es/components/comment_list/comment.js +2 -2
  44. package/es/components/comment_list/comment_event.js +1 -1
  45. package/es/components/comment_list/comment_list.js +2 -2
  46. package/es/components/comment_list/comment_timeline.js +1 -1
  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/datagrid/body/data_grid_body.js +29 -19
  50. package/es/components/datagrid/body/data_grid_body_custom.js +29 -19
  51. package/es/components/datagrid/body/data_grid_body_virtualized.js +29 -19
  52. package/es/components/datagrid/body/data_grid_cell.js +91 -68
  53. package/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  54. package/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  55. package/es/components/datagrid/body/header/data_grid_header_cell.js +77 -46
  56. package/es/components/datagrid/body/header/data_grid_header_row.js +29 -19
  57. package/es/components/datagrid/controls/column_selector.js +19 -39
  58. package/es/components/datagrid/controls/column_sorting.js +18 -29
  59. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  60. package/es/components/datagrid/controls/data_grid_toolbar_control.js +154 -0
  61. package/es/components/datagrid/controls/display_selector.js +0 -1
  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/index.js +1 -1
  65. package/es/components/datagrid/utils/in_memory.js +28 -18
  66. package/es/components/datagrid/utils/row_heights.js +1 -1
  67. package/es/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  68. package/es/components/date_picker/date_picker.js +2 -2
  69. package/es/components/date_picker/date_picker_range.js +1 -1
  70. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  71. package/es/components/empty_prompt/empty_prompt.js +1 -1
  72. package/es/components/error_boundary/error_boundary.a11y.js +1 -1
  73. package/es/components/expression/expression.a11y.js +2 -4
  74. package/es/components/facet/facet_button.js +6 -4
  75. package/es/components/filter_group/filter_button.js +2 -2
  76. package/es/components/focus_trap/focus_trap.a11y.js +3 -3
  77. package/es/components/form/field_number/field_number.js +1 -1
  78. package/es/components/form/field_text/field_text.js +2 -2
  79. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  80. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  81. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  82. package/es/components/form/range/range.a11y.js +5 -10
  83. package/es/components/form/super_select/super_select.js +3 -2
  84. package/es/components/form/super_select/super_select_control.js +13 -20
  85. package/es/components/header/header.a11y.js +1 -1
  86. package/es/components/header/header_links/header_link.js +8 -6
  87. package/es/components/header/header_links/header_links.js +1 -1
  88. package/es/components/header/header_logo/header_logo.js +1 -1
  89. package/es/components/header/header_section/header_section_item_button.js +8 -6
  90. package/es/components/icon/assets/endpoint.js +37 -0
  91. package/es/components/icon/icon.js +1 -1
  92. package/es/components/icon/icon_map.js +1 -0
  93. package/es/components/image/image.a11y.js +1 -2
  94. package/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  95. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  96. package/es/components/link/external_link_icon.js +51 -0
  97. package/es/components/link/link.js +6 -20
  98. package/es/components/link/link.styles.js +2 -5
  99. package/es/components/list_group/list_group.js +8 -3
  100. package/es/components/list_group/list_group_item.js +16 -6
  101. package/es/components/list_group/list_group_item.styles.js +2 -1
  102. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  103. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -6
  104. package/es/components/loading/loading_logo.js +1 -1
  105. package/es/components/markdown_editor/markdown_editor.js +1 -1
  106. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  107. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  108. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  109. package/es/components/notification/notification_event.a11y.js +1 -2
  110. package/es/components/notification/notification_event.js +9 -7
  111. package/es/components/notification/notification_event_meta.js +1 -1
  112. package/es/components/page/page_header/page_header_content.js +1 -1
  113. package/es/components/pagination/pagination_button.js +8 -6
  114. package/es/components/popover/popover.js +4 -1
  115. package/es/components/resizable_container/resizable_container.a11y.js +4 -8
  116. package/es/components/search_bar/search_bar.a11y.js +3 -6
  117. package/es/components/selectable/selectable.js +16 -1
  118. package/es/components/selectable/selectable_list/selectable_list.js +233 -79
  119. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  120. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -2
  121. package/es/components/table/table_header_button.js +1 -1
  122. package/es/components/text/text.styles.js +2 -2
  123. package/es/components/text_truncate/text_truncate.js +33 -10
  124. package/es/components/timeline/timeline_item_icon.js +1 -1
  125. package/es/components/toast/global_toast_list.js +1 -1
  126. package/es/components/toast/toast.js +1 -1
  127. package/es/components/tool_tip/icon_tip.js +1 -1
  128. package/eui.d.ts +480 -138
  129. package/i18ntokens.json +224 -260
  130. package/lib/components/accordion/accordion.a11y.js +1 -3
  131. package/lib/components/avatar/avatar.js +1 -1
  132. package/lib/components/badge/badge.js +1 -1
  133. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  134. package/lib/components/basic_table/action_types.js +8 -2
  135. package/lib/components/basic_table/basic_table.a11y.js +1 -2
  136. package/lib/components/basic_table/basic_table.js +9 -9
  137. package/lib/components/basic_table/collapsed_item_actions.js +128 -257
  138. package/lib/components/basic_table/custom_item_action.js +18 -104
  139. package/lib/components/basic_table/default_item_action.js +23 -14
  140. package/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  141. package/lib/components/basic_table/in_memory_table.js +9 -9
  142. package/lib/components/breadcrumbs/breadcrumb.js +11 -7
  143. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  144. package/lib/components/button/button_display/_button_display.js +6 -4
  145. package/lib/components/button/button_display/_button_display_content.js +9 -5
  146. package/lib/components/button/button_empty/button_empty.js +10 -8
  147. package/lib/components/button/button_group/button_group.js +6 -4
  148. package/lib/components/button/button_group/button_group_button.js +6 -4
  149. package/lib/components/button/button_icon/button_icon.js +1 -1
  150. package/lib/components/call_out/call_out.js +1 -1
  151. package/lib/components/card/card.a11y.js +5 -18
  152. package/lib/components/card/card.js +1 -1
  153. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  154. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  155. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  156. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  157. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  158. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +21 -59
  159. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +91 -39
  160. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +68 -82
  161. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  162. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -104
  163. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  164. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  165. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +154 -134
  166. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  167. package/lib/components/combo_box/combo_box.js +1 -1
  168. package/lib/components/comment_list/comment.js +2 -2
  169. package/lib/components/comment_list/comment_event.js +1 -1
  170. package/lib/components/comment_list/comment_list.js +2 -2
  171. package/lib/components/comment_list/comment_timeline.js +1 -1
  172. package/lib/components/context_menu/context_menu_item.js +16 -8
  173. package/lib/components/context_menu/context_menu_item.styles.js +1 -1
  174. package/lib/components/datagrid/body/data_grid_body.js +29 -19
  175. package/lib/components/datagrid/body/data_grid_body_custom.js +29 -19
  176. package/lib/components/datagrid/body/data_grid_body_virtualized.js +29 -19
  177. package/lib/components/datagrid/body/data_grid_cell.js +91 -68
  178. package/lib/components/datagrid/body/data_grid_cell_actions.js +12 -13
  179. package/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  180. package/lib/components/datagrid/body/header/data_grid_header_cell.js +77 -46
  181. package/lib/components/datagrid/body/header/data_grid_header_row.js +29 -19
  182. package/lib/components/datagrid/controls/column_selector.js +19 -39
  183. package/lib/components/datagrid/controls/column_sorting.js +18 -30
  184. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  185. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +159 -0
  186. package/lib/components/datagrid/controls/display_selector.js +0 -1
  187. package/lib/components/datagrid/controls/fullscreen_selector.js +2 -7
  188. package/lib/components/datagrid/controls/index.js +8 -1
  189. package/lib/components/datagrid/index.js +8 -1
  190. package/lib/components/datagrid/utils/in_memory.js +28 -18
  191. package/lib/components/datagrid/utils/row_heights.js +1 -1
  192. package/lib/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  193. package/lib/components/date_picker/date_picker.js +2 -2
  194. package/lib/components/date_picker/date_picker_range.js +1 -1
  195. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  196. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  197. package/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  198. package/lib/components/expression/expression.a11y.js +2 -4
  199. package/lib/components/facet/facet_button.js +6 -4
  200. package/lib/components/filter_group/filter_button.js +2 -2
  201. package/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  202. package/lib/components/form/field_number/field_number.js +1 -1
  203. package/lib/components/form/field_text/field_text.js +2 -2
  204. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  205. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  206. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  207. package/lib/components/form/range/range.a11y.js +5 -10
  208. package/lib/components/form/super_select/super_select.js +3 -2
  209. package/lib/components/form/super_select/super_select_control.js +12 -19
  210. package/lib/components/header/header.a11y.js +1 -1
  211. package/lib/components/header/header_links/header_link.js +8 -6
  212. package/lib/components/header/header_links/header_links.js +1 -1
  213. package/lib/components/header/header_logo/header_logo.js +1 -1
  214. package/lib/components/header/header_section/header_section_item_button.js +8 -6
  215. package/lib/components/icon/assets/endpoint.js +45 -0
  216. package/lib/components/icon/icon.js +1 -1
  217. package/lib/components/icon/icon_map.js +1 -0
  218. package/lib/components/icon/svgs/endpoint.svg +4 -0
  219. package/lib/components/image/image.a11y.js +1 -2
  220. package/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  221. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  222. package/lib/components/link/external_link_icon.js +57 -0
  223. package/lib/components/link/link.js +6 -20
  224. package/lib/components/link/link.styles.js +1 -4
  225. package/lib/components/list_group/list_group.js +8 -3
  226. package/lib/components/list_group/list_group_item.js +16 -6
  227. package/lib/components/list_group/list_group_item.styles.js +2 -1
  228. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  229. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -6
  230. package/lib/components/loading/loading_logo.js +1 -1
  231. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  232. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  233. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  234. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  235. package/lib/components/notification/notification_event.a11y.js +1 -2
  236. package/lib/components/notification/notification_event.js +9 -7
  237. package/lib/components/notification/notification_event_meta.js +1 -1
  238. package/lib/components/page/page_header/page_header_content.js +1 -1
  239. package/lib/components/popover/popover.js +4 -1
  240. package/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  241. package/lib/components/search_bar/search_bar.a11y.js +3 -6
  242. package/lib/components/selectable/selectable.js +16 -1
  243. package/lib/components/selectable/selectable_list/selectable_list.js +233 -79
  244. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  245. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -2
  246. package/lib/components/table/table_header_button.js +1 -1
  247. package/lib/components/text/text.styles.js +2 -2
  248. package/lib/components/text_truncate/text_truncate.js +32 -9
  249. package/lib/components/timeline/timeline_item_icon.js +1 -1
  250. package/lib/components/toast/global_toast_list.js +1 -1
  251. package/lib/components/toast/toast.js +1 -1
  252. package/lib/components/tool_tip/icon_tip.js +1 -1
  253. package/optimize/es/components/accordion/accordion.a11y.js +1 -3
  254. package/optimize/es/components/basic_table/action_types.js +5 -0
  255. package/optimize/es/components/basic_table/basic_table.a11y.js +1 -2
  256. package/optimize/es/components/basic_table/collapsed_item_actions.js +116 -169
  257. package/optimize/es/components/basic_table/custom_item_action.js +10 -83
  258. package/optimize/es/components/basic_table/default_item_action.js +23 -14
  259. package/optimize/es/components/basic_table/in_memory_table.a11y.js +13 -11
  260. package/optimize/es/components/breadcrumbs/breadcrumb.js +11 -7
  261. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  262. package/optimize/es/components/button/button_display/_button_display_content.js +3 -1
  263. package/optimize/es/components/button/button_empty/button_empty.js +2 -2
  264. package/optimize/es/components/card/card.a11y.js +5 -18
  265. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  266. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  267. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  268. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  269. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  270. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  271. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  272. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
  273. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  274. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -10
  275. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  276. package/optimize/es/components/context_menu/context_menu_item.js +9 -6
  277. package/optimize/es/components/context_menu/context_menu_item.styles.js +1 -1
  278. package/optimize/es/components/datagrid/body/data_grid_cell.js +38 -30
  279. package/optimize/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  280. package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  281. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +49 -28
  282. package/optimize/es/components/datagrid/controls/column_selector.js +19 -39
  283. package/optimize/es/components/datagrid/controls/column_sorting.js +18 -29
  284. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +70 -0
  285. package/optimize/es/components/datagrid/controls/display_selector.js +0 -1
  286. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  287. package/optimize/es/components/datagrid/controls/index.js +2 -1
  288. package/optimize/es/components/datagrid/index.js +1 -1
  289. package/optimize/es/components/datagrid/utils/row_heights.js +1 -1
  290. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  291. package/optimize/es/components/error_boundary/error_boundary.a11y.js +1 -1
  292. package/optimize/es/components/expression/expression.a11y.js +2 -4
  293. package/optimize/es/components/filter_group/filter_button.js +2 -2
  294. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -3
  295. package/optimize/es/components/form/range/range.a11y.js +5 -10
  296. package/optimize/es/components/form/super_select/super_select.js +3 -2
  297. package/optimize/es/components/form/super_select/super_select_control.js +13 -20
  298. package/optimize/es/components/header/header.a11y.js +1 -1
  299. package/optimize/es/components/icon/assets/endpoint.js +36 -0
  300. package/optimize/es/components/icon/icon_map.js +1 -0
  301. package/optimize/es/components/image/image.a11y.js +1 -2
  302. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  303. package/optimize/es/components/link/external_link_icon.js +41 -0
  304. package/optimize/es/components/link/link.js +6 -20
  305. package/optimize/es/components/link/link.styles.js +2 -5
  306. package/optimize/es/components/list_group/list_group_item.js +8 -3
  307. package/optimize/es/components/list_group/list_group_item.styles.js +2 -1
  308. package/optimize/es/components/notification/notification_event.a11y.js +1 -2
  309. package/optimize/es/components/popover/popover.js +4 -1
  310. package/optimize/es/components/resizable_container/resizable_container.a11y.js +4 -8
  311. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -6
  312. package/optimize/es/components/selectable/selectable_list/selectable_list.js +204 -76
  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/lib/components/accordion/accordion.a11y.js +1 -3
  316. package/optimize/lib/components/basic_table/action_types.js +8 -2
  317. package/optimize/lib/components/basic_table/basic_table.a11y.js +1 -2
  318. package/optimize/lib/components/basic_table/collapsed_item_actions.js +123 -174
  319. package/optimize/lib/components/basic_table/custom_item_action.js +17 -91
  320. package/optimize/lib/components/basic_table/default_item_action.js +23 -14
  321. package/optimize/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  322. package/optimize/lib/components/breadcrumbs/breadcrumb.js +11 -7
  323. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  324. package/optimize/lib/components/button/button_display/_button_display_content.js +3 -1
  325. package/optimize/lib/components/button/button_empty/button_empty.js +2 -2
  326. package/optimize/lib/components/card/card.a11y.js +5 -18
  327. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  328. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  329. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  330. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  331. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  332. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  333. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  334. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
  335. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  336. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -10
  337. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  338. package/optimize/lib/components/context_menu/context_menu_item.js +9 -6
  339. package/optimize/lib/components/context_menu/context_menu_item.styles.js +1 -1
  340. package/optimize/lib/components/datagrid/body/data_grid_cell.js +38 -30
  341. package/optimize/lib/components/datagrid/body/data_grid_cell_actions.js +12 -12
  342. package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  343. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +55 -36
  344. package/optimize/lib/components/datagrid/controls/column_selector.js +19 -39
  345. package/optimize/lib/components/datagrid/controls/column_sorting.js +18 -29
  346. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +75 -0
  347. package/optimize/lib/components/datagrid/controls/display_selector.js +0 -1
  348. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +2 -6
  349. package/optimize/lib/components/datagrid/controls/index.js +8 -1
  350. package/optimize/lib/components/datagrid/index.js +8 -1
  351. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  352. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  353. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  354. package/optimize/lib/components/expression/expression.a11y.js +2 -4
  355. package/optimize/lib/components/filter_group/filter_button.js +2 -2
  356. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  357. package/optimize/lib/components/form/range/range.a11y.js +5 -10
  358. package/optimize/lib/components/form/super_select/super_select.js +3 -2
  359. package/optimize/lib/components/form/super_select/super_select_control.js +12 -19
  360. package/optimize/lib/components/header/header.a11y.js +1 -1
  361. package/optimize/lib/components/icon/assets/endpoint.js +45 -0
  362. package/optimize/lib/components/icon/icon_map.js +1 -0
  363. package/optimize/lib/components/icon/svgs/endpoint.svg +4 -0
  364. package/optimize/lib/components/image/image.a11y.js +1 -2
  365. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  366. package/optimize/lib/components/link/external_link_icon.js +47 -0
  367. package/optimize/lib/components/link/link.js +6 -20
  368. package/optimize/lib/components/link/link.styles.js +1 -4
  369. package/optimize/lib/components/list_group/list_group_item.js +8 -3
  370. package/optimize/lib/components/list_group/list_group_item.styles.js +2 -1
  371. package/optimize/lib/components/notification/notification_event.a11y.js +1 -2
  372. package/optimize/lib/components/popover/popover.js +4 -1
  373. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  374. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -6
  375. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +204 -76
  376. package/optimize/lib/components/text/text.styles.js +2 -2
  377. package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
  378. package/package.json +6 -7
  379. package/src/components/datagrid/_data_grid_data_row.scss +139 -100
  380. package/src/components/datagrid/_mixins.scss +2 -2
  381. package/src/components/datagrid/body/header/_data_grid_header_row.scss +36 -28
  382. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -5
  383. package/src/components/form/form_row/_form_row.scss +1 -1
  384. package/src/components/table/_responsive.scss +19 -0
  385. package/src/components/table/_table.scss +4 -9
  386. package/test-env/components/accordion/accordion.a11y.js +1 -3
  387. package/test-env/components/auto_sizer/auto_sizer.js +10 -3
  388. package/test-env/components/avatar/avatar.js +1 -1
  389. package/test-env/components/badge/badge.js +1 -1
  390. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  391. package/test-env/components/basic_table/action_types.js +8 -2
  392. package/test-env/components/basic_table/basic_table.a11y.js +1 -2
  393. package/test-env/components/basic_table/basic_table.js +9 -9
  394. package/test-env/components/basic_table/collapsed_item_actions.js +124 -251
  395. package/test-env/components/basic_table/custom_item_action.js +18 -100
  396. package/test-env/components/basic_table/default_item_action.js +23 -14
  397. package/test-env/components/basic_table/in_memory_table.a11y.js +13 -11
  398. package/test-env/components/basic_table/in_memory_table.js +9 -9
  399. package/test-env/components/breadcrumbs/breadcrumb.js +11 -7
  400. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -0
  401. package/test-env/components/button/button_display/_button_display.js +6 -4
  402. package/test-env/components/button/button_display/_button_display_content.js +9 -5
  403. package/test-env/components/button/button_empty/button_empty.js +10 -8
  404. package/test-env/components/button/button_group/button_group.js +6 -4
  405. package/test-env/components/button/button_group/button_group_button.js +6 -4
  406. package/test-env/components/button/button_icon/button_icon.js +1 -1
  407. package/test-env/components/call_out/call_out.js +1 -1
  408. package/test-env/components/card/card.a11y.js +5 -18
  409. package/test-env/components/card/card.js +1 -1
  410. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  411. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  412. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  413. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  414. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  415. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +21 -59
  416. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +91 -39
  417. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +68 -82
  418. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  419. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -105
  420. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  421. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  422. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +154 -134
  423. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  424. package/test-env/components/combo_box/combo_box.js +1 -1
  425. package/test-env/components/comment_list/comment.js +2 -2
  426. package/test-env/components/comment_list/comment_event.js +1 -1
  427. package/test-env/components/comment_list/comment_list.js +2 -2
  428. package/test-env/components/comment_list/comment_timeline.js +1 -1
  429. package/test-env/components/context_menu/context_menu_item.js +16 -8
  430. package/test-env/components/context_menu/context_menu_item.styles.js +1 -1
  431. package/test-env/components/datagrid/body/data_grid_body.js +29 -19
  432. package/test-env/components/datagrid/body/data_grid_body_custom.js +29 -19
  433. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +29 -19
  434. package/test-env/components/datagrid/body/data_grid_cell.js +91 -68
  435. package/test-env/components/datagrid/body/data_grid_cell_actions.js +12 -12
  436. package/test-env/components/datagrid/body/data_grid_cell_popover.js +43 -10
  437. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +83 -54
  438. package/test-env/components/datagrid/body/header/data_grid_header_row.js +29 -19
  439. package/test-env/components/datagrid/controls/column_selector.js +19 -39
  440. package/test-env/components/datagrid/controls/column_sorting.js +18 -29
  441. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  442. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +158 -0
  443. package/test-env/components/datagrid/controls/display_selector.js +0 -1
  444. package/test-env/components/datagrid/controls/fullscreen_selector.js +2 -6
  445. package/test-env/components/datagrid/controls/index.js +8 -1
  446. package/test-env/components/datagrid/index.js +8 -1
  447. package/test-env/components/datagrid/utils/in_memory.js +28 -18
  448. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  449. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  450. package/test-env/components/date_picker/date_picker.js +2 -2
  451. package/test-env/components/date_picker/date_picker_range.js +1 -1
  452. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  453. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  454. package/test-env/components/error_boundary/error_boundary.a11y.js +1 -1
  455. package/test-env/components/expression/expression.a11y.js +2 -4
  456. package/test-env/components/facet/facet_button.js +6 -4
  457. package/test-env/components/filter_group/filter_button.js +2 -2
  458. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -3
  459. package/test-env/components/form/field_number/field_number.js +1 -1
  460. package/test-env/components/form/field_text/field_text.js +2 -2
  461. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  462. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  463. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  464. package/test-env/components/form/range/range.a11y.js +5 -10
  465. package/test-env/components/form/super_select/super_select.js +3 -2
  466. package/test-env/components/form/super_select/super_select_control.js +12 -19
  467. package/test-env/components/header/header.a11y.js +1 -1
  468. package/test-env/components/header/header_links/header_link.js +8 -6
  469. package/test-env/components/header/header_links/header_links.js +1 -1
  470. package/test-env/components/header/header_logo/header_logo.js +1 -1
  471. package/test-env/components/header/header_section/header_section_item_button.js +8 -6
  472. package/test-env/components/icon/assets/endpoint.js +45 -0
  473. package/test-env/components/icon/icon_map.js +1 -0
  474. package/test-env/components/image/image.a11y.js +1 -2
  475. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  476. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  477. package/test-env/components/link/external_link_icon.js +56 -0
  478. package/test-env/components/link/link.js +6 -20
  479. package/test-env/components/link/link.styles.js +1 -4
  480. package/test-env/components/list_group/list_group.js +8 -3
  481. package/test-env/components/list_group/list_group_item.js +16 -6
  482. package/test-env/components/list_group/list_group_item.styles.js +2 -1
  483. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  484. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -6
  485. package/test-env/components/loading/loading_logo.js +1 -1
  486. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  487. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  488. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  489. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  490. package/test-env/components/notification/notification_event.a11y.js +1 -2
  491. package/test-env/components/notification/notification_event.js +9 -7
  492. package/test-env/components/notification/notification_event_meta.js +1 -1
  493. package/test-env/components/page/page_header/page_header_content.js +1 -1
  494. package/test-env/components/popover/popover.js +4 -1
  495. package/test-env/components/resizable_container/resizable_container.a11y.js +4 -8
  496. package/test-env/components/search_bar/search_bar.a11y.js +3 -6
  497. package/test-env/components/selectable/selectable.js +16 -1
  498. package/test-env/components/selectable/selectable_list/selectable_list.js +233 -79
  499. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  500. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -2
  501. package/test-env/components/table/table_header_button.js +1 -1
  502. package/test-env/components/text/text.styles.js +2 -2
  503. package/test-env/components/text_truncate/text_truncate.js +32 -9
  504. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  505. package/test-env/components/toast/global_toast_list.js +1 -1
  506. package/test-env/components/toast/toast.js +1 -1
  507. package/test-env/components/tool_tip/icon_tip.js +1 -1
@@ -30,7 +30,7 @@ var _data_grid_cell_actions = require("./data_grid_cell_actions");
30
30
  var _data_grid_cell_popover = require("./data_grid_cell_popover");
31
31
  var _utils = require("../../../utils");
32
32
  var _react2 = require("@emotion/react");
33
- var _excluded = ["renderCellValue", "column", "setCellContentsRef", "setPopoverAnchorRef", "rowIndex", "colIndex", "ariaRowIndex", "rowHeight", "rowHeightUtils", "isControlColumn", "isFocused", "cellHeightType", "cellActions"],
33
+ var _excluded = ["renderCellValue", "column", "setCellContentsRef", "rowIndex", "colIndex", "ariaRowIndex", "rowHeight", "rowHeightUtils", "isControlColumn", "isFocused", "cellActions"],
34
34
  _excluded2 = ["width", "popoverContext", "interactiveCellId", "columnType", "className", "column", "style", "rowHeightUtils", "rowHeightsOptions", "rowManager", "pagination"],
35
35
  _excluded3 = ["isExpandable", "style", "className", "data-test-subj"];
36
36
  /*
@@ -50,7 +50,6 @@ var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
50
50
  var renderCellValue = _ref.renderCellValue,
51
51
  column = _ref.column,
52
52
  setCellContentsRef = _ref.setCellContentsRef,
53
- setPopoverAnchorRef = _ref.setPopoverAnchorRef,
54
53
  rowIndex = _ref.rowIndex,
55
54
  colIndex = _ref.colIndex,
56
55
  ariaRowIndex = _ref.ariaRowIndex,
@@ -58,27 +57,17 @@ var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
58
57
  rowHeightUtils = _ref.rowHeightUtils,
59
58
  isControlColumn = _ref.isControlColumn,
60
59
  isFocused = _ref.isFocused,
61
- cellHeightType = _ref.cellHeightType,
62
60
  cellActions = _ref.cellActions,
63
61
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
64
62
  // React is more permissible than the TS types indicate
65
63
  var CellElement = renderCellValue;
66
- var wrapperClasses = (0, _classnames.default)('euiDataGridRowCell__contentWrapper', "euiDataGridRowCell__".concat(cellHeightType, "Height"));
67
- var classes = (0, _classnames.default)('euiDataGridRowCell__content', !isControlColumn && {
64
+ var cellHeightType = (rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getHeightType(rowHeight)) || 'default';
65
+ var classes = (0, _classnames.default)('euiDataGridRowCell__content', "euiDataGridRowCell__content--".concat(cellHeightType, "Height"), !isControlColumn && {
68
66
  'eui-textBreakWord': cellHeightType !== 'default',
69
67
  'eui-textTruncate': cellHeightType === 'default'
70
68
  });
71
69
  var cellContent = (0, _react2.jsx)("div", {
72
- ref: function ref(el) {
73
- setCellContentsRef(el);
74
- setPopoverAnchorRef.current = cellHeightType === 'default' ? // Default height cells need the popover to be anchored on the wrapper,
75
- // in order for the popover to centered on the full cell width (as content
76
- // width is affected by the width of cell actions)
77
- el === null || el === void 0 ? void 0 : el.parentElement :
78
- // Numerical height cells need the popover anchor to be below the wrapper
79
- // class, in order to set height: 100% on the portalled popover div wrappers
80
- el;
81
- },
70
+ ref: setCellContentsRef,
82
71
  "data-datagrid-cellcontent": true,
83
72
  className: classes
84
73
  }, (0, _react2.jsx)(CellElement, (0, _extends2.default)({
@@ -106,9 +95,7 @@ var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
106
95
  row: ariaRowIndex
107
96
  }
108
97
  })));
109
- return (0, _react2.jsx)("div", {
110
- className: wrapperClasses
111
- }, cellContent, screenReaderText, cellActions);
98
+ return (0, _react2.jsx)(_react.default.Fragment, null, cellContent, screenReaderText, cellActions);
112
99
  });
113
100
  var EuiDataGridCell = /*#__PURE__*/function (_Component) {
114
101
  (0, _inherits2.default)(EuiDataGridCell, _Component);
@@ -130,7 +117,8 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
130
117
  isFocused: false,
131
118
  isEntered: false,
132
119
  enableInteractions: false,
133
- disableCellTabIndex: false
120
+ disableCellTabIndex: false,
121
+ cellTextAlign: 'Left'
134
122
  });
135
123
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "unsubscribeCell", void 0);
136
124
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "focusTimeout", void 0);
@@ -233,6 +221,7 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
233
221
  _this.contentObserver.disconnect();
234
222
  }
235
223
  _this.preventTabbing();
224
+ _this.setCellTextAlign();
236
225
  });
237
226
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onFocus", function (e) {
238
227
  // only perform this logic when the event's originating element (e.target) is
@@ -260,10 +249,6 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
260
249
  });
261
250
  }
262
251
  }, 0);
263
- // Close the cell popover if the popover was open and the user clicked the cell
264
- if (_this.props.popoverContext.popoverIsOpen) {
265
- _this.props.popoverContext.closeCellPopover();
266
- }
267
252
  }
268
253
  });
269
254
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onBlur", function () {
@@ -290,6 +275,28 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
290
275
  }
291
276
  }
292
277
  });
278
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setCellTextAlign", function () {
279
+ if (_this.cellContentsRef) {
280
+ var columnType = _this.props.columnType;
281
+ if (!columnType) {
282
+ // If no schema was set, this is likely a left aligned column
283
+ _this.setState({
284
+ cellTextAlign: 'Left'
285
+ });
286
+ } else if (columnType === 'numeric' || columnType === 'currency') {
287
+ // Default EUI schemas that we know set right text align
288
+ _this.setState({
289
+ cellTextAlign: 'Right'
290
+ });
291
+ } else {
292
+ // If the consumer is using a custom schema, it may have custom text alignment
293
+ var textAlign = window.getComputedStyle(_this.cellContentsRef).getPropertyValue('text-align');
294
+ _this.setState({
295
+ cellTextAlign: textAlign === 'right' || textAlign === 'end' ? 'Right' : 'Left'
296
+ });
297
+ }
298
+ }
299
+ });
293
300
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isExpandable", function () {
294
301
  var _this$props$column, _this$props$column$ce, _this$state$cellProps;
295
302
  // A cell must always show an expansion popover if it has cell actions,
@@ -310,12 +317,14 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
310
317
  if (_this.isPopoverOpen()) {
311
318
  var _this$props$popoverCo2 = _this.props.popoverContext,
312
319
  setPopoverAnchor = _this$props$popoverCo2.setPopoverAnchor,
320
+ setPopoverAnchorPosition = _this$props$popoverCo2.setPopoverAnchorPosition,
313
321
  setPopoverContent = _this$props$popoverCo2.setPopoverContent,
314
322
  setCellPopoverProps = _this$props$popoverCo2.setCellPopoverProps;
315
323
 
316
324
  // Set popover anchor
317
325
  var cellAnchorEl = _this.popoverAnchorRef.current;
318
326
  setPopoverAnchor(cellAnchorEl);
327
+ setPopoverAnchorPosition("down".concat(_this.state.cellTextAlign));
319
328
 
320
329
  // Set popover contents with cell content
321
330
  var _this$props6 = _this.props,
@@ -476,7 +485,7 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
476
485
  var isExpandable = this.isExpandable();
477
486
  var popoverIsOpen = this.isPopoverOpen();
478
487
  var showCellActions = this.state.isFocused || this.state.isEntered || this.state.enableInteractions || popoverIsOpen;
479
- var cellClasses = (0, _classnames.default)('euiDataGridRowCell', (_classNames = {}, (0, _defineProperty2.default)(_classNames, "euiDataGridRowCell--".concat(columnType), columnType), (0, _defineProperty2.default)(_classNames, 'euiDataGridRowCell--open', popoverIsOpen), _classNames), className);
488
+ var cellClasses = (0, _classnames.default)('euiDataGridRowCell', "euiDataGridRowCell--align".concat(this.state.cellTextAlign), (_classNames = {}, (0, _defineProperty2.default)(_classNames, "euiDataGridRowCell--".concat(columnType), columnType), (0, _defineProperty2.default)(_classNames, 'euiDataGridRowCell--open', popoverIsOpen), _classNames), className);
480
489
  var ariaRowIndex = pagination ? visibleRowIndex + 1 + pagination.pageSize * pagination.pageIndex : visibleRowIndex + 1;
481
490
  var _this$state$cellProps2 = this.state.cellProps,
482
491
  _ = _this$state$cellProps2.isExpandable,
@@ -559,28 +568,24 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
559
568
  }
560
569
  };
561
570
  var rowHeight = rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getRowHeightOption(rowIndex, rowHeightsOptions);
562
- var cellHeightType = (rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getHeightType(rowHeight)) || 'default';
563
571
  var cellContentProps = _objectSpread(_objectSpread({}, rest), {}, {
564
572
  setCellProps: this.setCellProps,
565
573
  column: column,
566
574
  columnType: columnType,
567
- cellHeightType: cellHeightType,
568
575
  isExpandable: isExpandable,
569
576
  isExpanded: popoverIsOpen,
570
577
  isDetails: false,
571
578
  isFocused: this.state.isFocused,
572
579
  setCellContentsRef: this.setCellContentsRef,
573
- setPopoverAnchorRef: this.popoverAnchorRef,
574
580
  rowHeight: rowHeight,
575
581
  rowHeightUtils: rowHeightUtils,
576
582
  isControlColumn: cellClasses.includes('euiDataGridRowCell--controlColumn'),
577
583
  ariaRowIndex: ariaRowIndex
578
584
  });
579
- var cellActions = showCellActions && (0, _react2.jsx)(_data_grid_cell_actions.EuiDataGridCellActions, {
585
+ var cellActions = showCellActions && (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_data_grid_cell_actions.EuiDataGridCellActions, {
580
586
  rowIndex: rowIndex,
581
587
  colIndex: colIndex,
582
588
  column: column,
583
- cellHeightType: cellHeightType,
584
589
  onExpandClick: function onExpandClick() {
585
590
  if (popoverIsOpen) {
586
591
  closeCellPopover();
@@ -591,7 +596,10 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
591
596
  });
592
597
  }
593
598
  }
594
- });
599
+ }), (0, _react2.jsx)("div", {
600
+ ref: this.popoverAnchorRef,
601
+ "data-test-subject": "cellPopoverAnchor"
602
+ }));
595
603
  var cellContent = isExpandable ? (0, _react2.jsx)(EuiDataGridCellContent, (0, _extends2.default)({}, cellContentProps, {
596
604
  cellActions: cellActions
597
605
  })) : (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
@@ -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",
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)({
112
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,11 +105,9 @@ 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);
@@ -126,10 +116,10 @@ var useDataGridColumnSelector = function useDataGridColumnSelector(availableColu
126
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,
@@ -227,17 +217,7 @@ var useDataGridColumnSelector = function useDataGridColumnSelector(availableColu
227
217
  token: "euiColumnSelector.hideAll",
228
218
  default: "Hide all"
229
219
  })))))) : null;
230
- var orderedVisibleColumns = (0, _react.useMemo)(function () {
231
- return visibleColumns.map(function (columnId) {
232
- return availableColumns.find(function (_ref5) {
233
- var id = _ref5.id;
234
- return id === columnId;
235
- });
236
- } // cast to avoid `undefined`, it filters those out next
237
- ).filter(function (column) {
238
- return column != null;
239
- });
240
- }, [availableColumns, visibleColumns]);
220
+
241
221
  /**
242
222
  * Used for moving columns left/right, available in the headers actions menu
243
223
  */