@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
@@ -1,12 +1,4 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
9
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
10
2
  /*
11
3
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
4
  * or more contributor license agreements. Licensed under the Elastic License
@@ -15,173 +7,128 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
15
7
  * Side Public License, v 1.
16
8
  */
17
9
 
18
- import React, { Component } from 'react';
10
+ import React, { useState, useCallback, useMemo } from 'react';
19
11
  import { isString } from '../../services/predicate';
20
12
  import { EuiContextMenuItem, EuiContextMenuPanel } from '../context_menu';
21
13
  import { EuiPopover } from '../popover';
22
14
  import { EuiButtonIcon } from '../button';
23
15
  import { EuiToolTip } from '../tool_tip';
24
16
  import { EuiI18n } from '../i18n';
17
+ import { isCustomItemAction, callWithItemIfFunction } from './action_types';
25
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
26
- function actionIsCustomItemAction(action) {
27
- return action.hasOwnProperty('render');
28
- }
29
- export var CollapsedItemActions = /*#__PURE__*/function (_Component) {
30
- _inherits(CollapsedItemActions, _Component);
31
- var _super = _createSuper(CollapsedItemActions);
32
- function CollapsedItemActions() {
33
- var _this;
34
- _classCallCheck(this, CollapsedItemActions);
35
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
- args[_key] = arguments[_key];
37
- }
38
- _this = _super.call.apply(_super, [this].concat(args));
39
- _defineProperty(_assertThisInitialized(_this), "popoverDiv", null);
40
- _defineProperty(_assertThisInitialized(_this), "state", {
41
- popoverOpen: false
42
- });
43
- _defineProperty(_assertThisInitialized(_this), "togglePopover", function () {
44
- _this.setState(function (prevState) {
45
- return {
46
- popoverOpen: !prevState.popoverOpen
47
- };
48
- });
49
- });
50
- _defineProperty(_assertThisInitialized(_this), "closePopover", function () {
51
- _this.setState({
52
- popoverOpen: false
53
- });
54
- });
55
- _defineProperty(_assertThisInitialized(_this), "onPopoverBlur", function () {
56
- // you must be asking... WTF? I know... but this timeout is
57
- // required to make sure we process the onBlur events after the initial
58
- // event cycle. Reference:
59
- // https://medium.com/@jessebeach/dealing-with-focus-and-blur-in-a-composite-widget-in-react-90d3c3b49a9b
60
- window.requestAnimationFrame(function () {
61
- if (!_this.popoverDiv.contains(document.activeElement) && _this.props.onBlur) {
62
- _this.props.onBlur();
63
- }
64
- });
65
- });
66
- _defineProperty(_assertThisInitialized(_this), "registerPopoverDiv", function (popoverDiv) {
67
- if (!_this.popoverDiv) {
68
- _this.popoverDiv = popoverDiv;
69
- _this.popoverDiv && _this.popoverDiv.addEventListener('focusout', _this.onPopoverBlur);
70
- }
71
- });
72
- _defineProperty(_assertThisInitialized(_this), "onClickItem", function (onClickAction) {
73
- _this.closePopover();
74
- if (onClickAction) {
75
- onClickAction();
76
- }
77
- });
78
- return _this;
79
- }
80
- _createClass(CollapsedItemActions, [{
81
- key: "componentWillUnmount",
82
- value: function componentWillUnmount() {
83
- if (this.popoverDiv) {
84
- this.popoverDiv.removeEventListener('focusout', this.onPopoverBlur);
85
- }
86
- }
87
- }, {
88
- key: "render",
89
- value: function render() {
90
- var _this2 = this;
91
- var _this$props = this.props,
92
- actions = _this$props.actions,
93
- itemId = _this$props.itemId,
94
- item = _this$props.item,
95
- actionEnabled = _this$props.actionEnabled,
96
- onFocus = _this$props.onFocus,
97
- className = _this$props.className;
98
- var isOpen = this.state.popoverOpen;
99
- var allDisabled = true;
100
- var controls = actions.reduce(function (controls, action, index) {
101
- var key = "action_".concat(itemId, "_").concat(index);
102
- var available = action.available ? action.available(item) : true;
103
- if (!available) {
104
- return controls;
105
- }
106
- var enabled = actionEnabled(action);
107
- allDisabled = allDisabled && !enabled;
108
- if (actionIsCustomItemAction(action)) {
109
- var customAction = action;
110
- var actionControl = customAction.render(item, enabled);
111
- var actionControlOnClick = actionControl && actionControl.props && actionControl.props.onClick;
112
- controls.push(___EmotionJSX(EuiContextMenuItem, {
113
- key: key,
114
- onClick: function onClick() {
115
- return _this2.onClickItem(actionControlOnClick ? function () {
116
- return actionControlOnClick(item);
117
- } : undefined);
118
- }
119
- }, actionControl));
120
- } else {
121
- var _onClick = action.onClick,
122
- name = action.name,
123
- href = action.href,
124
- target = action.target,
125
- dataTestSubj = action['data-test-subj'];
126
- var buttonIcon = action.icon;
127
- var icon;
128
- if (buttonIcon) {
129
- icon = isString(buttonIcon) ? buttonIcon : buttonIcon(item);
19
+ export var CollapsedItemActions = function CollapsedItemActions(_ref) {
20
+ var actions = _ref.actions,
21
+ itemId = _ref.itemId,
22
+ item = _ref.item,
23
+ actionEnabled = _ref.actionEnabled,
24
+ className = _ref.className;
25
+ var _useState = useState(false),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ popoverOpen = _useState2[0],
28
+ setPopoverOpen = _useState2[1];
29
+ var _useState3 = useState(true),
30
+ _useState4 = _slicedToArray(_useState3, 2),
31
+ allDisabled = _useState4[0],
32
+ setAllDisabled = _useState4[1];
33
+ var onClickItem = useCallback(function (onClickAction) {
34
+ setPopoverOpen(false);
35
+ onClickAction === null || onClickAction === void 0 ? void 0 : onClickAction();
36
+ }, []);
37
+ var controls = useMemo(function () {
38
+ return actions.reduce(function (controls, action, index) {
39
+ var _action$available, _action$available2;
40
+ var available = (_action$available = (_action$available2 = action.available) === null || _action$available2 === void 0 ? void 0 : _action$available2.call(action, item)) !== null && _action$available !== void 0 ? _action$available : true;
41
+ if (!available) return controls;
42
+ var enabled = actionEnabled(action);
43
+ if (enabled) setAllDisabled(false);
44
+ if (isCustomItemAction(action)) {
45
+ var customAction = action;
46
+ var actionControl = customAction.render(item, enabled);
47
+ controls.push(
48
+ // Do not put the `onClick` on the EuiContextMenuItem itself - otherwise
49
+ // it renders a <button> tag instead of a <div>, and we end up with nested
50
+ // interactive elements
51
+ ___EmotionJSX(EuiContextMenuItem, {
52
+ key: index,
53
+ className: "euiBasicTable__collapsedCustomAction"
54
+ }, ___EmotionJSX("span", {
55
+ onClick: function onClick() {
56
+ return onClickItem();
130
57
  }
131
- var buttonContent = typeof name === 'function' ? name(item) : name;
132
- controls.push(___EmotionJSX(EuiContextMenuItem, {
133
- key: key,
134
- disabled: !enabled,
135
- href: href,
136
- target: target,
137
- icon: icon,
138
- "data-test-subj": dataTestSubj,
139
- onClick: function onClick() {
140
- return _this2.onClickItem(_onClick ? function () {
141
- return _onClick(item);
142
- } : undefined);
143
- }
144
- }, buttonContent));
58
+ }, actionControl)));
59
+ } else {
60
+ var buttonIcon = action.icon;
61
+ var icon;
62
+ if (buttonIcon) {
63
+ icon = isString(buttonIcon) ? buttonIcon : buttonIcon(item);
145
64
  }
146
- return controls;
147
- }, []);
148
- var popoverButton = ___EmotionJSX(EuiI18n, {
149
- token: "euiCollapsedItemActions.allActions",
150
- default: "All actions"
151
- }, function (allActions) {
152
- return ___EmotionJSX(EuiButtonIcon, {
153
- className: className,
154
- "aria-label": allActions,
155
- iconType: "boxesHorizontal",
156
- color: "text",
157
- isDisabled: allDisabled,
158
- onClick: _this2.togglePopover.bind(_this2),
159
- onFocus: onFocus,
160
- "data-test-subj": "euiCollapsedItemActionsButton"
65
+ var buttonContent = callWithItemIfFunction(item)(action.name);
66
+ var toolTipContent = callWithItemIfFunction(item)(action.description);
67
+ var href = callWithItemIfFunction(item)(action.href);
68
+ var dataTestSubj = callWithItemIfFunction(item)(action['data-test-subj']);
69
+ var _onClick = action.onClick,
70
+ target = action.target;
71
+ controls.push(___EmotionJSX(EuiContextMenuItem, {
72
+ key: index,
73
+ className: "euiBasicTable__collapsedAction",
74
+ disabled: !enabled,
75
+ href: href,
76
+ target: target,
77
+ icon: icon,
78
+ "data-test-subj": dataTestSubj,
79
+ onClick: function onClick() {
80
+ return onClickItem(_onClick ? function () {
81
+ return _onClick(item);
82
+ } : undefined);
83
+ },
84
+ toolTipContent: toolTipContent,
85
+ toolTipProps: {
86
+ delay: 'long'
87
+ }
88
+ }, buttonContent));
89
+ }
90
+ return controls;
91
+ }, []);
92
+ }, [actions, actionEnabled, item, onClickItem]);
93
+ var popoverButton = ___EmotionJSX(EuiI18n, {
94
+ token: "euiCollapsedItemActions.allActions",
95
+ default: "All actions"
96
+ }, function (allActions) {
97
+ return ___EmotionJSX(EuiButtonIcon, {
98
+ className: className,
99
+ "aria-label": allActions,
100
+ iconType: "boxesHorizontal",
101
+ color: "text",
102
+ isDisabled: allDisabled,
103
+ onClick: function onClick() {
104
+ return setPopoverOpen(function (isOpen) {
105
+ return !isOpen;
161
106
  });
162
- });
163
- var withTooltip = !allDisabled && ___EmotionJSX(EuiI18n, {
164
- token: "euiCollapsedItemActions.allActions",
165
- default: "All actions"
166
- }, function (allActions) {
167
- return ___EmotionJSX(EuiToolTip, {
168
- content: allActions,
169
- delay: "long"
170
- }, popoverButton);
171
- });
172
- return ___EmotionJSX(EuiPopover, {
173
- className: className,
174
- popoverRef: this.registerPopoverDiv,
175
- id: "".concat(itemId, "-actions"),
176
- isOpen: isOpen,
177
- button: withTooltip || popoverButton,
178
- closePopover: this.closePopover,
179
- panelPaddingSize: "none",
180
- anchorPosition: "leftCenter"
181
- }, ___EmotionJSX(EuiContextMenuPanel, {
182
- items: controls
183
- }));
184
- }
185
- }]);
186
- return CollapsedItemActions;
187
- }(Component);
107
+ },
108
+ "data-test-subj": "euiCollapsedItemActionsButton"
109
+ });
110
+ });
111
+ var withTooltip = !allDisabled && ___EmotionJSX(EuiI18n, {
112
+ token: "euiCollapsedItemActions.allActions",
113
+ default: "All actions"
114
+ }, function (allActions) {
115
+ return ___EmotionJSX(EuiToolTip, {
116
+ content: allActions,
117
+ delay: "long"
118
+ }, popoverButton);
119
+ });
120
+ return ___EmotionJSX(EuiPopover, {
121
+ className: className,
122
+ id: "".concat(itemId, "-actions"),
123
+ isOpen: popoverOpen,
124
+ button: withTooltip || popoverButton,
125
+ closePopover: function closePopover() {
126
+ return setPopoverOpen(false);
127
+ },
128
+ panelPaddingSize: "none",
129
+ anchorPosition: "leftCenter"
130
+ }, ___EmotionJSX(EuiContextMenuPanel, {
131
+ className: "euiBasicTable__collapsedActions",
132
+ items: controls
133
+ }));
134
+ };
@@ -1,12 +1,3 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
9
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
10
1
  /*
11
2
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
3
  * or more contributor license agreements. Licensed under the Elastic License
@@ -15,78 +6,14 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
15
6
  * Side Public License, v 1.
16
7
  */
17
8
 
18
- import React, { Component, cloneElement } from 'react';
9
+ import React from 'react';
19
10
  import { jsx as ___EmotionJSX } from "@emotion/react";
20
- export var CustomItemAction = /*#__PURE__*/function (_Component) {
21
- _inherits(CustomItemAction, _Component);
22
- var _super = _createSuper(CustomItemAction);
23
- function CustomItemAction(props) {
24
- var _this;
25
- _classCallCheck(this, CustomItemAction);
26
- _this = _super.call(this, props);
27
- _defineProperty(_assertThisInitialized(_this), "mounted", void 0);
28
- _defineProperty(_assertThisInitialized(_this), "onFocus", function () {
29
- if (_this.mounted) {
30
- _this.setState({
31
- hasFocus: true
32
- });
33
- }
34
- });
35
- _defineProperty(_assertThisInitialized(_this), "onBlur", function () {
36
- if (_this.mounted) {
37
- _this.setState({
38
- hasFocus: false
39
- });
40
- }
41
- });
42
- _defineProperty(_assertThisInitialized(_this), "hasFocus", function () {
43
- return _this.state.hasFocus;
44
- });
45
- _this.state = {
46
- hasFocus: false
47
- };
48
-
49
- // while generally considered an anti-pattern, here we require
50
- // to do that as the onFocus/onBlur events of the action controls
51
- // may trigger while this component is unmounted. An alternative
52
- // (at least the workarounds suggested by react is to unregister
53
- // the onFocus/onBlur listeners from the action controls... this
54
- // unfortunately will lead to unnecessarily complex code... so we'll
55
- // stick to this approach for now)
56
- _this.mounted = false;
57
- return _this;
58
- }
59
- _createClass(CustomItemAction, [{
60
- key: "componentDidMount",
61
- value: function componentDidMount() {
62
- this.mounted = true;
63
- }
64
- }, {
65
- key: "componentWillUnmount",
66
- value: function componentWillUnmount() {
67
- this.mounted = false;
68
- }
69
- }, {
70
- key: "render",
71
- value: function render() {
72
- var _this$props = this.props,
73
- action = _this$props.action,
74
- enabled = _this$props.enabled,
75
- item = _this$props.item,
76
- className = _this$props.className;
77
- var tool = action.render(item, enabled);
78
- var clonedTool = /*#__PURE__*/cloneElement(tool, {
79
- onFocus: this.onFocus,
80
- onBlur: this.onBlur
81
- });
82
- var style = this.hasFocus() ? {
83
- opacity: 1
84
- } : undefined;
85
- return ___EmotionJSX("div", {
86
- style: style,
87
- className: className
88
- }, clonedTool);
89
- }
90
- }]);
91
- return CustomItemAction;
92
- }(Component);
11
+ export var CustomItemAction = function CustomItemAction(_ref) {
12
+ var action = _ref.action,
13
+ enabled = _ref.enabled,
14
+ item = _ref.item,
15
+ className = _ref.className;
16
+ return ___EmotionJSX("div", {
17
+ className: className
18
+ }, action.render(item, enabled));
19
+ };
@@ -12,10 +12,8 @@ import { EuiButtonEmpty, EuiButtonIcon } from '../button';
12
12
  import { EuiToolTip } from '../tool_tip';
13
13
  import { useGeneratedHtmlId } from '../../services/accessibility';
14
14
  import { EuiScreenReaderOnly } from '../accessibility';
15
+ import { callWithItemIfFunction } from './action_types';
15
16
  import { jsx as ___EmotionJSX } from "@emotion/react";
16
- // In order to use generics with an arrow function inside a .tsx file, it's necessary to use
17
- // this `extends` hack and declare the types as shown, instead of declaring the const as a
18
- // FunctionComponent
19
17
  export var DefaultItemAction = function DefaultItemAction(_ref) {
20
18
  var action = _ref.action,
21
19
  enabled = _ref.enabled,
@@ -38,25 +36,36 @@ export var DefaultItemAction = function DefaultItemAction(_ref) {
38
36
  icon = isString(buttonIcon) ? buttonIcon : buttonIcon(item);
39
37
  }
40
38
  var button;
41
- var actionContent = typeof action.name === 'function' ? action.name(item) : action.name;
39
+ var actionContent = callWithItemIfFunction(item)(action.name);
40
+ var tooltipContent = callWithItemIfFunction(item)(action.description);
41
+ var href = callWithItemIfFunction(item)(action.href);
42
+ var dataTestSubj = callWithItemIfFunction(item)(action['data-test-subj']);
42
43
  var ariaLabelId = useGeneratedHtmlId();
44
+ var ariaLabelledBy;
43
45
  if (action.type === 'icon') {
44
46
  if (!icon) {
45
47
  throw new Error("Cannot render item action [".concat(action.name, "]. It is configured to render as an icon but no\n icon is provided. Make sure to set the 'icon' property of the action"));
46
48
  }
47
- button = ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiButtonIcon, {
49
+ button = ___EmotionJSX(EuiButtonIcon, {
48
50
  className: className,
49
51
  "aria-labelledby": ariaLabelId,
50
52
  isDisabled: !enabled,
51
53
  color: color,
52
54
  iconType: icon,
53
55
  onClick: onClick,
54
- href: action.href,
56
+ href: href,
55
57
  target: action.target,
56
- "data-test-subj": action['data-test-subj']
57
- }), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("span", {
58
+ "data-test-subj": dataTestSubj
59
+ // If action is disabled, the normal tooltip can't show - attempt to
60
+ // provide some amount of affordance with a browser title tooltip
61
+ ,
62
+ title: !enabled ? tooltipContent : undefined
63
+ });
64
+ // actionContent (action.name) is a ReactNode and must be rendered
65
+ // to an element and referenced by ID for screen readers
66
+ ariaLabelledBy = ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("span", {
58
67
  id: ariaLabelId
59
- }, actionContent)));
68
+ }, actionContent));
60
69
  } else {
61
70
  button = ___EmotionJSX(EuiButtonEmpty, {
62
71
  className: className,
@@ -65,14 +74,14 @@ export var DefaultItemAction = function DefaultItemAction(_ref) {
65
74
  color: color,
66
75
  iconType: icon,
67
76
  onClick: onClick,
68
- href: action.href,
77
+ href: href,
69
78
  target: action.target,
70
- "data-test-subj": action['data-test-subj'],
79
+ "data-test-subj": dataTestSubj,
71
80
  flush: "right"
72
81
  }, actionContent);
73
82
  }
74
- return enabled && action.description ? ___EmotionJSX(EuiToolTip, {
75
- content: action.description,
83
+ return enabled ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiToolTip, {
84
+ content: tooltipContent,
76
85
  delay: "long"
77
- }, button) : button;
86
+ }, button), ariaLabelledBy) : ___EmotionJSX(React.Fragment, null, button, ariaLabelledBy);
78
87
  };
