@elastic/eui 93.1.0 → 93.2.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 (358) hide show
  1. package/dist/eui_theme_dark.css +0 -311
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -311
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/avatar/avatar.js +1 -1
  6. package/es/components/badge/badge.js +1 -1
  7. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  8. package/es/components/basic_table/basic_table.js +1 -1
  9. package/es/components/basic_table/in_memory_table.js +1 -1
  10. package/es/components/beacon/beacon.js +2 -3
  11. package/es/components/button/button.js +1 -1
  12. package/es/components/button/button_display/_button_display.js +1 -1
  13. package/es/components/button/button_display/_button_display_content.js +1 -1
  14. package/es/components/button/button_empty/button_empty.js +1 -1
  15. package/es/components/button/button_group/button_group.js +1 -1
  16. package/es/components/button/button_group/button_group_button.js +1 -1
  17. package/es/components/button/button_icon/button_icon.js +1 -1
  18. package/es/components/call_out/call_out.js +1 -1
  19. package/es/components/card/card.js +2 -2
  20. package/es/components/card/card_select/card_select.js +1 -1
  21. package/es/components/code/code.js +2 -3
  22. package/es/components/code/code.styles.js +4 -2
  23. package/es/components/code/code_block.js +10 -12
  24. package/es/components/code/code_block.styles.js +6 -4
  25. package/es/components/code/code_block_controls.js +2 -3
  26. package/es/components/code/code_block_controls.styles.js +4 -2
  27. package/es/components/code/code_block_full_screen.js +2 -3
  28. package/es/components/code/code_syntax.styles.js +33 -38
  29. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  30. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  31. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  32. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  34. package/es/components/comment_list/comment.js +2 -2
  35. package/es/components/comment_list/comment_event.js +1 -1
  36. package/es/components/comment_list/comment_list.js +2 -2
  37. package/es/components/comment_list/comment_timeline.js +1 -1
  38. package/es/components/datagrid/body/cell/data_grid_cell.js +24 -24
  39. package/es/components/datagrid/body/data_grid_body.js +13 -13
  40. package/es/components/datagrid/body/data_grid_body_custom.js +13 -13
  41. package/es/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  42. package/es/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  43. package/es/components/datagrid/body/header/data_grid_header_row.js +13 -13
  44. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  45. package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  46. package/es/components/datagrid/utils/grid_height_width.js +4 -1
  47. package/es/components/datagrid/utils/in_memory.js +12 -12
  48. package/es/components/date_picker/date_picker.js +2 -2
  49. package/es/components/date_picker/date_picker_range.js +1 -1
  50. package/es/components/empty_prompt/empty_prompt.js +1 -1
  51. package/es/components/facet/facet_button.js +1 -1
  52. package/es/components/form/field_number/field_number.js +1 -1
  53. package/es/components/form/field_text/field_text.js +2 -2
  54. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  55. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  56. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  57. package/es/components/form/text_area/text_area.js +2 -2
  58. package/es/components/header/header_links/header_link.js +1 -1
  59. package/es/components/header/header_links/header_links.js +1 -1
  60. package/es/components/header/header_logo/header_logo.js +1 -1
  61. package/es/components/header/header_section/header_section_item_button.js +1 -1
  62. package/es/components/icon/assets/diff.js +33 -0
  63. package/es/components/icon/assets/new_chat.js +37 -0
  64. package/es/components/icon/icon.js +1 -1
  65. package/es/components/icon/icon_map.js +2 -0
  66. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  67. package/es/components/list_group/list_group.js +2 -2
  68. package/es/components/list_group/list_group_item.js +2 -2
  69. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  70. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  71. package/es/components/loading/loading_logo.js +1 -1
  72. package/es/components/markdown_editor/markdown_editor.js +1 -1
  73. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  74. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  75. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  76. package/es/components/page/page_header/page_header_content.js +1 -1
  77. package/es/components/page/page_sidebar/page_sidebar.js +8 -2
  78. package/es/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  79. package/es/components/page_template/page_template.js +1 -1
  80. package/es/components/pagination/pagination_button.js +1 -1
  81. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  82. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  83. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  84. package/es/components/side_nav/_side_nav_heading.js +61 -0
  85. package/es/components/side_nav/side_nav.js +63 -88
  86. package/es/components/side_nav/side_nav.styles.js +35 -0
  87. package/es/components/side_nav/side_nav_item.js +51 -50
  88. package/es/components/side_nav/side_nav_item.styles.js +72 -0
  89. package/es/components/table/table_header_button.js +1 -1
  90. package/es/components/timeline/timeline_item_icon.js +1 -1
  91. package/es/components/toast/global_toast_list.js +1 -1
  92. package/es/components/toast/toast.js +1 -1
  93. package/es/components/tool_tip/icon_tip.js +1 -1
  94. package/es/components/tree_view/tree_view.js +4 -2
  95. package/es/components/tree_view/{_tree_view_item.js → tree_view_item.js} +29 -1
  96. package/{optimize/es/components/tree_view/_tree_view_item.styles.js → es/components/tree_view/tree_view_item.styles.js} +10 -1
  97. package/es/services/theme/index.js +1 -0
  98. package/es/services/theme/provider.js +2 -1
  99. package/es/services/theme/style_memoization.js +65 -0
  100. package/eui.d.ts +230 -83
  101. package/i18ntokens.json +28 -10
  102. package/lib/components/avatar/avatar.js +1 -1
  103. package/lib/components/badge/badge.js +1 -1
  104. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  105. package/lib/components/basic_table/basic_table.js +1 -1
  106. package/lib/components/basic_table/in_memory_table.js +1 -1
  107. package/lib/components/beacon/beacon.js +1 -2
  108. package/lib/components/button/button.js +1 -1
  109. package/lib/components/button/button_display/_button_display.js +1 -1
  110. package/lib/components/button/button_display/_button_display_content.js +1 -1
  111. package/lib/components/button/button_empty/button_empty.js +1 -1
  112. package/lib/components/button/button_group/button_group.js +1 -1
  113. package/lib/components/button/button_group/button_group_button.js +1 -1
  114. package/lib/components/button/button_icon/button_icon.js +1 -1
  115. package/lib/components/call_out/call_out.js +1 -1
  116. package/lib/components/card/card.js +2 -2
  117. package/lib/components/card/card_select/card_select.js +1 -1
  118. package/lib/components/code/code.js +1 -2
  119. package/lib/components/code/code.styles.js +4 -2
  120. package/lib/components/code/code_block.js +9 -11
  121. package/lib/components/code/code_block.styles.js +6 -4
  122. package/lib/components/code/code_block_controls.js +1 -2
  123. package/lib/components/code/code_block_controls.styles.js +4 -2
  124. package/lib/components/code/code_block_full_screen.js +1 -2
  125. package/lib/components/code/code_syntax.styles.js +34 -39
  126. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  127. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  128. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  129. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  130. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  131. package/lib/components/comment_list/comment.js +2 -2
  132. package/lib/components/comment_list/comment_event.js +1 -1
  133. package/lib/components/comment_list/comment_list.js +2 -2
  134. package/lib/components/comment_list/comment_timeline.js +1 -1
  135. package/lib/components/datagrid/body/cell/data_grid_cell.js +24 -24
  136. package/lib/components/datagrid/body/data_grid_body.js +13 -13
  137. package/lib/components/datagrid/body/data_grid_body_custom.js +13 -13
  138. package/lib/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  139. package/lib/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  140. package/lib/components/datagrid/body/header/data_grid_header_row.js +13 -13
  141. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  142. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  143. package/lib/components/datagrid/utils/grid_height_width.js +4 -1
  144. package/lib/components/datagrid/utils/in_memory.js +12 -12
  145. package/lib/components/date_picker/date_picker.js +2 -2
  146. package/lib/components/date_picker/date_picker_range.js +1 -1
  147. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  148. package/lib/components/facet/facet_button.js +1 -1
  149. package/lib/components/form/field_number/field_number.js +1 -1
  150. package/lib/components/form/field_text/field_text.js +2 -2
  151. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  152. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  153. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  154. package/lib/components/form/text_area/text_area.js +2 -2
  155. package/lib/components/header/header_links/header_link.js +1 -1
  156. package/lib/components/header/header_links/header_links.js +1 -1
  157. package/lib/components/header/header_logo/header_logo.js +1 -1
  158. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  159. package/lib/components/icon/assets/diff.js +41 -0
  160. package/lib/components/icon/assets/new_chat.js +45 -0
  161. package/lib/components/icon/icon.js +1 -1
  162. package/lib/components/icon/icon_map.js +2 -0
  163. package/lib/components/icon/svgs/diff.svg +1 -0
  164. package/lib/components/icon/svgs/new_chat.svg +4 -0
  165. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  166. package/lib/components/list_group/list_group.js +2 -2
  167. package/lib/components/list_group/list_group_item.js +2 -2
  168. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  169. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  170. package/lib/components/loading/loading_logo.js +1 -1
  171. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  172. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  173. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  174. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  175. package/lib/components/page/page_header/page_header_content.js +1 -1
  176. package/lib/components/page/page_sidebar/page_sidebar.js +8 -2
  177. package/lib/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  178. package/lib/components/page_template/page_template.js +1 -1
  179. package/lib/components/pagination/pagination_button.js +1 -1
  180. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  181. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  182. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  183. package/lib/components/side_nav/_side_nav_heading.js +67 -0
  184. package/lib/components/side_nav/side_nav.js +65 -89
  185. package/lib/components/side_nav/side_nav.styles.js +40 -0
  186. package/lib/components/side_nav/side_nav_item.js +51 -49
  187. package/lib/components/side_nav/side_nav_item.styles.js +78 -0
  188. package/lib/components/table/table_header_button.js +1 -1
  189. package/lib/components/timeline/timeline_item_icon.js +1 -1
  190. package/lib/components/toast/global_toast_list.js +1 -1
  191. package/lib/components/toast/toast.js +1 -1
  192. package/lib/components/tool_tip/icon_tip.js +1 -1
  193. package/lib/components/tree_view/tree_view.js +4 -2
  194. package/lib/components/tree_view/{_tree_view_item.js → tree_view_item.js} +29 -1
  195. package/lib/components/tree_view/tree_view_item.styles.js +52 -0
  196. package/lib/services/theme/index.js +7 -0
  197. package/lib/services/theme/provider.js +2 -1
  198. package/lib/services/theme/style_memoization.js +73 -0
  199. package/optimize/es/components/beacon/beacon.js +2 -3
  200. package/optimize/es/components/code/code.js +2 -3
  201. package/optimize/es/components/code/code.styles.js +4 -2
  202. package/optimize/es/components/code/code_block.js +10 -12
  203. package/optimize/es/components/code/code_block.styles.js +6 -4
  204. package/optimize/es/components/code/code_block_controls.js +2 -3
  205. package/optimize/es/components/code/code_block_controls.styles.js +4 -2
  206. package/optimize/es/components/code/code_block_full_screen.js +2 -3
  207. package/optimize/es/components/code/code_syntax.styles.js +33 -38
  208. package/optimize/es/components/datagrid/utils/grid_height_width.js +4 -1
  209. package/optimize/es/components/icon/assets/diff.js +32 -0
  210. package/optimize/es/components/icon/assets/new_chat.js +36 -0
  211. package/optimize/es/components/icon/icon_map.js +2 -0
  212. package/optimize/es/components/page/page_sidebar/page_sidebar.js +4 -2
  213. package/optimize/es/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  214. package/optimize/es/components/page_template/page_template.js +1 -1
  215. package/optimize/es/components/side_nav/_side_nav_heading.js +47 -0
  216. package/optimize/es/components/side_nav/side_nav.js +61 -72
  217. package/optimize/es/components/side_nav/side_nav.styles.js +35 -0
  218. package/optimize/es/components/side_nav/side_nav_item.js +51 -50
  219. package/optimize/es/components/side_nav/side_nav_item.styles.js +69 -0
  220. package/optimize/es/components/tree_view/tree_view.js +4 -2
  221. package/optimize/es/components/tree_view/{_tree_view_item.js → tree_view_item.js} +1 -1
  222. package/{es/components/tree_view/_tree_view_item.styles.js → optimize/es/components/tree_view/tree_view_item.styles.js} +10 -1
  223. package/optimize/es/services/theme/index.js +1 -0
  224. package/optimize/es/services/theme/provider.js +2 -1
  225. package/optimize/es/services/theme/style_memoization.js +60 -0
  226. package/optimize/lib/components/beacon/beacon.js +1 -2
  227. package/optimize/lib/components/code/code.js +1 -2
  228. package/optimize/lib/components/code/code.styles.js +4 -2
  229. package/optimize/lib/components/code/code_block.js +9 -11
  230. package/optimize/lib/components/code/code_block.styles.js +6 -4
  231. package/optimize/lib/components/code/code_block_controls.js +1 -2
  232. package/optimize/lib/components/code/code_block_controls.styles.js +4 -2
  233. package/optimize/lib/components/code/code_block_full_screen.js +1 -2
  234. package/optimize/lib/components/code/code_syntax.styles.js +34 -39
  235. package/optimize/lib/components/datagrid/utils/grid_height_width.js +4 -1
  236. package/optimize/lib/components/icon/assets/diff.js +41 -0
  237. package/optimize/lib/components/icon/assets/new_chat.js +45 -0
  238. package/optimize/lib/components/icon/icon_map.js +2 -0
  239. package/optimize/lib/components/icon/svgs/diff.svg +1 -0
  240. package/optimize/lib/components/icon/svgs/new_chat.svg +4 -0
  241. package/optimize/lib/components/page/page_sidebar/page_sidebar.js +4 -2
  242. package/optimize/lib/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  243. package/optimize/lib/components/page_template/page_template.js +1 -1
  244. package/optimize/lib/components/side_nav/_side_nav_heading.js +53 -0
  245. package/optimize/lib/components/side_nav/side_nav.js +63 -73
  246. package/optimize/lib/components/side_nav/side_nav.styles.js +40 -0
  247. package/optimize/lib/components/side_nav/side_nav_item.js +51 -49
  248. package/optimize/lib/components/side_nav/side_nav_item.styles.js +76 -0
  249. package/optimize/lib/components/tree_view/tree_view.js +4 -2
  250. package/optimize/lib/components/tree_view/{_tree_view_item.js → tree_view_item.js} +1 -1
  251. package/optimize/lib/components/tree_view/tree_view_item.styles.js +52 -0
  252. package/optimize/lib/services/theme/index.js +7 -0
  253. package/optimize/lib/services/theme/provider.js +2 -1
  254. package/optimize/lib/services/theme/style_memoization.js +73 -0
  255. package/package.json +1 -1
  256. package/src/components/index.scss +0 -1
  257. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  258. package/test-env/components/avatar/avatar.js +1 -1
  259. package/test-env/components/badge/badge.js +1 -1
  260. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  261. package/test-env/components/basic_table/basic_table.js +1 -1
  262. package/test-env/components/basic_table/in_memory_table.js +1 -1
  263. package/test-env/components/beacon/beacon.js +1 -2
  264. package/test-env/components/button/button.js +1 -1
  265. package/test-env/components/button/button_display/_button_display.js +1 -1
  266. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  267. package/test-env/components/button/button_empty/button_empty.js +1 -1
  268. package/test-env/components/button/button_group/button_group.js +1 -1
  269. package/test-env/components/button/button_group/button_group_button.js +1 -1
  270. package/test-env/components/button/button_icon/button_icon.js +1 -1
  271. package/test-env/components/call_out/call_out.js +1 -1
  272. package/test-env/components/card/card.js +2 -2
  273. package/test-env/components/card/card_select/card_select.js +1 -1
  274. package/test-env/components/code/code.styles.js +4 -2
  275. package/test-env/components/code/code_block.styles.js +6 -4
  276. package/test-env/components/code/code_block_controls.js +1 -2
  277. package/test-env/components/code/code_block_controls.styles.js +4 -2
  278. package/test-env/components/code/code_block_full_screen.js +1 -2
  279. package/test-env/components/code/code_syntax.styles.js +34 -39
  280. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  281. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  282. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  283. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  284. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  285. package/test-env/components/comment_list/comment.js +2 -2
  286. package/test-env/components/comment_list/comment_event.js +1 -1
  287. package/test-env/components/comment_list/comment_list.js +2 -2
  288. package/test-env/components/comment_list/comment_timeline.js +1 -1
  289. package/test-env/components/datagrid/body/cell/data_grid_cell.js +24 -24
  290. package/test-env/components/datagrid/body/data_grid_body.js +13 -13
  291. package/test-env/components/datagrid/body/data_grid_body_custom.js +13 -13
  292. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  293. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  294. package/test-env/components/datagrid/body/header/data_grid_header_row.js +13 -13
  295. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  296. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  297. package/test-env/components/datagrid/utils/grid_height_width.js +4 -1
  298. package/test-env/components/datagrid/utils/in_memory.js +12 -12
  299. package/test-env/components/date_picker/date_picker.js +2 -2
  300. package/test-env/components/date_picker/date_picker_range.js +1 -1
  301. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  302. package/test-env/components/facet/facet_button.js +1 -1
  303. package/test-env/components/form/field_number/field_number.js +1 -1
  304. package/test-env/components/form/field_text/field_text.js +2 -2
  305. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  306. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  307. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  308. package/test-env/components/form/text_area/text_area.js +2 -2
  309. package/test-env/components/header/header_links/header_link.js +1 -1
  310. package/test-env/components/header/header_links/header_links.js +1 -1
  311. package/test-env/components/header/header_logo/header_logo.js +1 -1
  312. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  313. package/test-env/components/icon/assets/diff.js +41 -0
  314. package/test-env/components/icon/assets/new_chat.js +45 -0
  315. package/test-env/components/icon/icon_map.js +2 -0
  316. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  317. package/test-env/components/list_group/list_group.js +2 -2
  318. package/test-env/components/list_group/list_group_item.js +2 -2
  319. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  320. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  321. package/test-env/components/loading/loading_logo.js +1 -1
  322. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  323. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  324. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  325. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  326. package/test-env/components/page/page_header/page_header_content.js +1 -1
  327. package/test-env/components/page/page_sidebar/page_sidebar.js +8 -2
  328. package/test-env/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  329. package/test-env/components/page_template/page_template.js +1 -1
  330. package/test-env/components/pagination/pagination_button.js +1 -1
  331. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  332. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  333. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  334. package/test-env/components/side_nav/_side_nav_heading.js +66 -0
  335. package/test-env/components/side_nav/side_nav.js +65 -89
  336. package/test-env/components/side_nav/side_nav.styles.js +40 -0
  337. package/test-env/components/side_nav/side_nav_item.js +51 -49
  338. package/test-env/components/side_nav/side_nav_item.styles.js +76 -0
  339. package/test-env/components/table/table_header_button.js +1 -1
  340. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  341. package/test-env/components/toast/global_toast_list.js +1 -1
  342. package/test-env/components/toast/toast.js +1 -1
  343. package/test-env/components/tool_tip/icon_tip.js +1 -1
  344. package/test-env/components/tree_view/tree_view.js +4 -2
  345. package/test-env/components/tree_view/{_tree_view_item.js → tree_view_item.js} +29 -1
  346. package/test-env/components/tree_view/tree_view_item.styles.js +52 -0
  347. package/test-env/services/theme/index.js +7 -0
  348. package/test-env/services/theme/provider.js +2 -1
  349. package/test-env/services/theme/style_memoization.js +73 -0
  350. package/lib/components/tree_view/_tree_view_item.styles.js +0 -45
  351. package/optimize/lib/components/tree_view/_tree_view_item.styles.js +0 -45
  352. package/src/components/side_nav/_index.scss +0 -5
  353. package/src/components/side_nav/_mixins.scss +0 -7
  354. package/src/components/side_nav/_side_nav.scss +0 -47
  355. package/src/components/side_nav/_side_nav_item.scss +0 -181
  356. package/src/components/side_nav/_variables.scss +0 -15
  357. package/src/themes/amsterdam/overrides/_side_nav.scss +0 -17
  358. package/test-env/components/tree_view/_tree_view_item.styles.js +0 -45
