@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
@@ -0,0 +1,79 @@
1
+ var _excluded = ["className", "header", "items", "isSubItem", "isSelected", "children"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ /*
6
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
+ * or more contributor license agreements. Licensed under the Elastic License
8
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
9
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
10
+ * Side Public License, v 1.
11
+ */
12
+
13
+ import React from 'react';
14
+ import PropTypes from "prop-types";
15
+ import classNames from 'classnames';
16
+ import { useEuiTheme, useGeneratedHtmlId } from '../../../services';
17
+ import { EuiCollapsibleNavSubItems } from './collapsible_nav_item';
18
+ import { euiCollapsibleNavItemVariables } from './collapsible_nav_item.styles';
19
+ import { EuiCollapsibleNavLink } from './collapsible_nav_link';
20
+ import { jsx as ___EmotionJSX } from "@emotion/react";
21
+ /**
22
+ * Internal nav group. Should look the same as an open accordion,
23
+ * but not be toggle-able to close.
24
+ *
25
+ * Yes, I know this is the 3rd component in EUI named EuiCollapsibleNavGroup :|
26
+ * I'm waiting for serverless's design architecture to settle before untangling
27
+ * this pasghetti
28
+ */
29
+ export var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
30
+ var className = _ref.className,
31
+ header = _ref.header,
32
+ items = _ref.items,
33
+ isSubItem = _ref.isSubItem,
34
+ isSelected = _ref.isSelected,
35
+ _children = _ref.children,
36
+ rest = _objectWithoutProperties(_ref, _excluded);
37
+ var classes = classNames('euiCollapsibleNavGroup', className);
38
+ var euiTheme = useEuiTheme();
39
+ var sharedStyles = euiCollapsibleNavItemVariables(euiTheme);
40
+ var cssStyles = !isSubItem ? {
41
+ css: {
42
+ margin: sharedStyles.padding,
43
+ label: 'euiCollapsibleNavGroup-isTopItem'
44
+ }
45
+ } : undefined; // Prevents Emotion from generating a selector if no styles need to be applied
46
+
47
+ var labelledById = useGeneratedHtmlId();
48
+ return ___EmotionJSX("div", _extends({
49
+ className: classes
50
+ }, cssStyles, rest), ___EmotionJSX(EuiCollapsibleNavLink, {
51
+ id: labelledById,
52
+ isSelected: isSelected,
53
+ isSubItem: isSubItem,
54
+ isInteractive: false
55
+ }, header), ___EmotionJSX(EuiCollapsibleNavSubItems, {
56
+ items: items,
57
+ isSubItem: isSubItem,
58
+ className: "euiCollapsibleNavGroup__children",
59
+ role: "group",
60
+ "aria-labelledby": labelledById
61
+ }));
62
+ };
63
+ EuiCollapsibleNavGroup.propTypes = {
64
+ className: PropTypes.string,
65
+ "aria-label": PropTypes.string,
66
+ "data-test-subj": PropTypes.string,
67
+ css: PropTypes.any,
68
+ /**
69
+ * Highlights whether an item is currently selected, e.g.
70
+ * if the user is on the same page as the nav link
71
+ */
72
+ isSelected: PropTypes.bool,
73
+ /**
74
+ * Determines whether the item should render as a top-level nav item
75
+ * or a nested nav subitem. Set internally by EUI
76
+ */
77
+ isSubItem: PropTypes.bool,
78
+ header: PropTypes.node.isRequired
79
+ };
@@ -1,4 +1,4 @@
1
- var _excluded = ["isSubItem", "title", "titleElement", "icon", "iconProps", "items", "accordionProps", "children"],
1
+ var _excluded = ["isSubItem", "title", "titleElement", "icon", "iconProps", "href", "linkProps", "items", "isCollapsible", "accordionProps", "children"],
2
2
  _excluded2 = ["renderItem", "className"],
3
3
  _excluded3 = ["items", "isSubItem", "isGroup", "className"],
4
4
  _excluded4 = ["className"];
@@ -21,6 +21,7 @@ import { EuiIcon } from '../../icon';
21
21
  import { EuiCollapsibleNavContext } from '../context';
22
22
  import { EuiCollapsedNavItem } from './collapsed';
23
23
  import { EuiCollapsibleNavAccordion } from './collapsible_nav_accordion';
