@elastic/eui 89.1.0 → 91.0.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 (508) 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 +114 -547
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +114 -547
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accessibility/skip_link/skip_link.js +1 -2
  8. package/es/components/accordion/accordion.js +40 -4
  9. package/es/components/accordion/accordion_children/accordion_children.js +10 -17
  10. package/es/components/basic_table/basic_table.js +60 -23
  11. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  12. package/es/components/basic_table/in_memory_table.js +18 -4
  13. package/es/components/breadcrumbs/breadcrumb.js +5 -5
  14. package/es/components/breadcrumbs/breadcrumbs.js +5 -5
  15. package/es/components/button/button.js +17 -45
  16. package/es/components/button/button_display/_button_display.js +1 -1
  17. package/es/components/button/button_empty/button_empty.js +30 -47
  18. package/es/components/button/button_group/button_group.js +8 -10
  19. package/es/components/button/button_group/button_group_button.js +8 -51
  20. package/es/components/button/button_group/button_group_button.styles.js +2 -12
  21. package/es/components/button/button_icon/button_icon.js +26 -43
  22. package/es/components/card/card.js +1 -6
  23. package/es/components/card/card_select/card_select.js +1 -6
  24. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  25. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  26. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  27. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +26 -7
  28. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  29. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  30. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  31. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  32. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +162 -0
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  35. package/es/components/collapsible_nav_beta/context.js +1 -0
  36. package/es/components/combo_box/combo_box.js +7 -5
  37. package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  38. package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  39. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  40. package/es/components/combo_box/utils.js +23 -0
  41. package/es/components/comment_list/comment_event.js +31 -19
  42. package/es/components/comment_list/comment_event.styles.js +26 -24
  43. package/es/components/context_menu/context_menu.js +28 -22
  44. package/es/components/context_menu/context_menu.styles.js +26 -0
  45. package/es/components/context_menu/context_menu_item.js +95 -125
  46. package/es/components/context_menu/context_menu_item.styles.js +82 -0
  47. package/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  48. package/es/components/context_menu/context_menu_panel.js +32 -61
  49. package/es/components/context_menu/context_menu_panel.styles.js +40 -0
  50. package/es/components/control_bar/control_bar.js +33 -28
  51. package/es/components/datagrid/body/data_grid_body.js +6 -7
  52. package/es/components/datagrid/body/data_grid_body_custom.js +6 -7
  53. package/es/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  54. package/es/components/datagrid/body/data_grid_cell.js +12 -13
  55. package/es/components/datagrid/body/data_grid_row_manager.js +28 -9
  56. package/es/components/datagrid/body/header/data_grid_header_cell.js +7 -8
  57. package/es/components/datagrid/body/header/data_grid_header_row.js +6 -7
  58. package/es/components/datagrid/controls/column_selector.js +5 -6
  59. package/es/components/datagrid/controls/column_sorting.js +6 -9
  60. package/es/components/datagrid/controls/display_selector.js +21 -16
  61. package/es/components/datagrid/data_grid.js +3 -865
  62. package/es/components/datagrid/utils/in_memory.js +6 -7
  63. package/es/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  64. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
  65. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  66. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  67. package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  68. package/es/components/facet/facet_button.js +1 -1
  69. package/es/components/filter_group/filter_group.styles.js +1 -1
  70. package/es/components/form/field_number/field_number.js +13 -9
  71. package/es/components/form/field_password/field_password.js +4 -7
  72. package/es/components/form/range/dual_range.js +110 -85
  73. package/es/components/form/range/range.js +47 -40
  74. package/es/components/form/range/range_track.js +6 -20
  75. package/es/components/form/range/utils.js +1 -2
  76. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
  77. package/es/components/header/header_links/header_link.js +1 -6
  78. package/es/components/header/header_links/header_links.js +5 -5
  79. package/es/components/header/header_section/header_section_item_button.js +1 -6
  80. package/es/components/i18n/i18n.js +1 -0
  81. package/es/components/list_group/list_group.js +1 -2
  82. package/es/components/list_group/list_group_item.js +7 -5
  83. package/es/components/list_group/list_group_item_extra_action.js +1 -2
  84. package/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  85. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  86. package/es/components/modal/confirm_modal.js +1 -1
  87. package/es/components/notification/notification_event.js +1 -6
  88. package/es/components/notification/notification_event_read_button.js +1 -2
  89. package/es/components/page/index.js +1 -4
  90. package/es/components/page/page_header/page_header_content.js +5 -5
  91. package/es/components/pagination/pagination_button.js +1 -6
  92. package/es/components/popover/input_popover.js +27 -12
  93. package/es/components/popover/popover.js +15 -27
  94. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  95. package/es/components/popover/popover_panel/_popover_panel.js +2 -6
  96. package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  97. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  98. package/es/components/tabs/tab.js +1 -1
  99. package/es/components/toast/global_toast_list.js +11 -1
  100. package/es/components/tour/tour_step.js +5 -5
  101. package/es/global_styling/mixins/_states.js +4 -1
  102. package/es/services/color/eui_palettes.js +0 -6
  103. package/es/services/color/index.js +1 -1
  104. package/es/services/hooks/useCombinedRefs.js +16 -9
  105. package/es/services/index.js +1 -2
  106. package/es/test/rtl/component_helpers.d.ts +2 -0
  107. package/es/test/rtl/component_helpers.js +40 -1
  108. package/eui.d.ts +294 -369
  109. package/i18ntokens.json +302 -248
  110. package/lib/components/accessibility/skip_link/skip_link.js +1 -2
  111. package/lib/components/accordion/accordion.js +40 -4
  112. package/lib/components/accordion/accordion_children/accordion_children.js +8 -15
  113. package/lib/components/basic_table/basic_table.js +60 -23
  114. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  115. package/lib/components/basic_table/in_memory_table.js +18 -4
  116. package/lib/components/breadcrumbs/breadcrumb.js +5 -5
  117. package/lib/components/button/button.js +24 -51
  118. package/lib/components/button/button_display/_button_display.js +1 -1
  119. package/lib/components/button/button_empty/button_empty.js +29 -46
  120. package/lib/components/button/button_group/button_group.js +7 -9
  121. package/lib/components/button/button_group/button_group_button.js +8 -51
  122. package/lib/components/button/button_group/button_group_button.styles.js +2 -12
  123. package/lib/components/button/button_icon/button_icon.js +25 -42
  124. package/lib/components/card/card.js +1 -6
  125. package/lib/components/card/card_select/card_select.js +1 -6
  126. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  127. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  128. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  129. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +25 -6
  130. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  131. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  132. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  133. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  134. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  135. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +169 -0
  136. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  137. package/lib/components/collapsible_nav_beta/context.js +1 -0
  138. package/lib/components/combo_box/combo_box.js +7 -5
  139. package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  140. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  141. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  142. package/lib/components/combo_box/utils.js +31 -0
  143. package/lib/components/comment_list/comment_event.js +33 -18
  144. package/lib/components/comment_list/comment_event.styles.js +28 -25
  145. package/lib/components/context_menu/context_menu.js +31 -24
  146. package/lib/components/context_menu/context_menu.styles.js +34 -0
  147. package/lib/components/context_menu/context_menu_item.js +102 -133
  148. package/lib/components/context_menu/context_menu_item.styles.js +87 -0
  149. package/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  150. package/lib/components/context_menu/context_menu_panel.js +35 -63
  151. package/lib/components/context_menu/context_menu_panel.styles.js +46 -0
  152. package/lib/components/control_bar/control_bar.js +28 -23
  153. package/lib/components/datagrid/body/data_grid_body.js +6 -7
  154. package/lib/components/datagrid/body/data_grid_body_custom.js +6 -7
  155. package/lib/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  156. package/lib/components/datagrid/body/data_grid_cell.js +12 -13
  157. package/lib/components/datagrid/body/data_grid_row_manager.js +33 -16
  158. package/lib/components/datagrid/body/header/data_grid_header_cell.js +7 -8
  159. package/lib/components/datagrid/body/header/data_grid_header_row.js +6 -7
  160. package/lib/components/datagrid/controls/column_selector.js +5 -6
  161. package/lib/components/datagrid/controls/column_sorting.js +5 -8
  162. package/lib/components/datagrid/controls/display_selector.js +21 -16
  163. package/lib/components/datagrid/data_grid.js +2 -864
  164. package/lib/components/datagrid/utils/in_memory.js +6 -7
  165. package/lib/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  166. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
  167. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  168. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  169. package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  170. package/lib/components/facet/facet_button.js +1 -1
  171. package/lib/components/filter_group/filter_group.styles.js +1 -1
  172. package/lib/components/form/field_number/field_number.js +12 -8
  173. package/lib/components/form/field_password/field_password.js +4 -7
  174. package/lib/components/form/range/dual_range.js +110 -85
  175. package/lib/components/form/range/range.js +47 -40
  176. package/lib/components/form/range/range_track.js +5 -19
  177. package/lib/components/form/range/utils.js +1 -2
  178. package/lib/components/header/header_links/header_link.js +1 -6
  179. package/lib/components/header/header_section/header_section_item_button.js +1 -6
  180. package/lib/components/i18n/i18n.js +1 -0
  181. package/lib/components/list_group/list_group.js +1 -2
  182. package/lib/components/list_group/list_group_item.js +7 -5
  183. package/lib/components/list_group/list_group_item_extra_action.js +1 -2
  184. package/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  185. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  186. package/lib/components/modal/confirm_modal.js +1 -1
  187. package/lib/components/notification/notification_event.js +1 -6
  188. package/lib/components/notification/notification_event_read_button.js +1 -2
  189. package/lib/components/page/index.js +1 -40
  190. package/lib/components/popover/input_popover.js +27 -12
  191. package/lib/components/popover/popover.js +29 -35
  192. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  193. package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  194. package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  195. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  196. package/lib/components/tabs/tab.js +1 -1
  197. package/lib/components/toast/global_toast_list.js +11 -1
  198. package/lib/global_styling/mixins/_states.js +4 -1
  199. package/lib/services/color/eui_palettes.js +1 -8
  200. package/lib/services/color/index.js +0 -7
  201. package/lib/services/hooks/useCombinedRefs.js +19 -10
  202. package/lib/services/index.js +0 -15
  203. package/lib/test/rtl/component_helpers.d.ts +2 -0
  204. package/lib/test/rtl/component_helpers.js +41 -3
  205. package/optimize/es/components/accordion/accordion.js +32 -4
  206. package/optimize/es/components/accordion/accordion_children/accordion_children.js +8 -16
  207. package/optimize/es/components/basic_table/basic_table.js +42 -19
  208. package/optimize/es/components/button/button.js +15 -33
  209. package/optimize/es/components/button/button_empty/button_empty.js +29 -41
  210. package/optimize/es/components/button/button_group/button_group.js +7 -8
  211. package/optimize/es/components/button/button_group/button_group_button.js +6 -38
  212. package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
  213. package/optimize/es/components/button/button_icon/button_icon.js +25 -37
  214. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  215. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  216. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  217. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  218. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +64 -0
  219. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +21 -10
  220. package/optimize/es/components/collapsible_nav_beta/context.js +1 -0
  221. package/optimize/es/components/combo_box/combo_box.js +7 -5
  222. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  223. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  224. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  225. package/optimize/es/components/combo_box/utils.js +23 -0
  226. package/optimize/es/components/comment_list/comment_event.js +31 -19
  227. package/optimize/es/components/comment_list/comment_event.styles.js +26 -24
  228. package/optimize/es/components/context_menu/context_menu.js +25 -19
  229. package/optimize/es/components/context_menu/context_menu.styles.js +26 -0
  230. package/optimize/es/components/context_menu/context_menu_item.js +94 -119
  231. package/optimize/es/components/context_menu/context_menu_item.styles.js +82 -0
  232. package/optimize/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  233. package/optimize/es/components/context_menu/context_menu_panel.js +29 -58
  234. package/optimize/es/components/context_menu/context_menu_panel.styles.js +40 -0
  235. package/optimize/es/components/control_bar/control_bar.js +28 -23
  236. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +23 -9
  237. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  238. package/optimize/es/components/datagrid/controls/column_selector.js +5 -6
  239. package/optimize/es/components/datagrid/controls/column_sorting.js +6 -9
  240. package/optimize/es/components/datagrid/controls/display_selector.js +21 -16
  241. package/optimize/es/components/datagrid/data_grid.js +3 -3
  242. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
  243. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  244. package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
  245. package/optimize/es/components/form/field_number/field_number.js +13 -9
  246. package/optimize/es/components/form/field_password/field_password.js +4 -7
  247. package/optimize/es/components/form/range/dual_range.js +110 -85
  248. package/optimize/es/components/form/range/range.js +47 -40
  249. package/optimize/es/components/form/range/range_track.js +5 -14
  250. package/optimize/es/components/form/range/utils.js +1 -2
  251. package/optimize/es/components/i18n/i18n.js +1 -0
  252. package/optimize/es/components/list_group/list_group_item.js +6 -3
  253. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  254. package/optimize/es/components/page/index.js +1 -4
  255. package/optimize/es/components/popover/input_popover.js +27 -12
  256. package/optimize/es/components/popover/popover.js +10 -22
  257. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  258. package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
  259. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  260. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  261. package/optimize/es/components/tabs/tab.js +1 -1
  262. package/optimize/es/components/toast/global_toast_list.js +1 -1
  263. package/optimize/es/global_styling/mixins/_states.js +4 -1
  264. package/optimize/es/services/color/eui_palettes.js +0 -6
  265. package/optimize/es/services/color/index.js +1 -1
  266. package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
  267. package/optimize/es/services/index.js +1 -2
  268. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  269. package/optimize/es/test/rtl/component_helpers.js +40 -1
  270. package/optimize/lib/components/accordion/accordion.js +32 -4
  271. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +6 -14
  272. package/optimize/lib/components/basic_table/basic_table.js +42 -19
  273. package/optimize/lib/components/button/button.js +16 -34
  274. package/optimize/lib/components/button/button_empty/button_empty.js +28 -40
  275. package/optimize/lib/components/button/button_group/button_group.js +6 -7
  276. package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
  277. package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
  278. package/optimize/lib/components/button/button_icon/button_icon.js +24 -36
  279. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  280. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  281. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  282. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  283. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +71 -0
  284. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +21 -10
  285. package/optimize/lib/components/collapsible_nav_beta/context.js +1 -0
  286. package/optimize/lib/components/combo_box/combo_box.js +7 -5
  287. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  288. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  289. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  290. package/optimize/lib/components/combo_box/utils.js +31 -0
  291. package/optimize/lib/components/comment_list/comment_event.js +33 -18
  292. package/optimize/lib/components/comment_list/comment_event.styles.js +28 -25
  293. package/optimize/lib/components/context_menu/context_menu.js +28 -21
  294. package/optimize/lib/components/context_menu/context_menu.styles.js +34 -0
  295. package/optimize/lib/components/context_menu/context_menu_item.js +101 -128
  296. package/optimize/lib/components/context_menu/context_menu_item.styles.js +87 -0
  297. package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  298. package/optimize/lib/components/context_menu/context_menu_panel.js +32 -60
  299. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +47 -0
  300. package/optimize/lib/components/control_bar/control_bar.js +28 -23
  301. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +23 -8
  302. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  303. package/optimize/lib/components/datagrid/controls/column_selector.js +5 -6
  304. package/optimize/lib/components/datagrid/controls/column_sorting.js +5 -8
  305. package/optimize/lib/components/datagrid/controls/display_selector.js +21 -16
  306. package/optimize/lib/components/datagrid/data_grid.js +2 -2
  307. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  308. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  309. package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
  310. package/optimize/lib/components/form/field_number/field_number.js +12 -8
  311. package/optimize/lib/components/form/field_password/field_password.js +5 -8
  312. package/optimize/lib/components/form/range/dual_range.js +110 -85
  313. package/optimize/lib/components/form/range/range.js +47 -40
  314. package/optimize/lib/components/form/range/range_track.js +4 -13
  315. package/optimize/lib/components/form/range/utils.js +1 -2
  316. package/optimize/lib/components/i18n/i18n.js +1 -0
  317. package/optimize/lib/components/list_group/list_group_item.js +6 -3
  318. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  319. package/optimize/lib/components/page/index.js +1 -40
  320. package/optimize/lib/components/popover/input_popover.js +28 -13
  321. package/optimize/lib/components/popover/popover.js +24 -35
  322. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  323. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  324. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  325. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  326. package/optimize/lib/components/tabs/tab.js +1 -1
  327. package/optimize/lib/components/toast/global_toast_list.js +1 -1
  328. package/optimize/lib/global_styling/mixins/_states.js +4 -1
  329. package/optimize/lib/services/color/eui_palettes.js +1 -8
  330. package/optimize/lib/services/color/index.js +0 -7
  331. package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
  332. package/optimize/lib/services/index.js +0 -15
  333. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  334. package/optimize/lib/test/rtl/component_helpers.js +41 -3
  335. package/package.json +14 -14
  336. package/src/components/combo_box/_combo_box.scss +46 -14
  337. package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
  338. package/src/components/combo_box/combo_box_input/_index.scss +0 -2
  339. package/src/components/datagrid/_data_grid_data_row.scss +1 -3
  340. package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
  341. package/src/components/date_picker/super_date_picker/date_popover/_date_popover_content.scss +2 -1
  342. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
  343. package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
  344. package/src/components/index.scss +0 -2
  345. package/src/global_styling/variables/_typography.scss +2 -2
  346. package/test-env/components/accessibility/skip_link/skip_link.js +1 -2
  347. package/test-env/components/accordion/accordion.js +40 -4
  348. package/test-env/components/accordion/accordion_children/accordion_children.js +8 -15
  349. package/test-env/components/basic_table/basic_table.js +60 -23
  350. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  351. package/test-env/components/basic_table/in_memory_table.js +18 -4
  352. package/test-env/components/breadcrumbs/breadcrumb.js +5 -5
  353. package/test-env/components/button/button.js +17 -40
  354. package/test-env/components/button/button_display/_button_display.js +1 -1
  355. package/test-env/components/button/button_empty/button_empty.js +29 -46
  356. package/test-env/components/button/button_group/button_group.js +7 -9
  357. package/test-env/components/button/button_group/button_group_button.js +8 -51
  358. package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
  359. package/test-env/components/button/button_icon/button_icon.js +25 -42
  360. package/test-env/components/card/card.js +1 -6
  361. package/test-env/components/card/card_select/card_select.js +1 -6
  362. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  363. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  364. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  365. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +25 -6
  366. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  367. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  368. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  369. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  370. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  371. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +168 -0
  372. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  373. package/test-env/components/collapsible_nav_beta/context.js +1 -0
  374. package/test-env/components/combo_box/combo_box.js +7 -5
  375. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  376. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  377. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  378. package/test-env/components/combo_box/utils.js +31 -0
  379. package/test-env/components/comment_list/comment_event.js +33 -18
  380. package/test-env/components/comment_list/comment_event.styles.js +28 -25
  381. package/test-env/components/context_menu/context_menu.js +31 -24
  382. package/test-env/components/context_menu/context_menu.styles.js +34 -0
  383. package/test-env/components/context_menu/context_menu_item.js +102 -129
  384. package/test-env/components/context_menu/context_menu_item.styles.js +87 -0
  385. package/test-env/components/context_menu/context_menu_panel.a11y.js +4 -2
  386. package/test-env/components/context_menu/context_menu_panel.js +35 -63
  387. package/test-env/components/context_menu/context_menu_panel.styles.js +47 -0
  388. package/test-env/components/control_bar/control_bar.js +28 -23
  389. package/test-env/components/datagrid/body/data_grid_body.js +6 -7
  390. package/test-env/components/datagrid/body/data_grid_body_custom.js +6 -7
  391. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  392. package/test-env/components/datagrid/body/data_grid_cell.js +12 -13
  393. package/test-env/components/datagrid/body/data_grid_row_manager.js +23 -8
  394. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +7 -8
  395. package/test-env/components/datagrid/body/header/data_grid_header_row.js +6 -7
  396. package/test-env/components/datagrid/controls/column_selector.js +5 -6
  397. package/test-env/components/datagrid/controls/column_sorting.js +5 -8
  398. package/test-env/components/datagrid/controls/display_selector.js +21 -16
  399. package/test-env/components/datagrid/data_grid.js +2 -864
  400. package/test-env/components/datagrid/utils/in_memory.js +6 -7
  401. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  402. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  403. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  404. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  405. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  406. package/test-env/components/facet/facet_button.js +1 -1
  407. package/test-env/components/filter_group/filter_group.styles.js +1 -1
  408. package/test-env/components/form/field_number/field_number.js +12 -8
  409. package/test-env/components/form/field_password/field_password.js +4 -7
  410. package/test-env/components/form/range/dual_range.js +110 -85
  411. package/test-env/components/form/range/range.js +47 -40
  412. package/test-env/components/form/range/range_track.js +5 -14
  413. package/test-env/components/form/range/utils.js +1 -2
  414. package/test-env/components/header/header_links/header_link.js +1 -6
  415. package/test-env/components/header/header_section/header_section_item_button.js +1 -6
  416. package/test-env/components/i18n/i18n.js +1 -0
  417. package/test-env/components/list_group/list_group.js +1 -2
  418. package/test-env/components/list_group/list_group_item.js +7 -5
  419. package/test-env/components/list_group/list_group_item_extra_action.js +1 -2
  420. package/test-env/components/list_group/list_group_item_extra_action.styles.js +1 -1
  421. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  422. package/test-env/components/modal/confirm_modal.js +1 -1
  423. package/test-env/components/notification/notification_event.js +1 -6
  424. package/test-env/components/notification/notification_event_read_button.js +1 -2
  425. package/test-env/components/page/index.js +1 -40
  426. package/test-env/components/popover/input_popover.js +27 -12
  427. package/test-env/components/popover/popover.js +29 -35
  428. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  429. package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
  430. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  431. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  432. package/test-env/components/tabs/tab.js +1 -1
  433. package/test-env/components/toast/global_toast_list.js +11 -1
  434. package/test-env/global_styling/mixins/_states.js +4 -1
  435. package/test-env/services/color/eui_palettes.js +1 -8
  436. package/test-env/services/color/index.js +0 -7
  437. package/test-env/services/hooks/useCombinedRefs.js +19 -10
  438. package/test-env/services/index.js +0 -15
  439. package/test-env/test/rtl/component_helpers.js +41 -3
  440. package/es/components/page/page_content/index.js +0 -12
  441. package/es/components/page/page_content/page_content.js +0 -110
  442. package/es/components/page/page_content/page_content_body.js +0 -69
  443. package/es/components/page/page_content/page_content_header.js +0 -43
  444. package/es/components/page/page_content/page_content_header_section.js +0 -34
  445. package/es/components/page/page_side_bar/index.js +0 -9
  446. package/es/components/page/page_side_bar/page_side_bar.js +0 -60
  447. package/es/components/page/page_template.js +0 -591
  448. package/es/services/random.js +0 -94
  449. package/es/services/utils.js +0 -25
  450. package/es/test/patch_random.js +0 -18
  451. package/lib/components/page/page_content/index.js +0 -33
  452. package/lib/components/page/page_content/page_content.js +0 -117
  453. package/lib/components/page/page_content/page_content_body.js +0 -77
  454. package/lib/components/page/page_content/page_content_header.js +0 -50
  455. package/lib/components/page/page_content/page_content_header_section.js +0 -41
  456. package/lib/components/page/page_side_bar/index.js +0 -12
  457. package/lib/components/page/page_side_bar/page_side_bar.js +0 -67
  458. package/lib/components/page/page_template.js +0 -598
  459. package/lib/services/random.js +0 -100
  460. package/lib/services/utils.js +0 -35
  461. package/lib/test/patch_random.js +0 -25
  462. package/optimize/es/components/page/page_content/index.js +0 -12
  463. package/optimize/es/components/page/page_content/page_content.js +0 -45
  464. package/optimize/es/components/page/page_content/page_content_body.js +0 -45
  465. package/optimize/es/components/page/page_content/page_content_header.js +0 -30
  466. package/optimize/es/components/page/page_content/page_content_header_section.js +0 -26
  467. package/optimize/es/components/page/page_side_bar/index.js +0 -9
  468. package/optimize/es/components/page/page_side_bar/page_side_bar.js +0 -44
  469. package/optimize/es/components/page/page_template.js +0 -325
  470. package/optimize/es/services/random.js +0 -85
  471. package/optimize/es/services/utils.js +0 -25
  472. package/optimize/es/test/patch_random.js +0 -18
  473. package/optimize/lib/components/page/page_content/index.js +0 -33
  474. package/optimize/lib/components/page/page_content/page_content.js +0 -52
  475. package/optimize/lib/components/page/page_content/page_content_body.js +0 -53
  476. package/optimize/lib/components/page/page_content/page_content_header.js +0 -37
  477. package/optimize/lib/components/page/page_content/page_content_header_section.js +0 -33
  478. package/optimize/lib/components/page/page_side_bar/index.js +0 -12
  479. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +0 -51
  480. package/optimize/lib/components/page/page_template.js +0 -332
  481. package/optimize/lib/services/random.js +0 -91
  482. package/optimize/lib/services/utils.js +0 -35
  483. package/optimize/lib/test/patch_random.js +0 -25
  484. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
  485. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
  486. package/src/components/context_menu/_context_menu.scss +0 -27
  487. package/src/components/context_menu/_context_menu_item.scss +0 -65
  488. package/src/components/context_menu/_context_menu_panel.scss +0 -101
  489. package/src/components/context_menu/_index.scss +0 -3
  490. package/src/components/page/_index.scss +0 -2
  491. package/src/components/page/page_content/_index.scss +0 -4
  492. package/src/components/page/page_content/_page_content.scss +0 -25
  493. package/src/components/page/page_content/_page_content_body.scss +0 -19
  494. package/src/components/page/page_content/_page_content_header.scss +0 -20
  495. package/src/components/page/page_content/_page_content_header_section.scss +0 -17
  496. package/src/components/page/page_side_bar/_index.scss +0 -1
  497. package/src/components/page/page_side_bar/_page_side_bar.scss +0 -31
  498. package/test-env/components/page/page_content/index.js +0 -33
  499. package/test-env/components/page/page_content/page_content.js +0 -116
  500. package/test-env/components/page/page_content/page_content_body.js +0 -73
  501. package/test-env/components/page/page_content/page_content_header.js +0 -49
  502. package/test-env/components/page/page_content/page_content_header_section.js +0 -40
  503. package/test-env/components/page/page_side_bar/index.js +0 -12
  504. package/test-env/components/page/page_side_bar/page_side_bar.js +0 -66
  505. package/test-env/components/page/page_template.js +0 -594
  506. package/test-env/services/random.js +0 -91
  507. package/test-env/services/utils.js +0 -35
  508. package/test-env/test/patch_random.js +0 -25