@@ -8,8 +8,7 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
10
  var _excluded = ["id", "name", "isSelected", "items", "icon", "onClick", "href", "forceOpen"],
11
- _excluded2 = ["className", "items", "toggleOpenOnMobile", "isOpenOnMobile", "mobileTitle", "mobileBreakpoints", "renderItem", "truncate", "heading", "headingProps"],
12
- _excluded3 = ["screenReaderOnly", "element"];
11
+ _excluded2 = ["className", "items", "toggleOpenOnMobile", "isOpenOnMobile", "mobileTitle", "mobileBreakpoints", "renderItem", "truncate", "heading", "headingProps", "theme"];
13
12
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
15
14
  /*
@@ -22,19 +21,20 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
22
21
 
23
22
  import React, { Component } from 'react';
24
23
  import classNames from 'classnames';
25
- import { EuiSideNavItem } from './side_nav_item';
26
24
  import { EuiButtonEmpty } from '../button';
27
- import { EuiTitle } from '../title';
28
- import { EuiScreenReaderOnly } from '../accessibility';
29
- import { htmlIdGenerator } from '../../services';
25
+ import { EuiI18n } from '../i18n';
26
+ import { htmlIdGenerator, withEuiTheme } from '../../services';
30
27
  import { EuiHideFor, EuiShowFor } from '../responsive';
28
+ import { EuiSideNavHeading } from './_side_nav_heading';
29
+ import { EuiSideNavItem } from './side_nav_item';
30
+ import { euiSideNavMobileStyles } from './side_nav.styles';
31
31
  import { jsx as ___EmotionJSX } from "@emotion/react";
32
- export var EuiSideNav = /*#__PURE__*/function (_Component) {
33
- _inherits(EuiSideNav, _Component);
34
- var _super = _createSuper(EuiSideNav);
35
- function EuiSideNav() {
32
+ export var EuiSideNavClass = /*#__PURE__*/function (_Component) {
33
+ _inherits(EuiSideNavClass, _Component);
34
+ var _super = _createSuper(EuiSideNavClass);
35
+ function EuiSideNavClass() {
36
36
  var _this;
37
- _classCallCheck(this, EuiSideNav);
37
+ _classCallCheck(this, EuiSideNavClass);
38
38
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
39
39
  args[_key] = arguments[_key];
40
40
  }
@@ -100,7 +100,7 @@ export var EuiSideNav = /*#__PURE__*/function (_Component) {
100
100
  });
101
101
  return _this;
102
102
  }
103
- _createClass(EuiSideNav, [{
103
+ _createClass(EuiSideNavClass, [{
104
104
  key: "render",
105
105
  value: function render() {
106
106
  var _this$props2 = this.props,
@@ -113,84 +113,73 @@ export var EuiSideNav = /*#__PURE__*/function (_Component) {
113
113
  renderItem = _this$props2.renderItem,
114
114
  truncate = _this$props2.truncate,
115
115
  heading = _this$props2.heading,
116
- _this$props2$headingP = _this$props2.headingProps,
117
- headingProps = _this$props2$headingP === void 0 ? {} : _this$props2$headingP,
116
+ headingProps = _this$props2.headingProps,
117
+ theme = _this$props2.theme,
118
118
  rest = _objectWithoutProperties(_this$props2, _excluded2);
119
119
  var classes = classNames('euiSideNav', className, {
120
120
  'euiSideNav-isOpenMobile': isOpenOnMobile
121
121
  });
122
-
123
- // To support the extra CSS needed to show/hide/animate the content,
124
- // We add a className for every breakpoint supported
125
- var contentClasses = classNames('euiSideNav__content', mobileBreakpoints === null || mobileBreakpoints === void 0 ? void 0 : mobileBreakpoints.map(function (breakpointName) {
126
- return "euiSideNav__contentMobile-".concat(breakpointName);
127
- }));
122
+ var styles = euiSideNavMobileStyles(theme);
123
+ var contentClasses = classNames('euiSideNav__content');
128
124
  var sideNavContentId = this.generateId('content');
129
- var navContent = ___EmotionJSX("div", {
130
- id: sideNavContentId,
131
- className: contentClasses
132
- }, this.renderTree(items));
133
- var _ref = headingProps,
134
- _ref$screenReaderOnly = _ref.screenReaderOnly,
135
- headingScreenReaderOnly = _ref$screenReaderOnly === void 0 ? false : _ref$screenReaderOnly,
136
- _ref$element = _ref.element,
137
- HeadingElement = _ref$element === void 0 ? 'h2' : _ref$element,
138
- titleProps = _objectWithoutProperties(_ref, _excluded3);
125
+ var mobileContentStyles = [styles.content.euiSideNav__mobileContent, isOpenOnMobile ? styles.content.open : styles.content.hidden];
139
126
  var hasMobileVersion = mobileBreakpoints && mobileBreakpoints.length > 0;
140
- var hasHeader = !!heading;
141
- var headingNode;
142
- var sharedHeadingProps = {
143
- id: (headingProps === null || headingProps === void 0 ? void 0 : headingProps.id) || this.generateId('heading'),
144
- className: headingProps === null || headingProps === void 0 ? void 0 : headingProps.className,
145
- 'data-test-subj': headingProps === null || headingProps === void 0 ? void 0 : headingProps['data-test-subj'],
146
- 'aria-label': headingProps === null || headingProps === void 0 ? void 0 : headingProps['aria-label']
127
+ var mobileToggleText = mobileTitle || heading;
128
+ var mobileHeadingUnset = {
129
+ marginBlockEnd: 0,
130
+ label: 'mobile'
147
131
  };
148
- if (hasHeader) {
149
- headingNode = ___EmotionJSX(HeadingElement, sharedHeadingProps, heading);
150
- if (headingScreenReaderOnly) {
151
- headingNode = ___EmotionJSX(EuiScreenReaderOnly, null, headingNode);
152
- } else {
153
- headingNode = ___EmotionJSX(EuiTitle, _extends({
154
- size: "xs"
155
- }, titleProps, {
156
- className: classNames('euiSideNav__heading', headingProps === null || headingProps === void 0 ? void 0 : headingProps.className)
157
- }), ___EmotionJSX(HeadingElement, sharedHeadingProps, heading));
158
- }
159
- }
160
- var mobileNode;
161
- var breakpoints = mobileBreakpoints;
162
- if (hasMobileVersion) {
163
- mobileNode = ___EmotionJSX(EuiShowFor, {
164
- sizes: breakpoints || 'none'
165
- }, ___EmotionJSX("nav", _extends({
166
- "aria-labelledby": sharedHeadingProps.id,
167
- className: classes
168
- }, rest), ___EmotionJSX(HeadingElement, sharedHeadingProps, ___EmotionJSX(EuiButtonEmpty, {
132
+ var headingId = (headingProps === null || headingProps === void 0 ? void 0 : headingProps.id) || this.generateId('heading');
133
+ var headingScreenReaderOnly = !!(headingProps !== null && headingProps !== void 0 && headingProps.screenReaderOnly);
134
+ return ___EmotionJSX(React.Fragment, null, hasMobileVersion && ___EmotionJSX(EuiShowFor, {
135
+ sizes: mobileBreakpoints || 'none'
136
+ }, ___EmotionJSX("nav", _extends({
137
+ "aria-labelledby": headingId,
138
+ className: classes
139
+ }, rest), ___EmotionJSX(EuiSideNavHeading, _extends({
140
+ id: headingId
141
+ }, headingProps, {
142
+ screenReaderOnly: false,
143
+ css: mobileHeadingUnset
144
+ }), ___EmotionJSX(EuiI18n, {
145
+ token: "euiSideNav.mobileToggleAriaLabel",
146
+ default: "Toggle navigation"
147
+ }, function (mobileToggleAriaLabel) {
148
+ return ___EmotionJSX(EuiButtonEmpty, {
169
149
  className: "euiSideNav__mobileToggle",
170
- textProps: {
171
- className: 'euiSideNav__mobileToggleText'
172
- },
150
+ css: styles.euiSideNav__mobileToggle,
173
151
  contentProps: {
174
- className: 'euiSideNav__mobileToggleContent'
152
+ className: 'euiSideNav__mobileToggleContent',
153
+ css: styles.euiSideNav__mobileToggleContent
175
154
  },
176
155
  onClick: toggleOpenOnMobile,
177
156
  iconType: "apps",
178
157
  iconSide: "right",
179
158
  "aria-controls": sideNavContentId,
180
- "aria-expanded": isOpenOnMobile
181
- }, mobileTitle || heading)), navContent));
182
- }
183
- return ___EmotionJSX(React.Fragment, null, mobileNode, ___EmotionJSX(EuiHideFor, {
184
- sizes: breakpoints || 'none'
159
+ "aria-expanded": isOpenOnMobile,
160
+ "aria-label": !mobileToggleText || headingScreenReaderOnly ? mobileToggleAriaLabel : undefined
161
+ }, !headingScreenReaderOnly && mobileToggleText);
162
+ })), ___EmotionJSX("div", {
163
+ id: sideNavContentId,
164
+ className: contentClasses,
165
+ css: mobileContentStyles
166
+ }, this.renderTree(items)))), ___EmotionJSX(EuiHideFor, {
167
+ sizes: mobileBreakpoints || 'none'
185
168
  }, ___EmotionJSX("nav", _extends({
186
- "aria-labelledby": headingNode ? sharedHeadingProps.id : undefined,
169
+ "aria-labelledby": heading ? headingId : undefined,
187
170
  className: classes
188
- }, rest), headingNode, navContent)));
171
+ }, rest), heading && ___EmotionJSX(EuiSideNavHeading, _extends({
172
+ id: headingId
173
+ }, headingProps), heading), ___EmotionJSX("div", {
174
+ id: sideNavContentId,
175
+ className: contentClasses
176
+ }, this.renderTree(items)))));
189
177
  }
190
178
  }]);
191
- return EuiSideNav;
179
+ return EuiSideNavClass;
192
180
  }(Component);
193
- _defineProperty(EuiSideNav, "defaultProps", {
181
+ _defineProperty(EuiSideNavClass, "defaultProps", {
194
182
  items: [],
195
183
  mobileBreakpoints: ['xs', 's']
196
- });
184
+ });
185
+ export var EuiSideNav = withEuiTheme(EuiSideNavClass);
@@ -0,0 +1,35 @@
1
+ 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)."; }
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import { css } from '@emotion/react';
11
+ import { euiCanAnimate, logicalCSS } from '../../global_styling';
12
+ var _ref = process.env.NODE_ENV === "production" ? {
13
+ name: "f0todx-euiSideNav__mobileToggleContent",
14
+ styles: "justify-content:space-between;label:euiSideNav__mobileToggleContent;"
15
+ } : {
16
+ name: "f0todx-euiSideNav__mobileToggleContent",
17
+ styles: "justify-content:space-between;label:euiSideNav__mobileToggleContent;",
18
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
19
+ };
20
+ export var euiSideNavMobileStyles = function euiSideNavMobileStyles(euiThemeContext) {
21
+ var euiTheme = euiThemeContext.euiTheme;
22
+ var fastTransition = "".concat(euiTheme.animation.extraFast, " ").concat(euiTheme.animation.resistance);
23
+ var slowTransition = "".concat(euiTheme.animation.extraSlow, " ").concat(euiTheme.animation.resistance);
24
+ return {
25
+ // Mobile button
26
+ euiSideNav__mobileToggle: /*#__PURE__*/css(logicalCSS('width', '100%'), " ", logicalCSS('height', 'auto'), "padding:1em;font-size:inherit;text-align:start;border-radius:0;", logicalCSS('border-bottom', euiTheme.border.thin), ";;label:euiSideNav__mobileToggle;"),
27
+ euiSideNav__mobileToggleContent: _ref,
28
+ // Mobile content
29
+ content: {
30
+ euiSideNav__mobileContent: /*#__PURE__*/css(euiCanAnimate, "{transition:max-block-size ", fastTransition, ",padding-block ", fastTransition, ",opacity ", slowTransition, ",visibility ", slowTransition, ";};label:euiSideNav__mobileContent;"),
31
+ hidden: /*#__PURE__*/css("overflow:hidden;visibility:hidden;opacity:0;max-block-size:0;padding-inline:", euiTheme.size.l, ";;label:hidden;"),
32
+ open: /*#__PURE__*/css("visibility:visible;opacity:1;max-block-size:5000px;padding:", euiTheme.size.l, ";;label:open;")
33
+ }
34
+ };
35
+ };
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["href", "target", "rel", "onClick", "className", "children", "disabled"],
5
- _excluded2 = ["isOpen", "isSelected", "isParent", "icon", "onClick", "href", "rel", "target", "items", "children", "renderItem", "depth", "className", "truncate", "emphasize", "buttonClassName", "childrenOnly"];
5
+ _excluded2 = ["isOpen", "isSelected", "isParent", "icon", "onClick", "href", "rel", "target", "items", "children", "renderItem", "depth", "className", "css", "style", "truncate", "emphasize", "buttonClassName", "childrenOnly"];
6
6
  /*
7
7
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
8
8
  * or more contributor license agreements. Licensed under the Elastic License
@@ -11,12 +11,13 @@ var _excluded = ["href", "target", "rel", "onClick", "className", "children", "d
11
11
  * Side Public License, v 1.
12
12
  */
13
13
 
14
- import React, { cloneElement, useState, useEffect } from 'react';
14
+ import React, { useState, useEffect, useCallback } from 'react';
15
15
  import classNames from 'classnames';
16
- import { EuiIcon } from '../icon';
17
- import { getSecureRelForTarget } from '../../services';
16
+ import { useEuiTheme, getSecureRelForTarget } from '../../services';
18
17
  import { validateHref } from '../../services/security/href_validator';
19
18
  import { EuiInnerText } from '../inner_text';
19
+ import { EuiIcon } from '../icon';
20
+ import { euiSideNavItemStyles, euiSideNavItemButtonStyles } from './side_nav_item.styles';
20
21
 
21
22
  /**
22
23
  * The props that are exposed to, or altered for, the consumer
@@ -59,7 +60,7 @@ var DefaultRenderItem = function DefaultRenderItem(_ref) {
59
60
  className: className
60
61
  }, rest), children);
61
62
  };
62
- export function EuiSideNavItem(_ref2) {
63
+ export var EuiSideNavItem = function EuiSideNavItem(_ref2) {
63
64
  var isOpen = _ref2.isOpen,
64
65
  isSelected = _ref2.isSelected,
65
66
  isParent = _ref2.isParent,
@@ -75,15 +76,17 @@ export function EuiSideNavItem(_ref2) {
75
76
  _ref2$depth = _ref2.depth,
76
77
  depth = _ref2$depth === void 0 ? 0 : _ref2$depth,
77
78
  className = _ref2.className,
79
+ css = _ref2.css,
80
+ style = _ref2.style,
78
81
  _ref2$truncate = _ref2.truncate,
79
82
  truncate = _ref2$truncate === void 0 ? true : _ref2$truncate,
80
83
  emphasize = _ref2.emphasize,
81
84
  buttonClassName = _ref2.buttonClassName,
82
85
  childrenOnly = _ref2.childrenOnly,
83
86
  rest = _objectWithoutProperties(_ref2, _excluded2);
87
+ var euiTheme = useEuiTheme();
84
88
  var isHrefValid = !_href || validateHref(_href);
85
89
  var href = isHrefValid ? _href : '';
86
- var isClickable = onClick || href;
87
90
 
88
91
  // Forcing accordion style item if not linked, but has children
89
92
  var _useState = useState(isOpen),
@@ -93,63 +96,61 @@ export function EuiSideNavItem(_ref2) {
93
96
  useEffect(function () {
94
97
  setItemIsOpen(isOpen);
95
98
  }, [isOpen]);
96
- var toggleItemOpen = function toggleItemOpen() {
99
+ var toggleItemOpen = useCallback(function () {
97
100
  setItemIsOpen(function (isOpen) {
98
101
  return !isOpen;
99
102
  });
100
- };
101
- var childItems;
102
- if (items && itemIsOpen) {
103
- childItems = ___EmotionJSX("div", {
104
- className: "euiSideNavItem__items"
105
- }, items);
106
- }
107
- var buttonIcon;
108
- if (icon) {
109
- buttonIcon = /*#__PURE__*/cloneElement(icon, {
110
- className: classNames('euiSideNavItemButton__icon', icon.props.className)
111
- });
112
- }
103
+ }, []);
104
+ var isRoot = depth === 0;
105
+ var isTrunk = depth === 1;
106
+ var isBranch = depth > 1;
107
+ var hasCaret = depth > 0 && childrenOnly;
108
+ var hasChildItems = items && itemIsOpen;
113
109
  var classes = classNames('euiSideNavItem', {
114
- 'euiSideNavItem--root': depth === 0,
115
- 'euiSideNavItem--rootIcon': depth === 0 && icon,
116
- 'euiSideNavItem--trunk': depth === 1,
117
- 'euiSideNavItem--branch': depth > 1,
118
- 'euiSideNavItem--hasChildItems': !!childItems,
119
- 'euiSideNavItem--emphasized': emphasize
110
+ 'euiSideNavItem--root': isRoot,
111
+ 'euiSideNavItem--trunk': isTrunk,
112
+ 'euiSideNavItem--branch': isBranch,
113
+ 'euiSideNavItem--emphasized': emphasize,
114
+ 'euiSideNavItem-hasChildItems': hasChildItems
120
115
  }, className);