24
+ import { EuiCollapsibleNavGroup } from './collapsible_nav_group';
24
25
  import { EuiCollapsibleNavLink } from './collapsible_nav_link';
25
26
  import { euiCollapsibleNavItemTitleStyles, euiCollapsibleNavSubItemsStyles } from './collapsible_nav_item.styles';
26
27
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -30,13 +31,16 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
30
31
  * determine whether to render an accordion or a link
31
32
  */
32
33
  var EuiCollapsibleNavItemDisplay = function EuiCollapsibleNavItemDisplay(_ref) {
33
- var _props$linkProps;
34
34
  var isSubItem = _ref.isSubItem,
35
35
  title = _ref.title,
36
36
  titleElement = _ref.titleElement,
37
37
  icon = _ref.icon,
38
38
  iconProps = _ref.iconProps,
39
+ href = _ref.href,
40
+ linkProps = _ref.linkProps,
39
41
  items = _ref.items,
42
+ _ref$isCollapsible = _ref.isCollapsible,
43
+ isCollapsible = _ref$isCollapsible === void 0 ? true : _ref$isCollapsible,
40
44
  accordionProps = _ref.accordionProps,
41
45
  children = _ref.children,
42
46
  props = _objectWithoutProperties(_ref, _excluded);
@@ -46,21 +50,32 @@ var EuiCollapsibleNavItemDisplay = function EuiCollapsibleNavItemDisplay(_ref) {
46
50
  icon: icon,
47
51
  iconProps: iconProps
48
52
  });
