@elastic/eui 91.0.0 → 91.2.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 (507) 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/avatar/avatar.js +1 -1
  7. package/es/components/badge/badge.js +1 -1
  8. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  9. package/es/components/basic_table/action_types.js +5 -0
  10. package/es/components/basic_table/basic_table.a11y.js +1 -2
  11. package/es/components/basic_table/basic_table.js +9 -9
  12. package/es/components/basic_table/collapsed_item_actions.js +120 -249
  13. package/es/components/basic_table/custom_item_action.js +9 -95
  14. package/es/components/basic_table/default_item_action.js +23 -14
  15. package/es/components/basic_table/in_memory_table.a11y.js +13 -11
  16. package/es/components/basic_table/in_memory_table.js +9 -9
  17. package/es/components/breadcrumbs/breadcrumb.js +11 -7
  18. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  19. package/es/components/button/button_display/_button_display.js +6 -4
  20. package/es/components/button/button_display/_button_display_content.js +9 -5
  21. package/es/components/button/button_empty/button_empty.js +10 -8
  22. package/es/components/button/button_group/button_group.js +6 -4
  23. package/es/components/button/button_group/button_group_button.js +6 -4
  24. package/es/components/button/button_icon/button_icon.js +1 -1
  25. package/es/components/call_out/call_out.js +1 -1
  26. package/es/components/card/card.a11y.js +5 -18
  27. package/es/components/card/card.js +1 -1
  28. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  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 +1 -101
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +21 -59
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +91 -39
  35. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +69 -83
  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 +7 -90
  40. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +154 -134
  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 +1 -1
  43. package/es/components/comment_list/comment.js +2 -2
  44. package/es/components/comment_list/comment_event.js +1 -1
  45. package/es/components/comment_list/comment_list.js +2 -2
  46. package/es/components/comment_list/comment_timeline.js +1 -1
  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/datagrid/body/data_grid_body.js +29 -19
  50. package/es/components/datagrid/body/data_grid_body_custom.js +29 -19
  51. package/es/components/datagrid/body/data_grid_body_virtualized.js +29 -19
  52. package/es/components/datagrid/body/data_grid_cell.js +91 -68
  53. package/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  54. package/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  55. package/es/components/datagrid/body/header/data_grid_header_cell.js +77 -46
  56. package/es/components/datagrid/body/header/data_grid_header_row.js +29 -19
  57. package/es/components/datagrid/controls/column_selector.js +19 -39
  58. package/es/components/datagrid/controls/column_sorting.js +18 -29
  59. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  60. package/es/components/datagrid/controls/data_grid_toolbar_control.js +154 -0
  61. package/es/components/datagrid/controls/display_selector.js +0 -1
  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/index.js +1 -1
  65. package/es/components/datagrid/utils/in_memory.js +28 -18
  66. package/es/components/datagrid/utils/row_heights.js +1 -1
  67. package/es/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  68. package/es/components/date_picker/date_picker.js +2 -2
  69. package/es/components/date_picker/date_picker_range.js +1 -1
  70. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  71. package/es/components/empty_prompt/empty_prompt.js +1 -1
  72. package/es/components/error_boundary/error_boundary.a11y.js +1 -1
  73. package/es/components/expression/expression.a11y.js +2 -4
  74. package/es/components/facet/facet_button.js +6 -4
  75. package/es/components/filter_group/filter_button.js +2 -2
  76. package/es/components/focus_trap/focus_trap.a11y.js +3 -3
  77. package/es/components/form/field_number/field_number.js +1 -1
  78. package/es/components/form/field_text/field_text.js +2 -2
  79. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  80. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  81. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  82. package/es/components/form/range/range.a11y.js +5 -10
  83. package/es/components/form/super_select/super_select.js +3 -2
  84. package/es/components/form/super_select/super_select_control.js +13 -20
  85. package/es/components/header/header.a11y.js +1 -1
  86. package/es/components/header/header_links/header_link.js +8 -6
  87. package/es/components/header/header_links/header_links.js +1 -1
  88. package/es/components/header/header_logo/header_logo.js +1 -1
  89. package/es/components/header/header_section/header_section_item_button.js +8 -6
  90. package/es/components/icon/assets/endpoint.js +37 -0
  91. package/es/components/icon/icon.js +1 -1
  92. package/es/components/icon/icon_map.js +1 -0
  93. package/es/components/image/image.a11y.js +1 -2
  94. package/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  95. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  96. package/es/components/link/external_link_icon.js +51 -0
  97. package/es/components/link/link.js +6 -20
  98. package/es/components/link/link.styles.js +2 -5
  99. package/es/components/list_group/list_group.js +8 -3
  100. package/es/components/list_group/list_group_item.js +16 -6
  101. package/es/components/list_group/list_group_item.styles.js +2 -1
  102. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  103. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -6
  104. package/es/components/loading/loading_logo.js +1 -1
  105. package/es/components/markdown_editor/markdown_editor.js +1 -1
  106. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  107. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  108. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  109. package/es/components/notification/notification_event.a11y.js +1 -2
  110. package/es/components/notification/notification_event.js +9 -7
  111. package/es/components/notification/notification_event_meta.js +1 -1
  112. package/es/components/page/page_header/page_header_content.js +1 -1
  113. package/es/components/pagination/pagination_button.js +8 -6
  114. package/es/components/popover/popover.js +4 -1
  115. package/es/components/resizable_container/resizable_container.a11y.js +4 -8
  116. package/es/components/search_bar/search_bar.a11y.js +3 -6
  117. package/es/components/selectable/selectable.js +16 -1
  118. package/es/components/selectable/selectable_list/selectable_list.js +233 -79
  119. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  120. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -2
  121. package/es/components/table/table_header_button.js +1 -1
  122. package/es/components/text/text.styles.js +2 -2
  123. package/es/components/text_truncate/text_truncate.js +33 -10
  124. package/es/components/timeline/timeline_item_icon.js +1 -1
  125. package/es/components/toast/global_toast_list.js +1 -1
  126. package/es/components/toast/toast.js +1 -1
  127. package/es/components/tool_tip/icon_tip.js +1 -1
  128. package/eui.d.ts +480 -138
  129. package/i18ntokens.json +224 -260
  130. package/lib/components/accordion/accordion.a11y.js +1 -3
  131. package/lib/components/avatar/avatar.js +1 -1
  132. package/lib/components/badge/badge.js +1 -1
  133. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  134. package/lib/components/basic_table/action_types.js +8 -2
  135. package/lib/components/basic_table/basic_table.a11y.js +1 -2
  136. package/lib/components/basic_table/basic_table.js +9 -9
  137. package/lib/components/basic_table/collapsed_item_actions.js +128 -257
  138. package/lib/components/basic_table/custom_item_action.js +18 -104
  139. package/lib/components/basic_table/default_item_action.js +23 -14
  140. package/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  141. package/lib/components/basic_table/in_memory_table.js +9 -9
  142. package/lib/components/breadcrumbs/breadcrumb.js +11 -7
  143. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  144. package/lib/components/button/button_display/_button_display.js +6 -4
  145. package/lib/components/button/button_display/_button_display_content.js +9 -5
  146. package/lib/components/button/button_empty/button_empty.js +10 -8
  147. package/lib/components/button/button_group/button_group.js +6 -4
  148. package/lib/components/button/button_group/button_group_button.js +6 -4
  149. package/lib/components/button/button_icon/button_icon.js +1 -1
  150. package/lib/components/call_out/call_out.js +1 -1
  151. package/lib/components/card/card.a11y.js +5 -18
  152. package/lib/components/card/card.js +1 -1
  153. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  154. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  155. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  156. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  157. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  158. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +21 -59
  159. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +91 -39
  160. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +68 -82
  161. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  162. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -104
  163. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  164. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  165. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +154 -134
  166. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  167. package/lib/components/combo_box/combo_box.js +1 -1
  168. package/lib/components/comment_list/comment.js +2 -2
  169. package/lib/components/comment_list/comment_event.js +1 -1
  170. package/lib/components/comment_list/comment_list.js +2 -2
  171. package/lib/components/comment_list/comment_timeline.js +1 -1
  172. package/lib/components/context_menu/context_menu_item.js +16 -8
  173. package/lib/components/context_menu/context_menu_item.styles.js +1 -1
  174. package/lib/components/datagrid/body/data_grid_body.js +29 -19
  175. package/lib/components/datagrid/body/data_grid_body_custom.js +29 -19
  176. package/lib/components/datagrid/body/data_grid_body_virtualized.js +29 -19
  177. package/lib/components/datagrid/body/data_grid_cell.js +91 -68
  178. package/lib/components/datagrid/body/data_grid_cell_actions.js +12 -13
  179. package/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  180. package/lib/components/datagrid/body/header/data_grid_header_cell.js +77 -46
  181. package/lib/components/datagrid/body/header/data_grid_header_row.js +29 -19
  182. package/lib/components/datagrid/controls/column_selector.js +19 -39
  183. package/lib/components/datagrid/controls/column_sorting.js +18 -30
  184. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  185. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +159 -0
  186. package/lib/components/datagrid/controls/display_selector.js +0 -1
  187. package/lib/components/datagrid/controls/fullscreen_selector.js +2 -7
  188. package/lib/components/datagrid/controls/index.js +8 -1
  189. package/lib/components/datagrid/index.js +8 -1
  190. package/lib/components/datagrid/utils/in_memory.js +28 -18
  191. package/lib/components/datagrid/utils/row_heights.js +1 -1
  192. package/lib/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  193. package/lib/components/date_picker/date_picker.js +2 -2
  194. package/lib/components/date_picker/date_picker_range.js +1 -1
  195. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  196. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  197. package/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  198. package/lib/components/expression/expression.a11y.js +2 -4
  199. package/lib/components/facet/facet_button.js +6 -4
  200. package/lib/components/filter_group/filter_button.js +2 -2
  201. package/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  202. package/lib/components/form/field_number/field_number.js +1 -1
  203. package/lib/components/form/field_text/field_text.js +2 -2
  204. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  205. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  206. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  207. package/lib/components/form/range/range.a11y.js +5 -10
  208. package/lib/components/form/super_select/super_select.js +3 -2
  209. package/lib/components/form/super_select/super_select_control.js +12 -19
  210. package/lib/components/header/header.a11y.js +1 -1
  211. package/lib/components/header/header_links/header_link.js +8 -6
  212. package/lib/components/header/header_links/header_links.js +1 -1
  213. package/lib/components/header/header_logo/header_logo.js +1 -1
  214. package/lib/components/header/header_section/header_section_item_button.js +8 -6
  215. package/lib/components/icon/assets/endpoint.js +45 -0
  216. package/lib/components/icon/icon.js +1 -1
  217. package/lib/components/icon/icon_map.js +1 -0
  218. package/lib/components/icon/svgs/endpoint.svg +4 -0
  219. package/lib/components/image/image.a11y.js +1 -2
  220. package/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  221. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  222. package/lib/components/link/external_link_icon.js +57 -0
  223. package/lib/components/link/link.js +6 -20
  224. package/lib/components/link/link.styles.js +1 -4
  225. package/lib/components/list_group/list_group.js +8 -3
  226. package/lib/components/list_group/list_group_item.js +16 -6
  227. package/lib/components/list_group/list_group_item.styles.js +2 -1
  228. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  229. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -6
  230. package/lib/components/loading/loading_logo.js +1 -1
  231. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  232. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  233. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  234. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  235. package/lib/components/notification/notification_event.a11y.js +1 -2
  236. package/lib/components/notification/notification_event.js +9 -7
  237. package/lib/components/notification/notification_event_meta.js +1 -1
  238. package/lib/components/page/page_header/page_header_content.js +1 -1
  239. package/lib/components/popover/popover.js +4 -1
  240. package/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  241. package/lib/components/search_bar/search_bar.a11y.js +3 -6
  242. package/lib/components/selectable/selectable.js +16 -1
  243. package/lib/components/selectable/selectable_list/selectable_list.js +233 -79
  244. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  245. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -2
  246. package/lib/components/table/table_header_button.js +1 -1
  247. package/lib/components/text/text.styles.js +2 -2
  248. package/lib/components/text_truncate/text_truncate.js +32 -9
  249. package/lib/components/timeline/timeline_item_icon.js +1 -1
  250. package/lib/components/toast/global_toast_list.js +1 -1
  251. package/lib/components/toast/toast.js +1 -1
  252. package/lib/components/tool_tip/icon_tip.js +1 -1
  253. package/optimize/es/components/accordion/accordion.a11y.js +1 -3
  254. package/optimize/es/components/basic_table/action_types.js +5 -0
  255. package/optimize/es/components/basic_table/basic_table.a11y.js +1 -2
  256. package/optimize/es/components/basic_table/collapsed_item_actions.js +116 -169
  257. package/optimize/es/components/basic_table/custom_item_action.js +10 -83
  258. package/optimize/es/components/basic_table/default_item_action.js +23 -14
  259. package/optimize/es/components/basic_table/in_memory_table.a11y.js +13 -11
  260. package/optimize/es/components/breadcrumbs/breadcrumb.js +11 -7
  261. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  262. package/optimize/es/components/button/button_display/_button_display_content.js +3 -1
  263. package/optimize/es/components/button/button_empty/button_empty.js +2 -2
  264. package/optimize/es/components/card/card.a11y.js +5 -18
  265. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  266. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  267. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  268. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  269. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  270. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  271. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  272. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
  273. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  274. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -10
  275. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  276. package/optimize/es/components/context_menu/context_menu_item.js +9 -6
  277. package/optimize/es/components/context_menu/context_menu_item.styles.js +1 -1
  278. package/optimize/es/components/datagrid/body/data_grid_cell.js +38 -30
  279. package/optimize/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  280. package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  281. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +49 -28
  282. package/optimize/es/components/datagrid/controls/column_selector.js +19 -39
  283. package/optimize/es/components/datagrid/controls/column_sorting.js +18 -29
  284. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +70 -0
  285. package/optimize/es/components/datagrid/controls/display_selector.js +0 -1
  286. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  287. package/optimize/es/components/datagrid/controls/index.js +2 -1
  288. package/optimize/es/components/datagrid/index.js +1 -1
  289. package/optimize/es/components/datagrid/utils/row_heights.js +1 -1
  290. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  291. package/optimize/es/components/error_boundary/error_boundary.a11y.js +1 -1
  292. package/optimize/es/components/expression/expression.a11y.js +2 -4
  293. package/optimize/es/components/filter_group/filter_button.js +2 -2
  294. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -3
  295. package/optimize/es/components/form/range/range.a11y.js +5 -10
  296. package/optimize/es/components/form/super_select/super_select.js +3 -2
  297. package/optimize/es/components/form/super_select/super_select_control.js +13 -20
  298. package/optimize/es/components/header/header.a11y.js +1 -1
  299. package/optimize/es/components/icon/assets/endpoint.js +36 -0
  300. package/optimize/es/components/icon/icon_map.js +1 -0
  301. package/optimize/es/components/image/image.a11y.js +1 -2
  302. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  303. package/optimize/es/components/link/external_link_icon.js +41 -0
  304. package/optimize/es/components/link/link.js +6 -20
  305. package/optimize/es/components/link/link.styles.js +2 -5
  306. package/optimize/es/components/list_group/list_group_item.js +8 -3
  307. package/optimize/es/components/list_group/list_group_item.styles.js +2 -1
  308. package/optimize/es/components/notification/notification_event.a11y.js +1 -2
  309. package/optimize/es/components/popover/popover.js +4 -1
  310. package/optimize/es/components/resizable_container/resizable_container.a11y.js +4 -8
  311. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -6
  312. package/optimize/es/components/selectable/selectable_list/selectable_list.js +204 -76
  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/lib/components/accordion/accordion.a11y.js +1 -3
  316. package/optimize/lib/components/basic_table/action_types.js +8 -2
  317. package/optimize/lib/components/basic_table/basic_table.a11y.js +1 -2
  318. package/optimize/lib/components/basic_table/collapsed_item_actions.js +123 -174
  319. package/optimize/lib/components/basic_table/custom_item_action.js +17 -91
  320. package/optimize/lib/components/basic_table/default_item_action.js +23 -14
  321. package/optimize/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  322. package/optimize/lib/components/breadcrumbs/breadcrumb.js +11 -7
  323. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  324. package/optimize/lib/components/button/button_display/_button_display_content.js +3 -1
  325. package/optimize/lib/components/button/button_empty/button_empty.js +2 -2
  326. package/optimize/lib/components/card/card.a11y.js +5 -18
  327. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  328. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  329. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  330. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  331. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  332. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  333. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  334. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
  335. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  336. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -10
  337. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  338. package/optimize/lib/components/context_menu/context_menu_item.js +9 -6
  339. package/optimize/lib/components/context_menu/context_menu_item.styles.js +1 -1
  340. package/optimize/lib/components/datagrid/body/data_grid_cell.js +38 -30
  341. package/optimize/lib/components/datagrid/body/data_grid_cell_actions.js +12 -12
  342. package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  343. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +55 -36
  344. package/optimize/lib/components/datagrid/controls/column_selector.js +19 -39
  345. package/optimize/lib/components/datagrid/controls/column_sorting.js +18 -29
  346. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +75 -0
  347. package/optimize/lib/components/datagrid/controls/display_selector.js +0 -1
  348. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +2 -6
  349. package/optimize/lib/components/datagrid/controls/index.js +8 -1
  350. package/optimize/lib/components/datagrid/index.js +8 -1
  351. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  352. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  353. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  354. package/optimize/lib/components/expression/expression.a11y.js +2 -4
  355. package/optimize/lib/components/filter_group/filter_button.js +2 -2
  356. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  357. package/optimize/lib/components/form/range/range.a11y.js +5 -10
  358. package/optimize/lib/components/form/super_select/super_select.js +3 -2
  359. package/optimize/lib/components/form/super_select/super_select_control.js +12 -19
  360. package/optimize/lib/components/header/header.a11y.js +1 -1
  361. package/optimize/lib/components/icon/assets/endpoint.js +45 -0
  362. package/optimize/lib/components/icon/icon_map.js +1 -0
  363. package/optimize/lib/components/icon/svgs/endpoint.svg +4 -0
  364. package/optimize/lib/components/image/image.a11y.js +1 -2
  365. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  366. package/optimize/lib/components/link/external_link_icon.js +47 -0
  367. package/optimize/lib/components/link/link.js +6 -20
  368. package/optimize/lib/components/link/link.styles.js +1 -4
  369. package/optimize/lib/components/list_group/list_group_item.js +8 -3
  370. package/optimize/lib/components/list_group/list_group_item.styles.js +2 -1
  371. package/optimize/lib/components/notification/notification_event.a11y.js +1 -2
  372. package/optimize/lib/components/popover/popover.js +4 -1
  373. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  374. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -6
  375. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +204 -76
  376. package/optimize/lib/components/text/text.styles.js +2 -2
  377. package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
  378. package/package.json +6 -7
  379. package/src/components/datagrid/_data_grid_data_row.scss +139 -100
  380. package/src/components/datagrid/_mixins.scss +2 -2
  381. package/src/components/datagrid/body/header/_data_grid_header_row.scss +36 -28
  382. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -5
  383. package/src/components/form/form_row/_form_row.scss +1 -1
  384. package/src/components/table/_responsive.scss +19 -0
  385. package/src/components/table/_table.scss +4 -9
  386. package/test-env/components/accordion/accordion.a11y.js +1 -3
  387. package/test-env/components/auto_sizer/auto_sizer.js +10 -3
  388. package/test-env/components/avatar/avatar.js +1 -1
  389. package/test-env/components/badge/badge.js +1 -1
  390. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  391. package/test-env/components/basic_table/action_types.js +8 -2
  392. package/test-env/components/basic_table/basic_table.a11y.js +1 -2
  393. package/test-env/components/basic_table/basic_table.js +9 -9
  394. package/test-env/components/basic_table/collapsed_item_actions.js +124 -251
  395. package/test-env/components/basic_table/custom_item_action.js +18 -100
  396. package/test-env/components/basic_table/default_item_action.js +23 -14
  397. package/test-env/components/basic_table/in_memory_table.a11y.js +13 -11
  398. package/test-env/components/basic_table/in_memory_table.js +9 -9
  399. package/test-env/components/breadcrumbs/breadcrumb.js +11 -7
  400. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -0
  401. package/test-env/components/button/button_display/_button_display.js +6 -4
  402. package/test-env/components/button/button_display/_button_display_content.js +9 -5
  403. package/test-env/components/button/button_empty/button_empty.js +10 -8
  404. package/test-env/components/button/button_group/button_group.js +6 -4
  405. package/test-env/components/button/button_group/button_group_button.js +6 -4
  406. package/test-env/components/button/button_icon/button_icon.js +1 -1
  407. package/test-env/components/call_out/call_out.js +1 -1
  408. package/test-env/components/card/card.a11y.js +5 -18
  409. package/test-env/components/card/card.js +1 -1
  410. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  411. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  412. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  413. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  414. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  415. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +21 -59
  416. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +91 -39
  417. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +68 -82
  418. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  419. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -105
  420. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  421. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  422. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +154 -134
  423. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  424. package/test-env/components/combo_box/combo_box.js +1 -1
  425. package/test-env/components/comment_list/comment.js +2 -2
  426. package/test-env/components/comment_list/comment_event.js +1 -1
  427. package/test-env/components/comment_list/comment_list.js +2 -2
  428. package/test-env/components/comment_list/comment_timeline.js +1 -1
  429. package/test-env/components/context_menu/context_menu_item.js +16 -8
  430. package/test-env/components/context_menu/context_menu_item.styles.js +1 -1
  431. package/test-env/components/datagrid/body/data_grid_body.js +29 -19
  432. package/test-env/components/datagrid/body/data_grid_body_custom.js +29 -19
  433. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +29 -19
  434. package/test-env/components/datagrid/body/data_grid_cell.js +91 -68
  435. package/test-env/components/datagrid/body/data_grid_cell_actions.js +12 -12
  436. package/test-env/components/datagrid/body/data_grid_cell_popover.js +43 -10
  437. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +83 -54
  438. package/test-env/components/datagrid/body/header/data_grid_header_row.js +29 -19
  439. package/test-env/components/datagrid/controls/column_selector.js +19 -39
  440. package/test-env/components/datagrid/controls/column_sorting.js +18 -29
  441. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  442. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +158 -0
  443. package/test-env/components/datagrid/controls/display_selector.js +0 -1
  444. package/test-env/components/datagrid/controls/fullscreen_selector.js +2 -6
  445. package/test-env/components/datagrid/controls/index.js +8 -1
  446. package/test-env/components/datagrid/index.js +8 -1
  447. package/test-env/components/datagrid/utils/in_memory.js +28 -18
  448. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  449. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  450. package/test-env/components/date_picker/date_picker.js +2 -2
  451. package/test-env/components/date_picker/date_picker_range.js +1 -1
  452. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  453. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  454. package/test-env/components/error_boundary/error_boundary.a11y.js +1 -1
  455. package/test-env/components/expression/expression.a11y.js +2 -4
  456. package/test-env/components/facet/facet_button.js +6 -4
  457. package/test-env/components/filter_group/filter_button.js +2 -2
  458. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -3
  459. package/test-env/components/form/field_number/field_number.js +1 -1
  460. package/test-env/components/form/field_text/field_text.js +2 -2
  461. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  462. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  463. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  464. package/test-env/components/form/range/range.a11y.js +5 -10
  465. package/test-env/components/form/super_select/super_select.js +3 -2
  466. package/test-env/components/form/super_select/super_select_control.js +12 -19
  467. package/test-env/components/header/header.a11y.js +1 -1
  468. package/test-env/components/header/header_links/header_link.js +8 -6
  469. package/test-env/components/header/header_links/header_links.js +1 -1
  470. package/test-env/components/header/header_logo/header_logo.js +1 -1
  471. package/test-env/components/header/header_section/header_section_item_button.js +8 -6
  472. package/test-env/components/icon/assets/endpoint.js +45 -0
  473. package/test-env/components/icon/icon_map.js +1 -0
  474. package/test-env/components/image/image.a11y.js +1 -2
  475. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  476. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  477. package/test-env/components/link/external_link_icon.js +56 -0
  478. package/test-env/components/link/link.js +6 -20
  479. package/test-env/components/link/link.styles.js +1 -4
  480. package/test-env/components/list_group/list_group.js +8 -3
  481. package/test-env/components/list_group/list_group_item.js +16 -6
  482. package/test-env/components/list_group/list_group_item.styles.js +2 -1
  483. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  484. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +16 -6
  485. package/test-env/components/loading/loading_logo.js +1 -1
  486. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  487. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  488. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  489. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  490. package/test-env/components/notification/notification_event.a11y.js +1 -2
  491. package/test-env/components/notification/notification_event.js +9 -7
  492. package/test-env/components/notification/notification_event_meta.js +1 -1
  493. package/test-env/components/page/page_header/page_header_content.js +1 -1
  494. package/test-env/components/popover/popover.js +4 -1
  495. package/test-env/components/resizable_container/resizable_container.a11y.js +4 -8
  496. package/test-env/components/search_bar/search_bar.a11y.js +3 -6
  497. package/test-env/components/selectable/selectable.js +16 -1
  498. package/test-env/components/selectable/selectable_list/selectable_list.js +233 -79
  499. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  500. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +17 -2
  501. package/test-env/components/table/table_header_button.js +1 -1
  502. package/test-env/components/text/text.styles.js +2 -2
  503. package/test-env/components/text_truncate/text_truncate.js +32 -9
  504. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  505. package/test-env/components/toast/global_toast_list.js +1 -1
  506. package/test-env/components/toast/toast.js +1 -1
  507. package/test-env/components/tool_tip/icon_tip.js +1 -1
