@elastic/eui 89.1.0 → 90.0.1

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 (365) 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_beta.styles.js +2 -2
  18. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  19. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
  20. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  21. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -87
  22. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -51
  23. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +90 -31
  24. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +67 -74
  25. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +16 -79
  27. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
  28. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +79 -0
  29. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +176 -117
  30. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  31. package/es/components/collapsible_nav_beta/context.js +1 -0
  32. package/es/components/combo_box/combo_box.js +1 -1
  33. package/es/components/comment_list/comment_event.js +31 -19
  34. package/es/components/comment_list/comment_event.styles.js +26 -24
  35. package/es/components/context_menu/context_menu.js +28 -22
  36. package/es/components/context_menu/context_menu.styles.js +26 -0
  37. package/es/components/context_menu/context_menu_item.js +95 -125
  38. package/es/components/context_menu/context_menu_item.styles.js +82 -0
  39. package/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  40. package/es/components/context_menu/context_menu_panel.js +32 -61
  41. package/es/components/context_menu/context_menu_panel.styles.js +40 -0
  42. package/es/components/control_bar/control_bar.js +28 -23
  43. package/es/components/datagrid/body/data_grid_body.js +6 -7
  44. package/es/components/datagrid/body/data_grid_body_custom.js +6 -7
  45. package/es/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  46. package/es/components/datagrid/body/data_grid_cell.js +12 -13
  47. package/es/components/datagrid/body/data_grid_row_manager.js +28 -9
  48. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  49. package/es/components/datagrid/body/header/data_grid_header_row.js +6 -7
  50. package/es/components/datagrid/data_grid.js +6 -7
  51. package/es/components/datagrid/utils/in_memory.js +6 -7
  52. package/es/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  53. package/es/components/form/field_number/field_number.js +13 -9
  54. package/es/components/form/field_password/field_password.js +4 -7
  55. package/es/components/form/range/dual_range.js +110 -85
  56. package/es/components/form/range/range.js +47 -40
  57. package/es/components/form/range/range_track.js +6 -20
  58. package/es/components/form/range/utils.js +1 -2
  59. package/es/components/header/header_links/header_link.js +1 -6
  60. package/es/components/header/header_section/header_section_item_button.js +1 -6
  61. package/es/components/list_group/list_group.js +1 -2
  62. package/es/components/list_group/list_group_item.js +7 -5
  63. package/es/components/list_group/list_group_item_extra_action.js +1 -2
  64. package/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  65. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  66. package/es/components/modal/confirm_modal.js +1 -1
  67. package/es/components/notification/notification_event.js +1 -6
  68. package/es/components/notification/notification_event_read_button.js +1 -2
  69. package/es/components/page/index.js +1 -4
  70. package/es/components/pagination/pagination_button.js +1 -6
  71. package/es/components/popover/input_popover.js +26 -11
  72. package/es/components/selectable/selectable.js +16 -1
  73. package/es/components/selectable/selectable_list/selectable_list.js +227 -78
  74. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  75. package/es/components/tabs/tab.js +1 -1
  76. package/es/components/text_truncate/text_truncate.js +33 -10
  77. package/eui.d.ts +565 -341
  78. package/i18ntokens.json +141 -105
  79. package/lib/components/accessibility/skip_link/skip_link.js +1 -2
  80. package/lib/components/accordion/accordion.js +27 -2
  81. package/lib/components/accordion/accordion_children/accordion_children.js +5 -13
  82. package/lib/components/basic_table/basic_table.js +60 -23
  83. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  84. package/lib/components/basic_table/in_memory_table.js +18 -4
  85. package/lib/components/button/button.js +24 -51
  86. package/lib/components/button/button_empty/button_empty.js +29 -46
  87. package/lib/components/button/button_icon/button_icon.js +25 -42
  88. package/lib/components/card/card.js +1 -6
  89. package/lib/components/card/card_select/card_select.js +1 -6
  90. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  91. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  92. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  93. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
  94. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  95. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -87
  96. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -51
  97. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +90 -31
  98. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -73
  99. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  100. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +16 -81
  101. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
  102. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +86 -0
  103. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +176 -117
  104. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  105. package/lib/components/collapsible_nav_beta/context.js +1 -0
  106. package/lib/components/combo_box/combo_box.js +1 -1
  107. package/lib/components/comment_list/comment_event.js +33 -18
  108. package/lib/components/comment_list/comment_event.styles.js +28 -25
  109. package/lib/components/context_menu/context_menu.js +31 -24
  110. package/lib/components/context_menu/context_menu.styles.js +34 -0
  111. package/lib/components/context_menu/context_menu_item.js +102 -133
  112. package/lib/components/context_menu/context_menu_item.styles.js +87 -0
  113. package/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  114. package/lib/components/context_menu/context_menu_panel.js +35 -63
  115. package/lib/components/context_menu/context_menu_panel.styles.js +46 -0
  116. package/lib/components/control_bar/control_bar.js +28 -23
  117. package/lib/components/datagrid/body/data_grid_body.js +6 -7
  118. package/lib/components/datagrid/body/data_grid_body_custom.js +6 -7
  119. package/lib/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  120. package/lib/components/datagrid/body/data_grid_cell.js +12 -13
  121. package/lib/components/datagrid/body/data_grid_row_manager.js +33 -16
  122. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  123. package/lib/components/datagrid/body/header/data_grid_header_row.js +6 -7
  124. package/lib/components/datagrid/data_grid.js +6 -7
  125. package/lib/components/datagrid/utils/in_memory.js +6 -7
  126. package/lib/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  127. package/lib/components/form/field_number/field_number.js +12 -8
  128. package/lib/components/form/field_password/field_password.js +4 -7
  129. package/lib/components/form/range/dual_range.js +110 -85
  130. package/lib/components/form/range/range.js +47 -40
  131. package/lib/components/form/range/range_track.js +5 -19
  132. package/lib/components/form/range/utils.js +1 -2
  133. package/lib/components/header/header_links/header_link.js +1 -6
  134. package/lib/components/header/header_section/header_section_item_button.js +1 -6
  135. package/lib/components/list_group/list_group.js +1 -2
  136. package/lib/components/list_group/list_group_item.js +7 -5
  137. package/lib/components/list_group/list_group_item_extra_action.js +1 -2
  138. package/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  139. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  140. package/lib/components/modal/confirm_modal.js +1 -1
  141. package/lib/components/notification/notification_event.js +1 -6
  142. package/lib/components/notification/notification_event_read_button.js +1 -2
  143. package/lib/components/page/index.js +1 -40
  144. package/lib/components/popover/input_popover.js +26 -11
  145. package/lib/components/selectable/selectable.js +16 -1
  146. package/lib/components/selectable/selectable_list/selectable_list.js +227 -78
  147. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  148. package/lib/components/tabs/tab.js +1 -1
  149. package/lib/components/text_truncate/text_truncate.js +32 -9
  150. package/optimize/es/components/accordion/accordion.js +27 -2
  151. package/optimize/es/components/accordion/accordion_children/accordion_children.js +5 -14
  152. package/optimize/es/components/basic_table/basic_table.js +42 -19
  153. package/optimize/es/components/button/button.js +15 -33
  154. package/optimize/es/components/button/button_empty/button_empty.js +29 -41
  155. package/optimize/es/components/button/button_icon/button_icon.js +25 -37
  156. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  157. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +2 -2
  158. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  159. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
  160. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  161. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  162. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  163. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  164. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +1 -19
  165. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -23
  166. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
  167. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +60 -0
  168. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +28 -13
  169. package/optimize/es/components/collapsible_nav_beta/context.js +1 -0
  170. package/optimize/es/components/comment_list/comment_event.js +31 -19
  171. package/optimize/es/components/comment_list/comment_event.styles.js +26 -24
  172. package/optimize/es/components/context_menu/context_menu.js +25 -19
  173. package/optimize/es/components/context_menu/context_menu.styles.js +26 -0
  174. package/optimize/es/components/context_menu/context_menu_item.js +94 -119
  175. package/optimize/es/components/context_menu/context_menu_item.styles.js +82 -0
  176. package/optimize/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  177. package/optimize/es/components/context_menu/context_menu_panel.js +29 -58
  178. package/optimize/es/components/context_menu/context_menu_panel.styles.js +40 -0
  179. package/optimize/es/components/control_bar/control_bar.js +28 -23
  180. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +23 -9
  181. package/optimize/es/components/form/field_number/field_number.js +13 -9
  182. package/optimize/es/components/form/field_password/field_password.js +4 -7
  183. package/optimize/es/components/form/range/dual_range.js +110 -85
  184. package/optimize/es/components/form/range/range.js +47 -40
  185. package/optimize/es/components/form/range/range_track.js +5 -14
  186. package/optimize/es/components/form/range/utils.js +1 -2
  187. package/optimize/es/components/list_group/list_group_item.js +6 -3
  188. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  189. package/optimize/es/components/page/index.js +1 -4
  190. package/optimize/es/components/popover/input_popover.js +26 -11
  191. package/optimize/es/components/selectable/selectable_list/selectable_list.js +199 -76
  192. package/optimize/es/components/tabs/tab.js +1 -1
  193. package/optimize/es/components/text_truncate/text_truncate.js +26 -9
  194. package/optimize/lib/components/accordion/accordion.js +27 -2
  195. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +3 -12
  196. package/optimize/lib/components/basic_table/basic_table.js +42 -19
  197. package/optimize/lib/components/button/button.js +16 -34
  198. package/optimize/lib/components/button/button_empty/button_empty.js +28 -40
  199. package/optimize/lib/components/button/button_icon/button_icon.js +24 -36
  200. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  201. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  202. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  203. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
  204. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  205. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -3
  206. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +10 -5
  207. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +8 -36
  208. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  209. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +6 -26
  210. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
  211. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +67 -0
  212. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +28 -13
  213. package/optimize/lib/components/collapsible_nav_beta/context.js +1 -0
  214. package/optimize/lib/components/comment_list/comment_event.js +33 -18
  215. package/optimize/lib/components/comment_list/comment_event.styles.js +28 -25
  216. package/optimize/lib/components/context_menu/context_menu.js +28 -21
  217. package/optimize/lib/components/context_menu/context_menu.styles.js +34 -0
  218. package/optimize/lib/components/context_menu/context_menu_item.js +101 -128
  219. package/optimize/lib/components/context_menu/context_menu_item.styles.js +87 -0
  220. package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  221. package/optimize/lib/components/context_menu/context_menu_panel.js +32 -60
  222. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +47 -0
  223. package/optimize/lib/components/control_bar/control_bar.js +28 -23
  224. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +23 -8
  225. package/optimize/lib/components/form/field_number/field_number.js +12 -8
  226. package/optimize/lib/components/form/field_password/field_password.js +5 -8
  227. package/optimize/lib/components/form/range/dual_range.js +110 -85
  228. package/optimize/lib/components/form/range/range.js +47 -40
  229. package/optimize/lib/components/form/range/range_track.js +4 -13
  230. package/optimize/lib/components/form/range/utils.js +1 -2
  231. package/optimize/lib/components/list_group/list_group_item.js +6 -3
  232. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  233. package/optimize/lib/components/page/index.js +1 -40
  234. package/optimize/lib/components/popover/input_popover.js +27 -12
  235. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +199 -76
  236. package/optimize/lib/components/tabs/tab.js +1 -1
  237. package/optimize/lib/components/text_truncate/text_truncate.js +25 -8
  238. package/package.json +5 -5
  239. package/src/components/datagrid/_data_grid_data_row.scss +0 -1
  240. package/src/components/date_picker/super_date_picker/date_popover/_date_popover_content.scss +2 -1
  241. package/src/components/index.scss +0 -2
  242. package/test-env/components/accessibility/skip_link/skip_link.js +1 -2
  243. package/test-env/components/accordion/accordion.js +27 -2
  244. package/test-env/components/accordion/accordion_children/accordion_children.js +5 -13
  245. package/test-env/components/auto_sizer/auto_sizer.js +10 -3
  246. package/test-env/components/basic_table/basic_table.js +60 -23
  247. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  248. package/test-env/components/basic_table/in_memory_table.js +18 -4
  249. package/test-env/components/button/button.js +17 -40
  250. package/test-env/components/button/button_empty/button_empty.js +29 -46
  251. package/test-env/components/button/button_icon/button_icon.js +25 -42
  252. package/test-env/components/card/card.js +1 -6
  253. package/test-env/components/card/card_select/card_select.js +1 -6
  254. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  255. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +1 -1
  256. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +4 -1
  257. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.styles.js +13 -9
  258. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  259. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -87
  260. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +20 -51
  261. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +90 -31
  262. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +66 -73
  263. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +11 -28
  264. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +16 -82
  265. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +5 -5
  266. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +85 -0
  267. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +176 -117
  268. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +0 -10
  269. package/test-env/components/collapsible_nav_beta/context.js +1 -0
  270. package/test-env/components/combo_box/combo_box.js +1 -1
  271. package/test-env/components/comment_list/comment_event.js +33 -18
  272. package/test-env/components/comment_list/comment_event.styles.js +28 -25
  273. package/test-env/components/context_menu/context_menu.js +31 -24
  274. package/test-env/components/context_menu/context_menu.styles.js +34 -0
  275. package/test-env/components/context_menu/context_menu_item.js +102 -129
  276. package/test-env/components/context_menu/context_menu_item.styles.js +87 -0
  277. package/test-env/components/context_menu/context_menu_panel.a11y.js +4 -2
  278. package/test-env/components/context_menu/context_menu_panel.js +35 -63
  279. package/test-env/components/context_menu/context_menu_panel.styles.js +47 -0
  280. package/test-env/components/control_bar/control_bar.js +28 -23
  281. package/test-env/components/datagrid/body/data_grid_body.js +6 -7
  282. package/test-env/components/datagrid/body/data_grid_body_custom.js +6 -7
  283. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  284. package/test-env/components/datagrid/body/data_grid_cell.js +12 -13
  285. package/test-env/components/datagrid/body/data_grid_row_manager.js +23 -8
  286. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  287. package/test-env/components/datagrid/body/header/data_grid_header_row.js +6 -7
  288. package/test-env/components/datagrid/data_grid.js +6 -7
  289. package/test-env/components/datagrid/utils/in_memory.js +6 -7
  290. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  291. package/test-env/components/form/field_number/field_number.js +12 -8
  292. package/test-env/components/form/field_password/field_password.js +4 -7
  293. package/test-env/components/form/range/dual_range.js +110 -85
  294. package/test-env/components/form/range/range.js +47 -40
  295. package/test-env/components/form/range/range_track.js +5 -14
  296. package/test-env/components/form/range/utils.js +1 -2
  297. package/test-env/components/header/header_links/header_link.js +1 -6
  298. package/test-env/components/header/header_section/header_section_item_button.js +1 -6
  299. package/test-env/components/list_group/list_group.js +1 -2
  300. package/test-env/components/list_group/list_group_item.js +7 -5
  301. package/test-env/components/list_group/list_group_item_extra_action.js +1 -2
  302. package/test-env/components/list_group/list_group_item_extra_action.styles.js +1 -1
  303. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  304. package/test-env/components/modal/confirm_modal.js +1 -1
  305. package/test-env/components/notification/notification_event.js +1 -6
  306. package/test-env/components/notification/notification_event_read_button.js +1 -2
  307. package/test-env/components/page/index.js +1 -40
  308. package/test-env/components/popover/input_popover.js +26 -11
  309. package/test-env/components/selectable/selectable.js +16 -1
  310. package/test-env/components/selectable/selectable_list/selectable_list.js +227 -78
  311. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +16 -1
  312. package/test-env/components/tabs/tab.js +1 -1
  313. package/test-env/components/text_truncate/text_truncate.js +32 -9
  314. package/es/components/page/page_content/index.js +0 -12
  315. package/es/components/page/page_content/page_content.js +0 -110
  316. package/es/components/page/page_content/page_content_body.js +0 -69
  317. package/es/components/page/page_content/page_content_header.js +0 -43
  318. package/es/components/page/page_content/page_content_header_section.js +0 -34
  319. package/es/components/page/page_side_bar/index.js +0 -9
  320. package/es/components/page/page_side_bar/page_side_bar.js +0 -60
  321. package/es/components/page/page_template.js +0 -591
  322. package/lib/components/page/page_content/index.js +0 -33
  323. package/lib/components/page/page_content/page_content.js +0 -117
  324. package/lib/components/page/page_content/page_content_body.js +0 -77
  325. package/lib/components/page/page_content/page_content_header.js +0 -50
  326. package/lib/components/page/page_content/page_content_header_section.js +0 -41
  327. package/lib/components/page/page_side_bar/index.js +0 -12
  328. package/lib/components/page/page_side_bar/page_side_bar.js +0 -67
  329. package/lib/components/page/page_template.js +0 -598
  330. package/optimize/es/components/page/page_content/index.js +0 -12
  331. package/optimize/es/components/page/page_content/page_content.js +0 -45
  332. package/optimize/es/components/page/page_content/page_content_body.js +0 -45
  333. package/optimize/es/components/page/page_content/page_content_header.js +0 -30
  334. package/optimize/es/components/page/page_content/page_content_header_section.js +0 -26
  335. package/optimize/es/components/page/page_side_bar/index.js +0 -9
  336. package/optimize/es/components/page/page_side_bar/page_side_bar.js +0 -44
  337. package/optimize/es/components/page/page_template.js +0 -325
  338. package/optimize/lib/components/page/page_content/index.js +0 -33
  339. package/optimize/lib/components/page/page_content/page_content.js +0 -52
  340. package/optimize/lib/components/page/page_content/page_content_body.js +0 -53
  341. package/optimize/lib/components/page/page_content/page_content_header.js +0 -37
  342. package/optimize/lib/components/page/page_content/page_content_header_section.js +0 -33
  343. package/optimize/lib/components/page/page_side_bar/index.js +0 -12
  344. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +0 -51
  345. package/optimize/lib/components/page/page_template.js +0 -332
  346. package/src/components/context_menu/_context_menu.scss +0 -27
  347. package/src/components/context_menu/_context_menu_item.scss +0 -65
  348. package/src/components/context_menu/_context_menu_panel.scss +0 -101
  349. package/src/components/context_menu/_index.scss +0 -3
  350. package/src/components/page/_index.scss +0 -2
  351. package/src/components/page/page_content/_index.scss +0 -4
  352. package/src/components/page/page_content/_page_content.scss +0 -25
  353. package/src/components/page/page_content/_page_content_body.scss +0 -19
  354. package/src/components/page/page_content/_page_content_header.scss +0 -20
  355. package/src/components/page/page_content/_page_content_header_section.scss +0 -17
  356. package/src/components/page/page_side_bar/_index.scss +0 -1
  357. package/src/components/page/page_side_bar/_page_side_bar.scss +0 -31
  358. package/test-env/components/page/page_content/index.js +0 -33
  359. package/test-env/components/page/page_content/page_content.js +0 -116
  360. package/test-env/components/page/page_content/page_content_body.js +0 -73
  361. package/test-env/components/page/page_content/page_content_header.js +0 -49
  362. package/test-env/components/page/page_content/page_content_header_section.js +0 -40
  363. package/test-env/components/page/page_side_bar/index.js +0 -12
  364. package/test-env/components/page/page_side_bar/page_side_bar.js +0 -66
  365. package/test-env/components/page/page_template.js +0 -594