@@ -131,9 +131,8 @@ EuiSkipLink.propTypes = {
131
131
  fill: PropTypes.bool,
132
132
  /**
133
133
  * Any of the named color palette options.
134
- * **`'ghost'` is set for deprecation. Use EuiThemeProvide.colorMode = 'dark' instead.**
135
134
  */
136
- color: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf(["ghost"])]),
135
+ color: PropTypes.any,
137
136
  /**
138
137
  * Use size `s` in confined spaces
139
138
  */
@@ -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; }
@@ -51,7 +51,19 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
51
51
  var forceState = _this.props.forceState;
52
52
  if (forceState) {
53
53
  var _this$props$onToggle, _this$props;
54
- (_this$props$onToggle = (_this$props = _this.props).onToggle) === null || _this$props$onToggle === void 0 ? void 0 : _this$props$onToggle.call(_this$props, forceState === 'open' ? false : true);
54
+ var nextState = !_this.isOpen;
55
+ (_this$props$onToggle = (_this$props = _this.props).onToggle) === null || _this$props$onToggle === void 0 ? void 0 : _this$props$onToggle.call(_this$props, nextState);
56
+
57
+ // If the accordion should theoretically be opened, wait a tick (allows
58
+ // consumer state to update) and attempt to focus the child content.
59
+ // NOTE: Even if the accordion does not actually open, this is fine -
60
+ // the `inert` property on the hidden children will prevent focus
61
+ if (nextState === true) {
62
+ requestAnimationFrame(function () {
63
+ var _this$accordionChildr;
64
+ (_this$accordionChildr = _this.accordionChildrenEl) === null || _this$accordionChildr === void 0 ? void 0 : _this$accordionChildr.focus();
65
+ });
66
+ }
55
67
  } else {
56
68
  _this.setState(function (prevState) {
57
69
  return {
@@ -60,9 +72,21 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
60
72
  }, function () {
61
73
  var _this$props$onToggle2, _this$props2;
62
74
  (_this$props$onToggle2 = (_this$props2 = _this.props).onToggle) === null || _this$props$onToggle2 === void 0 ? void 0 : _this$props$onToggle2.call(_this$props2, _this.state.isOpen);
75
+
76
+ // If the accordion is open, programmatically move focus
77
+ // from the accordion trigger to the child content
78
+ if (_this.state.isOpen) {
79
+ var _this$accordionChildr2;
80
+ (_this$accordionChildr2 = _this.accordionChildrenEl) === null || _this$accordionChildr2 === void 0 ? void 0 : _this$accordionChildr2.focus();
81
+ }
63
82
  });
64
83
  }
65
84
  });
