@elastic/eui 89.1.0 → 90.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 (314) hide show
  1. package/dist/eui_theme_dark.css +2 -467
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +2 -467
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accessibility/skip_link/skip_link.js +1 -2
  6. package/es/components/accordion/accordion.js +27 -2
  7. package/es/components/accordion/accordion_children/accordion_children.js +7 -15
  8. package/es/components/basic_table/basic_table.js +60 -23
  9. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  10. package/es/components/basic_table/in_memory_table.js +18 -4
  11. package/es/components/button/button.js +17 -45
  12. package/es/components/button/button_empty/button_empty.js +30 -47
  13. package/es/components/button/button_icon/button_icon.js +26 -43
  14. package/es/components/card/card.js +1 -6
  15. package/es/components/card/card_select/card_select.js +1 -6
  16. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  17. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  18. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +18 -4
  19. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  20. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  21. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  22. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  23. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  24. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +158 -0
  25. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  26. package/es/components/collapsible_nav_beta/context.js +1 -0
  27. package/es/components/comment_list/comment_event.js +31 -19
  28. package/es/components/comment_list/comment_event.styles.js +26 -24
  29. package/es/components/context_menu/context_menu.js +28 -22
  30. package/es/components/context_menu/context_menu.styles.js +26 -0
  31. package/es/components/context_menu/context_menu_item.js +95 -125
  32. package/es/components/context_menu/context_menu_item.styles.js +82 -0
  33. package/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  34. package/es/components/context_menu/context_menu_panel.js +32 -61
  35. package/es/components/context_menu/context_menu_panel.styles.js +40 -0
  36. package/es/components/control_bar/control_bar.js +28 -23
  37. package/es/components/datagrid/body/data_grid_body.js +6 -7
  38. package/es/components/datagrid/body/data_grid_body_custom.js +6 -7
  39. package/es/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  40. package/es/components/datagrid/body/data_grid_cell.js +12 -13
  41. package/es/components/datagrid/body/data_grid_row_manager.js +28 -9
  42. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  43. package/es/components/datagrid/body/header/data_grid_header_row.js +6 -7
  44. package/es/components/datagrid/data_grid.js +6 -7
  45. package/es/components/datagrid/utils/in_memory.js +6 -7
  46. package/es/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  47. package/es/components/form/field_number/field_number.js +13 -9
  48. package/es/components/form/field_password/field_password.js +4 -7
  49. package/es/components/form/range/dual_range.js +110 -85
  50. package/es/components/form/range/range.js +47 -40
  51. package/es/components/form/range/range_track.js +6 -20
  52. package/es/components/form/range/utils.js +1 -2
  53. package/es/components/header/header_links/header_link.js +1 -6
  54. package/es/components/header/header_section/header_section_item_button.js +1 -6
  55. package/es/components/list_group/list_group.js +1 -2
  56. package/es/components/list_group/list_group_item.js +7 -5
  57. package/es/components/list_group/list_group_item_extra_action.js +1 -2
  58. package/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  59. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  60. package/es/components/modal/confirm_modal.js +1 -1
  61. package/es/components/notification/notification_event.js +1 -6
  62. package/es/components/notification/notification_event_read_button.js +1 -2
  63. package/es/components/page/index.js +1 -4
  64. package/es/components/pagination/pagination_button.js +1 -6
  65. package/es/components/popover/input_popover.js +26 -11
  66. package/es/components/tabs/tab.js +1 -1
  67. package/eui.d.ts +198 -287
  68. package/i18ntokens.json +103 -67
  69. package/lib/components/accessibility/skip_link/skip_link.js +1 -2
  70. package/lib/components/accordion/accordion.js +27 -2
  71. package/lib/components/accordion/accordion_children/accordion_children.js +5 -13
  72. package/lib/components/basic_table/basic_table.js +60 -23
  73. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  74. package/lib/components/basic_table/in_memory_table.js +18 -4
  75. package/lib/components/button/button.js +24 -51
  76. package/lib/components/button/button_empty/button_empty.js +29 -46
  77. package/lib/components/button/button_icon/button_icon.js +25 -42
  78. package/lib/components/card/card.js +1 -6
  79. package/lib/components/card/card_select/card_select.js +1 -6
  80. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  81. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  82. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +18 -4
  83. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  84. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  85. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  86. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  87. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  88. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +165 -0
  89. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  90. package/lib/components/collapsible_nav_beta/context.js +1 -0
  91. package/lib/components/comment_list/comment_event.js +33 -18
  92. package/lib/components/comment_list/comment_event.styles.js +28 -25
  93. package/lib/components/context_menu/context_menu.js +31 -24
  94. package/lib/components/context_menu/context_menu.styles.js +34 -0
  95. package/lib/components/context_menu/context_menu_item.js +102 -133
  96. package/lib/components/context_menu/context_menu_item.styles.js +87 -0
  97. package/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  98. package/lib/components/context_menu/context_menu_panel.js +35 -63
  99. package/lib/components/context_menu/context_menu_panel.styles.js +46 -0
  100. package/lib/components/control_bar/control_bar.js +28 -23
  101. package/lib/components/datagrid/body/data_grid_body.js +6 -7
  102. package/lib/components/datagrid/body/data_grid_body_custom.js +6 -7
  103. package/lib/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  104. package/lib/components/datagrid/body/data_grid_cell.js +12 -13
  105. package/lib/components/datagrid/body/data_grid_row_manager.js +33 -16
  106. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  107. package/lib/components/datagrid/body/header/data_grid_header_row.js +6 -7
  108. package/lib/components/datagrid/data_grid.js +6 -7
  109. package/lib/components/datagrid/utils/in_memory.js +6 -7
  110. package/lib/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  111. package/lib/components/form/field_number/field_number.js +12 -8
  112. package/lib/components/form/field_password/field_password.js +4 -7
  113. package/lib/components/form/range/dual_range.js +110 -85
  114. package/lib/components/form/range/range.js +47 -40
  115. package/lib/components/form/range/range_track.js +5 -19
  116. package/lib/components/form/range/utils.js +1 -2
  117. package/lib/components/header/header_links/header_link.js +1 -6
  118. package/lib/components/header/header_section/header_section_item_button.js +1 -6
  119. package/lib/components/list_group/list_group.js +1 -2
  120. package/lib/components/list_group/list_group_item.js +7 -5
  121. package/lib/components/list_group/list_group_item_extra_action.js +1 -2
  122. package/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  123. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  124. package/lib/components/modal/confirm_modal.js +1 -1
  125. package/lib/components/notification/notification_event.js +1 -6
  126. package/lib/components/notification/notification_event_read_button.js +1 -2
  127. package/lib/components/page/index.js +1 -40
  128. package/lib/components/popover/input_popover.js +26 -11
  129. package/lib/components/tabs/tab.js +1 -1
  130. package/optimize/es/components/accordion/accordion.js +27 -2
  131. package/optimize/es/components/accordion/accordion_children/accordion_children.js +5 -14
  132. package/optimize/es/components/basic_table/basic_table.js +42 -19
  133. package/optimize/es/components/button/button.js +15 -33
  134. package/optimize/es/components/button/button_empty/button_empty.js +29 -41
  135. package/optimize/es/components/button/button_icon/button_icon.js +25 -37
  136. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  137. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  138. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  139. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +60 -0
  140. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +21 -10
  141. package/optimize/es/components/collapsible_nav_beta/context.js +1 -0
  142. package/optimize/es/components/comment_list/comment_event.js +31 -19
  143. package/optimize/es/components/comment_list/comment_event.styles.js +26 -24
  144. package/optimize/es/components/context_menu/context_menu.js +25 -19
  145. package/optimize/es/components/context_menu/context_menu.styles.js +26 -0
  146. package/optimize/es/components/context_menu/context_menu_item.js +94 -119
  147. package/optimize/es/components/context_menu/context_menu_item.styles.js +82 -0
  148. package/optimize/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  149. package/optimize/es/components/context_menu/context_menu_panel.js +29 -58
  150. package/optimize/es/components/context_menu/context_menu_panel.styles.js +40 -0
  151. package/optimize/es/components/control_bar/control_bar.js +28 -23
  152. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +23 -9
  153. package/optimize/es/components/form/field_number/field_number.js +13 -9
  154. package/optimize/es/components/form/field_password/field_password.js +4 -7
  155. package/optimize/es/components/form/range/dual_range.js +110 -85
  156. package/optimize/es/components/form/range/range.js +47 -40
  157. package/optimize/es/components/form/range/range_track.js +5 -14
  158. package/optimize/es/components/form/range/utils.js +1 -2
  159. package/optimize/es/components/list_group/list_group_item.js +6 -3
  160. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  161. package/optimize/es/components/page/index.js +1 -4
  162. package/optimize/es/components/popover/input_popover.js +26 -11
  163. package/optimize/es/components/tabs/tab.js +1 -1
  164. package/optimize/lib/components/accordion/accordion.js +27 -2
  165. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +3 -12
  166. package/optimize/lib/components/basic_table/basic_table.js +42 -19
  167. package/optimize/lib/components/button/button.js +16 -34
  168. package/optimize/lib/components/button/button_empty/button_empty.js +28 -40
  169. package/optimize/lib/components/button/button_icon/button_icon.js +24 -36
  170. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  171. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  172. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  173. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +67 -0
  174. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +21 -10
  175. package/optimize/lib/components/collapsible_nav_beta/context.js +1 -0
  176. package/optimize/lib/components/comment_list/comment_event.js +33 -18
  177. package/optimize/lib/components/comment_list/comment_event.styles.js +28 -25
  178. package/optimize/lib/components/context_menu/context_menu.js +28 -21
  179. package/optimize/lib/components/context_menu/context_menu.styles.js +34 -0
  180. package/optimize/lib/components/context_menu/context_menu_item.js +101 -128
  181. package/optimize/lib/components/context_menu/context_menu_item.styles.js +87 -0
  182. package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  183. package/optimize/lib/components/context_menu/context_menu_panel.js +32 -60
  184. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +47 -0
  185. package/optimize/lib/components/control_bar/control_bar.js +28 -23
  186. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +23 -8
  187. package/optimize/lib/components/form/field_number/field_number.js +12 -8
  188. package/optimize/lib/components/form/field_password/field_password.js +5 -8
  189. package/optimize/lib/components/form/range/dual_range.js +110 -85
  190. package/optimize/lib/components/form/range/range.js +47 -40
  191. package/optimize/lib/components/form/range/range_track.js +4 -13
  192. package/optimize/lib/components/form/range/utils.js +1 -2
  193. package/optimize/lib/components/list_group/list_group_item.js +6 -3
  194. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  195. package/optimize/lib/components/page/index.js +1 -40
  196. package/optimize/lib/components/popover/input_popover.js +27 -12
  197. package/optimize/lib/components/tabs/tab.js +1 -1
  198. package/package.json +5 -5
  199. package/src/components/datagrid/_data_grid_data_row.scss +0 -1
  200. package/src/components/date_picker/super_date_picker/date_popover/_date_popover_content.scss +2 -1
  201. package/src/components/index.scss +0 -2
  202. package/test-env/components/accessibility/skip_link/skip_link.js +1 -2
  203. package/test-env/components/accordion/accordion.js +27 -2
  204. package/test-env/components/accordion/accordion_children/accordion_children.js +5 -13
  205. package/test-env/components/basic_table/basic_table.js +60 -23
  206. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  207. package/test-env/components/basic_table/in_memory_table.js +18 -4
  208. package/test-env/components/button/button.js +17 -40
  209. package/test-env/components/button/button_empty/button_empty.js +29 -46
  210. package/test-env/components/button/button_icon/button_icon.js +25 -42
  211. package/test-env/components/card/card.js +1 -6
  212. package/test-env/components/card/card_select/card_select.js +1 -6
  213. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  214. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  215. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +18 -4
  216. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  217. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  218. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  219. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  220. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  221. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +164 -0
  222. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  223. package/test-env/components/collapsible_nav_beta/context.js +1 -0
  224. package/test-env/components/comment_list/comment_event.js +33 -18
  225. package/test-env/components/comment_list/comment_event.styles.js +28 -25
  226. package/test-env/components/context_menu/context_menu.js +31 -24
  227. package/test-env/components/context_menu/context_menu.styles.js +34 -0
  228. package/test-env/components/context_menu/context_menu_item.js +102 -129
  229. package/test-env/components/context_menu/context_menu_item.styles.js +87 -0
  230. package/test-env/components/context_menu/context_menu_panel.a11y.js +4 -2
  231. package/test-env/components/context_menu/context_menu_panel.js +35 -63
  232. package/test-env/components/context_menu/context_menu_panel.styles.js +47 -0
  233. package/test-env/components/control_bar/control_bar.js +28 -23
  234. package/test-env/components/datagrid/body/data_grid_body.js +6 -7
  235. package/test-env/components/datagrid/body/data_grid_body_custom.js +6 -7
  236. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  237. package/test-env/components/datagrid/body/data_grid_cell.js +12 -13
  238. package/test-env/components/datagrid/body/data_grid_row_manager.js +23 -8
  239. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  240. package/test-env/components/datagrid/body/header/data_grid_header_row.js +6 -7
  241. package/test-env/components/datagrid/data_grid.js +6 -7
  242. package/test-env/components/datagrid/utils/in_memory.js +6 -7
  243. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  244. package/test-env/components/form/field_number/field_number.js +12 -8
  245. package/test-env/components/form/field_password/field_password.js +4 -7
  246. package/test-env/components/form/range/dual_range.js +110 -85
  247. package/test-env/components/form/range/range.js +47 -40
  248. package/test-env/components/form/range/range_track.js +5 -14
  249. package/test-env/components/form/range/utils.js +1 -2
  250. package/test-env/components/header/header_links/header_link.js +1 -6
  251. package/test-env/components/header/header_section/header_section_item_button.js +1 -6
  252. package/test-env/components/list_group/list_group.js +1 -2
  253. package/test-env/components/list_group/list_group_item.js +7 -5
  254. package/test-env/components/list_group/list_group_item_extra_action.js +1 -2
  255. package/test-env/components/list_group/list_group_item_extra_action.styles.js +1 -1
  256. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  257. package/test-env/components/modal/confirm_modal.js +1 -1
  258. package/test-env/components/notification/notification_event.js +1 -6
  259. package/test-env/components/notification/notification_event_read_button.js +1 -2
  260. package/test-env/components/page/index.js +1 -40
  261. package/test-env/components/popover/input_popover.js +26 -11
  262. package/test-env/components/tabs/tab.js +1 -1
  263. package/es/components/page/page_content/index.js +0 -12
  264. package/es/components/page/page_content/page_content.js +0 -110
  265. package/es/components/page/page_content/page_content_body.js +0 -69
  266. package/es/components/page/page_content/page_content_header.js +0 -43
  267. package/es/components/page/page_content/page_content_header_section.js +0 -34
  268. package/es/components/page/page_side_bar/index.js +0 -9
  269. package/es/components/page/page_side_bar/page_side_bar.js +0 -60
  270. package/es/components/page/page_template.js +0 -591
  271. package/lib/components/page/page_content/index.js +0 -33
  272. package/lib/components/page/page_content/page_content.js +0 -117
  273. package/lib/components/page/page_content/page_content_body.js +0 -77
  274. package/lib/components/page/page_content/page_content_header.js +0 -50
  275. package/lib/components/page/page_content/page_content_header_section.js +0 -41
  276. package/lib/components/page/page_side_bar/index.js +0 -12
  277. package/lib/components/page/page_side_bar/page_side_bar.js +0 -67
  278. package/lib/components/page/page_template.js +0 -598
  279. package/optimize/es/components/page/page_content/index.js +0 -12
  280. package/optimize/es/components/page/page_content/page_content.js +0 -45
  281. package/optimize/es/components/page/page_content/page_content_body.js +0 -45
  282. package/optimize/es/components/page/page_content/page_content_header.js +0 -30
  283. package/optimize/es/components/page/page_content/page_content_header_section.js +0 -26
  284. package/optimize/es/components/page/page_side_bar/index.js +0 -9
  285. package/optimize/es/components/page/page_side_bar/page_side_bar.js +0 -44
  286. package/optimize/es/components/page/page_template.js +0 -325
  287. package/optimize/lib/components/page/page_content/index.js +0 -33
  288. package/optimize/lib/components/page/page_content/page_content.js +0 -52
  289. package/optimize/lib/components/page/page_content/page_content_body.js +0 -53
  290. package/optimize/lib/components/page/page_content/page_content_header.js +0 -37
  291. package/optimize/lib/components/page/page_content/page_content_header_section.js +0 -33
  292. package/optimize/lib/components/page/page_side_bar/index.js +0 -12
  293. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +0 -51
  294. package/optimize/lib/components/page/page_template.js +0 -332
  295. package/src/components/context_menu/_context_menu.scss +0 -27
  296. package/src/components/context_menu/_context_menu_item.scss +0 -65
  297. package/src/components/context_menu/_context_menu_panel.scss +0 -101
  298. package/src/components/context_menu/_index.scss +0 -3
  299. package/src/components/page/_index.scss +0 -2
  300. package/src/components/page/page_content/_index.scss +0 -4
  301. package/src/components/page/page_content/_page_content.scss +0 -25
  302. package/src/components/page/page_content/_page_content_body.scss +0 -19
  303. package/src/components/page/page_content/_page_content_header.scss +0 -20
  304. package/src/components/page/page_content/_page_content_header_section.scss +0 -17
  305. package/src/components/page/page_side_bar/_index.scss +0 -1
  306. package/src/components/page/page_side_bar/_page_side_bar.scss +0 -31
  307. package/test-env/components/page/page_content/index.js +0 -33
  308. package/test-env/components/page/page_content/page_content.js +0 -116
  309. package/test-env/components/page/page_content/page_content_body.js +0 -73
  310. package/test-env/components/page/page_content/page_content_header.js +0 -49
  311. package/test-env/components/page/page_content/page_content_header_section.js +0 -40
  312. package/test-env/components/page/page_side_bar/index.js +0 -12
  313. package/test-env/components/page/page_side_bar/page_side_bar.js +0 -66
  314. package/test-env/components/page/page_template.js +0 -594
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.EuiRangeTrack = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
11
  var _react = _interopRequireWildcard(require("react"));