116
+ var styles = euiSideNavItemStyles(euiTheme);
117
+ var cssStyles = [styles.euiSideNavItem, isRoot && styles.root, isTrunk && styles.trunk, isBranch && styles.branch, emphasize && styles.emphasized, css];
118
+ var itemsStyles = hasChildItems && [styles.items.euiSideNavItem__items, isRoot && icon && styles.items.rootWithIcon, isTrunk && styles.items.trunk, isBranch && styles.items.branch];
121
119
  var buttonClasses = classNames('euiSideNavItemButton', {
122
- 'euiSideNavItemButton--isClickable': isClickable,
123
120
  'euiSideNavItemButton-isOpen': depth > 0 && itemIsOpen && !isSelected,
124
121
  'euiSideNavItemButton-isSelected': isSelected
125
122
  }, buttonClassName);
126
- var caret;
127
- if (depth > 0 && childrenOnly) {
128
- caret = ___EmotionJSX(EuiIcon, {
129
- type: itemIsOpen ? 'arrowDown' : 'arrowRight',
130
- size: "s"
131
- });
132
- }
133
- var buttonContent = ___EmotionJSX("span", {
123
+ var buttonStyles = euiSideNavItemButtonStyles(euiTheme);
124
+ var buttonCssStyles = [buttonStyles.euiSideNavItemButton, isSelected && buttonStyles.selected, emphasize && buttonStyles.emphasized, isRoot && buttonStyles.root, isTrunk && buttonStyles.trunk, isBranch && buttonStyles.branch];
125
+ var labelCssStyles = [buttonStyles.label.euiSideNavItemButton__label, isRoot && buttonStyles.label.root];
126
+ return ___EmotionJSX("div", {
127
+ css: cssStyles,
128
+ className: classes,
129
+ style: style
130
+ }, ___EmotionJSX(RenderItem, _extends({
131
+ css: buttonCssStyles,
132
+ className: buttonClasses,
133
+ href: href,
134
+ rel: rel,
135
+ target: target,
136
+ onClick: childrenOnly ? toggleItemOpen : onClick
137
+ }, rest), ___EmotionJSX("span", {
138
+ css: buttonStyles.euiSideNavItemButton__content,
134
139
  className: "euiSideNavItemButton__content"
135
- }, buttonIcon, ___EmotionJSX(EuiInnerText, null, function (ref, innerText) {
140
+ }, icon, ___EmotionJSX(EuiInnerText, null, function (ref, innerText) {
136
141
  return ___EmotionJSX("span", {
137
142
  ref: ref,
138
143
  title: truncate ? innerText : undefined,
144
+ css: labelCssStyles,
139
145
  className: classNames('euiSideNavItemButton__label', {
140
- 'euiSideNavItemButton__label--truncated': truncate
146
+ 'eui-textTruncate': truncate
141
147
  })
142
148
  }, children);
143
- }), caret);
144
- var renderItemProps = {
145
- href: href,
146
- rel: rel,
147
- target: target,
148
- onClick: childrenOnly ? toggleItemOpen : onClick,
149
- className: buttonClasses,
150
- children: buttonContent
151
- };
152
- return ___EmotionJSX("div", {
153
- className: classes
154
- }, ___EmotionJSX(RenderItem, _extends({}, renderItemProps, rest)), childItems);
155
- }
149
+ }), hasCaret && ___EmotionJSX(EuiIcon, {
150
+ type: itemIsOpen ? 'arrowDown' : 'arrowRight',
151
+ size: "s"
152
+ }))), hasChildItems && ___EmotionJSX("div", {
153
+ css: itemsStyles,
154
+ className: "euiSideNavItem__items"
155
+ }, items));
156
+ };
@@ -0,0 +1,69 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ 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)."; }
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 { css } from '@emotion/react';
14
+ import { transparentize } from '../../services';
15
+ import { euiFontSize, logicalCSS, mathWithUnits } from '../../global_styling';
16
+ import { euiTitle } from '../title/title.styles';
17
+ export var euiSideNavItemStyles = function euiSideNavItemStyles(euiThemeContext) {
18
+ var euiTheme = euiThemeContext.euiTheme;
19
+ var emphasizedBackgroundColor = transparentize(euiTheme.colors.lightShade, 0.3);
20
+ return {
21
+ euiSideNavItem: /*#__PURE__*/css(";label:euiSideNavItem;"),
22
+ emphasized: /*#__PURE__*/css("background-color:", emphasizedBackgroundColor, ";color:", euiTheme.colors.title, ";box-shadow:100px 0 0 0 ", emphasizedBackgroundColor, ",-100px 0 0 0 ", emphasizedBackgroundColor, ";& &{background-color:transparent;box-shadow:none;};label:emphasized;"),
23
+ // Layout
24
+ root: /*#__PURE__*/css(logicalCSS('padding-bottom', euiTheme.size.s), " &+&{", logicalCSS('margin-top', euiTheme.size.s), " ", logicalCSS('padding-top', euiTheme.size.s), ";};label:root;"),
25
+ trunk: /*#__PURE__*/css("color:", euiTheme.colors.title, ";;label:trunk;"),
26
+ branch: /*#__PURE__*/css("position:relative;color:", euiTheme.colors.subduedText, ";&::after{position:absolute;content:'';", logicalCSS('vertical', 0), " ", logicalCSS('left', 0), " ", logicalCSS('width', euiTheme.border.width.thin), " background-color:", euiTheme.border.color, ";}&:last-of-type::after{", logicalCSS('height', euiTheme.size.m), ";};label:branch;"),
27
+ items: {
28
+ euiSideNavItem__items: /*#__PURE__*/css(";label:euiSideNavItem__items;"),
29
+ rootWithIcon: /*#__PURE__*/css(logicalCSS('margin-left', euiTheme.size.l), ";;label:rootWithIcon;"),
30
+ trunk: /*#__PURE__*/css(logicalCSS('width', '100%'), logicalCSS('margin-left', euiTheme.size.s), ";;label:trunk;"),
31
+ branch: /*#__PURE__*/css(logicalCSS('margin-left', euiTheme.size.base), ";;label:branch;")
32
+ }
33
+ };
34
+ };
35
+ var _ref = process.env.NODE_ENV === "production" ? {
36
+ name: "1nca8qt-euiSideNavItemButton__label",
37
+ styles: "flex-grow:1;label:euiSideNavItemButton__label;"
38
+ } : {
39
+ name: "1nca8qt-euiSideNavItemButton__label",
40
+ styles: "flex-grow:1;label:euiSideNavItemButton__label;",
41
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
42
+ };
43
+ export var euiSideNavItemButtonStyles = function euiSideNavItemButtonStyles(euiThemeContext) {
44
+ var euiTheme = euiThemeContext.euiTheme;
45
+ var lineHeightOverride = euiFontSize(euiThemeContext, 'm').lineHeight;
46
+
47
+ // Create padding around focus area without indenting the item itself.
48
+ var paddingMarginOffset = "\n padding-inline: ".concat(euiTheme.size.s, ";\n ").concat(logicalCSS('margin-left', "-".concat(euiTheme.size.s)), "\n ").concat(logicalCSS('width', "calc(100% + ".concat(mathWithUnits(euiTheme.size.s, function (x) {
49
+ return x * 2;
50
+ }), ")")), ";\n ");
51
+ return {
52
+ euiSideNavItemButton: /*#__PURE__*/css("display:block;", logicalCSS('width', '100%'), "padding-block:", euiTheme.size.xxs, ";font-size:", euiFontSize(euiThemeContext, 's').fontSize, ";line-height:", lineHeightOverride, ";text-align:start;color:inherit;&:is(a, button):not(:disabled){&:hover{cursor:pointer;}&:hover,&:focus{.euiSideNavItemButton__label{text-decoration:underline;}}}&:disabled{cursor:not-allowed;color:", euiTheme.colors.disabledText, ";};label:euiSideNavItemButton;"),
53
+ selected: /*#__PURE__*/css("color:", euiTheme.colors.primaryText, ";font-weight:", euiTheme.font.weight.bold, ";.euiSideNavItemButton__label{text-decoration:underline;};label:selected;"),
54
+ emphasized: /*#__PURE__*/css("font-weight:", euiTheme.font.weight.bold, ";;label:emphasized;"),
55
+ // Layout
56
+ root: /*#__PURE__*/css(logicalCSS('margin-bottom', euiTheme.size.xs), " padding-block:0;", paddingMarginOffset, ";;label:root;"),
57
+ trunk: /*#__PURE__*/css(paddingMarginOffset, ";;label:trunk;"),
58
+ branch: /*#__PURE__*/css("position:relative;padding-inline:", euiTheme.size.s, ";&::after{position:absolute;content:'';", logicalCSS('top', euiTheme.size.m), " ", logicalCSS('left', 0), " ", logicalCSS('width', euiTheme.size.xs), " ", logicalCSS('height', euiTheme.border.width.thin), " background-color:", euiTheme.border.color, ";};label:branch;"),
59
+ // Child elements
60
+ euiSideNavItemButton__content: /*#__PURE__*/css("display:flex;align-items:center;gap:", euiTheme.size.s, ";;label:euiSideNavItemButton__content;"),
61
+ label: {
62
+ euiSideNavItemButton__label: _ref,
63
+ root: _objectSpread(_objectSpread({}, euiTitle(euiThemeContext, 'xxs')), {}, {
64
+ lineHeight: lineHeightOverride,
65
+ color: 'inherit'
66
+ })
67
+ }
68
+ };
69
+ };
@@ -24,7 +24,7 @@ import classNames from 'classnames';
24
24
  import { withEuiTheme, keys, htmlIdGenerator } from '../../services';
