@elastic/eui 91.0.0 → 91.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/eui_theme_dark.css +191 -124
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +191 -124
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accordion/accordion.a11y.js +1 -3
  6. package/es/components/basic_table/action_types.js +5 -0
  7. package/es/components/basic_table/basic_table.a11y.js +1 -2
  8. package/es/components/basic_table/basic_table.js +8 -8
  9. package/es/components/basic_table/collapsed_item_actions.js +120 -249
  10. package/es/components/basic_table/custom_item_action.js +9 -95
  11. package/es/components/basic_table/default_item_action.js +23 -14
  12. package/es/components/basic_table/in_memory_table.a11y.js +13 -11
  13. package/es/components/basic_table/in_memory_table.js +8 -8
  14. package/es/components/breadcrumbs/breadcrumb.js +11 -7
  15. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  16. package/es/components/button/button_display/_button_display.js +5 -3
  17. package/es/components/button/button_display/_button_display_content.js +8 -4
  18. package/es/components/button/button_empty/button_empty.js +9 -7
  19. package/es/components/button/button_group/button_group.js +5 -3
  20. package/es/components/button/button_group/button_group_button.js +5 -3
  21. package/es/components/card/card.a11y.js +5 -18
  22. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  23. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  24. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  25. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  27. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  28. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +67 -81
  29. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  30. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -102
  31. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  32. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  35. package/es/components/combo_box/combo_box.js +1 -1
  36. package/es/components/context_menu/context_menu_item.js +16 -8
  37. package/es/components/context_menu/context_menu_item.styles.js +1 -1
  38. package/es/components/datagrid/body/data_grid_body.js +16 -6
  39. package/es/components/datagrid/body/data_grid_body_custom.js +16 -6
  40. package/es/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  41. package/es/components/datagrid/body/data_grid_cell.js +67 -44
  42. package/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  43. package/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  44. package/es/components/datagrid/body/header/data_grid_header_cell.js +65 -34
  45. package/es/components/datagrid/body/header/data_grid_header_row.js +16 -6
  46. package/es/components/datagrid/controls/column_selector.js +19 -39
  47. package/es/components/datagrid/controls/column_sorting.js +18 -29
  48. package/es/components/datagrid/controls/data_grid_toolbar_control.js +154 -0
  49. package/es/components/datagrid/controls/display_selector.js +0 -1
  50. package/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  51. package/es/components/datagrid/controls/index.js +2 -1
  52. package/es/components/datagrid/index.js +1 -1
  53. package/es/components/datagrid/utils/in_memory.js +16 -6
  54. package/es/components/datagrid/utils/row_heights.js +1 -1
  55. package/es/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  56. package/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  57. package/es/components/error_boundary/error_boundary.a11y.js +1 -1
  58. package/es/components/expression/expression.a11y.js +2 -4
  59. package/es/components/facet/facet_button.js +5 -3
  60. package/es/components/filter_group/filter_button.js +2 -2
  61. package/es/components/focus_trap/focus_trap.a11y.js +3 -3
  62. package/es/components/form/range/range.a11y.js +5 -10
  63. package/es/components/form/super_select/super_select.js +3 -2
  64. package/es/components/form/super_select/super_select_control.js +13 -20
  65. package/es/components/header/header.a11y.js +1 -1
  66. package/es/components/header/header_links/header_link.js +7 -5
  67. package/es/components/header/header_section/header_section_item_button.js +7 -5
  68. package/es/components/image/image.a11y.js +1 -2
  69. package/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  70. package/es/components/link/external_link_icon.js +51 -0
  71. package/es/components/link/link.js +6 -20
  72. package/es/components/link/link.styles.js +2 -5
  73. package/es/components/list_group/list_group.js +6 -1
  74. package/es/components/list_group/list_group_item.js +14 -4
  75. package/es/components/list_group/list_group_item.styles.js +2 -1
  76. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  77. package/es/components/notification/notification_event.a11y.js +1 -2
  78. package/es/components/notification/notification_event.js +7 -5
  79. package/es/components/pagination/pagination_button.js +7 -5
  80. package/es/components/popover/popover.js +4 -1
  81. package/es/components/resizable_container/resizable_container.a11y.js +4 -8
  82. package/es/components/search_bar/search_bar.a11y.js +3 -6
  83. package/es/components/selectable/selectable.js +16 -1
  84. package/es/components/selectable/selectable_list/selectable_list.js +227 -78
  85. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  86. package/es/components/text/text.styles.js +2 -2
  87. package/es/components/text_truncate/text_truncate.js +33 -10
  88. package/eui.d.ts +466 -136
  89. package/i18ntokens.json +224 -260
  90. package/lib/components/accordion/accordion.a11y.js +1 -3
  91. package/lib/components/basic_table/action_types.js +8 -2
  92. package/lib/components/basic_table/basic_table.a11y.js +1 -2
  93. package/lib/components/basic_table/basic_table.js +8 -8
  94. package/lib/components/basic_table/collapsed_item_actions.js +128 -257
  95. package/lib/components/basic_table/custom_item_action.js +18 -104
  96. package/lib/components/basic_table/default_item_action.js +23 -14
  97. package/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  98. package/lib/components/basic_table/in_memory_table.js +8 -8
  99. package/lib/components/breadcrumbs/breadcrumb.js +11 -7
  100. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  101. package/lib/components/button/button_display/_button_display.js +5 -3
  102. package/lib/components/button/button_display/_button_display_content.js +8 -4
  103. package/lib/components/button/button_empty/button_empty.js +9 -7
  104. package/lib/components/button/button_group/button_group.js +5 -3
  105. package/lib/components/button/button_group/button_group_button.js +5 -3
  106. package/lib/components/card/card.a11y.js +5 -18
  107. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  108. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  109. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  110. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  111. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  112. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  113. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  114. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  115. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -104
  116. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  117. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  118. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  119. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  120. package/lib/components/combo_box/combo_box.js +1 -1
  121. package/lib/components/context_menu/context_menu_item.js +16 -8
  122. package/lib/components/context_menu/context_menu_item.styles.js +1 -1
  123. package/lib/components/datagrid/body/data_grid_body.js +16 -6
  124. package/lib/components/datagrid/body/data_grid_body_custom.js +16 -6
  125. package/lib/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  126. package/lib/components/datagrid/body/data_grid_cell.js +67 -44
  127. package/lib/components/datagrid/body/data_grid_cell_actions.js +12 -13
  128. package/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  129. package/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -34
  130. package/lib/components/datagrid/body/header/data_grid_header_row.js +16 -6
  131. package/lib/components/datagrid/controls/column_selector.js +19 -39
  132. package/lib/components/datagrid/controls/column_sorting.js +18 -30
  133. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +159 -0
  134. package/lib/components/datagrid/controls/display_selector.js +0 -1
  135. package/lib/components/datagrid/controls/fullscreen_selector.js +2 -7
  136. package/lib/components/datagrid/controls/index.js +8 -1
  137. package/lib/components/datagrid/index.js +8 -1
  138. package/lib/components/datagrid/utils/in_memory.js +16 -6
  139. package/lib/components/datagrid/utils/row_heights.js +1 -1
  140. package/lib/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  141. package/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  142. package/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  143. package/lib/components/expression/expression.a11y.js +2 -4
  144. package/lib/components/facet/facet_button.js +5 -3
  145. package/lib/components/filter_group/filter_button.js +2 -2
  146. package/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  147. package/lib/components/form/range/range.a11y.js +5 -10
  148. package/lib/components/form/super_select/super_select.js +3 -2
  149. package/lib/components/form/super_select/super_select_control.js +12 -19
  150. package/lib/components/header/header.a11y.js +1 -1
  151. package/lib/components/header/header_links/header_link.js +7 -5
  152. package/lib/components/header/header_section/header_section_item_button.js +7 -5
  153. package/lib/components/image/image.a11y.js +1 -2
  154. package/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  155. package/lib/components/link/external_link_icon.js +57 -0
  156. package/lib/components/link/link.js +6 -20
  157. package/lib/components/link/link.styles.js +1 -4
  158. package/lib/components/list_group/list_group.js +6 -1
  159. package/lib/components/list_group/list_group_item.js +14 -4
  160. package/lib/components/list_group/list_group_item.styles.js +2 -1
  161. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  162. package/lib/components/notification/notification_event.a11y.js +1 -2
  163. package/lib/components/notification/notification_event.js +7 -5
  164. package/lib/components/popover/popover.js +4 -1
  165. package/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  166. package/lib/components/search_bar/search_bar.a11y.js +3 -6
  167. package/lib/components/selectable/selectable.js +16 -1
  168. package/lib/components/selectable/selectable_list/selectable_list.js +227 -78
  169. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  170. package/lib/components/text/text.styles.js +2 -2
  171. package/lib/components/text_truncate/text_truncate.js +32 -9
  172. package/optimize/es/components/accordion/accordion.a11y.js +1 -3
  173. package/optimize/es/components/basic_table/action_types.js +5 -0
  174. package/optimize/es/components/basic_table/basic_table.a11y.js +1 -2
  175. package/optimize/es/components/basic_table/collapsed_item_actions.js +116 -169
  176. package/optimize/es/components/basic_table/custom_item_action.js +10 -83
  177. package/optimize/es/components/basic_table/default_item_action.js +23 -14
  178. package/optimize/es/components/basic_table/in_memory_table.a11y.js +13 -11
  179. package/optimize/es/components/breadcrumbs/breadcrumb.js +11 -7
  180. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -0
  181. package/optimize/es/components/button/button_display/_button_display_content.js +3 -1
  182. package/optimize/es/components/button/button_empty/button_empty.js +2 -2
  183. package/optimize/es/components/card/card.a11y.js +5 -18
  184. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  185. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  186. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  187. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  188. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  189. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  190. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  191. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
  192. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  193. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -10
  194. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  195. package/optimize/es/components/context_menu/context_menu_item.js +9 -6
  196. package/optimize/es/components/context_menu/context_menu_item.styles.js +1 -1
  197. package/optimize/es/components/datagrid/body/data_grid_cell.js +38 -30
  198. package/optimize/es/components/datagrid/body/data_grid_cell_actions.js +12 -12
  199. package/optimize/es/components/datagrid/body/data_grid_cell_popover.js +43 -10
  200. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +49 -28
  201. package/optimize/es/components/datagrid/controls/column_selector.js +19 -39
  202. package/optimize/es/components/datagrid/controls/column_sorting.js +18 -29
  203. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +70 -0
  204. package/optimize/es/components/datagrid/controls/display_selector.js +0 -1
  205. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +2 -6
  206. package/optimize/es/components/datagrid/controls/index.js +2 -1
  207. package/optimize/es/components/datagrid/index.js +1 -1
  208. package/optimize/es/components/datagrid/utils/row_heights.js +1 -1
  209. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +1 -1
  210. package/optimize/es/components/error_boundary/error_boundary.a11y.js +1 -1
  211. package/optimize/es/components/expression/expression.a11y.js +2 -4
  212. package/optimize/es/components/filter_group/filter_button.js +2 -2
  213. package/optimize/es/components/focus_trap/focus_trap.a11y.js +3 -3
  214. package/optimize/es/components/form/range/range.a11y.js +5 -10
  215. package/optimize/es/components/form/super_select/super_select.js +3 -2
  216. package/optimize/es/components/form/super_select/super_select_control.js +13 -20
  217. package/optimize/es/components/header/header.a11y.js +1 -1
  218. package/optimize/es/components/image/image.a11y.js +1 -2
  219. package/optimize/es/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  220. package/optimize/es/components/link/external_link_icon.js +41 -0
  221. package/optimize/es/components/link/link.js +6 -20
  222. package/optimize/es/components/link/link.styles.js +2 -5
  223. package/optimize/es/components/list_group/list_group_item.js +8 -3
  224. package/optimize/es/components/list_group/list_group_item.styles.js +2 -1
  225. package/optimize/es/components/notification/notification_event.a11y.js +1 -2
  226. package/optimize/es/components/popover/popover.js +4 -1
  227. package/optimize/es/components/resizable_container/resizable_container.a11y.js +4 -8
  228. package/optimize/es/components/search_bar/search_bar.a11y.js +3 -6
  229. package/optimize/es/components/selectable/selectable_list/selectable_list.js +199 -76
  230. package/optimize/es/components/text/text.styles.js +2 -2
  231. package/optimize/es/components/text_truncate/text_truncate.js +26 -9
  232. package/optimize/lib/components/accordion/accordion.a11y.js +1 -3
  233. package/optimize/lib/components/basic_table/action_types.js +8 -2
  234. package/optimize/lib/components/basic_table/basic_table.a11y.js +1 -2
  235. package/optimize/lib/components/basic_table/collapsed_item_actions.js +123 -174
  236. package/optimize/lib/components/basic_table/custom_item_action.js +17 -91
  237. package/optimize/lib/components/basic_table/default_item_action.js +23 -14
  238. package/optimize/lib/components/basic_table/in_memory_table.a11y.js +13 -11
  239. package/optimize/lib/components/breadcrumbs/breadcrumb.js +11 -7
  240. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -0
  241. package/optimize/lib/components/button/button_display/_button_display_content.js +3 -1
  242. package/optimize/lib/components/button/button_empty/button_empty.js +2 -2
  243. package/optimize/lib/components/card/card.a11y.js +5 -18
  244. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  245. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  246. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  247. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  248. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  249. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  250. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  251. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
  252. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  253. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +6 -10
  254. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +9 -5
  255. package/optimize/lib/components/context_menu/context_menu_item.js +9 -6
  256. package/optimize/lib/components/context_menu/context_menu_item.styles.js +1 -1
  257. package/optimize/lib/components/datagrid/body/data_grid_cell.js +38 -30
  258. package/optimize/lib/components/datagrid/body/data_grid_cell_actions.js +12 -12
  259. package/optimize/lib/components/datagrid/body/data_grid_cell_popover.js +43 -10
  260. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +55 -36
  261. package/optimize/lib/components/datagrid/controls/column_selector.js +19 -39
  262. package/optimize/lib/components/datagrid/controls/column_sorting.js +18 -29
  263. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +75 -0
  264. package/optimize/lib/components/datagrid/controls/display_selector.js +0 -1
  265. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +2 -6
  266. package/optimize/lib/components/datagrid/controls/index.js +8 -1
  267. package/optimize/lib/components/datagrid/index.js +8 -1
  268. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  269. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +1 -1
  270. package/optimize/lib/components/error_boundary/error_boundary.a11y.js +1 -1
  271. package/optimize/lib/components/expression/expression.a11y.js +2 -4
  272. package/optimize/lib/components/filter_group/filter_button.js +2 -2
  273. package/optimize/lib/components/focus_trap/focus_trap.a11y.js +3 -3
  274. package/optimize/lib/components/form/range/range.a11y.js +5 -10
  275. package/optimize/lib/components/form/super_select/super_select.js +3 -2
  276. package/optimize/lib/components/form/super_select/super_select_control.js +12 -19
  277. package/optimize/lib/components/header/header.a11y.js +1 -1
  278. package/optimize/lib/components/image/image.a11y.js +1 -2
  279. package/optimize/lib/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  280. package/optimize/lib/components/link/external_link_icon.js +47 -0
  281. package/optimize/lib/components/link/link.js +6 -20
  282. package/optimize/lib/components/link/link.styles.js +1 -4
  283. package/optimize/lib/components/list_group/list_group_item.js +8 -3
  284. package/optimize/lib/components/list_group/list_group_item.styles.js +2 -1
  285. package/optimize/lib/components/notification/notification_event.a11y.js +1 -2
  286. package/optimize/lib/components/popover/popover.js +4 -1
  287. package/optimize/lib/components/resizable_container/resizable_container.a11y.js +4 -8
  288. package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -6
  289. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +199 -76
  290. package/optimize/lib/components/text/text.styles.js +2 -2
  291. package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
  292. package/package.json +4 -4
  293. package/src/components/datagrid/_data_grid_data_row.scss +139 -100
  294. package/src/components/datagrid/_mixins.scss +2 -2
  295. package/src/components/datagrid/body/header/_data_grid_header_row.scss +36 -28
  296. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -5
  297. package/src/components/form/form_row/_form_row.scss +1 -1
  298. package/src/components/table/_responsive.scss +19 -0
  299. package/src/components/table/_table.scss +4 -9
  300. package/test-env/components/accordion/accordion.a11y.js +1 -3
  301. package/test-env/components/auto_sizer/auto_sizer.js +10 -3
  302. package/test-env/components/basic_table/action_types.js +8 -2
  303. package/test-env/components/basic_table/basic_table.a11y.js +1 -2
  304. package/test-env/components/basic_table/basic_table.js +8 -8
  305. package/test-env/components/basic_table/collapsed_item_actions.js +124 -251
  306. package/test-env/components/basic_table/custom_item_action.js +18 -100
  307. package/test-env/components/basic_table/default_item_action.js +23 -14
  308. package/test-env/components/basic_table/in_memory_table.a11y.js +13 -11
  309. package/test-env/components/basic_table/in_memory_table.js +8 -8
  310. package/test-env/components/breadcrumbs/breadcrumb.js +11 -7
  311. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -0
  312. package/test-env/components/button/button_display/_button_display.js +5 -3
  313. package/test-env/components/button/button_display/_button_display_content.js +8 -4
  314. package/test-env/components/button/button_empty/button_empty.js +9 -7
  315. package/test-env/components/button/button_group/button_group.js +5 -3
  316. package/test-env/components/button/button_group/button_group_button.js +5 -3
  317. package/test-env/components/card/card.a11y.js +5 -18
  318. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  319. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  320. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +12 -9
  321. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -101
  322. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -58
  323. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +89 -37
  324. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -80
  325. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  326. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +7 -105
  327. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +4 -4
  328. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +7 -90
  329. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +150 -130
  330. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  331. package/test-env/components/combo_box/combo_box.js +1 -1
  332. package/test-env/components/context_menu/context_menu_item.js +16 -8
  333. package/test-env/components/context_menu/context_menu_item.styles.js +1 -1
  334. package/test-env/components/datagrid/body/data_grid_body.js +16 -6
  335. package/test-env/components/datagrid/body/data_grid_body_custom.js +16 -6
  336. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +16 -6
  337. package/test-env/components/datagrid/body/data_grid_cell.js +67 -44
  338. package/test-env/components/datagrid/body/data_grid_cell_actions.js +12 -12
  339. package/test-env/components/datagrid/body/data_grid_cell_popover.js +43 -10
  340. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +71 -42
  341. package/test-env/components/datagrid/body/header/data_grid_header_row.js +16 -6
  342. package/test-env/components/datagrid/controls/column_selector.js +19 -39
  343. package/test-env/components/datagrid/controls/column_sorting.js +18 -29
  344. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +158 -0
  345. package/test-env/components/datagrid/controls/display_selector.js +0 -1
  346. package/test-env/components/datagrid/controls/fullscreen_selector.js +2 -6
  347. package/test-env/components/datagrid/controls/index.js +8 -1
  348. package/test-env/components/datagrid/index.js +8 -1
  349. package/test-env/components/datagrid/utils/in_memory.js +16 -6
  350. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  351. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +6 -4
  352. package/test-env/components/date_picker/super_date_picker/super_update_button.js +1 -1
  353. package/test-env/components/error_boundary/error_boundary.a11y.js +1 -1
  354. package/test-env/components/expression/expression.a11y.js +2 -4
  355. package/test-env/components/facet/facet_button.js +5 -3
  356. package/test-env/components/filter_group/filter_button.js +2 -2
  357. package/test-env/components/focus_trap/focus_trap.a11y.js +3 -3
  358. package/test-env/components/form/range/range.a11y.js +5 -10
  359. package/test-env/components/form/super_select/super_select.js +3 -2
  360. package/test-env/components/form/super_select/super_select_control.js +12 -19
  361. package/test-env/components/header/header.a11y.js +1 -1
  362. package/test-env/components/header/header_links/header_link.js +7 -5
  363. package/test-env/components/header/header_section/header_section_item_button.js +7 -5
  364. package/test-env/components/image/image.a11y.js +1 -2
  365. package/test-env/components/key_pad_menu/key_pad_menu.a11y.js +5 -5
  366. package/test-env/components/link/external_link_icon.js +56 -0
  367. package/test-env/components/link/link.js +6 -20
  368. package/test-env/components/link/link.styles.js +1 -4
  369. package/test-env/components/list_group/list_group.js +6 -1
  370. package/test-env/components/list_group/list_group_item.js +14 -4
  371. package/test-env/components/list_group/list_group_item.styles.js +2 -1
  372. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +12 -2
  373. package/test-env/components/notification/notification_event.a11y.js +1 -2
  374. package/test-env/components/notification/notification_event.js +7 -5
  375. package/test-env/components/popover/popover.js +4 -1
  376. package/test-env/components/resizable_container/resizable_container.a11y.js +4 -8
  377. package/test-env/components/search_bar/search_bar.a11y.js +3 -6
  378. package/test-env/components/selectable/selectable.js +16 -1
  379. package/test-env/components/selectable/selectable_list/selectable_list.js +227 -78
  380. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  381. package/test-env/components/text/text.styles.js +2 -2
  382. package/test-env/components/text_truncate/text_truncate.js +32 -9
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["width", "onResize"],
5
- _excluded2 = ["width", "children", "text", "truncation", "truncationOffset", "truncationPosition", "ellipsis", "containerRef", "className"],
5
+ _excluded2 = ["width", "children", "text", "truncation", "truncationOffset", "truncationPosition", "ellipsis", "calculationDelayMs", "containerRef", "className"],
6
6
  _excluded3 = ["onResize"];