13
12
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -17,7 +16,7 @@ var _range_levels = require("./range_levels");
17
16
  var _range_ticks = require("./range_ticks");
18
17
  var _range_track = require("./range_track.styles");
19
18
  var _react2 = require("@emotion/react");
20
- var _excluded = ["children", "disabled", "max", "min", "step", "showTicks", "tickInterval", "ticks", "levels", "onChange", "value", "compressed", "showRange", "className"];
19
+ var _excluded = ["children", "trackWidth", "disabled", "max", "min", "step", "showTicks", "tickInterval", "ticks", "levels", "onChange", "value", "compressed", "showRange", "className"];
21
20
  /*
22
21
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
22
  * or more contributor license agreements. Licensed under the Elastic License
@@ -29,6 +28,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
29
28
  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; }
30
29
  var EuiRangeTrack = function EuiRangeTrack(_ref) {
31
30
  var children = _ref.children,
31
+ trackWidth = _ref.trackWidth,
32
32
  disabled = _ref.disabled,
33
33
  max = _ref.max,
34
34
  min = _ref.min,
@@ -50,10 +50,6 @@ var EuiRangeTrack = function EuiRangeTrack(_ref) {
50
50
  step: step
51
51
  });
52
52
  }, [value, min, max, step]);
53
- var _useState = (0, _react.useState)(0),
54
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
- trackWidth = _useState2[0],
56
- setTrackWidth = _useState2[1];
57
53
  var tickSequence = (0, _react.useMemo)(function () {
58
54
  if (showTicks !== true) return;
59
55
  var sequence;
@@ -100,12 +96,7 @@ var EuiRangeTrack = function EuiRangeTrack(_ref) {
100
96
  return (0, _react2.jsx)("div", (0, _extends2.default)({
101
97
  className: classes,
102
98
  css: cssStyles
103
- }, rest, {
104
- ref: function ref(node) {
105
- var _node$clientWidth;
106
- setTrackWidth((_node$clientWidth = node === null || node === void 0 ? void 0 : node.clientWidth) !== null && _node$clientWidth !== void 0 ? _node$clientWidth : 0);
107
- }
108
- }), levels && !!levels.length && (0, _react2.jsx)(_range_levels.EuiRangeLevels, {
99
+ }, rest), levels && !!levels.length && (0, _react2.jsx)(_range_levels.EuiRangeLevels, {
109
100
  levels: levels,
110
101
  max: max,
111
102
  min: min,
@@ -123,7 +114,7 @@ var EuiRangeTrack = function EuiRangeTrack(_ref) {
123
114
  min: min,
124
115
  max: max,
125
116
  trackWidth: trackWidth
126
- }), typeof children === 'function' ? children(trackWidth) : children);
117
+ }), children);
127
118
  };
128
119
  exports.EuiRangeTrack = EuiRangeTrack;
129
120
  var validateValueIsInStep = function validateValueIsInStep(value, _ref2) {
@@ -14,14 +14,13 @@ exports.calculateThumbPosition = exports.EUI_THUMB_SIZE = void 0;
14
14
 
15
15
  var EUI_THUMB_SIZE = 16;
16
16
  exports.EUI_THUMB_SIZE = EUI_THUMB_SIZE;
17
- var calculateThumbPosition = function calculateThumbPosition(value, min, max, width) {
17
+ var calculateThumbPosition = function calculateThumbPosition(value, min, max, trackWidth) {
18
18
  var thumbSize = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : EUI_THUMB_SIZE;
19
19
  // Calculate the left position based on value
20
20
  var decimal = (value - min) / (max - min);
21
21
  // Must be between 0-100%
22
22
  var valuePosition = decimal <= 1 ? decimal : 1;
23
23
  valuePosition = valuePosition >= 0 ? valuePosition : 0;
24
- var trackWidth = width !== null && width !== void 0 ? width : 0;
25
24
  var thumbToTrackRatio = thumbSize / trackWidth;
26
25
  var trackPositionScale = (1 - thumbToTrackRatio) * 100;
27
26
  return valuePosition * trackPositionScale;
@@ -20,7 +20,7 @@ var _services = require("../../services");
20
20
  var _href_validator = require("../../services/security/href_validator");
21
21
  var _list_group_item = require("./list_group_item.styles");
22
22
  var _react2 = require("@emotion/react");
23
- var _excluded = ["label", "isActive", "isDisabled", "href", "target", "rel", "className", "css", "iconType", "icon", "iconProps", "extraAction", "onClick", "size", "color", "showToolTip", "wrapText", "buttonRef", "toolTipText", "toolTipProps"],
23
+ var _excluded = ["label", "isActive", "isDisabled", "href", "target", "rel", "className", "css", "style", "iconType", "icon", "iconProps", "extraAction", "onClick", "size", "color", "showToolTip", "wrapText", "buttonRef", "toolTipText", "toolTipProps"],
24
24
  _excluded2 = ["iconType", "alwaysShow", "isDisabled"];
25
25
  /*
26
26
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -48,6 +48,7 @@ var EuiListGroupItem = function EuiListGroupItem(_ref) {
48
48
  rel = _ref.rel,
49
49
  className = _ref.className,
50
50
  customCss = _ref.css,
51
+ style = _ref.style,
51
52
  iconType = _ref.iconType,
52
53
  icon = _ref.icon,
53
54
  iconProps = _ref.iconProps,
@@ -173,7 +174,8 @@ var EuiListGroupItem = function EuiListGroupItem(_ref) {
173
174
  });
174
175
  itemContent = (0, _react2.jsx)("li", {
175
176
  className: classes,
176
- css: cssStyles
177
+ css: cssStyles,
178
+ style: style
177
179
  }, (0, _react2.jsx)(_tool_tip.EuiToolTip, (0, _extends2.default)({
178
180
  content: toolTipText !== null && toolTipText !== void 0 ? toolTipText : label,
179
181
  position: "right",
@@ -185,7 +187,8 @@ var EuiListGroupItem = function EuiListGroupItem(_ref) {
185
187
  } else {
186
188
  itemContent = (0, _react2.jsx)("li", {
187
189
  className: classes,
188
- css: cssStyles
190
+ css: cssStyles,
191
+ style: style
189
192
  }, itemContent, extraActionNode);
190
193
  }
191
194
  return (0, _react2.jsx)(_react.Fragment, null, itemContent);
@@ -32,7 +32,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
32
32
  var euiListGroupItemExtraActionStyles = function euiListGroupItemExtraActionStyles(_ref3) {
33
33
  var euiTheme = _ref3.euiTheme;
34
34
  return {
35
- euiListGroupItemExtraAction: /*#__PURE__*/(0, _react.css)("flex-shrink:0;opacity:0;", (0, _global_styling.logicalCSS)('margin-right', euiTheme.size.s), ";", _global_styling.euiCanAnimate, "{transition:opacity ", euiTheme.animation.fast, ";};label:euiListGroupItemExtraAction;"),
35
+ euiListGroupItemExtraAction: /*#__PURE__*/(0, _react.css)("flex-shrink:0;opacity:0;", (0, _global_styling.logicalCSS)('margin-right', euiTheme.size.s), ";", _global_styling.euiCanAnimate, "{transition:opacity ", euiTheme.animation.fast, ";&&:hover,&&:focus{transform:translateY(0);}};label:euiListGroupItemExtraAction;"),
36
36
  hoverStyles: _ref2,
