@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
@@ -55,15 +55,13 @@ describe('Single EuiRange', function () {
55
55
  });
56
56
  describe('Keyboard accessibility check', function () {
57
57
  it('has zero violations when the range slider is increased', function () {
58
- cy.realPress('Tab');
59
- cy.get('input#cy-range-single').should('have.focus');
58
+ cy.get('input#cy-range-single').focus();
60
59
  cy.repeatRealPress('ArrowRight', 10);
61
60
  cy.get('output.euiRangeTooltip__value').contains('100 - 110');
62
61
  cy.checkAxe();
63
62
  });
64
63
  it('has zero violations when the range slider is decreased', function () {
65
- cy.realPress('Tab');
66
- cy.get('input#cy-range-single').should('have.focus');
64
+ cy.get('input#cy-range-single').focus();
67
65
  cy.repeatRealPress('ArrowLeft', 10);
68
66
  cy.get('output.euiRangeTooltip__value').contains('100 - 100');
69
67
  cy.checkAxe();
@@ -102,8 +100,7 @@ describe('Dual EuiRange', function () {
102
100
  });
103
101
  describe('Keyboard accessibility check', function () {
104
102
  it('has zero violations when the range sliders are adjusted', function () {
105
- cy.realPress('Tab');
106
- cy.get('div[role="slider"]').first().should('have.focus');
103
+ cy.get('div[role="slider"]').first().focus();
107
104
  cy.repeatRealPress('ArrowLeft', 3);
108
105
  cy.get('div[role="slider"]').first().invoke('attr', 'aria-valuenow').should('eq', '70');
109
106
  cy.realPress('Tab');
@@ -144,8 +141,7 @@ describe('Highlight Area EuiRange', function () {
144
141
  });
145
142
  describe('Keyboard accessibility check', function () {
146
143
  it('has zero violations when the highlight area is adjusted using arrow keys', function () {
147
- cy.realPress('Tab');
148
- cy.get('div[role="slider"]').first().should('have.focus');
144
+ cy.get('div[role="slider"]').first().focus();
149
145
  cy.repeatRealPress('ArrowLeft', 3);
150
146
  cy.get('div[role="slider"]').first().invoke('attr', 'aria-valuetext').should('eq', '37, 57');
151
147
  cy.checkAxe();
@@ -190,8 +186,7 @@ describe('Highlight Area EuiRange', function () {
190
186
  });
191
187
  describe('Keyboard accessibility check', function () {
192
188
  it('updates the range value using arrow keys with input[type="number"]', function () {
193
- cy.realPress('Tab');
194
- cy.get('input#cy-range-in-dropdown').should('have.focus');
189
+ cy.get('input#cy-range-in-dropdown').focus();
195
190
  cy.repeatRealPress('ArrowUp', 10);
196
191
  cy.get('input[type="range"]').first().invoke('attr', 'value').should('eq', '30');
197
192
  cy.checkAxe();
@@ -222,6 +222,7 @@ var EuiSuperSelect = /*#__PURE__*/function (_Component) {
222
222
  dropdownDisplay = option.dropdownDisplay,
223
223
  inputDisplay = option.inputDisplay,
224
224
  optionRest = (0, _objectWithoutProperties2.default)(option, _excluded2);
225
+ if (value == null) return;
225
226
  return (0, _react2.jsx)(_context_menu.EuiContextMenuItem, (0, _extends2.default)({
226
227
  key: index,
227
228
  className: itemClasses,
@@ -235,7 +236,7 @@ var EuiSuperSelect = /*#__PURE__*/function (_Component) {
235
236
  return _this2.setItemNode(node, index);
236
237
  },
237
238
  role: "option",
238
- id: value,
239
+ id: String(value),
239
240
  "aria-selected": valueOfSelected === value
240
241
  }, optionRest), dropdownDisplay || inputDisplay);
241
242
  });
@@ -261,7 +262,7 @@ var EuiSuperSelect = /*#__PURE__*/function (_Component) {
261
262
  "aria-describedby": _this2.describedById,
262
263
  className: "euiSuperSelect__listbox",
263
264
  role: "listbox",
264
- "aria-activedescendant": valueOfSelected,
265
+ "aria-activedescendant": valueOfSelected != null ? String(valueOfSelected) : undefined,
265
266
  tabIndex: 0
266
267
  }, items);
267
268
  }));
@@ -28,8 +28,7 @@ var EuiSuperSelectControl = function EuiSuperSelectControl(props) {
28
28
  var _useFormContext = (0, _eui_form_context.useFormContext)(),
29
29
  defaultFullWidth = _useFormContext.defaultFullWidth;
30
30
  var className = props.className,
31
- _props$options = props.options,
32
- options = _props$options === void 0 ? [] : _props$options,
31
+ options = props.options,
33
32
  id = props.id,
34
33
  name = props.name,
35
34
  _props$fullWidth = props.fullWidth,
@@ -60,27 +59,21 @@ var EuiSuperSelectControl = function EuiSuperSelectControl(props) {
60
59
  'euiSuperSelectControl-isLoading': isLoading,
61
60
  'euiSuperSelectControl-isInvalid': isInvalid
62
61
  }, className);
63
-
64
- // React HTML input can not have both value and defaultValue properties.
65
- // https://reactjs.org/docs/uncontrolled-components.html#default-values
66
- var selectDefaultValue;
67
- if (value == null) {
68
- selectDefaultValue = defaultValue || '';
69
- }
70
- var selectedValue;
71
- if (value) {
72
- var selectedOption = options.find(function (option) {
73
- return option.value === value;
74
- });
75
- selectedValue = selectedOption ? selectedOption.inputDisplay : selectedValue;
76
- }
62
+ var inputValue = value != null ? value : defaultValue;
63
+ var selectedValue = (0, _react.useMemo)(function () {
64
+ if (inputValue != null) {
65
+ var selectedOption = options === null || options === void 0 ? void 0 : options.find(function (option) {
66
+ return option.value === inputValue;
67
+ });
68
+ return selectedOption ? selectedOption.inputDisplay : undefined;
69
+ }
70
+ }, [inputValue, options]);
77
71
  var showPlaceholder = !!placeholder && !selectedValue;
78
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)("input", {
72
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("input", {
79
73
  type: "hidden",
80
74
  id: id,
81
75
  name: name,
82
- defaultValue: selectDefaultValue,
83
- value: value,
76
+ value: String(inputValue !== null && inputValue !== void 0 ? inputValue : ''),
84
77
  readOnly: readOnly
85
78
  }), (0, _react2.jsx)(_form_control_layout.EuiFormControlLayout, {
86
79
  isDropdown: true,
@@ -333,7 +333,7 @@ describe('EuiHeader', function () {
333
333
  cy.checkAxe();
334
334
  });
335
335
  it('has zero violations when a hidden breadcrumb is expanded', function () {
336
- cy.get('button[aria-label="See collapsed breadcrumbs"]').realClick();
336
+ cy.get('button[title="See collapsed breadcrumbs"]').realClick();
337
337
  cy.get('a[data-test-subj="cy-breadcrumb-hidden"]').should('exist');
338
338
  cy.checkAxe();
339
339
  });
@@ -45,8 +45,7 @@ describe('EuiImage', function () {
45
45
  cy.checkAxe();
46
46
  });
47
47
  it('has zero violations on keyboard interaction', function () {
48
- cy.realPress('Tab');
49
- cy.get('button[data-test-subj="activateFullScreenButton"]').should('have.focus');
48
+ cy.get('button[data-test-subj="activateFullScreenButton"]').focus();
50
49
  cy.realPress('Enter');
51
50
  cy.get('button[data-test-subj="deactivateFullScreenButton"]').should('exist');
52
51
  cy.get('button[data-test-subj="deactivateFullScreenButton"]').should('have.focus');
@@ -133,20 +133,20 @@ describe('EuiKeyPadMenu', function () {
133
133
  });
134
134
  it('has zero violations on item click', function () {
135
135
  cy.get('a[data-test-subj="cy-keypad-link-2"]').realClick();
136
- cy.get('a[data-test-subj="cy-keypad-link-2"]').should('have.class', 'euiKeyPadMenuItem-isSelected');
136
+ cy.get('a[data-test-subj="cy-keypad-link-2"]').should('have.attr', 'aria-current', 'true');
137
137
  cy.checkAxe();
138
138
  });
139
139
  it('has zero violations on item keypress', function () {
140
140
  cy.repeatRealPress('Tab', 3);
141
141
  cy.get('button[data-test-subj="cy-keypad-button-3"]').should('have.focus');
142
142
  cy.realPress('Space');
143
- cy.get('button[data-test-subj="cy-keypad-button-3"]').should('have.class', 'euiKeyPadMenuItem-isSelected');
143
+ cy.get('button[data-test-subj="cy-keypad-button-3"]').should('have.attr', 'aria-pressed', 'true');
144
144
  cy.checkAxe();
145
145
  cy.realPress(['Shift', 'Tab']);
146
- cy.get('button[data-test-subj="cy-keypad-button-2"]').should('have.focus');
146
+ cy.get('button[data-test-subj="cy-keypad-button-2"]').should('have.attr', 'aria-pressed', 'false');
147
147
  cy.realPress('Space');
148
- cy.get('button[data-test-subj="cy-keypad-button-2"]').should('have.class', 'euiKeyPadMenuItem-isSelected');
149
- cy.get('button[data-test-subj="cy-keypad-button-3"]').should('not.have.class', 'euiKeyPadMenuItem-isSelected');
148
+ cy.get('button[data-test-subj="cy-keypad-button-2"]').invoke('attr', 'aria-pressed').should('equal', 'true');
149
+ cy.get('button[data-test-subj="cy-keypad-button-3"]').invoke('attr', 'aria-pressed').should('equal', 'false');
150
150
  cy.checkAxe();
151
151
  });
152
152
  });
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EuiExternalLinkIcon = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _services = require("../../services");
12
+ var _global_styling = require("../../global_styling");
13
+ var _icon = require("../icon");
14
+ var _i18n = require("../i18n");
15
+ var _accessibility = require("../accessibility");
16
+ var _react2 = require("@emotion/react");
17
+ var _excluded = ["target", "external"];
18
+ /*
19
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
20
+ * or more contributor license agreements. Licensed under the Elastic License
21
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
22
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
23
+ * Side Public License, v 1.
24
+ */
25
+ /**
26
+ * DRY util for indicating external links both via icon and to
27
+ * screen readers. Used internally by at EuiLink and EuiListGroupItem
28
+ */
29
+ var EuiExternalLinkIcon = function EuiExternalLinkIcon(_ref) {
30
+ var target = _ref.target,
31
+ external = _ref.external,
32
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
+ var _useEuiTheme = (0, _services.useEuiTheme)(),
34
+ euiTheme = _useEuiTheme.euiTheme;
35
+ var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
36
+ var iconAriaLabel = (0, _i18n.useEuiI18n)('euiExternalLinkIcon.ariaLabel', 'External link');
37
+ return (0, _react2.jsx)(_react.default.Fragment, null, showExternalLinkIcon && (0, _react2.jsx)(_icon.EuiIcon, (0, _extends2.default)({
38
+ css: (0, _global_styling.logicalStyle)('margin-left', euiTheme.size.xs),
39
+ "aria-label": iconAriaLabel,
40
+ size: "s",
41
+ type: "popout"
42
+ }, rest)), target === '_blank' && (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("span", null, (0, _react2.jsx)(_i18n.EuiI18n, {
43
+ token: "euiExternalLinkIcon.newTarget.screenReaderOnlyText",
44
+ default: "(opens in a new tab or window)"
45
+ }))));
46
+ };
47
+ exports.EuiExternalLinkIcon = EuiExternalLinkIcon;
@@ -12,11 +12,9 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _services = require("../../services");
15
- var _link = require("./link.styles");
16
- var _icon = require("../icon");
17
- var _i18n = require("../i18n");
18
- var _accessibility = require("../accessibility");
19
15
  var _href_validator = require("../../services/security/href_validator");
16
+ var _external_link_icon = require("./external_link_icon");
17
+ var _link = require("./link.styles");
20
18
  var _react2 = require("@emotion/react");
21
19
  var _excluded = ["children", "color", "className", "href", "external", "target", "rel", "type", "onClick", "disabled"];
22
20
  /*
@@ -49,22 +47,8 @@ var EuiLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
49
47
  var euiTheme = (0, _services.useEuiTheme)();
50
48
  var styles = (0, _link.euiLinkStyles)(euiTheme);
51
49
  var cssStyles = [styles.euiLink];
52
- var cssScreenReaderTextStyles = [styles.euiLink__screenReaderText];
53
- var cssExternalLinkIconStyles = [styles.euiLink__externalIcon];
54
50
  var isHrefValid = !href || (0, _href_validator.validateHref)(href);
55
51
  var disabled = _disabled || !isHrefValid;
56
- var newTargetScreenreaderText = (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, {
57
- css: cssScreenReaderTextStyles
58
- }, (0, _react2.jsx)("span", null, (0, _react2.jsx)(_i18n.EuiI18n, {
59
- token: "euiLink.newTarget.screenReaderOnlyText",
60
- default: "(opens in a new tab or window)"
61
- })));
62
- var externalLinkIcon = (0, _react2.jsx)(_icon.EuiIcon, {
63
- "aria-label": (0, _i18n.useEuiI18n)('euiLink.external.ariaLabel', 'External link'),
64
- size: "s",
65
- css: cssExternalLinkIconStyles,
66
- type: "popout"
67
- });
68
52
  if (href === undefined || !isHrefValid) {
69
53
  var buttonProps = _objectSpread({
70
54
  className: (0, _classnames.default)('euiLink', className),
@@ -90,10 +74,12 @@ var EuiLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
90
74
  rel: secureRel,
91
75
  onClick: onClick
92
76
  }, rest);
93
- var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
94
77
  return (0, _react2.jsx)("a", (0, _extends2.default)({
95
78
  ref: ref
96
- }, anchorProps), children, showExternalLinkIcon && externalLinkIcon, target === '_blank' && newTargetScreenreaderText);
79
+ }, anchorProps), children, (0, _react2.jsx)(_external_link_icon.EuiExternalLinkIcon, {
80
+ external: external,
81
+ target: target
82
+ }));
97
83
  });
98
84
  exports.EuiLink = EuiLink;
99
85
  EuiLink.displayName = 'EuiLink';
@@ -50,10 +50,7 @@ var euiLinkStyles = function euiLinkStyles(euiThemeContext) {
50
50
  danger: /*#__PURE__*/(0, _react.css)(_colorCSS(euiTheme.colors.dangerText), ";label:danger;"),
51
51
  warning: /*#__PURE__*/(0, _react.css)(_colorCSS(euiTheme.colors.warningText), ";label:warning;"),
52
52
  ghost: /*#__PURE__*/(0, _react.css)(_colorCSS(euiTheme.colors.ghost), ";label:ghost;"),
53
- text: /*#__PURE__*/(0, _react.css)(_colorCSS(euiTheme.colors.text), ";label:text;"),
54
- // Children
55
- euiLink__screenReaderText: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', '0px'), ";;label:euiLink__screenReaderText;"),
56
- euiLink__externalIcon: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-left', euiTheme.size.xs), ";;label:euiLink__externalIcon;")
53
+ text: /*#__PURE__*/(0, _react.css)(_colorCSS(euiTheme.colors.text), ";label:text;")
57
54
  };
58
55
  };
59
56
  exports.euiLinkStyles = euiLinkStyles;
@@ -18,9 +18,10 @@ var _inner_text = require("../inner_text");
18
18
  var _list_group_item_extra_action = require("./list_group_item_extra_action");
19
19
  var _services = require("../../services");
20
20
  var _href_validator = require("../../services/security/href_validator");
21
+ var _external_link_icon = require("../link/external_link_icon");
21
22
  var _list_group_item = require("./list_group_item.styles");
22
23
  var _react2 = require("@emotion/react");
23
- var _excluded = ["label", "isActive", "isDisabled", "href", "target", "rel", "className", "css", "style", "iconType", "icon", "iconProps", "extraAction", "onClick", "size", "color", "showToolTip", "wrapText", "buttonRef", "toolTipText", "toolTipProps"],
24
+ var _excluded = ["label", "isActive", "isDisabled", "href", "rel", "target", "external", "className", "css", "style", "iconType", "icon", "iconProps", "extraAction", "onClick", "size", "color", "showToolTip", "wrapText", "buttonRef", "toolTipText", "toolTipProps"],
24
25
  _excluded2 = ["iconType", "alwaysShow", "isDisabled"];
25
26
  /*
26
27
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -44,8 +45,9 @@ var EuiListGroupItem = function EuiListGroupItem(_ref) {
44
45
  _ref$isDisabled = _ref.isDisabled,
45
46
  _isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
46
47
  href = _ref.href,
47
- target = _ref.target,
48
48
  rel = _ref.rel,
49
+ target = _ref.target,
50
+ external = _ref.external,
49
51
  className = _ref.className,
50
52
  customCss = _ref.css,
51
53
  style = _ref.style,
@@ -145,7 +147,10 @@ var EuiListGroupItem = function EuiListGroupItem(_ref) {
145
147
  target: target
146
148
  }),
147
149
  onClick: onClick
148
- }, rest), iconNode, labelContent);
150
+ }, rest), iconNode, labelContent, (0, _react2.jsx)(_external_link_icon.EuiExternalLinkIcon, {
151
+ external: external,
152
+ target: target
153
+ }));
149
154
  } else if (href && isDisabled || onClick) {
150
155
  itemContent = (0, _react2.jsx)("button", (0, _extends2.default)({
151
156
  type: "button",
@@ -72,7 +72,8 @@ var euiListGroupItemInnerStyles = function euiListGroupItemInnerStyles(euiThemeC
72
72
  // Variants
73
73
  isDisabled: /*#__PURE__*/(0, _react.css)("cursor:not-allowed;&,&:hover,&:focus{color:", (0, _button.euiButtonColor)(euiThemeContext, 'disabled').color, ";cursor:not-allowed;background-color:transparent;text-decoration:none;};label:isDisabled;"),
74
74
  isActive: /*#__PURE__*/(0, _react.css)(";label:isActive;"),
75
- isClickable: _ref
75
+ isClickable: _ref,
76
+ externalIcon: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-left', euiTheme.size.xs), ";;label:externalIcon;")
76
77
  };
77
78
  };
78
79
  exports.euiListGroupItemInnerStyles = euiListGroupItemInnerStyles;
@@ -93,8 +93,7 @@ describe('EuiNotificationEvent', function () {
93
93
  });
94
94
  describe('Keyboard accessibility', function () {
95
95
  it('has zero violations when the popover is opened by keyboard', function () {
96
- cy.repeatRealPress('Tab');
97
- cy.get('button[data-test-subj="cy-eui-notification-1-notificationEventMetaButton"]').should('have.focus');
96
+ cy.get('button[data-test-subj="cy-eui-notification-1-notificationEventMetaButton"]').focus();
98
97
  cy.realPress('Enter');
99
98
  cy.get('div.euiPopover__panel').should('exist');
100
99
  cy.checkAxe();
@@ -209,9 +209,12 @@ var EuiPopover = /*#__PURE__*/function (_Component) {
209
209
  anchor: _this.button,
210
210
  popover: _this.panel,
211
211
  offset: _this.props.attachToAnchor ? offset : _this.props.hasArrow ? 16 + offset : 8 + offset,
212
- arrowConfig: {
212
+ arrowConfig: _this.props.hasArrow ? {
213
213
  arrowWidth: 24,
214
214
  arrowBuffer: 10
215
+ } : {
216
+ arrowWidth: 0,
217
+ arrowBuffer: 0
215
218
  },
216
219
  returnBoundingBox: _this.props.attachToAnchor,
217
220
  allowCrossAxis: _this.props.repositionToCrossAxis,
@@ -52,22 +52,19 @@ describe('Horizontal EuiResizableContainer', function () {
52
52
  });
53
53
  describe('Keyboard accessibility check', function () {
54
54
  it('has zero violations when first panel is scrolled vertically', function () {
55
- cy.realPress('Tab');
56
- cy.get('div.euiPanel').first().should('have.focus');
55
+ cy.get('div.euiPanel').first().focus();
57
56
  cy.realPress('End');
58
57
  cy.get('a[data-test-subj="hello-world-link"]').should('be.visible');
59
58
  cy.checkAxe();
60
59
  });
61
60
  it('has zero violations when second panel is scrolled vertically', function () {
62
- cy.repeatRealPress('Tab', 4);
63
- cy.get('div.euiPanel').last().should('have.focus');
61
+ cy.get('div.euiPanel').last().focus();
64
62
  cy.realPress('End');
65
63
  cy.realPress('Home');
66
64
  cy.checkAxe();
67
65
  });
68
66
  it('has zero violations when the horizontal panels are resized', function () {
69
- cy.repeatRealPress('Tab', 3);
70
- cy.get('button.euiResizableButton').should('have.focus');
67
+ cy.get('button.euiResizableButton').focus();
71
68
  cy.repeatRealPress('ArrowRight', 10);
72
69
  cy.checkAxe();
73
70
  });
@@ -102,8 +99,7 @@ describe('Vertical EuiResizableContainer', function () {
102
99
  cy.checkAxe();
103
100
  });
104
101
  it('has zero violations when the vertical panels are resized', function () {
105
- cy.repeatRealPress('Tab');
106
- cy.get('button.euiResizableButton').should('have.focus');
102
+ cy.get('button.euiResizableButton').focus();
107
103
  cy.repeatRealPress('ArrowDown', 10);
108
104
  cy.checkAxe();
109
105
  });
@@ -183,8 +183,7 @@ describe('EuiSearchBar', function () {
183
183
  });
184
184
  describe('Keyboard accessibility', function () {
185
185
  it('has zero violations after a full-text search', function () {
186
- cy.realPress('Tab');
187
- cy.get('input[type="search"]').should('have.focus');
186
+ cy.get('input[type="search"]').focus();
188
187
  cy.get('input[type="search"]').type('watch');
189
188
  cy.realPress('Enter');
190
189
  cy.get('table.euiTable tbody').find('tr').should('have.length', 1);
@@ -196,8 +195,7 @@ describe('EuiSearchBar', function () {
196
195
  cy.checkAxe();
197
196
  });
198
197
  it('has zero violations after filtering on Open items', function () {
199
- cy.repeatRealPress('Tab');
200
- cy.get('button.euiButtonEmpty').first().should('have.focus');
198
+ cy.get('button.euiButtonEmpty').first().focus();
201
199
  cy.realPress('Enter');
202
200
  cy.get('table.euiTable tbody').find('tr').should('have.length', 3);
203
201
  cy.checkAxe();
@@ -208,8 +206,7 @@ describe('EuiSearchBar', function () {
208
206
  cy.checkAxe();
209
207
  });
210
208
  it('has zero violations after filtering by Tags', function () {
211
- cy.repeatRealPress('Tab', 4);
212
- cy.get('button.euiButtonEmpty').last().should('have.focus');
209
+ cy.get('button.euiButtonEmpty').last().focus();
213
210
  cy.realPress('Enter');
214
211
  cy.realPress('Tab');
215
212
  cy.realPress('ArrowDown');