@elastic/eui 89.1.0 → 90.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/dist/eui_theme_dark.css +2 -467
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +2 -467
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accessibility/skip_link/skip_link.js +1 -2
  6. package/es/components/accordion/accordion.js +27 -2
  7. package/es/components/accordion/accordion_children/accordion_children.js +7 -15
  8. package/es/components/basic_table/basic_table.js +60 -23
  9. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  10. package/es/components/basic_table/in_memory_table.js +18 -4
  11. package/es/components/button/button.js +17 -45
  12. package/es/components/button/button_empty/button_empty.js +30 -47
  13. package/es/components/button/button_icon/button_icon.js +26 -43
  14. package/es/components/card/card.js +1 -6
  15. package/es/components/card/card_select/card_select.js +1 -6
  16. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  17. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  18. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +18 -4
  19. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  20. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  21. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  22. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  23. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  24. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +158 -0
  25. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  26. package/es/components/collapsible_nav_beta/context.js +1 -0
  27. package/es/components/comment_list/comment_event.js +31 -19
  28. package/es/components/comment_list/comment_event.styles.js +26 -24
  29. package/es/components/context_menu/context_menu.js +28 -22
  30. package/es/components/context_menu/context_menu.styles.js +26 -0
  31. package/es/components/context_menu/context_menu_item.js +95 -125
  32. package/es/components/context_menu/context_menu_item.styles.js +82 -0
  33. package/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  34. package/es/components/context_menu/context_menu_panel.js +32 -61
  35. package/es/components/context_menu/context_menu_panel.styles.js +40 -0
  36. package/es/components/control_bar/control_bar.js +28 -23
  37. package/es/components/datagrid/body/data_grid_body.js +6 -7
  38. package/es/components/datagrid/body/data_grid_body_custom.js +6 -7
  39. package/es/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  40. package/es/components/datagrid/body/data_grid_cell.js +12 -13
  41. package/es/components/datagrid/body/data_grid_row_manager.js +28 -9
  42. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  43. package/es/components/datagrid/body/header/data_grid_header_row.js +6 -7
  44. package/es/components/datagrid/data_grid.js +6 -7
  45. package/es/components/datagrid/utils/in_memory.js +6 -7
  46. package/es/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  47. package/es/components/form/field_number/field_number.js +13 -9
  48. package/es/components/form/field_password/field_password.js +4 -7
  49. package/es/components/form/range/dual_range.js +110 -85
  50. package/es/components/form/range/range.js +47 -40
  51. package/es/components/form/range/range_track.js +6 -20
  52. package/es/components/form/range/utils.js +1 -2
  53. package/es/components/header/header_links/header_link.js +1 -6
  54. package/es/components/header/header_section/header_section_item_button.js +1 -6
  55. package/es/components/list_group/list_group.js +1 -2
  56. package/es/components/list_group/list_group_item.js +7 -5
  57. package/es/components/list_group/list_group_item_extra_action.js +1 -2
  58. package/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  59. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  60. package/es/components/modal/confirm_modal.js +1 -1
  61. package/es/components/notification/notification_event.js +1 -6
  62. package/es/components/notification/notification_event_read_button.js +1 -2
  63. package/es/components/page/index.js +1 -4
  64. package/es/components/pagination/pagination_button.js +1 -6
  65. package/es/components/popover/input_popover.js +26 -11
  66. package/es/components/tabs/tab.js +1 -1
  67. package/eui.d.ts +198 -287
  68. package/i18ntokens.json +103 -67
  69. package/lib/components/accessibility/skip_link/skip_link.js +1 -2
  70. package/lib/components/accordion/accordion.js +27 -2
  71. package/lib/components/accordion/accordion_children/accordion_children.js +5 -13
  72. package/lib/components/basic_table/basic_table.js +60 -23
  73. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  74. package/lib/components/basic_table/in_memory_table.js +18 -4
  75. package/lib/components/button/button.js +24 -51
  76. package/lib/components/button/button_empty/button_empty.js +29 -46
  77. package/lib/components/button/button_icon/button_icon.js +25 -42
  78. package/lib/components/card/card.js +1 -6
  79. package/lib/components/card/card_select/card_select.js +1 -6
  80. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  81. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  82. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +18 -4
  83. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  84. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  85. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  86. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  87. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  88. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +165 -0
  89. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  90. package/lib/components/collapsible_nav_beta/context.js +1 -0
  91. package/lib/components/comment_list/comment_event.js +33 -18
  92. package/lib/components/comment_list/comment_event.styles.js +28 -25
  93. package/lib/components/context_menu/context_menu.js +31 -24
  94. package/lib/components/context_menu/context_menu.styles.js +34 -0
  95. package/lib/components/context_menu/context_menu_item.js +102 -133
  96. package/lib/components/context_menu/context_menu_item.styles.js +87 -0
  97. package/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  98. package/lib/components/context_menu/context_menu_panel.js +35 -63
  99. package/lib/components/context_menu/context_menu_panel.styles.js +46 -0
  100. package/lib/components/control_bar/control_bar.js +28 -23
  101. package/lib/components/datagrid/body/data_grid_body.js +6 -7
  102. package/lib/components/datagrid/body/data_grid_body_custom.js +6 -7
  103. package/lib/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  104. package/lib/components/datagrid/body/data_grid_cell.js +12 -13
  105. package/lib/components/datagrid/body/data_grid_row_manager.js +33 -16
  106. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  107. package/lib/components/datagrid/body/header/data_grid_header_row.js +6 -7
  108. package/lib/components/datagrid/data_grid.js +6 -7
  109. package/lib/components/datagrid/utils/in_memory.js +6 -7
  110. package/lib/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  111. package/lib/components/form/field_number/field_number.js +12 -8
  112. package/lib/components/form/field_password/field_password.js +4 -7
  113. package/lib/components/form/range/dual_range.js +110 -85
  114. package/lib/components/form/range/range.js +47 -40
  115. package/lib/components/form/range/range_track.js +5 -19
  116. package/lib/components/form/range/utils.js +1 -2
  117. package/lib/components/header/header_links/header_link.js +1 -6
  118. package/lib/components/header/header_section/header_section_item_button.js +1 -6
  119. package/lib/components/list_group/list_group.js +1 -2
  120. package/lib/components/list_group/list_group_item.js +7 -5
  121. package/lib/components/list_group/list_group_item_extra_action.js +1 -2
  122. package/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  123. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  124. package/lib/components/modal/confirm_modal.js +1 -1
  125. package/lib/components/notification/notification_event.js +1 -6
  126. package/lib/components/notification/notification_event_read_button.js +1 -2
  127. package/lib/components/page/index.js +1 -40
  128. package/lib/components/popover/input_popover.js +26 -11
  129. package/lib/components/tabs/tab.js +1 -1
  130. package/optimize/es/components/accordion/accordion.js +27 -2
  131. package/optimize/es/components/accordion/accordion_children/accordion_children.js +5 -14
  132. package/optimize/es/components/basic_table/basic_table.js +42 -19
  133. package/optimize/es/components/button/button.js +15 -33
  134. package/optimize/es/components/button/button_empty/button_empty.js +29 -41
  135. package/optimize/es/components/button/button_icon/button_icon.js +25 -37
  136. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  137. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  138. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  139. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +60 -0
  140. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +21 -10
  141. package/optimize/es/components/collapsible_nav_beta/context.js +1 -0
  142. package/optimize/es/components/comment_list/comment_event.js +31 -19
  143. package/optimize/es/components/comment_list/comment_event.styles.js +26 -24
  144. package/optimize/es/components/context_menu/context_menu.js +25 -19
  145. package/optimize/es/components/context_menu/context_menu.styles.js +26 -0
  146. package/optimize/es/components/context_menu/context_menu_item.js +94 -119
  147. package/optimize/es/components/context_menu/context_menu_item.styles.js +82 -0
  148. package/optimize/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  149. package/optimize/es/components/context_menu/context_menu_panel.js +29 -58
  150. package/optimize/es/components/context_menu/context_menu_panel.styles.js +40 -0
  151. package/optimize/es/components/control_bar/control_bar.js +28 -23
  152. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +23 -9
  153. package/optimize/es/components/form/field_number/field_number.js +13 -9
  154. package/optimize/es/components/form/field_password/field_password.js +4 -7
  155. package/optimize/es/components/form/range/dual_range.js +110 -85
  156. package/optimize/es/components/form/range/range.js +47 -40
  157. package/optimize/es/components/form/range/range_track.js +5 -14
  158. package/optimize/es/components/form/range/utils.js +1 -2
  159. package/optimize/es/components/list_group/list_group_item.js +6 -3
  160. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  161. package/optimize/es/components/page/index.js +1 -4
  162. package/optimize/es/components/popover/input_popover.js +26 -11
  163. package/optimize/es/components/tabs/tab.js +1 -1
  164. package/optimize/lib/components/accordion/accordion.js +27 -2
  165. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +3 -12
  166. package/optimize/lib/components/basic_table/basic_table.js +42 -19
  167. package/optimize/lib/components/button/button.js +16 -34
  168. package/optimize/lib/components/button/button_empty/button_empty.js +28 -40
  169. package/optimize/lib/components/button/button_icon/button_icon.js +24 -36
  170. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  171. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  172. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  173. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +67 -0
  174. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +21 -10
  175. package/optimize/lib/components/collapsible_nav_beta/context.js +1 -0
  176. package/optimize/lib/components/comment_list/comment_event.js +33 -18
  177. package/optimize/lib/components/comment_list/comment_event.styles.js +28 -25
  178. package/optimize/lib/components/context_menu/context_menu.js +28 -21
  179. package/optimize/lib/components/context_menu/context_menu.styles.js +34 -0
  180. package/optimize/lib/components/context_menu/context_menu_item.js +101 -128
  181. package/optimize/lib/components/context_menu/context_menu_item.styles.js +87 -0
  182. package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  183. package/optimize/lib/components/context_menu/context_menu_panel.js +32 -60
  184. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +47 -0
  185. package/optimize/lib/components/control_bar/control_bar.js +28 -23
  186. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +23 -8
  187. package/optimize/lib/components/form/field_number/field_number.js +12 -8
  188. package/optimize/lib/components/form/field_password/field_password.js +5 -8
  189. package/optimize/lib/components/form/range/dual_range.js +110 -85
  190. package/optimize/lib/components/form/range/range.js +47 -40
  191. package/optimize/lib/components/form/range/range_track.js +4 -13
  192. package/optimize/lib/components/form/range/utils.js +1 -2
  193. package/optimize/lib/components/list_group/list_group_item.js +6 -3
  194. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  195. package/optimize/lib/components/page/index.js +1 -40
  196. package/optimize/lib/components/popover/input_popover.js +27 -12
  197. package/optimize/lib/components/tabs/tab.js +1 -1
  198. package/package.json +5 -5
  199. package/src/components/datagrid/_data_grid_data_row.scss +0 -1
  200. package/src/components/date_picker/super_date_picker/date_popover/_date_popover_content.scss +2 -1
  201. package/src/components/index.scss +0 -2
  202. package/test-env/components/accessibility/skip_link/skip_link.js +1 -2
  203. package/test-env/components/accordion/accordion.js +27 -2
  204. package/test-env/components/accordion/accordion_children/accordion_children.js +5 -13
  205. package/test-env/components/basic_table/basic_table.js +60 -23
  206. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  207. package/test-env/components/basic_table/in_memory_table.js +18 -4
  208. package/test-env/components/button/button.js +17 -40
  209. package/test-env/components/button/button_empty/button_empty.js +29 -46
  210. package/test-env/components/button/button_icon/button_icon.js +25 -42
  211. package/test-env/components/card/card.js +1 -6
  212. package/test-env/components/card/card_select/card_select.js +1 -6
  213. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  214. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  215. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +18 -4
  216. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  217. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  218. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  219. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  220. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  221. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +164 -0
  222. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  223. package/test-env/components/collapsible_nav_beta/context.js +1 -0
  224. package/test-env/components/comment_list/comment_event.js +33 -18
  225. package/test-env/components/comment_list/comment_event.styles.js +28 -25
  226. package/test-env/components/context_menu/context_menu.js +31 -24
  227. package/test-env/components/context_menu/context_menu.styles.js +34 -0
  228. package/test-env/components/context_menu/context_menu_item.js +102 -129
  229. package/test-env/components/context_menu/context_menu_item.styles.js +87 -0
  230. package/test-env/components/context_menu/context_menu_panel.a11y.js +4 -2
  231. package/test-env/components/context_menu/context_menu_panel.js +35 -63
  232. package/test-env/components/context_menu/context_menu_panel.styles.js +47 -0
  233. package/test-env/components/control_bar/control_bar.js +28 -23
  234. package/test-env/components/datagrid/body/data_grid_body.js +6 -7
  235. package/test-env/components/datagrid/body/data_grid_body_custom.js +6 -7
  236. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  237. package/test-env/components/datagrid/body/data_grid_cell.js +12 -13
  238. package/test-env/components/datagrid/body/data_grid_row_manager.js +23 -8
  239. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -7
  240. package/test-env/components/datagrid/body/header/data_grid_header_row.js +6 -7
  241. package/test-env/components/datagrid/data_grid.js +6 -7
  242. package/test-env/components/datagrid/utils/in_memory.js +6 -7
  243. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  244. package/test-env/components/form/field_number/field_number.js +12 -8
  245. package/test-env/components/form/field_password/field_password.js +4 -7
  246. package/test-env/components/form/range/dual_range.js +110 -85
  247. package/test-env/components/form/range/range.js +47 -40
  248. package/test-env/components/form/range/range_track.js +5 -14
  249. package/test-env/components/form/range/utils.js +1 -2
  250. package/test-env/components/header/header_links/header_link.js +1 -6
  251. package/test-env/components/header/header_section/header_section_item_button.js +1 -6
  252. package/test-env/components/list_group/list_group.js +1 -2
  253. package/test-env/components/list_group/list_group_item.js +7 -5
  254. package/test-env/components/list_group/list_group_item_extra_action.js +1 -2
  255. package/test-env/components/list_group/list_group_item_extra_action.styles.js +1 -1
  256. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  257. package/test-env/components/modal/confirm_modal.js +1 -1
  258. package/test-env/components/notification/notification_event.js +1 -6
  259. package/test-env/components/notification/notification_event_read_button.js +1 -2
  260. package/test-env/components/page/index.js +1 -40
  261. package/test-env/components/popover/input_popover.js +26 -11
  262. package/test-env/components/tabs/tab.js +1 -1
  263. package/es/components/page/page_content/index.js +0 -12
  264. package/es/components/page/page_content/page_content.js +0 -110
  265. package/es/components/page/page_content/page_content_body.js +0 -69
  266. package/es/components/page/page_content/page_content_header.js +0 -43
  267. package/es/components/page/page_content/page_content_header_section.js +0 -34
  268. package/es/components/page/page_side_bar/index.js +0 -9
  269. package/es/components/page/page_side_bar/page_side_bar.js +0 -60
  270. package/es/components/page/page_template.js +0 -591
  271. package/lib/components/page/page_content/index.js +0 -33
  272. package/lib/components/page/page_content/page_content.js +0 -117
  273. package/lib/components/page/page_content/page_content_body.js +0 -77
  274. package/lib/components/page/page_content/page_content_header.js +0 -50
  275. package/lib/components/page/page_content/page_content_header_section.js +0 -41
  276. package/lib/components/page/page_side_bar/index.js +0 -12
  277. package/lib/components/page/page_side_bar/page_side_bar.js +0 -67
  278. package/lib/components/page/page_template.js +0 -598
  279. package/optimize/es/components/page/page_content/index.js +0 -12
  280. package/optimize/es/components/page/page_content/page_content.js +0 -45
  281. package/optimize/es/components/page/page_content/page_content_body.js +0 -45
  282. package/optimize/es/components/page/page_content/page_content_header.js +0 -30
  283. package/optimize/es/components/page/page_content/page_content_header_section.js +0 -26
  284. package/optimize/es/components/page/page_side_bar/index.js +0 -9
  285. package/optimize/es/components/page/page_side_bar/page_side_bar.js +0 -44
  286. package/optimize/es/components/page/page_template.js +0 -325
  287. package/optimize/lib/components/page/page_content/index.js +0 -33
  288. package/optimize/lib/components/page/page_content/page_content.js +0 -52
  289. package/optimize/lib/components/page/page_content/page_content_body.js +0 -53
  290. package/optimize/lib/components/page/page_content/page_content_header.js +0 -37
  291. package/optimize/lib/components/page/page_content/page_content_header_section.js +0 -33
  292. package/optimize/lib/components/page/page_side_bar/index.js +0 -12
  293. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +0 -51
  294. package/optimize/lib/components/page/page_template.js +0 -332
  295. package/src/components/context_menu/_context_menu.scss +0 -27
  296. package/src/components/context_menu/_context_menu_item.scss +0 -65
  297. package/src/components/context_menu/_context_menu_panel.scss +0 -101
  298. package/src/components/context_menu/_index.scss +0 -3
  299. package/src/components/page/_index.scss +0 -2
  300. package/src/components/page/page_content/_index.scss +0 -4
  301. package/src/components/page/page_content/_page_content.scss +0 -25
  302. package/src/components/page/page_content/_page_content_body.scss +0 -19
  303. package/src/components/page/page_content/_page_content_header.scss +0 -20
  304. package/src/components/page/page_content/_page_content_header_section.scss +0 -17
  305. package/src/components/page/page_side_bar/_index.scss +0 -1
  306. package/src/components/page/page_side_bar/_page_side_bar.scss +0 -31
  307. package/test-env/components/page/page_content/index.js +0 -33
  308. package/test-env/components/page/page_content/page_content.js +0 -116
  309. package/test-env/components/page/page_content/page_content_body.js +0 -73
  310. package/test-env/components/page/page_content/page_content_header.js +0 -49
  311. package/test-env/components/page/page_content/page_content_header_section.js +0 -40
  312. package/test-env/components/page/page_side_bar/index.js +0 -12
  313. package/test-env/components/page/page_side_bar/page_side_bar.js +0 -66
  314. package/test-env/components/page/page_template.js +0 -594