49
- var isAccordion = items && items.length > 0;
50
- if (isAccordion) {
51
- return ___EmotionJSX(EuiCollapsibleNavAccordion, _extends({
52
- buttonContent: headerContent,
53
- items: items,
54
- accordionProps: accordionProps
55
- }, props, {
56
- isSubItem: isSubItem
57
- }));
53
+ if (items) {
54
+ if (isCollapsible) {
55
+ return ___EmotionJSX(EuiCollapsibleNavAccordion, _extends({
56
+ buttonContent: headerContent,
57
+ items: items,
58
+ accordionProps: accordionProps
59
+ }, props, {
60
+ isSubItem: isSubItem
61
+ }));
62
+ } else {
63
+ return ___EmotionJSX(EuiCollapsibleNavGroup, _extends({
64
+ header: headerContent,
65
+ items: items
66
+ }, props, {
67
+ isSubItem: isSubItem
68
+ }));
69
+ }
58
70
  }
59
- return ___EmotionJSX(EuiCollapsibleNavLink, _extends({}, props, {
71
+ return ___EmotionJSX(EuiCollapsibleNavLink, _extends({
72
+ href: href,
73
+ linkProps: linkProps
74
+ }, props, {
60
75
  // EuiLink ExclusiveUnion type shenanigans
61
76
  isSubItem: isSubItem,
62
77
  isNotAccordion: true,
63
- isInteractive: !!(props.href || props.onClick || (_props$linkProps = props.linkProps) !== null && _props$linkProps !== void 0 && _props$linkProps.onClick)
78
+ isInteractive: !!(href || props.onClick || linkProps !== null && linkProps !== void 0 && linkProps.onClick)
64
79
  }), headerContent);
65
80
  };
66
81
 
@@ -68,6 +83,15 @@ var EuiCollapsibleNavItemDisplay = function EuiCollapsibleNavItemDisplay(_ref) {
68
83
  * Internal subcomponent for title display
69
84
  */
70
85
  EuiCollapsibleNavItemDisplay.propTypes = {
86
+ className: PropTypes.string,
87
+ "aria-label": PropTypes.string,
88
+ "data-test-subj": PropTypes.string,
89
+ css: PropTypes.any,
90
+ /**
91
+ * Highlights whether an item is currently selected, e.g.
92
+ * if the user is on the same page as the nav link
93
+ */
94
+ isSelected: PropTypes.bool,
71
95
  /**
72
96
  * Required text to render as the nav item title
73
97
  */
@@ -86,40 +110,42 @@ EuiCollapsibleNavItemDisplay.propTypes = {
86
110
  * Optional props to pass to the title icon
87
111
  */
88
112
  iconProps: PropTypes.any,
89
- className: PropTypes.string,
90
- "aria-label": PropTypes.string,
91
- "data-test-subj": PropTypes.string,
92
- css: PropTypes.any,
93
113
  /**
94
- * The nav item link.
95
- * If not included, and no `onClick` is specified, the nav item
96
- * will render as an non-interactive `<span>`.
97
- */
114
+ * The nav item link.
115
+ *
116
+ * If not included, and no `onClick` is specified, the nav item
117
+ * will render as an non-interactive `<span>`.
118
+ *
119
+ * Should not be used together with `items`, as the title will
120
+ * trigger the accordion collapse/expand action instead of a link.
121
+ */
98
122
  href: PropTypes.string,
99
123
  /**
100
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
101
- *
102
- * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
103
- * subitem content, pass an object with a `renderItem` callback.
104
- */
124
+ * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
125
+ */
126
+ linkProps: PropTypes.any,
127
+ /**
128
+ * Will render either an accordion or group of nested child item links.
129
+ *
130
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
131
+ * subitem content, pass an object with a `renderItem` callback.
132
+ */
105
133
  items: PropTypes.arrayOf(PropTypes.shape({
106
134
  renderItem: PropTypes.func
107
135
  }).isRequired),
108
136
  /**
109
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
110
- * accepts, including props that control the toggled state of the accordion
111
- * (e.g. `initialIsOpen`, `forceState`)
112
- */
113
- accordionProps: PropTypes.any,
114
- /**
115
- * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
116
- */
117
- linkProps: PropTypes.any,
137
+ * If set to false, will (visually) render an always-open accordion that cannot
138
+ * be toggled closed. Ignored if `items` is not passed.
139
+ *
140
+ * @default true
141
+ */
142
+ isCollapsible: PropTypes.bool,
118
143
  /**
119
- * Highlights whether an item is currently selected, e.g.
120
- * if the user is on the same page as the nav link
121
- */
122
- isSelected: PropTypes.bool,
144
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
145
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
146
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
147
+ */
148
+ accordionProps: PropTypes.any,
123
149
  /**
124
150
  * Determines whether the item should render as a top-level nav item
125
151
  * or a nested nav subitem. Set internally by EUI
@@ -166,6 +192,15 @@ export var EuiCollapsibleNavSubItem = function EuiCollapsibleNavSubItem(_ref3) {
166
192
  * Used by both `EuiCollapsibleNavGroup` and `EuiCollapsibleNavAccordion`
167
193
  */
168
194
  EuiCollapsibleNavSubItem.propTypes = {
195
+ className: PropTypes.string,
196
+ "aria-label": PropTypes.string,
197
+ "data-test-subj": PropTypes.string,
198
+ css: PropTypes.any,
199
+ /**
200
+ * Highlights whether an item is currently selected, e.g.
201
+ * if the user is on the same page as the nav link
202
+ */
203
+ isSelected: PropTypes.bool,
169
204
  /**
170
205
  * Required text to render as the nav item title
171
206
  */
@@ -184,38 +219,40 @@ EuiCollapsibleNavSubItem.propTypes = {
184
219
  * Optional props to pass to the title icon
185
220
  */
186
221
  iconProps: PropTypes.any,
187
- className: PropTypes.string,
188
- "aria-label": PropTypes.string,
189
- "data-test-subj": PropTypes.string,
190
- css: PropTypes.any,
191
222
  /**
192
- * The nav item link.
193
- * If not included, and no `onClick` is specified, the nav item
194
- * will render as an non-interactive `<span>`.
195
- */
223
+ * The nav item link.
224
+ *
225
+ * If not included, and no `onClick` is specified, the nav item
226
+ * will render as an non-interactive `<span>`.
227
+ *
228
+ * Should not be used together with `items`, as the title will
229
+ * trigger the accordion collapse/expand action instead of a link.
230
+ */
196
231
  href: PropTypes.string,
197
232
  /**
198
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
199
- *
200
- * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
201
- * subitem content, pass an object with a `renderItem` callback.
202
- */
203
- items: PropTypes.arrayOf(PropTypes.any.isRequired),
233
+ * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
234
+ */
235
+ linkProps: PropTypes.any,
204
236
  /**
205
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
206
- * accepts, including props that control the toggled state of the accordion
207
- * (e.g. `initialIsOpen`, `forceState`)
208
- */
209
- accordionProps: PropTypes.any,
237
+ * Will render either an accordion or group of nested child item links.
238
+ *
239
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
240
+ * subitem content, pass an object with a `renderItem` callback.
241
+ */
242
+ items: PropTypes.arrayOf(PropTypes.any.isRequired),
210
243
  /**
211
- * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
212
- */
213
- linkProps: PropTypes.any,
244
+ * If set to false, will (visually) render an always-open accordion that cannot
245
+ * be toggled closed. Ignored if `items` is not passed.
246
+ *
247
+ * @default true
248
+ */
249
+ isCollapsible: PropTypes.bool,
214
250
  /**
215
- * Highlights whether an item is currently selected, e.g.
216
- * if the user is on the same page as the nav link
217
- */
218
- isSelected: PropTypes.bool,
251
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
252
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
253
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
254
+ */
255
+ accordionProps: PropTypes.any,
219
256
  renderItem: PropTypes.func
220
257
  };
221
258
  export var EuiCollapsibleNavSubItems = function EuiCollapsibleNavSubItems(_ref4) {
@@ -263,6 +300,15 @@ EuiCollapsibleNavSubItems.propTypes = {
263
300
  */
264
301
  isSubItem: PropTypes.bool,
265
302
  items: PropTypes.arrayOf(PropTypes.shape({
303
+ className: PropTypes.string,
304
+ "aria-label": PropTypes.string,
305
+ "data-test-subj": PropTypes.string,
306
+ css: PropTypes.any,
307
+ /**
308
+ * Highlights whether an item is currently selected, e.g.
309
+ * if the user is on the same page as the nav link
310
+ */
311
+ isSelected: PropTypes.bool,
266
312
  /**
267
313
  * Required text to render as the nav item title
268
314
  */
@@ -281,38 +327,40 @@ EuiCollapsibleNavSubItems.propTypes = {
281
327
  * Optional props to pass to the title icon
282
328
  */
283
329
  iconProps: PropTypes.any,
284
- className: PropTypes.string,
285
- "aria-label": PropTypes.string,
286
- "data-test-subj": PropTypes.string,
287
- css: PropTypes.any,
288
330
  /**
289
- * The nav item link.
290
- * If not included, and no `onClick` is specified, the nav item
291
- * will render as an non-interactive `<span>`.
292
- */
331
+ * The nav item link.
332
+ *
333
+ * If not included, and no `onClick` is specified, the nav item
334
+ * will render as an non-interactive `<span>`.
335
+ *
336
+ * Should not be used together with `items`, as the title will
337
+ * trigger the accordion collapse/expand action instead of a link.
338
+ */
293
339
  href: PropTypes.string,
294
340
  /**
295
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
296
- *
297
- * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
298
- * subitem content, pass an object with a `renderItem` callback.
299
- */
300
- items: PropTypes.arrayOf(PropTypes.any.isRequired),
341
+ * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
342
+ */
343
+ linkProps: PropTypes.any,
301
344
  /**
302
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
303
- * accepts, including props that control the toggled state of the accordion
304
- * (e.g. `initialIsOpen`, `forceState`)
305
- */
306
- accordionProps: PropTypes.any,
345
+ * Will render either an accordion or group of nested child item links.
346
+ *
347
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
348
+ * subitem content, pass an object with a `renderItem` callback.
349
+ */
350
+ items: PropTypes.arrayOf(PropTypes.any.isRequired),
307
351
  /**
308
- * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
309
- */
310
- linkProps: PropTypes.any,
352
+ * If set to false, will (visually) render an always-open accordion that cannot
353
+ * be toggled closed. Ignored if `items` is not passed.
354
+ *
355
+ * @default true
356
+ */
357
+ isCollapsible: PropTypes.bool,
311
358
  /**
312
- * Highlights whether an item is currently selected, e.g.
313
- * if the user is on the same page as the nav link
314
- */
315
- isSelected: PropTypes.bool,
359
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
360
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
361
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
362
+ */
363
+ accordionProps: PropTypes.any,
316
364
  renderItem: PropTypes.func
317
365
  }).isRequired).isRequired,
318
366
  isGroup: PropTypes.bool
@@ -333,6 +381,15 @@ export var EuiCollapsibleNavItem = function EuiCollapsibleNavItem(_ref5) {
333
381
  }));
334
382
  };
335
383
  EuiCollapsibleNavItem.propTypes = {
384
+ className: PropTypes.string,
385
+ "aria-label": PropTypes.string,
386
+ "data-test-subj": PropTypes.string,
387
+ css: PropTypes.any,
388
+ /**
389
+ * Highlights whether an item is currently selected, e.g.
390
+ * if the user is on the same page as the nav link
391
+ */
392
+ isSelected: PropTypes.bool,
336
393
  /**
337
394
  * Required text to render as the nav item title
338
395
  */
@@ -351,38 +408,40 @@ EuiCollapsibleNavItem.propTypes = {
351
408
  * Optional props to pass to the title icon
352
409
  */
353
410
  iconProps: PropTypes.any,
354
- className: PropTypes.string,
355
- "aria-label": PropTypes.string,
356
- "data-test-subj": PropTypes.string,
357
- css: PropTypes.any,
358
411
  /**
359
- * The nav item link.
360
- * If not included, and no `onClick` is specified, the nav item
361
- * will render as an non-interactive `<span>`.
362
- */
412
+ * The nav item link.
413
+ *
414
+ * If not included, and no `onClick` is specified, the nav item
415
+ * will render as an non-interactive `<span>`.
416
+ *
417
+ * Should not be used together with `items`, as the title will
418
+ * trigger the accordion collapse/expand action instead of a link.
419
+ */
363
420
  href: PropTypes.string,
364
421
  /**
365
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
366
- *
367
- * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
368
- * subitem content, pass an object with a `renderItem` callback.
369
- */
422
+ * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
423
+ */
424
+ linkProps: PropTypes.any,
425
+ /**
426
+ * Will render either an accordion or group of nested child item links.
427
+ *
428
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
429
+ * subitem content, pass an object with a `renderItem` callback.
430
+ */
370
431
  items: PropTypes.arrayOf(PropTypes.shape({
371
432
  renderItem: PropTypes.func
372
433
  }).isRequired),
373
434
  /**
374
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
375
- * accepts, including props that control the toggled state of the accordion
376
- * (e.g. `initialIsOpen`, `forceState`)
377
- */
378
- accordionProps: PropTypes.any,
379
- /**
380
- * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
381
- */
382
- linkProps: PropTypes.any,
435
+ * If set to false, will (visually) render an always-open accordion that cannot
436
+ * be toggled closed. Ignored if `items` is not passed.
437
+ *
438
+ * @default true
439
+ */
440
+ isCollapsible: PropTypes.bool,
383
441
  /**
384
- * Highlights whether an item is currently selected, e.g.
385
- * if the user is on the same page as the nav link
386
- */
387
- isSelected: PropTypes.bool
442
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
443
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
444
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
445
+ */
446
+ accordionProps: PropTypes.any
388
447
  };
@@ -67,16 +67,6 @@ EuiCollapsibleNavLink.propTypes = {
67
67
  "aria-label": PropTypes.string,
68
68
  "data-test-subj": PropTypes.string,
69
69
  css: PropTypes.any,
70
- /**
71
- * The nav item link.
72
- * If not included, and no `onClick` is specified, the nav item
73
- * will render as an non-interactive `<span>`.
74
- */
75
- href: PropTypes.string,
76
- /**
77
- * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
78
- */
79
- linkProps: PropTypes.any,
80
70
  /**
81
71
  * Highlights whether an item is currently selected, e.g.
82
72
  * if the user is on the same page as the nav link
@@ -10,5 +10,6 @@ import { createContext } from 'react';
10
10
  export var EuiCollapsibleNavContext = /*#__PURE__*/createContext({
11
11
  isCollapsed: false,
12
12
  isPush: true,
13
+ isOverlayOpen: false,
13
14
  side: 'left'
14
15
  });
@@ -730,7 +730,7 @@ EuiComboBox.propTypes = {
730
730
  /**
731
731
  * By default, EuiComboBox will truncate option labels at the end of
732
732
  * the string. You can use pass in a custom truncation configuration that
733
- * accepts any prop that [EuiTextTruncate](/#/utilities/text-truncate) prop
733
+ * accepts any [EuiTextTruncate](/#/utilities/text-truncation) prop,
734
734
  * except for `text` and `children`.
735
735
  *
736
736
  * Note: when searching, custom truncation props are ignored. The highlighted search
@@ -6,13 +6,13 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
- import React from 'react';
9
+ import React, { useMemo } from 'react';
10
10
  import PropTypes from "prop-types";
11
- import { useEuiTheme } from '../../services';
12
11
  import classNames from 'classnames';
12
+ import { useEuiTheme } from '../../services';
13
13
  import { EuiPanel } from '../panel';
14
14
  import { EuiAvatar } from '../avatar';
15
- import { euiCommentEventStyles, euiCommentEventHeaderStyles, euiCommentEventBodyStyles } from './comment_event.styles';
15
+ import { euiCommentEventBorderColors, euiCommentEventStyles, euiCommentEventHeaderStyles, euiCommentEventBodyStyles } from './comment_event.styles';
16
16
  import { jsx as ___EmotionJSX } from "@emotion/react";
17
17
  export var EuiCommentEvent = function EuiCommentEvent(_ref) {
18
18
  var children = _ref.children,
@@ -26,6 +26,9 @@ export var EuiCommentEvent = function EuiCommentEvent(_ref) {
26
26
  eventColor = _ref.eventColor;
27
27
  var classes = classNames('euiCommentEvent', className);
28
28
 
29
+ /**
30
+ * Branching logic
31
+ */
29
32
  // the username is required so we only check if other elements are define
30
33
  var hasEventElements = eventIcon || timestamp || event || actions;
31
34
  var isTypeRegular = children && hasEventElements;
@@ -38,27 +41,36 @@ export var EuiCommentEvent = function EuiCommentEvent(_ref) {
38
41
  } else {
39
42
  type = 'custom';
40
43
  }
44
+ if (isTypeRegular && !eventColor) {
45
+ eventColor = 'subdued';
46
+ }
47
+ if (isTypeUpdate && !eventColor) {
48
+ eventColor = 'transparent';
49
+ }
50
+ var showEventBorders = isTypeRegular;
51
+ var panelProps = useMemo(function () {
52
+ return {
53
+ color: type === 'custom' ? 'transparent' : eventColor,
54
+ paddingSize: type === 'custom' ? 'none' : 's',
55
+ borderRadius: type === 'regular' ? 'none' : 'm',
56
+ hasShadow: false // `plain` color needs this
57
+ };
58
+ }, [type, eventColor]);
59
+ var isFigure = isTypeRegular;
60
+ var Element = isFigure ? 'figure' : 'div';
61
+ var HeaderElement = isFigure ? 'figcaption' : 'div';
62
+
63
+ /**
64
+ * Styles
65
+ */
41
66
  var euiTheme = useEuiTheme();
67
+ var borderStyles = euiCommentEventBorderColors(euiTheme);
42
68
  var styles = euiCommentEventStyles(euiTheme);
43
- var cssStyles = [styles.euiCommentEvent, styles[type]];
69
+ var cssStyles = [styles.euiCommentEvent, showEventBorders && styles.border, showEventBorders && borderStyles[eventColor]];
44
70
  var headerStyles = euiCommentEventHeaderStyles(euiTheme);
45
- var cssHeaderStyles = [headerStyles.euiCommentEvent__header, eventColor && headerStyles.hasEventColor, isTypeRegular && headerStyles.regular];
71
+ var cssHeaderStyles = [headerStyles.euiCommentEvent__header, showEventBorders && headerStyles.border, showEventBorders && borderStyles[eventColor]];
46
72
  var bodyStyles = euiCommentEventBodyStyles(euiTheme);
47
73
  var cssBodyStyles = [bodyStyles.euiCommentEvent__body, bodyStyles[type]];
48
- var isFigure = isTypeRegular;
49
- var Element = isFigure ? 'figure' : 'div';
50
- var HeaderElement = isFigure ? 'figcaption' : 'div';
51
-
52
- // The 'plain' color creates a shadow and adds a border radius that we don't want.
53
- // So for these cases we use the transparent color instead.
54
- var finalEventColor = eventColor === 'plain' ? 'transparent' : eventColor;
55
- var panelProps = finalEventColor ? {
56
- color: finalEventColor,
57
- paddingSize: 's'
58
- } : {
59
- color: 'transparent',
60
- paddingSize: 'none'
61
- };
62
74
  return ___EmotionJSX(Element, {
63
75
  className: classes,
64
76
  css: cssStyles,