7
7
  /*
8
8
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -12,7 +12,7 @@ var _excluded = ["width", "onResize"],
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- import React, { useState, useMemo, useCallback } from 'react';
15
+ import React, { useState, useMemo, useCallback, useEffect } from 'react';
16
16
  import classNames from 'classnames';
17
17
  import { useCombinedRefs } from '../../services';
18
18
  import { EuiResizeObserver } from '../observer/resize_observer';
@@ -41,6 +41,7 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
41
41
  truncationPosition = _ref2.truncationPosition,
42
42
  _ref2$ellipsis = _ref2.ellipsis,
43
43
  ellipsis = _ref2$ellipsis === void 0 ? '…' : _ref2$ellipsis,
44
+ calculationDelayMs = _ref2.calculationDelayMs,
44
45
  containerRef = _ref2.containerRef,
45
46
  className = _ref2.className,
46
47
  rest = _objectWithoutProperties(_ref2, _excluded2);
@@ -51,6 +52,19 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
51
52
  setContainerEl = _useState2[1];
52
53
  var refs = useCombinedRefs([setContainerEl, containerRef]);
53
54
 
55
+ // If necessary, wait a tick on mount before truncating
56
+ var _useState3 = useState(!calculationDelayMs),
57
+ _useState4 = _slicedToArray(_useState3, 2),
58
+ ready = _useState4[0],
59
+ setReady = _useState4[1];
60
+ useEffect(function () {
61
+ if (calculationDelayMs) {
62
+ setTimeout(function () {
63
+ return setReady(true);
64
+ }, calculationDelayMs);
65
+ }
66
+ }, [calculationDelayMs]);
67
+
54
68
  // Handle exceptions where we need to override the passed props
55
69
  var _useMemo = useMemo(function () {
56
70
  var truncation = _truncation;
@@ -75,7 +89,8 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
75
89
  truncationOffset = _useMemo.truncationOffset;
76
90
  var truncatedText = useMemo(function () {
77
91
  var truncatedText = '';
78
- if (!containerEl || !width) return truncatedText;
92
+ if (!ready || !containerEl) return text;
93
+ if (!width) return truncatedText;
79
94
  var utils = new TruncationUtils({
80
95
  fullText: text,
81
96
  ellipsis: ellipsis,
@@ -107,7 +122,7 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
107
122
  }
108
123
  }
109
124
  return truncatedText;
110
- }, [width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
125
+ }, [ready, width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
111
126
  var isTruncating = truncatedText !== text;
112
127
  return ___EmotionJSX("div", _extends({
113
128
  className: classNames('euiTextTruncate', className),
@@ -131,10 +146,10 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
131
146
  var EuiTextTruncateWithResizeObserver = function EuiTextTruncateWithResizeObserver(_ref3) {
132
147
  var _onResize = _ref3.onResize,
133
148
  props = _objectWithoutProperties(_ref3, _excluded3);
134
- var _useState3 = useState(0),
135
- _useState4 = _slicedToArray(_useState3, 2),
136
- width = _useState4[0],
137
- setWidth = _useState4[1];
149
+ var _useState5 = useState(0),
150
+ _useState6 = _slicedToArray(_useState5, 2),
151
+ width = _useState6[0],
152
+ setWidth = _useState6[1];
138
153
  var onResize = useCallback(function (_ref4) {
139
154
  var width = _ref4.width;
140
155
  setWidth(width);
@@ -146,6 +161,8 @@ var EuiTextTruncateWithResizeObserver = function EuiTextTruncateWithResizeObserv
146
161
  return ___EmotionJSX(EuiTextTruncateWithWidth, _extends({
147
162
  width: width,
148
163
  containerRef: ref
149
- }, props));
164
+ }, props, {
165
+ "data-resize-observer": "true"
166
+ }));
150
167
  });
151
168
  };
@@ -32,9 +32,7 @@ describe('EuiAccordion', function () {
32
32
  it('has zero violations when expanded', function () {
33
33
  cy.mount((0, _react2.jsx)(_index.EuiAccordion, noArrowProps, (0, _react2.jsx)(_panel.EuiPanel, {
34
34
  color: "subdued"
35
- }, "Any content inside of ", (0, _react2.jsx)("strong", null, "EuiAccordion"), " will appear here. We will include ", (0, _react2.jsx)("a", {
36
- href: "#"
37
- }, "a link"), " to confirm focus.")));
35
+ }, "Any content inside of ", (0, _react2.jsx)("strong", null, "EuiAccordion"), " will appear here.")));
38
36
  cy.get('button.euiAccordion__button').click();
39
37
  cy.checkAxe();
40
38
  });
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isCustomItemAction = void 0;
6
+ exports.isCustomItemAction = exports.callWithItemIfFunction = void 0;
7
7
  /*
8
8
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
9
9
  * or more contributor license agreements. Licensed under the Elastic License
@@ -15,4 +15,10 @@ exports.isCustomItemAction = void 0;
15
15
  var isCustomItemAction = function isCustomItemAction(action) {
16
16
  return action.hasOwnProperty('render');
17
17
  };
18
- exports.isCustomItemAction = isCustomItemAction;
18
+ exports.isCustomItemAction = isCustomItemAction;
19
+ var callWithItemIfFunction = function callWithItemIfFunction(item) {
20
+ return function (prop) {
21
+ return typeof prop === 'function' ? prop(item) : prop;
22
+ };
23
+ };
24
+ exports.callWithItemIfFunction = callWithItemIfFunction;
@@ -185,8 +185,7 @@ describe('EuiTable', function () {
185
185
  });
186
186
  describe('Keyboard accessibility', function () {
187
187
  it('has zero violations after expanding a row', function () {
188
- cy.repeatRealPress('Tab');
189
- cy.get('button#1').should('have.focus');
188
+ cy.get('button#1').focus();
190
189
  cy.realPress('Enter');
191
190
  cy.get('tr.euiTableRow-isExpandedRow div.euiTableCellContent').should('exist');
192
191
  cy.checkAxe();
@@ -6,13 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.CollapsedItemActions = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
10
  var _react = _interopRequireWildcard(require("react"));
17
11
  var _predicate = require("../../services/predicate");
18
12
  var _context_menu = require("../context_menu");
@@ -20,177 +14,132 @@ var _popover = require("../popover");
20
14
  var _button = require("../button");
21
15
  var _tool_tip = require("../tool_tip");
22
16
  var _i18n = require("../i18n");
17
+ var _action_types = require("./action_types");
23
18
  var _react2 = require("@emotion/react");
24
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
27
- 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; } } /*
28
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
29
- * or more contributor license agreements. Licensed under the Elastic License
30
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
31
- * in compliance with, at your election, the Elastic License 2.0 or the Server
32
- * Side Public License, v 1.
33
- */
34
- function actionIsCustomItemAction(action) {
35
- return action.hasOwnProperty('render');
36
- }
37
- var CollapsedItemActions = /*#__PURE__*/function (_Component) {
38
- (0, _inherits2.default)(CollapsedItemActions, _Component);
39
- var _super = _createSuper(CollapsedItemActions);
40
- function CollapsedItemActions() {
41
- var _this;
42
- (0, _classCallCheck2.default)(this, CollapsedItemActions);
43
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
44
- args[_key] = arguments[_key];
45
- }
46
- _this = _super.call.apply(_super, [this].concat(args));
47
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "popoverDiv", null);
48
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
49
- popoverOpen: false
50
- });
51
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "togglePopover", function () {
52
- _this.setState(function (prevState) {
53
- return {
54
- popoverOpen: !prevState.popoverOpen
55
- };
56
- });
57
- });
58
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "closePopover", function () {
59
- _this.setState({
60
- popoverOpen: false
61
- });
62
- });
63
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onPopoverBlur", function () {
64
- // you must be asking... WTF? I know... but this timeout is
65
- // required to make sure we process the onBlur events after the initial
66
- // event cycle. Reference:
67
- // https://medium.com/@jessebeach/dealing-with-focus-and-blur-in-a-composite-widget-in-react-90d3c3b49a9b
68
- window.requestAnimationFrame(function () {
69
- if (!_this.popoverDiv.contains(document.activeElement) && _this.props.onBlur) {
70
- _this.props.onBlur();
71
- }
72
- });
73
- });
74
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerPopoverDiv", function (popoverDiv) {
75
- if (!_this.popoverDiv) {
76
- _this.popoverDiv = popoverDiv;
77
- _this.popoverDiv && _this.popoverDiv.addEventListener('focusout', _this.onPopoverBlur);
78
- }
79
- });
80
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onClickItem", function (onClickAction) {
81
- _this.closePopover();
82
- if (onClickAction) {
83
- onClickAction();
84
- }
85
- });
86
- return _this;
87
- }
88
- (0, _createClass2.default)(CollapsedItemActions, [{
89
- key: "componentWillUnmount",
90
- value: function componentWillUnmount() {
91
- if (this.popoverDiv) {
92
- this.popoverDiv.removeEventListener('focusout', this.onPopoverBlur);
93
- }
94
- }
95
- }, {
96
- key: "render",
97
- value: function render() {
98
- var _this2 = this;
99
- var _this$props = this.props,
100
- actions = _this$props.actions,
101
- itemId = _this$props.itemId,
102
- item = _this$props.item,
103
- actionEnabled = _this$props.actionEnabled,
104
- onFocus = _this$props.onFocus,
105
- className = _this$props.className;
106
- var isOpen = this.state.popoverOpen;
107
- var allDisabled = true;
108
- var controls = actions.reduce(function (controls, action, index) {
109
- var key = "action_".concat(itemId, "_").concat(index);
110
- var available = action.available ? action.available(item) : true;
111
- if (!available) {
112
- return controls;
113
- }
114
- var enabled = actionEnabled(action);
115
- allDisabled = allDisabled && !enabled;
116
- if (actionIsCustomItemAction(action)) {
117
- var customAction = action;
118
- var actionControl = customAction.render(item, enabled);
119
- var actionControlOnClick = actionControl && actionControl.props && actionControl.props.onClick;
120
- controls.push((0, _react2.jsx)(_context_menu.EuiContextMenuItem, {
121
- key: key,
122
- onClick: function onClick() {
123
- return _this2.onClickItem(actionControlOnClick ? function () {
124
- return actionControlOnClick(item);
125
- } : undefined);
126
- }
127
- }, actionControl));
128
- } else {
129
- var _onClick = action.onClick,
130
- name = action.name,
131
- href = action.href,
132
- target = action.target,
133
- dataTestSubj = action['data-test-subj'];
134
- var buttonIcon = action.icon;
135
- var icon;
136
- if (buttonIcon) {
137
- icon = (0, _predicate.isString)(buttonIcon) ? buttonIcon : buttonIcon(item);
21
+ /*
22
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
+ * or more contributor license agreements. Licensed under the Elastic License
24
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
25
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
26
+ * Side Public License, v 1.
27
+ */
28
+
29
+ var CollapsedItemActions = function CollapsedItemActions(_ref) {
30
+ var actions = _ref.actions,
31
+ itemId = _ref.itemId,
32
+ item = _ref.item,
33
+ actionEnabled = _ref.actionEnabled,
34
+ className = _ref.className;
35
+ var _useState = (0, _react.useState)(false),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ popoverOpen = _useState2[0],
38
+ setPopoverOpen = _useState2[1];
39
+ var _useState3 = (0, _react.useState)(true),
40
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
41
+ allDisabled = _useState4[0],
42
+ setAllDisabled = _useState4[1];
43
+ var onClickItem = (0, _react.useCallback)(function (onClickAction) {
44
+ setPopoverOpen(false);
45
+ onClickAction === null || onClickAction === void 0 ? void 0 : onClickAction();
46
+ }, []);
47
+ var controls = (0, _react.useMemo)(function () {
48
+ return actions.reduce(function (controls, action, index) {
49
+ var _action$available, _action$available2;
50
+ 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;
51
+ if (!available) return controls;
52
+ var enabled = actionEnabled(action);
53
+ if (enabled) setAllDisabled(false);
54
+ if ((0, _action_types.isCustomItemAction)(action)) {
55
+ var customAction = action;
56
+ var actionControl = customAction.render(item, enabled);
57
+ controls.push(
58
+ // Do not put the `onClick` on the EuiContextMenuItem itself - otherwise
59
+ // it renders a <button> tag instead of a <div>, and we end up with nested
60
+ // interactive elements
61
+ (0, _react2.jsx)(_context_menu.EuiContextMenuItem, {
62
+ key: index,
63
+ className: "euiBasicTable__collapsedCustomAction"
64
+ }, (0, _react2.jsx)("span", {
65
+ onClick: function onClick() {
66
+ return onClickItem();
138
67
  }
139
- var buttonContent = typeof name === 'function' ? name(item) : name;
140
- controls.push((0, _react2.jsx)(_context_menu.EuiContextMenuItem, {
141
- key: key,
142
- disabled: !enabled,
143
- href: href,
144
- target: target,
145
- icon: icon,
146
- "data-test-subj": dataTestSubj,
147
- onClick: function onClick() {
148
- return _this2.onClickItem(_onClick ? function () {
149
- return _onClick(item);
150
- } : undefined);
151
- }
152
- }, buttonContent));
68
+ }, actionControl)));
69
+ } else {
70
+ var buttonIcon = action.icon;
71
+ var icon;
72
+ if (buttonIcon) {
73
+ icon = (0, _predicate.isString)(buttonIcon) ? buttonIcon : buttonIcon(item);
153
74
  }
154
- return controls;
155
- }, []);
156
- var popoverButton = (0, _react2.jsx)(_i18n.EuiI18n, {
157
- token: "euiCollapsedItemActions.allActions",
158
- default: "All actions"
159
- }, function (allActions) {
160
- return (0, _react2.jsx)(_button.EuiButtonIcon, {
161
- className: className,
162
- "aria-label": allActions,
163
- iconType: "boxesHorizontal",
164
- color: "text",
165
- isDisabled: allDisabled,
166
- onClick: _this2.togglePopover.bind(_this2),
167
- onFocus: onFocus,
168
- "data-test-subj": "euiCollapsedItemActionsButton"
75
+ var buttonContent = (0, _action_types.callWithItemIfFunction)(item)(action.name);
76
+ var toolTipContent = (0, _action_types.callWithItemIfFunction)(item)(action.description);
77
+ var href = (0, _action_types.callWithItemIfFunction)(item)(action.href);
78
+ var dataTestSubj = (0, _action_types.callWithItemIfFunction)(item)(action['data-test-subj']);
79
+ var _onClick = action.onClick,
80
+ target = action.target;
81
+ controls.push((0, _react2.jsx)(_context_menu.EuiContextMenuItem, {
82
+ key: index,
83
+ className: "euiBasicTable__collapsedAction",
84
+ disabled: !enabled,
85
+ href: href,
86
+ target: target,
87
+ icon: icon,
88
+ "data-test-subj": dataTestSubj,
89
+ onClick: function onClick() {
90
+ return onClickItem(_onClick ? function () {
91
+ return _onClick(item);
92
+ } : undefined);
93
+ },
94
+ toolTipContent: toolTipContent,
95
+ toolTipProps: {
96
+ delay: 'long'
97
+ }
98
+ }, buttonContent));
99
+ }
100
+ return controls;
101
+ }, []);
102
+ }, [actions, actionEnabled, item, onClickItem]);
103
+ var popoverButton = (0, _react2.jsx)(_i18n.EuiI18n, {
104
+ token: "euiCollapsedItemActions.allActions",
105
+ default: "All actions"
106
+ }, function (allActions) {
107
+ return (0, _react2.jsx)(_button.EuiButtonIcon, {
108
+ className: className,
109
+ "aria-label": allActions,
110
+ iconType: "boxesHorizontal",
111
+ color: "text",
112
+ isDisabled: allDisabled,
113
+ onClick: function onClick() {
114
+ return setPopoverOpen(function (isOpen) {
115
+ return !isOpen;
169
116
  });
170
- });
171
- var withTooltip = !allDisabled && (0, _react2.jsx)(_i18n.EuiI18n, {
172
- token: "euiCollapsedItemActions.allActions",
173
- default: "All actions"
174
- }, function (allActions) {
175
- return (0, _react2.jsx)(_tool_tip.EuiToolTip, {
176
- content: allActions,
177
- delay: "long"
178
- }, popoverButton);
179
- });
180
- return (0, _react2.jsx)(_popover.EuiPopover, {
181
- className: className,
182
- popoverRef: this.registerPopoverDiv,
183
- id: "".concat(itemId, "-actions"),
184
- isOpen: isOpen,
185
- button: withTooltip || popoverButton,
186
- closePopover: this.closePopover,
187
- panelPaddingSize: "none",
188
- anchorPosition: "leftCenter"
189
- }, (0, _react2.jsx)(_context_menu.EuiContextMenuPanel, {
190
- items: controls
191
- }));
192
- }
193
- }]);
194
- return CollapsedItemActions;
195
- }(_react.Component);
117
+ },
118
+ "data-test-subj": "euiCollapsedItemActionsButton"
119
+ });
120
+ });
121
+ var withTooltip = !allDisabled && (0, _react2.jsx)(_i18n.EuiI18n, {
122
+ token: "euiCollapsedItemActions.allActions",
123
+ default: "All actions"
124
+ }, function (allActions) {
125
+ return (0, _react2.jsx)(_tool_tip.EuiToolTip, {
126
+ content: allActions,
127
+ delay: "long"
128
+ }, popoverButton);
129
+ });
130
+ return (0, _react2.jsx)(_popover.EuiPopover, {
131
+ className: className,
132
+ id: "".concat(itemId, "-actions"),
133
+ isOpen: popoverOpen,
134
+ button: withTooltip || popoverButton,
135
+ closePopover: function closePopover() {
136
+ return setPopoverOpen(false);
137
+ },
138
+ panelPaddingSize: "none",
139
+ anchorPosition: "leftCenter"
140
+ }, (0, _react2.jsx)(_context_menu.EuiContextMenuPanel, {
141
+ className: "euiBasicTable__collapsedActions",
142
+ items: controls
143
+ }));
144
+ };
196
145
  exports.CollapsedItemActions = CollapsedItemActions;
@@ -1,101 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.CustomItemAction = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
17
9
  var _react2 = require("@emotion/react");
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
- 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; } } /*
22
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
- * or more contributor license agreements. Licensed under the Elastic License
24
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
25
- * in compliance with, at your election, the Elastic License 2.0 or the Server
26
- * Side Public License, v 1.
27
- */
28
- var CustomItemAction = /*#__PURE__*/function (_Component) {
29
- (0, _inherits2.default)(CustomItemAction, _Component);
30
- var _super = _createSuper(CustomItemAction);
31
- function CustomItemAction(props) {
32
- var _this;
33
- (0, _classCallCheck2.default)(this, CustomItemAction);
34
- _this = _super.call(this, props);
35
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mounted", void 0);
36
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onFocus", function () {
37
- if (_this.mounted) {
38
- _this.setState({
39
- hasFocus: true
40
- });
41
- }
42
- });
43
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onBlur", function () {
44
- if (_this.mounted) {
45
- _this.setState({
46
- hasFocus: false
47
- });
48
- }
49
- });
50
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hasFocus", function () {
51
- return _this.state.hasFocus;
52
- });
53
- _this.state = {
54
- hasFocus: false
55
- };
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
56
17
 
