@elastic/eui 91.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 (382) 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/basic_table/action_types.js +5 -0
  7. package/es/components/basic_table/basic_table.a11y.js +1 -2
  8. package/es/components/basic_table/basic_table.js +8 -8
  9. package/es/components/basic_table/collapsed_item_actions.js +120 -249
  10. package/es/components/basic_table/custom_item_action.js +9 -95
  11. package/es/components/basic_table/default_item_action.js +23 -14
  12. package/es/components/basic_table/in_memory_table.a11y.js +13 -11
  13. package/es/components/basic_table/in_memory_table.js +8 -8
  14. package/es/components/breadcrumbs/breadcrumb.js +11 -7
  15. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  16. package/es/components/button/button_display/_button_display.js +5 -3
  17. package/es/components/button/button_display/_button_display_content.js +8 -4
  18. package/es/components/button/button_empty/button_empty.js +9 -7
  19. package/es/components/button/button_group/button_group.js +5 -3
  20. package/es/components/button/button_group/button_group_button.js +5 -3
  21. package/es/components/card/card.a11y.js +5 -18
  22. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  23. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  24. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  25. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  27. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  28. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +67 -81
  29. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  30. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -102
  31. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  32. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  35. package/es/components/combo_box/combo_box.js +1 -1
  36. package/es/components/context_menu/context_menu_item.js +16 -8
  37. package/es/components/context_menu/context_menu_item.styles.js +1 -1
  38. package/es/components/datagrid/body/data_grid_body.js +16 -6
  39. package/es/components/datagrid/body/data_grid_body_custom.js +16 -6
  40. package/es/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  41. package/es/components/datagrid/body/data_grid_cell.js +67 -44
  42. package/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  43. package/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  44. package/es/components/datagrid/body/header/data_grid_header_cell.js +65 -34
  45. package/es/components/datagrid/body/header/data_grid_header_row.js +16 -6
  46. package/es/components/datagrid/controls/column_selector.js +19 -39
  47. package/es/components/datagrid/controls/column_sorting.js +18 -29
  48. package/es/components/datagrid/controls/data_grid_toolbar_control.js +154 -0
  49. package/es/components/datagrid/controls/display_selector.js +0 -1
  50. package/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  51. package/es/components/datagrid/controls/index.js +2 -1
  52. package/es/components/datagrid/index.js +1 -1
  53. package/es/components/datagrid/utils/in_memory.js +16 -6
  54. package/es/components/datagrid/utils/row_heights.js +1 -1
  55. package/es/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  56. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  57. package/es/components/error_boundary/error_boundary.a11y.js +1 -1
  58. package/es/components/expression/expression.a11y.js +2 -4
  59. package/es/components/facet/facet_button.js +5 -3
  60. package/es/components/filter_group/filter_button.js +2 -2
  61. package/es/components/focus_trap/focus_trap.a11y.js +3 -3
  62. package/es/components/form/range/range.a11y.js +5 -10
  63. package/es/components/form/super_select/super_select.js +3 -2
  64. package/es/components/form/super_select/super_select_control.js +13 -20
  65. package/es/components/header/header.a11y.js +1 -1
  66. package/es/components/header/header_links/header_link.js +7 -5
  67. package/es/components/header/header_section/header_section_item_button.js +7 -5
  68. package/es/components/image/image.a11y.js +1 -2
  69. package/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  70. package/es/components/link/external_link_icon.js +51 -0
  71. package/es/components/link/link.js +6 -20
  72. package/es/components/link/link.styles.js +2 -5
  73. package/es/components/list_group/list_group.js +6 -1
  74. package/es/components/list_group/list_group_item.js +14 -4
  75. package/es/components/list_group/list_group_item.styles.js +2 -1
  76. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  77. package/es/components/notification/notification_event.a11y.js +1 -2
  78. package/es/components/notification/notification_event.js +7 -5
  79. package/es/components/pagination/pagination_button.js +7 -5
  80. package/es/components/popover/popover.js +4 -1
  81. package/es/components/resizable_container/resizable_container.a11y.js +4 -8
  82. package/es/components/search_bar/search_bar.a11y.js +3 -6
  83. package/es/components/selectable/selectable.js +16 -1
  84. package/es/components/selectable/selectable_list/selectable_list.js +227 -78
  85. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  86. package/es/components/text/text.styles.js +2 -2
  87. package/es/components/text_truncate/text_truncate.js +33 -10
  88. package/eui.d.ts +466 -136
  89. package/i18ntokens.json +224 -260
  90. package/lib/components/accordion/accordion.a11y.js +1 -3
  91. package/lib/components/basic_table/action_types.js +8 -2
  92. package/lib/components/basic_table/basic_table.a11y.js +1 -2
  93. package/lib/components/basic_table/basic_table.js +8 -8
  94. package/lib/components/basic_table/collapsed_item_actions.js +128 -257
  95. package/lib/components/basic_table/custom_item_action.js +18 -104
  96. package/lib/components/basic_table/default_item_action.js +23 -14
  97. package/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  98. package/lib/components/basic_table/in_memory_table.js +8 -8
  99. package/lib/components/breadcrumbs/breadcrumb.js +11 -7
  100. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  101. package/lib/components/button/button_display/_button_display.js +5 -3
  102. package/lib/components/button/button_display/_button_display_content.js +8 -4
  103. package/lib/components/button/button_empty/button_empty.js +9 -7
  104. package/lib/components/button/button_group/button_group.js +5 -3
  105. package/lib/components/button/button_group/button_group_button.js +5 -3
  106. package/lib/components/card/card.a11y.js +5 -18
  107. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  108. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  109. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  110. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  111. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  112. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  113. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  114. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  115. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -104
  116. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  117. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  118. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  119. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  120. package/lib/components/combo_box/combo_box.js +1 -1
  121. package/lib/components/context_menu/context_menu_item.js +16 -8
  122. package/lib/components/context_menu/context_menu_item.styles.js +1 -1
  123. package/lib/components/datagrid/body/data_grid_body.js +16 -6
  124. package/lib/components/datagrid/body/data_grid_body_custom.js +16 -6
  125. package/lib/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  126. package/lib/components/datagrid/body/data_grid_cell.js +67 -44
  127. package/lib/components/datagrid/body/data_grid_cell_actions.js +12 -13
  128. package/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  129. package/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -34
  130. package/lib/components/datagrid/body/header/data_grid_header_row.js +16 -6
  131. package/lib/components/datagrid/controls/column_selector.js +19 -39
  132. package/lib/components/datagrid/controls/column_sorting.js +18 -30
  133. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +159 -0
  134. package/lib/components/datagrid/controls/display_selector.js +0 -1
  135. package/lib/components/datagrid/controls/fullscreen_selector.js +2 -7
  136. package/lib/components/datagrid/controls/index.js +8 -1
  137. package/lib/components/datagrid/index.js +8 -1
  138. package/lib/components/datagrid/utils/in_memory.js +16 -6
  139. package/lib/components/datagrid/utils/row_heights.js +1 -1
  140. package/lib/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  141. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  142. package/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  143. package/lib/components/expression/expression.a11y.js +2 -4
  144. package/lib/components/facet/facet_button.js +5 -3
  145. package/lib/components/filter_group/filter_button.js +2 -2
  146. package/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  147. package/lib/components/form/range/range.a11y.js +5 -10
  148. package/lib/components/form/super_select/super_select.js +3 -2
  149. package/lib/components/form/super_select/super_select_control.js +12 -19
  150. package/lib/components/header/header.a11y.js +1 -1
  151. package/lib/components/header/header_links/header_link.js +7 -5
  152. package/lib/components/header/header_section/header_section_item_button.js +7 -5
  153. package/lib/components/image/image.a11y.js +1 -2
  154. package/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  155. package/lib/components/link/external_link_icon.js +57 -0
  156. package/lib/components/link/link.js +6 -20
  157. package/lib/components/link/link.styles.js +1 -4
  158. package/lib/components/list_group/list_group.js +6 -1
  159. package/lib/components/list_group/list_group_item.js +14 -4
  160. package/lib/components/list_group/list_group_item.styles.js +2 -1
  161. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  162. package/lib/components/notification/notification_event.a11y.js +1 -2
  163. package/lib/components/notification/notification_event.js +7 -5
  164. package/lib/components/popover/popover.js +4 -1
  165. package/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  166. package/lib/components/search_bar/search_bar.a11y.js +3 -6
  167. package/lib/components/selectable/selectable.js +16 -1
  168. package/lib/components/selectable/selectable_list/selectable_list.js +227 -78
  169. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  170. package/lib/components/text/text.styles.js +2 -2
  171. package/lib/components/text_truncate/text_truncate.js +32 -9
  172. package/optimize/es/components/accordion/accordion.a11y.js +1 -3
  173. package/optimize/es/components/basic_table/action_types.js +5 -0
  174. package/optimize/es/components/basic_table/basic_table.a11y.js +1 -2
  175. package/optimize/es/components/basic_table/collapsed_item_actions.js +116 -169
  176. package/optimize/es/components/basic_table/custom_item_action.js +10 -83
  177. package/optimize/es/components/basic_table/default_item_action.js +23 -14
  178. package/optimize/es/components/basic_table/in_memory_table.a11y.js +13 -11
  179. package/optimize/es/components/breadcrumbs/breadcrumb.js +11 -7
  180. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  181. package/optimize/es/components/button/button_display/_button_display_content.js +3 -1
  182. package/optimize/es/components/button/button_empty/button_empty.js +2 -2
  183. package/optimize/es/components/card/card.a11y.js +5 -18
  184. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  185. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  186. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  187. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  188. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  189. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  190. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  191. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
  192. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  193. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -10
  194. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  195. package/optimize/es/components/context_menu/context_menu_item.js +9 -6
  196. package/optimize/es/components/context_menu/context_menu_item.styles.js +1 -1
  197. package/optimize/es/components/datagrid/body/data_grid_cell.js +38 -30
  198. package/optimize/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  199. package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  200. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +49 -28
  201. package/optimize/es/components/datagrid/controls/column_selector.js +19 -39
  202. package/optimize/es/components/datagrid/controls/column_sorting.js +18 -29
  203. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +70 -0
  204. package/optimize/es/components/datagrid/controls/display_selector.js +0 -1
  205. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  206. package/optimize/es/components/datagrid/controls/index.js +2 -1
  207. package/optimize/es/components/datagrid/index.js +1 -1
  208. package/optimize/es/components/datagrid/utils/row_heights.js +1 -1
  209. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  210. package/optimize/es/components/error_boundary/error_boundary.a11y.js +1 -1
  211. package/optimize/es/components/expression/expression.a11y.js +2 -4
  212. package/optimize/es/components/filter_group/filter_button.js +2 -2
  213. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -3
  214. package/optimize/es/components/form/range/range.a11y.js +5 -10
  215. package/optimize/es/components/form/super_select/super_select.js +3 -2
  216. package/optimize/es/components/form/super_select/super_select_control.js +13 -20
  217. package/optimize/es/components/header/header.a11y.js +1 -1
  218. package/optimize/es/components/image/image.a11y.js +1 -2
  219. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  220. package/optimize/es/components/link/external_link_icon.js +41 -0
  221. package/optimize/es/components/link/link.js +6 -20
  222. package/optimize/es/components/link/link.styles.js +2 -5
  223. package/optimize/es/components/list_group/list_group_item.js +8 -3
  224. package/optimize/es/components/list_group/list_group_item.styles.js +2 -1
  225. package/optimize/es/components/notification/notification_event.a11y.js +1 -2
  226. package/optimize/es/components/popover/popover.js +4 -1
  227. package/optimize/es/components/resizable_container/resizable_container.a11y.js +4 -8
  228. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -6
  229. package/optimize/es/components/selectable/selectable_list/selectable_list.js +199 -76
  230. package/optimize/es/components/text/text.styles.js +2 -2
  231. package/optimize/es/components/text_truncate/text_truncate.js +26 -9
  232. package/optimize/lib/components/accordion/accordion.a11y.js +1 -3
  233. package/optimize/lib/components/basic_table/action_types.js +8 -2
  234. package/optimize/lib/components/basic_table/basic_table.a11y.js +1 -2
  235. package/optimize/lib/components/basic_table/collapsed_item_actions.js +123 -174
  236. package/optimize/lib/components/basic_table/custom_item_action.js +17 -91
  237. package/optimize/lib/components/basic_table/default_item_action.js +23 -14
  238. package/optimize/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  239. package/optimize/lib/components/breadcrumbs/breadcrumb.js +11 -7
  240. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  241. package/optimize/lib/components/button/button_display/_button_display_content.js +3 -1
  242. package/optimize/lib/components/button/button_empty/button_empty.js +2 -2
  243. package/optimize/lib/components/card/card.a11y.js +5 -18
  244. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  245. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  246. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  247. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  248. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  249. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  250. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  251. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
  252. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  253. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -10
  254. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  255. package/optimize/lib/components/context_menu/context_menu_item.js +9 -6
  256. package/optimize/lib/components/context_menu/context_menu_item.styles.js +1 -1
  257. package/optimize/lib/components/datagrid/body/data_grid_cell.js +38 -30
  258. package/optimize/lib/components/datagrid/body/data_grid_cell_actions.js +12 -12
  259. package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  260. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +55 -36
  261. package/optimize/lib/components/datagrid/controls/column_selector.js +19 -39
  262. package/optimize/lib/components/datagrid/controls/column_sorting.js +18 -29
  263. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +75 -0
  264. package/optimize/lib/components/datagrid/controls/display_selector.js +0 -1
  265. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +2 -6
  266. package/optimize/lib/components/datagrid/controls/index.js +8 -1
  267. package/optimize/lib/components/datagrid/index.js +8 -1
  268. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  269. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  270. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  271. package/optimize/lib/components/expression/expression.a11y.js +2 -4
  272. package/optimize/lib/components/filter_group/filter_button.js +2 -2
  273. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  274. package/optimize/lib/components/form/range/range.a11y.js +5 -10
  275. package/optimize/lib/components/form/super_select/super_select.js +3 -2
  276. package/optimize/lib/components/form/super_select/super_select_control.js +12 -19
  277. package/optimize/lib/components/header/header.a11y.js +1 -1
  278. package/optimize/lib/components/image/image.a11y.js +1 -2
  279. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  280. package/optimize/lib/components/link/external_link_icon.js +47 -0
  281. package/optimize/lib/components/link/link.js +6 -20
  282. package/optimize/lib/components/link/link.styles.js +1 -4
  283. package/optimize/lib/components/list_group/list_group_item.js +8 -3
  284. package/optimize/lib/components/list_group/list_group_item.styles.js +2 -1
  285. package/optimize/lib/components/notification/notification_event.a11y.js +1 -2
  286. package/optimize/lib/components/popover/popover.js +4 -1
  287. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  288. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -6
  289. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +199 -76
  290. package/optimize/lib/components/text/text.styles.js +2 -2
  291. package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
  292. package/package.json +4 -4
  293. package/src/components/datagrid/_data_grid_data_row.scss +139 -100
  294. package/src/components/datagrid/_mixins.scss +2 -2
  295. package/src/components/datagrid/body/header/_data_grid_header_row.scss +36 -28
  296. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -5
  297. package/src/components/form/form_row/_form_row.scss +1 -1
  298. package/src/components/table/_responsive.scss +19 -0
  299. package/src/components/table/_table.scss +4 -9
  300. package/test-env/components/accordion/accordion.a11y.js +1 -3
  301. package/test-env/components/auto_sizer/auto_sizer.js +10 -3
  302. package/test-env/components/basic_table/action_types.js +8 -2
  303. package/test-env/components/basic_table/basic_table.a11y.js +1 -2
  304. package/test-env/components/basic_table/basic_table.js +8 -8
  305. package/test-env/components/basic_table/collapsed_item_actions.js +124 -251
  306. package/test-env/components/basic_table/custom_item_action.js +18 -100
  307. package/test-env/components/basic_table/default_item_action.js +23 -14
  308. package/test-env/components/basic_table/in_memory_table.a11y.js +13 -11
  309. package/test-env/components/basic_table/in_memory_table.js +8 -8
  310. package/test-env/components/breadcrumbs/breadcrumb.js +11 -7
  311. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -0
  312. package/test-env/components/button/button_display/_button_display.js +5 -3
  313. package/test-env/components/button/button_display/_button_display_content.js +8 -4
  314. package/test-env/components/button/button_empty/button_empty.js +9 -7
  315. package/test-env/components/button/button_group/button_group.js +5 -3
  316. package/test-env/components/button/button_group/button_group_button.js +5 -3
  317. package/test-env/components/card/card.a11y.js +5 -18
  318. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  319. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  320. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  321. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  322. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  323. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  324. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  325. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  326. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -105
  327. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  328. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  329. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  330. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  331. package/test-env/components/combo_box/combo_box.js +1 -1
  332. package/test-env/components/context_menu/context_menu_item.js +16 -8
  333. package/test-env/components/context_menu/context_menu_item.styles.js +1 -1
  334. package/test-env/components/datagrid/body/data_grid_body.js +16 -6
  335. package/test-env/components/datagrid/body/data_grid_body_custom.js +16 -6
  336. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  337. package/test-env/components/datagrid/body/data_grid_cell.js +67 -44
  338. package/test-env/components/datagrid/body/data_grid_cell_actions.js +12 -12
  339. package/test-env/components/datagrid/body/data_grid_cell_popover.js +43 -10
  340. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +71 -42
  341. package/test-env/components/datagrid/body/header/data_grid_header_row.js +16 -6
  342. package/test-env/components/datagrid/controls/column_selector.js +19 -39
  343. package/test-env/components/datagrid/controls/column_sorting.js +18 -29
  344. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +158 -0
  345. package/test-env/components/datagrid/controls/display_selector.js +0 -1
  346. package/test-env/components/datagrid/controls/fullscreen_selector.js +2 -6
  347. package/test-env/components/datagrid/controls/index.js +8 -1
  348. package/test-env/components/datagrid/index.js +8 -1
  349. package/test-env/components/datagrid/utils/in_memory.js +16 -6
  350. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  351. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  352. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  353. package/test-env/components/error_boundary/error_boundary.a11y.js +1 -1
  354. package/test-env/components/expression/expression.a11y.js +2 -4
  355. package/test-env/components/facet/facet_button.js +5 -3
  356. package/test-env/components/filter_group/filter_button.js +2 -2
  357. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -3
  358. package/test-env/components/form/range/range.a11y.js +5 -10
  359. package/test-env/components/form/super_select/super_select.js +3 -2
  360. package/test-env/components/form/super_select/super_select_control.js +12 -19
  361. package/test-env/components/header/header.a11y.js +1 -1
  362. package/test-env/components/header/header_links/header_link.js +7 -5
  363. package/test-env/components/header/header_section/header_section_item_button.js +7 -5
  364. package/test-env/components/image/image.a11y.js +1 -2
  365. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  366. package/test-env/components/link/external_link_icon.js +56 -0
  367. package/test-env/components/link/link.js +6 -20
  368. package/test-env/components/link/link.styles.js +1 -4
  369. package/test-env/components/list_group/list_group.js +6 -1
  370. package/test-env/components/list_group/list_group_item.js +14 -4
  371. package/test-env/components/list_group/list_group_item.styles.js +2 -1
  372. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  373. package/test-env/components/notification/notification_event.a11y.js +1 -2
  374. package/test-env/components/notification/notification_event.js +7 -5
  375. package/test-env/components/popover/popover.js +4 -1
  376. package/test-env/components/resizable_container/resizable_container.a11y.js +4 -8
  377. package/test-env/components/search_bar/search_bar.a11y.js +3 -6
  378. package/test-env/components/selectable/selectable.js +16 -1
  379. package/test-env/components/selectable/selectable_list/selectable_list.js +227 -78
  380. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  381. package/test-env/components/text/text.styles.js +2 -2
  382. package/test-env/components/text_truncate/text_truncate.js +32 -9