85
+ // Used to focus the accordion children on user trigger click only (vs controlled/programmatic open)
86
+ _defineProperty(_assertThisInitialized(_this), "accordionChildrenEl", null);
87
+ _defineProperty(_assertThisInitialized(_this), "accordionChildrenRef", function (node) {
88
+ _this.accordionChildrenEl = node;
89
+ });
66
90
  _defineProperty(_assertThisInitialized(_this), "generatedId", htmlIdGenerator()());
67
91
  return _this;
68
92
  }
@@ -79,6 +103,7 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
79
103
  children = _this$props3.children,
80
104
  className = _this$props3.className,
81
105
  id = _this$props3.id,
106
+ role = _this$props3.role,
82
107
  _this$props3$element = _this$props3.element,
83
108
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
84
109
  buttonElement = _this$props3.buttonElement,
@@ -124,12 +149,14 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
124
149
  onToggle: this.onToggle,
125
150
  extraAction: isLoading ? ___EmotionJSX(EuiLoadingSpinner, null) : extraAction
126
151
  }), ___EmotionJSX(EuiAccordionChildren, {
152
+ role: role,
127
153
  id: id,
128
154
  "aria-labelledby": buttonId,
129
155
  paddingSize: paddingSize,
130
156
  isLoading: isLoading,
131
157
  isLoadingMessage: isLoadingMessage,
132
- isOpen: this.isOpen
158
+ isOpen: this.isOpen,
159
+ accordionChildrenRef: this.accordionChildrenRef
133
160
  }, children));