@@ -100,6 +100,31 @@ var EuiCollapsibleNavAccordion = function EuiCollapsibleNavAccordion(_ref) {
100
100
  };
101
101
  exports.EuiCollapsibleNavAccordion = EuiCollapsibleNavAccordion;
102
102
  EuiCollapsibleNavAccordion.propTypes = {
103
+ className: _propTypes.default.string,
104
+ "aria-label": _propTypes.default.string,
105
+ "data-test-subj": _propTypes.default.string,
106
+ css: _propTypes.default.any,
107
+ /**
108
+ * The nav item link.
109
+ * If not included, and no `onClick` is specified, the nav item
110
+ * will render as an non-interactive `<span>`.
111
+ */
112
+ href: _propTypes.default.string,
113
+ /**
114
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
115
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
116
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
117
+ */
118
+ accordionProps: _propTypes.default.any,
119
+ /**
120
+ * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
121
+ */
122
+ linkProps: _propTypes.default.any,
123
+ /**
124
+ * Highlights whether an item is currently selected, e.g.
125
+ * if the user is on the same page as the nav link
126
+ */
127
+ isSelected: _propTypes.default.bool,
103
128
  /**
104
129
  * Determines whether the item should render as a top-level nav item
105
130
  * or a nested nav subitem. Set internally by EUI
@@ -136,7 +161,7 @@ EuiCollapsibleNavAccordion.propTypes = {
136
161
  */
137
162
  href: _propTypes.default.string,
138
163
  /**
139
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
164
+ * Will render either an accordion or group of nested child item links.
140
165
  *
141
166
  * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
142
167
  * subitem content, pass an object with a `renderItem` callback.
@@ -145,9 +170,16 @@ EuiCollapsibleNavAccordion.propTypes = {
145
170
  renderItem: _propTypes.default.func
146
171
  }).isRequired),
147
172
  /**
148
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
149
- * accepts, including props that control the toggled state of the accordion
150
- * (e.g. `initialIsOpen`, `forceState`)
173
+ * If set to false, will (visually) render an always-open accordion that cannot
174
+ * be toggled closed. Ignored if `items` is not passed.
175
+ *
176
+ * @default true
177
+ */
178
+ isCollapsible: _propTypes.default.bool,
179
+ /**
180
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
181
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
182
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
151
183
  */
152
184
  accordionProps: _propTypes.default.any,
153
185
  /**
@@ -24,7 +24,7 @@ var euiCollapsibleNavAccordionStyles = function euiCollapsibleNavAccordionStyles
24
24
  euiCollapsibleNavAccordion: /*#__PURE__*/(0, _react.css)(".euiAccordion__button{overflow:hidden;&:hover,&:focus{cursor:default;text-decoration:none;}}.euiAccordion__triggerWrapper{border-radius:", sharedStyles.borderRadius, ";", _global_styling.euiCanAnimate, "{transition:background-color ", sharedStyles.animation, ";}}.euiAccordion__buttonContent{", (0, _global_styling.logicalCSS)('max-width', '100%'), " flex-basis:100%;display:flex;align-items:center;}.euiCollapsibleNavLink{", (0, _global_styling.logicalCSS)('width', '100%'), ";};label:euiCollapsibleNavAccordion;"),
25
25
  isTopItem: /*#__PURE__*/(0, _react.css)("margin:", sharedStyles.padding, ";&>.euiAccordion__triggerWrapper{&:hover{background-color:", sharedStyles.backgroundHoverColor, ";}};label:isTopItem;"),
26
26
  isSelected: /*#__PURE__*/(0, _react.css)("&>.euiAccordion__triggerWrapper{background-color:", sharedStyles.backgroundSelectedColor, ";&:hover{background-color:", sharedStyles.backgroundSelectedColor, ";}};label:isSelected;"),
27
- isSubItem: /*#__PURE__*/(0, _react.css)("&.euiAccordion-isOpen{", (0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.m), ";};label:isSubItem;"),
27
+ isSubItem: /*#__PURE__*/(0, _react.css)("&.euiAccordion-isOpen .euiAccordion__children::after{content:'';display:block;", (0, _global_styling.logicalCSS)('height', euiTheme.size.m), ";};label:isSubItem;"),
28
28
  // Arrow element
29
29
  euiCollapsibleNavAccordion__arrow: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-right', euiTheme.size.xs), _global_styling.euiCanAnimate, "{transition:background-color ", sharedStyles.animation, ";}&:hover,&:focus-visible{background-color:", euiTheme.colors.lightShade, ";&>.euiIcon{color:", sharedStyles.color, ";}}transform:none!important;&>.euiIcon{color:", sharedStyles.rightIconColor, ";transform:rotate(90deg);", _global_styling.euiCanAnimate, "{transition:transform ", sharedStyles.animation, ",color ", sharedStyles.animation, ";}}&.euiAccordion__arrow[aria-expanded='true']>.euiIcon{color:", sharedStyles.color, ";transform:rotate(-90deg);};label:euiCollapsibleNavAccordion__arrow;")
30
30
  };
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EuiCollapsibleNavGroup = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _services = require("../../../services");
11
+ var _collapsible_nav_item = require("./collapsible_nav_item");
12
+ var _collapsible_nav_item2 = require("./collapsible_nav_item.styles");
13
+ var _collapsible_nav_link = require("./collapsible_nav_link");
14
+ var _react2 = require("@emotion/react");
15
+ var _excluded = ["className", "header", "href", "items", "isSubItem", "isSelected", "linkProps", "children"];
16
+ /*
17
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
+ * or more contributor license agreements. Licensed under the Elastic License
19
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
20
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
21
+ * Side Public License, v 1.
22
+ */
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ 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); }
25
+ 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; }
26
+ 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; }
27
+ /**
28
+ * Internal nav group. Should look the same as an open accordion,
29
+ * but not be toggle-able to close.
30
+ *
31
+ * Yes, I know this is the 3rd component in EUI named EuiCollapsibleNavGroup :|
32
+ * I'm waiting for serverless's design architecture to settle before untangling
33
+ * this pasghetti
34
+ */
35
+ var EuiCollapsibleNavGroup = function EuiCollapsibleNavGroup(_ref) {
36
+ var className = _ref.className,
37
+ header = _ref.header,
38
+ href = _ref.href,
39
+ items = _ref.items,
40
+ isSubItem = _ref.isSubItem,
41
+ isSelected = _ref.isSelected,
42
+ linkProps = _ref.linkProps,
43
+ _children = _ref.children,
44
+ rest = _objectWithoutProperties(_ref, _excluded);
45
+ var classes = (0, _classnames.default)('euiCollapsibleNavGroup', className);
46
+ var euiTheme = (0, _services.useEuiTheme)();
47
+ var sharedStyles = (0, _collapsible_nav_item2.euiCollapsibleNavItemVariables)(euiTheme);
48
+ var cssStyles = !isSubItem ? {
49
+ css: {
50
+ margin: sharedStyles.padding,
51
+ label: 'euiCollapsibleNavGroup-isTopItem'
52
+ }
53
+ } : undefined; // Prevents Emotion from generating a selector if no styles need to be applied
54
+
55
+ return (0, _react2.jsx)("div", _extends({
56
+ className: classes
57
+ }, cssStyles, rest), (0, _react2.jsx)(_collapsible_nav_link.EuiCollapsibleNavLink, _extends({
58
+ href: href
59
+ }, linkProps, {
60
+ isSelected: isSelected,
61
+ isSubItem: isSubItem,
62
+ isInteractive: !!(href || rest.onClick || linkProps !== null && linkProps !== void 0 && linkProps.onClick)
63
+ }), header), (0, _react2.jsx)(_collapsible_nav_item.EuiCollapsibleNavSubItems, {
64
+ items: items,
65
+ isSubItem: isSubItem,
66
+ className: "euiCollapsibleNavGroup__children"
67
+ }));
68
+ };
69
+ exports.EuiCollapsibleNavGroup = EuiCollapsibleNavGroup;
70
+ EuiCollapsibleNavGroup.propTypes = {
71
+ className: _propTypes.default.string,
72
+ "aria-label": _propTypes.default.string,
73
+ "data-test-subj": _propTypes.default.string,
74
+ css: _propTypes.default.any,
75
+ /**
76
+ * The nav item link.
77
+ * If not included, and no `onClick` is specified, the nav item
78
+ * will render as an non-interactive `<span>`.
79
+ */
80
+ href: _propTypes.default.string,
81
+ /**
82
+ * If set to false, will (visually) render an always-open accordion that cannot
83
+ * be toggled closed. Ignored if `items` is not passed.
84
+ *
85
+ * @default true
86
+ */
87
+ isCollapsible: _propTypes.default.bool,
88
+ /**
89
+ * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
90
+ */
91
+ linkProps: _propTypes.default.any,
92
+ /**
93
+ * Highlights whether an item is currently selected, e.g.
94
+ * if the user is on the same page as the nav link
95
+ */
96
+ isSelected: _propTypes.default.bool,
97
+ /**
98
+ * Determines whether the item should render as a top-level nav item
99
+ * or a nested nav subitem. Set internally by EUI
100
+ */
101
+ isSubItem: _propTypes.default.bool,
102
+ header: _propTypes.default.node.isRequired,
103
+ items: _propTypes.default.arrayOf(_propTypes.default.shape({
104
+ /**
105
+ * Required text to render as the nav item title
106
+ */
107
+ title: _propTypes.default.string,
108
+ /**
109
+ * Allows customizing the title element.
110
+ * Consider using a heading element for better accessibility.
111
+ * Defaults to an unsemantic `span` or `div`, depending on context.
112
+ */
113
+ titleElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6", "span", "div"]),
114
+ /**
115
+ * Optional icon to render to the left of title content
116
+ */
117
+ icon: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "analyzeEvent", "annotation", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "check", "checkInCircleFilled", "cheer", "classificationJob", "clock", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "codeApp", "color", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "eql", "eraser", "error", "exit", "expand", "expandMini", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "iInCircle", "image", "importAction", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "machineLearningApp", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "mobile", "monitoringApp", "moon", "namespace", "nested", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipelineApp", "pivot", "play", "playFilled", "plus", "plusInCircle", "plusInCircleFilled", "popout", "push", "questionInCircle", "quote", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "alert", "watchesApp", "wordWrap", "wordWrapDisabled", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenDenseVector", "tokenVectorSparse"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]),
118
+ /**
119
+ * Optional props to pass to the title icon
120
+ */
121
+ iconProps: _propTypes.default.any,
122
+ className: _propTypes.default.string,
123
+ "aria-label": _propTypes.default.string,
124
+ "data-test-subj": _propTypes.default.string,
125
+ css: _propTypes.default.any,
126
+ /**
127
+ * The nav item link.
128
+ * If not included, and no `onClick` is specified, the nav item
129
+ * will render as an non-interactive `<span>`.
130
+ */
131
+ href: _propTypes.default.string,
132
+ /**
133
+ * Will render either an accordion or group of nested child item links.
134
+ *
135
+ * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
136
+ * subitem content, pass an object with a `renderItem` callback.
137
+ */
138
+ items: _propTypes.default.arrayOf(_propTypes.default.shape({
139
+ renderItem: _propTypes.default.func
140
+ }).isRequired),
141
+ /**
142
+ * If set to false, will (visually) render an always-open accordion that cannot
143
+ * be toggled closed. Ignored if `items` is not passed.
144
+ *
145
+ * @default true
146
+ */
147
+ isCollapsible: _propTypes.default.bool,
148
+ /**
149
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
150
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
151
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
152
+ */
153
+ accordionProps: _propTypes.default.any,
154
+ /**
155
+ * If a `href` is specified, use this prop to pass any prop that `EuiLink` accepts
156
+ */
157
+ linkProps: _propTypes.default.any,
158
+ /**
159
+ * Highlights whether an item is currently selected, e.g.
160
+ * if the user is on the same page as the nav link
161
+ */
162
+ isSelected: _propTypes.default.bool,
163
+ renderItem: _propTypes.default.func
164
+ }).isRequired).isRequired
165
+ };
@@ -13,10 +13,11 @@ var _icon = require("../../icon");
13
13
  var _context = require("../context");