@@ -78,7 +78,7 @@ export var EuiTab = function EuiTab(_ref) {
78
78
  css: cssTabStyles,
79
79
  disabled: disabled
80
80
  }, rest), prependNode, ___EmotionJSX("span", {
81
- className: "euiTab__content",
81
+ className: "euiTab__content eui-textTruncate",
82
82
  css: cssTabContentStyles
83
83
  }, children), appendNode);
84
84
  };
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["width", "onResize"],
5
- _excluded2 = ["width", "children", "text", "truncation", "truncationOffset", "truncationPosition", "ellipsis", "containerRef", "className"],
5
+ _excluded2 = ["width", "children", "text", "truncation", "truncationOffset", "truncationPosition", "ellipsis", "calculationDelayMs", "containerRef", "className"],
6
6
  _excluded3 = ["onResize"];
7
7
  /*
8
8
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -12,7 +12,7 @@ var _excluded = ["width", "onResize"],
12
12
  * Side Public License, v 1.
13
13
  */
14
14
 
15
- import React, { useState, useMemo, useCallback } from 'react';
15
+ import React, { useState, useMemo, useCallback, useEffect } from 'react';
16
16
  import classNames from 'classnames';
17
17
  import { useCombinedRefs } from '../../services';
18
18
  import { EuiResizeObserver } from '../observer/resize_observer';