@@ -133,24 +133,26 @@ describe('EuiInMemoryTable', function () {
133
133
  cy.checkAxe();
134
134
  });
135
135
  it('has zero violations after sorting on a column', function () {
136
- cy.realPress('Tab');
137
- cy.get('button[data-test-subj="tableHeaderSortButton"]').first().should('have.focus');
138
- cy.realPress('Enter');
136
+ cy.get('button[data-test-subj="tableHeaderSortButton"]').first().focus();
137
+ cy.realPress('{enter}');
139
138
  cy.checkAxe();
140
139
  });
141
140
  it('has zero violations when number of rows is increased by keyboard', function () {
142
- cy.repeatRealPress('Tab', 14);
143
- cy.get('button[data-test-subj="tablePaginationPopoverButton"]').should('have.focus').realPress('Space');
144
- cy.get('div[data-popover-open="true"]').should('exist');
145
- cy.get('div[data-popover-open="true"]').should('have.focus');
141
+ cy.get('button[data-test-subj="tablePaginationPopoverButton"]').focus().realPress('{enter}');
142
+ cy.get('div[data-popover-open="true"]', {
143
+ timeout: 1000
144
+ }).should('exist');
146
145
  cy.repeatRealPress('Tab'); // Switched to Tab from ArrowDown because of flaky test runs
147
- cy.get('button[data-test-subj="tablePagination-25-rows"]').realPress('Space');
148
- cy.get('table.euiTable').find('tr.euiTableRow').should('have.length', 20);
146
+ cy.get('button[data-test-subj="tablePagination-25-rows"]', {
147
+ timeout: 1000
148
+ }).realPress('{enter}');
149
+ cy.get('table.euiTable', {
150
+ timeout: 1000
151
+ }).find('tr.euiTableRow').should('have.length', 20);
149
152
  cy.checkAxe();
150
153
  });