134
161
  }
135
162
  }]);
@@ -144,7 +171,8 @@ _defineProperty(EuiAccordionClass, "defaultProps", {
144
171
  isDisabled: false,
145
172
  isLoadingMessage: false,
146
173
  element: 'div',
147
- buttonElement: 'button'
174
+ buttonElement: 'button',
175
+ role: 'group'
148
176
  });
149
177
  EuiAccordionClass.propTypes = {
150
178
  className: PropTypes.string,
@@ -157,6 +185,14 @@ EuiAccordionClass.propTypes = {
157
185
  * When using `fieldset`, it will enforce `buttonElement = legend` as well.
158
186
  */
159
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,
160
196
  /**
161
197
  * Class that will apply to the trigger for the accordion.
162
198
  */
@@ -1,4 +1,4 @@
1
- var _excluded = ["children", "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."); }
@@ -16,16 +16,18 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
16
16
  * Side Public License, v 1.
17
17
  */
18
18
 
19
- import React, { useRef, useCallback, useMemo, useState } from 'react';
19
+ import React, { useCallback, useMemo, useState } from 'react';
20
20
  import PropTypes from "prop-types";
21
21
  import classNames from 'classnames';
22
- import { useEuiTheme, useUpdateEffect } from '../../../services';
22
+ import { useEuiTheme } from '../../../services';
23
23
  import { EuiResizeObserver } from '../../observer/resize_observer';
24
24
  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,
30
+ accordionChildrenRef = _ref.accordionChildrenRef,
29
31
  paddingSize = _ref.paddingSize,
30
32
  isLoading = _ref.isLoading,
31
33
  isLoadingMessage = _ref.isLoadingMessage,
@@ -46,7 +48,6 @@ export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
46
48
  */
47
49
  var wrapperStyles = euiAccordionChildWrapperStyles(euiTheme);
48
50
  var wrapperCssStyles = [wrapperStyles.euiAccordion__childWrapper, isOpen ? wrapperStyles.isOpen : wrapperStyles.isClosed];
49
- var wrapperRef = useRef(null);
50
51
 
51
52
  /**
52
53
  * Update the accordion wrapper height whenever the accordion opens, and also
@@ -65,21 +66,12 @@ export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
65
66
  blockSize: isOpen ? contentHeight : 0
66
67
  };
67
68
  }, [isOpen, contentHeight]);
68
-
69
- /**
70
- * Focus the children wrapper when the accordion is opened,
71
- * but not if the accordion is initially open on mount
72
- */
73
- useUpdateEffect(function () {
74
- var _wrapperRef$current;
75
- if (isOpen) (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.focus();
76
- }, [isOpen]);
77
69
  return ___EmotionJSX("div", _extends({}, rest, {
78
70
  className: "euiAccordion__childWrapper",
79
71
  css: wrapperCssStyles,
80
72
  style: heightInlineStyle,
81
- ref: wrapperRef,
82
- role: "region",
73
+ ref: accordionChildrenRef,
74
+ role: role,
83
75
  tabIndex: -1
84
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
85
77
  ,
@@ -97,5 +89,6 @@ export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
97
89
  }));
98
90
  };
99
91
  EuiAccordionChildren.propTypes = {
100
- isOpen: PropTypes.bool.isRequired
92
+ isOpen: PropTypes.bool.isRequired,
93
+ accordionChildrenRef: PropTypes.any.isRequired
101
94
  };
@@ -230,18 +230,27 @@ export var EuiBasicTable = /*#__PURE__*/function (_Component) {
230
230
  var _ref5, _this$props$paginatio, _this$props$paginatio2, _this$context$EuiTabl;
231
231
  return (_ref5 = (_this$props$paginatio = (_this$props$paginatio2 = this.props.pagination) === null || _this$props$paginatio2 === void 0 ? void 0 : _this$props$paginatio2.pageSize) !== null && _this$props$paginatio !== void 0 ? _this$props$paginatio : (_this$context$EuiTabl = this.context.EuiTablePagination) === null || _this$context$EuiTabl === void 0 ? void 0 : _this$context$EuiTabl.itemsPerPage) !== null && _ref5 !== void 0 ? _ref5 : euiTablePaginationDefaults.itemsPerPage;
232
232
  }
233
+ }, {
234
+ key: "isSelectionControlled",
235
+ get: function get() {
236
+ var _this$props$selection;
237
+ return !!((_this$props$selection = this.props.selection) !== null && _this$props$selection !== void 0 && _this$props$selection.selected);
238
+ }
233
239
  }, {
234
240
  key: "getInitialSelection",
235
241
  value: function getInitialSelection() {
242
+ if (this.isSelectionControlled) return;
236
243
  if (this.props.selection && this.props.selection.initialSelected && !this.state.initialSelectionRendered && this.props.items.length > 0) {
237
244
  this.setState({
238
- selection: this.props.selection.initialSelected
239
- });
240
- this.setState({
245
+ selection: this.props.selection.initialSelected,
241
246
  initialSelectionRendered: true
242
247
  });
243
248
  }
244
249
  }
250
+
251
+ /**
252
+ * @deprecated Use `selection.selected` instead to declaratively control table selection
253
+ */
245
254
  }, {
246
255
  key: "setSelection",
247
256
  value: function setSelection(newSelection) {
@@ -264,15 +273,15 @@ export var EuiBasicTable = /*#__PURE__*/function (_Component) {
264
273
  }
265
274
  }, {
266
275
  key: "changeSelection",
267
- value: function changeSelection(selection) {
268
- if (!this.props.selection) {
269
- return;
270
- }
271
- this.setState({
272
- selection: selection
273
- });
274
- if (this.props.selection.onSelectionChange) {
275
- this.props.selection.onSelectionChange(selection);
276
+ value: function changeSelection(changedSelection) {
277
+ var _selection$onSelectio;
278
+ var selection = this.props.selection;
279
+ if (!selection) return;
280
+ (_selection$onSelectio = selection.onSelectionChange) === null || _selection$onSelectio === void 0 ? void 0 : _selection$onSelectio.call(selection, changedSelection);
281
+ if (!this.isSelectionControlled) {
282
+ this.setState({
283
+ selection: changedSelection
284
+ });
276
285
  }
277
286
  }
278
287
  }, {
@@ -960,16 +969,30 @@ export var EuiBasicTable = /*#__PURE__*/function (_Component) {
960
969
  selection: []
961
970
  };
962
971
  }
963
- var itemId = nextProps.itemId;
964
- var selection = prevState.selection.filter(function (selectedItem) {
965
- return nextProps.items.findIndex(function (item) {
972
+ var controlledSelection = nextProps.selection.selected;
973
+ var unfilteredSelection = controlledSelection !== null && controlledSelection !== void 0 ? controlledSelection : prevState.selection;
974
+
975
+ // Ensure we're not including selections that aren't in the
976
+ // current `items` array (affected by pagination)
977
+ var itemId = nextProps.itemId,
978
+ items = nextProps.items;
979
+ var selection = unfilteredSelection.filter(function (selectedItem) {
980
+ return items.findIndex(function (item) {
966
981
  return getItemId(item, itemId) === getItemId(selectedItem, itemId);
967
982
  }) !== -1;
968
983
  });
969
- if (selection.length !== prevState.selection.length) {
970
- if (nextProps.selection.onSelectionChange) {
971
- nextProps.selection.onSelectionChange(selection);
972
- }
984
+
985
+ // If some selected items were filtered out, update state and callback
986
+ if (selection.length !== unfilteredSelection.length) {
987
+ var _nextProps$selection$, _nextProps$selection;
988
+ (_nextProps$selection$ = (_nextProps$selection = nextProps.selection).onSelectionChange) === null || _nextProps$selection$ === void 0 ? void 0 : _nextProps$selection$.call(_nextProps$selection, selection);
989
+ return {
990
+ selection: selection
991
+ };
992
+ }
993
+
994
+ // Always update selection state from props if controlled
995
+ if (controlledSelection) {
973
996
  return {
974
997
  selection: selection
975
998
  };
@@ -1140,7 +1163,7 @@ EuiBasicTable.propTypes = {
1140
1163
  /**
1141
1164
  * Defines the color of the button
1142
1165
  */
1143
- color: PropTypes.oneOfType([PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf(["ghost"])]).isRequired, PropTypes.func.isRequired]),
1166
+ color: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.func.isRequired]),
1144
1167
  /**
1145
1168
  * The display name of the action (will be the button caption)
1146
1169
  */
@@ -1309,7 +1332,9 @@ EuiBasicTable.propTypes = {
1309
1332
  */
1310
1333
  selection: PropTypes.shape({
1311
1334
  /**
1312
- * A callback that will be called whenever the item selection changes
1335
+ * A callback that will be called whenever the item selection changes.
1336
+ *
1337
+ * Required if `selected` is passed.
1313
1338
  */
1314
1339
  onSelectionChange: PropTypes.func,
1315
1340
  /**
@@ -1317,10 +1342,22 @@ EuiBasicTable.propTypes = {
1317
1342
  */
1318
1343
  selectable: PropTypes.func,
1319
1344
  /**
1320
- * A callback that is called per item to retrieve a message for its selectable state.We display these messages as a tooltip on an unselectable checkbox
1345
+ * A callback that is called per item to retrieve a message for its selectable state.
1346
+ * We display these messages as a tooltip on an unselectable checkbox
1321
1347
  */
1322
1348
  selectableMessage: PropTypes.func,
1323
- initialSelected: PropTypes.arrayOf(PropTypes.any.isRequired)
1349
+ /**
1350
+ * Sets initially selected items. Use for uncontrolled selection behavior (checkbox
1351
+ * will only change from user input, and not from developer control).
1352
+ *
1353
+ * This prop will be ignored if `selected` is passed.
1354
+ */
1355
+ initialSelected: PropTypes.arrayOf(PropTypes.any.isRequired),
1356
+ /**
1357
+ * Used for controlled selection behavior, e.g. when you want to programmatically
1358
+ * control which selection checkboxes are checked, and which are not.
1359
+ */
1360
+ selected: PropTypes.arrayOf(PropTypes.any.isRequired)
1324
1361
  }),
1325
1362
  /**
1326
1363
  * Configures #EuiTableSortingType
@@ -200,7 +200,7 @@ CollapsedItemActions.propTypes = {
200
200
  /**
201
201
  * Defines the color of the button
202
202
  */
203
- color: PropTypes.oneOfType([PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf(["ghost"])]).isRequired, PropTypes.func.isRequired]),
203
+ color: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.func.isRequired]),
204
204
  /**
205
205
  * The display name of the action (will be the button caption)
206
206
  */
@@ -682,7 +682,7 @@ EuiInMemoryTable.propTypes = {
682
682
  /**
683
683
  * Defines the color of the button
684
684
  */
685
- color: PropTypes.oneOfType([PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf(["ghost"])]).isRequired, PropTypes.func.isRequired]),
685
+ color: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.func.isRequired]),
686
686
  /**
687
687
  * The display name of the action (will be the button caption)
688
688
  */
