@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
@@ -4,110 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CustomItemAction = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
7
+ var _react = _interopRequireDefault(require("react"));
9
8
  var _react2 = require("@emotion/react");
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- 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); }
12
- 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; }
13
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
14
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
16
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
17
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
18
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
19
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
20
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
21
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
22
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
23
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
24
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
26
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /*
27
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
28
- * or more contributor license agreements. Licensed under the Elastic License
29
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
30
- * in compliance with, at your election, the Elastic License 2.0 or the Server
31
- * Side Public License, v 1.
32
- */
33
- var CustomItemAction = /*#__PURE__*/function (_Component) {
34
- _inherits(CustomItemAction, _Component);
35
- var _super = _createSuper(CustomItemAction);
36
- function CustomItemAction(props) {
37
- var _this;
38
- _classCallCheck(this, CustomItemAction);
39
- _this = _super.call(this, props);
40
- _defineProperty(_assertThisInitialized(_this), "mounted", void 0);
41
- _defineProperty(_assertThisInitialized(_this), "onFocus", function () {
42
- if (_this.mounted) {
43
- _this.setState({
44
- hasFocus: true
45
- });
46
- }
47
- });
48
- _defineProperty(_assertThisInitialized(_this), "onBlur", function () {
49
- if (_this.mounted) {
50
- _this.setState({
51
- hasFocus: false
52
- });
53
- }
54
- });
55
- _defineProperty(_assertThisInitialized(_this), "hasFocus", function () {
56
- return _this.state.hasFocus;
57
- });
58
- _this.state = {
59
- hasFocus: false
60
- };
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
61
17
 
62
- // while generally considered an anti-pattern, here we require
63
- // to do that as the onFocus/onBlur events of the action controls
64
- // may trigger while this component is unmounted. An alternative
65
- // (at least the workarounds suggested by react is to unregister
66
- // the onFocus/onBlur listeners from the action controls... this
67
- // unfortunately will lead to unnecessarily complex code... so we'll
68
- // stick to this approach for now)
69
- _this.mounted = false;
70
- return _this;
71
- }
72
- _createClass(CustomItemAction, [{
73
- key: "componentDidMount",
74
- value: function componentDidMount() {
75
- this.mounted = true;
76
- }
77
- }, {
78
- key: "componentWillUnmount",
79
- value: function componentWillUnmount() {
80
- this.mounted = false;
81
- }
82
- }, {
83
- key: "render",
84
- value: function render() {
85
- var _this$props = this.props,
86
- action = _this$props.action,
87
- enabled = _this$props.enabled,
88
- item = _this$props.item,
89
- className = _this$props.className;
90
- var tool = action.render(item, enabled);
91
- var clonedTool = /*#__PURE__*/(0, _react.cloneElement)(tool, {
92
- onFocus: this.onFocus,
93
- onBlur: this.onBlur
94
- });
95
- var style = this.hasFocus() ? {
96
- opacity: 1
97
- } : undefined;
98
- return (0, _react2.jsx)("div", {
99
- style: style,
100
- className: className
101
- }, clonedTool);
102
- }
103
- }]);
104
- return CustomItemAction;
105
- }(_react.Component);
106
- exports.CustomItemAction = CustomItemAction;
107
- CustomItemAction.propTypes = {
108
- action: _propTypes.default.any.isRequired,
109
- enabled: _propTypes.default.bool.isRequired,
110
- item: _propTypes.default.any.isRequired,
111
- className: _propTypes.default.string.isRequired,
112
- index: _propTypes.default.number
113
- };
18
+ var CustomItemAction = function CustomItemAction(_ref) {
19
+ var action = _ref.action,
20
+ enabled = _ref.enabled,
21
+ item = _ref.item,
22
+ className = _ref.className;
23
+ return (0, _react2.jsx)("div", {
24
+ className: className
25
+ }, action.render(item, enabled));
26
+ };
27
+ exports.CustomItemAction = CustomItemAction;
@@ -10,6 +10,7 @@ var _button = require("../button");
10
10
  var _tool_tip = require("../tool_tip");
11
11
  var _accessibility = require("../../services/accessibility");
12
12
  var _accessibility2 = require("../accessibility");
