@elastic/eui 90.0.0 → 91.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/dist/eui_charts_theme.js +1 -15
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +302 -203
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +302 -203
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accordion/accordion.a11y.js +1 -3
  8. package/es/components/accordion/accordion.js +13 -2
  9. package/es/components/accordion/accordion_children/accordion_children.js +4 -3
  10. package/es/components/basic_table/action_types.js +5 -0
  11. package/es/components/basic_table/basic_table.a11y.js +1 -2
  12. package/es/components/basic_table/basic_table.js +8 -8
  13. package/es/components/basic_table/collapsed_item_actions.js +120 -249
  14. package/es/components/basic_table/custom_item_action.js +9 -95
  15. package/es/components/basic_table/default_item_action.js +23 -14
  16. package/es/components/basic_table/in_memory_table.a11y.js +13 -11
  17. package/es/components/basic_table/in_memory_table.js +8 -8
  18. package/es/components/breadcrumbs/breadcrumb.js +16 -12
  19. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  20. package/es/components/breadcrumbs/breadcrumbs.js +5 -5
  21. package/es/components/button/button_display/_button_display.js +6 -4
  22. package/es/components/button/button_display/_button_display_content.js +8 -4
  23. package/es/components/button/button_empty/button_empty.js +9 -7
  24. package/es/components/button/button_group/button_group.js +13 -13
  25. package/es/components/button/button_group/button_group_button.js +13 -54
  26. package/es/components/button/button_group/button_group_button.styles.js +2 -12
  27. package/es/components/card/card.a11y.js +5 -18
  28. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  29. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  30. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  31. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  32. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +9 -104
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  35. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +67 -81
  36. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  37. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -102
  38. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  39. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +11 -90
  40. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  41. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  42. package/es/components/combo_box/combo_box.js +8 -6
  43. package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  44. package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  45. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  46. package/es/components/combo_box/utils.js +23 -0
  47. package/es/components/context_menu/context_menu_item.js +16 -8
  48. package/es/components/context_menu/context_menu_item.styles.js +1 -1
  49. package/es/components/control_bar/control_bar.js +5 -5
  50. package/es/components/datagrid/body/data_grid_body.js +16 -6
  51. package/es/components/datagrid/body/data_grid_body_custom.js +16 -6
  52. package/es/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  53. package/es/components/datagrid/body/data_grid_cell.js +67 -44
  54. package/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  55. package/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  56. package/es/components/datagrid/body/header/data_grid_header_cell.js +66 -35
  57. package/es/components/datagrid/body/header/data_grid_header_row.js +16 -6
  58. package/es/components/datagrid/controls/column_selector.js +24 -45
  59. package/es/components/datagrid/controls/column_sorting.js +23 -37
  60. package/es/components/datagrid/controls/data_grid_toolbar_control.js +154 -0
  61. package/es/components/datagrid/controls/display_selector.js +21 -17
  62. package/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  63. package/es/components/datagrid/controls/index.js +2 -1
  64. package/es/components/datagrid/data_grid.js +3 -864
  65. package/es/components/datagrid/index.js +1 -1
  66. package/es/components/datagrid/utils/in_memory.js +16 -6
  67. package/es/components/datagrid/utils/row_heights.js +1 -1
  68. package/es/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  69. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
  70. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  71. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  72. package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  73. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  74. package/es/components/error_boundary/error_boundary.a11y.js +1 -1
  75. package/es/components/expression/expression.a11y.js +2 -4
  76. package/es/components/facet/facet_button.js +6 -4
  77. package/es/components/filter_group/filter_button.js +2 -2
  78. package/es/components/filter_group/filter_group.styles.js +1 -1
  79. package/es/components/focus_trap/focus_trap.a11y.js +3 -3
  80. package/es/components/form/range/range.a11y.js +5 -10
  81. package/es/components/form/super_select/super_select.js +3 -2
  82. package/es/components/form/super_select/super_select_control.js +13 -20
  83. package/es/components/header/header.a11y.js +1 -1
  84. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
  85. package/es/components/header/header_links/header_link.js +7 -5
  86. package/es/components/header/header_links/header_links.js +5 -5
  87. package/es/components/header/header_section/header_section_item_button.js +7 -5
  88. package/es/components/i18n/i18n.js +1 -0
  89. package/es/components/image/image.a11y.js +1 -2
  90. package/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  91. package/es/components/link/external_link_icon.js +51 -0
  92. package/es/components/link/link.js +6 -20
  93. package/es/components/link/link.styles.js +2 -5
  94. package/es/components/list_group/list_group.js +6 -1
  95. package/es/components/list_group/list_group_item.js +14 -4
  96. package/es/components/list_group/list_group_item.styles.js +2 -1
  97. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  98. package/es/components/notification/notification_event.a11y.js +1 -2
  99. package/es/components/notification/notification_event.js +7 -5
  100. package/es/components/page/page_header/page_header_content.js +5 -5
  101. package/es/components/pagination/pagination_button.js +7 -5
  102. package/es/components/popover/input_popover.js +1 -1
  103. package/es/components/popover/popover.js +19 -28
  104. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  105. package/es/components/popover/popover_panel/_popover_panel.js +2 -6
  106. package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  107. package/es/components/resizable_container/resizable_container.a11y.js +4 -8
  108. package/es/components/search_bar/search_bar.a11y.js +3 -6
  109. package/es/components/selectable/selectable.js +16 -1
  110. package/es/components/selectable/selectable_list/selectable_list.js +227 -78
  111. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +29 -12
  112. package/es/components/text/text.styles.js +2 -2
  113. package/es/components/text_truncate/text_truncate.js +33 -10
  114. package/es/components/toast/global_toast_list.js +11 -1
  115. package/es/components/tour/tour_step.js +5 -5
  116. package/es/global_styling/mixins/_states.js +4 -1
  117. package/es/services/color/eui_palettes.js +0 -6
  118. package/es/services/color/index.js +1 -1
  119. package/es/services/hooks/useCombinedRefs.js +16 -9
  120. package/es/services/index.js +1 -2
  121. package/es/test/rtl/component_helpers.d.ts +2 -0
  122. package/es/test/rtl/component_helpers.js +40 -1
  123. package/eui.d.ts +562 -218
  124. package/i18ntokens.json +329 -347
  125. package/lib/components/accordion/accordion.a11y.js +1 -3
  126. package/lib/components/accordion/accordion.js +13 -2
  127. package/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  128. package/lib/components/basic_table/action_types.js +8 -2
  129. package/lib/components/basic_table/basic_table.a11y.js +1 -2
  130. package/lib/components/basic_table/basic_table.js +8 -8
  131. package/lib/components/basic_table/collapsed_item_actions.js +128 -257
  132. package/lib/components/basic_table/custom_item_action.js +18 -104
  133. package/lib/components/basic_table/default_item_action.js +23 -14
  134. package/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  135. package/lib/components/basic_table/in_memory_table.js +8 -8
  136. package/lib/components/breadcrumbs/breadcrumb.js +16 -12
  137. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  138. package/lib/components/button/button_display/_button_display.js +6 -4
  139. package/lib/components/button/button_display/_button_display_content.js +8 -4
  140. package/lib/components/button/button_empty/button_empty.js +9 -7
  141. package/lib/components/button/button_group/button_group.js +12 -12
  142. package/lib/components/button/button_group/button_group_button.js +13 -54
  143. package/lib/components/button/button_group/button_group_button.styles.js +2 -12
  144. package/lib/components/card/card.a11y.js +5 -18
  145. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  146. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  147. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  148. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  149. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -103
  150. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  151. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  152. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  153. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  154. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -104
  155. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  156. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -89
  157. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  158. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  159. package/lib/components/combo_box/combo_box.js +8 -6
  160. package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  161. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  162. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  163. package/lib/components/combo_box/utils.js +31 -0
  164. package/lib/components/context_menu/context_menu_item.js +16 -8
  165. package/lib/components/context_menu/context_menu_item.styles.js +1 -1
  166. package/lib/components/datagrid/body/data_grid_body.js +16 -6
  167. package/lib/components/datagrid/body/data_grid_body_custom.js +16 -6
  168. package/lib/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  169. package/lib/components/datagrid/body/data_grid_cell.js +67 -44
  170. package/lib/components/datagrid/body/data_grid_cell_actions.js +12 -13
  171. package/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  172. package/lib/components/datagrid/body/header/data_grid_header_cell.js +66 -35
  173. package/lib/components/datagrid/body/header/data_grid_header_row.js +16 -6
  174. package/lib/components/datagrid/controls/column_selector.js +24 -45
  175. package/lib/components/datagrid/controls/column_sorting.js +22 -37
  176. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +159 -0
  177. package/lib/components/datagrid/controls/display_selector.js +21 -17
  178. package/lib/components/datagrid/controls/fullscreen_selector.js +2 -7
  179. package/lib/components/datagrid/controls/index.js +8 -1
  180. package/lib/components/datagrid/data_grid.js +2 -863
  181. package/lib/components/datagrid/index.js +8 -1
  182. package/lib/components/datagrid/utils/in_memory.js +16 -6
  183. package/lib/components/datagrid/utils/row_heights.js +1 -1
  184. package/lib/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  185. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
  186. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  187. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  188. package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  189. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  190. package/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  191. package/lib/components/expression/expression.a11y.js +2 -4
  192. package/lib/components/facet/facet_button.js +6 -4
  193. package/lib/components/filter_group/filter_button.js +2 -2
  194. package/lib/components/filter_group/filter_group.styles.js +1 -1
  195. package/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  196. package/lib/components/form/range/range.a11y.js +5 -10
  197. package/lib/components/form/super_select/super_select.js +3 -2
  198. package/lib/components/form/super_select/super_select_control.js +12 -19
  199. package/lib/components/header/header.a11y.js +1 -1
  200. package/lib/components/header/header_links/header_link.js +7 -5
  201. package/lib/components/header/header_section/header_section_item_button.js +7 -5
  202. package/lib/components/i18n/i18n.js +1 -0
  203. package/lib/components/image/image.a11y.js +1 -2
  204. package/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  205. package/lib/components/link/external_link_icon.js +57 -0
  206. package/lib/components/link/link.js +6 -20
  207. package/lib/components/link/link.styles.js +1 -4
  208. package/lib/components/list_group/list_group.js +6 -1
  209. package/lib/components/list_group/list_group_item.js +14 -4
  210. package/lib/components/list_group/list_group_item.styles.js +2 -1
  211. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  212. package/lib/components/notification/notification_event.a11y.js +1 -2
  213. package/lib/components/notification/notification_event.js +7 -5
  214. package/lib/components/popover/input_popover.js +1 -1
  215. package/lib/components/popover/popover.js +33 -36
  216. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  217. package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  218. package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  219. package/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  220. package/lib/components/search_bar/search_bar.a11y.js +3 -6
  221. package/lib/components/selectable/selectable.js +16 -1
  222. package/lib/components/selectable/selectable_list/selectable_list.js +227 -78
  223. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +28 -11
  224. package/lib/components/text/text.styles.js +2 -2
  225. package/lib/components/text_truncate/text_truncate.js +32 -9
  226. package/lib/components/toast/global_toast_list.js +11 -1
  227. package/lib/global_styling/mixins/_states.js +4 -1
  228. package/lib/services/color/eui_palettes.js +1 -8
  229. package/lib/services/color/index.js +0 -7
  230. package/lib/services/hooks/useCombinedRefs.js +19 -10
  231. package/lib/services/index.js +0 -15
  232. package/lib/test/rtl/component_helpers.d.ts +2 -0
  233. package/lib/test/rtl/component_helpers.js +41 -3
  234. package/optimize/es/components/accordion/accordion.a11y.js +1 -3
  235. package/optimize/es/components/accordion/accordion.js +5 -2
  236. package/optimize/es/components/accordion/accordion_children/accordion_children.js +4 -3
  237. package/optimize/es/components/basic_table/action_types.js +5 -0
  238. package/optimize/es/components/basic_table/basic_table.a11y.js +1 -2
  239. package/optimize/es/components/basic_table/collapsed_item_actions.js +116 -169
  240. package/optimize/es/components/basic_table/custom_item_action.js +10 -83
  241. package/optimize/es/components/basic_table/default_item_action.js +23 -14
  242. package/optimize/es/components/basic_table/in_memory_table.a11y.js +13 -11
  243. package/optimize/es/components/breadcrumbs/breadcrumb.js +11 -7
  244. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  245. package/optimize/es/components/button/button_display/_button_display_content.js +3 -1
  246. package/optimize/es/components/button/button_empty/button_empty.js +2 -2
  247. package/optimize/es/components/button/button_group/button_group.js +7 -8
  248. package/optimize/es/components/button/button_group/button_group_button.js +6 -38
  249. package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
  250. package/optimize/es/components/card/card.a11y.js +5 -18
  251. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  252. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  253. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  254. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  255. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  256. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  257. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  258. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  259. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
  260. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  261. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -10
  262. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  263. package/optimize/es/components/combo_box/combo_box.js +7 -5
  264. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  265. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  266. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  267. package/optimize/es/components/combo_box/utils.js +23 -0
  268. package/optimize/es/components/context_menu/context_menu_item.js +9 -6
  269. package/optimize/es/components/context_menu/context_menu_item.styles.js +1 -1
  270. package/optimize/es/components/datagrid/body/data_grid_cell.js +38 -30
  271. package/optimize/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  272. package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  273. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +50 -29
  274. package/optimize/es/components/datagrid/controls/column_selector.js +24 -45
  275. package/optimize/es/components/datagrid/controls/column_sorting.js +23 -37
  276. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +70 -0
  277. package/optimize/es/components/datagrid/controls/display_selector.js +21 -17
  278. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  279. package/optimize/es/components/datagrid/controls/index.js +2 -1
  280. package/optimize/es/components/datagrid/data_grid.js +3 -3
  281. package/optimize/es/components/datagrid/index.js +1 -1
  282. package/optimize/es/components/datagrid/utils/row_heights.js +1 -1
  283. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
  284. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  285. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  286. package/optimize/es/components/error_boundary/error_boundary.a11y.js +1 -1
  287. package/optimize/es/components/expression/expression.a11y.js +2 -4
  288. package/optimize/es/components/filter_group/filter_button.js +2 -2
  289. package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
  290. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -3
  291. package/optimize/es/components/form/range/range.a11y.js +5 -10
  292. package/optimize/es/components/form/super_select/super_select.js +3 -2
  293. package/optimize/es/components/form/super_select/super_select_control.js +13 -20
  294. package/optimize/es/components/header/header.a11y.js +1 -1
  295. package/optimize/es/components/i18n/i18n.js +1 -0
  296. package/optimize/es/components/image/image.a11y.js +1 -2
  297. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  298. package/optimize/es/components/link/external_link_icon.js +41 -0
  299. package/optimize/es/components/link/link.js +6 -20
  300. package/optimize/es/components/link/link.styles.js +2 -5
  301. package/optimize/es/components/list_group/list_group_item.js +8 -3
  302. package/optimize/es/components/list_group/list_group_item.styles.js +2 -1
  303. package/optimize/es/components/notification/notification_event.a11y.js +1 -2
  304. package/optimize/es/components/popover/input_popover.js +1 -1
  305. package/optimize/es/components/popover/popover.js +14 -23
  306. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  307. package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
  308. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  309. package/optimize/es/components/resizable_container/resizable_container.a11y.js +4 -8
  310. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -6
  311. package/optimize/es/components/selectable/selectable_list/selectable_list.js +199 -76
  312. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  313. package/optimize/es/components/text/text.styles.js +2 -2
  314. package/optimize/es/components/text_truncate/text_truncate.js +26 -9
  315. package/optimize/es/components/toast/global_toast_list.js +1 -1
  316. package/optimize/es/global_styling/mixins/_states.js +4 -1
  317. package/optimize/es/services/color/eui_palettes.js +0 -6
  318. package/optimize/es/services/color/index.js +1 -1
  319. package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
  320. package/optimize/es/services/index.js +1 -2
  321. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  322. package/optimize/es/test/rtl/component_helpers.js +40 -1
  323. package/optimize/lib/components/accordion/accordion.a11y.js +1 -3
  324. package/optimize/lib/components/accordion/accordion.js +5 -2
  325. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +4 -3
  326. package/optimize/lib/components/basic_table/action_types.js +8 -2
  327. package/optimize/lib/components/basic_table/basic_table.a11y.js +1 -2
  328. package/optimize/lib/components/basic_table/collapsed_item_actions.js +123 -174
  329. package/optimize/lib/components/basic_table/custom_item_action.js +17 -91
  330. package/optimize/lib/components/basic_table/default_item_action.js +23 -14
  331. package/optimize/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  332. package/optimize/lib/components/breadcrumbs/breadcrumb.js +11 -7
  333. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  334. package/optimize/lib/components/button/button_display/_button_display_content.js +3 -1
  335. package/optimize/lib/components/button/button_empty/button_empty.js +2 -2
  336. package/optimize/lib/components/button/button_group/button_group.js +6 -7
  337. package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
  338. package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
  339. package/optimize/lib/components/card/card.a11y.js +5 -18
  340. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  341. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  342. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  343. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  344. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  345. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  346. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  347. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  348. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
  349. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  350. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +9 -9
  351. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  352. package/optimize/lib/components/combo_box/combo_box.js +7 -5
  353. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  354. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  355. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  356. package/optimize/lib/components/combo_box/utils.js +31 -0
  357. package/optimize/lib/components/context_menu/context_menu_item.js +9 -6
  358. package/optimize/lib/components/context_menu/context_menu_item.styles.js +1 -1
  359. package/optimize/lib/components/datagrid/body/data_grid_cell.js +38 -30
  360. package/optimize/lib/components/datagrid/body/data_grid_cell_actions.js +12 -12
  361. package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  362. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +56 -37
  363. package/optimize/lib/components/datagrid/controls/column_selector.js +24 -45
  364. package/optimize/lib/components/datagrid/controls/column_sorting.js +22 -36
  365. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +75 -0
  366. package/optimize/lib/components/datagrid/controls/display_selector.js +21 -17
  367. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +2 -6
  368. package/optimize/lib/components/datagrid/controls/index.js +8 -1
  369. package/optimize/lib/components/datagrid/data_grid.js +2 -2
  370. package/optimize/lib/components/datagrid/index.js +8 -1
  371. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  372. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  373. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  374. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  375. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  376. package/optimize/lib/components/expression/expression.a11y.js +2 -4
  377. package/optimize/lib/components/filter_group/filter_button.js +2 -2
  378. package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
  379. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  380. package/optimize/lib/components/form/range/range.a11y.js +5 -10
  381. package/optimize/lib/components/form/super_select/super_select.js +3 -2
  382. package/optimize/lib/components/form/super_select/super_select_control.js +12 -19
  383. package/optimize/lib/components/header/header.a11y.js +1 -1
  384. package/optimize/lib/components/i18n/i18n.js +1 -0
  385. package/optimize/lib/components/image/image.a11y.js +1 -2
  386. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  387. package/optimize/lib/components/link/external_link_icon.js +47 -0
  388. package/optimize/lib/components/link/link.js +6 -20
  389. package/optimize/lib/components/link/link.styles.js +1 -4
  390. package/optimize/lib/components/list_group/list_group_item.js +8 -3
  391. package/optimize/lib/components/list_group/list_group_item.styles.js +2 -1
  392. package/optimize/lib/components/notification/notification_event.a11y.js +1 -2
  393. package/optimize/lib/components/popover/input_popover.js +1 -1
  394. package/optimize/lib/components/popover/popover.js +28 -36
  395. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  396. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  397. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  398. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  399. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -6
  400. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +199 -76
  401. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  402. package/optimize/lib/components/text/text.styles.js +2 -2
  403. package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
  404. package/optimize/lib/components/toast/global_toast_list.js +1 -1
  405. package/optimize/lib/global_styling/mixins/_states.js +4 -1
  406. package/optimize/lib/services/color/eui_palettes.js +1 -8
  407. package/optimize/lib/services/color/index.js +0 -7
  408. package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
  409. package/optimize/lib/services/index.js +0 -15
  410. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  411. package/optimize/lib/test/rtl/component_helpers.js +41 -3
  412. package/package.json +13 -13
  413. package/src/components/combo_box/_combo_box.scss +46 -14
  414. package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
  415. package/src/components/combo_box/combo_box_input/_index.scss +0 -2
  416. package/src/components/datagrid/_data_grid_data_row.scss +139 -101
  417. package/src/components/datagrid/_mixins.scss +2 -2
  418. package/src/components/datagrid/body/header/_data_grid_header_row.scss +36 -28
  419. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -5
  420. package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
  421. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
  422. package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
  423. package/src/components/form/form_row/_form_row.scss +1 -1
  424. package/src/components/table/_responsive.scss +19 -0
  425. package/src/components/table/_table.scss +4 -9
  426. package/src/global_styling/variables/_typography.scss +2 -2
  427. package/test-env/components/accordion/accordion.a11y.js +1 -3
  428. package/test-env/components/accordion/accordion.js +13 -2
  429. package/test-env/components/accordion/accordion_children/accordion_children.js +4 -3
  430. package/test-env/components/auto_sizer/auto_sizer.js +10 -3
  431. package/test-env/components/basic_table/action_types.js +8 -2
  432. package/test-env/components/basic_table/basic_table.a11y.js +1 -2
  433. package/test-env/components/basic_table/basic_table.js +8 -8
  434. package/test-env/components/basic_table/collapsed_item_actions.js +124 -251
  435. package/test-env/components/basic_table/custom_item_action.js +18 -100
  436. package/test-env/components/basic_table/default_item_action.js +23 -14
  437. package/test-env/components/basic_table/in_memory_table.a11y.js +13 -11
  438. package/test-env/components/basic_table/in_memory_table.js +8 -8
  439. package/test-env/components/breadcrumbs/breadcrumb.js +16 -12
  440. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -0
  441. package/test-env/components/button/button_display/_button_display.js +6 -4
  442. package/test-env/components/button/button_display/_button_display_content.js +8 -4
  443. package/test-env/components/button/button_empty/button_empty.js +9 -7
  444. package/test-env/components/button/button_group/button_group.js +12 -12
  445. package/test-env/components/button/button_group/button_group_button.js +13 -54
  446. package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
  447. package/test-env/components/card/card.a11y.js +5 -18
  448. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  449. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  450. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  451. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  452. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -103
  453. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  454. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  455. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  456. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  457. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -105
  458. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  459. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +10 -89
  460. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  461. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  462. package/test-env/components/combo_box/combo_box.js +8 -6
  463. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  464. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  465. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  466. package/test-env/components/combo_box/utils.js +31 -0
  467. package/test-env/components/context_menu/context_menu_item.js +16 -8
  468. package/test-env/components/context_menu/context_menu_item.styles.js +1 -1
  469. package/test-env/components/datagrid/body/data_grid_body.js +16 -6
  470. package/test-env/components/datagrid/body/data_grid_body_custom.js +16 -6
  471. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  472. package/test-env/components/datagrid/body/data_grid_cell.js +67 -44
  473. package/test-env/components/datagrid/body/data_grid_cell_actions.js +12 -12
  474. package/test-env/components/datagrid/body/data_grid_cell_popover.js +43 -10
  475. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -43
  476. package/test-env/components/datagrid/body/header/data_grid_header_row.js +16 -6
  477. package/test-env/components/datagrid/controls/column_selector.js +24 -45
  478. package/test-env/components/datagrid/controls/column_sorting.js +22 -36
  479. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +158 -0
  480. package/test-env/components/datagrid/controls/display_selector.js +21 -17
  481. package/test-env/components/datagrid/controls/fullscreen_selector.js +2 -6
  482. package/test-env/components/datagrid/controls/index.js +8 -1
  483. package/test-env/components/datagrid/data_grid.js +2 -863
  484. package/test-env/components/datagrid/index.js +8 -1
  485. package/test-env/components/datagrid/utils/in_memory.js +16 -6
  486. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  487. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  488. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  489. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  490. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  491. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  492. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  493. package/test-env/components/error_boundary/error_boundary.a11y.js +1 -1
  494. package/test-env/components/expression/expression.a11y.js +2 -4
  495. package/test-env/components/facet/facet_button.js +6 -4
  496. package/test-env/components/filter_group/filter_button.js +2 -2
  497. package/test-env/components/filter_group/filter_group.styles.js +1 -1
  498. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -3
  499. package/test-env/components/form/range/range.a11y.js +5 -10
  500. package/test-env/components/form/super_select/super_select.js +3 -2
  501. package/test-env/components/form/super_select/super_select_control.js +12 -19
  502. package/test-env/components/header/header.a11y.js +1 -1
  503. package/test-env/components/header/header_links/header_link.js +7 -5
  504. package/test-env/components/header/header_section/header_section_item_button.js +7 -5
  505. package/test-env/components/i18n/i18n.js +1 -0
  506. package/test-env/components/image/image.a11y.js +1 -2
  507. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  508. package/test-env/components/link/external_link_icon.js +56 -0
  509. package/test-env/components/link/link.js +6 -20
  510. package/test-env/components/link/link.styles.js +1 -4
  511. package/test-env/components/list_group/list_group.js +6 -1
  512. package/test-env/components/list_group/list_group_item.js +14 -4
  513. package/test-env/components/list_group/list_group_item.styles.js +2 -1
  514. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  515. package/test-env/components/notification/notification_event.a11y.js +1 -2
  516. package/test-env/components/notification/notification_event.js +7 -5
  517. package/test-env/components/popover/input_popover.js +1 -1
  518. package/test-env/components/popover/popover.js +33 -36
  519. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  520. package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
  521. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  522. package/test-env/components/resizable_container/resizable_container.a11y.js +4 -8
  523. package/test-env/components/search_bar/search_bar.a11y.js +3 -6
  524. package/test-env/components/selectable/selectable.js +16 -1
  525. package/test-env/components/selectable/selectable_list/selectable_list.js +227 -78
  526. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +28 -11
  527. package/test-env/components/text/text.styles.js +2 -2
  528. package/test-env/components/text_truncate/text_truncate.js +32 -9
  529. package/test-env/components/toast/global_toast_list.js +11 -1
  530. package/test-env/global_styling/mixins/_states.js +4 -1
  531. package/test-env/services/color/eui_palettes.js +1 -8
  532. package/test-env/services/color/index.js +0 -7
  533. package/test-env/services/hooks/useCombinedRefs.js +19 -10
  534. package/test-env/services/index.js +0 -15
  535. package/test-env/test/rtl/component_helpers.js +41 -3
  536. package/es/services/random.js +0 -94
  537. package/es/services/utils.js +0 -25
  538. package/es/test/patch_random.js +0 -18
  539. package/lib/services/random.js +0 -100
  540. package/lib/services/utils.js +0 -35
  541. package/lib/test/patch_random.js +0 -25
  542. package/optimize/es/services/random.js +0 -85
  543. package/optimize/es/services/utils.js +0 -25
  544. package/optimize/es/test/patch_random.js +0 -18
  545. package/optimize/lib/services/random.js +0 -91
  546. package/optimize/lib/services/utils.js +0 -35
  547. package/optimize/lib/test/patch_random.js +0 -25
  548. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
  549. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
  550. package/test-env/services/random.js +0 -91
  551. package/test-env/services/utils.js +0 -35
  552. package/test-env/test/patch_random.js +0 -25