37
37
  alwaysShow: _ref
38
38
  };
@@ -15,30 +15,6 @@ Object.defineProperty(exports, "EuiPageBody", {
15
15
  return _page_body.EuiPageBody;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "EuiPageContentBody_Deprecated", {
19
- enumerable: true,
20
- get: function get() {
21
- return _page_content.EuiPageContentBody_Deprecated;
22
- }
23
- });
24
- Object.defineProperty(exports, "EuiPageContentHeaderSection_Deprecated", {
25
- enumerable: true,
26
- get: function get() {
27
- return _page_content.EuiPageContentHeaderSection_Deprecated;
28
- }
29
- });
30
- Object.defineProperty(exports, "EuiPageContentHeader_Deprecated", {
31
- enumerable: true,
32
- get: function get() {
33
- return _page_content.EuiPageContentHeader_Deprecated;
34
- }
35
- });
36
- Object.defineProperty(exports, "EuiPageContent_Deprecated", {
37
- enumerable: true,
38
- get: function get() {
39
- return _page_content.EuiPageContent_Deprecated;
40
- }
41
- });
42
18
  Object.defineProperty(exports, "EuiPageHeader", {
43
19
  enumerable: true,
44
20
  get: function get() {
@@ -63,29 +39,14 @@ Object.defineProperty(exports, "EuiPageSection", {
63
39
  return _page_section.EuiPageSection;
64
40
  }
65
41
  });
66
- Object.defineProperty(exports, "EuiPageSideBar_Deprecated", {
67
- enumerable: true,
68
- get: function get() {
69
- return _page_side_bar.EuiPageSideBar_Deprecated;
70
- }
71
- });
72
42
  Object.defineProperty(exports, "EuiPageSidebar", {
73
43
  enumerable: true,
74
44
  get: function get() {
75
45
  return _page_sidebar.EuiPageSidebar;
76
46
  }
77
47
  });
78
- Object.defineProperty(exports, "EuiPageTemplate_Deprecated", {
79
- enumerable: true,
80
- get: function get() {
81
- return _page_template.EuiPageTemplate_Deprecated;
82
- }
83
- });
84
48
  var _page = require("./page");
85
49
  var _page_body = require("./page_body");
86
- var _page_content = require("./page_content");
87
50
  var _page_header = require("./page_header");
88
51
  var _page_section = require("./page_section");
89
- var _page_side_bar = require("./page_side_bar");
90
- var _page_sidebar = require("./page_sidebar");
91
- var _page_template = require("./page_template");
52
+ var _page_sidebar = require("./page_sidebar");
@@ -20,7 +20,7 @@ var _resize_observer = require("../observer/resize_observer");
20
20
  var _focus_trap = require("../focus_trap");
21
21
  var _form = require("../form/form.styles");
22
22
  var _popover = require("./popover");
23
- var _excluded = ["children", "className", "closePopover", "closeOnScroll", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "panelMinWidth", "onPanelResize", "inputRef", "panelRef"];
23
+ var _excluded = ["children", "className", "closePopover", "anchorPosition", "attachToAnchor", "repositionToCrossAxis", "display", "panelPaddingSize", "closeOnScroll", "ownFocus", "disableFocusTrap", "focusTrapProps", "input", "fullWidth", "panelMinWidth", "onPanelResize", "inputRef", "panelRef"];
24
24
  /*
25
25
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
26
26
  * or more contributor license agreements. Licensed under the Elastic License
@@ -40,8 +40,20 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
40
40
  var children = _ref.children,
41
41
  className = _ref.className,
42
42
  closePopover = _ref.closePopover,
43
+ _ref$anchorPosition = _ref.anchorPosition,
44
+ anchorPosition = _ref$anchorPosition === void 0 ? 'downLeft' : _ref$anchorPosition,
45
+ _ref$attachToAnchor = _ref.attachToAnchor,
46
+ attachToAnchor = _ref$attachToAnchor === void 0 ? true : _ref$attachToAnchor,
47
+ _ref$repositionToCros = _ref.repositionToCrossAxis,
48
+ repositionToCrossAxis = _ref$repositionToCros === void 0 ? false : _ref$repositionToCros,
49
+ _ref$display = _ref.display,
50
+ display = _ref$display === void 0 ? 'block' : _ref$display,
51
+ _ref$panelPaddingSize = _ref.panelPaddingSize,
52
+ panelPaddingSize = _ref$panelPaddingSize === void 0 ? 's' : _ref$panelPaddingSize,
43
53
  _ref$closeOnScroll = _ref.closeOnScroll,
44
54
  closeOnScroll = _ref$closeOnScroll === void 0 ? false : _ref$closeOnScroll,
55
+ _ref$ownFocus = _ref.ownFocus,
56
+ ownFocus = _ref$ownFocus === void 0 ? false : _ref$ownFocus,
45
57
  _ref$disableFocusTrap = _ref.disableFocusTrap,
46
58
  disableFocusTrap = _ref$disableFocusTrap === void 0 ? false : _ref$disableFocusTrap,
47
59
  focusTrapProps = _ref.focusTrapProps,
@@ -84,6 +96,11 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
84
96
  var panelWidth = (0, _react.useMemo)(function () {
85
97
  return inputWidth < panelMinWidth ? panelMinWidth : inputWidth;
86
98
  }, [panelMinWidth, inputWidth]);
99
+
100
+ // Resize callback
101
+ (0, _react.useEffect)(function () {
102
+ onPanelResize === null || onPanelResize === void 0 ? void 0 : onPanelResize(panelWidth);
103
+ }, [panelWidth, onPanelResize]);
87
104
  (0, _react.useEffect)(function () {
88
105
  if (panelEl) {
89
106
  // We have to modify the popover panel DOM node directly instead of using
@@ -157,15 +174,19 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
157
174
  }
158
175
  }, [closeOnScroll, closePopover, panelEl, inputEl]);
159
176
  return (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({
177
+ className: classes,
160
178
  css: /*#__PURE__*/(0, _react2.css)(fullWidth ? undefined : (0, _global_styling.logicalCSS)('max-width', form.maxWidth), ";label:EuiInputPopover;"),
161
- repositionToCrossAxis: false,
162
- ownFocus: false,
179
+ display: display,
163
180
  button: input,
164
181
  buttonRef: inputRef,
165
182
  panelRef: panelRef,
166
- className: classes,
167
183
  ref: popoverClassRef,
168
- closePopover: closePopover
184
+ closePopover: closePopover,
185
+ anchorPosition: anchorPosition,
186
+ attachToAnchor: attachToAnchor,
187
+ repositionToCrossAxis: repositionToCrossAxis,
188
+ panelPaddingSize: panelPaddingSize,
189
+ ownFocus: ownFocus
169
190
  }, props, {
170
191
  panelProps: _objectSpread(_objectSpread({}, props.panelProps), {}, {
171
192
  onKeyDown: onKeyDown
@@ -177,10 +198,4 @@ var EuiInputPopover = function EuiInputPopover(_ref) {
177
198
  value: panelWidth
178
199
  }, children)));
179
200
  };
180
- exports.EuiInputPopover = EuiInputPopover;
181
- EuiInputPopover.defaultProps = {
182
- anchorPosition: 'downLeft',
183
- attachToAnchor: true,
184
- display: 'block',
185
- panelPaddingSize: 's'
186
- };
201
+ exports.EuiInputPopover = EuiInputPopover;
@@ -87,7 +87,7 @@ var EuiTab = function EuiTab(_ref) {
87
87
  css: cssTabStyles,
88
88
  disabled: disabled
89
89
  }, rest), prependNode, (0, _react2.jsx)("span", {
90
- className: "euiTab__content",
90
+ className: "euiTab__content eui-textTruncate",
91
91
  css: cssTabContentStyles
92
92
  }, children), appendNode);