13
+ var _action_types = require("./action_types");
13
14
  var _react2 = require("@emotion/react");
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16
  /*
@@ -20,9 +21,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
20
21
  * Side Public License, v 1.
21
22
  */
22
23
 
23
- // In order to use generics with an arrow function inside a .tsx file, it's necessary to use
24
- // this `extends` hack and declare the types as shown, instead of declaring the const as a
25
- // FunctionComponent
26
24
  var DefaultItemAction = function DefaultItemAction(_ref) {
27
25
  var action = _ref.action,
28
26
  enabled = _ref.enabled,
@@ -45,25 +43,36 @@ var DefaultItemAction = function DefaultItemAction(_ref) {
45
43
  icon = (0, _predicate.isString)(buttonIcon) ? buttonIcon : buttonIcon(item);
46
44
  }
47
45
  var button;
48
- var actionContent = typeof action.name === 'function' ? action.name(item) : action.name;
46
+ var actionContent = (0, _action_types.callWithItemIfFunction)(item)(action.name);
47
+ var tooltipContent = (0, _action_types.callWithItemIfFunction)(item)(action.description);
48
+ var href = (0, _action_types.callWithItemIfFunction)(item)(action.href);
49
+ var dataTestSubj = (0, _action_types.callWithItemIfFunction)(item)(action['data-test-subj']);
49
50
  var ariaLabelId = (0, _accessibility.useGeneratedHtmlId)();
51
+ var ariaLabelledBy;
50
52
  if (action.type === 'icon') {
51
53
  if (!icon) {
52
54
  throw new Error("Cannot render item action [".concat(action.name, "]. It is configured to render as an icon but no\n icon is provided. Make sure to set the 'icon' property of the action"));
53
55
  }
54
- button = (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_button.EuiButtonIcon, {
56
+ button = (0, _react2.jsx)(_button.EuiButtonIcon, {
55
57
  className: className,
56
58
  "aria-labelledby": ariaLabelId,
57
59
  isDisabled: !enabled,
58
60
  color: color,
59
61
  iconType: icon,
60
62
  onClick: onClick,
61
- href: action.href,
63
+ href: href,
62
64
  target: action.target,
63
- "data-test-subj": action['data-test-subj']
64
- }), (0, _react2.jsx)(_accessibility2.EuiScreenReaderOnly, null, (0, _react2.jsx)("span", {
65
+ "data-test-subj": dataTestSubj
66
+ // If action is disabled, the normal tooltip can't show - attempt to
67
+ // provide some amount of affordance with a browser title tooltip
68
+ ,
69
+ title: !enabled ? tooltipContent : undefined
70
+ });
71
+ // actionContent (action.name) is a ReactNode and must be rendered
72
+ // to an element and referenced by ID for screen readers
73
+ ariaLabelledBy = (0, _react2.jsx)(_accessibility2.EuiScreenReaderOnly, null, (0, _react2.jsx)("span", {
65
74
  id: ariaLabelId
66
- }, actionContent)));
75
+ }, actionContent));
67
76
  } else {
68
77
  button = (0, _react2.jsx)(_button.EuiButtonEmpty, {
69
78
  className: className,
@@ -72,15 +81,15 @@ var DefaultItemAction = function DefaultItemAction(_ref) {
72
81
  color: color,
73
82
  iconType: icon,
74
83
  onClick: onClick,
75
- href: action.href,
84
+ href: href,
76
85
  target: action.target,
77
- "data-test-subj": action['data-test-subj'],
86
+ "data-test-subj": dataTestSubj,
78
87
  flush: "right"
79
88
  }, actionContent);
80
89
  }
81
- return enabled && action.description ? (0, _react2.jsx)(_tool_tip.EuiToolTip, {
82
- content: action.description,
90
+ return enabled ? (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_tool_tip.EuiToolTip, {
91
+ content: tooltipContent,
83
92
  delay: "long"
84
- }, button) : button;
93
+ }, button), ariaLabelledBy) : (0, _react2.jsx)(_react.default.Fragment, null, button, ariaLabelledBy);
85
94
  };
86
95
  exports.DefaultItemAction = DefaultItemAction;
@@ -136,24 +136,26 @@ describe('EuiInMemoryTable', function () {
136
136
  cy.checkAxe();
137
137
  });