151
154
  it('has zero violations when pagination is pressed', function () {
152
- cy.repeatRealPress('Tab', 15);
153
- cy.get('a[data-test-subj="pagination-button-1"]').should('have.focus').realPress('Enter');
155
+ cy.get('a[data-test-subj="pagination-button-1"]').focus().realPress('{enter}');
154
156
  cy.get('button[data-test-subj="pagination-button-1"]').should('be.disabled');
155
157
  cy.checkAxe();
156
158
  });
@@ -82,10 +82,12 @@ export var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
82
82
  var popoverAriaLabel = useEuiI18n('euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
83
83
  return ___EmotionJSX(EuiInnerText, null, function (ref, innerText) {
84
84
  var title = innerText === '' ? undefined : innerText;
85
- var sharedProps = {
85
+ var baseProps = {
86
86
  ref: ref,
87
87
  title: title,
88
- 'aria-current': ariaCurrent,
88
+ 'aria-current': ariaCurrent
89
+ };
90
+ var styleProps = {
89
91
  className: classes,
90
92
  css: cssStyles
91
93
  };
@@ -95,8 +97,10 @@ export var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
95
97
  closePopover: function closePopover() {
96
98
  return setIsPopoverOpen(false);
97
99
  },
98
- button: ___EmotionJSX(EuiLink, _extends({}, sharedProps, {
99
- color: linkColor
100
+ css: !isLastBreadcrumb && styles.euiBreadcrumb__popoverWrapper,
101
+ button: ___EmotionJSX(EuiLink, _extends({}, baseProps, {
102
+ color: linkColor,
103
+ css: styles.euiBreadcrumb__popoverButton
100
104
  // Avoid passing href and onClick - should only toggle the popover
101
105
  ,
102
106
  onClick: function onClick() {
@@ -104,14 +108,14 @@ export var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
104
108
  return !isOpen;
105
109
  });
106
110
  }
107
- }, rest), text, ' ', ___EmotionJSX(EuiIcon, {
111
+ }, rest), ___EmotionJSX("span", styleProps, text), ___EmotionJSX(EuiIcon, {
108
112
  type: "arrowDown",
109
113
  size: "s",
110
114
  "aria-label": " - ".concat(popoverAriaLabel)
111
115
  }))
112
116
  }), popoverContent);
113
117
  } else if (isInteractiveBreadcrumb) {
114
- return ___EmotionJSX(EuiLink, _extends({}, sharedProps, {
118
+ return ___EmotionJSX(EuiLink, _extends({}, baseProps, styleProps, {
115
119
  color: linkColor,
116
120
  onClick: onClick,
117
121
  href: href,
@@ -121,7 +125,7 @@ export var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
121
125
  return ___EmotionJSX(EuiTextColor, {
122
126
  color: plainTextColor,
123
127
  cloneElement: true
124
- }, ___EmotionJSX("span", _extends({}, sharedProps, rest), text));
128
+ }, ___EmotionJSX("span", _extends({}, baseProps, styleProps, rest), text));
125
129
  }
126
130
  });
127
131
  };
@@ -49,6 +49,11 @@ export var euiBreadcrumbContentStyles = function euiBreadcrumbContentStyles(euiT
49
49
  return x * 10;
50
50
  })), ";;label:isTruncated;"),
