@elastic/eui 93.1.1 → 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 (340) 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/services/theme/index.js +1 -0
  95. package/es/services/theme/provider.js +2 -1
  96. package/es/services/theme/style_memoization.js +65 -0
  97. package/eui.d.ts +194 -77
  98. package/i18ntokens.json +26 -8
  99. package/lib/components/avatar/avatar.js +1 -1
  100. package/lib/components/badge/badge.js +1 -1
  101. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  102. package/lib/components/basic_table/basic_table.js +1 -1
  103. package/lib/components/basic_table/in_memory_table.js +1 -1
  104. package/lib/components/beacon/beacon.js +1 -2
  105. package/lib/components/button/button.js +1 -1
  106. package/lib/components/button/button_display/_button_display.js +1 -1
  107. package/lib/components/button/button_display/_button_display_content.js +1 -1
  108. package/lib/components/button/button_empty/button_empty.js +1 -1
  109. package/lib/components/button/button_group/button_group.js +1 -1
  110. package/lib/components/button/button_group/button_group_button.js +1 -1
  111. package/lib/components/button/button_icon/button_icon.js +1 -1
  112. package/lib/components/call_out/call_out.js +1 -1
  113. package/lib/components/card/card.js +2 -2
  114. package/lib/components/card/card_select/card_select.js +1 -1
  115. package/lib/components/code/code.js +1 -2
  116. package/lib/components/code/code.styles.js +4 -2
  117. package/lib/components/code/code_block.js +9 -11
  118. package/lib/components/code/code_block.styles.js +6 -4
  119. package/lib/components/code/code_block_controls.js +1 -2
  120. package/lib/components/code/code_block_controls.styles.js +4 -2
  121. package/lib/components/code/code_block_full_screen.js +1 -2
  122. package/lib/components/code/code_syntax.styles.js +34 -39
  123. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  124. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  125. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  126. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  127. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  128. package/lib/components/comment_list/comment.js +2 -2
  129. package/lib/components/comment_list/comment_event.js +1 -1
  130. package/lib/components/comment_list/comment_list.js +2 -2
  131. package/lib/components/comment_list/comment_timeline.js +1 -1
  132. package/lib/components/datagrid/body/cell/data_grid_cell.js +24 -24
  133. package/lib/components/datagrid/body/data_grid_body.js +13 -13
  134. package/lib/components/datagrid/body/data_grid_body_custom.js +13 -13
  135. package/lib/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  136. package/lib/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  137. package/lib/components/datagrid/body/header/data_grid_header_row.js +13 -13
  138. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  139. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  140. package/lib/components/datagrid/utils/grid_height_width.js +4 -1
  141. package/lib/components/datagrid/utils/in_memory.js +12 -12
  142. package/lib/components/date_picker/date_picker.js +2 -2
  143. package/lib/components/date_picker/date_picker_range.js +1 -1
  144. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  145. package/lib/components/facet/facet_button.js +1 -1
  146. package/lib/components/form/field_number/field_number.js +1 -1
  147. package/lib/components/form/field_text/field_text.js +2 -2
  148. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  149. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  150. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  151. package/lib/components/form/text_area/text_area.js +2 -2
  152. package/lib/components/header/header_links/header_link.js +1 -1
  153. package/lib/components/header/header_links/header_links.js +1 -1
  154. package/lib/components/header/header_logo/header_logo.js +1 -1
  155. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  156. package/lib/components/icon/assets/diff.js +41 -0
  157. package/lib/components/icon/assets/new_chat.js +45 -0
  158. package/lib/components/icon/icon.js +1 -1
  159. package/lib/components/icon/icon_map.js +2 -0
  160. package/lib/components/icon/svgs/diff.svg +1 -0
  161. package/lib/components/icon/svgs/new_chat.svg +4 -0
  162. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  163. package/lib/components/list_group/list_group.js +2 -2
  164. package/lib/components/list_group/list_group_item.js +2 -2
  165. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  166. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  167. package/lib/components/loading/loading_logo.js +1 -1
  168. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  169. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  170. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  171. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  172. package/lib/components/page/page_header/page_header_content.js +1 -1
  173. package/lib/components/page/page_sidebar/page_sidebar.js +8 -2
  174. package/lib/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  175. package/lib/components/page_template/page_template.js +1 -1
  176. package/lib/components/pagination/pagination_button.js +1 -1
  177. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  178. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  179. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  180. package/lib/components/side_nav/_side_nav_heading.js +67 -0
  181. package/lib/components/side_nav/side_nav.js +65 -89
  182. package/lib/components/side_nav/side_nav.styles.js +40 -0
  183. package/lib/components/side_nav/side_nav_item.js +51 -49
  184. package/lib/components/side_nav/side_nav_item.styles.js +78 -0
  185. package/lib/components/table/table_header_button.js +1 -1
  186. package/lib/components/timeline/timeline_item_icon.js +1 -1
  187. package/lib/components/toast/global_toast_list.js +1 -1
  188. package/lib/components/toast/toast.js +1 -1
  189. package/lib/components/tool_tip/icon_tip.js +1 -1
  190. package/lib/services/theme/index.js +7 -0
  191. package/lib/services/theme/provider.js +2 -1
  192. package/lib/services/theme/style_memoization.js +73 -0
  193. package/optimize/es/components/beacon/beacon.js +2 -3
  194. package/optimize/es/components/code/code.js +2 -3
  195. package/optimize/es/components/code/code.styles.js +4 -2
  196. package/optimize/es/components/code/code_block.js +10 -12
  197. package/optimize/es/components/code/code_block.styles.js +6 -4
  198. package/optimize/es/components/code/code_block_controls.js +2 -3
  199. package/optimize/es/components/code/code_block_controls.styles.js +4 -2
  200. package/optimize/es/components/code/code_block_full_screen.js +2 -3
  201. package/optimize/es/components/code/code_syntax.styles.js +33 -38
  202. package/optimize/es/components/datagrid/utils/grid_height_width.js +4 -1
  203. package/optimize/es/components/icon/assets/diff.js +32 -0
  204. package/optimize/es/components/icon/assets/new_chat.js +36 -0
  205. package/optimize/es/components/icon/icon_map.js +2 -0
  206. package/optimize/es/components/page/page_sidebar/page_sidebar.js +4 -2
  207. package/optimize/es/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  208. package/optimize/es/components/page_template/page_template.js +1 -1
  209. package/optimize/es/components/side_nav/_side_nav_heading.js +47 -0
  210. package/optimize/es/components/side_nav/side_nav.js +61 -72
  211. package/optimize/es/components/side_nav/side_nav.styles.js +35 -0
  212. package/optimize/es/components/side_nav/side_nav_item.js +51 -50
  213. package/optimize/es/components/side_nav/side_nav_item.styles.js +69 -0
  214. package/optimize/es/services/theme/index.js +1 -0
  215. package/optimize/es/services/theme/provider.js +2 -1
  216. package/optimize/es/services/theme/style_memoization.js +60 -0
  217. package/optimize/lib/components/beacon/beacon.js +1 -2
  218. package/optimize/lib/components/code/code.js +1 -2
  219. package/optimize/lib/components/code/code.styles.js +4 -2
  220. package/optimize/lib/components/code/code_block.js +9 -11
  221. package/optimize/lib/components/code/code_block.styles.js +6 -4
  222. package/optimize/lib/components/code/code_block_controls.js +1 -2
  223. package/optimize/lib/components/code/code_block_controls.styles.js +4 -2
  224. package/optimize/lib/components/code/code_block_full_screen.js +1 -2
  225. package/optimize/lib/components/code/code_syntax.styles.js +34 -39
  226. package/optimize/lib/components/datagrid/utils/grid_height_width.js +4 -1
  227. package/optimize/lib/components/icon/assets/diff.js +41 -0
  228. package/optimize/lib/components/icon/assets/new_chat.js +45 -0
  229. package/optimize/lib/components/icon/icon_map.js +2 -0
  230. package/optimize/lib/components/icon/svgs/diff.svg +1 -0
  231. package/optimize/lib/components/icon/svgs/new_chat.svg +4 -0
  232. package/optimize/lib/components/page/page_sidebar/page_sidebar.js +4 -2
  233. package/optimize/lib/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  234. package/optimize/lib/components/page_template/page_template.js +1 -1
  235. package/optimize/lib/components/side_nav/_side_nav_heading.js +53 -0
  236. package/optimize/lib/components/side_nav/side_nav.js +63 -73
  237. package/optimize/lib/components/side_nav/side_nav.styles.js +40 -0
  238. package/optimize/lib/components/side_nav/side_nav_item.js +51 -49
  239. package/optimize/lib/components/side_nav/side_nav_item.styles.js +76 -0
  240. package/optimize/lib/services/theme/index.js +7 -0
  241. package/optimize/lib/services/theme/provider.js +2 -1
  242. package/optimize/lib/services/theme/style_memoization.js +73 -0
  243. package/package.json +1 -1
  244. package/src/components/index.scss +0 -1
  245. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  246. package/test-env/components/avatar/avatar.js +1 -1
  247. package/test-env/components/badge/badge.js +1 -1
  248. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  249. package/test-env/components/basic_table/basic_table.js +1 -1
  250. package/test-env/components/basic_table/in_memory_table.js +1 -1
  251. package/test-env/components/beacon/beacon.js +1 -2
  252. package/test-env/components/button/button.js +1 -1
  253. package/test-env/components/button/button_display/_button_display.js +1 -1
  254. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  255. package/test-env/components/button/button_empty/button_empty.js +1 -1
  256. package/test-env/components/button/button_group/button_group.js +1 -1
  257. package/test-env/components/button/button_group/button_group_button.js +1 -1
  258. package/test-env/components/button/button_icon/button_icon.js +1 -1
  259. package/test-env/components/call_out/call_out.js +1 -1
  260. package/test-env/components/card/card.js +2 -2
  261. package/test-env/components/card/card_select/card_select.js +1 -1
  262. package/test-env/components/code/code.styles.js +4 -2
  263. package/test-env/components/code/code_block.styles.js +6 -4
  264. package/test-env/components/code/code_block_controls.js +1 -2
  265. package/test-env/components/code/code_block_controls.styles.js +4 -2
  266. package/test-env/components/code/code_block_full_screen.js +1 -2
  267. package/test-env/components/code/code_syntax.styles.js +34 -39
  268. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  269. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  270. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  271. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  272. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  273. package/test-env/components/comment_list/comment.js +2 -2
  274. package/test-env/components/comment_list/comment_event.js +1 -1
  275. package/test-env/components/comment_list/comment_list.js +2 -2
  276. package/test-env/components/comment_list/comment_timeline.js +1 -1
  277. package/test-env/components/datagrid/body/cell/data_grid_cell.js +24 -24
  278. package/test-env/components/datagrid/body/data_grid_body.js +13 -13
  279. package/test-env/components/datagrid/body/data_grid_body_custom.js +13 -13
  280. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  281. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  282. package/test-env/components/datagrid/body/header/data_grid_header_row.js +13 -13
  283. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  284. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  285. package/test-env/components/datagrid/utils/grid_height_width.js +4 -1
  286. package/test-env/components/datagrid/utils/in_memory.js +12 -12
  287. package/test-env/components/date_picker/date_picker.js +2 -2
  288. package/test-env/components/date_picker/date_picker_range.js +1 -1
  289. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  290. package/test-env/components/facet/facet_button.js +1 -1
  291. package/test-env/components/form/field_number/field_number.js +1 -1
  292. package/test-env/components/form/field_text/field_text.js +2 -2
  293. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  294. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  295. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  296. package/test-env/components/form/text_area/text_area.js +2 -2
  297. package/test-env/components/header/header_links/header_link.js +1 -1
  298. package/test-env/components/header/header_links/header_links.js +1 -1
  299. package/test-env/components/header/header_logo/header_logo.js +1 -1
  300. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  301. package/test-env/components/icon/assets/diff.js +41 -0
  302. package/test-env/components/icon/assets/new_chat.js +45 -0
  303. package/test-env/components/icon/icon_map.js +2 -0
  304. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  305. package/test-env/components/list_group/list_group.js +2 -2
  306. package/test-env/components/list_group/list_group_item.js +2 -2
  307. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  308. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  309. package/test-env/components/loading/loading_logo.js +1 -1
  310. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  311. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  312. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  313. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  314. package/test-env/components/page/page_header/page_header_content.js +1 -1
  315. package/test-env/components/page/page_sidebar/page_sidebar.js +8 -2
  316. package/test-env/components/page/page_sidebar/page_sidebar.styles.js +5 -1
  317. package/test-env/components/page_template/page_template.js +1 -1
  318. package/test-env/components/pagination/pagination_button.js +1 -1
  319. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  320. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  321. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  322. package/test-env/components/side_nav/_side_nav_heading.js +66 -0
  323. package/test-env/components/side_nav/side_nav.js +65 -89
  324. package/test-env/components/side_nav/side_nav.styles.js +40 -0
  325. package/test-env/components/side_nav/side_nav_item.js +51 -49
  326. package/test-env/components/side_nav/side_nav_item.styles.js +76 -0
  327. package/test-env/components/table/table_header_button.js +1 -1
  328. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  329. package/test-env/components/toast/global_toast_list.js +1 -1
  330. package/test-env/components/toast/toast.js +1 -1
  331. package/test-env/components/tool_tip/icon_tip.js +1 -1
  332. package/test-env/services/theme/index.js +7 -0
  333. package/test-env/services/theme/provider.js +2 -1
  334. package/test-env/services/theme/style_memoization.js +73 -0
  335. package/src/components/side_nav/_index.scss +0 -5
  336. package/src/components/side_nav/_mixins.scss +0 -7
  337. package/src/components/side_nav/_side_nav.scss +0 -47
  338. package/src/components/side_nav/_side_nav_item.scss +0 -181
  339. package/src/components/side_nav/_variables.scss +0 -15
  340. package/src/themes/amsterdam/overrides/_side_nav.scss +0 -17