138
138
  it('has zero violations after sorting on a column', function () {
139
- cy.realPress('Tab');
140
- cy.get('button[data-test-subj="tableHeaderSortButton"]').first().should('have.focus');
141
- cy.realPress('Enter');
139
+ cy.get('button[data-test-subj="tableHeaderSortButton"]').first().focus();
140
+ cy.realPress('{enter}');
142
141
  cy.checkAxe();
143
142
  });
144
143
  it('has zero violations when number of rows is increased by keyboard', function () {
145
- cy.repeatRealPress('Tab', 14);
146
- cy.get('button[data-test-subj="tablePaginationPopoverButton"]').should('have.focus').realPress('Space');
147
- cy.get('div[data-popover-open="true"]').should('exist');
148
- cy.get('div[data-popover-open="true"]').should('have.focus');
144
+ cy.get('button[data-test-subj="tablePaginationPopoverButton"]').focus().realPress('{enter}');
145
+ cy.get('div[data-popover-open="true"]', {
146
+ timeout: 1000
147
+ }).should('exist');
149
148
  cy.repeatRealPress('Tab'); // Switched to Tab from ArrowDown because of flaky test runs
150
- cy.get('button[data-test-subj="tablePagination-25-rows"]').realPress('Space');
151
- cy.get('table.euiTable').find('tr.euiTableRow').should('have.length', 20);
149
+ cy.get('button[data-test-subj="tablePagination-25-rows"]', {
150
+ timeout: 1000
151
+ }).realPress('{enter}');
152
+ cy.get('table.euiTable', {
153
+ timeout: 1000
154
+ }).find('tr.euiTableRow').should('have.length', 20);
152
155
  cy.checkAxe();
153
156
  });
154
157
  it('has zero violations when pagination is pressed', function () {
155
- cy.repeatRealPress('Tab', 15);
156
- cy.get('a[data-test-subj="pagination-button-1"]').should('have.focus').realPress('Enter');
158
+ cy.get('a[data-test-subj="pagination-button-1"]').focus().realPress('{enter}');
157
159
  cy.get('button[data-test-subj="pagination-button-1"]').should('be.disabled');
158
160
  cy.checkAxe();
159
161
  });
@@ -692,19 +692,19 @@ EuiInMemoryTable.propTypes = {
692
692
  */
693
693
  color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.func.isRequired]),
694
694
  /**
695
- * The display name of the action (will be the button caption)
695
+ * The display name of the action (will render as visible text if rendered within a collapsed menu)
696
696
  */
697
697
  /**
698
- * The display name of the action (will be the button caption)
698
+ * The display name of the action (will render as visible text if rendered within a collapsed menu)
699
699
  */
700
700
  name: _propTypes.default.oneOfType([_propTypes.default.node.isRequired, _propTypes.default.func.isRequired]).isRequired,
701
701
  /**
702
- * Describes the action (will be the button title)
702
+ * Describes the action (will render as tooltip content)
703
703
  */
704
704
  /**
705
- * Describes the action (will be the button title)
705
+ * Describes the action (will render as tooltip content)
706
706
  */
707
- description: _propTypes.default.string.isRequired,
707
+ description: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.func.isRequired]).isRequired,
708
708
  /**
709
709
  * A handler function to execute the action
710
710
  */
@@ -712,7 +712,7 @@ EuiInMemoryTable.propTypes = {
712
712
  * A handler function to execute the action
713
713
  */
714
714
  onClick: _propTypes.default.func,
715
- href: _propTypes.default.string,
715
+ href: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.func.isRequired]),
716
716
  target: _propTypes.default.string,
717
717
  /**
718
718
  * A callback function that determines whether the action is available
@@ -729,14 +729,14 @@ EuiInMemoryTable.propTypes = {
729
729
  */
730
730
  enabled: _propTypes.default.func,
731
731
  isPrimary: _propTypes.default.bool,
732
- "data-test-subj": _propTypes.default.string,
732
+ "data-test-subj": _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.func.isRequired]),
733
733
  /**
734
734
  * Associates an icon with the button
735
735
  */
736
736
  icon: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "error", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "machineLearningApp", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "pivot", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenDenseVector", "tokenVectorSparse"]).isRequired, _propTypes.default.func.isRequired])