57
- // while generally considered an anti-pattern, here we require
58
- // to do that as the onFocus/onBlur events of the action controls
59
- // may trigger while this component is unmounted. An alternative
60
- // (at least the workarounds suggested by react is to unregister
61
- // the onFocus/onBlur listeners from the action controls... this
62
- // unfortunately will lead to unnecessarily complex code... so we'll
63
- // stick to this approach for now)
64
- _this.mounted = false;
65
- return _this;
66
- }
67
- (0, _createClass2.default)(CustomItemAction, [{
68
- key: "componentDidMount",
69
- value: function componentDidMount() {
70
- this.mounted = true;
71
- }
72
- }, {
73
- key: "componentWillUnmount",
74
- value: function componentWillUnmount() {
75
- this.mounted = false;
76
- }
77
- }, {
78
- key: "render",
79
- value: function render() {
80
- var _this$props = this.props,
81
- action = _this$props.action,
82
- enabled = _this$props.enabled,
83
- item = _this$props.item,
84
- className = _this$props.className;
85
- var tool = action.render(item, enabled);
86
- var clonedTool = /*#__PURE__*/(0, _react.cloneElement)(tool, {
87
- onFocus: this.onFocus,
88
- onBlur: this.onBlur
89
- });
90
- var style = this.hasFocus() ? {
91
- opacity: 1
92
- } : undefined;
93
- return (0, _react2.jsx)("div", {
94
- style: style,
95
- className: className
96
- }, clonedTool);
97
- }
98
- }]);
99
- return CustomItemAction;
100
- }(_react.Component);
18
+ var CustomItemAction = function CustomItemAction(_ref) {
19
+ var action = _ref.action,
20
+ enabled = _ref.enabled,
21
+ item = _ref.item,
22
+ className = _ref.className;
23
+ return (0, _react2.jsx)("div", {
24
+ className: className
25
+ }, action.render(item, enabled));
26
+ };
101
27
  exports.CustomItemAction = CustomItemAction;