@elastic/eui 90.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 (552) hide show
  1. package/dist/eui_charts_theme.js +1 -15
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +302 -203
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +302 -203
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accordion/accordion.a11y.js +1 -3
  8. package/es/components/accordion/accordion.js +13 -2
  9. package/es/components/accordion/accordion_children/accordion_children.js +4 -3
  10. package/es/components/basic_table/action_types.js +5 -0
  11. package/es/components/basic_table/basic_table.a11y.js +1 -2
  12. package/es/components/basic_table/basic_table.js +8 -8
  13. package/es/components/basic_table/collapsed_item_actions.js +120 -249
  14. package/es/components/basic_table/custom_item_action.js +9 -95
  15. package/es/components/basic_table/default_item_action.js +23 -14
  16. package/es/components/basic_table/in_memory_table.a11y.js +13 -11
  17. package/es/components/basic_table/in_memory_table.js +8 -8
  18. package/es/components/breadcrumbs/breadcrumb.js +16 -12
  19. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  20. package/es/components/breadcrumbs/breadcrumbs.js +5 -5
  21. package/es/components/button/button_display/_button_display.js +6 -4
  22. package/es/components/button/button_display/_button_display_content.js +8 -4
  23. package/es/components/button/button_empty/button_empty.js +9 -7
  24. package/es/components/button/button_group/button_group.js +13 -13
  25. package/es/components/button/button_group/button_group_button.js +13 -54
  26. package/es/components/button/button_group/button_group_button.styles.js +2 -12
  27. package/es/components/card/card.a11y.js +5 -18
  28. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  29. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  30. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  31. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  32. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +9 -104
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  35. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +67 -81
  36. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  37. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -102
  38. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  39. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +11 -90
  40. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  41. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  42. package/es/components/combo_box/combo_box.js +8 -6
  43. package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  44. package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  45. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  46. package/es/components/combo_box/utils.js +23 -0
  47. package/es/components/context_menu/context_menu_item.js +16 -8
  48. package/es/components/context_menu/context_menu_item.styles.js +1 -1
  49. package/es/components/control_bar/control_bar.js +5 -5
  50. package/es/components/datagrid/body/data_grid_body.js +16 -6
  51. package/es/components/datagrid/body/data_grid_body_custom.js +16 -6
  52. package/es/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  53. package/es/components/datagrid/body/data_grid_cell.js +67 -44
  54. package/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  55. package/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  56. package/es/components/datagrid/body/header/data_grid_header_cell.js +66 -35
  57. package/es/components/datagrid/body/header/data_grid_header_row.js +16 -6
  58. package/es/components/datagrid/controls/column_selector.js +24 -45
  59. package/es/components/datagrid/controls/column_sorting.js +23 -37
  60. package/es/components/datagrid/controls/data_grid_toolbar_control.js +154 -0
  61. package/es/components/datagrid/controls/display_selector.js +21 -17
  62. package/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  63. package/es/components/datagrid/controls/index.js +2 -1
  64. package/es/components/datagrid/data_grid.js +3 -864
  65. package/es/components/datagrid/index.js +1 -1
  66. package/es/components/datagrid/utils/in_memory.js +16 -6
  67. package/es/components/datagrid/utils/row_heights.js +1 -1
  68. package/es/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  69. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
  70. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  71. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  72. package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  73. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  74. package/es/components/error_boundary/error_boundary.a11y.js +1 -1
  75. package/es/components/expression/expression.a11y.js +2 -4
  76. package/es/components/facet/facet_button.js +6 -4
  77. package/es/components/filter_group/filter_button.js +2 -2
  78. package/es/components/filter_group/filter_group.styles.js +1 -1
  79. package/es/components/focus_trap/focus_trap.a11y.js +3 -3
  80. package/es/components/form/range/range.a11y.js +5 -10
  81. package/es/components/form/super_select/super_select.js +3 -2
  82. package/es/components/form/super_select/super_select_control.js +13 -20
  83. package/es/components/header/header.a11y.js +1 -1
  84. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
  85. package/es/components/header/header_links/header_link.js +7 -5
  86. package/es/components/header/header_links/header_links.js +5 -5
  87. package/es/components/header/header_section/header_section_item_button.js +7 -5
  88. package/es/components/i18n/i18n.js +1 -0
  89. package/es/components/image/image.a11y.js +1 -2
  90. package/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  91. package/es/components/link/external_link_icon.js +51 -0
  92. package/es/components/link/link.js +6 -20
  93. package/es/components/link/link.styles.js +2 -5
  94. package/es/components/list_group/list_group.js +6 -1
  95. package/es/components/list_group/list_group_item.js +14 -4
  96. package/es/components/list_group/list_group_item.styles.js +2 -1
  97. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  98. package/es/components/notification/notification_event.a11y.js +1 -2
  99. package/es/components/notification/notification_event.js +7 -5
  100. package/es/components/page/page_header/page_header_content.js +5 -5
  101. package/es/components/pagination/pagination_button.js +7 -5
  102. package/es/components/popover/input_popover.js +1 -1
  103. package/es/components/popover/popover.js +19 -28
  104. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  105. package/es/components/popover/popover_panel/_popover_panel.js +2 -6
  106. package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  107. package/es/components/resizable_container/resizable_container.a11y.js +4 -8
  108. package/es/components/search_bar/search_bar.a11y.js +3 -6
  109. package/es/components/selectable/selectable.js +16 -1
  110. package/es/components/selectable/selectable_list/selectable_list.js +227 -78
  111. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +29 -12
  112. package/es/components/text/text.styles.js +2 -2
  113. package/es/components/text_truncate/text_truncate.js +33 -10
  114. package/es/components/toast/global_toast_list.js +11 -1
  115. package/es/components/tour/tour_step.js +5 -5
  116. package/es/global_styling/mixins/_states.js +4 -1
  117. package/es/services/color/eui_palettes.js +0 -6
  118. package/es/services/color/index.js +1 -1
  119. package/es/services/hooks/useCombinedRefs.js +16 -9
  120. package/es/services/index.js +1 -2
  121. package/es/test/rtl/component_helpers.d.ts +2 -0
  122. package/es/test/rtl/component_helpers.js +40 -1
  123. package/eui.d.ts +562 -218
  124. package/i18ntokens.json +329 -347
  125. package/lib/components/accordion/accordion.a11y.js +1 -3
  126. package/lib/components/accordion/accordion.js +13 -2
  127. package/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  128. package/lib/components/basic_table/action_types.js +8 -2
  129. package/lib/components/basic_table/basic_table.a11y.js +1 -2
  130. package/lib/components/basic_table/basic_table.js +8 -8
  131. package/lib/components/basic_table/collapsed_item_actions.js +128 -257
  132. package/lib/components/basic_table/custom_item_action.js +18 -104
  133. package/lib/components/basic_table/default_item_action.js +23 -14
  134. package/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  135. package/lib/components/basic_table/in_memory_table.js +8 -8
  136. package/lib/components/breadcrumbs/breadcrumb.js +16 -12
  137. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  138. package/lib/components/button/button_display/_button_display.js +6 -4
  139. package/lib/components/button/button_display/_button_display_content.js +8 -4
  140. package/lib/components/button/button_empty/button_empty.js +9 -7
  141. package/lib/components/button/button_group/button_group.js +12 -12
  142. package/lib/components/button/button_group/button_group_button.js +13 -54
  143. package/lib/components/button/button_group/button_group_button.styles.js +2 -12
  144. package/lib/components/card/card.a11y.js +5 -18
  145. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  146. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  147. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  148. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  149. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -103
  150. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  151. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  152. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  153. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  154. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -104
  155. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  156. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -89
  157. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  158. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  159. package/lib/components/combo_box/combo_box.js +8 -6
  160. package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  161. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  162. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  163. package/lib/components/combo_box/utils.js +31 -0
  164. package/lib/components/context_menu/context_menu_item.js +16 -8
  165. package/lib/components/context_menu/context_menu_item.styles.js +1 -1
  166. package/lib/components/datagrid/body/data_grid_body.js +16 -6
  167. package/lib/components/datagrid/body/data_grid_body_custom.js +16 -6
  168. package/lib/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  169. package/lib/components/datagrid/body/data_grid_cell.js +67 -44
  170. package/lib/components/datagrid/body/data_grid_cell_actions.js +12 -13
  171. package/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  172. package/lib/components/datagrid/body/header/data_grid_header_cell.js +66 -35
  173. package/lib/components/datagrid/body/header/data_grid_header_row.js +16 -6
  174. package/lib/components/datagrid/controls/column_selector.js +24 -45
  175. package/lib/components/datagrid/controls/column_sorting.js +22 -37
  176. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +159 -0
  177. package/lib/components/datagrid/controls/display_selector.js +21 -17
  178. package/lib/components/datagrid/controls/fullscreen_selector.js +2 -7
  179. package/lib/components/datagrid/controls/index.js +8 -1
  180. package/lib/components/datagrid/data_grid.js +2 -863
  181. package/lib/components/datagrid/index.js +8 -1
  182. package/lib/components/datagrid/utils/in_memory.js +16 -6
  183. package/lib/components/datagrid/utils/row_heights.js +1 -1
  184. package/lib/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  185. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
  186. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  187. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  188. package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  189. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  190. package/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  191. package/lib/components/expression/expression.a11y.js +2 -4
  192. package/lib/components/facet/facet_button.js +6 -4
  193. package/lib/components/filter_group/filter_button.js +2 -2
  194. package/lib/components/filter_group/filter_group.styles.js +1 -1
  195. package/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  196. package/lib/components/form/range/range.a11y.js +5 -10
  197. package/lib/components/form/super_select/super_select.js +3 -2
  198. package/lib/components/form/super_select/super_select_control.js +12 -19
  199. package/lib/components/header/header.a11y.js +1 -1
  200. package/lib/components/header/header_links/header_link.js +7 -5
  201. package/lib/components/header/header_section/header_section_item_button.js +7 -5
  202. package/lib/components/i18n/i18n.js +1 -0
  203. package/lib/components/image/image.a11y.js +1 -2
  204. package/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  205. package/lib/components/link/external_link_icon.js +57 -0
  206. package/lib/components/link/link.js +6 -20
  207. package/lib/components/link/link.styles.js +1 -4
  208. package/lib/components/list_group/list_group.js +6 -1
  209. package/lib/components/list_group/list_group_item.js +14 -4
  210. package/lib/components/list_group/list_group_item.styles.js +2 -1
  211. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  212. package/lib/components/notification/notification_event.a11y.js +1 -2
  213. package/lib/components/notification/notification_event.js +7 -5
  214. package/lib/components/popover/input_popover.js +1 -1
  215. package/lib/components/popover/popover.js +33 -36
  216. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  217. package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  218. package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  219. package/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  220. package/lib/components/search_bar/search_bar.a11y.js +3 -6
  221. package/lib/components/selectable/selectable.js +16 -1
  222. package/lib/components/selectable/selectable_list/selectable_list.js +227 -78
  223. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +28 -11
  224. package/lib/components/text/text.styles.js +2 -2
  225. package/lib/components/text_truncate/text_truncate.js +32 -9
  226. package/lib/components/toast/global_toast_list.js +11 -1
  227. package/lib/global_styling/mixins/_states.js +4 -1
  228. package/lib/services/color/eui_palettes.js +1 -8
  229. package/lib/services/color/index.js +0 -7
  230. package/lib/services/hooks/useCombinedRefs.js +19 -10
  231. package/lib/services/index.js +0 -15
  232. package/lib/test/rtl/component_helpers.d.ts +2 -0
  233. package/lib/test/rtl/component_helpers.js +41 -3
  234. package/optimize/es/components/accordion/accordion.a11y.js +1 -3
  235. package/optimize/es/components/accordion/accordion.js +5 -2
  236. package/optimize/es/components/accordion/accordion_children/accordion_children.js +4 -3
  237. package/optimize/es/components/basic_table/action_types.js +5 -0
  238. package/optimize/es/components/basic_table/basic_table.a11y.js +1 -2
  239. package/optimize/es/components/basic_table/collapsed_item_actions.js +116 -169
  240. package/optimize/es/components/basic_table/custom_item_action.js +10 -83
  241. package/optimize/es/components/basic_table/default_item_action.js +23 -14
  242. package/optimize/es/components/basic_table/in_memory_table.a11y.js +13 -11
  243. package/optimize/es/components/breadcrumbs/breadcrumb.js +11 -7
  244. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  245. package/optimize/es/components/button/button_display/_button_display_content.js +3 -1
  246. package/optimize/es/components/button/button_empty/button_empty.js +2 -2
  247. package/optimize/es/components/button/button_group/button_group.js +7 -8
  248. package/optimize/es/components/button/button_group/button_group_button.js +6 -38
  249. package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
  250. package/optimize/es/components/card/card.a11y.js +5 -18
  251. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  252. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  253. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  254. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  255. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  256. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  257. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  258. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  259. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
  260. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  261. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -10
  262. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  263. package/optimize/es/components/combo_box/combo_box.js +7 -5
  264. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  265. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  266. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  267. package/optimize/es/components/combo_box/utils.js +23 -0
  268. package/optimize/es/components/context_menu/context_menu_item.js +9 -6
  269. package/optimize/es/components/context_menu/context_menu_item.styles.js +1 -1
  270. package/optimize/es/components/datagrid/body/data_grid_cell.js +38 -30
  271. package/optimize/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  272. package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  273. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +50 -29
  274. package/optimize/es/components/datagrid/controls/column_selector.js +24 -45
  275. package/optimize/es/components/datagrid/controls/column_sorting.js +23 -37
  276. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +70 -0
  277. package/optimize/es/components/datagrid/controls/display_selector.js +21 -17
  278. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  279. package/optimize/es/components/datagrid/controls/index.js +2 -1
  280. package/optimize/es/components/datagrid/data_grid.js +3 -3
  281. package/optimize/es/components/datagrid/index.js +1 -1
  282. package/optimize/es/components/datagrid/utils/row_heights.js +1 -1
  283. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
  284. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  285. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  286. package/optimize/es/components/error_boundary/error_boundary.a11y.js +1 -1
  287. package/optimize/es/components/expression/expression.a11y.js +2 -4
  288. package/optimize/es/components/filter_group/filter_button.js +2 -2
  289. package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
  290. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -3
  291. package/optimize/es/components/form/range/range.a11y.js +5 -10
  292. package/optimize/es/components/form/super_select/super_select.js +3 -2
  293. package/optimize/es/components/form/super_select/super_select_control.js +13 -20
  294. package/optimize/es/components/header/header.a11y.js +1 -1
  295. package/optimize/es/components/i18n/i18n.js +1 -0
  296. package/optimize/es/components/image/image.a11y.js +1 -2
  297. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  298. package/optimize/es/components/link/external_link_icon.js +41 -0
  299. package/optimize/es/components/link/link.js +6 -20
  300. package/optimize/es/components/link/link.styles.js +2 -5
  301. package/optimize/es/components/list_group/list_group_item.js +8 -3
  302. package/optimize/es/components/list_group/list_group_item.styles.js +2 -1
  303. package/optimize/es/components/notification/notification_event.a11y.js +1 -2
  304. package/optimize/es/components/popover/input_popover.js +1 -1
  305. package/optimize/es/components/popover/popover.js +14 -23
  306. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  307. package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
  308. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  309. package/optimize/es/components/resizable_container/resizable_container.a11y.js +4 -8
  310. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -6
  311. package/optimize/es/components/selectable/selectable_list/selectable_list.js +199 -76
  312. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  313. package/optimize/es/components/text/text.styles.js +2 -2
  314. package/optimize/es/components/text_truncate/text_truncate.js +26 -9
  315. package/optimize/es/components/toast/global_toast_list.js +1 -1
  316. package/optimize/es/global_styling/mixins/_states.js +4 -1
  317. package/optimize/es/services/color/eui_palettes.js +0 -6
  318. package/optimize/es/services/color/index.js +1 -1
  319. package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
  320. package/optimize/es/services/index.js +1 -2
  321. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  322. package/optimize/es/test/rtl/component_helpers.js +40 -1
  323. package/optimize/lib/components/accordion/accordion.a11y.js +1 -3
  324. package/optimize/lib/components/accordion/accordion.js +5 -2
  325. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  326. package/optimize/lib/components/basic_table/action_types.js +8 -2
  327. package/optimize/lib/components/basic_table/basic_table.a11y.js +1 -2
  328. package/optimize/lib/components/basic_table/collapsed_item_actions.js +123 -174
  329. package/optimize/lib/components/basic_table/custom_item_action.js +17 -91
  330. package/optimize/lib/components/basic_table/default_item_action.js +23 -14
  331. package/optimize/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  332. package/optimize/lib/components/breadcrumbs/breadcrumb.js +11 -7
  333. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  334. package/optimize/lib/components/button/button_display/_button_display_content.js +3 -1
  335. package/optimize/lib/components/button/button_empty/button_empty.js +2 -2
  336. package/optimize/lib/components/button/button_group/button_group.js +6 -7
  337. package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
  338. package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
  339. package/optimize/lib/components/card/card.a11y.js +5 -18
  340. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  341. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  342. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  343. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  344. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  345. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  346. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  347. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  348. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
  349. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  350. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +9 -9
  351. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  352. package/optimize/lib/components/combo_box/combo_box.js +7 -5
  353. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  354. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  355. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  356. package/optimize/lib/components/combo_box/utils.js +31 -0
  357. package/optimize/lib/components/context_menu/context_menu_item.js +9 -6
  358. package/optimize/lib/components/context_menu/context_menu_item.styles.js +1 -1
  359. package/optimize/lib/components/datagrid/body/data_grid_cell.js +38 -30
  360. package/optimize/lib/components/datagrid/body/data_grid_cell_actions.js +12 -12
  361. package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  362. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +56 -37
  363. package/optimize/lib/components/datagrid/controls/column_selector.js +24 -45
  364. package/optimize/lib/components/datagrid/controls/column_sorting.js +22 -36
  365. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +75 -0
  366. package/optimize/lib/components/datagrid/controls/display_selector.js +21 -17
  367. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +2 -6
  368. package/optimize/lib/components/datagrid/controls/index.js +8 -1
  369. package/optimize/lib/components/datagrid/data_grid.js +2 -2
  370. package/optimize/lib/components/datagrid/index.js +8 -1
  371. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  372. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  373. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  374. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  375. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  376. package/optimize/lib/components/expression/expression.a11y.js +2 -4
  377. package/optimize/lib/components/filter_group/filter_button.js +2 -2
  378. package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
  379. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  380. package/optimize/lib/components/form/range/range.a11y.js +5 -10
  381. package/optimize/lib/components/form/super_select/super_select.js +3 -2
  382. package/optimize/lib/components/form/super_select/super_select_control.js +12 -19
  383. package/optimize/lib/components/header/header.a11y.js +1 -1
  384. package/optimize/lib/components/i18n/i18n.js +1 -0
  385. package/optimize/lib/components/image/image.a11y.js +1 -2
  386. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  387. package/optimize/lib/components/link/external_link_icon.js +47 -0
  388. package/optimize/lib/components/link/link.js +6 -20
  389. package/optimize/lib/components/link/link.styles.js +1 -4
  390. package/optimize/lib/components/list_group/list_group_item.js +8 -3
  391. package/optimize/lib/components/list_group/list_group_item.styles.js +2 -1
  392. package/optimize/lib/components/notification/notification_event.a11y.js +1 -2
  393. package/optimize/lib/components/popover/input_popover.js +1 -1
  394. package/optimize/lib/components/popover/popover.js +28 -36
  395. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  396. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  397. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  398. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  399. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -6
  400. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +199 -76
  401. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  402. package/optimize/lib/components/text/text.styles.js +2 -2
  403. package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
  404. package/optimize/lib/components/toast/global_toast_list.js +1 -1
  405. package/optimize/lib/global_styling/mixins/_states.js +4 -1
  406. package/optimize/lib/services/color/eui_palettes.js +1 -8
  407. package/optimize/lib/services/color/index.js +0 -7
  408. package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
  409. package/optimize/lib/services/index.js +0 -15
  410. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  411. package/optimize/lib/test/rtl/component_helpers.js +41 -3
  412. package/package.json +13 -13
  413. package/src/components/combo_box/_combo_box.scss +46 -14
  414. package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
  415. package/src/components/combo_box/combo_box_input/_index.scss +0 -2
  416. package/src/components/datagrid/_data_grid_data_row.scss +139 -101
  417. package/src/components/datagrid/_mixins.scss +2 -2
  418. package/src/components/datagrid/body/header/_data_grid_header_row.scss +36 -28
  419. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -5
  420. package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
  421. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
  422. package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
  423. package/src/components/form/form_row/_form_row.scss +1 -1
  424. package/src/components/table/_responsive.scss +19 -0
  425. package/src/components/table/_table.scss +4 -9
  426. package/src/global_styling/variables/_typography.scss +2 -2
  427. package/test-env/components/accordion/accordion.a11y.js +1 -3
  428. package/test-env/components/accordion/accordion.js +13 -2
  429. package/test-env/components/accordion/accordion_children/accordion_children.js +4 -3
  430. package/test-env/components/auto_sizer/auto_sizer.js +10 -3
  431. package/test-env/components/basic_table/action_types.js +8 -2
  432. package/test-env/components/basic_table/basic_table.a11y.js +1 -2
  433. package/test-env/components/basic_table/basic_table.js +8 -8
  434. package/test-env/components/basic_table/collapsed_item_actions.js +124 -251
  435. package/test-env/components/basic_table/custom_item_action.js +18 -100
  436. package/test-env/components/basic_table/default_item_action.js +23 -14
  437. package/test-env/components/basic_table/in_memory_table.a11y.js +13 -11
  438. package/test-env/components/basic_table/in_memory_table.js +8 -8
  439. package/test-env/components/breadcrumbs/breadcrumb.js +16 -12
  440. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -0
  441. package/test-env/components/button/button_display/_button_display.js +6 -4
  442. package/test-env/components/button/button_display/_button_display_content.js +8 -4
  443. package/test-env/components/button/button_empty/button_empty.js +9 -7
  444. package/test-env/components/button/button_group/button_group.js +12 -12
  445. package/test-env/components/button/button_group/button_group_button.js +13 -54
  446. package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
  447. package/test-env/components/card/card.a11y.js +5 -18
  448. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  449. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  450. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  451. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  452. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -103
  453. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  454. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  455. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  456. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  457. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -105
  458. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  459. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -89
  460. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  461. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  462. package/test-env/components/combo_box/combo_box.js +8 -6
  463. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  464. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  465. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  466. package/test-env/components/combo_box/utils.js +31 -0
  467. package/test-env/components/context_menu/context_menu_item.js +16 -8
  468. package/test-env/components/context_menu/context_menu_item.styles.js +1 -1
  469. package/test-env/components/datagrid/body/data_grid_body.js +16 -6
  470. package/test-env/components/datagrid/body/data_grid_body_custom.js +16 -6
  471. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  472. package/test-env/components/datagrid/body/data_grid_cell.js +67 -44
  473. package/test-env/components/datagrid/body/data_grid_cell_actions.js +12 -12
  474. package/test-env/components/datagrid/body/data_grid_cell_popover.js +43 -10
  475. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -43
  476. package/test-env/components/datagrid/body/header/data_grid_header_row.js +16 -6
  477. package/test-env/components/datagrid/controls/column_selector.js +24 -45
  478. package/test-env/components/datagrid/controls/column_sorting.js +22 -36
  479. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +158 -0
  480. package/test-env/components/datagrid/controls/display_selector.js +21 -17
  481. package/test-env/components/datagrid/controls/fullscreen_selector.js +2 -6
  482. package/test-env/components/datagrid/controls/index.js +8 -1
  483. package/test-env/components/datagrid/data_grid.js +2 -863
  484. package/test-env/components/datagrid/index.js +8 -1
  485. package/test-env/components/datagrid/utils/in_memory.js +16 -6
  486. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  487. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  488. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  489. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  490. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  491. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  492. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  493. package/test-env/components/error_boundary/error_boundary.a11y.js +1 -1
  494. package/test-env/components/expression/expression.a11y.js +2 -4
  495. package/test-env/components/facet/facet_button.js +6 -4
  496. package/test-env/components/filter_group/filter_button.js +2 -2
  497. package/test-env/components/filter_group/filter_group.styles.js +1 -1
  498. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -3
  499. package/test-env/components/form/range/range.a11y.js +5 -10
  500. package/test-env/components/form/super_select/super_select.js +3 -2
  501. package/test-env/components/form/super_select/super_select_control.js +12 -19
  502. package/test-env/components/header/header.a11y.js +1 -1
  503. package/test-env/components/header/header_links/header_link.js +7 -5
  504. package/test-env/components/header/header_section/header_section_item_button.js +7 -5
  505. package/test-env/components/i18n/i18n.js +1 -0
  506. package/test-env/components/image/image.a11y.js +1 -2
  507. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  508. package/test-env/components/link/external_link_icon.js +56 -0
  509. package/test-env/components/link/link.js +6 -20
  510. package/test-env/components/link/link.styles.js +1 -4
  511. package/test-env/components/list_group/list_group.js +6 -1
  512. package/test-env/components/list_group/list_group_item.js +14 -4
  513. package/test-env/components/list_group/list_group_item.styles.js +2 -1
  514. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  515. package/test-env/components/notification/notification_event.a11y.js +1 -2
  516. package/test-env/components/notification/notification_event.js +7 -5
  517. package/test-env/components/popover/input_popover.js +1 -1
  518. package/test-env/components/popover/popover.js +33 -36
  519. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  520. package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
  521. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  522. package/test-env/components/resizable_container/resizable_container.a11y.js +4 -8
  523. package/test-env/components/search_bar/search_bar.a11y.js +3 -6
  524. package/test-env/components/selectable/selectable.js +16 -1
  525. package/test-env/components/selectable/selectable_list/selectable_list.js +227 -78
  526. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +28 -11
  527. package/test-env/components/text/text.styles.js +2 -2
  528. package/test-env/components/text_truncate/text_truncate.js +32 -9
  529. package/test-env/components/toast/global_toast_list.js +11 -1
  530. package/test-env/global_styling/mixins/_states.js +4 -1
  531. package/test-env/services/color/eui_palettes.js +1 -8
  532. package/test-env/services/color/index.js +0 -7
  533. package/test-env/services/hooks/useCombinedRefs.js +19 -10
  534. package/test-env/services/index.js +0 -15
  535. package/test-env/test/rtl/component_helpers.js +41 -3
  536. package/es/services/random.js +0 -94
  537. package/es/services/utils.js +0 -25
  538. package/es/test/patch_random.js +0 -18
  539. package/lib/services/random.js +0 -100
  540. package/lib/services/utils.js +0 -35
  541. package/lib/test/patch_random.js +0 -25
  542. package/optimize/es/services/random.js +0 -85
  543. package/optimize/es/services/utils.js +0 -25
  544. package/optimize/es/test/patch_random.js +0 -18
  545. package/optimize/lib/services/random.js +0 -91
  546. package/optimize/lib/services/utils.js +0 -35
  547. package/optimize/lib/test/patch_random.js +0 -25
  548. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
  549. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
  550. package/test-env/services/random.js +0 -91
  551. package/test-env/services/utils.js +0 -35
  552. package/test-env/test/patch_random.js +0 -25