25
25
  import { EuiI18n } from '../i18n';
26
26
  import { EuiScreenReaderOnly } from '../accessibility';
27
- import { EuiTreeViewItem } from './_tree_view_item';
27
+ import { EuiTreeViewItem } from './tree_view_item';
28
28
  import { euiTreeViewStyles } from './tree_view.styles';
29
29
  import { jsx as ___EmotionJSX } from "@emotion/react";
30
30
  var EuiTreeViewContext = /*#__PURE__*/createContext('');
@@ -257,4 +257,6 @@ export var EuiTreeViewClass = /*#__PURE__*/function (_Component) {
257
257
  return EuiTreeViewClass;
258
258
  }(Component);
259
259
  _defineProperty(EuiTreeViewClass, "contextType", EuiTreeViewContext);
260
- export var EuiTreeView = withEuiTheme(EuiTreeViewClass);
260
+ export var EuiTreeView = Object.assign(withEuiTheme(EuiTreeViewClass), {
261
+ Item: EuiTreeViewItem
262
+ });
@@ -13,7 +13,7 @@ import React, { memo } from 'react';
13
13
  import classNames from 'classnames';
14
14
  import { useEuiTheme } from '../../services';
15
15
  import { EuiIcon } from '../icon';
16
- import { euiTreeViewItemStyles } from './_tree_view_item.styles';
16
+ import { euiTreeViewItemStyles } from './tree_view_item.styles';
17
17
  import { jsx as ___EmotionJSX } from "@emotion/react";