51
51
  isTruncatedLast: /*#__PURE__*/css(euiTextTruncate('none'), ";;label:isTruncatedLast;"),
52
+ // Popover styles
53
+ euiBreadcrumb__popoverButton: /*#__PURE__*/css("max-inline-size:100%;display:inline-flex;align-items:center;gap:", euiTheme.size.xs, ";;label:euiBreadcrumb__popoverButton;"),
54
+ euiBreadcrumb__popoverWrapper: /*#__PURE__*/css("max-inline-size:calc(\n 100% - ", mathWithUnits(euiTheme.size.base, function (x) {
55
+ return x + 1;
56
+ }), "\n );;label:euiBreadcrumb__popoverWrapper;"),
52
57
  // Types
53
58
  page: /*#__PURE__*/css("&:is(a):focus{", euiFocusRing(euiThemeContext, 'inset'), ";}&:is(button):focus{", euiFocusRing(euiThemeContext, 'center'), ";};label:page;"),
54
59
  application: /*#__PURE__*/css(euiFontSize(euiThemeContext, 'xs'), " background-color:", transparentize(euiTheme.colors.darkestShade, 0.2), ";clip-path:polygon(\n 0 0,\n calc(100% - ", euiTheme.size.s, ") 0,\n 100% 50%,\n calc(100% - ", euiTheme.size.s, ") 100%,\n 0 100%,\n ", euiTheme.size.s, " 50%\n );color:", euiTheme.colors.darkestShade, ";line-height:", euiTheme.size.base, ";", logicalCSS('padding-vertical', euiTheme.size.xs), " ", logicalCSS('padding-horizontal', euiTheme.size.base), " &:is(a),&:is(button){background-color:", transparentize(euiTheme.colors.primary, 0.2), ";color:", euiTheme.colors.link, ";:focus{", euiFocusRing(euiThemeContext, 'inset'), " :focus-visible{border-radius:", euiTheme.border.radius.medium, ";clip-path:none;}}};label:application;"),