@@ -128,7 +128,7 @@ EuiFacetButton.propTypes = {
128
128
  * Adds a notification indicator for displaying the quantity provided
129
129
  */
130
130
  quantity: _propTypes.default.number,
131
- element: _propTypes.default.oneOf(["a", "button", "span", "label"]),
131
+ element: _propTypes.default.oneOf(["a", "button", "span"]),
132
132
  size: _propTypes.default.any,
133
133
  /**
134
134
  * Extends the button to 100% width
@@ -157,16 +157,18 @@ EuiFacetButton.propTypes = {
157
157
  */
158
158
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
159
159
  /**
160
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
160
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
161
+ *
162
+ * This span wrapper can be removed by passing `textProps={false}`.
161
163
  */
162
- textProps: _propTypes.default.shape({
164
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
163
165
  className: _propTypes.default.string,
164
166
  "aria-label": _propTypes.default.string,
165
167
  "data-test-subj": _propTypes.default.string,
166
168
  css: _propTypes.default.any,
167
169
  ref: _propTypes.default.any,
168
170
  "data-text": _propTypes.default.string
169
- }),
171
+ }).isRequired, _propTypes.default.oneOf([false])]),
170
172
  iconSize: _propTypes.default.any,
171
173
  className: _propTypes.default.string,