@@ -807,7 +807,9 @@ EuiInMemoryTable.propTypes = {
807
807
  */
808
808
  selection: PropTypes.shape({
809
809
  /**
810
- * A callback that will be called whenever the item selection changes
810
+ * A callback that will be called whenever the item selection changes.
811
+ *
812
+ * Required if `selected` is passed.
811
813
  */
812
814
  onSelectionChange: PropTypes.func,
813
815
  /**
@@ -815,10 +817,22 @@ EuiInMemoryTable.propTypes = {
815
817
  */
816
818
  selectable: PropTypes.func,
817
819
  /**
818
- * A callback that is called per item to retrieve a message for its selectable state.We display these messages as a tooltip on an unselectable checkbox
820
+ * A callback that is called per item to retrieve a message for its selectable state.
821
+ * We display these messages as a tooltip on an unselectable checkbox
819
822
  */
820
823
  selectableMessage: PropTypes.func,
821
- initialSelected: PropTypes.arrayOf(PropTypes.any.isRequired)
824
+ /**
825
+ * Sets initially selected items. Use for uncontrolled selection behavior (checkbox
826
+ * will only change from user input, and not from developer control).
827
+ *
828
+ * This prop will be ignored if `selected` is passed.
829
+ */
830
+ initialSelected: PropTypes.arrayOf(PropTypes.any.isRequired),
831
+ /**
832
+ * Used for controlled selection behavior, e.g. when you want to programmatically
833
+ * control which selection checkboxes are checked, and which are not.
834
+ */
835
+ selected: PropTypes.arrayOf(PropTypes.any.isRequired)
822
836
  }),
823
837
  /**
824
838
  * Sets the table-layout CSS property. Note that auto tableLayout prevents truncateText from working properly.
@@ -178,6 +178,8 @@ EuiBreadcrumbContent.propTypes = {
178
178
  popoverProps: PropTypes.shape({
179
179
  /**
180
180
  * Class name passed to the direct parent of the button
181
+ *
182
+ * @deprecated Use `className` instead
181
183
  */
182
184
  anchorClassName: PropTypes.string,
183
185
  /**
@@ -189,6 +191,9 @@ EuiBreadcrumbContent.propTypes = {
189
191
  * Intended for use with inputs as anchors, e.g. EuiInputPopover
190
192
  */
191
193
  attachToAnchor: PropTypes.bool,
194
+ /**
195
+ * @deprecated Use `popoverRef` instead
196
+ */
192
197
  buttonRef: PropTypes.any,
193
198
  /**
194
199
  * Restrict the popover's position within this element
@@ -257,11 +262,6 @@ EuiBreadcrumbContent.propTypes = {
257
262
  */
258
263
  grow: PropTypes.bool,
259
264
  panelRef: PropTypes.any,
260
- /**
261
- * Background color of the panel;
262
- * Usually a lightened form of the brand colors
263
- */
264
- color: PropTypes.any,
265
265
  className: PropTypes.string,
266
266
  "aria-label": PropTypes.string,
267
267
  "data-test-subj": PropTypes.string,
@@ -153,6 +153,8 @@ EuiBreadcrumbs.propTypes = {
153
153
  popoverProps: PropTypes.shape({
154
154
  /**
155
155
  * Class name passed to the direct parent of the button
156
+ *
157
+ * @deprecated Use `className` instead
156
158
  */
157
159
  anchorClassName: PropTypes.string,
158
160
  /**
@@ -164,6 +166,9 @@ EuiBreadcrumbs.propTypes = {
164
166
  * Intended for use with inputs as anchors, e.g. EuiInputPopover
165
167
  */
166
168
  attachToAnchor: PropTypes.bool,
169
+ /**
170
+ * @deprecated Use `popoverRef` instead
171
+ */
167
172
  buttonRef: PropTypes.any,
168
173
  /**
169
174
  * Restrict the popover's position within this element
@@ -232,11 +237,6 @@ EuiBreadcrumbs.propTypes = {
232
237
  */
233
238
  grow: PropTypes.bool,
234
239
  panelRef: PropTypes.any,
235
- /**
236
- * Background color of the panel;
237
- * Usually a lightened form of the brand colors
238
- */
239
- color: PropTypes.any,
240
240
  className: PropTypes.string,
241
241
  "aria-label": PropTypes.string,
242
242
  "data-test-subj": PropTypes.string,
@@ -1,14 +1,7 @@
1
- var _excluded = ["className", "buttonRef", "color", "fill"];
1
+ var _excluded = ["className", "buttonRef", "size", "color", "fill"];
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 _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; }
4
4
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
6
- import PropTypes from "prop-types";
7
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
- 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); }
9
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
10
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
11
- 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; }
12
5
  /*
13
6
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
7
  * or more contributor license agreements. Licensed under the Elastic License
@@ -18,51 +11,42 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
18
11
  */