93
93
  };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "89.1.0",
4
+ "version": "90.0.0",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
8
8
  "types": "eui.d.ts",
9
- "docker_image": "18.18.1",
9
+ "docker_image": "18.18.2",
10
10
  "engines": {
11
11
  "node": "16.x || 18.x || >=20.0"
12
12
  },
@@ -79,8 +79,8 @@
79
79
  "react-remove-scroll-bar": "^2.3.4",
80
80
  "react-virtualized-auto-sizer": "^1.0.20",
81
81
  "react-window": "^1.8.9",
82
- "refractor": "^3.5.0",
83
- "rehype-raw": "^5.0.0",
82
+ "refractor": "^3.6.0",
83
+ "rehype-raw": "^5.1.0",
84
84
  "rehype-react": "^6.2.1",
85
85
  "rehype-stringify": "^8.0.0",
86
86
  "remark-breaks": "^2.0.2",
@@ -93,7 +93,7 @@
93
93
  "unist-util-visit": "^2.0.3",
94
94
  "url-parse": "^1.5.10",
95
95
  "uuid": "^8.3.0",
96
- "vfile": "^4.2.0"
96
+ "vfile": "^4.2.1"
97
97
  },
98
98
  "devDependencies": {
99
99
  "@babel/cli": "^7.21.5",
@@ -100,7 +100,6 @@
100
100
  .euiDataGridRowCell__contentWrapper {
101
101
  position: relative; // Needed for .euiDataGridRowCell__actions--overlay
102
102
  height: 100%;
103
- overflow: hidden;
104
103
  }
105
104
 
106
105
  .euiDataGridRowCell__defaultHeight {
@@ -1,4 +1,5 @@
1
- .euiDatePopoverContent {
1
+ .euiDatePopoverContent,
2
+ .euiDatePopoverContent .react-datepicker {
2
3
  width: $euiFormMaxWidth;
3
4
  max-width: 100%;
4
5
  }
@@ -2,7 +2,6 @@
2
2
 
3
3
  @import 'color_picker/index';
4
4
  @import 'combo_box/index';
5
- @import 'context_menu/index';
6
5
  @import 'control_bar/index';
7
6
  @import 'date_picker/index';
8
7
  @import 'datagrid/index';
@@ -10,7 +9,6 @@
10
9
  @import 'form/index';
11
10
  @import 'markdown_editor/index';
12
11
  @import 'notification/index';
13
- @import 'page/index'; // Page needs to come after Panel for cascade specificity
14
12
  @import 'tree_view/index';
15
13
  @import 'side_nav/index';
16
14
  @import 'search_bar/index';
@@ -141,9 +141,8 @@ EuiSkipLink.propTypes = {
141
141
  fill: _propTypes.default.bool,
142
142
  /**
143
143
  * Any of the named color palette options.
144
- * **`'ghost'` is set for deprecation. Use EuiThemeProvide.colorMode = 'dark' instead.**
145
144
  */
146
- color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf(["ghost"])]),
145
+ color: _propTypes.default.any,
147
146
  /**
148
147
  * Use size `s` in confined spaces
149
148
  */
@@ -54,7 +54,19 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
54
54
  var forceState = _this.props.forceState;
55
55
  if (forceState) {
56
56
  var _this$props$onToggle, _this$props;
57
- (_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);
57
+ var nextState = !_this.isOpen;
58
+ (_this$props$onToggle = (_this$props = _this.props).onToggle) === null || _this$props$onToggle === void 0 ? void 0 : _this$props$onToggle.call(_this$props, nextState);
59
+
60
+ // If the accordion should theoretically be opened, wait a tick (allows
61
+ // consumer state to update) and attempt to focus the child content.
62
+ // NOTE: Even if the accordion does not actually open, this is fine -
63
+ // the `inert` property on the hidden children will prevent focus
64
+ if (nextState === true) {
65
+ requestAnimationFrame(function () {
66
+ var _this$accordionChildr;
67
+ (_this$accordionChildr = _this.accordionChildrenEl) === null || _this$accordionChildr === void 0 ? void 0 : _this$accordionChildr.focus();
68
+ });
69
+ }
58
70
  } else {
59
71
  _this.setState(function (prevState) {
60
72
  return {
@@ -63,9 +75,21 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
63
75
  }, function () {
64
76
  var _this$props$onToggle2, _this$props2;
65
77
  (_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);
78
+
79
+ // If the accordion is open, programmatically move focus
80
+ // from the accordion trigger to the child content
81
+ if (_this.state.isOpen) {
82
+ var _this$accordionChildr2;
83
+ (_this$accordionChildr2 = _this.accordionChildrenEl) === null || _this$accordionChildr2 === void 0 ? void 0 : _this$accordionChildr2.focus();
84
+ }
66
85
  });
67
86
  }
68
87
  });
88
+ // Used to focus the accordion children on user trigger click only (vs controlled/programmatic open)
89
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "accordionChildrenEl", null);
90
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "accordionChildrenRef", function (node) {
91
+ _this.accordionChildrenEl = node;
92
+ });
69
93
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "generatedId", (0, _services.htmlIdGenerator)()());
70
94
  return _this;