14
14
  var _collapsed = require("./collapsed");
15
15
  var _collapsible_nav_accordion = require("./collapsible_nav_accordion");
16
+ var _collapsible_nav_group = require("./collapsible_nav_group");
16
17
  var _collapsible_nav_link = require("./collapsible_nav_link");
17
18
  var _collapsible_nav_item = require("./collapsible_nav_item.styles");
18
19
  var _react2 = require("@emotion/react");
19
- var _excluded = ["isSubItem", "title", "titleElement", "icon", "iconProps", "items", "accordionProps", "children"],
20
+ var _excluded = ["isSubItem", "title", "titleElement", "icon", "iconProps", "items", "isCollapsible", "accordionProps", "children"],
20
21
  _excluded2 = ["renderItem", "className"],
21
22
  _excluded3 = ["items", "isSubItem", "isGroup", "className"],
22
23
  _excluded4 = ["className"];
@@ -46,6 +47,8 @@ var EuiCollapsibleNavItemDisplay = function EuiCollapsibleNavItemDisplay(_ref) {
46
47
  icon = _ref.icon,
47
48
  iconProps = _ref.iconProps,
48
49
  items = _ref.items,
50
+ _ref$isCollapsible = _ref.isCollapsible,
51
+ isCollapsible = _ref$isCollapsible === void 0 ? true : _ref$isCollapsible,
49
52
  accordionProps = _ref.accordionProps,
50
53
  children = _ref.children,
51
54
  props = _objectWithoutProperties(_ref, _excluded);
@@ -55,15 +58,23 @@ var EuiCollapsibleNavItemDisplay = function EuiCollapsibleNavItemDisplay(_ref) {
55
58
  icon: icon,
56
59
  iconProps: iconProps
57
60
  });