@@ -41,6 +41,7 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
41
41
  truncationPosition = _ref2.truncationPosition,
42
42
  _ref2$ellipsis = _ref2.ellipsis,
43
43
  ellipsis = _ref2$ellipsis === void 0 ? '…' : _ref2$ellipsis,
44
+ calculationDelayMs = _ref2.calculationDelayMs,
44
45
  containerRef = _ref2.containerRef,
45
46
  className = _ref2.className,
46
47
  rest = _objectWithoutProperties(_ref2, _excluded2);
@@ -51,6 +52,19 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
51
52
  setContainerEl = _useState2[1];
52
53
  var refs = useCombinedRefs([setContainerEl, containerRef]);
53
54
 
55
+ // If necessary, wait a tick on mount before truncating
56
+ var _useState3 = useState(!calculationDelayMs),
57
+ _useState4 = _slicedToArray(_useState3, 2),
58
+ ready = _useState4[0],
59
+ setReady = _useState4[1];
60
+ useEffect(function () {
61
+ if (calculationDelayMs) {
62
+ setTimeout(function () {
63
+ return setReady(true);
64
+ }, calculationDelayMs);
65
+ }
66
+ }, [calculationDelayMs]);
67
+
54
68
  // Handle exceptions where we need to override the passed props
55
69
  var _useMemo = useMemo(function () {
56
70
  var truncation = _truncation;
@@ -75,7 +89,8 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
75
89
  truncationOffset = _useMemo.truncationOffset;
76
90
  var truncatedText = useMemo(function () {
77
91
  var truncatedText = '';
78
- if (!containerEl || !width) return truncatedText;
92
+ if (!ready || !containerEl) return text;
93
+ if (!width) return truncatedText;
79
94
  var utils = new TruncationUtils({
80
95
  fullText: text,
81
96
  ellipsis: ellipsis,
@@ -107,7 +122,7 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
107
122
  }
108
123
  }
109
124
  return truncatedText;
110
- }, [width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
125
+ }, [ready, width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
111
126
  var isTruncating = truncatedText !== text;
112
127
  return ___EmotionJSX("div", _extends({
113
128
  className: classNames('euiTextTruncate', className),
@@ -131,10 +146,10 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
131
146
  var EuiTextTruncateWithResizeObserver = function EuiTextTruncateWithResizeObserver(_ref3) {
132
147
  var _onResize = _ref3.onResize,
133
148
  props = _objectWithoutProperties(_ref3, _excluded3);
134
- var _useState3 = useState(0),
135
- _useState4 = _slicedToArray(_useState3, 2),
136
- width = _useState4[0],
137
- setWidth = _useState4[1];
149
+ var _useState5 = useState(0),
150
+ _useState6 = _slicedToArray(_useState5, 2),
151
+ width = _useState6[0],
152
+ setWidth = _useState6[1];
138
153
  var onResize = useCallback(function (_ref4) {
139
154
  var width = _ref4.width;
140
155
  setWidth(width);
@@ -146,6 +161,8 @@ var EuiTextTruncateWithResizeObserver = function EuiTextTruncateWithResizeObserv
146
161
  return ___EmotionJSX(EuiTextTruncateWithWidth, _extends({
147
162
  width: width,
148
163
  containerRef: ref
149
- }, props));
164
+ }, props, {
165
+ "data-resize-observer": "true"
166
+ }));
150
167
  });
151
168
  };
@@ -53,7 +53,19 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
53
53
  var forceState = _this.props.forceState;
54
54
  if (forceState) {
55
55
  var _this$props$onToggle, _this$props;
56
- (_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);
56
+ var nextState = !_this.isOpen;
57
+ (_this$props$onToggle = (_this$props = _this.props).onToggle) === null || _this$props$onToggle === void 0 ? void 0 : _this$props$onToggle.call(_this$props, nextState);
58
+
59
+ // If the accordion should theoretically be opened, wait a tick (allows
60
+ // consumer state to update) and attempt to focus the child content.
61
+ // NOTE: Even if the accordion does not actually open, this is fine -
62
+ // the `inert` property on the hidden children will prevent focus
63
+ if (nextState === true) {
64
+ requestAnimationFrame(function () {
65
+ var _this$accordionChildr;
66
+ (_this$accordionChildr = _this.accordionChildrenEl) === null || _this$accordionChildr === void 0 ? void 0 : _this$accordionChildr.focus();
67
+ });
68
+ }
57
69
  } else {
58
70
  _this.setState(function (prevState) {
59
71
  return {
@@ -62,9 +74,21 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
62
74
  }, function () {
63
75
  var _this$props$onToggle2, _this$props2;
64
76
  (_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);
77
+
78
+ // If the accordion is open, programmatically move focus
79
+ // from the accordion trigger to the child content
80
+ if (_this.state.isOpen) {
81
+ var _this$accordionChildr2;
82
+ (_this$accordionChildr2 = _this.accordionChildrenEl) === null || _this$accordionChildr2 === void 0 ? void 0 : _this$accordionChildr2.focus();
83
+ }
65
84
  });
66
85
  }
67
86
  });
87
+ // Used to focus the accordion children on user trigger click only (vs controlled/programmatic open)
88
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "accordionChildrenEl", null);
89
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "accordionChildrenRef", function (node) {
90
+ _this.accordionChildrenEl = node;
91
+ });
68
92
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "generatedId", (0, _services.htmlIdGenerator)()());
69
93
  return _this;