@@ -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
+ };
@@ -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,
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.euiCodeStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _global_styling = require("../../global_styling");
9
+ var _code_syntax = require("./code_syntax.styles");
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
11
12
  * or more contributor license agreements. Licensed under the Elastic License
@@ -21,13 +22,14 @@ var _ref = process.env.NODE_ENV === "production" ? {
21
22
  styles: "background:transparent;label:transparentBackground;",
22
23
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
24
  };
24
- var euiCodeStyles = function euiCodeStyles(euiThemeContext, euiCodeSyntaxVariables) {
25
+ var euiCodeStyles = function euiCodeStyles(euiThemeContext) {
26
+ var codeSyntaxVariables = (0, _code_syntax.euiCodeSyntaxVariables)(euiThemeContext);
25
27
  var euiTheme = euiThemeContext.euiTheme;
26
28
  return {
27
29
  /*
28
30
  * 1. Size the code against the text its embedded within.
29
31
  */
30
- euiCode: /*#__PURE__*/(0, _react.css)("font-family:", euiTheme.font.familyCode, ";font-size:0.9em;", (0, _global_styling.logicalShorthandCSS)('padding', '0.2em 0.5em'), "background:", euiCodeSyntaxVariables.backgroundColor, ";border-radius:", euiTheme.border.radius.small, ";font-weight:", euiTheme.font.weight.bold, ";color:", euiCodeSyntaxVariables.inlineCodeColor, ";", euiCodeSyntaxVariables.tokensCss, ";;label:euiCode;"),
32
+ euiCode: /*#__PURE__*/(0, _react.css)("font-family:", euiTheme.font.familyCode, ";font-size:0.9em;", (0, _global_styling.logicalShorthandCSS)('padding', '0.2em 0.5em'), "background:", codeSyntaxVariables.backgroundColor, ";border-radius:", euiTheme.border.radius.small, ";font-weight:", euiTheme.font.weight.bold, ";color:", codeSyntaxVariables.inlineCodeColor, ";", codeSyntaxVariables.tokensCss, ";;label:euiCode;"),
31
33
  transparentBackground: _ref
32
34
  };
33
35
  };
@@ -21,7 +21,6 @@ var _code_block_full_screen = require("./code_block_full_screen");
21
21
  var _code_block_controls = require("./code_block_controls");
22
22
  var _code_block_virtualized = require("./code_block_virtualized");
23
23
  var _code_block = require("./code_block.styles");
24
- var _code_syntax = require("./code_syntax.styles");
25
24
  var _react2 = require("@emotion/react");
26
25
  var _excluded = ["language", "transparentBackground", "paddingSize", "fontSize", "isCopyable", "whiteSpace", "children", "className", "overflowHeight", "isVirtualized", "lineNumbers"];
27
26
  /*
@@ -68,7 +67,6 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
68
67
  lineNumbers = _ref$lineNumbers === void 0 ? false : _ref$lineNumbers,
69
68
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
70
69
  var euiTheme = (0, _services.useEuiTheme)();
71
- var euiCodeSyntaxVariables = (0, _code_syntax.useEuiCodeSyntaxVariables)();
72
70
  var language = (0, _react.useMemo)(function () {
73
71
  return (0, _utils.checkSupportedLanguage)(_language);
74
72
  }, [_language]);
@@ -120,39 +118,39 @@ var EuiCodeBlock = function EuiCodeBlock(_ref) {
120
118
  onKeyDown = _useFullScreen.onKeyDown;
121
119
  var hasControls = !!(copyButton || fullScreenButton);
122
120
  var hasBothControls = !!(copyButton && fullScreenButton);
123
- var styles = (0, _code_block.euiCodeBlockStyles)(euiTheme, euiCodeSyntaxVariables);
121
+ var styles = (0, _services.useEuiMemoizedStyles)(_code_block.euiCodeBlockStyles);
124
122
  var cssStyles = [styles.euiCodeBlock, styles[fontSize], transparentBackground && styles.transparentBackground, hasControls && (hasBothControls ? styles.hasBothControls[paddingSize] : styles.hasControls[paddingSize])];
123
+ var preStyles = (0, _services.useEuiMemoizedStyles)(_code_block.euiCodeBlockPreStyles);
125
124
  var _useMemo = (0, _react.useMemo)(function () {
126
125
  var isWhiteSpacePre = whiteSpace === 'pre' || isVirtualized;
127
- var styles = (0, _code_block.euiCodeBlockPreStyles)(euiTheme);
128
- var cssStyles = [styles.euiCodeBlock__pre, isWhiteSpacePre ? styles.whiteSpace.pre.pre : styles.whiteSpace.preWrap.preWrap];
126
+ var cssStyles = [preStyles.euiCodeBlock__pre, isWhiteSpacePre ? preStyles.whiteSpace.pre.pre : preStyles.whiteSpace.preWrap.preWrap];
129
127
  var preProps = {
130
128
  className: 'euiCodeBlock__pre',
131
- css: [].concat(cssStyles, [styles.padding[paddingSize], hasControls && (isWhiteSpacePre ? styles.whiteSpace.pre.controlsOffset[paddingSize] : styles.whiteSpace.preWrap.controlsOffset[paddingSize])]),
129
+ css: [].concat(cssStyles, [preStyles.padding[paddingSize], hasControls && (isWhiteSpacePre ? preStyles.whiteSpace.pre.controlsOffset[paddingSize] : preStyles.whiteSpace.preWrap.controlsOffset[paddingSize])]),
132
130
  tabIndex: isVirtualized ? 0 : tabIndex
133
131
  };
134
132
  var preFullscreenProps = {
135
133
  className: 'euiCodeBlock__pre',
136
134
  css: [].concat(cssStyles, [
137
135
  // Force fullscreen to use xl padding
138
- styles.padding.xl, hasControls && (isWhiteSpacePre ? styles.whiteSpace.pre.controlsOffset.xl : styles.whiteSpace.preWrap.controlsOffset.xl)]),
136
+ preStyles.padding.xl, hasControls && (isWhiteSpacePre ? preStyles.whiteSpace.pre.controlsOffset.xl : preStyles.whiteSpace.preWrap.controlsOffset.xl)]),
139
137
  tabIndex: 0,
140
138
  onKeyDown: onKeyDown
141
139
  };
142
140
  return [preProps, preFullscreenProps];
143
- }, [euiTheme, whiteSpace, isVirtualized, hasControls, paddingSize, onKeyDown, tabIndex]),
141
+ }, [preStyles, whiteSpace, isVirtualized, hasControls, paddingSize, onKeyDown, tabIndex]),
144
142
  _useMemo2 = (0, _slicedToArray2.default)(_useMemo, 2),
145
143
  preProps = _useMemo2[0],
146
144
  preFullscreenProps = _useMemo2[1];
145
+ var codeStyles = (0, _services.useEuiMemoizedStyles)(_code_block.euiCodeBlockCodeStyles);
147
146
  var codeProps = (0, _react.useMemo)(function () {
148
- var styles = (0, _code_block.euiCodeBlockCodeStyles)(euiTheme, euiCodeSyntaxVariables);
149
- var cssStyles = [styles.euiCodeBlock__code, isVirtualized && styles.isVirtualized];
147
+ var cssStyles = [codeStyles.euiCodeBlock__code, isVirtualized && codeStyles.isVirtualized];
150
148
  return _objectSpread({
151
149
  className: 'euiCodeBlock__code',
152
150
  css: cssStyles,
153
151
  'data-code-language': language
154
152
  }, rest);
155
- }, [language, euiTheme, euiCodeSyntaxVariables, isVirtualized, rest]);
153
+ }, [codeStyles, language, isVirtualized, rest]);
156
154
  return (0, _react2.jsx)("div", {
157
155
  css: cssStyles,
158
156
  className: (0, _classnames.default)('euiCodeBlock', className),
@@ -8,6 +8,7 @@ exports.euiCodeBlockStyles = exports.euiCodeBlockPreStyles = exports.euiCodeBloc
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _react = require("@emotion/react");
10
10
  var _global_styling = require("../../global_styling");
11
+ var _code_syntax = require("./code_syntax.styles");
11
12
  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; }
12
13
  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) { (0, _defineProperty2.default)(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; }
13
14
  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)."; } /*
@@ -39,10 +40,11 @@ var _ref5 = process.env.NODE_ENV === "production" ? {
39
40
  styles: "background:transparent;label:transparentBackground;",
40
41
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
41
42
  };
42
- var euiCodeBlockStyles = function euiCodeBlockStyles(euiThemeContext, euiCodeSyntaxVariables) {
43
+ var euiCodeBlockStyles = function euiCodeBlockStyles(euiThemeContext) {
44
+ var codeSyntaxVariables = (0, _code_syntax.euiCodeSyntaxVariables)(euiThemeContext);
43
45
  var euiTheme = euiThemeContext.euiTheme;
44
46
  return {
45
- euiCodeBlock: /*#__PURE__*/(0, _react.css)("max-inline-size:100%;display:block;position:relative;background:", euiCodeSyntaxVariables.backgroundColor, ";", euiCodeSyntaxVariables.tokensCss, ";;label:euiCodeBlock;"),
47
+ euiCodeBlock: /*#__PURE__*/(0, _react.css)("max-inline-size:100%;display:block;position:relative;background:", codeSyntaxVariables.backgroundColor, ";", codeSyntaxVariables.tokensCss, ";;label:euiCodeBlock;"),
46
48
  // Font size
47
49
  s: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), ";;label:s;"),