737
737
  }).isRequired, _propTypes.default.shape({
738
738
  /**
739
- * The function that renders the action. Note that the returned node is expected to have `onFocus` and `onBlur` functions
739
+ * Allows rendering a totally custom action
740
740
  */
741
741
  render: _propTypes.default.func.isRequired,
742
742
  /**
@@ -106,10 +106,12 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
106
106
  var popoverAriaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
107
107
  return (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
108
108
  var title = innerText === '' ? undefined : innerText;
109
- var sharedProps = {
109
+ var baseProps = {
110
110
  ref: ref,
111
111
  title: title,
112
- 'aria-current': ariaCurrent,
112
+ 'aria-current': ariaCurrent
113
+ };
114
+ var styleProps = {
113
115
  className: classes,
114
116
  css: cssStyles
115
117
  };
@@ -119,8 +121,10 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
119
121
  closePopover: function closePopover() {
120
122
  return setIsPopoverOpen(false);
121
123
  },
122
- button: (0, _react2.jsx)(_link.EuiLink, _extends({}, sharedProps, {
123
- color: linkColor
124
+ css: !isLastBreadcrumb && styles.euiBreadcrumb__popoverWrapper,
125
+ button: (0, _react2.jsx)(_link.EuiLink, _extends({}, baseProps, {
126
+ color: linkColor,
127
+ css: styles.euiBreadcrumb__popoverButton
124
128
  // Avoid passing href and onClick - should only toggle the popover
125
129
  ,
126
130
  onClick: function onClick() {
@@ -128,14 +132,14 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
128
132
  return !isOpen;
129
133
  });
130
134
  }
131
- }, rest), text, ' ', (0, _react2.jsx)(_icon.EuiIcon, {
135
+ }, rest), (0, _react2.jsx)("span", styleProps, text), (0, _react2.jsx)(_icon.EuiIcon, {
132
136
  type: "arrowDown",
133
137
  size: "s",
134
138
  "aria-label": " - ".concat(popoverAriaLabel)
135
139
  }))
136
140
  }), popoverContent);
137
141
  } else if (isInteractiveBreadcrumb) {
138
- return (0, _react2.jsx)(_link.EuiLink, _extends({}, sharedProps, {
142
+ return (0, _react2.jsx)(_link.EuiLink, _extends({}, baseProps, styleProps, {
139
143
  color: linkColor,
140
144
  onClick: onClick,
141
145
  href: href,
@@ -145,7 +149,7 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
145
149
  return (0, _react2.jsx)(_text.EuiTextColor, {
146
150
  color: plainTextColor,
147
151
  cloneElement: true
148
- }, (0, _react2.jsx)("span", _extends({}, sharedProps, rest), text));
152
+ }, (0, _react2.jsx)("span", _extends({}, baseProps, styleProps, rest), text));
149
153
  }
150
154
  });
151
155
  };
@@ -54,6 +54,11 @@ var euiBreadcrumbContentStyles = function euiBreadcrumbContentStyles(euiThemeCon
54
54
  return x * 10;
55
55
  })), ";;label:isTruncated;"),
56
56
  isTruncatedLast: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiTextTruncate)('none'), ";;label:isTruncatedLast;"),
57
+ // Popover styles
58
+ euiBreadcrumb__popoverButton: /*#__PURE__*/(0, _react.css)("max-inline-size:100%;display:inline-flex;align-items:center;gap:", euiTheme.size.xs, ";;label:euiBreadcrumb__popoverButton;"),
59
+ euiBreadcrumb__popoverWrapper: /*#__PURE__*/(0, _react.css)("max-inline-size:calc(\n 100% - ", (0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
60
+ return x + 1;
61
+ }), "\n );;label:euiBreadcrumb__popoverWrapper;"),
57
62
  // Types
58
63
  page: /*#__PURE__*/(0, _react.css)("&:is(a):focus{", (0, _global_styling.euiFocusRing)(euiThemeContext, 'inset'), ";}&:is(button):focus{", (0, _global_styling.euiFocusRing)(euiThemeContext, 'center'), ";};label:page;"),
59
64
  application: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), " background-color:", (0, _color.transparentize)(euiTheme.colors.darkestShade, 0.2), ";clip-path:polygon(\n 0 0,\n calc(100% - ", euiTheme.size.s, ") 0,\n 100% 50%,\n calc(100% - ", euiTheme.size.s, ") 100%,\n 0 100%,\n ", euiTheme.size.s, " 50%\n );color:", euiTheme.colors.darkestShade, ";line-height:", euiTheme.size.base, ";", (0, _global_styling.logicalCSS)('padding-vertical', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('padding-horizontal', euiTheme.size.base), " &:is(a),&:is(button){background-color:", (0, _color.transparentize)(euiTheme.colors.primary, 0.2), ";color:", euiTheme.colors.link, ";:focus{", (0, _global_styling.euiFocusRing)(euiThemeContext, 'inset'), " :focus-visible{border-radius:", euiTheme.border.radius.medium, ";clip-path:none;}}};label:application;"),