172
174
  "aria-label": _propTypes.default.string,
@@ -76,7 +76,7 @@ var EuiFilterButton = function EuiFilterButton(_ref) {
76
76
  });
77
77
  var buttonTextClassNames = (0, _classnames.default)('euiFilterButton__text', {
78
78
  'euiFilterButton__text-hasNotification': showBadge
79
- }, textProps === null || textProps === void 0 ? void 0 : textProps.className);
79
+ }, textProps && textProps.className);
80
80
  var badgeContent = showBadge && (0, _react2.jsx)(_badge.EuiNotificationBadge, {
81
81
  className: "euiFilterButton__notification",
82
82
  css: [notificationStyles.euiFilterButton__notification, isDisabled && notificationStyles.disabled, ";label:badgeContent;"],
@@ -106,7 +106,7 @@ var EuiFilterButton = function EuiFilterButton(_ref) {
106
106
  type: type,
107
107
  textProps: _objectSpread(_objectSpread({}, textProps), {}, {
108
108
  className: buttonTextClassNames,
109
- css: [textStyles.euiFilterButton__text, showBadge && textStyles.hasNotification, textProps === null || textProps === void 0 ? void 0 : textProps.css]
109
+ css: [textStyles.euiFilterButton__text, showBadge && textStyles.hasNotification, textProps && textProps.css]
110
110
  }),
111
111
  contentProps: _objectSpread(_objectSpread({}, contentProps), {}, {
112
112
  css: [contentStyles.euiFilterButton__content, iconType && contentStyles.hasIcon, contentProps === null || contentProps === void 0 ? void 0 : contentProps.css]
@@ -32,7 +32,7 @@ var euiFilterGroupStyles = function euiFilterGroupStyles(euiThemeContext) {
32
32
  controlCompressedBorderRadius = _euiFormVariables.controlCompressedBorderRadius,
33
33
  controlCompressedHeight = _euiFormVariables.controlCompressedHeight;
34
34
  return {
35
- euiFilterGroup: /*#__PURE__*/(0, _react.css)("display:inline-flex;", (0, _global_styling.logicalCSS)('max-width', '100%'), " overflow:hidden;background-color:", backgroundColor, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thin, " ", borderColor, ";>*:not(.euiFilterButton){", (0, _filter_button.euiFilterButtonDisplay)(euiThemeContext), ";}.euiPopover__anchor{display:block;.euiFilterButton{", (0, _global_styling.logicalCSS)('width', '100%'), ";}}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{flex-wrap:wrap;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs']), "{display:flex;.euiFilterButton{flex-grow:1;}};label:euiFilterGroup;"),
35
+ euiFilterGroup: /*#__PURE__*/(0, _react.css)("display:inline-flex;", (0, _global_styling.logicalCSS)('max-width', '100%'), " overflow:hidden;background-color:", backgroundColor, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thin, " ", borderColor, ";>*:not(.euiFilterButton){", (0, _filter_button.euiFilterButtonDisplay)(euiThemeContext), ";}.euiPopover>.euiFilterButton{", (0, _global_styling.logicalCSS)('width', '100%'), ";}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{flex-wrap:wrap;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs']), "{display:flex;.euiFilterButton{flex-grow:1;}};label:euiFilterGroup;"),
36
36
  fullWidth: _ref,
37
37
  uncompressed: /*#__PURE__*/(0, _react.css)("border-radius:", controlBorderRadius, ";", buttonChildrenBorderRadii(controlBorderRadius), ";;label:uncompressed;"),
38
38
  compressed: /*#__PURE__*/(0, _react.css)("border-radius:", controlCompressedBorderRadius, ";", buttonChildrenBorderRadii(controlCompressedBorderRadius), " .euiFilterButton{", (0, _global_styling.logicalCSS)('height', controlCompressedHeight), ";};label:compressed;"),
@@ -106,12 +106,12 @@ describe('EuiFocusTrap', function () {
106
106
  });
107
107
  describe('Accessibility checks for keyboard navigation', function () {
108
108
  it('allows the button outside the FocusTrap to receive focus', function () {
109
- cy.repeatRealPress('Tab', 5);
110
- cy.get('button[data-test-subj="cy-external-button"]').should('have.focus');
109
+ cy.get('button[data-test-subj="cy-external-button"]').focus();
111
110
  cy.checkAxe();
112
111
  });
113
112
  it('prevents the button outside the FocusTrap from receiving focus', function () {
114
- cy.repeatRealPress('Tab', 4);
113
+ cy.get('input[data-test-subj="cy-input-one"]').focus();
114
+ cy.repeatRealPress('Tab', 3);
115
115
  cy.realPress('Enter');
116
116
  cy.realPress('Tab');
117
117
  cy.get('input[data-test-subj="cy-input-one"]').should('have.focus');
@@ -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();
@@ -223,6 +223,7 @@ var EuiSuperSelect = /*#__PURE__*/function (_Component) {
223
223
  dropdownDisplay = option.dropdownDisplay,
224
224
  inputDisplay = option.inputDisplay,
225
225
  optionRest = (0, _objectWithoutProperties2.default)(option, _excluded2);
226
+ if (value == null) return;
226
227
  return (0, _react2.jsx)(_context_menu.EuiContextMenuItem, (0, _extends2.default)({
227
228
  key: index,
228
229
  className: itemClasses,
@@ -236,7 +237,7 @@ var EuiSuperSelect = /*#__PURE__*/function (_Component) {
236
237
  return _this2.setItemNode(node, index);
237
238
  },
238
239
  role: "option",
239
- id: value,
240
+ id: String(value),
240
241
  "aria-selected": valueOfSelected === value
241
242
  }, optionRest), dropdownDisplay || inputDisplay);
242
243
  });
@@ -262,7 +263,7 @@ var EuiSuperSelect = /*#__PURE__*/function (_Component) {
262
263
  "aria-describedby": _this2.describedById,
263
264
  className: "euiSuperSelect__listbox",
264
265
  role: "listbox",
265
- "aria-activedescendant": valueOfSelected,
266
+ "aria-activedescendant": valueOfSelected != null ? String(valueOfSelected) : undefined,
266
267
  tabIndex: 0
267
268
  }, items);
268
269
  }));
@@ -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
  });
@@ -80,10 +80,10 @@ EuiHeaderLink.propTypes = {
80
80
  type: _propTypes.default.oneOf(["button", "submit"]),
81
81
  buttonRef: _propTypes.default.any,
82
82
  /**
83
- * Object of props passed to the <span/> wrapping the button's content
83
+ * Object of props passed to the `<span>` wrapping the button's content
84
84
  */
85
85
  /**
86
- * Object of props passed to the <span/> wrapping the button's content
86
+ * Object of props passed to the `<span>` wrapping the button's content
87
87
  */
88
88
  contentProps: _propTypes.default.shape({
89
89
  className: _propTypes.default.string,
@@ -100,16 +100,18 @@ EuiHeaderLink.propTypes = {
100
100
  */
101
101
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
102
102
  /**
103
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
103
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
104
+ *
105
+ * This span wrapper can be removed by passing `textProps={false}`.
104
106
  */
105
- textProps: _propTypes.default.shape({
107
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
106
108
  className: _propTypes.default.string,
107
109
  "aria-label": _propTypes.default.string,
108
110
  "data-test-subj": _propTypes.default.string,
109
111
  css: _propTypes.default.any,
110
112
  ref: _propTypes.default.any,
111
113
  "data-text": _propTypes.default.string
112
- }),
114
+ }).isRequired, _propTypes.default.oneOf([false])]),
113
115
  iconSize: _propTypes.default.any,
114
116
  className: _propTypes.default.string,
115
117
  "aria-label": _propTypes.default.string,
@@ -226,10 +226,10 @@ EuiHeaderSectionItemButton.propTypes = {
226
226
  type: _propTypes.default.oneOf(["button", "submit"]),
227
227
  buttonRef: _propTypes.default.any,
228
228
  /**
229
- * Object of props passed to the <span/> wrapping the button's content
229
+ * Object of props passed to the `<span>` wrapping the button's content
230
230
  */
231
231
  /**
232
- * Object of props passed to the <span/> wrapping the button's content
232
+ * Object of props passed to the `<span>` wrapping the button's content
233
233
  */
234
234
  contentProps: _propTypes.default.shape({
235
235
  className: _propTypes.default.string,
@@ -246,16 +246,18 @@ EuiHeaderSectionItemButton.propTypes = {
246
246
  */
247
247
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
248
248
  /**
249
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
249
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
250
+ *
251
+ * This span wrapper can be removed by passing `textProps={false}`.
250
252
  */
251
- textProps: _propTypes.default.shape({
253
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
252
254
  className: _propTypes.default.string,
253
255
  "aria-label": _propTypes.default.string,
254
256
  "data-test-subj": _propTypes.default.string,
255
257
  css: _propTypes.default.any,
256
258
  ref: _propTypes.default.any,
257
259
  "data-text": _propTypes.default.string
258
- }),
260
+ }).isRequired, _propTypes.default.oneOf([false])]),
259
261
  iconSize: _propTypes.default.any,
260
262
  className: _propTypes.default.string,
261
263
  "aria-label": _propTypes.default.string,
@@ -81,6 +81,7 @@ var EuiI18n = function EuiI18n(props) {
81
81
  i18nMapping: mapping,
82
82
  i18nMappingFunc: mappingFunc,
83
83
  valueDefault: props.defaults[idx],
84
+ values: props.values,
84
85
  render: render
85
86
  });
86
87
  }));
@@ -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,56 @@
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 _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _services = require("../../services");
13
+ var _global_styling = require("../../global_styling");
14
+ var _icon = require("../icon");
15
+ var _i18n = require("../i18n");
16
+ var _accessibility = require("../accessibility");
17
+ var _react2 = require("@emotion/react");
18
+ var _excluded = ["target", "external"];
19
+ /*
20
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
21
+ * or more contributor license agreements. Licensed under the Elastic License
22
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
23
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
24
+ * Side Public License, v 1.
25
+ */
26
+ /**
27
+ * DRY util for indicating external links both via icon and to
28
+ * screen readers. Used internally by at EuiLink and EuiListGroupItem
29
+ */
30
+ var EuiExternalLinkIcon = function EuiExternalLinkIcon(_ref) {
31
+ var target = _ref.target,
32
+ external = _ref.external,
33
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
+ var _useEuiTheme = (0, _services.useEuiTheme)(),
35
+ euiTheme = _useEuiTheme.euiTheme;
36
+ var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
37
+ var iconAriaLabel = (0, _i18n.useEuiI18n)('euiExternalLinkIcon.ariaLabel', 'External link');
38
+ return (0, _react2.jsx)(_react.default.Fragment, null, showExternalLinkIcon && (0, _react2.jsx)(_icon.EuiIcon, (0, _extends2.default)({
39
+ css: (0, _global_styling.logicalStyle)('margin-left', euiTheme.size.xs),
40
+ "aria-label": iconAriaLabel,
41
+ size: "s",
42
+ type: "popout"
43
+ }, rest)), target === '_blank' && (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("span", null, (0, _react2.jsx)(_i18n.EuiI18n, {
44
+ token: "euiExternalLinkIcon.newTarget.screenReaderOnlyText",
45
+ default: "(opens in a new tab or window)"
46
+ }))));
47
+ };
48
+ exports.EuiExternalLinkIcon = EuiExternalLinkIcon;
49
+ EuiExternalLinkIcon.propTypes = {
50
+ target: _propTypes.default.any,
51
+ /**
52
+ * Set to true to show an icon indicating that it is an external link;
53
+ * Defaults to true if `target="_blank"`
54
+ */
55
+ external: _propTypes.default.bool
56
+ };
@@ -13,11 +13,9 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _services = require("../../services");
16
- var _link = require("./link.styles");
17
- var _icon = require("../icon");
18
- var _i18n = require("../i18n");
19
- var _accessibility = require("../accessibility");
20
16
  var _href_validator = require("../../services/security/href_validator");
17
+ var _external_link_icon = require("./external_link_icon");
18
+ var _link = require("./link.styles");
21
19
  var _react2 = require("@emotion/react");
22
20
  var _excluded = ["children", "color", "className", "href", "external", "target", "rel", "type", "onClick", "disabled"];
23
21
  /*
@@ -50,22 +48,8 @@ var EuiLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
50
48
  var euiTheme = (0, _services.useEuiTheme)();
51
49
  var styles = (0, _link.euiLinkStyles)(euiTheme);
52
50
  var cssStyles = [styles.euiLink];
53
- var cssScreenReaderTextStyles = [styles.euiLink__screenReaderText];
54
- var cssExternalLinkIconStyles = [styles.euiLink__externalIcon];
55
51
  var isHrefValid = !href || (0, _href_validator.validateHref)(href);
56
52
  var disabled = _disabled || !isHrefValid;
57
- var newTargetScreenreaderText = (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, {
58
- css: cssScreenReaderTextStyles
59
- }, (0, _react2.jsx)("span", null, (0, _react2.jsx)(_i18n.EuiI18n, {
60
- token: "euiLink.newTarget.screenReaderOnlyText",
61
- default: "(opens in a new tab or window)"
62
- })));
63
- var externalLinkIcon = (0, _react2.jsx)(_icon.EuiIcon, {
64
- "aria-label": (0, _i18n.useEuiI18n)('euiLink.external.ariaLabel', 'External link'),
65
- size: "s",
66
- css: cssExternalLinkIconStyles,
67
- type: "popout"
68
- });
69
53
  if (href === undefined || !isHrefValid) {
70
54
  var buttonProps = _objectSpread({
71
55
  className: (0, _classnames.default)('euiLink', className),
@@ -91,10 +75,12 @@ var EuiLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
91
75
  rel: secureRel,
92
76
  onClick: onClick
93
77
  }, rest);
94
- var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
95
78
  return (0, _react2.jsx)("a", (0, _extends2.default)({
96
79
  ref: ref
97
- }, anchorProps), children, showExternalLinkIcon && externalLinkIcon, target === '_blank' && newTargetScreenreaderText);
80
+ }, anchorProps), children, (0, _react2.jsx)(_external_link_icon.EuiExternalLinkIcon, {
81
+ external: external,
82
+ target: target
83
+ }));
98
84
  });
99
85
  exports.EuiLink = EuiLink;
100
86
  EuiLink.propTypes = {
@@ -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;
@@ -145,8 +145,13 @@ EuiListGroup.propTypes = {
145
145
  * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
146
146
  */
147
147
  href: _propTypes.default.string,
148
- target: _propTypes.default.string,
149
148
  rel: _propTypes.default.string,
149
+ target: _propTypes.default.string,
150
+ /**
151
+ * Set to true to show an icon indicating that it is an external link;
152
+ * Defaults to true if `target="_blank"`
153
+ */
154
+ external: _propTypes.default.bool,
150
155
  /**
151
156
  * Adds `EuiIcon` of `EuiIcon.type`
152
157
  */
@@ -19,9 +19,10 @@ var _inner_text = require("../inner_text");
19
19
  var _list_group_item_extra_action = require("./list_group_item_extra_action");
20
20
  var _services = require("../../services");
21
21
  var _href_validator = require("../../services/security/href_validator");
22
+ var _external_link_icon = require("../link/external_link_icon");
22
23
  var _list_group_item = require("./list_group_item.styles");
23
24
  var _react2 = require("@emotion/react");
24
- var _excluded = ["label", "isActive", "isDisabled", "href", "target", "rel", "className", "css", "style", "iconType", "icon", "iconProps", "extraAction", "onClick", "size", "color", "showToolTip", "wrapText", "buttonRef", "toolTipText", "toolTipProps"],
25
+ var _excluded = ["label", "isActive", "isDisabled", "href", "rel", "target", "external", "className", "css", "style", "iconType", "icon", "iconProps", "extraAction", "onClick", "size", "color", "showToolTip", "wrapText", "buttonRef", "toolTipText", "toolTipProps"],
25
26
  _excluded2 = ["iconType", "alwaysShow", "isDisabled"];
26
27
  /*
27
28
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -45,8 +46,9 @@ var EuiListGroupItem = function EuiListGroupItem(_ref) {
45
46
  _ref$isDisabled = _ref.isDisabled,
46
47
  _isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
47
48
  href = _ref.href,
48
- target = _ref.target,
49
49
  rel = _ref.rel,
50
+ target = _ref.target,
51
+ external = _ref.external,
50
52
  className = _ref.className,
51
53
  customCss = _ref.css,
52
54
  style = _ref.style,
@@ -146,7 +148,10 @@ var EuiListGroupItem = function EuiListGroupItem(_ref) {
146
148
  target: target
147
149
  }),
148
150
  onClick: onClick
149
- }, rest), iconNode, labelContent);
151
+ }, rest), iconNode, labelContent, (0, _react2.jsx)(_external_link_icon.EuiExternalLinkIcon, {
152
+ external: external,
153
+ target: target
154
+ }));
150
155
  } else if (href && isDisabled || onClick) {
151
156
  itemContent = (0, _react2.jsx)("button", (0, _extends2.default)({
152
157
  type: "button",
@@ -226,8 +231,13 @@ EuiListGroupItem.propTypes = {
226
231
  * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
227
232
  */
228
233
  href: _propTypes.default.string,
229
- target: _propTypes.default.string,
230
234
  rel: _propTypes.default.string,
235
+ target: _propTypes.default.string,
236
+ /**
237
+ * Set to true to show an icon indicating that it is an external link;
238
+ * Defaults to true if `target="_blank"`
239
+ */
240
+ external: _propTypes.default.bool,
231
241
  /**
232
242
  * Adds `EuiIcon` of `EuiIcon.type`
233
243
  */
@@ -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;
@@ -136,8 +136,13 @@ EuiPinnableListGroup.propTypes = {
136
136
  * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
137
137
  */
138
138
  href: _propTypes.default.string,
139
- target: _propTypes.default.string,
140
139
  rel: _propTypes.default.string,
140
+ target: _propTypes.default.string,
141
+ /**
142
+ * Set to true to show an icon indicating that it is an external link;
143
+ * Defaults to true if `target="_blank"`
144
+ */
145
+ external: _propTypes.default.bool,
141
146
  /**
142
147
  * Adds `EuiIcon` of `EuiIcon.type`
143
148
  */
@@ -267,8 +272,13 @@ EuiPinnableListGroup.propTypes = {
267
272
  * While permitted, `href` and `onClick` should not be used together in most cases and may create problems.
268
273
  */
269
274
  href: _propTypes.default.string,
270
- target: _propTypes.default.string,
271
275
  rel: _propTypes.default.string,
276
+ target: _propTypes.default.string,
277
+ /**
278
+ * Set to true to show an icon indicating that it is an external link;
279
+ * Defaults to true if `target="_blank"`
280
+ */
281
+ external: _propTypes.default.bool,
272
282
  /**
273
283
  * Adds `EuiIcon` of `EuiIcon.type`
274
284
  */
@@ -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();
@@ -235,10 +235,10 @@ EuiNotificationEvent.propTypes = {
235
235
  type: _propTypes.default.oneOf(["button", "submit"]),
236
236
  buttonRef: _propTypes.default.any,
237
237
  /**
238
- * Object of props passed to the <span/> wrapping the button's content
238
+ * Object of props passed to the `<span>` wrapping the button's content
239
239
  */
240
240
  /**
241
- * Object of props passed to the <span/> wrapping the button's content
241
+ * Object of props passed to the `<span>` wrapping the button's content
242
242
  */
243
243
  contentProps: _propTypes.default.shape({
244
244
  className: _propTypes.default.string,
@@ -255,16 +255,18 @@ EuiNotificationEvent.propTypes = {
255
255
  */
256
256
  iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
257
257
  /**
258
- * Object of props passed to the <span/> wrapping the content's text/children only (not icon)
258
+ * Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
259
+ *
260
+ * This span wrapper can be removed by passing `textProps={false}`.
259
261
  */
260
- textProps: _propTypes.default.shape({
262
+ textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
261
263
  className: _propTypes.default.string,
262
264
  "aria-label": _propTypes.default.string,
263
265
  "data-test-subj": _propTypes.default.string,
264
266
  css: _propTypes.default.any,
265
267
  ref: _propTypes.default.any,
266
268
  "data-text": _propTypes.default.string
267
- }),
269
+ }).isRequired, _propTypes.default.oneOf([false])]),
268
270
  iconSize: _propTypes.default.any,
269
271
  className: _propTypes.default.string,
270
272
  "aria-label": _propTypes.default.string,
@@ -179,7 +179,7 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
179
179
  css: /*#__PURE__*/(0, _react2.css)(fullWidth ? undefined : (0, _global_styling.logicalCSS)('max-width', form.maxWidth), ";label:EuiInputPopover;"),
180
180
  display: display,
181
181
  button: input,
182
- buttonRef: inputRef,
182
+ popoverRef: inputRef,
183
183
  panelRef: panelRef,
184
184
  ref: popoverClassRef,
185
185
  closePopover: closePopover,