71
95
  }
@@ -132,7 +156,8 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
132
156
  paddingSize: paddingSize,
133
157
  isLoading: isLoading,
134
158
  isLoadingMessage: isLoadingMessage,
135
- isOpen: this.isOpen
159
+ isOpen: this.isOpen,
160
+ accordionChildrenRef: this.accordionChildrenRef
136
161
  }, children));
137
162
  }
138
163
  }]);
@@ -17,7 +17,7 @@ var _resize_observer = require("../../observer/resize_observer");
17
17
  var _accordion_children_loading = require("./accordion_children_loading");
18
18
  var _accordion_children = require("./accordion_children.styles");
19
19
  var _react2 = require("@emotion/react");
20
- var _excluded = ["children", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
20
+ var _excluded = ["children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
21
21
  /*
22
22
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
23
  * or more contributor license agreements. Licensed under the Elastic License
@@ -29,6 +29,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
29
29
  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; }
30
30
  var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
31
31
  var children = _ref.children,
32
+ accordionChildrenRef = _ref.accordionChildrenRef,
32
33
  paddingSize = _ref.paddingSize,
33
34
  isLoading = _ref.isLoading,
34
35
  isLoadingMessage = _ref.isLoadingMessage,
@@ -49,7 +50,6 @@ var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
49
50
  */
50
51
  var wrapperStyles = (0, _accordion_children.euiAccordionChildWrapperStyles)(euiTheme);
51
52
  var wrapperCssStyles = [wrapperStyles.euiAccordion__childWrapper, isOpen ? wrapperStyles.isOpen : wrapperStyles.isClosed];
52
- var wrapperRef = (0, _react.useRef)(null);
53
53
 
54
54
  /**
55
55
  * Update the accordion wrapper height whenever the accordion opens, and also
@@ -68,20 +68,11 @@ var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
68
68
  blockSize: isOpen ? contentHeight : 0
69
69
  };
70
70
  }, [isOpen, contentHeight]);
71
-
72
- /**
73
- * Focus the children wrapper when the accordion is opened,
74
- * but not if the accordion is initially open on mount
75
- */
76
- (0, _services.useUpdateEffect)(function () {
77
- var _wrapperRef$current;
78
- if (isOpen) (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.focus();
79
- }, [isOpen]);
80
71
  return (0, _react2.jsx)("div", (0, _extends2.default)({}, rest, {
81
72
  className: "euiAccordion__childWrapper",
82
73
  css: wrapperCssStyles,
83
74
  style: heightInlineStyle,
84
- ref: wrapperRef,
75
+ ref: accordionChildrenRef,
85
76
  role: "region",
86
77
  tabIndex: -1
87
78
  // @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
@@ -101,5 +92,6 @@ var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
101
92
  };
102
93
  exports.EuiAccordionChildren = EuiAccordionChildren;
103
94
  EuiAccordionChildren.propTypes = {
104
- isOpen: _propTypes.default.bool.isRequired
95
+ isOpen: _propTypes.default.bool.isRequired,
96
+ accordionChildrenRef: _propTypes.default.any.isRequired
105
97
  };
@@ -228,18 +228,27 @@ var EuiBasicTable = /*#__PURE__*/function (_Component) {
228
228
  var _ref5, _this$props$paginatio, _this$props$paginatio2, _this$context$EuiTabl;
229
229
  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 : _table_pagination.euiTablePaginationDefaults.itemsPerPage;
230
230
  }
231
+ }, {
232
+ key: "isSelectionControlled",
233
+ get: function get() {
234
+ var _this$props$selection;
235
+ return !!((_this$props$selection = this.props.selection) !== null && _this$props$selection !== void 0 && _this$props$selection.selected);
236
+ }
231
237
  }, {
232
238
  key: "getInitialSelection",
233
239
  value: function getInitialSelection() {
240
+ if (this.isSelectionControlled) return;
234
241
  if (this.props.selection && this.props.selection.initialSelected && !this.state.initialSelectionRendered && this.props.items.length > 0) {
235
242
  this.setState({
236
- selection: this.props.selection.initialSelected
237
- });
238
- this.setState({
243
+ selection: this.props.selection.initialSelected,
239
244
  initialSelectionRendered: true
240
245
  });
241
246
  }
242
247
  }
248
+
249
+ /**
250
+ * @deprecated Use `selection.selected` instead to declaratively control table selection
251
+ */
243
252
  }, {
244
253
  key: "setSelection",
245
254
  value: function setSelection(newSelection) {
@@ -262,15 +271,15 @@ var EuiBasicTable = /*#__PURE__*/function (_Component) {
262
271
  }
263
272
  }, {
264
273
  key: "changeSelection",
265
- value: function changeSelection(selection) {
266
- if (!this.props.selection) {
267
- return;
268
- }
269
- this.setState({
270
- selection: selection
271
- });
272
- if (this.props.selection.onSelectionChange) {
273
- this.props.selection.onSelectionChange(selection);
274
+ value: function changeSelection(changedSelection) {
275
+ var _selection$onSelectio;
276
+ var selection = this.props.selection;
277
+ if (!selection) return;
278
+ (_selection$onSelectio = selection.onSelectionChange) === null || _selection$onSelectio === void 0 ? void 0 : _selection$onSelectio.call(selection, changedSelection);
279
+ if (!this.isSelectionControlled) {
280
+ this.setState({
281
+ selection: changedSelection
282
+ });
274
283
  }
275
284
  }
276
285
  }, {
@@ -958,16 +967,30 @@ var EuiBasicTable = /*#__PURE__*/function (_Component) {
958
967
  selection: []
959
968
  };
960
969
  }
961
- var itemId = nextProps.itemId;
962
- var selection = prevState.selection.filter(function (selectedItem) {
963
- return nextProps.items.findIndex(function (item) {
970
+ var controlledSelection = nextProps.selection.selected;
971
+ var unfilteredSelection = controlledSelection !== null && controlledSelection !== void 0 ? controlledSelection : prevState.selection;
972
+
973
+ // Ensure we're not including selections that aren't in the
974
+ // current `items` array (affected by pagination)
975
+ var itemId = nextProps.itemId,
976
+ items = nextProps.items;
977
+ var selection = unfilteredSelection.filter(function (selectedItem) {
978
+ return items.findIndex(function (item) {
964
979
  return getItemId(item, itemId) === getItemId(selectedItem, itemId);
965
980
  }) !== -1;
966
981
  });
967
- if (selection.length !== prevState.selection.length) {
968
- if (nextProps.selection.onSelectionChange) {
969
- nextProps.selection.onSelectionChange(selection);
970
- }
982
+
983
+ // If some selected items were filtered out, update state and callback
984
+ if (selection.length !== unfilteredSelection.length) {
985
+ var _nextProps$selection$, _nextProps$selection;
986
+ (_nextProps$selection$ = (_nextProps$selection = nextProps.selection).onSelectionChange) === null || _nextProps$selection$ === void 0 ? void 0 : _nextProps$selection$.call(_nextProps$selection, selection);
987
+ return {
988
+ selection: selection
989
+ };
990
+ }
991
+
992
+ // Always update selection state from props if controlled
993
+ if (controlledSelection) {
971
994
  return {
972
995
  selection: selection
973
996
  };
@@ -1139,7 +1162,7 @@ EuiBasicTable.propTypes = {
1139
1162
  /**
1140
1163
  * Defines the color of the button
1141
1164
  */
1142
- color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf(["ghost"])]).isRequired, _propTypes.default.func.isRequired]),
1165
+ color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.func.isRequired]),
1143
1166
  /**
1144
1167
  * The display name of the action (will be the button caption)
1145
1168
  */
@@ -1308,7 +1331,9 @@ EuiBasicTable.propTypes = {
1308
1331
  */
1309
1332
  selection: _propTypes.default.shape({
1310
1333
  /**
1311
- * A callback that will be called whenever the item selection changes
1334
+ * A callback that will be called whenever the item selection changes.
1335
+ *
1336
+ * Required if `selected` is passed.
1312
1337
  */
1313
1338
  onSelectionChange: _propTypes.default.func,
1314
1339
  /**
@@ -1316,10 +1341,22 @@ EuiBasicTable.propTypes = {
1316
1341
  */
1317
1342
  selectable: _propTypes.default.func,
1318
1343
  /**
1319
- * 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
1344
+ * A callback that is called per item to retrieve a message for its selectable state.
1345
+ * We display these messages as a tooltip on an unselectable checkbox
1320
1346
  */
1321
1347
  selectableMessage: _propTypes.default.func,
1322
- initialSelected: _propTypes.default.arrayOf(_propTypes.default.any.isRequired)
1348
+ /**
1349
+ * Sets initially selected items. Use for uncontrolled selection behavior (checkbox
1350
+ * will only change from user input, and not from developer control).
1351
+ *
1352
+ * This prop will be ignored if `selected` is passed.
1353
+ */
1354
+ initialSelected: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
1355
+ /**
1356
+ * Used for controlled selection behavior, e.g. when you want to programmatically
1357
+ * control which selection checkboxes are checked, and which are not.
1358
+ */
1359
+ selected: _propTypes.default.arrayOf(_propTypes.default.any.isRequired)
1323
1360
  }),
1324
1361
  /**
1325
1362
  * Configures #EuiTableSortingType
@@ -204,7 +204,7 @@ CollapsedItemActions.propTypes = {
204
204
  /**
205
205
  * Defines the color of the button
206
206
  */
207
- color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf(["ghost"])]).isRequired, _propTypes.default.func.isRequired]),
207
+ color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.func.isRequired]),
208
208
  /**
209
209
  * The display name of the action (will be the button caption)
210
210
  */
@@ -685,7 +685,7 @@ EuiInMemoryTable.propTypes = {
685
685
  /**
686
686
  * Defines the color of the button
687
687
  */
688
- color: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf(["ghost"])]).isRequired, _propTypes.default.func.isRequired]),
688
+ color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.func.isRequired]),
689
689
  /**
690
690
  * The display name of the action (will be the button caption)
691
691
  */