@@ -181,16 +181,18 @@ EuiButtonDisplay.propTypes = {
181
181
  */
182
182
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
183
183
  /**
184
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
184
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
185
+ *
186
+ * This span wrapper can be removed by passing `textProps={false}`.
185
187
  */
186
- textProps: _propTypes.default.shape({
188
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
187
189
  className: _propTypes.default.string,
188
190
  "aria-label": _propTypes.default.string,
189
191
  "data-test-subj": _propTypes.default.string,
190
192
  css: _propTypes.default.any,
191
193
  ref: _propTypes.default.any,
192
194
  "data-text": _propTypes.default.string
193
- }),
195
+ }).isRequired, _propTypes.default.oneOf([false])]),
194
196
  iconSize: _propTypes.default.any,
195
197
  isDisabled: _propTypes.default.bool,
196
198
  className: _propTypes.default.string,
@@ -75,9 +75,11 @@ var EuiButtonDisplayContent = function EuiButtonDisplayContent(_ref) {
75
75
  }
76
76
 
77
77
  var isText = typeof children === 'string';
78
+ var doNotRenderTextWrapper = textProps === false;
79
+ var renderTextWrapper = (isText || textProps) && !doNotRenderTextWrapper;
78
80
  return (0, _react2.jsx)("span", _extends({
79
81
  css: cssStyles
80
- }, contentProps), iconSide === 'left' && icon, isText || textProps ? (0, _react2.jsx)("span", _extends({}, textProps, {
82
+ }, contentProps), iconSide === 'left' && icon, renderTextWrapper ? (0, _react2.jsx)("span", _extends({}, textProps, {
81
83
  className: (0, _classnames.default)('eui-textTruncate', textProps === null || textProps === void 0 ? void 0 : textProps.className)
82
84
  }), children) : children, iconSide === 'right' && icon);
83
85
  };
@@ -93,16 +95,18 @@ EuiButtonDisplayContent.propTypes = {
93
95
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
94
96
  isLoading: _propTypes.default.bool,
95
97
  /**
96
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
98
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
99
+ *
100
+ * This span wrapper can be removed by passing `textProps={false}`.
97
101
  */
98
- textProps: _propTypes.default.shape({
102
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
99
103
  className: _propTypes.default.string,
100
104
  "aria-label": _propTypes.default.string,
101
105
  "data-test-subj": _propTypes.default.string,
102
106
  css: _propTypes.default.any,
103
107
  ref: _propTypes.default.any,
104
108
  "data-text": _propTypes.default.string
105
- }),
109
+ }).isRequired, _propTypes.default.oneOf([false])]),
106
110
  iconSize: _propTypes.default.any,
107
111
  isDisabled: _propTypes.default.bool,
108
112
  className: _propTypes.default.string,
@@ -79,14 +79,14 @@ var EuiButtonEmpty = function EuiButtonEmpty(_ref) {
79
79
  var cssStyles = [styles.euiButtonEmpty, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], flush && styles.flush, flush && styles[flush], isDisabled && styles.isDisabled];
80
80
  var classes = (0, _classnames.default)('euiButtonEmpty', className);
81
81
  var contentClassNames = (0, _classnames.default)('euiButtonEmpty__content', contentProps === null || contentProps === void 0 ? void 0 : contentProps.className);
