@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
@@ -0,0 +1,51 @@
1
+ var _excluded = ["target", "external"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ /*
6
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
+ * or more contributor license agreements. Licensed under the Elastic License
8
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
9
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
10
+ * Side Public License, v 1.
11
+ */
12
+
13
+ import React from 'react';
14
+ import PropTypes from "prop-types";
15
+ import { useEuiTheme } from '../../services';
16
+ import { logicalStyle } from '../../global_styling';
17
+ import { EuiIcon } from '../icon';
18
+ import { EuiI18n, useEuiI18n } from '../i18n';
19
+ import { EuiScreenReaderOnly } from '../accessibility';
20
+
21
+ /**
22
+ * DRY util for indicating external links both via icon and to
23
+ * screen readers. Used internally by at EuiLink and EuiListGroupItem
24
+ */
25
+ import { jsx as ___EmotionJSX } from "@emotion/react";
26
+ export var EuiExternalLinkIcon = function EuiExternalLinkIcon(_ref) {
27
+ var target = _ref.target,
28
+ external = _ref.external,
29
+ rest = _objectWithoutProperties(_ref, _excluded);
30
+ var _useEuiTheme = useEuiTheme(),
31
+ euiTheme = _useEuiTheme.euiTheme;
32
+ var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
33
+ var iconAriaLabel = useEuiI18n('euiExternalLinkIcon.ariaLabel', 'External link');
34
+ return ___EmotionJSX(React.Fragment, null, showExternalLinkIcon && ___EmotionJSX(EuiIcon, _extends({
35
+ css: logicalStyle('margin-left', euiTheme.size.xs),
36
+ "aria-label": iconAriaLabel,
37
+ size: "s",
38
+ type: "popout"
39
+ }, rest)), target === '_blank' && ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("span", null, ___EmotionJSX(EuiI18n, {
40
+ token: "euiExternalLinkIcon.newTarget.screenReaderOnlyText",
41
+ default: "(opens in a new tab or window)"
42
+ }))));
43
+ };
44
+ EuiExternalLinkIcon.propTypes = {
45
+ target: PropTypes.any,
46
+ /**
47
+ * Set to true to show an icon indicating that it is an external link;
48
+ * Defaults to true if `target="_blank"`
49
+ */
50
+ external: PropTypes.bool
51
+ };
@@ -20,11 +20,9 @@ import React, { forwardRef } from 'react';
20
20
  import PropTypes from "prop-types";
21
21
  import classNames from 'classnames';
22
22
  import { getSecureRelForTarget, useEuiTheme } from '../../services';
23
- import { euiLinkStyles } from './link.styles';
24
- import { EuiIcon } from '../icon';
25
- import { EuiI18n, useEuiI18n } from '../i18n';
26
- import { EuiScreenReaderOnly } from '../accessibility';
27
23
  import { validateHref } from '../../services/security/href_validator';
24
+ import { EuiExternalLinkIcon } from './external_link_icon';
25
+ import { euiLinkStyles } from './link.styles';
28
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
29
27
  export var COLORS = ['primary', 'subdued', 'success', 'accent', 'danger', 'warning', 'text', 'ghost'];