@@ -29,9 +29,7 @@ describe('EuiAccordion', function () {
29
29
  it('has zero violations when expanded', function () {
30
30
  cy.mount(___EmotionJSX(EuiAccordion, noArrowProps, ___EmotionJSX(EuiPanel, {
31
31
  color: "subdued"
32
- }, "Any content inside of ", ___EmotionJSX("strong", null, "EuiAccordion"), " will appear here. We will include ", ___EmotionJSX("a", {
33
- href: "#"
34
- }, "a link"), " to confirm focus.")));
32
+ }, "Any content inside of ", ___EmotionJSX("strong", null, "EuiAccordion"), " will appear here.")));
35
33
  cy.get('button.euiAccordion__button').click();
36
34
  cy.checkAxe();
37
35
  });
@@ -1,4 +1,4 @@
1
- var _excluded = ["children", "className", "id", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
1
+ var _excluded = ["children", "className", "id", "role", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
2
2
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -103,6 +103,7 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
103
103
  children = _this$props3.children,
104
104
  className = _this$props3.className,
105
105
  id = _this$props3.id,
106
+ role = _this$props3.role,
106
107
  _this$props3$element = _this$props3.element,
107
108
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
108
109
  buttonElement = _this$props3.buttonElement,
@@ -148,6 +149,7 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
148
149
  onToggle: this.onToggle,
149
150
  extraAction: isLoading ? ___EmotionJSX(EuiLoadingSpinner, null) : extraAction
150
151
  }), ___EmotionJSX(EuiAccordionChildren, {
152
+ role: role,
151
153
  id: id,
152
154
  "aria-labelledby": buttonId,
153
155
  paddingSize: paddingSize,
@@ -169,7 +171,8 @@ _defineProperty(EuiAccordionClass, "defaultProps", {
169
171
  isDisabled: false,
170
172
  isLoadingMessage: false,
171
173
  element: 'div',
172
- buttonElement: 'button'
174
+ buttonElement: 'button',
175
+ role: 'group'
173
176
  });
174
177
  EuiAccordionClass.propTypes = {
175
178
  className: PropTypes.string,
@@ -182,6 +185,14 @@ EuiAccordionClass.propTypes = {
182
185
  * When using `fieldset`, it will enforce `buttonElement = legend` as well.
183
186
  */
184
187
  element: PropTypes.oneOf(["div", "fieldset"]),
188
+ /**
189
+ * Defaults to the [group role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role).
190
+ *
191
+ * If your accordion contains significant enough content to be a document
192
+ * [landmark role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role#accessibility_concerns), consider using the `region` role instead.
193
+ * @default group
194
+ */
195
+ role: PropTypes.any,
185
196
  /**
186
197
  * Class that will apply to the trigger for the accordion.
187
198
  */
@@ -1,4 +1,4 @@
1
- var _excluded = ["children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
1
+ var _excluded = ["role", "children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -25,7 +25,8 @@ import { EuiAccordionChildrenLoading } from './accordion_children_loading';
25
25
  import { euiAccordionChildrenStyles, euiAccordionChildWrapperStyles } from './accordion_children.styles';
26
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
27
27
  export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
28
- var children = _ref.children,
28
+ var role = _ref.role,
29
+ children = _ref.children,
29
30
  accordionChildrenRef = _ref.accordionChildrenRef,
30
31
  paddingSize = _ref.paddingSize,
31
32
  isLoading = _ref.isLoading,
@@ -70,7 +71,7 @@ export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
70
71
  css: wrapperCssStyles,
71
72
  style: heightInlineStyle,
72
73
  ref: accordionChildrenRef,
73
- role: "region",
74
+ role: role,
74
75
  tabIndex: -1
75
76
  // @ts-expect-error - inert property not yet available in React TS defs. TODO: Remove this once https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60822 is merged
76
77
  ,
@@ -8,4 +8,9 @@
8
8
 
9
9
  export var isCustomItemAction = function isCustomItemAction(action) {
10
10
  return action.hasOwnProperty('render');
11
+ };
12
+ export var callWithItemIfFunction = function callWithItemIfFunction(item) {
13
+ return function (prop) {
14
+ return typeof prop === 'function' ? prop(item) : prop;
15
+ };
11
16
  };
@@ -191,8 +191,7 @@ describe('EuiTable', function () {
191
191
  });
192
192
  describe('Keyboard accessibility', function () {
193
193
  it('has zero violations after expanding a row', function () {
194
- cy.repeatRealPress('Tab');
195
- cy.get('button#1').should('have.focus');
194
+ cy.get('button#1').focus();
196
195
  cy.realPress('Enter');
197
196
  cy.get('tr.euiTableRow-isExpandedRow div.euiTableCellContent').should('exist');
198
197
  cy.checkAxe();
@@ -1165,19 +1165,19 @@ EuiBasicTable.propTypes = {
1165
1165
  */
1166
1166
  color: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.func.isRequired]),
1167
1167
  /**
1168
- * The display name of the action (will be the button caption)
1168
+ * The display name of the action (will render as visible text if rendered within a collapsed menu)
1169
1169
  */
1170
1170
  /**
1171
- * The display name of the action (will be the button caption)
1171
+ * The display name of the action (will render as visible text if rendered within a collapsed menu)
1172
1172
  */
1173
1173
  name: PropTypes.oneOfType([PropTypes.node.isRequired, PropTypes.func.isRequired]).isRequired,
1174
1174
  /**
1175
- * Describes the action (will be the button title)
1175
+ * Describes the action (will render as tooltip content)
1176
1176
  */
1177
1177
  /**
1178
- * Describes the action (will be the button title)
1178
+ * Describes the action (will render as tooltip content)
1179
1179
  */
1180
- description: PropTypes.string.isRequired,
1180
+ description: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.func.isRequired]).isRequired,
1181
1181
  /**
1182
1182
  * A handler function to execute the action
1183
1183
  */
@@ -1185,7 +1185,7 @@ EuiBasicTable.propTypes = {
1185
1185
  * A handler function to execute the action
1186
1186
  */
1187
1187
  onClick: PropTypes.func,
1188
- href: PropTypes.string,
1188
+ href: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.func.isRequired]),
1189
1189
  target: PropTypes.string,
1190
1190
  /**
1191
1191
  * A callback function that determines whether the action is available
@@ -1202,14 +1202,14 @@ EuiBasicTable.propTypes = {
1202
1202
  */
1203
1203
  enabled: PropTypes.func,
1204
1204
  isPrimary: PropTypes.bool,
1205
- "data-test-subj": PropTypes.string,
1205
+ "data-test-subj": PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.func.isRequired]),
1206
1206
  /**
1207
1207
  * Associates an icon with the button
1208
1208
  */
1209
1209
  icon: PropTypes.oneOfType([PropTypes.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "error", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "machineLearningApp", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "pivot", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenDenseVector", "tokenVectorSparse"]).isRequired, PropTypes.func.isRequired])
1210
1210
  }).isRequired, PropTypes.shape({
1211
1211
  /**
1212
- * The function that renders the action. Note that the returned node is expected to have `onFocus` and `onBlur` functions
1212
+ * Allows rendering a totally custom action
1213
1213
  */
1214
1214
  render: PropTypes.func.isRequired,
1215
1215
  /**
@@ -1,17 +1,9 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
6
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
7
- 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); }; }
8
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
9
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
10
- 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; } }
11
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
12
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
7
  /*
16
8
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
17
9
  * or more contributor license agreements. Licensed under the Elastic License
@@ -20,249 +12,128 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
20
12
  * Side Public License, v 1.
21
13
  */
22
14
 
23
- import React, { Component } from 'react';
24
- import PropTypes from "prop-types";
15
+ import React, { useState, useCallback, useMemo } from 'react';
25
16
  import { isString } from '../../services/predicate';
26
17
  import { EuiContextMenuItem, EuiContextMenuPanel } from '../context_menu';
27
18
  import { EuiPopover } from '../popover';
28
19
  import { EuiButtonIcon } from '../button';
29
20
  import { EuiToolTip } from '../tool_tip';
30
21
  import { EuiI18n } from '../i18n';
22
+ import { isCustomItemAction, callWithItemIfFunction } from './action_types';
31
23
  import { jsx as ___EmotionJSX } from "@emotion/react";
32
- function actionIsCustomItemAction(action) {
33
- return action.hasOwnProperty('render');
34
- }
35
- export var CollapsedItemActions = /*#__PURE__*/function (_Component) {
36
- _inherits(CollapsedItemActions, _Component);
37
- var _super = _createSuper(CollapsedItemActions);
38
- function CollapsedItemActions() {
39
- var _this;
40
- _classCallCheck(this, CollapsedItemActions);
41
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
42
- args[_key] = arguments[_key];
43
- }
44
- _this = _super.call.apply(_super, [this].concat(args));
45
- _defineProperty(_assertThisInitialized(_this), "popoverDiv", null);
46
- _defineProperty(_assertThisInitialized(_this), "state", {
47
- popoverOpen: false
48
- });
49
- _defineProperty(_assertThisInitialized(_this), "togglePopover", function () {
50
- _this.setState(function (prevState) {
51
- return {
52
- popoverOpen: !prevState.popoverOpen
53
- };
54
- });
55
- });
56
- _defineProperty(_assertThisInitialized(_this), "closePopover", function () {
57
- _this.setState({
58
- popoverOpen: false
59
- });
60
- });
61
- _defineProperty(_assertThisInitialized(_this), "onPopoverBlur", function () {
62
- // you must be asking... WTF? I know... but this timeout is
63
- // required to make sure we process the onBlur events after the initial
64
- // event cycle. Reference:
65
- // https://medium.com/@jessebeach/dealing-with-focus-and-blur-in-a-composite-widget-in-react-90d3c3b49a9b
66
- window.requestAnimationFrame(function () {
67
- if (!_this.popoverDiv.contains(document.activeElement) && _this.props.onBlur) {
68
- _this.props.onBlur();
69
- }
70
- });
71
- });
72
- _defineProperty(_assertThisInitialized(_this), "registerPopoverDiv", function (popoverDiv) {
73
- if (!_this.popoverDiv) {
74
- _this.popoverDiv = popoverDiv;
75
- _this.popoverDiv && _this.popoverDiv.addEventListener('focusout', _this.onPopoverBlur);
76
- }
77
- });
78
- _defineProperty(_assertThisInitialized(_this), "onClickItem", function (onClickAction) {
79
- _this.closePopover();
80
- if (onClickAction) {
81
- onClickAction();
82
- }
83
- });
84
- return _this;
85
- }
86
- _createClass(CollapsedItemActions, [{
87
- key: "componentWillUnmount",
88
- value: function componentWillUnmount() {
89
- if (this.popoverDiv) {
90
- this.popoverDiv.removeEventListener('focusout', this.onPopoverBlur);
91
- }
92
- }
93
- }, {
94
- key: "render",
95
- value: function render() {
96
- var _this2 = this;
97
- var _this$props = this.props,
98
- actions = _this$props.actions,
99
- itemId = _this$props.itemId,
100
- item = _this$props.item,
101
- actionEnabled = _this$props.actionEnabled,
102
- onFocus = _this$props.onFocus,
103
- className = _this$props.className;
104
- var isOpen = this.state.popoverOpen;
105
- var allDisabled = true;
106
- var controls = actions.reduce(function (controls, action, index) {
107
- var key = "action_".concat(itemId, "_").concat(index);
108
- var available = action.available ? action.available(item) : true;
109
- if (!available) {
110
- return controls;
111
- }
112
- var enabled = actionEnabled(action);
113
- allDisabled = allDisabled && !enabled;
114
- if (actionIsCustomItemAction(action)) {
115
- var customAction = action;
116
- var actionControl = customAction.render(item, enabled);
117
- var actionControlOnClick = actionControl && actionControl.props && actionControl.props.onClick;
118
- controls.push(___EmotionJSX(EuiContextMenuItem, {
119
- key: key,
120
- onClick: function onClick() {
121
- return _this2.onClickItem(actionControlOnClick ? function () {
122
- return actionControlOnClick(item);
123
- } : undefined);
124
- }
125
- }, actionControl));
126
- } else {
127
- var _onClick = action.onClick,
128
- name = action.name,
129
- href = action.href,
130
- target = action.target,
131
- dataTestSubj = action['data-test-subj'];
132
- var buttonIcon = action.icon;
133
- var icon;
134
- if (buttonIcon) {
135
- icon = isString(buttonIcon) ? buttonIcon : buttonIcon(item);
24
+ export var CollapsedItemActions = function CollapsedItemActions(_ref) {
25
+ var actions = _ref.actions,
26
+ itemId = _ref.itemId,
27
+ item = _ref.item,
28
+ actionEnabled = _ref.actionEnabled,
29
+ className = _ref.className;
30
+ var _useState = useState(false),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ popoverOpen = _useState2[0],
33
+ setPopoverOpen = _useState2[1];
34
+ var _useState3 = useState(true),
35
+ _useState4 = _slicedToArray(_useState3, 2),
36
+ allDisabled = _useState4[0],
37
+ setAllDisabled = _useState4[1];
38
+ var onClickItem = useCallback(function (onClickAction) {
39
+ setPopoverOpen(false);
40
+ onClickAction === null || onClickAction === void 0 ? void 0 : onClickAction();
41
+ }, []);
42
+ var controls = useMemo(function () {
43
+ return actions.reduce(function (controls, action, index) {
44
+ var _action$available, _action$available2;
45
+ 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;
46
+ if (!available) return controls;
47
+ var enabled = actionEnabled(action);
48
+ if (enabled) setAllDisabled(false);
49
+ if (isCustomItemAction(action)) {
50
+ var customAction = action;
51
+ var actionControl = customAction.render(item, enabled);
52
+ controls.push(
53
+ // Do not put the `onClick` on the EuiContextMenuItem itself - otherwise
54
+ // it renders a <button> tag instead of a <div>, and we end up with nested
55
+ // interactive elements
56
+ ___EmotionJSX(EuiContextMenuItem, {
57
+ key: index,
58
+ className: "euiBasicTable__collapsedCustomAction"
59
+ }, ___EmotionJSX("span", {
60
+ onClick: function onClick() {
61
+ return onClickItem();
136
62
  }
137
- var buttonContent = typeof name === 'function' ? name(item) : name;
138
- controls.push(___EmotionJSX(EuiContextMenuItem, {
139
- key: key,
140
- disabled: !enabled,
141
- href: href,
142
- target: target,
143
- icon: icon,
144
- "data-test-subj": dataTestSubj,
145
- onClick: function onClick() {
146
- return _this2.onClickItem(_onClick ? function () {
147
- return _onClick(item);
148
- } : undefined);
149
- }
150
- }, buttonContent));
63
+ }, actionControl)));
64
+ } else {
65
+ var buttonIcon = action.icon;
66
+ var icon;
67
+ if (buttonIcon) {
68
+ icon = isString(buttonIcon) ? buttonIcon : buttonIcon(item);
151
69
  }
152
- return controls;
153
- }, []);
154
- var popoverButton = ___EmotionJSX(EuiI18n, {
155
- token: "euiCollapsedItemActions.allActions",
156
- default: "All actions"
157
- }, function (allActions) {
158
- return ___EmotionJSX(EuiButtonIcon, {
159
- className: className,
160
- "aria-label": allActions,
161
- iconType: "boxesHorizontal",
162
- color: "text",
163
- isDisabled: allDisabled,
164
- onClick: _this2.togglePopover.bind(_this2),
165
- onFocus: onFocus,
166
- "data-test-subj": "euiCollapsedItemActionsButton"
70
+ var buttonContent = callWithItemIfFunction(item)(action.name);
71
+ var toolTipContent = callWithItemIfFunction(item)(action.description);
72
+ var href = callWithItemIfFunction(item)(action.href);
73
+ var dataTestSubj = callWithItemIfFunction(item)(action['data-test-subj']);
74
+ var _onClick = action.onClick,
75
+ target = action.target;
76
+ controls.push(___EmotionJSX(EuiContextMenuItem, {
77
+ key: index,
78
+ className: "euiBasicTable__collapsedAction",
79
+ disabled: !enabled,
80
+ href: href,
81
+ target: target,
82
+ icon: icon,
83
+ "data-test-subj": dataTestSubj,
84
+ onClick: function onClick() {
85
+ return onClickItem(_onClick ? function () {
86
+ return _onClick(item);
87
+ } : undefined);
88
+ },
89
+ toolTipContent: toolTipContent,
90
+ toolTipProps: {
91
+ delay: 'long'
92
+ }
93
+ }, buttonContent));
94
+ }
95
+ return controls;
96
+ }, []);
97
+ }, [actions, actionEnabled, item, onClickItem]);
98
+ var popoverButton = ___EmotionJSX(EuiI18n, {
99
+ token: "euiCollapsedItemActions.allActions",
100
+ default: "All actions"
101
+ }, function (allActions) {
102
+ return ___EmotionJSX(EuiButtonIcon, {
103
+ className: className,
104
+ "aria-label": allActions,
105
+ iconType: "boxesHorizontal",
106
+ color: "text",
107
+ isDisabled: allDisabled,
108
+ onClick: function onClick() {
109
+ return setPopoverOpen(function (isOpen) {
110
+ return !isOpen;
167
111
  });
168
- });
169
- var withTooltip = !allDisabled && ___EmotionJSX(EuiI18n, {
170
- token: "euiCollapsedItemActions.allActions",
171
- default: "All actions"
172
- }, function (allActions) {
173
- return ___EmotionJSX(EuiToolTip, {
174
- content: allActions,
175
- delay: "long"
176
- }, popoverButton);
177
- });
178
- return ___EmotionJSX(EuiPopover, {
179
- className: className,
180
- popoverRef: this.registerPopoverDiv,
181
- id: "".concat(itemId, "-actions"),
182
- isOpen: isOpen,
183
- button: withTooltip || popoverButton,
184
- closePopover: this.closePopover,
185
- panelPaddingSize: "none",
186
- anchorPosition: "leftCenter"
187
- }, ___EmotionJSX(EuiContextMenuPanel, {
188
- items: controls
189
- }));
190
- }
191
- }]);
192
- return CollapsedItemActions;
193
- }(Component);
194
- CollapsedItemActions.propTypes = {
195
- actions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
196
- /**
197
- * The type of action
198
- */
199
- type: PropTypes.oneOfType([PropTypes.oneOf(["button"]), PropTypes.oneOf(["icon"]).isRequired]),
200
- /**
201
- * Defines the color of the button
202
- */
203
- color: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.func.isRequired]),
204
- /**
205
- * The display name of the action (will be the button caption)
206
- */
207
- /**
208
- * The display name of the action (will be the button caption)
209
- */
210
- name: PropTypes.oneOfType([PropTypes.node.isRequired, PropTypes.func.isRequired]).isRequired,
211
- /**
212
- * Describes the action (will be the button title)
213
- */
214
- /**
215
- * Describes the action (will be the button title)
216
- */
217
- description: PropTypes.string.isRequired,
218
- /**
219
- * A handler function to execute the action
220
- */
221
- /**
222
- * A handler function to execute the action
223
- */
224
- onClick: PropTypes.func,
225
- href: PropTypes.string,
226
- target: PropTypes.string,
227
- /**
228
- * A callback function that determines whether the action is available
229
- */
230
- /**
231
- * A callback function that determines whether the action is available
232
- */
233
- available: PropTypes.func,
234
- /**
235
- * A callback function that determines whether the action is enabled
236
- */
237
- /**
238
- * A callback function that determines whether the action is enabled
239
- */
240
- enabled: PropTypes.func,
241
- isPrimary: PropTypes.bool,
242
- "data-test-subj": PropTypes.string,
243
- /**
244
- * Associates an icon with the button
245
- */
246
- icon: PropTypes.oneOfType([PropTypes.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "error", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "machineLearningApp", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "pivot", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenDenseVector", "tokenVectorSparse"]).isRequired, PropTypes.func.isRequired])
247
- }).isRequired, PropTypes.shape({
248
- /**
249
- * The function that renders the action. Note that the returned node is expected to have `onFocus` and `onBlur` functions
250
- */
251
- render: PropTypes.func.isRequired,
252
- /**
253
- * A callback that defines whether the action is available
254
- */
255
- available: PropTypes.func,
256
- /**
257
- * A callback that defines whether the action is enabled
258
- */
259
- enabled: PropTypes.func,
260
- isPrimary: PropTypes.bool
261
- }).isRequired]).isRequired).isRequired,
262
- item: PropTypes.any.isRequired,
263
- itemId: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.number.isRequired]).isRequired,
264
- actionEnabled: PropTypes.func.isRequired,
265
- className: PropTypes.string,
266
- onFocus: PropTypes.func,
267
- onBlur: PropTypes.func
112
+ },
113
+ "data-test-subj": "euiCollapsedItemActionsButton"
114
+ });
115
+ });
116
+ var withTooltip = !allDisabled && ___EmotionJSX(EuiI18n, {
117
+ token: "euiCollapsedItemActions.allActions",
118
+ default: "All actions"
119
+ }, function (allActions) {
120
+ return ___EmotionJSX(EuiToolTip, {
121
+ content: allActions,
122
+ delay: "long"
123
+ }, popoverButton);
124
+ });
125
+ return ___EmotionJSX(EuiPopover, {
126
+ className: className,
127
+ id: "".concat(itemId, "-actions"),
128
+ isOpen: popoverOpen,
129
+ button: withTooltip || popoverButton,
130
+ closePopover: function closePopover() {
131
+ return setPopoverOpen(false);
132
+ },
133
+ panelPaddingSize: "none",
134
+ anchorPosition: "leftCenter"
135
+ }, ___EmotionJSX(EuiContextMenuPanel, {
136
+ className: "euiBasicTable__collapsedActions",
137
+ items: controls
138
+ }));
268
139
  };