@@ -810,7 +810,9 @@ EuiInMemoryTable.propTypes = {
810
810
  */
811
811
  selection: _propTypes.default.shape({
812
812
  /**
813
- * A callback that will be called whenever the item selection changes
813
+ * A callback that will be called whenever the item selection changes.
814
+ *
815
+ * Required if `selected` is passed.
814
816
  */
815
817
  onSelectionChange: _propTypes.default.func,
816
818
  /**
@@ -818,10 +820,22 @@ EuiInMemoryTable.propTypes = {
818
820
  */
819
821
  selectable: _propTypes.default.func,
820
822
  /**
821
- * 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
823
+ * A callback that is called per item to retrieve a message for its selectable state.
824
+ * We display these messages as a tooltip on an unselectable checkbox
822
825
  */
823
826
  selectableMessage: _propTypes.default.func,
824
- initialSelected: _propTypes.default.arrayOf(_propTypes.default.any.isRequired)
827
+ /**
828
+ * Sets initially selected items. Use for uncontrolled selection behavior (checkbox
829
+ * will only change from user input, and not from developer control).
830
+ *
831
+ * This prop will be ignored if `selected` is passed.
832
+ */
833
+ initialSelected: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
834
+ /**
835
+ * Used for controlled selection behavior, e.g. when you want to programmatically
836
+ * control which selection checkboxes are checked, and which are not.
837
+ */
838
+ selected: _propTypes.default.arrayOf(_propTypes.default.any.isRequired)
825
839
  }),
826
840
  /**
827
841
  * Sets the table-layout CSS property. Note that auto tableLayout prevents truncateText from working properly.