70
94
  }
@@ -131,7 +155,8 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
131
155
  paddingSize: paddingSize,
132
156
  isLoading: isLoading,
133
157
  isLoadingMessage: isLoadingMessage,
134
- isOpen: this.isOpen
158
+ isOpen: this.isOpen,
159
+ accordionChildrenRef: this.accordionChildrenRef
135
160
  }, children));
136
161
  }
137
162
  }]);
@@ -16,7 +16,7 @@ var _resize_observer = require("../../observer/resize_observer");
16
16
  var _accordion_children_loading = require("./accordion_children_loading");
17
17
  var _accordion_children = require("./accordion_children.styles");
18
18
  var _react2 = require("@emotion/react");
19
- var _excluded = ["children", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
19
+ var _excluded = ["children", "accordionChildrenRef", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
20
20
  /*
21
21
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
22
22
  * or more contributor license agreements. Licensed under the Elastic License
@@ -28,6 +28,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
28
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; }
29
29
  var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
30
30
  var children = _ref.children,
31
+ accordionChildrenRef = _ref.accordionChildrenRef,
31
32
  paddingSize = _ref.paddingSize,
32
33
  isLoading = _ref.isLoading,
33
34
  isLoadingMessage = _ref.isLoadingMessage,
@@ -48,7 +49,6 @@ var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
48
49
  */
49
50
  var wrapperStyles = (0, _accordion_children.euiAccordionChildWrapperStyles)(euiTheme);
50
51
  var wrapperCssStyles = [wrapperStyles.euiAccordion__childWrapper, isOpen ? wrapperStyles.isOpen : wrapperStyles.isClosed];
51
- var wrapperRef = (0, _react.useRef)(null);
52
52
 
53
53
  /**
54
54
  * Update the accordion wrapper height whenever the accordion opens, and also
@@ -67,20 +67,11 @@ var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
67
67
  blockSize: isOpen ? contentHeight : 0
68
68
  };
69
69
  }, [isOpen, contentHeight]);
70
-
71
- /**
72
- * Focus the children wrapper when the accordion is opened,
73
- * but not if the accordion is initially open on mount
74
- */
75
- (0, _services.useUpdateEffect)(function () {
76
- var _wrapperRef$current;
77
- if (isOpen) (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.focus();
78
- }, [isOpen]);
79
70
  return (0, _react2.jsx)("div", (0, _extends2.default)({}, rest, {
80
71
  className: "euiAccordion__childWrapper",
81
72
  css: wrapperCssStyles,
82
73
  style: heightInlineStyle,
83
- ref: wrapperRef,
74
+ ref: accordionChildrenRef,
84
75
  role: "region",
85
76
  tabIndex: -1
86
77
  // @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
@@ -227,18 +227,27 @@ var EuiBasicTable = /*#__PURE__*/function (_Component) {
227
227
  var _ref5, _this$props$paginatio, _this$props$paginatio2, _this$context$EuiTabl;
228
228
  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;
229
229
  }
230
+ }, {
231
+ key: "isSelectionControlled",
232
+ get: function get() {
233
+ var _this$props$selection;
234
+ return !!((_this$props$selection = this.props.selection) !== null && _this$props$selection !== void 0 && _this$props$selection.selected);
235
+ }
230
236
  }, {
231
237
  key: "getInitialSelection",
232
238
  value: function getInitialSelection() {
239
+ if (this.isSelectionControlled) return;
233
240
  if (this.props.selection && this.props.selection.initialSelected && !this.state.initialSelectionRendered && this.props.items.length > 0) {
234
241
  this.setState({
235
- selection: this.props.selection.initialSelected
236
- });
237
- this.setState({
242
+ selection: this.props.selection.initialSelected,
238
243
  initialSelectionRendered: true
239
244
  });
240
245
  }
241
246
  }
247
+
248
+ /**
249
+ * @deprecated Use `selection.selected` instead to declaratively control table selection
250
+ */
242
251
  }, {
243
252
  key: "setSelection",
244
253
  value: function setSelection(newSelection) {
@@ -261,15 +270,15 @@ var EuiBasicTable = /*#__PURE__*/function (_Component) {
261
270
  }
262
271
  }, {
263
272
  key: "changeSelection",
264
- value: function changeSelection(selection) {
265
- if (!this.props.selection) {
266
- return;
267
- }
268
- this.setState({
269
- selection: selection
270
- });
271
- if (this.props.selection.onSelectionChange) {
272
- this.props.selection.onSelectionChange(selection);
273
+ value: function changeSelection(changedSelection) {
274
+ var _selection$onSelectio;
275
+ var selection = this.props.selection;
276
+ if (!selection) return;
277
+ (_selection$onSelectio = selection.onSelectionChange) === null || _selection$onSelectio === void 0 ? void 0 : _selection$onSelectio.call(selection, changedSelection);
278
+ if (!this.isSelectionControlled) {
279
+ this.setState({
280
+ selection: changedSelection
281
+ });
273
282
  }
274
283
  }
275
284
  }, {
@@ -957,16 +966,30 @@ var EuiBasicTable = /*#__PURE__*/function (_Component) {
957
966
  selection: []
958
967
  };
959
968
  }
960
- var itemId = nextProps.itemId;
961
- var selection = prevState.selection.filter(function (selectedItem) {
962
- return nextProps.items.findIndex(function (item) {
969
+ var controlledSelection = nextProps.selection.selected;
970
+ var unfilteredSelection = controlledSelection !== null && controlledSelection !== void 0 ? controlledSelection : prevState.selection;
971
+
972
+ // Ensure we're not including selections that aren't in the
973
+ // current `items` array (affected by pagination)
974
+ var itemId = nextProps.itemId,
975
+ items = nextProps.items;
976
+ var selection = unfilteredSelection.filter(function (selectedItem) {
977
+ return items.findIndex(function (item) {
963
978
  return getItemId(item, itemId) === getItemId(selectedItem, itemId);
964
979
  }) !== -1;
965
980
  });
966
- if (selection.length !== prevState.selection.length) {
967
- if (nextProps.selection.onSelectionChange) {
968
- nextProps.selection.onSelectionChange(selection);
969
- }
981
+
982
+ // If some selected items were filtered out, update state and callback
983
+ if (selection.length !== unfilteredSelection.length) {
984
+ var _nextProps$selection$, _nextProps$selection;
985
+ (_nextProps$selection$ = (_nextProps$selection = nextProps.selection).onSelectionChange) === null || _nextProps$selection$ === void 0 ? void 0 : _nextProps$selection$.call(_nextProps$selection, selection);
986
+ return {
987
+ selection: selection
988
+ };
989
+ }
990
+
991
+ // Always update selection state from props if controlled
992
+ if (controlledSelection) {
970
993
  return {
971
994
  selection: selection
972
995
  };
@@ -7,14 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.SIZES = exports.EuiButton = exports.COLORS = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
10
  var _react = _interopRequireDefault(require("react"));
12
11
  var _classnames = _interopRequireDefault(require("classnames"));
13
12
  var _button = require("../../themes/amsterdam/global_styling/mixins/button");
14
13
  var _button_display = require("./button_display/_button_display");
15
- var _services = require("../../services");
16
14
  var _react2 = require("@emotion/react");
17
- var _excluded = ["className", "buttonRef", "color", "fill"];
15
+ var _excluded = ["className", "buttonRef", "size", "color", "fill"];
18
16
  /*
19
17
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
20
18
  * or more contributor license agreements. Licensed under the Elastic License
@@ -22,7 +20,7 @@ var _excluded = ["className", "buttonRef", "color", "fill"];
22
20
  * in compliance with, at your election, the Elastic License 2.0 or the Server
23
21
  * Side Public License, v 1.
24
22
  */
25
- var COLORS = [].concat((0, _toConsumableArray2.default)(_button.BUTTON_COLORS), ['ghost']);
23
+ var COLORS = _button.BUTTON_COLORS;
26
24
  exports.COLORS = COLORS;
27
25
  var SIZES = ['s', 'm'];
28
26
  exports.SIZES = SIZES;
@@ -30,47 +28,31 @@ exports.SIZES = SIZES;
30
28
  * EuiButton is largely responsible for providing relevant props
31
29
  * and the logic for element-specific attributes
32
30
  */
33
- var EuiButton = function EuiButton(props) {
34
- var className = props.className,
35
- buttonRef = props.buttonRef,
36
- _props$color = props.color,
37
- _color = _props$color === void 0 ? 'primary' : _props$color,
38
- fill = props.fill,
39
- rest = (0, _objectWithoutProperties2.default)(props, _excluded);
40
- var buttonIsDisabled = (0, _button_display.isButtonDisabled)({
31
+ var EuiButton = function EuiButton(_ref) {
32
+ var className = _ref.className,
33
+ buttonRef = _ref.buttonRef,
34
+ _ref$size = _ref.size,
35
+ size = _ref$size === void 0 ? 'm' : _ref$size,
36
+ _ref$color = _ref.color,
37
+ color = _ref$color === void 0 ? 'primary' : _ref$color,
38
+ fill = _ref.fill,
39
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
40
+ var isDisabled = (0, _button_display.isButtonDisabled)({
41
41
  href: rest.href,
42
42
  isDisabled: rest.isDisabled || rest.disabled,
43
43
  isLoading: rest.isLoading
44
44
  });
45
- var color = buttonIsDisabled ? 'disabled' : _color;
46
45
  var buttonColorStyles = (0, _button.useEuiButtonColorCSS)({
47
46
  display: fill ? 'fill' : 'base'
48
- })[color === 'ghost' ? 'text' : color];
47
+ })[isDisabled ? 'disabled' : color];
49
48
  var buttonFocusStyle = (0, _button.useEuiButtonFocusCSS)();
50
49
  var classes = (0, _classnames.default)('euiButton', className);
51
50
  var cssStyles = [buttonColorStyles, buttonFocusStyle];
52
- if (_color === 'ghost') {
53
- // INCEPTION: If `ghost`, re-implement with a wrapping dark mode theme provider
54
- return (0, _react2.jsx)(_services.EuiThemeProvider, {
55
- colorMode: "dark",
56
- wrapperProps: {
57
- cloneElement: true
58
- }
59
- }, (0, _react2.jsx)(EuiButton, (0, _extends2.default)({}, props, {
60
- color: "text"
61
- })));
62
- }
63
51
  return (0, _react2.jsx)(_button_display.EuiButtonDisplay, (0, _extends2.default)({
64
52
  className: classes,
65
53
  css: cssStyles,
66
- ref: buttonRef
54
+ ref: buttonRef,
55
+ size: size
67
56
  }, rest));
68
57
  };
69
- exports.EuiButton = EuiButton;
70
- EuiButton.displayName = 'EuiButton';
71
-
72
- // Use defaultProps for simple pass-through props
73
- EuiButton.defaultProps = {
74
- size: 'm',
75
- color: 'primary'
76
- };
58
+ exports.EuiButton = EuiButton;
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.SIZES = exports.FLUSH_TYPES = exports.EuiButtonEmpty = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -35,55 +35,43 @@ var FLUSH_TYPES = ['left', 'right', 'both'];
35
35
  * `iconType`, `iconSide`, and `textProps`
36
36
  */
37
37
  exports.FLUSH_TYPES = FLUSH_TYPES;
38
- var EuiButtonEmpty = function EuiButtonEmpty(props) {
39
- var children = props.children,
40
- className = props.className,
41
- iconType = props.iconType,
42
- _props$iconSide = props.iconSide,
43
- iconSide = _props$iconSide === void 0 ? 'left' : _props$iconSide,
44
- _props$iconSize = props.iconSize,
45
- iconSize = _props$iconSize === void 0 ? 'm' : _props$iconSize,
46
- _props$color = props.color,
47
- _color = _props$color === void 0 ? 'primary' : _props$color,
48
- _props$size = props.size,
49
- size = _props$size === void 0 ? 'm' : _props$size,
50
- flush = props.flush,
51
- _isDisabled = props.isDisabled,
52
- disabled = props.disabled,
53
- isLoading = props.isLoading,
54
- href = props.href,
55
- target = props.target,
56
- rel = props.rel,
57
- _props$type = props.type,
58
- type = _props$type === void 0 ? 'button' : _props$type,
59
- buttonRef = props.buttonRef,
60
- contentProps = props.contentProps,
61
- textProps = props.textProps,
62
- isSelected = props.isSelected,
63
- rest = (0, _objectWithoutProperties2.default)(props, _excluded);
38
+ var EuiButtonEmpty = function EuiButtonEmpty(_ref) {
39
+ var children = _ref.children,
40
+ className = _ref.className,
41
+ iconType = _ref.iconType,
42
+ _ref$iconSide = _ref.iconSide,
43
+ iconSide = _ref$iconSide === void 0 ? 'left' : _ref$iconSide,
44
+ _ref$iconSize = _ref.iconSize,
45
+ iconSize = _ref$iconSize === void 0 ? 'm' : _ref$iconSize,
46
+ _ref$color = _ref.color,
47
+ color = _ref$color === void 0 ? 'primary' : _ref$color,
48
+ _ref$size = _ref.size,
49
+ size = _ref$size === void 0 ? 'm' : _ref$size,
50
+ flush = _ref.flush,
51
+ _isDisabled = _ref.isDisabled,
52
+ disabled = _ref.disabled,
53
+ isLoading = _ref.isLoading,
54
+ href = _ref.href,
55
+ target = _ref.target,
56
+ rel = _ref.rel,
57
+ _ref$type = _ref.type,
58
+ type = _ref$type === void 0 ? 'button' : _ref$type,
59
+ buttonRef = _ref.buttonRef,
60
+ contentProps = _ref.contentProps,
61
+ textProps = _ref.textProps,
62
+ isSelected = _ref.isSelected,
63
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
64
64
  var isDisabled = (0, _button_display.isButtonDisabled)({
65
65
  isDisabled: _isDisabled || disabled,
66
66
  href: href,
67
67
  isLoading: isLoading
68
68
  });
69
- var color = isDisabled ? 'disabled' : _color === 'ghost' ? 'text' : _color;
70
69
  var buttonColorStyles = (0, _button.useEuiButtonColorCSS)({
71
70
  display: 'empty'
72
71
  });
73
72
  var euiTheme = (0, _services.useEuiTheme)();
74
73
  var styles = (0, _button_empty.euiButtonEmptyStyles)(euiTheme);
75
- var cssStyles = [styles.euiButtonEmpty, styles[size], buttonColorStyles[color], flush && styles.flush, flush && styles[flush], isDisabled && styles.isDisabled];
76
- if (_color === 'ghost') {
77
- // INCEPTION: If `ghost`, re-implement with a wrapping dark mode theme provider
78
- return (0, _react2.jsx)(_services.EuiThemeProvider, {
79
- colorMode: "dark",
80
- wrapperProps: {
81
- cloneElement: true
82
- }
83
- }, (0, _react2.jsx)(EuiButtonEmpty, (0, _extends2.default)({}, props, {
84
- color: "text"
85
- })));
86
- }
74
+ var cssStyles = [styles.euiButtonEmpty, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], flush && styles.flush, flush && styles[flush], isDisabled && styles.isDisabled];
87
75
  var classes = (0, _classnames.default)('euiButtonEmpty', className);
88
76
  var contentClassNames = (0, _classnames.default)('euiButtonEmpty__content', contentProps === null || contentProps === void 0 ? void 0 : contentProps.className);
89
77
  var textClassNames = (0, _classnames.default)('euiButtonEmpty__text', textProps === null || textProps === void 0 ? void 0 : textProps.className);
@@ -28,28 +28,28 @@ var SIZES = ['xs', 's', 'm'];
28
28
  exports.SIZES = SIZES;
29
29
  var DISPLAYS = ['base', 'empty', 'fill'];
30
30
  exports.DISPLAYS = DISPLAYS;
31
- var EuiButtonIcon = function EuiButtonIcon(props) {
32
- var className = props.className,
33
- iconType = props.iconType,
34
- _props$iconSize = props.iconSize,
35
- iconSize = _props$iconSize === void 0 ? 'm' : _props$iconSize,
36
- _props$color = props.color,
37
- _color = _props$color === void 0 ? 'primary' : _props$color,
38
- _isDisabled = props.isDisabled,
39
- disabled = props.disabled,
40
- href = props.href,
41
- _props$type = props.type,
42
- type = _props$type === void 0 ? 'button' : _props$type,
43
- _props$display = props.display,
44
- display = _props$display === void 0 ? 'empty' : _props$display,
45
- target = props.target,
46
- rel = props.rel,
47
- _props$size = props.size,
48
- size = _props$size === void 0 ? 'xs' : _props$size,
49
- buttonRef = props.buttonRef,
50
- isSelected = props.isSelected,
51
- isLoading = props.isLoading,
52
- rest = (0, _objectWithoutProperties2.default)(props, _excluded);
31
+ var EuiButtonIcon = function EuiButtonIcon(_ref) {
32
+ var className = _ref.className,
33
+ iconType = _ref.iconType,
34
+ _ref$iconSize = _ref.iconSize,
35
+ iconSize = _ref$iconSize === void 0 ? 'm' : _ref$iconSize,
36
+ _ref$color = _ref.color,
37
+ color = _ref$color === void 0 ? 'primary' : _ref$color,
38
+ _isDisabled = _ref.isDisabled,
39
+ disabled = _ref.disabled,
40
+ href = _ref.href,
41
+ _ref$type = _ref.type,
42
+ type = _ref$type === void 0 ? 'button' : _ref$type,
43
+ _ref$display = _ref.display,
44
+ display = _ref$display === void 0 ? 'empty' : _ref$display,
45
+ target = _ref.target,
46
+ rel = _ref.rel,
47
+ _ref$size = _ref.size,
48
+ size = _ref$size === void 0 ? 'xs' : _ref$size,
49
+ buttonRef = _ref.buttonRef,
50
+ isSelected = _ref.isSelected,
51
+ isLoading = _ref.isLoading,
52
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
53
  var euiThemeContext = (0, _services.useEuiTheme)();
54
54
  var isDisabled = (0, _button_display.isButtonDisabled)({
55
55
  isDisabled: _isDisabled || disabled,
@@ -61,26 +61,14 @@ var EuiButtonIcon = function EuiButtonIcon(props) {
61
61
  if (!rest['aria-label'] && !rest['aria-labelledby'] && !isAriaHidden) {
62
62
  console.warn("EuiButtonIcon requires aria-label or aria-labelledby to be specified because icon-only\n buttons are screen-reader-inaccessible without them.");
63
63
  }
64
- var color = isDisabled ? 'disabled' : _color === 'ghost' ? 'text' : _color;
65
64
  var buttonColorStyles = (0, _button.useEuiButtonColorCSS)({
66
65
  display: display
67
66
  });
68
67
  var buttonFocusStyle = (0, _button.useEuiButtonFocusCSS)();
68
+ var emptyHoverStyles = display === 'empty' && !isDisabled && (0, _button_icon._emptyHoverStyles)(euiThemeContext, color);
69
69
  var styles = (0, _button_icon.euiButtonIconStyles)(euiThemeContext);
70
- var emptyHoverStyles = (0, _button_icon._emptyHoverStyles)(euiThemeContext, color);
71
- var cssStyles = [styles.euiButtonIcon, styles[size], buttonColorStyles[color], buttonFocusStyle, display === 'empty' && emptyHoverStyles, isDisabled && styles.isDisabled];
70
+ var cssStyles = [styles.euiButtonIcon, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], buttonFocusStyle, emptyHoverStyles, isDisabled && styles.isDisabled];
72
71
  var classes = (0, _classnames.default)('euiButtonIcon', className);
73
- if (_color === 'ghost') {
74
- // INCEPTION: If `ghost`, re-implement with a wrapping dark mode theme provider
75
- return (0, _react2.jsx)(_services.EuiThemeProvider, {
76
- colorMode: "dark",
77
- wrapperProps: {
78
- cloneElement: true
79
- }
80
- }, (0, _react2.jsx)(EuiButtonIcon, (0, _extends2.default)({}, props, {
81
- color: "text"
82
- })));
83
- }
84
72
 
85
73
  // Add an icon to the button if one exists.
86
74
  var buttonIcon;
@@ -84,6 +84,15 @@ var _EuiCollapsibleNavBeta = function _EuiCollapsibleNavBeta(_ref) {
84
84
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
85
85
  isOverlayFullWidth = _useState6[0],
86
86
  setIsOverlayFullWidth = _useState6[1];
87
+ var _useState7 = (0, _react.useState)(false),
88
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
89
+ isOverlayOpen = _useState8[0],
90
+ setIsOverlayOpen = _useState8[1];
91
+ var toggleOverlayFlyout = (0, _react.useCallback)(function () {
92
+ setIsOverlayOpen(function (isOpen) {
93
+ return !isOpen;
94
+ });
95
+ }, []);
87
96
  var flyoutType = isOverlay ? 'overlay' : 'push';
88
97
  var isPush = !isOverlay;
89
98
 
@@ -100,12 +109,6 @@ var _EuiCollapsibleNavBeta = function _EuiCollapsibleNavBeta(_ref) {
100
109
  return window.removeEventListener('resize', onWindowResize);
101
110
  };
102
111
  }, [_width]);
103
-
104
- // If the nav was previously uncollapsed and shrinks down to the
105
- // overlay flyout, default to its hidden/collapsed state
106
- (0, _react.useEffect)(function () {
107
- if (isOverlay) setIsCollapsed(true);
108
- }, [isOverlay]);
109
112
  var width = (0, _react.useMemo)(function () {
110
113
  if (isOverlayFullWidth) return '100%';
111
114
  if (isPush && isCollapsed) return headerHeight;
@@ -154,16 +157,17 @@ var _EuiCollapsibleNavBeta = function _EuiCollapsibleNavBeta(_ref) {
154
157
  onClose: onClose,
155
158
  hideCloseButton: true
156
159
  }), children);
157
- var hideFlyout = isOverlay && isCollapsed;
160
+ var hideFlyout = isOverlay && !isOverlayOpen;
158
161
  return (0, _react2.jsx)(_context.EuiCollapsibleNavContext.Provider, {
159
162
  value: {
160
163
  isPush: isPush,
161
164
  isCollapsed: isCollapsed,
165
+ isOverlayOpen: isOverlayOpen,
162
166
  side: side
163
167
  }
164
168
  }, (0, _react2.jsx)(_collapsible_nav_button.EuiCollapsibleNavButton, {
165
169
  ref: buttonRef,
166
- onClick: toggleCollapsed,
170
+ onClick: isPush ? toggleCollapsed : toggleOverlayFlyout,
167
171
  "aria-controls": flyoutID
168
172
  }), !hideFlyout && flyout);
169
173
  };
@@ -30,7 +30,7 @@ var euiCollapsibleNavBetaStyles = function euiCollapsibleNavBetaStyles(euiThemeC
30
30
  left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-right', euiTheme.border.thin), ";;label:left;"),
31
31
  right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-left', euiTheme.border.thin), ";;label:right;"),
32
32
  isPush: /*#__PURE__*/(0, _react.css)((0, _themes.euiShadowFlat)(euiThemeContext), ";;label:isPush;"),
33
- isPushCollapsed: /*#__PURE__*/(0, _react.css)(_collapsible_nav_body_footer.euiCollapsibleNavBodyStyles._isPushCollapsed, ";;label:isPushCollapsed;"),
33
+ isPushCollapsed: /*#__PURE__*/(0, _react.css)(_collapsible_nav_body_footer.hideScrollbars, ";;label:isPushCollapsed;"),
34
34
  isOverlayFullWidth: /*#__PURE__*/(0, _react.css)("&.euiFlyout{", (0, _global_styling.logicalCSS)('max-width', '100% !important'), ";};label:isOverlayFullWidth;")
35
35
  };
36
36
  };
@@ -55,9 +55,12 @@ var EuiCollapsibleNavFooter = function EuiCollapsibleNavFooter(_ref2) {
55
55
  var className = _ref2.className,
56
56
  props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
57
57
  var classes = (0, _classnames.default)('euiCollapsibleNav__footer', className);
58
+ var _useContext2 = (0, _react.useContext)(_context.EuiCollapsibleNavContext),
59
+ isCollapsed = _useContext2.isCollapsed,
60
+ isPush = _useContext2.isPush;
58
61
  var euiTheme = (0, _services.useEuiTheme)();
59
62
  var styles = (0, _collapsible_nav_body_footer.euiCollapsibleNavFooterStyles)(euiTheme);
60
- var cssStyles = [styles.euiCollapsibleNav__footer];
63
+ var cssStyles = [styles.euiCollapsibleNav__footer, isCollapsed && isPush && styles.isPushCollapsed];
61
64
  return (0, _react2.jsx)(_flyout.EuiFlyoutFooter, (0, _extends2.default)({
62
65
  className: classes,
63
66
  css: cssStyles