48
50
  m: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";;label:m;"),
@@ -116,10 +118,10 @@ var _ref = process.env.NODE_ENV === "production" ? {
116
118
  styles: "position:relative;label:isVirtualized;",
117
119
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
118
120
  };
119
- var euiCodeBlockCodeStyles = function euiCodeBlockCodeStyles(euiThemeContext, euiCodeSyntaxVariables) {
121
+ var euiCodeBlockCodeStyles = function euiCodeBlockCodeStyles(euiThemeContext) {
120
122
  var euiTheme = euiThemeContext.euiTheme;
121
123
  return {
122
- euiCodeBlock__code: /*#__PURE__*/(0, _react.css)("font-family:", euiTheme.font.familyCode, ";font-size:inherit;color:", euiCodeSyntaxVariables.color, ";display:block;;label:euiCodeBlock__code;"),
124
+ euiCodeBlock__code: /*#__PURE__*/(0, _react.css)("font-family:", euiTheme.font.familyCode, ";font-size:inherit;color:", euiTheme.colors.text, ";display:block;;label:euiCodeBlock__code;"),
123
125
  isVirtualized: _ref
124
126
  };
125
127
  };
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.EuiCodeBlockControls = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _services = require("../../services");
10
- var _code_syntax = require("./code_syntax.styles");
11
10
  var _code_block_controls = require("./code_block_controls.styles");
12
11
  var _react2 = require("@emotion/react");
13
12
  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); }