18
18
  export var EuiTreeViewItem = /*#__PURE__*/memo(function (_ref) {
19
19
  var id = _ref.id,
@@ -1,3 +1,4 @@
1
+ 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)."; }
1
2
  /*
2
3
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
4
  * or more contributor license agreements. Licensed under the Elastic License
@@ -9,13 +10,21 @@
9
10
  import { css } from '@emotion/react';
10
11
  import { transparentize } from '../../services';
11
12
  import { euiFocusRing, logicalCSS, mathWithUnits } from '../../global_styling';
13
+ var _ref = process.env.NODE_ENV === "production" ? {
14
+ name: "22lgun-euiTreeView__node",
15
+ styles: "list-style:none;label:euiTreeView__node;"
16
+ } : {
17
+ name: "22lgun-euiTreeView__node",
18
+ styles: "list-style:none;label:euiTreeView__node;",
19
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
20
+ };
12
21
  export var euiTreeViewItemStyles = function euiTreeViewItemStyles(euiThemeContext) {
13
22
  var euiTheme = euiThemeContext.euiTheme;
14
23
  var defaultSize = euiTheme.size.xl;
15
24
  var compressedSize = euiTheme.size.l;
16
25
  return {
17
26
  li: {
18
- euiTreeView__node: /*#__PURE__*/css(";label:euiTreeView__node;"),
27
+ euiTreeView__node: _ref,
19
28
  default: /*#__PURE__*/css(logicalCSS('max-height', defaultSize), " line-height:", defaultSize, ";;label:default;"),
20
29
  compressed: /*#__PURE__*/css(logicalCSS('max-height', compressedSize), " line-height:", compressedSize, ";;label:compressed;"),
21
30
  expanded: /*#__PURE__*/css(logicalCSS('max-height', '100vh'), ";;label:expanded;")
@@ -9,6 +9,7 @@
9
9
  export { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext } from './context';
10
10
  export { useEuiTheme, withEuiTheme, RenderWithEuiTheme, useEuiThemeCSSVariables } from './hooks';
11
11
  export { EuiThemeProvider } from './provider';
12
+ export { useEuiMemoizedStyles } from './style_memoization';
12
13
  export { getEuiDevProviderWarning, setEuiDevProviderWarning } from './warning';
13
14
  export { buildTheme, computed, isInverseColorMode, getColorMode, getComputed, getOn, mergeDeep, setOn, Computed } from './utils';
14
15
  export { COLOR_MODES_STANDARD } from './types';
@@ -23,6 +23,7 @@ import { cloneElementWithCss } from '../emotion';
23
23
  import { css, cx } from '../emotion/css';
24
24
  import { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext } from './context';
25
25
  import { EuiEmotionThemeProvider } from './emotion';
26
+ import { EuiThemeMemoizedStylesProvider } from './style_memoization';
26
27
  import { buildTheme, getColorMode, getComputed, mergeDeep } from './utils';
27
28
  import { jsx as ___EmotionJSX } from "@emotion/react";
28
29
  export var EuiThemeProvider = function EuiThemeProvider(_ref) {
@@ -155,5 +156,5 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
155
156
  value: theme
156
157
  }, ___EmotionJSX(EuiNestedThemeContext.Provider, {
157
158
  value: nestedThemeContext
158
- }, ___EmotionJSX(EuiEmotionThemeProvider, null, renderedChildren)))))));
159
+ }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, renderedChildren))))))));
159
160
  };