58
- var isAccordion = items && items.length > 0;
59
- if (isAccordion) {
60
- return (0, _react2.jsx)(_collapsible_nav_accordion.EuiCollapsibleNavAccordion, _extends({
61
- buttonContent: headerContent,
62
- items: items,
63
- accordionProps: accordionProps
64
- }, props, {
65
- isSubItem: isSubItem
66
- }));
61
+ if (items && items.length > 0) {
62
+ if (isCollapsible) {
63
+ return (0, _react2.jsx)(_collapsible_nav_accordion.EuiCollapsibleNavAccordion, _extends({
64
+ buttonContent: headerContent,
65
+ items: items,
66
+ accordionProps: accordionProps
67
+ }, props, {
68
+ isSubItem: isSubItem
69
+ }));
70
+ } else {
71
+ return (0, _react2.jsx)(_collapsible_nav_group.EuiCollapsibleNavGroup, _extends({
72
+ header: headerContent,
73
+ items: items
74
+ }, props, {
75
+ isSubItem: isSubItem
76
+ }));
77
+ }
67
78
  }
68
79
  return (0, _react2.jsx)(_collapsible_nav_link.EuiCollapsibleNavLink, _extends({}, props, {
69
80
  // EuiLink ExclusiveUnion type shenanigans
@@ -106,7 +117,7 @@ EuiCollapsibleNavItemDisplay.propTypes = {
106
117
  */
107
118
  href: _propTypes.default.string,
108
119
  /**
109
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
120
+ * Will render either an accordion or group of nested child item links.
110
121
  *
111
122
  * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
112
123
  * subitem content, pass an object with a `renderItem` callback.
@@ -115,9 +126,16 @@ EuiCollapsibleNavItemDisplay.propTypes = {
115
126
  renderItem: _propTypes.default.func
116
127
  }).isRequired),
117
128
  /**
118
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
119
- * accepts, including props that control the toggled state of the accordion
120
- * (e.g. `initialIsOpen`, `forceState`)
129
+ * If set to false, will (visually) render an always-open accordion that cannot
130
+ * be toggled closed. Ignored if `items` is not passed.
131
+ *
132
+ * @default true
133
+ */
134
+ isCollapsible: _propTypes.default.bool,
135
+ /**
136
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
137
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
138
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
121
139
  */
122
140
  accordionProps: _propTypes.default.any,
123
141
  /**
@@ -206,16 +224,23 @@ EuiCollapsibleNavSubItem.propTypes = {
206
224
  */
207
225
  href: _propTypes.default.string,
208
226
  /**
209
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
227
+ * Will render either an accordion or group of nested child item links.
210
228
  *
211
229
  * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
212
230
  * subitem content, pass an object with a `renderItem` callback.
213
231
  */
214
232
  items: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
215
233
  /**
216
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
217
- * accepts, including props that control the toggled state of the accordion
218
- * (e.g. `initialIsOpen`, `forceState`)
234
+ * If set to false, will (visually) render an always-open accordion that cannot
235
+ * be toggled closed. Ignored if `items` is not passed.
236
+ *
237
+ * @default true
238
+ */
239
+ isCollapsible: _propTypes.default.bool,
240
+ /**
241
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
242
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
243
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
219
244
  */
220
245
  accordionProps: _propTypes.default.any,
221
246
  /**
@@ -304,16 +329,23 @@ EuiCollapsibleNavSubItems.propTypes = {
304
329
  */
305
330
  href: _propTypes.default.string,
306
331
  /**
307
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
332
+ * Will render either an accordion or group of nested child item links.
308
333
  *
309
334
  * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
310
335
  * subitem content, pass an object with a `renderItem` callback.
311
336
  */
312
337
  items: _propTypes.default.arrayOf(_propTypes.default.any.isRequired),
313
338
  /**
314
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
315
- * accepts, including props that control the toggled state of the accordion
316
- * (e.g. `initialIsOpen`, `forceState`)
339
+ * If set to false, will (visually) render an always-open accordion that cannot
340
+ * be toggled closed. Ignored if `items` is not passed.
341
+ *
342
+ * @default true
343
+ */
344
+ isCollapsible: _propTypes.default.bool,
345
+ /**
346
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
347
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
348
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
317
349
  */
318
350
  accordionProps: _propTypes.default.any,
319
351
  /**
@@ -375,7 +407,7 @@ EuiCollapsibleNavItem.propTypes = {
375
407
  */
376
408
  href: _propTypes.default.string,
377
409
  /**
378
- * When passed, an `EuiAccordion` with nested child item links will be rendered.
410
+ * Will render either an accordion or group of nested child item links.
379
411
  *
380
412
  * Accepts any #EuiCollapsibleNavItemProps. Or, to render completely custom
381
413
  * subitem content, pass an object with a `renderItem` callback.
@@ -384,9 +416,16 @@ EuiCollapsibleNavItem.propTypes = {
384
416
  renderItem: _propTypes.default.func
385
417
  }).isRequired),
386
418
  /**
387
- * If `items` is specified, use this prop to pass any prop that `EuiAccordion`
388
- * accepts, including props that control the toggled state of the accordion
389
- * (e.g. `initialIsOpen`, `forceState`)
419
+ * If set to false, will (visually) render an always-open accordion that cannot
420
+ * be toggled closed. Ignored if `items` is not passed.
421
+ *
422
+ * @default true
423
+ */
424
+ isCollapsible: _propTypes.default.bool,
425
+ /**
426
+ * If `items` is specified, and `isCollapsible` is not set to false, you may
427
+ * use this prop to pass any prop that `EuiAccordion` accepts, including props
428
+ * that control the toggled state of the accordion (e.g. `initialIsOpen`, `forceState`)
390
429
  */
391
430
  accordionProps: _propTypes.default.any,
392
431
  /**
@@ -16,6 +16,7 @@ var _react = require("react");
16
16
  var EuiCollapsibleNavContext = /*#__PURE__*/(0, _react.createContext)({
17
17
  isCollapsed: false,
18
18
  isPush: true,
19
+ isOverlayOpen: false,
19
20
  side: 'left'
20
21
  });
21
22
  exports.EuiCollapsibleNavContext = EuiCollapsibleNavContext;
@@ -1,18 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.EuiCommentEvent = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _services = require("../../services");
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _services = require("../../services");
11
12
  var _panel = require("../panel");
12
13
  var _avatar = require("../avatar");
13
14
  var _comment_event = require("./comment_event.styles");
14
15
  var _react2 = require("@emotion/react");
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ 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; }
16
19
  /*
17
20
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
21
  * or more contributor license agreements. Licensed under the Elastic License
@@ -33,6 +36,9 @@ var EuiCommentEvent = function EuiCommentEvent(_ref) {
33
36
  eventColor = _ref.eventColor;
34
37
  var classes = (0, _classnames.default)('euiCommentEvent', className);
35
38
 
39
+ /**
40
+ * Branching logic
41
+ */
36
42
  // the username is required so we only check if other elements are define
37
43
  var hasEventElements = eventIcon || timestamp || event || actions;
38
44
  var isTypeRegular = children && hasEventElements;
@@ -45,27 +51,36 @@ var EuiCommentEvent = function EuiCommentEvent(_ref) {
45
51
  } else {
46
52
  type = 'custom';
47
53
  }
54
+ if (isTypeRegular && !eventColor) {
55
+ eventColor = 'subdued';
56
+ }
57
+ if (isTypeUpdate && !eventColor) {
58
+ eventColor = 'transparent';
59
+ }
60
+ var showEventBorders = isTypeRegular;
61
+ var panelProps = (0, _react.useMemo)(function () {
62
+ return {
63
+ color: type === 'custom' ? 'transparent' : eventColor,
64
+ paddingSize: type === 'custom' ? 'none' : 's',
65
+ borderRadius: type === 'regular' ? 'none' : 'm',
66
+ hasShadow: false // `plain` color needs this
67
+ };
68
+ }, [type, eventColor]);
69
+ var isFigure = isTypeRegular;
70
+ var Element = isFigure ? 'figure' : 'div';
71
+ var HeaderElement = isFigure ? 'figcaption' : 'div';
72
+
73
+ /**
74
+ * Styles
75
+ */
48
76
  var euiTheme = (0, _services.useEuiTheme)();
77
+ var borderStyles = (0, _comment_event.euiCommentEventBorderColors)(euiTheme);
49
78
  var styles = (0, _comment_event.euiCommentEventStyles)(euiTheme);
50
- var cssStyles = [styles.euiCommentEvent, styles[type]];
79
+ var cssStyles = [styles.euiCommentEvent, showEventBorders && styles.border, showEventBorders && borderStyles[eventColor]];
51
80
  var headerStyles = (0, _comment_event.euiCommentEventHeaderStyles)(euiTheme);
52
- var cssHeaderStyles = [headerStyles.euiCommentEvent__header, eventColor && headerStyles.hasEventColor, isTypeRegular && headerStyles.regular];
81
+ var cssHeaderStyles = [headerStyles.euiCommentEvent__header, showEventBorders && headerStyles.border, showEventBorders && borderStyles[eventColor]];
53
82
  var bodyStyles = (0, _comment_event.euiCommentEventBodyStyles)(euiTheme);
54
83
  var cssBodyStyles = [bodyStyles.euiCommentEvent__body, bodyStyles[type]];
55
- var isFigure = isTypeRegular;
56
- var Element = isFigure ? 'figure' : 'div';
57
- var HeaderElement = isFigure ? 'figcaption' : 'div';
58
-
59
- // The 'plain' color creates a shadow and adds a border radius that we don't want.
60
- // So for these cases we use the transparent color instead.
61
- var finalEventColor = eventColor === 'plain' ? 'transparent' : eventColor;
62
- var panelProps = finalEventColor ? {
63
- color: finalEventColor,
64
- paddingSize: 's'
65
- } : {
66
- color: 'transparent',
67
- paddingSize: 'none'
68
- };
69
84
  return (0, _react2.jsx)(Element, {
70
85
  className: classes,
71
86
  css: cssStyles,
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.euiCommentEventStyles = exports.euiCommentEventHeaderStyles = exports.euiCommentEventBodyStyles = void 0;
6
+ exports.euiCommentEventStyles = exports.euiCommentEventHeaderStyles = exports.euiCommentEventBorderColors = exports.euiCommentEventBodyStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
+ var _services = require("../../services");
8
9
  var _global_styling = require("../../global_styling");
9
10
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
10
11
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -13,7 +14,23 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
13
14
  * in compliance with, at your election, the Elastic License 2.0 or the Server
14
15
  * Side Public License, v 1.
15
16
  */
16
- var _ref3 = process.env.NODE_ENV === "production" ? {
17
+ var euiCommentEventBorderColors = function euiCommentEventBorderColors(_ref3) {
18
+ var euiTheme = _ref3.euiTheme,
19
+ colorMode = _ref3.colorMode;
20
+ var ratio = 0.6;
21
+ return {
22
+ warning: /*#__PURE__*/(0, _react.css)("border-color:", (0, _services.tintOrShade)(euiTheme.colors.warning, 0.4, colorMode), ";;label:warning;"),
23
+ accent: /*#__PURE__*/(0, _react.css)("border-color:", (0, _services.tintOrShade)(euiTheme.colors.accent, ratio, colorMode), ";;label:accent;"),
24
+ primary: /*#__PURE__*/(0, _react.css)("border-color:", (0, _services.tintOrShade)(euiTheme.colors.primary, ratio, colorMode), ";;label:primary;"),
25
+ success: /*#__PURE__*/(0, _react.css)("border-color:", (0, _services.tintOrShade)(euiTheme.colors.success, ratio, colorMode), ";;label:success;"),
26
+ danger: /*#__PURE__*/(0, _react.css)("border-color:", (0, _services.tintOrShade)(euiTheme.colors.danger, ratio, colorMode), ";;label:danger;"),
27
+ subdued: /*#__PURE__*/(0, _react.css)("border-color:", euiTheme.border.color, ";;label:subdued;"),
28
+ transparent: /*#__PURE__*/(0, _react.css)("border-color:", euiTheme.border.color, ";;label:transparent;"),
29
+ plain: /*#__PURE__*/(0, _react.css)("border-color:", euiTheme.border.color, ";;label:plain;")
30
+ };
31
+ };
32
+ exports.euiCommentEventBorderColors = euiCommentEventBorderColors;
33
+ var _ref2 = process.env.NODE_ENV === "production" ? {
17
34
  name: "yoyozp-euiCommentEvent",
18
35
  styles: "overflow:hidden;label:euiCommentEvent;"
19
36
  } : {
@@ -21,14 +38,11 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
21
38
  styles: "overflow:hidden;label:euiCommentEvent;",
22
39
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
40
  };
24
- var euiCommentEventStyles = function euiCommentEventStyles(_ref4) {
25
- var euiTheme = _ref4.euiTheme;
41
+ var euiCommentEventStyles = function euiCommentEventStyles(euiThemeContext) {
42
+ var euiTheme = euiThemeContext.euiTheme;
26
43
  return {
27
- euiCommentEvent: _ref3,
28
- // types
29
- regular: /*#__PURE__*/(0, _react.css)("border:", euiTheme.border.thin, ";border-radius:", euiTheme.border.radius.medium, ";;label:regular;"),
30
- update: /*#__PURE__*/(0, _react.css)(";label:update;"),
31
- custom: /*#__PURE__*/(0, _react.css)(";label:custom;")
44
+ euiCommentEvent: _ref2,
45
+ border: /*#__PURE__*/(0, _react.css)("border-width:", euiTheme.border.width.thin, ";border-style:solid;border-radius:", euiTheme.border.radius.medium, ";;label:border;")
32
46
  };
33
47
  };
34
48
  exports.euiCommentEventStyles = euiCommentEventStyles;
@@ -40,22 +54,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
40
54
  styles: "align-items:center;display:inline-flex;white-space:pre-wrap;flex-wrap:wrap;label:euiCommentEvent__headerEvent;",
41
55
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
42
56
  };
43
- var _ref2 = process.env.NODE_ENV === "production" ? {
44
- name: "bqgcpj-hasEventColor",
45
- styles: "padding:0;label:hasEventColor;"
46
- } : {
47
- name: "bqgcpj-hasEventColor",
48
- styles: "padding:0;label:hasEventColor;",
49
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
50
- };
51
- var euiCommentEventHeaderStyles = function euiCommentEventHeaderStyles(_ref5) {
52
- var euiTheme = _ref5.euiTheme;
57
+ var euiCommentEventHeaderStyles = function euiCommentEventHeaderStyles(euiThemeContext) {
58
+ var euiTheme = euiThemeContext.euiTheme;
53
59
  return {
54
60
  euiCommentEvent__header: /*#__PURE__*/(0, _react.css)(";label:euiCommentEvent__header;"),
55
- // types
56
- regular: /*#__PURE__*/(0, _react.css)("background:", euiTheme.colors.lightestShade, ";", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), " padding:", euiTheme.size.s, ";;label:regular;"),
57
- // variants
58
- hasEventColor: _ref2,
61
+ border: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-bottom-style', 'solid'), " ", (0, _global_styling.logicalCSS)('border-bottom-width', euiTheme.border.width.thin), ";;label:border;"),
59
62
  // Children
60
63
  euiCommentEvent__headerMain: /*#__PURE__*/(0, _react.css)("display:flex;flex:1;gap:", euiTheme.size.s, ";;label:euiCommentEvent__headerMain;"),
61
64
  euiCommentEvent__headerData: /*#__PURE__*/(0, _react.css)("display:flex;flex:1;align-items:center;flex-wrap:wrap;gap:", euiTheme.size.xs, ";;label:euiCommentEvent__headerData;"),
@@ -66,8 +69,8 @@ var euiCommentEventHeaderStyles = function euiCommentEventHeaderStyles(_ref5) {
66
69
  };
67
70
  };
68
71
  exports.euiCommentEventHeaderStyles = euiCommentEventHeaderStyles;
69
- var euiCommentEventBodyStyles = function euiCommentEventBodyStyles(_ref6) {
70
- var euiTheme = _ref6.euiTheme;
72
+ var euiCommentEventBodyStyles = function euiCommentEventBodyStyles(_ref4) {
73
+ var euiTheme = _ref4.euiTheme;
71
74
  return {
72
75
  euiCommentEvent__body: /*#__PURE__*/(0, _react.css)(";label:euiCommentEvent__body;"),
73
76
  // types