@@ -23,7 +22,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
22
  var EuiCodeBlockControls = function EuiCodeBlockControls(_ref) {
24
23
  var paddingSize = _ref.paddingSize,
25
24
  controls = _ref.controls;
26
- var styles = (0, _code_block_controls.euiCodeBlockControlsStyles)((0, _services.useEuiTheme)(), (0, _code_syntax.useEuiCodeSyntaxVariables)());
25
+ var styles = (0, _services.useEuiMemoizedStyles)(_code_block_controls.euiCodeBlockControlsStyles);
27
26
  var cssStyles = [styles.euiCodeBlock__controls, styles.offset[paddingSize]];
28
27
  var hasControls = controls.some(function (control) {
29
28
  return !!control;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.euiCodeBlockControlsStyles = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _global_styling = require("../../global_styling");
9
+ var _code_syntax = require("./code_syntax.styles");
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
11
12
  * or more contributor license agreements. Licensed under the Elastic License
@@ -27,10 +28,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
27
28
  styles: "inset-block-start:0;inset-inline-end:0;label:none;",
28
29
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
29
30
  };
30
- var euiCodeBlockControlsStyles = function euiCodeBlockControlsStyles(euiThemeContext, euiCodeSyntaxVariables) {
31
+ var euiCodeBlockControlsStyles = function euiCodeBlockControlsStyles(euiThemeContext) {
31
32
  var euiTheme = euiThemeContext.euiTheme;
33
+ var codeSyntaxVariables = (0, _code_syntax.euiCodeSyntaxVariables)(euiThemeContext);
32
34
  return {
33
- euiCodeBlock__controls: /*#__PURE__*/(0, _react.css)("position:absolute;display:flex;flex-direction:column;gap:", euiTheme.size.xs, ";background:", euiCodeSyntaxVariables.backgroundColor, ";;label:euiCodeBlock__controls;"),
35
+ euiCodeBlock__controls: /*#__PURE__*/(0, _react.css)("position:absolute;display:flex;flex-direction:column;gap:", euiTheme.size.xs, ";background:", codeSyntaxVariables.backgroundColor, ";;label:euiCodeBlock__controls;"),
34
36
  offset: {
35
37
  none: _ref,
36
38
  s: /*#__PURE__*/(0, _react.css)("inset-block-start:", (0, _global_styling.euiPaddingSize)(euiThemeContext, 's'), ";inset-inline-end:", (0, _global_styling.euiPaddingSize)(euiThemeContext, 's'), ";;label:s;"),
@@ -13,7 +13,6 @@ var _i18n = require("../i18n");
13
13
  var _button = require("../button");
14
14
  var _focus_trap = require("../focus_trap");
15
15
  var _overlay_mask = require("../overlay_mask");
16
- var _code_syntax = require("./code_syntax.styles");
17
16
  var _code_block = require("./code_block.styles");
18
17
  var _react2 = require("@emotion/react");
19
18
  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); }
@@ -79,7 +78,7 @@ var useFullScreen = function useFullScreen(_ref) {
79
78
  exports.useFullScreen = useFullScreen;
80
79
  var EuiCodeBlockFullScreenWrapper = function EuiCodeBlockFullScreenWrapper(_ref2) {
81
80
  var children = _ref2.children;
82
- var styles = (0, _code_block.euiCodeBlockStyles)((0, _services.useEuiTheme)(), (0, _code_syntax.useEuiCodeSyntaxVariables)());
81
+ var styles = (0, _services.useEuiMemoizedStyles)(_code_block.euiCodeBlockStyles);
83
82
  var cssStyles = [styles.euiCodeBlock, styles.l,
84
83
  // Force fullscreen to use large font
85
84
  styles.isFullScreen];