19
12
 
20
13
  import React from 'react';
14
+ import PropTypes from "prop-types";
21
15
  import classNames from 'classnames';
22
16
  import { BUTTON_COLORS, useEuiButtonColorCSS, useEuiButtonFocusCSS } from '../../themes/amsterdam/global_styling/mixins/button';
23
17
  import { EuiButtonDisplay, isButtonDisabled } from './button_display/_button_display';
24
- import { EuiThemeProvider } from '../../services';
25
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
26
- export var COLORS = [].concat(_toConsumableArray(BUTTON_COLORS), ['ghost']);
19
+ export var COLORS = BUTTON_COLORS;
27
20
  export var SIZES = ['s', 'm'];
28
21
  /**
29
22
  * EuiButton is largely responsible for providing relevant props
30
23
  * and the logic for element-specific attributes
31
24
  */
32
- export var EuiButton = function EuiButton(props) {
33
- var className = props.className,
34
- buttonRef = props.buttonRef,
35
- _props$color = props.color,
36
- _color = _props$color === void 0 ? 'primary' : _props$color,
37
- fill = props.fill,
38
- rest = _objectWithoutProperties(props, _excluded);
39
- var buttonIsDisabled = isButtonDisabled({
25
+ export var EuiButton = function EuiButton(_ref) {
26
+ var className = _ref.className,
27
+ buttonRef = _ref.buttonRef,
28
+ _ref$size = _ref.size,
29
+ size = _ref$size === void 0 ? 'm' : _ref$size,
30
+ _ref$color = _ref.color,
31
+ color = _ref$color === void 0 ? 'primary' : _ref$color,
32
+ fill = _ref.fill,
33
+ rest = _objectWithoutProperties(_ref, _excluded);
34
+ var isDisabled = isButtonDisabled({
40
35
  href: rest.href,
41
36
  isDisabled: rest.isDisabled || rest.disabled,
42
37
  isLoading: rest.isLoading
43
38
  });
44
- var color = buttonIsDisabled ? 'disabled' : _color;
45
39
  var buttonColorStyles = useEuiButtonColorCSS({
46
40
  display: fill ? 'fill' : 'base'
47
- })[color === 'ghost' ? 'text' : color];
41
+ })[isDisabled ? 'disabled' : color];
48
42
  var buttonFocusStyle = useEuiButtonFocusCSS();
49
43
  var classes = classNames('euiButton', className);
50
44
  var cssStyles = [buttonColorStyles, buttonFocusStyle];
51
- if (_color === 'ghost') {
52
- // INCEPTION: If `ghost`, re-implement with a wrapping dark mode theme provider
53
- return ___EmotionJSX(EuiThemeProvider, {
54
- colorMode: "dark",
55
- wrapperProps: {
56
- cloneElement: true
57
- }
58
- }, ___EmotionJSX(EuiButton, _extends({}, props, {
59
- color: "text"
60
- })));
61
- }
62
45
  return ___EmotionJSX(EuiButtonDisplay, _extends({
63
46
  className: classes,
64
47
  css: cssStyles,
65
- ref: buttonRef
48
+ ref: buttonRef,
49
+ size: size
66
50
  }, rest));
67
51
  };
68
52
  EuiButton.propTypes = {
@@ -78,13 +62,8 @@ EuiButton.propTypes = {
78
62
  fill: PropTypes.bool,
79
63
  /**
80
64
  * Any of the named color palette options.
81
- * **`'ghost'` is set for deprecation. Use EuiThemeProvide.colorMode = 'dark' instead.**
82
65
  */
83
- /**
84
- * Any of the named color palette options.
85
- * **`'ghost'` is set for deprecation. Use EuiThemeProvide.colorMode = 'dark' instead.**
86
- */
87
- color: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.oneOf(["ghost"])]),
66
+ color: PropTypes.any,
88
67
  /**
89
68
  * Use size `s` in confined spaces
90
69
  */
@@ -104,11 +83,4 @@ EuiButton.propTypes = {
104
83
  "data-test-subj": PropTypes.string,
105
84
  css: PropTypes.any,
106
85
  buttonRef: PropTypes.any
107
- };
108
- EuiButton.displayName = 'EuiButton';
109
-
110
- // Use defaultProps for simple pass-through props
111
- EuiButton.defaultProps = {
112
- size: 'm',
113
- color: 'primary'
114
86
  };
@@ -118,7 +118,7 @@ export var EuiButtonDisplay = /*#__PURE__*/forwardRef(function (_ref2, ref) {
118
118
  EuiButtonDisplay.propTypes = {
119
119
  href: PropTypes.string,
120
120
  onClick: PropTypes.func,
121
- element: PropTypes.oneOf(["a", "button", "span", "label"]),
121
+ element: PropTypes.oneOf(["a", "button", "span"]),
122
122
  children: PropTypes.node,
123
123
  size: PropTypes.any,
124
124
  /**