@@ -66,9 +66,11 @@ export var EuiButtonDisplayContent = function EuiButtonDisplayContent(_ref) {
66
66
  }
67
67
 
68
68
  var isText = typeof children === 'string';
69
+ var doNotRenderTextWrapper = textProps === false;
70
+ var renderTextWrapper = (isText || textProps) && !doNotRenderTextWrapper;
69
71
  return ___EmotionJSX("span", _extends({
70
72
  css: cssStyles
71
- }, contentProps), iconSide === 'left' && icon, isText || textProps ? ___EmotionJSX("span", _extends({}, textProps, {
73
+ }, contentProps), iconSide === 'left' && icon, renderTextWrapper ? ___EmotionJSX("span", _extends({}, textProps, {
72
74
  className: classNames('eui-textTruncate', textProps === null || textProps === void 0 ? void 0 : textProps.className)
73
75
  }), children) : children, iconSide === 'right' && icon);
74
76
  };
@@ -67,14 +67,14 @@ export var EuiButtonEmpty = function EuiButtonEmpty(_ref) {
67
67
  var cssStyles = [styles.euiButtonEmpty, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], flush && styles.flush, flush && styles[flush], isDisabled && styles.isDisabled];
68
68
  var classes = classNames('euiButtonEmpty', className);
69
69
  var contentClassNames = classNames('euiButtonEmpty__content', contentProps === null || contentProps === void 0 ? void 0 : contentProps.className);
70
- var textClassNames = classNames('euiButtonEmpty__text', textProps === null || textProps === void 0 ? void 0 : textProps.className);
70
+ var textClassNames = classNames('euiButtonEmpty__text', textProps && textProps.className);
71
71
  var innerNode = ___EmotionJSX(EuiButtonDisplayContent, _extends({
72
72
  isDisabled: isDisabled,
73
73
  isLoading: isLoading,
74
74
  iconType: iconType,
75
75
  iconSide: iconSide,
76
76
  iconSize: size === 'xs' ? 's' : iconSize,
77
- textProps: _objectSpread(_objectSpread({}, textProps), {}, {
77
+ textProps: textProps === false ? false : _objectSpread(_objectSpread({}, textProps), {}, {
78
78
  className: textClassNames
79
79
  })
80
80
  }, _objectSpread(_objectSpread({}, contentProps), {}, {