@@ -0,0 +1,60 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import React, { createContext, useContext, useState, useMemo } from 'react';
11
+ import { useUpdateEffect } from '../hooks';
12
+ import { useEuiTheme } from './hooks';
13
+
14
+ // NOTE: We're specifically using a WeakMap instead of a Map in order to allow
15
+ // unmounted components to have their styles garbage-collected by the browser
16
+ // @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap
17
+ import { jsx as ___EmotionJSX } from "@emotion/react";
18
+ export var EuiThemeMemoizedStylesContext = /*#__PURE__*/createContext(new WeakMap());
19
+ export var EuiThemeMemoizedStylesProvider = function EuiThemeMemoizedStylesProvider(_ref) {
20
+ var children = _ref.children;
21
+ // Note: we *should not* use `useMemo` instead of `useState` here, as useMemo is not guaranteed
22
+ // and its cache can get thrown away by React (https://react.dev/reference/react/useMemo#caveats)
23
+ var _useState = useState(new WeakMap()),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ componentStyles = _useState2[0],
26
+ rerenderStyles = _useState2[1];
27
+
28
+ // On theme update, wipe the map, which causes the below hook to recompute all styles
29
+ var _useEuiTheme = useEuiTheme(),
30
+ euiTheme = _useEuiTheme.euiTheme;
31
+ useUpdateEffect(function () {
32
+ rerenderStyles(new WeakMap());
33
+ }, [euiTheme]);
34
+ return ___EmotionJSX(EuiThemeMemoizedStylesContext.Provider, {
35
+ value: componentStyles
36
+ }, children);
37
+ };
38
+
39
+ /**
40
+ * Hook that memoizes the returned values of components style fns/generators
41
+ * per-theme
42
+ */
43
+ export var useEuiMemoizedStyles = function useEuiMemoizedStyles(styleGenerator) {
44
+ var memoizedStyles = useContext(EuiThemeMemoizedStylesContext);
45
+ var euiThemeContext = useEuiTheme();
46
+ var memoizedComponentStyles = useMemo(function () {
47
+ if (!styleGenerator.name) {
48
+ throw new Error('Styles are memoized per function. Your style functions must be statically defined in order to not create a new map entry every rerender.');
49
+ }
50
+ var existingStyles = memoizedStyles.get(styleGenerator);
51
+ if (existingStyles) {
52
+ return existingStyles;
53
+ } else {
54
+ var generatedStyles = styleGenerator(euiThemeContext);
55
+ memoizedStyles.set(styleGenerator, generatedStyles);
56
+ return generatedStyles;
57
+ }
58
+ }, [styleGenerator, memoizedStyles, euiThemeContext]);
59
+ return memoizedComponentStyles;
60
+ };
@@ -37,9 +37,8 @@ var EuiBeacon = function EuiBeacon(_ref) {
37
37
  color = _ref$color === void 0 ? 'success' : _ref$color,
38
38
  style = _ref.style,
39
39
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
40
- var euiTheme = (0, _services.useEuiTheme)();
40
+ var styles = (0, _services.useEuiMemoizedStyles)(_beacon.euiBeaconStyles);
41
41
  var classes = (0, _classnames.default)('euiBeacon', className);
42
- var styles = (0, _beacon.euiBeaconStyles)(euiTheme);
43
42
  var cssStyles = [styles.euiBeacon, styles[color]];
44
43
  var beaconStyle = (0, _react.useMemo)(function () {
45
44
  return (0, _global_styling.logicalStyles)(_objectSpread(_objectSpread({}, style), {}, {
@@ -13,7 +13,6 @@ var _refractor = require("refractor");
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _utils = require("./utils");
15
15
  var _services = require("../../services");
16
- var _code_syntax = require("./code_syntax.styles");
17
16
  var _code = require("./code.styles");
18
17
  var _react2 = require("@emotion/react");
19
18
  var _excluded = ["transparentBackground", "language", "children", "className"];
@@ -47,7 +46,7 @@ var EuiCode = function EuiCode(_ref) {
47
46
  return (0, _utils.getHtmlContent)(data, children);
48
47
  }, [data, children]);
49
48
  var classes = (0, _classnames.default)('euiCode', className);
50
- var styles = (0, _code.euiCodeStyles)((0, _services.useEuiTheme)(), (0, _code_syntax.useEuiCodeSyntaxVariables)());
49
+ var styles = (0, _services.useEuiMemoizedStyles)(_code.euiCodeStyles);
51
50
  var cssStyles = [styles.euiCode, transparentBackground && styles.transparentBackground];
52
51
  return (0, _react2.jsx)("code", (0, _extends2.default)({
53
52
  className: classes,