@@ -3,15 +3,23 @@
3
3
  }
4
4
 
5
5
  @include euiDataGridRowCell {
6
- @include euiFontSizeS;
7
-
8
- padding: $euiDataGridCellPaddingM;
6
+ position: relative; // Needed for .euiDataGridRowCell__actions
9
7
  border-right: $euiDataGridVerticalBorder;
10
8
  border-bottom: $euiBorderThin;
11
- overflow: hidden;
9
+
10
+ .euiDataGridRowCell__content {
11
+ @include euiFontSizeS;
12
+ padding: $euiDataGridCellPaddingM;
13
+ height: 100%;
14
+ overflow: hidden;
15
+
16
+ &--autoHeight {
17
+ height: auto;
18
+ }
19
+ }
12
20
 
13
21
  // Hack to allow focus trap to still stretch to full row height on defined heights
14
- > * {
22
+ > [data-focus-lock-disabled] {
15
23
  height: 100%;
16
24
  }
17
25
 
@@ -23,39 +31,46 @@
23
31
  border-right-color: $euiBorderColor;
24
32
  }
25
33
 
26
- &:focus {
27
- position: relative;
34
+ --euiDataGridCellOutlineColor: #{$euiColorPrimary};
35
+
36
+ &:hover,
37
+ &:focus,
38
+ &.euiDataGridRowCell--open {
28
39
  @include euiDataGridCellFocus;
29
40
  }
30
41
 
31
- // Only add the transition effect on hover, so that it is instantaneous on focus
32
- // Long delays on hover to mitigate the accordion effect
33
- &:hover {
34
- .euiDataGridRowCell__actionButtonIcon {
35
- animation-duration: $euiAnimSpeedExtraFast;
36
- animation-name: euiDataGridCellActionsSlideIn;
37
- animation-iteration-count: 1;
38
- animation-delay: $euiAnimSpeedNormal;
39
- animation-fill-mode: forwards;
42
+ // On hover
43
+ &:hover:not(:focus, :focus-within, .euiDataGridRowCell--open) {
44
+ // Color the actions and focus ring grayscale on hover
45
+ // (Actions look odd without the ring on grids without cell borders)
46
+ --euiDataGridCellOutlineColor: #{$euiColorDarkShade};
47
+
48
+ .euiDataGridRowCell__actions {
49
+ // Delay the actions showing on hover
50
+ // (Note: the focus ring show instantly on hover & the actions show instantly on focus)
51
+ animation-delay: $euiAnimSpeedSlow;
40
52
  }
41
53
  }
42
54
 
43
- // On focus, directly show action buttons (without animation)
55
+ // On hover & focus, show cell action buttons
56
+ &:hover,
44
57
  &:focus,
45
- // Prevent the animation from flickering after cell popover close when focus is restored the expansion button
46
58
  &:focus-within,
47
59
  // Always make the cell actions visible when the cell popover is open
48
- &.euiDataGridRowCell--open {
49
- .euiDataGridRowCell__actionButtonIcon {
50
- animation: none;
51
- margin-left: $euiDataGridCellPaddingM;
52
- width: $euiSizeM;
60
+ &.euiDataGridRowCell--open,
61
+ // Prevents the animation from replaying when keyboard focus is moved from the popover back to the cell
62
+ &[data-keyboard-closing] {
63
+ .euiDataGridRowCell__actions {
64
+ animation-duration: $euiAnimSpeedExtraFast;
65
+ animation-name: euiDataGridCellActionsSlideIn;
66
+ animation-iteration-count: 1;
67
+ animation-fill-mode: forwards;
53
68
  }
54
69
  }
55
70
 
56
71
  // if a cell is not hovered nor focused nor open via popover, don't show buttons in general
57
- &:not(:hover):not(:focus):not(.euiDataGridRowCell--open) {
58
- .euiDataGridRowCell__actionButtonIcon {
72
+ &:not(:hover):not(:focus):not(.euiDataGridRowCell--open):not([data-keyboard-closing]) {
73
+ .euiDataGridRowCell__actions {
59
74
  display: none;
60
75
  }
61
76
  }
@@ -84,94 +99,123 @@
84
99
  .euiDataGridRowCell__popover {
85
100
  @include euiScrollBar;
86
101
  overflow: auto;
87
- // stylelint-disable declaration-no-important
88
- max-width: 400px !important;
89
- max-height: 400px !important;
90
- z-index: $euiZDataGridCellPopover !important;
91
- // stylelint-enable declaration-no-important
102
+ z-index: $euiZDataGridCellPopover !important; // stylelint-disable-line declaration-no-important
92
103
  // Workaround for a Safari CSS bug when using both `overflow: auto` & `filter: drop-shadow`
93
104
  // (see https://github.com/elastic/eui/issues/6151)
94
105
  // Disables the default EuiPopover filter drop-shadow and uses box-shadow instead,
95
106
  // since we don't use the popover arrow in any case for cell popovers
96
107
  filter: none;
97
108
  @include euiBottomShadow; // TODO: Convert to euiShadowMedium() in Emotion
98
- }
99
109
 
100
- .euiDataGridRowCell__contentWrapper {
101
- position: relative; // Needed for .euiDataGridRowCell__actions--overlay
102
- height: 100%;
110
+ // For some reason, the normal popover opacity transition doesn't work for datagrid popovers
111
+ // so we'll force it via an animation. If we don't, cells constrained by the inline max-width
112
+ // style that we set will see a flash of unwanted content before repositioning
113
+ animation-duration: $euiAnimSpeedNormal;
114
+ animation-name: euiDataGridCellPopover;
103
115
  }
104
116
 
105
- .euiDataGridRowCell__defaultHeight {
117
+ .euiDataGridRowCell--controlColumn .euiDataGridRowCell__content {
118
+ max-height: 100%;
119
+ height: auto;
106
120
  display: flex;
107
- align-items: baseline;
108
- max-width: 100%;
109
-
110
- .euiDataGridRowCell__content {
111
- flex-grow: 1;
112
- }
121
+ align-items: center;
122
+ }
113
123
 
114
- .euiDataGridRowCell__actions {
115
- flex-grow: 0;
116
- }
124
+ // Positioning for cell actions & the cell expansion popover
125
+ .euiDataGridRowCell__actions,
126
+ .euiDataGridRowCell__actions + [data-euiportal] > .euiPopover {
127
+ position: absolute;
128
+ bottom: 100%;
117
129
 
118
- .euiDataGridRowCell--controlColumn & {
119
- height: 100%;
120
- align-items: center;
130
+ .euiDataGridRowCell--alignLeft & {
131
+ left: 0;
121
132
  }
122
- }
123
133
 
124
- .euiDataGridRowCell__numericalHeight {
125
- // Without this rule, popover anchors content that overflows off the page
126
- [data-euiportal],
127
- .euiPopover {
128
- height: 100%;
134
+ .euiDataGridRowCell--alignRight & {
135
+ right: 0;
129
136
  }
130
137
  }
131
138
 
132
- // Cell actions
133
139
  .euiDataGridRowCell__actions {
140
+ z-index: $euiZDataGridCellPopover - 2; // Sit below sticky column headers
141
+ margin-bottom: -$euiBorderWidthThin; // Vertical alignment
134
142
  display: flex;
143
+ gap: $euiSizeXS / 2;
144
+ padding-inline: $euiSizeXS / 2;
145
+ background-color: var(--euiDataGridCellOutlineColor);
146
+ color: $euiColorEmptyShade;
147
+ border: $euiBorderWidthThin solid var(--euiDataGridCellOutlineColor);
148
+ border-top-left-radius: $euiBorderRadius / 2;
149
+ border-top-right-radius: $euiBorderRadius / 2;
150
+ transform: scaleY(0);
151
+ transform-origin: bottom;
152
+
153
+ // The first row of cell actions need to be visible above the cell headers,
154
+ // but other cell actions that scroll past the sticky headers should not
155
+ .euiDataGridRowCell[data-gridcell-visible-row-index='0'] > & {
156
+ z-index: $euiZDataGridCellPopover - 1;
157
+ }
158
+
159
+ .euiDataGridRowCell--alignLeft & {
160
+ border-bottom-right-radius: $euiBorderRadius / 2;
161
+ }
135
162
 
136
- &--overlay {
163
+ .euiDataGridRowCell--alignRight & {
164
+ border-bottom-left-radius: $euiBorderRadius / 2;
165
+ }
166
+
167
+ // Visual trickery - fill in the gap between the cell outline border-radius & the actions
168
+ &::after {
169
+ content: '';
137
170
  position: absolute;
138
- right: 0;
139
- top: 0;
140
- padding: $euiDataGridCellPaddingM 0;
141
- background-color: $euiColorEmptyShade;
171
+ top: 100%;
172
+ height: $euiBorderWidthThick;
173
+ width: $euiBorderWidthThick;
174
+ background-color: var(--euiDataGridCellOutlineColor);
175
+
176
+ .euiDataGridRowCell--alignLeft & {
177
+ left: -$euiBorderWidthThin;
178
+ }
179
+
180
+ .euiDataGridRowCell--alignRight & {
181
+ right: -$euiBorderWidthThin;
182
+ }
142
183
  }
143
184
  }
144
185
 
145
186
  .euiDataGridRowCell__actionButtonIcon {
146
- height: $euiSizeM;
147
- border-radius: $euiBorderRadius / 2;
148
- width: 0;
149
- overflow: hidden;
150
- // Have to take out the generic transition so it is instaneous on focus
151
- transition: none;
152
- // Disable filled button box-shadows on legacy theme - they're unnecessary when this small in a datagrid
153
- box-shadow: none !important; // stylelint-disable-line declaration-no-important
154
- // Remove filled button borders on legacy theme - this way we don't need to animate the border
155
- border: none;
187
+ height: $euiSize + $euiSizeXS;
188
+ width: $euiSize;
189
+ border-radius: 0;
190
+
191
+ /* Force all cell action buttons to match EUI colors */
192
+ &,
193
+ svg {
194
+ // stylelint-disable declaration-no-important
195
+ background-color: transparent !important;
196
+ color: currentColor !important;
197
+ fill: currentColor !important;
198
+ // stylelint-enable declaration-no-important
199
+ }
200
+
201
+ /* Manually increase the size of the expand cell icon - it's a bit small by default */
202
+ &.euiDataGridRowCell__expandCell .euiIcon {
203
+ width: 120%;
204
+ height: 100%;
205
+ }
156
206
  }
157
207
 
158
208
  // Row stripes
159
209
  @include euiDataGridStyles(stripes) {
160
210
  .euiDataGridRow--striped {
161
- &,
162
- .euiDataGridRowCell__actions--overlay {
163
- background-color: $euiColorLightestShade;
164
- }
211
+ background-color: $euiColorLightestShade;
165
212
  }
166
213
  }
167
214
 
168
215
  // Row highlights
169
216
  @include euiDataGridStyles(rowHoverHighlight) {
170
217
  .euiDataGridRow:hover {
171
- &,
172
- .euiDataGridRowCell__actions--overlay {
173
- background-color: $euiColorHighlight;
174
- }
218
+ background-color: $euiColorHighlight;
175
219
  }
176
220
  }
177
221
 
@@ -192,48 +236,43 @@
192
236
  // Font alternates
193
237
  @include euiDataGridStyles(fontSizeSmall) {
194
238
  @include euiDataGridRowCell {
195
- @include euiFontSizeXS;
239
+ .euiDataGridRowCell__content {
240
+ @include euiFontSizeXS;
241
+ }
196
242
  }
197
243
  }
198
244
 
199
245
  @include euiDataGridStyles(fontSizeLarge) {
200
246
  @include euiDataGridRowCell {
201
- @include euiFontSize;
247
+ .euiDataGridRowCell__content {
248
+ @include euiFontSize;
249
+ }
202
250
  }
203
251
  }
204
252
 
205
253
  // Padding alternates
206
254
  @include euiDataGridStyles(paddingSmall) {
207
255
  @include euiDataGridRowCell {
208
- padding: $euiDataGridCellPaddingS;
256
+ .euiDataGridRowCell__content {
257
+ padding: $euiDataGridCellPaddingS;
258
+ }
209
259
  }
210
260
  }
211
261
 
212
262
  @include euiDataGridStyles(paddingLarge) {
213
263
  @include euiDataGridRowCell {
214
- padding: $euiDataGridCellPaddingL;
215
- }
216
- }
217
-
218
- // Compressed density grids - height tweaks
219
- @include euiDataGridStyles(fontSizeSmall, paddingSmall) {
220
- .euiDataGridRowCell__actions--overlay {
221
- padding: ($euiDataGridCellPaddingS / 2) 0;
222
- }
223
-
224
- .euiDataGridRowCell__defaultHeight .euiDataGridRowCell__actions {
225
- transform: translateY(1px);
264
+ .euiDataGridRowCell__content {
265
+ padding: $euiDataGridCellPaddingL;
266
+ }
226
267
  }
227
268
  }
228
269
 
229
270
  @keyframes euiDataGridCellActionsSlideIn {
230
- from {
231
- margin-left: 0;
232
- width: 0;
233
- }
271
+ from { transform: scaleY(0); }
272
+ to { transform: scaleY(1); }
273
+ }
234
274
 
235
- to {
236
- margin-left: $euiDataGridCellPaddingM;
237
- width: $euiSizeM;
238
- }
275
+ @keyframes euiDataGridCellPopover {
276
+ from { opacity: 0; }
277
+ to { opacity: 1; }
239
278
  }
@@ -64,8 +64,8 @@ $euiDataGridStyles: (
64
64
  position: absolute;
65
65
  top: 0;
66
66
  left: 0;
67
- border: $euiBorderWidthThick solid $euiFocusRingColor;
68
- border-radius: $euiBorderRadiusSmall;
67
+ border: $euiBorderWidthThick solid var(--euiDataGridCellOutlineColor, $euiFocusRingColor);
68
+ border-radius: $euiBorderRadius / 2;
69
69
  z-index: 2; // We want this to be on top of all the content
70
70
  pointer-events: none; // Because we put it with a higher z-index we don't want to make it clickable this way we allow selecting the content behind
71
71
  }
@@ -1,6 +1,6 @@
1
1
  .euiDataGridHeader {
2
2
  display: flex;
3
- z-index: 3; // Needs to sit above the content and focused cells
3
+ z-index: $euiZDataGridCellPopover - 1; // Needs to sit above the content and focused cells
4
4
  background: $euiColorEmptyShade;
5
5
  position: sticky;
6
6
  top: 0;
@@ -17,14 +17,6 @@
17
17
  align-items: center;
18
18
  display: flex;
19
19
 
20
- &.euiDataGridHeaderCell--numeric {
21
- text-align: right;
22
- }
23
-
24
- &.euiDataGridHeaderCell--currency {
25
- text-align: right;
26
- }
27
-
28
20
  &:focus {
29
21
  @include euiDataGridCellFocus;
30
22
  border-top: none;
@@ -37,38 +29,54 @@
37
29
  border-top: none;
38
30
  }
39
31
 
40
- .euiDataGridHeaderCell__sortingArrow {
41
- margin-right: $euiSizeXS;
42
- }
43
-
44
32
  .euiDataGridHeaderCell__button {
45
- flex: 0 0 auto;
46
33
  position: relative;
47
- align-items: center;
48
34
  display: flex;
35
+ align-items: center;
36
+ gap: $euiSizeXS;
49
37
  width: 100%;
50
38
  font-weight: $euiFontWeightBold;
51
39
  outline: none;
52
-
53
- .euiDataGridHeaderCell__sortingArrow {
54
- flex-grow: 0;
55
- }
56
40
  }
57
41
 
58
42
  .euiDataGridHeaderCell__content {
59
43
  @include euiTextTruncate;
60
- overflow: hidden;
61
- white-space: nowrap;
62
- text-align: left;
63
- flex-grow: 1;
64
- align-self: baseline;
44
+ }
45
+
46
+ .euiDataGridHeaderCell__sortingArrow {
47
+ flex: 0 0 auto; // Ensure icon doesn't shrink
65
48
  }
66
49
 
67
50
  .euiDataGridHeaderCell__icon {
68
- flex-grow: 0;
69
- flex-basis: auto;
70
- width: auto;
71
- padding-left: $euiSizeXS;
51
+ flex: 0 0 auto; // Ensure icon doesn't shrink
52
+ margin-left: auto; // Aligns the icon to the right
53
+ // Center the icon
54
+ display: flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ height: $euiSize;
58
+ overflow: hidden;
59
+ width: 0;
60
+ opacity: 0;
61
+ transition: width $euiAnimSpeedFast ease-in, opacity $euiAnimSpeedSlow ease-in;
62
+ }
63
+
64
+ &:focus-within,
65
+ &:hover,
66
+ .euiPopover-isOpen {
67
+ .euiDataGridHeaderCell__icon {
68
+ width: $euiSize;
69
+ opacity: 1;
70
+ }
71
+ }
72
+ }
73
+
74
+ // Align numeric and currency schemas to the right
75
+ &.euiDataGridHeaderCell--numeric,
76
+ &.euiDataGridHeaderCell--currency {
77
+ .euiDataGridHeaderCell__content {
78
+ flex-grow: 1;
79
+ text-align: right;
72
80
  }
73
81
  }
74
82
  }
@@ -31,11 +31,6 @@
31
31
  }
32
32
  }
33
33
 
34
- .euiDataGrid__controlBtn--active,
35
- .euiDataGrid__controlBtn--active:focus {
36
- font-weight: $euiFontWeightSemiBold;
37
- }
38
-
39
34
  @include euiDataGridStyles(bordersNone) {
40
35
  .euiDataGrid__controls {
41
36
  border: none;
@@ -18,7 +18,7 @@
18
18
  }
19
19
 
20
20
  .euiFormRow--hasEmptyLabelSpace {
21
- margin-top: floor($euiFontSize * $euiBodyLineHeight) + $euiSizeXS; /* 2 */
21
+ margin-top: $euiSize + $euiSizeXS; /* 2 */
22
22
  // the following ensure that contents that aren't inherently the same height
23
23
  // as inputs will align to the vertical center
24
24
  min-height: $euiFormControlHeight;
@@ -99,6 +99,25 @@
99
99
  }
100
100
  }
101
101
 
102
+ // Custom actions
103
+ &:not(.euiTableRow-hasActions) .euiTableRowCell--hasActions:last-child {
104
+ width: 100%;
105
+
106
+ &::before {
107
+ content: '';
108
+ position: absolute;
109
+ left: 0;
110
+ right: 0;
111
+ height: $euiBorderWidthThin;
112
+ background-color: $euiTableActionsBorderColor;
113
+ }
114
+
115
+ .euiTableCellContent {
116
+ position: relative;
117
+ top: $euiSizeXS;
118
+ }
119
+ }
120
+
102
121
  &.euiTableRow-hasActions.euiTableRow-isExpandable {
103
122
  .euiTableRowCell--isExpander {
104
123
  top: auto;
@@ -206,20 +206,15 @@
206
206
  transition: opacity $euiAnimSpeedNormal $euiAnimSlightResistance, filter $euiAnimSpeedNormal $euiAnimSlightResistance;
207
207
  }
208
208
 
209
- .expandedItemActions__completelyHide,
210
- .expandedItemActions__completelyHide:disabled,
211
- .expandedItemActions__completelyHide:disabled:hover,
212
- .expandedItemActions__completelyHide:disabled:focus,
213
- .euiTableRow:hover & .expandedItemActions__completelyHide:disabled {
209
+ .expandedItemActions__completelyHide {
214
210
  filter: grayscale(0%);
215
211
  opacity: 0;
216
212
  }
217
213
  }
218
214
 
219
- &:hover .euiTableCellContent--showOnHover .euiTableCellContent__hoverItem:not(:disabled) {
220
- &,
221
- &:hover,
222
- &:focus {
215
+ &:hover .euiTableCellContent--showOnHover,
216
+ .euiTableCellContent--showOnHover:focus-within {
217
+ .euiTableCellContent__hoverItem {
223
218
  opacity: 1;
224
219
  filter: grayscale(0%);
225
220
  }
@@ -32,9 +32,7 @@ describe('EuiAccordion', function () {
32
32
  it('has zero violations when expanded', function () {
33
33
  cy.mount((0, _react2.jsx)(_index.EuiAccordion, noArrowProps, (0, _react2.jsx)(_panel.EuiPanel, {
34
34
  color: "subdued"
35
- }, "Any content inside of ", (0, _react2.jsx)("strong", null, "EuiAccordion"), " will appear here. We will include ", (0, _react2.jsx)("a", {
36
- href: "#"
37
- }, "a link"), " to confirm focus.")));
35
+ }, "Any content inside of ", (0, _react2.jsx)("strong", null, "EuiAccordion"), " will appear here.")));
38
36
  cy.get('button.euiAccordion__button').click();
39
37
  cy.checkAxe();
40
38
  });
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.EuiAutoSizer = void 0;
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _react2 = require("@emotion/react");
10
+ 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); }
11
+ 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; }
10
12
  /*
11
13
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
14
  * or more contributor license agreements. Licensed under the Elastic License
@@ -18,11 +20,16 @@ var _react2 = require("@emotion/react");
18
20
  var EuiAutoSizer = function EuiAutoSizer(_ref) {
19
21
  var children = _ref.children,
20
22
  defaultHeight = _ref.defaultHeight,
21
- defaultWidth = _ref.defaultWidth;
23
+ defaultWidth = _ref.defaultWidth,
24
+ onResize = _ref.onResize;
22
25
  var childrenParams = {
23
26
  height: defaultHeight !== null && defaultHeight !== void 0 ? defaultHeight : 600,
24
27
  width: defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : 600
25
28
  };
29
+ (0, _react.useEffect)(function () {
30
+ onResize === null || onResize === void 0 ? void 0 : onResize(childrenParams);
31
+ }, [onResize, defaultHeight, defaultWidth]); // eslint-disable-line react-hooks/exhaustive-deps
32
+
26
33
  return (0, _react2.jsx)("div", {
27
34
  "data-eui": "EuiAutoSizer"
28
35
  }, children(childrenParams));
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isCustomItemAction = void 0;
6
+ exports.isCustomItemAction = exports.callWithItemIfFunction = void 0;
7
7
  /*
8
8
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
9
9
  * or more contributor license agreements. Licensed under the Elastic License
@@ -15,4 +15,10 @@ exports.isCustomItemAction = void 0;
15
15
  var isCustomItemAction = function isCustomItemAction(action) {
16
16
  return action.hasOwnProperty('render');
17
17
  };
18
- exports.isCustomItemAction = isCustomItemAction;
18
+ exports.isCustomItemAction = isCustomItemAction;
19
+ var callWithItemIfFunction = function callWithItemIfFunction(item) {
20
+ return function (prop) {
21
+ return typeof prop === 'function' ? prop(item) : prop;
22
+ };
23
+ };
24
+ exports.callWithItemIfFunction = callWithItemIfFunction;
@@ -185,8 +185,7 @@ describe('EuiTable', function () {
185
185
  });
186
186
  describe('Keyboard accessibility', function () {
187
187
  it('has zero violations after expanding a row', function () {
188
- cy.repeatRealPress('Tab');
189
- cy.get('button#1').should('have.focus');
188
+ cy.get('button#1').focus();
190
189
  cy.realPress('Enter');
191
190
  cy.get('tr.euiTableRow-isExpandedRow div.euiTableCellContent').should('exist');
192
191
  cy.checkAxe();