82
- var textClassNames = (0, _classnames.default)('euiButtonEmpty__text', textProps === null || textProps === void 0 ? void 0 : textProps.className);
82
+ var textClassNames = (0, _classnames.default)('euiButtonEmpty__text', textProps && textProps.className);
83
83
  var innerNode = (0, _react2.jsx)(_button_display_content.EuiButtonDisplayContent, _extends({
84
84
  isDisabled: isDisabled,
85
85
  isLoading: isLoading,
86
86
  iconType: iconType,
87
87
  iconSide: iconSide,
88
88
  iconSize: size === 'xs' ? 's' : iconSize,
89
- textProps: _objectSpread(_objectSpread({}, textProps), {}, {
89
+ textProps: textProps === false ? false : _objectSpread(_objectSpread({}, textProps), {}, {
90
90
  className: textClassNames
91
91
  })
92
92
  }, _objectSpread(_objectSpread({}, contentProps), {}, {
@@ -163,10 +163,10 @@ EuiButtonEmpty.propTypes = {
163
163
  type: _propTypes.default.oneOf(["button", "submit"]),
164
164
  buttonRef: _propTypes.default.any,
165
165
  /**
166
- * Object of props passed to the <span/> wrapping the button's content
166
+ * Object of props passed to the `<span>` wrapping the button's content
167
167
  */
168
168
  /**
169
- * Object of props passed to the <span/> wrapping the button's content
169
+ * Object of props passed to the `<span>` wrapping the button's content
170
170
  */
171
171
  contentProps: _propTypes.default.shape({
172
172
  className: _propTypes.default.string,
@@ -183,16 +183,18 @@ EuiButtonEmpty.propTypes = {
183
183
  */
184
184
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
185
185
  /**
186
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
186
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
187
+ *
188
+ * This span wrapper can be removed by passing `textProps={false}`.
187
189
  */
188
- textProps: _propTypes.default.shape({
190
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
189
191
  className: _propTypes.default.string,
190
192
  "aria-label": _propTypes.default.string,
191
193
  "data-test-subj": _propTypes.default.string,
192
194
  css: _propTypes.default.any,
193
195
  ref: _propTypes.default.any,
194
196
  "data-text": _propTypes.default.string
195
- }),
197
+ }).isRequired, _propTypes.default.oneOf([false])]),
196
198
  iconSize: _propTypes.default.any,
197
199
  className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string]),
198
200
  "aria-label": _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string]),
@@ -152,16 +152,18 @@ EuiButtonGroup.propTypes = {
152
152
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
153
153
  isLoading: _propTypes.default.bool,
154
154
  /**
155
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
155
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
156
+ *
157
+ * This span wrapper can be removed by passing `textProps={false}`.
156
158
  */
157
- textProps: _propTypes.default.shape({
159
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
158
160
  className: _propTypes.default.string,
159
161
  "aria-label": _propTypes.default.string,
160
162
  "data-test-subj": _propTypes.default.string,
161
163
  css: _propTypes.default.any,
162
164
  ref: _propTypes.default.any,
163
165
  "data-text": _propTypes.default.string
164
- }),
166
+ }).isRequired, _propTypes.default.oneOf([false])]),
165
167
  iconSize: _propTypes.default.any,
166
168
  className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string]),
167
169
  "aria-label": _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string]),
@@ -117,16 +117,18 @@ EuiButtonGroupButton.propTypes = {
117
117
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
118
118
  isLoading: _propTypes.default.bool,
119
119
  /**
120
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
120
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
121
+ *
122
+ * This span wrapper can be removed by passing `textProps={false}`.
121
123
  */
122
- textProps: _propTypes.default.shape({
124
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
123
125
  className: _propTypes.default.string,
124
126
  "aria-label": _propTypes.default.string,
125
127
  "data-test-subj": _propTypes.default.string,
126
128
  css: _propTypes.default.any,
127
129
  ref: _propTypes.default.any,
128
130
  "data-text": _propTypes.default.string
129
- }),
131
+ }).isRequired, _propTypes.default.oneOf([false])]),
130
132
  iconSize: _propTypes.default.any,
131
133
  className: _propTypes.default.string,
132
134
  "aria-label": _propTypes.default.string,