@@ -8,7 +8,6 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
8
  * Side Public License, v 1.
9
9
  */
10
10
 
11
- import classNames from 'classnames';
12
11
  import React, { useEffect, useState } from 'react';
13
12
  import { EuiButtonEmpty } from '../../button';
14
13
  import { EuiDragDropContext, euiDragDropReorder, EuiDroppable } from '../../drag_and_drop';
@@ -17,6 +16,7 @@ import { EuiI18n, useEuiI18n } from '../../i18n';
17
16
  import { EuiPopover, EuiPopoverFooter } from '../../popover';
18
17
  import { EuiText } from '../../text';
19
18
  import { EuiToken } from '../../token';
19
+ import { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
20
20
  import { EuiDataGridColumnSortingDraggable } from './column_sorting_draggable';
21
21
  import { getDetailsForSchema } from '../utils/data_grid_schema';
22
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -51,15 +51,9 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
51
51
  }
52
52
  }, [columns, sorting]);
53
53
  var sortingButtonText = useEuiI18n('euiColumnSorting.button', 'Sort fields');
54
- var sortingButtonTextActive = useEuiI18n('euiColumnSorting.buttonActive', function (_ref2) {
55
- var numberOfSortedFields = _ref2.numberOfSortedFields;
56
- return "".concat(numberOfSortedFields, " field").concat(numberOfSortedFields === 1 ? '' : 's', " sorted");
57
- }, {
58
- numberOfSortedFields: sorting != null ? sorting.columns.length : 0
59
- });
60
54
  if (sorting == null) return null;