30
28
  var EuiLink = /*#__PURE__*/forwardRef(function (_ref, ref) {
@@ -44,22 +42,8 @@ var EuiLink = /*#__PURE__*/forwardRef(function (_ref, ref) {
44
42
  var euiTheme = useEuiTheme();
45
43
  var styles = euiLinkStyles(euiTheme);
46
44
  var cssStyles = [styles.euiLink];
47
- var cssScreenReaderTextStyles = [styles.euiLink__screenReaderText];
48
- var cssExternalLinkIconStyles = [styles.euiLink__externalIcon];
49
45
  var isHrefValid = !href || validateHref(href);
50
46
  var disabled = _disabled || !isHrefValid;
51
- var newTargetScreenreaderText = ___EmotionJSX(EuiScreenReaderOnly, {
52
- css: cssScreenReaderTextStyles
53
- }, ___EmotionJSX("span", null, ___EmotionJSX(EuiI18n, {
54
- token: "euiLink.newTarget.screenReaderOnlyText",
55
- default: "(opens in a new tab or window)"
56
- })));
57
- var externalLinkIcon = ___EmotionJSX(EuiIcon, {
58
- "aria-label": useEuiI18n('euiLink.external.ariaLabel', 'External link'),
59
- size: "s",
60
- css: cssExternalLinkIconStyles,
61
- type: "popout"
62
- });
63
47
  if (href === undefined || !isHrefValid) {
64
48
  var buttonProps = _objectSpread({
65
49
  className: classNames('euiLink', className),
@@ -85,10 +69,12 @@ var EuiLink = /*#__PURE__*/forwardRef(function (_ref, ref) {
85
69
  rel: secureRel,
86
70
  onClick: onClick
87
71
  }, rest);
88
- var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
89
72
  return ___EmotionJSX("a", _extends({
90
73
  ref: ref
91
- }, anchorProps), children, showExternalLinkIcon && externalLinkIcon, target === '_blank' && newTargetScreenreaderText);
74
+ }, anchorProps), children, ___EmotionJSX(EuiExternalLinkIcon, {
75
+ external: external,
76
+ target: target
77
+ }));
92
78
  });
93
79
  EuiLink.propTypes = {
94
80
  className: PropTypes.string,
@@ -8,7 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  */
9
9
 
10
10
  import { css } from '@emotion/react';
11
- import { euiFocusRing, logicalCSS, logicalTextAlignCSS } from '../../global_styling';
11
+ import { euiFocusRing, logicalTextAlignCSS } from '../../global_styling';
12
12
  var _colorCSS = function _colorCSS(color) {
13
13
  return "\n color: ".concat(color, ";\n\n &:target {\n color: darken(").concat(color, ", 10%);\n }\n ");
14
14
  };
@@ -43,9 +43,6 @@ export var euiLinkStyles = function euiLinkStyles(euiThemeContext) {
43
43
  danger: /*#__PURE__*/css(_colorCSS(euiTheme.colors.dangerText), ";label:danger;"),
44
44
  warning: /*#__PURE__*/css(_colorCSS(euiTheme.colors.warningText), ";label:warning;"),
45
45
  ghost: /*#__PURE__*/css(_colorCSS(euiTheme.colors.ghost), ";label:ghost;"),
46
- text: /*#__PURE__*/css(_colorCSS(euiTheme.colors.text), ";label:text;"),
47
- // Children
48
- euiLink__screenReaderText: /*#__PURE__*/css(logicalCSS('left', '0px'), ";;label:euiLink__screenReaderText;"),
49
- euiLink__externalIcon: /*#__PURE__*/css(logicalCSS('margin-left', euiTheme.size.xs), ";;label:euiLink__externalIcon;")
46
+ text: /*#__PURE__*/css(_colorCSS(euiTheme.colors.text), ";label:text;")
50
47
  };
51
48
  };
@@ -141,8 +141,13 @@ EuiListGroup.propTypes = {
141
141
  * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
142
142
  */
143
143
  href: PropTypes.string,
144
- target: PropTypes.string,
145
144
  rel: PropTypes.string,
145
+ target: PropTypes.string,
146
+ /**
147
+ * Set to true to show an icon indicating that it is an external link;
148
+ * Defaults to true if `target="_blank"`
149
+ */
150
+ external: PropTypes.bool,
146
151
  /**
147
152
  * Adds `EuiIcon` of `EuiIcon.type`
148
153
  */
@@ -1,5 +1,5 @@
1
1
  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); }
2
- var _excluded = ["label", "isActive", "isDisabled", "href", "target", "rel", "className", "css", "style", "iconType", "icon", "iconProps", "extraAction", "onClick", "size", "color", "showToolTip", "wrapText", "buttonRef", "toolTipText", "toolTipProps"],
2
+ var _excluded = ["label", "isActive", "isDisabled", "href", "rel", "target", "external", "className", "css", "style", "iconType", "icon", "iconProps", "extraAction", "onClick", "size", "color", "showToolTip", "wrapText", "buttonRef", "toolTipText", "toolTipProps"],
3
3
  _excluded2 = ["iconType", "alwaysShow", "isDisabled"];
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -32,6 +32,7 @@ import { useInnerText } from '../inner_text';
32
32
  import { EuiListGroupItemExtraAction } from './list_group_item_extra_action';
33
33
  import { getSecureRelForTarget, useEuiTheme, cloneElementWithCss } from '../../services';
34
34
  import { validateHref } from '../../services/security/href_validator';
35
+ import { EuiExternalLinkIcon } from '../link/external_link_icon';
35
36
  import { euiListGroupItemStyles, euiListGroupItemIconStyles, euiListGroupItemInnerStyles, euiListGroupItemTooltipStyles, euiListGroupItemLabelStyles } from './list_group_item.styles';
36
37
  import { jsx as ___EmotionJSX } from "@emotion/react";
37
38
  export var SIZES = ['xs', 's', 'm', 'l'];
@@ -43,8 +44,9 @@ export var EuiListGroupItem = function EuiListGroupItem(_ref) {
43
44
  _ref$isDisabled = _ref.isDisabled,
44
45
  _isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
45
46
  href = _ref.href,
46
- target = _ref.target,
47
47
  rel = _ref.rel,
48
+ target = _ref.target,
49
+ external = _ref.external,
48
50
  className = _ref.className,
49
51
  customCss = _ref.css,
50
52
  style = _ref.style,
@@ -144,7 +146,10 @@ export var EuiListGroupItem = function EuiListGroupItem(_ref) {
144
146
  target: target
145
147
  }),
146
148
  onClick: onClick
147
- }, rest), iconNode, labelContent);
149
+ }, rest), iconNode, labelContent, ___EmotionJSX(EuiExternalLinkIcon, {
150
+ external: external,
151
+ target: target
152
+ }));
148
153
  } else if (href && isDisabled || onClick) {
149
154
  itemContent = ___EmotionJSX("button", _extends({
150
155
  type: "button",
@@ -223,8 +228,13 @@ EuiListGroupItem.propTypes = {
223
228
  * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
224
229
  */
225
230
  href: PropTypes.string,
226
- target: PropTypes.string,
227
231
  rel: PropTypes.string,
232
+ target: PropTypes.string,
233
+ /**
234
+ * Set to true to show an icon indicating that it is an external link;
235
+ * Defaults to true if `target="_blank"`
236
+ */
237
+ external: PropTypes.bool,
228
238
  /**
229
239
  * Adds `EuiIcon` of `EuiIcon.type`
230
240
  */
@@ -67,7 +67,8 @@ export var euiListGroupItemInnerStyles = function euiListGroupItemInnerStyles(eu
67
67
  // Variants
68
68
  isDisabled: /*#__PURE__*/css("cursor:not-allowed;&,&:hover,&:focus{color:", euiButtonColor(euiThemeContext, 'disabled').color, ";cursor:not-allowed;background-color:transparent;text-decoration:none;};label:isDisabled;"),
69
69
  isActive: /*#__PURE__*/css(";label:isActive;"),
70
- isClickable: _ref
70
+ isClickable: _ref,
71
+ externalIcon: /*#__PURE__*/css(logicalCSS('margin-left', euiTheme.size.xs), ";;label:externalIcon;")
71
72
  };
72
73
  };
73
74
  export var euiListGroupItemLabelStyles = function euiListGroupItemLabelStyles() {
@@ -138,8 +138,13 @@ EuiPinnableListGroup.propTypes = {
138
138
  * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
139
139
  */
140
140
  href: PropTypes.string,
141
- target: PropTypes.string,
142
141
  rel: PropTypes.string,
142
+ target: PropTypes.string,
143
+ /**
144
+ * Set to true to show an icon indicating that it is an external link;
145
+ * Defaults to true if `target="_blank"`
146
+ */
147
+ external: PropTypes.bool,
143
148
  /**
144
149
  * Adds `EuiIcon` of `EuiIcon.type`
145
150
  */
@@ -269,8 +274,13 @@ EuiPinnableListGroup.propTypes = {
269
274
  * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
270
275
  */
271
276
  href: PropTypes.string,
272
- target: PropTypes.string,
273
277
  rel: PropTypes.string,
278
+ target: PropTypes.string,
279
+ /**
280
+ * Set to true to show an icon indicating that it is an external link;
281
+ * Defaults to true if `target="_blank"`
282
+ */
283
+ external: PropTypes.bool,
274
284
  /**
275
285
  * Adds `EuiIcon` of `EuiIcon.type`
276
286
  */
@@ -92,8 +92,7 @@ describe('EuiNotificationEvent', function () {
92
92
  });
93
93
  describe('Keyboard accessibility', function () {
94
94
  it('has zero violations when the popover is opened by keyboard', function () {
95
- cy.repeatRealPress('Tab');
96
- cy.get('button[data-test-subj="cy-eui-notification-1-notificationEventMetaButton"]').should('have.focus');
95
+ cy.get('button[data-test-subj="cy-eui-notification-1-notificationEventMetaButton"]').focus();
97
96
  cy.realPress('Enter');
98
97
  cy.get('div.euiPopover__panel').should('exist');
99
98
  cy.checkAxe();
@@ -227,10 +227,10 @@ EuiNotificationEvent.propTypes = {
227
227
  type: PropTypes.oneOf(["button", "submit"]),
228
228
  buttonRef: PropTypes.any,
229
229
  /**
230
- * Object of props passed to the <span/> wrapping the button's content
230
+ * Object of props passed to the `<span>` wrapping the button's content
231
231
  */
232
232
  /**
233
- * Object of props passed to the <span/> wrapping the button's content
233
+ * Object of props passed to the `<span>` wrapping the button's content
234
234
  */
235
235
  contentProps: PropTypes.shape({
236
236
  className: PropTypes.string,
@@ -247,16 +247,18 @@ EuiNotificationEvent.propTypes = {
247
247
  */
248
248
  iconSide: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf([undefined])]),
249
249
  /**
250
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
250
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
251
+ *
252
+ * This span wrapper can be removed by passing `textProps={false}`.
251
253
  */
252
- textProps: PropTypes.shape({
254
+ textProps: PropTypes.oneOfType([PropTypes.shape({
253
255
  className: PropTypes.string,
254
256
  "aria-label": PropTypes.string,
255
257
  "data-test-subj": PropTypes.string,
256
258
  css: PropTypes.any,
257
259
  ref: PropTypes.any,
258
260
  "data-text": PropTypes.string
259
- }),
261
+ }).isRequired, PropTypes.oneOf([false])]),
260
262
  iconSize: PropTypes.any,
261
263
  className: PropTypes.string,
262
264
  "aria-label": PropTypes.string,
@@ -111,10 +111,10 @@ EuiPaginationButton.propTypes = {
111
111
  type: PropTypes.oneOf(["button", "submit"]),
112
112
  buttonRef: PropTypes.any,
113
113
  /**
114
- * Object of props passed to the <span/> wrapping the button's content
114
+ * Object of props passed to the `<span>` wrapping the button's content
115
115
  */
116
116
  /**
117
- * Object of props passed to the <span/> wrapping the button's content
117
+ * Object of props passed to the `<span>` wrapping the button's content
118
118
  */
119
119
  contentProps: PropTypes.shape({
120
120
  className: PropTypes.string,
@@ -131,16 +131,18 @@ EuiPaginationButton.propTypes = {
131
131
  */
132
132
  iconSide: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf([undefined])]),
133
133
  /**
134
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
134
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
135
+ *
136
+ * This span wrapper can be removed by passing `textProps={false}`.
135
137
  */
136
- textProps: PropTypes.shape({
138
+ textProps: PropTypes.oneOfType([PropTypes.shape({
137
139
  className: PropTypes.string,
138
140
  "aria-label": PropTypes.string,
139
141
  "data-test-subj": PropTypes.string,
140
142
  css: PropTypes.any,
141
143
  ref: PropTypes.any,
142
144
  "data-text": PropTypes.string
143
- }),
145
+ }).isRequired, PropTypes.oneOf([false])]),
144
146
  iconSize: PropTypes.any,
145
147
  className: PropTypes.string,
146
148
  "aria-label": PropTypes.string,
@@ -213,9 +213,12 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
213
213
  anchor: _this.button,
214
214
  popover: _this.panel,
215
215
  offset: _this.props.attachToAnchor ? offset : _this.props.hasArrow ? 16 + offset : 8 + offset,
216
- arrowConfig: {
216
+ arrowConfig: _this.props.hasArrow ? {
217
217
  arrowWidth: 24,
218
218
  arrowBuffer: 10
219
+ } : {
220
+ arrowWidth: 0,
221
+ arrowBuffer: 0
219
222
  },
220
223
  returnBoundingBox: _this.props.attachToAnchor,
221
224
  allowCrossAxis: _this.props.repositionToCrossAxis,
@@ -49,22 +49,19 @@ describe('Horizontal EuiResizableContainer', function () {
49
49
  });
50
50
  describe('Keyboard accessibility check', function () {
51
51
  it('has zero violations when first panel is scrolled vertically', function () {
52
- cy.realPress('Tab');
53
- cy.get('div.euiPanel').first().should('have.focus');
52
+ cy.get('div.euiPanel').first().focus();
54
53
  cy.realPress('End');
55
54
  cy.get('a[data-test-subj="hello-world-link"]').should('be.visible');
56
55
  cy.checkAxe();
57
56
  });
58
57
  it('has zero violations when second panel is scrolled vertically', function () {
59
- cy.repeatRealPress('Tab', 4);
60
- cy.get('div.euiPanel').last().should('have.focus');
58
+ cy.get('div.euiPanel').last().focus();
61
59
  cy.realPress('End');
62
60
  cy.realPress('Home');
63
61
  cy.checkAxe();
64
62
  });
65
63
  it('has zero violations when the horizontal panels are resized', function () {
66
- cy.repeatRealPress('Tab', 3);
67
- cy.get('button.euiResizableButton').should('have.focus');
64
+ cy.get('button.euiResizableButton').focus();
68
65
  cy.repeatRealPress('ArrowRight', 10);
69
66
  cy.checkAxe();
70
67
  });
@@ -99,8 +96,7 @@ describe('Vertical EuiResizableContainer', function () {
99
96
  cy.checkAxe();
100
97
  });
101
98
  it('has zero violations when the vertical panels are resized', function () {
102
- cy.repeatRealPress('Tab');
103
- cy.get('button.euiResizableButton').should('have.focus');
99
+ cy.get('button.euiResizableButton').focus();
104
100
  cy.repeatRealPress('ArrowDown', 10);
105
101
  cy.checkAxe();
106
102
  });
@@ -177,8 +177,7 @@ describe('EuiSearchBar', function () {
177
177
  });
178
178
  describe('Keyboard accessibility', function () {
179
179
  it('has zero violations after a full-text search', function () {
180
- cy.realPress('Tab');
181
- cy.get('input[type="search"]').should('have.focus');
180
+ cy.get('input[type="search"]').focus();
182
181
  cy.get('input[type="search"]').type('watch');
183
182
  cy.realPress('Enter');
184
183
  cy.get('table.euiTable tbody').find('tr').should('have.length', 1);
@@ -190,8 +189,7 @@ describe('EuiSearchBar', function () {
190
189
  cy.checkAxe();
191
190
  });
192
191
  it('has zero violations after filtering on Open items', function () {
193
- cy.repeatRealPress('Tab');
194
- cy.get('button.euiButtonEmpty').first().should('have.focus');
192
+ cy.get('button.euiButtonEmpty').first().focus();
195
193
  cy.realPress('Enter');
196
194
  cy.get('table.euiTable tbody').find('tr').should('have.length', 3);
197
195
  cy.checkAxe();
@@ -202,8 +200,7 @@ describe('EuiSearchBar', function () {
202
200
  cy.checkAxe();
203
201
  });
204
202
  it('has zero violations after filtering by Tags', function () {
205
- cy.repeatRealPress('Tab', 4);
206
- cy.get('button.euiButtonEmpty').last().should('have.focus');
203
+ cy.get('button.euiButtonEmpty').last().focus();
207
204
  cy.realPress('Enter');
208
205
  cy.realPress('Tab');
209
206
  cy.realPress('ArrowDown');
@@ -625,7 +625,22 @@ EuiSelectable.propTypes = {
625
625
  * Option data to pass through to the `renderOptions` element.
626
626
  * Bypass `EuiSelectableItem` and avoid DOM attribute warnings.
627
627
  */
628
- data: PropTypes.shape({})
628
+ data: PropTypes.shape({}),
629
+ /**
630
+ * How to handle long text within the item.
631
+ * Wrapping only works if `isVirtualization` is false.
632
+ * @default 'truncate'
633
+ */
634
+ textWrap: PropTypes.oneOf(["truncate", "wrap"]),
635
+ /**
636
+ * If textWrap is set to `truncate`, you can pass a custom truncation configuration
637
+ * that accepts any [EuiTextTruncate](/#/utilities/text-truncation) prop except for
638
+ * `text` and `children`.
639
+ *
640
+ * Note: when searching, custom truncation props are ignored. The highlighted search
641
+ * text will always take precedence.
642
+ */
643
+ truncationProps: PropTypes.any
629
644
  }).isRequired).isRequired,
630
645
  /**
631
646
  * Passes back the altered `options` array with selected options having `checked: 'on'`.