@@ -51,6 +51,7 @@ var Card = function Card() {
51
51
  return (0, _react2.jsx)(_flex.EuiFlexGroup, {
52
52
  gutterSize: "l"
53
53
  }, (0, _react2.jsx)(_flex.EuiFlexItem, null, (0, _react2.jsx)(_card.EuiCard, {
54
+ "data-test-subj": "cy-card-1",
54
55
  icon: (0, _react2.jsx)(_icon.EuiIcon, {
55
56
  size: "xxl",
56
57
  type: "logoSketch"
@@ -119,24 +120,10 @@ describe('EuiCard', function () {
119
120
  cy.checkAxe();
120
121
  });
121
122
  it('has zero violations after keyboard interaction', function () {
122
- cy.repeatRealPress('Tab');
123
- cy.realPress('Enter');
124
- cy.focused().should('have.attr', 'aria-checked', 'true');
125
- cy.repeatRealPress('Tab');
126
- cy.realPress('Enter');
127
- cy.focused().should('have.attr', 'aria-checked', 'true');
128
- cy.repeatRealPress('Tab');
129
- cy.realPress('Enter');
130
- cy.focused().should('have.attr', 'aria-checked', 'true');
131
- cy.checkAxe();
132
- cy.realPress('Enter');
133
- cy.focused().should('have.attr', 'aria-checked', 'false');
134
- cy.repeatRealPress(['Shift', 'Tab']);
135
- cy.realPress('Enter');
136
- cy.focused().should('have.attr', 'aria-checked', 'false');
137
- cy.repeatRealPress(['Shift', 'Tab']);
138
- cy.realPress('Enter');
139
- cy.focused().should('have.attr', 'aria-checked', 'false');
123
+ cy.get('div[data-test-subj="cy-card-1"]').find('button.euiButtonEmpty').focus();
124
+ cy.realPress('Tab');
125
+ cy.realPress('{enter}');
126
+ cy.get('div[data-test-subj="cy-card-1"]').find('button.euiButton').should('have.attr', 'aria-checked', 'true');
140
127
  cy.checkAxe();
141
128
  });
142
129
  });
@@ -30,7 +30,7 @@ var euiCollapsibleNavBetaStyles = function euiCollapsibleNavBetaStyles(euiThemeC
30
30
  left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-right', euiTheme.border.thin), ";;label:left;"),
31
31
  right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-left', euiTheme.border.thin), ";;label:right;"),
32
32
  isPush: /*#__PURE__*/(0, _react.css)((0, _themes.euiShadowFlat)(euiThemeContext), ";;label:isPush;"),
33
- isPushCollapsed: /*#__PURE__*/(0, _react.css)(_collapsible_nav_body_footer.euiCollapsibleNavBodyStyles._isPushCollapsed, ";;label:isPushCollapsed;"),
33
+ isPushCollapsed: /*#__PURE__*/(0, _react.css)(_collapsible_nav_body_footer.hideScrollbars, ";;label:isPushCollapsed;"),
34
34
  isOverlayFullWidth: /*#__PURE__*/(0, _react.css)("&.euiFlyout{", (0, _global_styling.logicalCSS)('max-width', '100% !important'), ";};label:isOverlayFullWidth;")
35
35
  };
36
36
  };
@@ -56,9 +56,12 @@ var EuiCollapsibleNavFooter = function EuiCollapsibleNavFooter(_ref2) {
56
56
  var className = _ref2.className,
57
57
  props = _objectWithoutProperties(_ref2, _excluded2);
58
58
  var classes = (0, _classnames.default)('euiCollapsibleNav__footer', className);
59
+ var _useContext2 = (0, _react.useContext)(_context.EuiCollapsibleNavContext),
60
+ isCollapsed = _useContext2.isCollapsed,
61
+ isPush = _useContext2.isPush;
59
62
  var euiTheme = (0, _services.useEuiTheme)();
60
63
  var styles = (0, _collapsible_nav_body_footer.euiCollapsibleNavFooterStyles)(euiTheme);
61
- var cssStyles = [styles.euiCollapsibleNav__footer];
64
+ var cssStyles = [styles.euiCollapsibleNav__footer, isCollapsed && isPush && styles.isPushCollapsed];
62
65
  return (0, _react2.jsx)(_flyout.EuiFlyoutFooter, _extends({
63
66
  className: classes,
64
67
  css: cssStyles