61
- var activeColumnIds = new Set(sorting.columns.map(function (_ref3) {
62
- var id = _ref3.id;
55
+ var activeColumnIds = new Set(sorting.columns.map(function (_ref2) {
56
+ var id = _ref2.id;
63
57
  return id;
64
58
  }));
65
59
  var _columns$reduce = columns.reduce(function (acc, column) {
@@ -74,24 +68,21 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
74
68
  inactiveColumns: []
75
69
  }),
76
70
  inactiveColumns = _columns$reduce.inactiveColumns;
77
- var onDragEnd = function onDragEnd(_ref4) {
78
- var sourceIndex = _ref4.source.index,
79
- destination = _ref4.destination;
71
+ var onDragEnd = function onDragEnd(_ref3) {
72
+ var sourceIndex = _ref3.source.index,
73
+ destination = _ref3.destination;
80
74
  if (destination) {
81
75
  var destinationIndex = destination.index;
82
76
  var nextColumns = euiDragDropReorder(sorting.columns, sourceIndex, destinationIndex);
83
77
  sorting.onSort(nextColumns);
84
78
  }
85
79
  };
86
- var controlBtnClasses = classNames('euiDataGrid__controlBtn', {
87
- 'euiDataGrid__controlBtn--active': sorting.columns.length > 0
88
- });
89
80
  var schemaDetails = function schemaDetails(id) {
90
81
  return schema.hasOwnProperty(id) && schema[id].columnType != null ? getDetailsForSchema(schemaDetectors, schema[id].columnType) : null;
91
82
  };
92
- var inactiveSortableColumns = inactiveColumns.filter(function (_ref5) {
93
- var id = _ref5.id,
94
- isSortable = _ref5.isSortable;
83
+ var inactiveSortableColumns = inactiveColumns.filter(function (_ref4) {
84
+ var id = _ref4.id,
85
+ isSortable = _ref4.isSortable;
95
86
  var schemaDetail = schemaDetails(id);
96
87
  var sortable = true;
97
88
  if (isSortable != null) {
@@ -110,24 +101,22 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
110
101
  anchorPosition: "downLeft",
111
102
  panelPaddingSize: "s",
112
103
  hasDragDrop: true,
113
- button: ___EmotionJSX(EuiButtonEmpty, {
114
- size: "xs",
104
+ button: ___EmotionJSX(EuiDataGridToolbarControl, {
105
+ badgeContent: sorting.columns.length,
115
106
  iconType: "sortable",
116
- color: "text",
117
- className: controlBtnClasses,
118
107
  "data-test-subj": "dataGridColumnSortingButton",
119
108
  onClick: function onClick() {
120
109
  return setIsOpen(!isOpen);
121
110
  }
122
- }, sorting.columns.length > 0 ? sortingButtonTextActive : sortingButtonText)
111
+ }, sortingButtonText)
123
112
  }, sorting.columns.length > 0 ? ___EmotionJSX(EuiDragDropContext, {
124
113
  onDragEnd: onDragEnd
125
114
  }, ___EmotionJSX(EuiDroppable, {
126
115
  droppableId: "columnSorting",
127
116
  className: "euiDataGrid__controlScroll"
128
- }, ___EmotionJSX(React.Fragment, null, sorting.columns.map(function (_ref6, index) {
129
- var id = _ref6.id,
130
- direction = _ref6.direction;
117
+ }, ___EmotionJSX(React.Fragment, null, sorting.columns.map(function (_ref5, index) {
118
+ var id = _ref5.id,
119
+ direction = _ref5.direction;
131
120
  return ___EmotionJSX(EuiDataGridColumnSortingDraggable, {
132
121
  key: id,
133
122
  id: id,
@@ -180,9 +169,9 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
180
169
  return ___EmotionJSX("div", {
181
170
  className: "euiDataGridColumnSorting__fieldList",
182
171
  role: "listbox"
183
- }, inactiveSortableColumns.map(function (_ref7) {
184
- var id = _ref7.id,
185
- defaultSortDirection = _ref7.defaultSortDirection;
172
+ }, inactiveSortableColumns.map(function (_ref6) {
173
+ var id = _ref6.id,
174
+ defaultSortDirection = _ref6.defaultSortDirection;
186
175
  return ___EmotionJSX("button", {
187
176
  key: id,
188
177
  className: "euiDataGridColumnSorting__field",
@@ -0,0 +1,70 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["children", "className", "badgeContent", "textProps"];
4
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
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 classNames from 'classnames';
15
+ import { css } from '@emotion/react';
16
+ import { EuiButtonEmpty } from '../../button';
17
+ import { EuiNotificationBadge } from '../../badge';
18
+ import { useEuiI18n } from '../../i18n';
19
+ import { jsx as ___EmotionJSX } from "@emotion/react";
20
+ var _ref = process.env.NODE_ENV === "production" ? {
21
+ name: "1vci2nd-EuiDataGridToolbarControl",
22
+ styles: "cursor:inherit;label:EuiDataGridToolbarControl;"
23
+ } : {
24
+ name: "1vci2nd-EuiDataGridToolbarControl",
25
+ styles: "cursor:inherit;label:EuiDataGridToolbarControl;",
26
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
27
+ };
28
+ var _ref2 = process.env.NODE_ENV === "production" ? {
29
+ name: "8fsqop-EuiDataGridToolbarControl",
30
+ styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:EuiDataGridToolbarControl;"
31
+ } : {
32
+ name: "8fsqop-EuiDataGridToolbarControl",
33
+ styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:EuiDataGridToolbarControl;",
34
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
35
+ };
36
+ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref3) {
37
+ var children = _ref3.children,
38
+ className = _ref3.className,
39
+ badgeContent = _ref3.badgeContent,
40
+ textProps = _ref3.textProps,
41
+ rest = _objectWithoutProperties(_ref3, _excluded);
42
+ var classes = classNames('euiDataGridToolbarControl', className);
43
+ var badgeAriaLabel = useEuiI18n('euiDataGridToolbarControl.badgeAriaLabel', 'Active: {count}', {
44
+ count: typeof badgeContent === 'string' ? betterScreenReaderSlashes(badgeContent) : badgeContent
45
+ });
46
+ return ___EmotionJSX(EuiButtonEmpty, _extends({
47
+ className: classes,
48
+ size: "xs",
49
+ color: "text",
50
+ textProps: false
51
+ // Underline actual text, but not the badge
52
+ ,
53
+ css: _ref2
54
+ }, rest), ___EmotionJSX("span", _extends({}, textProps, {
55
+ className: classNames('euiDataGridToolbarControl__text', 'eui-textTruncate', textProps && textProps.className)
56
+ }), children), Boolean(badgeContent) && ___EmotionJSX(EuiNotificationBadge, {
57
+ className: "euiDataGridToolbarControl__badge",
58
+ css: _ref,
59
+ color: "subdued",
60
+ "aria-label": "- ".concat(badgeAriaLabel) // Punctuation helps add pauses for screen readers
61
+ ,
62
+ role: "marquee" // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/marquee_role
63
+ }, badgeContent));
64
+ };
65
+
66
+ // The columns control specifically passes (e.g.) `5/10` when some columns
67
+ // are being hidden. We can make this a bit more legible to SRs with this quick util
68
+ var betterScreenReaderSlashes = function betterScreenReaderSlashes(badgeContent) {
69
+ return badgeContent.replaceAll('/', ' out of ');
70
+ };
@@ -210,7 +210,6 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
210
210
  }, ___EmotionJSX(EuiButtonIcon, {
211
211
  size: "xs",
212
212
  iconType: "controlsHorizontal",
213
- className: "euiDataGrid__controlBtn",
214
213
  color: "text",
215
214
  "data-test-subj": "dataGridDisplaySelectorButton",
216
215
  onClick: function onClick() {
@@ -8,7 +8,6 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
8
  */
9
9
 
10
10
  import React, { useState, useEffect, useMemo, useCallback } from 'react';
11
- import classNames from 'classnames';
12
11
  import { keys } from '../../../services';
13
12
  import { EuiToolTip } from '../../tool_tip';
14
13
  import { EuiButtonIcon } from '../../button';
@@ -24,9 +23,6 @@ export var useDataGridFullScreenSelector = function useDataGridFullScreenSelecto
24
23
  _useEuiI18n2 = _slicedToArray(_useEuiI18n, 2),
25
24
  fullScreenButton = _useEuiI18n2[0],
26
25
  fullScreenButtonActive = _useEuiI18n2[1];
27
- var controlBtnClasses = classNames('euiDataGrid__controlBtn', {
28
- 'euiDataGrid__controlBtn--active': isFullScreen
29
- });
30
26
  var fullScreenSelector = useMemo(function () {
31
27
  return ___EmotionJSX(EuiToolTip, {
32
28
  content: isFullScreen ? ___EmotionJSX(React.Fragment, null, fullScreenButtonActive, " (", ___EmotionJSX("kbd", null, "esc"), ")") : fullScreenButton,
@@ -35,14 +31,14 @@ export var useDataGridFullScreenSelector = function useDataGridFullScreenSelecto
35
31
  size: "xs",
36
32
  iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
37
33
  color: "text",
38
- className: controlBtnClasses,
34
+ "aria-pressed": isFullScreen,
39
35
  "data-test-subj": "dataGridFullScreenButton",
40
36
  onClick: function onClick() {
41
37
  return setIsFullScreen(!isFullScreen);
42
38
  },
43
39
  "aria-label": isFullScreen ? fullScreenButtonActive : fullScreenButton
44
40
  }));
45
- }, [isFullScreen, controlBtnClasses, fullScreenButton, fullScreenButtonActive]);
41
+ }, [isFullScreen, fullScreenButton, fullScreenButtonActive]);
46
42
  var handleGridKeyDown = useCallback(function (event) {
47
43
  switch (event.key) {
48
44
  case keys.ESCAPE:
@@ -11,4 +11,5 @@ export { useDataGridColumnSorting } from './column_sorting';
11
11
  export { useDataGridDisplaySelector, startingStyles } from './display_selector';
12
12
  export { useDataGridKeyboardShortcuts } from './keyboard_shortcuts';
13
13
  export { useDataGridFullScreenSelector } from './fullscreen_selector';
14
- export { checkOrDefaultToolBarDisplayOptions, EuiDataGridToolbar } from './data_grid_toolbar';
14
+ export { checkOrDefaultToolBarDisplayOptions, EuiDataGridToolbar } from './data_grid_toolbar';
15
+ export { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
@@ -7,5 +7,5 @@
7
7
  */
8
8
 
9
9
  export { EuiDataGrid } from './data_grid';
10
- export { useDataGridColumnSelector, useDataGridColumnSorting, useDataGridDisplaySelector } from './controls';
10
+ export { useDataGridColumnSelector, useDataGridColumnSorting, useDataGridDisplaySelector, EuiDataGridToolbarControl } from './controls';
11
11
  export * from './data_grid_types';
@@ -150,7 +150,7 @@ export var RowHeightUtils = /*#__PURE__*/function () {
150
150
  var height = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ROW_HEIGHT;
151
151
  var _visibleRowIndex = arguments.length > 3 ? arguments[3] : undefined;
152
152
  var rowHeights = this.heightsCache.get(rowIndex) || new Map();
153
- var adaptedHeight = Math.ceil(height + this.styles.paddingTop + this.styles.paddingBottom);
153
+ var adaptedHeight = Math.ceil(height);
154
154
  if (rowHeights.get(colId) === adaptedHeight) {
155
155
  return false;
156
156
  } else {
@@ -141,7 +141,7 @@ export var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
141
141
  }, sharedButtonProps, {
142
142
  fill: fill,
143
143
  textProps: _objectSpread(_objectSpread({}, restTextProps), {}, {
144
- className: classNames('euiScreenReaderOnly', restTextProps === null || restTextProps === void 0 ? void 0 : restTextProps.className)
144
+ className: classNames('euiScreenReaderOnly', restTextProps && restTextProps.className)
145
145
  })
146
146
  }, rest), buttonText)), ___EmotionJSX(EuiHideFor, {
147
147
  sizes: responsive || 'none'
@@ -41,7 +41,7 @@ describe('EuiErrorBoundary', function () {
41
41
  cy.checkAxe();
42
42
  });
43
43
  it('has zero violations and accepts focus when the button is pressed', function () {
44
- cy.realPress('Tab');
44
+ cy.get('button').first().focus();
45
45
  cy.realPress('Enter');
46
46
  cy.get('pre.euiCodeBlock__pre').should('have.focus');
47
47
  cy.checkAxe();
@@ -202,8 +202,7 @@ describe('EuiExpression', function () {
202
202
  cy.checkAxe();
203
203
  });
204
204
  it('has zero violations when first popover is interacted with by keyboard', function () {
205
- cy.realPress('Tab');
206
- cy.get('button').contains(/When count\(\)/i).should('have.focus');
205
+ cy.get('button').contains(/When count\(\)/i).focus();
207
206
  cy.realPress('Enter');
208
207
  cy.get('div[data-test-subj="cy-expression-popover-1"]').should('exist');
209
208
  cy.realPress('Tab');
@@ -213,8 +212,7 @@ describe('EuiExpression', function () {
213
212
  cy.checkAxe();
214
213
  });
215
214
  it('has zero violations when second popover is interacted with by keyboard', function () {
216
- cy.repeatRealPress('Tab');
217
- cy.get('button').contains(/Is above 100/i).should('have.focus');
215
+ cy.get('button').contains(/Is above 100/i).focus();
218
216
  cy.realPress('Enter');
219
217
  cy.get('div[data-test-subj="cy-expression-popover-2"]').should('exist');
220
218
  cy.realPress('Tab');
@@ -69,7 +69,7 @@ export var EuiFilterButton = function EuiFilterButton(_ref) {
69
69
  });
70
70
  var buttonTextClassNames = classNames('euiFilterButton__text', {
71
71
  'euiFilterButton__text-hasNotification': showBadge
72
- }, textProps === null || textProps === void 0 ? void 0 : textProps.className);
72
+ }, textProps && textProps.className);
73
73
  var badgeContent = showBadge && ___EmotionJSX(EuiNotificationBadge, {
74
74
  className: "euiFilterButton__notification",
75
75
  css: [notificationStyles.euiFilterButton__notification, isDisabled && notificationStyles.disabled, ";label:badgeContent;"],
@@ -99,7 +99,7 @@ export var EuiFilterButton = function EuiFilterButton(_ref) {
99
99
  type: type,
100
100
  textProps: _objectSpread(_objectSpread({}, textProps), {}, {
101
101
  className: buttonTextClassNames,
102
- css: [textStyles.euiFilterButton__text, showBadge && textStyles.hasNotification, textProps === null || textProps === void 0 ? void 0 : textProps.css]
102
+ css: [textStyles.euiFilterButton__text, showBadge && textStyles.hasNotification, textProps && textProps.css]
103
103
  }),
104
104
  contentProps: _objectSpread(_objectSpread({}, contentProps), {}, {
105
105
  css: [contentStyles.euiFilterButton__content, iconType && contentStyles.hasIcon, contentProps === null || contentProps === void 0 ? void 0 : contentProps.css]
@@ -100,12 +100,12 @@ describe('EuiFocusTrap', function () {
100
100
  });
101
101
  describe('Accessibility checks for keyboard navigation', function () {
102
102
  it('allows the button outside the FocusTrap to receive focus', function () {
103
- cy.repeatRealPress('Tab', 5);
104
- cy.get('button[data-test-subj="cy-external-button"]').should('have.focus');
103
+ cy.get('button[data-test-subj="cy-external-button"]').focus();
105
104
  cy.checkAxe();
106
105
  });
107
106
  it('prevents the button outside the FocusTrap from receiving focus', function () {
108
- cy.repeatRealPress('Tab', 4);
107
+ cy.get('input[data-test-subj="cy-input-one"]').focus();
108
+ cy.repeatRealPress('Tab', 3);
109
109
  cy.realPress('Enter');
110
110
  cy.realPress('Tab');
111
111
  cy.get('input[data-test-subj="cy-input-one"]').should('have.focus');
@@ -49,15 +49,13 @@ describe('Single EuiRange', function () {
49
49
  });
50
50
  describe('Keyboard accessibility check', function () {
51
51
  it('has zero violations when the range slider is increased', function () {
52
- cy.realPress('Tab');
53
- cy.get('input#cy-range-single').should('have.focus');
52
+ cy.get('input#cy-range-single').focus();
54
53
  cy.repeatRealPress('ArrowRight', 10);
55
54
  cy.get('output.euiRangeTooltip__value').contains('100 - 110');
56
55
  cy.checkAxe();
57
56
  });
58
57
  it('has zero violations when the range slider is decreased', function () {
59
- cy.realPress('Tab');
60
- cy.get('input#cy-range-single').should('have.focus');
58
+ cy.get('input#cy-range-single').focus();
61
59
  cy.repeatRealPress('ArrowLeft', 10);
62
60
  cy.get('output.euiRangeTooltip__value').contains('100 - 100');
63
61
  cy.checkAxe();
@@ -96,8 +94,7 @@ describe('Dual EuiRange', function () {
96
94
  });
97
95
  describe('Keyboard accessibility check', function () {
98
96
  it('has zero violations when the range sliders are adjusted', function () {
99
- cy.realPress('Tab');
100
- cy.get('div[role="slider"]').first().should('have.focus');
97
+ cy.get('div[role="slider"]').first().focus();
101
98
  cy.repeatRealPress('ArrowLeft', 3);
102
99
  cy.get('div[role="slider"]').first().invoke('attr', 'aria-valuenow').should('eq', '70');
103
100
  cy.realPress('Tab');
@@ -138,8 +135,7 @@ describe('Highlight Area EuiRange', function () {
138
135
  });
139
136
  describe('Keyboard accessibility check', function () {
140
137
  it('has zero violations when the highlight area is adjusted using arrow keys', function () {
141
- cy.realPress('Tab');
142
- cy.get('div[role="slider"]').first().should('have.focus');
138
+ cy.get('div[role="slider"]').first().focus();
143
139
  cy.repeatRealPress('ArrowLeft', 3);
144
140
  cy.get('div[role="slider"]').first().invoke('attr', 'aria-valuetext').should('eq', '37, 57');
145
141
  cy.checkAxe();
@@ -184,8 +180,7 @@ describe('Highlight Area EuiRange', function () {
184
180
  });
185
181
  describe('Keyboard accessibility check', function () {
186
182
  it('updates the range value using arrow keys with input[type="number"]', function () {
187
- cy.realPress('Tab');
188
- cy.get('input#cy-range-in-dropdown').should('have.focus');
183
+ cy.get('input#cy-range-in-dropdown').focus();
189
184
  cy.repeatRealPress('ArrowUp', 10);
190
185
  cy.get('input[type="range"]').first().invoke('attr', 'value').should('eq', '30');
191
186
  cy.checkAxe();
@@ -214,6 +214,7 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
214
214
  dropdownDisplay = option.dropdownDisplay,
215
215
  inputDisplay = option.inputDisplay,
216
216
  optionRest = _objectWithoutProperties(option, _excluded2);
217
+ if (value == null) return;
217
218
  return ___EmotionJSX(EuiContextMenuItem, _extends({
218
219
  key: index,
219
220
  className: itemClasses,
@@ -227,7 +228,7 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
227
228
  return _this2.setItemNode(node, index);
228
229
  },
229
230
  role: "option",
230
- id: value,
231
+ id: String(value),
231
232
  "aria-selected": valueOfSelected === value
232
233
  }, optionRest), dropdownDisplay || inputDisplay);
233
234
  });
@@ -253,7 +254,7 @@ export var EuiSuperSelect = /*#__PURE__*/function (_Component) {
253
254
  "aria-describedby": _this2.describedById,
254
255
  className: "euiSuperSelect__listbox",
255
256
  role: "listbox",
256
- "aria-activedescendant": valueOfSelected,
257
+ "aria-activedescendant": valueOfSelected != null ? String(valueOfSelected) : undefined,
257
258
  tabIndex: 0
258
259
  }, items);
259
260
  }));
@@ -9,7 +9,7 @@ var _excluded = ["className", "options", "id", "name", "fullWidth", "isLoading",
9
9
  * Side Public License, v 1.
10
10
  */
11
11
 
12
- import React, { Fragment } from 'react';
12
+ import React, { useMemo } from 'react';
13
13
  import classNames from 'classnames';
14
14
  import { EuiFormControlLayout } from '../form_control_layout';
15
15
  import { getFormControlClassNameForIconCount } from '../form_control_layout/_num_icons';
@@ -19,8 +19,7 @@ export var EuiSuperSelectControl = function EuiSuperSelectControl(props) {
19
19
  var _useFormContext = useFormContext(),
20
20
  defaultFullWidth = _useFormContext.defaultFullWidth;
21
21
  var className = props.className,
22
- _props$options = props.options,
23
- options = _props$options === void 0 ? [] : _props$options,
22
+ options = props.options,
24
23
  id = props.id,
25
24
  name = props.name,
26
25
  _props$fullWidth = props.fullWidth,
@@ -51,27 +50,21 @@ export var EuiSuperSelectControl = function EuiSuperSelectControl(props) {
51
50
  'euiSuperSelectControl-isLoading': isLoading,
52
51
  'euiSuperSelectControl-isInvalid': isInvalid
53
52
  }, className);
54
-
55
- // React HTML input can not have both value and defaultValue properties.
56
- // https://reactjs.org/docs/uncontrolled-components.html#default-values
57
- var selectDefaultValue;
58
- if (value == null) {
59
- selectDefaultValue = defaultValue || '';
60
- }
61
- var selectedValue;
62
- if (value) {
63
- var selectedOption = options.find(function (option) {
64
- return option.value === value;
65
- });
66
- selectedValue = selectedOption ? selectedOption.inputDisplay : selectedValue;
67
- }
53
+ var inputValue = value != null ? value : defaultValue;
54
+ var selectedValue = useMemo(function () {
55
+ if (inputValue != null) {
56
+ var selectedOption = options === null || options === void 0 ? void 0 : options.find(function (option) {
57
+ return option.value === inputValue;
58
+ });
59
+ return selectedOption ? selectedOption.inputDisplay : undefined;
60
+ }
61
+ }, [inputValue, options]);
68
62
  var showPlaceholder = !!placeholder && !selectedValue;
69
- return ___EmotionJSX(Fragment, null, ___EmotionJSX("input", {
63
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX("input", {
70
64
  type: "hidden",
71
65
  id: id,
72
66
  name: name,
73
- defaultValue: selectDefaultValue,
74
- value: value,
67
+ value: String(inputValue !== null && inputValue !== void 0 ? inputValue : ''),
75
68
  readOnly: readOnly
76
69
  }), ___EmotionJSX(EuiFormControlLayout, {
77
70
  isDropdown: true,
@@ -327,7 +327,7 @@ describe('EuiHeader', function () {
327
327
  cy.checkAxe();
328
328
  });
329
329
  it('has zero violations when a hidden breadcrumb is expanded', function () {
330
- cy.get('button[aria-label="See collapsed breadcrumbs"]').realClick();
330
+ cy.get('button[title="See collapsed breadcrumbs"]').realClick();
331
331
  cy.get('a[data-test-subj="cy-breadcrumb-hidden"]').should('exist');
332
332
  cy.checkAxe();
333
333
  });
@@ -0,0 +1,36 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["title", "titleId"];
4
+ /*
5
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
+ * or more contributor license agreements. Licensed under the Elastic License
7
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
8
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
9
+ * Side Public License, v 1.
10
+ */
11
+
12
+ // THIS IS A GENERATED FILE. DO NOT MODIFY MANUALLY. @see scripts/compile-icons.js
13
+
14
+ import * as React from 'react';
15
+ import { jsx as ___EmotionJSX } from "@emotion/react";
16
+ var EuiIconEndpoint = function EuiIconEndpoint(_ref) {
17
+ var title = _ref.title,
18
+ titleId = _ref.titleId,
19
+ props = _objectWithoutProperties(_ref, _excluded);
20
+ return ___EmotionJSX("svg", _extends({
21
+ xmlns: "http://www.w3.org/2000/svg",
22
+ width: 16,
23
+ height: 16,
24
+ viewBox: "0 0 16 16",
25
+ "aria-labelledby": titleId
26
+ }, props), title ? ___EmotionJSX("title", {
27
+ id: titleId
28
+ }, title) : null, ___EmotionJSX("path", {
29
+ d: "M9.406 13.454a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"
30
+ }), ___EmotionJSX("path", {
31
+ fillRule: "evenodd",
32
+ d: "M6.86 6.09a2.545 2.545 0 1 1 2.497-3.045h.368a2.727 2.727 0 1 1 0 5.455H6.543a1.727 1.727 0 1 0 0 3.454h.367a2.546 2.546 0 1 1 0 1h-.367a2.727 2.727 0 1 1 0-5.454h3.182a1.727 1.727 0 1 0 0-3.455h-.368a2.546 2.546 0 0 1-2.496 2.046L6.86 6.09Zm0-1a1.545 1.545 0 1 1 0-3.09 1.545 1.545 0 0 1 0 3.09ZM9.407 14a1.545 1.545 0 1 1 0-3.09 1.545 1.545 0 0 1 0 3.09Z",
33
+ clipRule: "evenodd"
34
+ }));
35
+ };
36
+ export var icon = EuiIconEndpoint;
@@ -124,6 +124,7 @@ export var typeToPathMap = {
124
124
  email: 'email',
125
125
  empty: 'empty',
126
126
  emsApp: 'app_ems',
127
+ endpoint: 'endpoint',
127
128
  eql: 'eql',
128
129
  eraser: 'eraser',
129
130
  error: 'error',
@@ -42,8 +42,7 @@ describe('EuiImage', function () {
42
42
  cy.checkAxe();
43
43
  });
44
44
  it('has zero violations on keyboard interaction', function () {
45
- cy.realPress('Tab');
46
- cy.get('button[data-test-subj="activateFullScreenButton"]').should('have.focus');
45
+ cy.get('button[data-test-subj="activateFullScreenButton"]').focus();
47
46
  cy.realPress('Enter');
48
47
  cy.get('button[data-test-subj="deactivateFullScreenButton"]').should('exist');
49
48
  cy.get('button[data-test-subj="deactivateFullScreenButton"]').should('have.focus');
@@ -127,20 +127,20 @@ describe('EuiKeyPadMenu', function () {
127
127
  });
128
128
  it('has zero violations on item click', function () {
129
129
  cy.get('a[data-test-subj="cy-keypad-link-2"]').realClick();
130
- cy.get('a[data-test-subj="cy-keypad-link-2"]').should('have.class', 'euiKeyPadMenuItem-isSelected');
130
+ cy.get('a[data-test-subj="cy-keypad-link-2"]').should('have.attr', 'aria-current', 'true');
131
131
  cy.checkAxe();
132
132
  });
133
133
  it('has zero violations on item keypress', function () {
134
134
  cy.repeatRealPress('Tab', 3);
135
135
  cy.get('button[data-test-subj="cy-keypad-button-3"]').should('have.focus');
136
136
  cy.realPress('Space');
137
- cy.get('button[data-test-subj="cy-keypad-button-3"]').should('have.class', 'euiKeyPadMenuItem-isSelected');
137
+ cy.get('button[data-test-subj="cy-keypad-button-3"]').should('have.attr', 'aria-pressed', 'true');
138
138
  cy.checkAxe();
139
139
  cy.realPress(['Shift', 'Tab']);
140
- cy.get('button[data-test-subj="cy-keypad-button-2"]').should('have.focus');
140
+ cy.get('button[data-test-subj="cy-keypad-button-2"]').should('have.attr', 'aria-pressed', 'false');
141
141
  cy.realPress('Space');
142
- cy.get('button[data-test-subj="cy-keypad-button-2"]').should('have.class', 'euiKeyPadMenuItem-isSelected');
143
- cy.get('button[data-test-subj="cy-keypad-button-3"]').should('not.have.class', 'euiKeyPadMenuItem-isSelected');
142
+ cy.get('button[data-test-subj="cy-keypad-button-2"]').invoke('attr', 'aria-pressed').should('equal', 'true');
143
+ cy.get('button[data-test-subj="cy-keypad-button-3"]').invoke('attr', 'aria-pressed').should('equal', 'false');
144
144
  cy.checkAxe();
145
145
  });
146
146
  });
@@ -0,0 +1,41 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["target", "external"];
4
+ /*
5
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
+ * or more contributor license agreements. Licensed under the Elastic License
7
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
8
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
9
+ * Side Public License, v 1.
10
+ */
11
+
12
+ import React from 'react';
13
+ import { useEuiTheme } from '../../services';
14
+ import { logicalStyle } from '../../global_styling';
15
+ import { EuiIcon } from '../icon';
16
+ import { EuiI18n, useEuiI18n } from '../i18n';
17
+ import { EuiScreenReaderOnly } from '../accessibility';
18
+
19
+ /**
20
+ * DRY util for indicating external links both via icon and to
21
+ * screen readers. Used internally by at EuiLink and EuiListGroupItem
22
+ */
23
+ import { jsx as ___EmotionJSX } from "@emotion/react";
24
+ export var EuiExternalLinkIcon = function EuiExternalLinkIcon(_ref) {
25
+ var target = _ref.target,
26
+ external = _ref.external,
27
+ rest = _objectWithoutProperties(_ref, _excluded);
28
+ var _useEuiTheme = useEuiTheme(),
29
+ euiTheme = _useEuiTheme.euiTheme;
30
+ var showExternalLinkIcon = target === '_blank' && external !== false || external === true;
31
+ var iconAriaLabel = useEuiI18n('euiExternalLinkIcon.ariaLabel', 'External link');
32
+ return ___EmotionJSX(React.Fragment, null, showExternalLinkIcon && ___EmotionJSX(EuiIcon, _extends({
33
+ css: logicalStyle('margin-left', euiTheme.size.xs),
34
+ "aria-label": iconAriaLabel,
35
+ size: "s",
36
+ type: "popout"
37
+ }, rest)), target === '_blank' && ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("span", null, ___EmotionJSX(EuiI18n, {
38
+ token: "euiExternalLinkIcon.newTarget.screenReaderOnlyText",
39
+ default: "(opens in a new tab or window)"
40
+ }))));
41
+ };