@elastic/eui 100.0.0 → 101.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/es/components/avatar/avatar.js +16 -3
  2. package/es/components/avatar/avatar.styles.js +13 -7
  3. package/es/components/badge/beta_badge/beta_badge.styles.js +5 -8
  4. package/es/components/badge/notification_badge/badge_notification.styles.js +6 -5
  5. package/es/components/beacon/beacon.styles.js +4 -3
  6. package/es/components/bottom_bar/bottom_bar.styles.js +5 -2
  7. package/es/components/breadcrumbs/_breadcrumb_content.js +2 -0
  8. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +23 -6
  9. package/es/components/breadcrumbs/breadcrumb.styles.js +10 -4
  10. package/es/components/breadcrumbs/breadcrumbs.styles.js +1 -3
  11. package/es/components/button/button_group/button_group.styles.js +19 -3
  12. package/es/components/button/button_group/button_group_button.styles.js +8 -6
  13. package/es/components/call_out/call_out.styles.js +1 -1
  14. package/es/components/card/card.styles.js +3 -6
  15. package/es/components/code/code_block.styles.js +7 -2
  16. package/es/components/code/code_block_annotations.style.js +10 -3
  17. package/es/components/code/code_block_line.styles.js +17 -5
  18. package/es/components/code/code_syntax.styles.js +14 -3
  19. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +2 -2
  20. package/es/components/color_picker/color_palette_display/color_palette_display.styles.js +6 -5
  21. package/es/components/color_picker/color_palette_display/color_palette_display_fixed.js +12 -10
  22. package/es/components/color_picker/color_palette_display/color_palette_display_gradient.js +1 -2
  23. package/es/components/color_picker/color_picker.styles.js +5 -3
  24. package/es/components/color_picker/color_picker_swatch.styles.js +6 -1
  25. package/es/components/color_picker/hue.styles.js +12 -2
  26. package/es/components/color_picker/saturation.styles.js +21 -6
  27. package/es/components/color_picker/utils.js +2 -2
  28. package/es/components/comment_list/comment_event.js +6 -3
  29. package/es/components/comment_list/comment_event.styles.js +5 -1
  30. package/es/components/context_menu/context_menu_item.styles.js +2 -2
  31. package/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +4 -1
  32. package/es/components/datagrid/body/footer/data_grid_footer.styles.js +1 -1
  33. package/es/components/datagrid/body/header/data_grid_header_row.styles.js +1 -1
  34. package/es/components/datagrid/controls/column_selector.styles.js +3 -1
  35. package/es/components/datagrid/controls/column_sorting.styles.js +3 -1
  36. package/es/components/datagrid/data_grid.styles.js +19 -4
  37. package/es/components/datagrid/pagination/data_grid_pagination.styles.js +1 -1
  38. package/es/components/datagrid/utils/scrolling.styles.js +14 -5
  39. package/es/components/date_picker/date_picker.styles.js +3 -1
  40. package/es/components/date_picker/date_picker_range.styles.js +3 -1
  41. package/es/components/date_picker/react_date_picker.styles.js +79 -22
  42. package/es/components/date_picker/super_date_picker/super_date_picker.styles.js +18 -4
  43. package/es/components/description_list/description_list_title.styles.js +1 -1
  44. package/es/components/empty_prompt/empty_prompt.styles.js +7 -2
  45. package/es/components/error_boundary/error_boundary.styles.js +12 -5
  46. package/es/components/expression/expression.styles.js +7 -3
  47. package/es/components/filter_group/filter_button.styles.js +7 -5
  48. package/es/components/filter_group/filter_group.styles.js +5 -1
  49. package/es/components/filter_group/filter_select_item.styles.js +1 -1
  50. package/es/components/flyout/_flyout_close_button.styles.js +3 -1
  51. package/es/components/flyout/flyout.styles.js +3 -1
  52. package/es/components/flyout/flyout_body.styles.js +5 -1
  53. package/es/components/flyout/flyout_footer.styles.js +5 -1
  54. package/es/components/form/file_picker/file_picker.styles.js +1 -1
  55. package/es/components/form/form.styles.js +69 -26
  56. package/es/components/form/form_control_layout/form_control_layout.styles.js +7 -2
  57. package/es/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  58. package/es/components/form/form_control_layout/form_control_layout_clear_button.styles.js +19 -6
  59. package/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  60. package/es/components/form/radio/radio.js +1 -1
  61. package/es/components/form/range/dual_range.js +2 -2
  62. package/es/components/form/range/range.styles.js +21 -11
  63. package/es/components/form/range/range_highlight.styles.js +2 -1
  64. package/es/components/form/range/range_levels.styles.js +6 -6
  65. package/es/components/form/range/range_levels_colors.js +2 -1
  66. package/es/components/form/range/range_slider.js +4 -4
  67. package/es/components/form/range/range_slider.styles.js +0 -5
  68. package/es/components/form/range/range_thumb.styles.js +1 -1
  69. package/es/components/form/range/range_ticks.styles.js +9 -4
  70. package/es/components/form/range/range_tooltip.styles.js +4 -3
  71. package/es/components/form/range/range_track.styles.js +6 -1
  72. package/es/components/form/switch/switch.styles.js +43 -34
  73. package/es/components/header/header.styles.js +3 -2
  74. package/es/components/horizontal_rule/horizontal_rule.styles.js +8 -3
  75. package/es/components/i18n/i18n.js +1 -1
  76. package/es/components/i18n/i18n_util.js +1 -1
  77. package/es/components/icon/icon.styles.js +1 -1
  78. package/es/components/image/image.styles.js +7 -2
  79. package/es/components/image/image_button.styles.js +6 -2
  80. package/es/components/inline_edit/inline_edit_form.js +1 -1
  81. package/es/components/inline_edit/inline_edit_form.styles.js +1 -1
  82. package/es/components/inline_edit/inline_edit_text.js +1 -1
  83. package/es/components/inline_edit/inline_edit_title.js +1 -1
  84. package/es/components/key_pad_menu/key_pad_menu_item.styles.js +18 -5
  85. package/es/components/link/link.styles.js +1 -1
  86. package/es/components/loading/loading_chart.js +3 -6
  87. package/es/components/loading/loading_chart.styles.js +13 -28
  88. package/es/components/loading/loading_spinner.styles.js +18 -9
  89. package/es/components/mark/mark.styles.js +11 -3
  90. package/es/components/markdown_editor/markdown_format.styles.js +17 -15
  91. package/es/components/modal/modal.styles.js +5 -2
  92. package/es/components/overlay_mask/overlay_mask.styles.js +3 -2
  93. package/es/components/panel/panel.js +29 -4
  94. package/es/components/panel/panel.styles.js +33 -8
  95. package/es/components/panel/split_panel/split_panel.js +20 -5
  96. package/es/components/panel/split_panel/split_panel.styles.js +29 -9
  97. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +4 -3
  98. package/es/components/popover/popover_footer.styles.js +3 -2
  99. package/es/components/popover/popover_panel/_popover_panel.styles.js +8 -7
  100. package/es/components/progress/progress.js +2 -2
  101. package/es/components/progress/progress.styles.js +66 -32
  102. package/es/components/provider/component_defaults/component_defaults.js +36 -0
  103. package/es/components/provider/provider.js +16 -16
  104. package/es/components/provider/{system_color_mode → system_defaults}/index.js +2 -1
  105. package/es/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +10 -16
  106. package/es/components/provider/system_defaults/system_defaults_provider.js +30 -0
  107. package/es/components/resizable_container/resizable_button.styles.js +22 -5
  108. package/es/components/resizable_container/resizable_panel.styles.js +5 -1
  109. package/es/components/side_nav/side_nav_item.styles.js +2 -2
  110. package/es/components/skeleton/skeleton_circle.styles.js +3 -2
  111. package/es/components/skeleton/skeleton_rectangle.styles.js +3 -2
  112. package/es/components/skeleton/skeleton_text.styles.js +2 -1
  113. package/es/components/skeleton/skeleton_title.styles.js +2 -1
  114. package/es/components/skeleton/utils.js +4 -2
  115. package/es/components/stat/stat.styles.js +1 -1
  116. package/es/components/steps/step.styles.js +10 -12
  117. package/es/components/steps/step_horizontal.js +4 -5
  118. package/es/components/steps/step_horizontal.styles.js +8 -5
  119. package/es/components/steps/step_number.js +6 -9
  120. package/es/components/steps/step_number.styles.js +48 -27
  121. package/es/components/steps/sub_steps.styles.js +6 -3
  122. package/es/components/table/table_row.styles.js +11 -4
  123. package/es/components/table/table_row_cell.styles.js +2 -2
  124. package/es/components/tabs/tab.styles.js +10 -6
  125. package/es/components/tabs/tabs.styles.js +5 -1
  126. package/es/components/text/text.styles.js +16 -4
  127. package/es/components/text/text_color.styles.js +1 -1
  128. package/es/components/text_truncate/text_truncate.js +3 -2
  129. package/es/components/text_truncate/text_truncate.styles.js +36 -38
  130. package/es/components/timeline/timeline.styles.js +6 -5
  131. package/es/components/timeline/timeline_item_icon.styles.js +6 -11
  132. package/es/components/title/title.styles.js +1 -1
  133. package/es/components/toast/toast.js +1 -1
  134. package/es/components/toast/toast.styles.js +42 -8
  135. package/es/components/token/token.styles.js +23 -17
  136. package/es/components/tool_tip/tool_tip.styles.js +5 -4
  137. package/es/components/tour/_tour_header.styles.js +1 -1
  138. package/es/components/tour/tour.styles.js +1 -1
  139. package/es/global_styling/functions/high_contrast.js +53 -0
  140. package/es/global_styling/functions/index.js +1 -0
  141. package/es/global_styling/mixins/_button.js +22 -4
  142. package/es/global_styling/mixins/_color.js +4 -0
  143. package/es/global_styling/mixins/_shadow.js +6 -12
  144. package/es/global_styling/reset/global_styles.js +1 -1
  145. package/es/services/copy/copy_to_clipboard.js +2 -3
  146. package/es/services/popover/popover_arrow.styles.js +8 -4
  147. package/es/services/popover/popover_positioning.js +2 -2
  148. package/es/services/theme/context.js +11 -4
  149. package/es/services/theme/high_contrast_overrides.js +71 -0
  150. package/es/services/theme/hooks.js +4 -2
  151. package/es/services/theme/index.js +1 -1
  152. package/es/services/theme/provider.js +44 -17
  153. package/es/themes/amsterdam/global_styling/variables/_components.js +342 -317
  154. package/eui.d.ts +415 -161
  155. package/lib/components/avatar/avatar.js +15 -2
  156. package/lib/components/avatar/avatar.styles.js +12 -6
  157. package/lib/components/badge/beta_badge/beta_badge.styles.js +4 -7
  158. package/lib/components/badge/notification_badge/badge_notification.styles.js +6 -5
  159. package/lib/components/beacon/beacon.styles.js +4 -3
  160. package/lib/components/bottom_bar/bottom_bar.styles.js +4 -1
  161. package/lib/components/breadcrumbs/_breadcrumb_content.js +2 -0
  162. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +23 -6
  163. package/lib/components/breadcrumbs/breadcrumb.styles.js +10 -4
  164. package/lib/components/breadcrumbs/breadcrumbs.styles.js +1 -3
  165. package/lib/components/button/button_group/button_group.styles.js +19 -3
  166. package/lib/components/button/button_group/button_group_button.styles.js +8 -6
  167. package/lib/components/call_out/call_out.styles.js +1 -1
  168. package/lib/components/card/card.styles.js +2 -5
  169. package/lib/components/code/code_block.styles.js +7 -2
  170. package/lib/components/code/code_block_annotations.style.js +10 -3
  171. package/lib/components/code/code_block_line.styles.js +17 -5
  172. package/lib/components/code/code_syntax.styles.js +15 -4
  173. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +2 -2
  174. package/lib/components/color_picker/color_palette_display/color_palette_display.styles.js +6 -5
  175. package/lib/components/color_picker/color_palette_display/color_palette_display_fixed.js +15 -10
  176. package/lib/components/color_picker/color_palette_display/color_palette_display_gradient.js +1 -2
  177. package/lib/components/color_picker/color_picker.styles.js +5 -3
  178. package/lib/components/color_picker/color_picker_swatch.styles.js +6 -1
  179. package/lib/components/color_picker/hue.styles.js +12 -2
  180. package/lib/components/color_picker/saturation.styles.js +21 -6
  181. package/lib/components/color_picker/utils.js +2 -2
  182. package/lib/components/comment_list/comment_event.js +5 -2
  183. package/lib/components/comment_list/comment_event.styles.js +5 -1
  184. package/lib/components/context_menu/context_menu_item.styles.js +2 -2
  185. package/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +4 -1
  186. package/lib/components/datagrid/body/footer/data_grid_footer.styles.js +1 -1
  187. package/lib/components/datagrid/body/header/data_grid_header_row.styles.js +1 -1
  188. package/lib/components/datagrid/controls/column_selector.styles.js +3 -1
  189. package/lib/components/datagrid/controls/column_sorting.styles.js +3 -1
  190. package/lib/components/datagrid/data_grid.styles.js +19 -4
  191. package/lib/components/datagrid/pagination/data_grid_pagination.styles.js +1 -1
  192. package/lib/components/datagrid/utils/scrolling.styles.js +14 -5
  193. package/lib/components/date_picker/date_picker.styles.js +3 -1
  194. package/lib/components/date_picker/date_picker_range.styles.js +3 -1
  195. package/lib/components/date_picker/react_date_picker.styles.js +80 -27
  196. package/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +17 -3
  197. package/lib/components/description_list/description_list_title.styles.js +1 -1
  198. package/lib/components/empty_prompt/empty_prompt.styles.js +7 -2
  199. package/lib/components/error_boundary/error_boundary.styles.js +12 -5
  200. package/lib/components/expression/expression.styles.js +7 -3
  201. package/lib/components/filter_group/filter_button.styles.js +7 -5
  202. package/lib/components/filter_group/filter_group.styles.js +5 -1
  203. package/lib/components/filter_group/filter_select_item.styles.js +1 -1
  204. package/lib/components/flyout/_flyout_close_button.styles.js +3 -1
  205. package/lib/components/flyout/flyout.styles.js +3 -1
  206. package/lib/components/flyout/flyout_body.styles.js +5 -1
  207. package/lib/components/flyout/flyout_footer.styles.js +5 -1
  208. package/lib/components/form/file_picker/file_picker.styles.js +1 -1
  209. package/lib/components/form/form.styles.js +70 -27
  210. package/lib/components/form/form_control_layout/form_control_layout.styles.js +7 -2
  211. package/lib/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  212. package/lib/components/form/form_control_layout/form_control_layout_clear_button.styles.js +19 -6
  213. package/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  214. package/lib/components/form/radio/radio.js +1 -1
  215. package/lib/components/form/range/dual_range.js +2 -2
  216. package/lib/components/form/range/range.styles.js +21 -11
  217. package/lib/components/form/range/range_highlight.styles.js +2 -1
  218. package/lib/components/form/range/range_levels.styles.js +6 -6
  219. package/lib/components/form/range/range_levels_colors.js +2 -1
  220. package/lib/components/form/range/range_slider.js +3 -3
  221. package/lib/components/form/range/range_slider.styles.js +1 -6
  222. package/lib/components/form/range/range_thumb.styles.js +1 -1
  223. package/lib/components/form/range/range_ticks.styles.js +8 -3
  224. package/lib/components/form/range/range_tooltip.styles.js +4 -3
  225. package/lib/components/form/range/range_track.styles.js +6 -1
  226. package/lib/components/form/switch/switch.styles.js +43 -34
  227. package/lib/components/header/header.styles.js +3 -2
  228. package/lib/components/horizontal_rule/horizontal_rule.styles.js +8 -3
  229. package/lib/components/i18n/i18n.js +1 -1
  230. package/lib/components/i18n/i18n_util.js +1 -1
  231. package/lib/components/icon/icon.styles.js +1 -1
  232. package/lib/components/image/image.styles.js +7 -2
  233. package/lib/components/image/image_button.styles.js +6 -2
  234. package/lib/components/inline_edit/inline_edit_form.js +1 -1
  235. package/lib/components/inline_edit/inline_edit_form.styles.js +1 -1
  236. package/lib/components/inline_edit/inline_edit_text.js +1 -1
  237. package/lib/components/inline_edit/inline_edit_title.js +1 -1
  238. package/lib/components/key_pad_menu/key_pad_menu_item.styles.js +18 -5
  239. package/lib/components/link/link.styles.js +1 -1
  240. package/lib/components/loading/loading_chart.js +3 -6
  241. package/lib/components/loading/loading_chart.styles.js +13 -28
  242. package/lib/components/loading/loading_spinner.styles.js +18 -9
  243. package/lib/components/mark/mark.styles.js +11 -3
  244. package/lib/components/markdown_editor/markdown_format.styles.js +17 -15
  245. package/lib/components/modal/modal.styles.js +5 -2
  246. package/lib/components/overlay_mask/overlay_mask.styles.js +3 -2
  247. package/lib/components/panel/panel.js +28 -3
  248. package/lib/components/panel/panel.styles.js +34 -9
  249. package/lib/components/panel/split_panel/split_panel.js +21 -4
  250. package/lib/components/panel/split_panel/split_panel.styles.js +29 -9
  251. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +4 -3
  252. package/lib/components/popover/popover_footer.styles.js +3 -2
  253. package/lib/components/popover/popover_panel/_popover_panel.styles.js +8 -7
  254. package/lib/components/progress/progress.js +2 -5
  255. package/lib/components/progress/progress.styles.js +66 -32
  256. package/lib/components/provider/component_defaults/component_defaults.js +37 -1
  257. package/lib/components/provider/provider.js +16 -16
  258. package/lib/components/provider/system_defaults/index.js +19 -0
  259. package/lib/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +11 -18
  260. package/lib/components/provider/system_defaults/system_defaults_provider.js +37 -0
  261. package/lib/components/resizable_container/resizable_button.styles.js +22 -5
  262. package/lib/components/resizable_container/resizable_panel.styles.js +5 -1
  263. package/lib/components/side_nav/side_nav_item.styles.js +2 -2
  264. package/lib/components/skeleton/skeleton_circle.styles.js +3 -2
  265. package/lib/components/skeleton/skeleton_rectangle.styles.js +3 -2
  266. package/lib/components/skeleton/skeleton_text.styles.js +2 -1
  267. package/lib/components/skeleton/skeleton_title.styles.js +2 -1
  268. package/lib/components/skeleton/utils.js +4 -2
  269. package/lib/components/stat/stat.styles.js +1 -1
  270. package/lib/components/steps/step.styles.js +10 -12
  271. package/lib/components/steps/step_horizontal.js +3 -4
  272. package/lib/components/steps/step_horizontal.styles.js +7 -4
  273. package/lib/components/steps/step_number.js +5 -8
  274. package/lib/components/steps/step_number.styles.js +48 -27
  275. package/lib/components/steps/sub_steps.styles.js +6 -3
  276. package/lib/components/table/table_row.styles.js +10 -3
  277. package/lib/components/table/table_row_cell.styles.js +2 -2
  278. package/lib/components/tabs/tab.styles.js +10 -6
  279. package/lib/components/tabs/tabs.styles.js +5 -1
  280. package/lib/components/text/text.styles.js +16 -4
  281. package/lib/components/text/text_color.styles.js +1 -1
  282. package/lib/components/text_truncate/text_truncate.js +4 -3
  283. package/lib/components/text_truncate/text_truncate.styles.js +36 -38
  284. package/lib/components/timeline/timeline.styles.js +6 -5
  285. package/lib/components/timeline/timeline_item_icon.styles.js +6 -11
  286. package/lib/components/title/title.styles.js +1 -1
  287. package/lib/components/toast/toast.js +1 -1
  288. package/lib/components/toast/toast.styles.js +41 -7
  289. package/lib/components/token/token.styles.js +23 -17
  290. package/lib/components/tool_tip/tool_tip.styles.js +5 -4
  291. package/lib/components/tour/_tour_header.styles.js +1 -1
  292. package/lib/components/tour/tour.styles.js +1 -1
  293. package/lib/global_styling/functions/high_contrast.js +59 -0
  294. package/lib/global_styling/functions/index.js +11 -0
  295. package/lib/global_styling/mixins/_button.js +23 -6
  296. package/lib/global_styling/mixins/_color.js +4 -0
  297. package/lib/global_styling/mixins/_shadow.js +6 -12
  298. package/lib/global_styling/reset/global_styles.js +1 -1
  299. package/lib/services/copy/copy_to_clipboard.js +2 -3
  300. package/lib/services/popover/popover_arrow.styles.js +8 -4
  301. package/lib/services/popover/popover_positioning.js +2 -2
  302. package/lib/services/theme/context.js +12 -5
  303. package/lib/services/theme/high_contrast_overrides.js +74 -0
  304. package/lib/services/theme/hooks.js +3 -1
  305. package/lib/services/theme/index.js +6 -0
  306. package/lib/services/theme/provider.js +43 -16
  307. package/lib/themes/amsterdam/global_styling/variables/_components.js +342 -317
  308. package/optimize/es/components/avatar/avatar.js +16 -3
  309. package/optimize/es/components/avatar/avatar.styles.js +13 -7
  310. package/optimize/es/components/badge/beta_badge/beta_badge.styles.js +5 -8
  311. package/optimize/es/components/badge/notification_badge/badge_notification.styles.js +6 -5
  312. package/optimize/es/components/beacon/beacon.styles.js +4 -3
  313. package/optimize/es/components/bottom_bar/bottom_bar.styles.js +5 -2
  314. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +2 -0
  315. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +23 -6
  316. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +10 -4
  317. package/optimize/es/components/breadcrumbs/breadcrumbs.styles.js +1 -3
  318. package/optimize/es/components/button/button_group/button_group.styles.js +19 -3
  319. package/optimize/es/components/button/button_group/button_group_button.styles.js +8 -6
  320. package/optimize/es/components/call_out/call_out.styles.js +1 -1
  321. package/optimize/es/components/card/card.styles.js +3 -6
  322. package/optimize/es/components/code/code_block.styles.js +7 -2
  323. package/optimize/es/components/code/code_block_annotations.style.js +10 -3
  324. package/optimize/es/components/code/code_block_line.styles.js +17 -5
  325. package/optimize/es/components/code/code_syntax.styles.js +14 -3
  326. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +2 -2
  327. package/optimize/es/components/color_picker/color_palette_display/color_palette_display.styles.js +6 -5
  328. package/optimize/es/components/color_picker/color_palette_display/color_palette_display_fixed.js +12 -10
  329. package/optimize/es/components/color_picker/color_palette_display/color_palette_display_gradient.js +1 -2
  330. package/optimize/es/components/color_picker/color_picker.styles.js +5 -3
  331. package/optimize/es/components/color_picker/color_picker_swatch.styles.js +6 -1
  332. package/optimize/es/components/color_picker/hue.styles.js +12 -2
  333. package/optimize/es/components/color_picker/saturation.styles.js +21 -6
  334. package/optimize/es/components/color_picker/utils.js +2 -2
  335. package/optimize/es/components/comment_list/comment_event.js +6 -3
  336. package/optimize/es/components/comment_list/comment_event.styles.js +5 -1
  337. package/optimize/es/components/context_menu/context_menu_item.styles.js +2 -2
  338. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +4 -1
  339. package/optimize/es/components/datagrid/body/footer/data_grid_footer.styles.js +1 -1
  340. package/optimize/es/components/datagrid/body/header/data_grid_header_row.styles.js +1 -1
  341. package/optimize/es/components/datagrid/controls/column_selector.styles.js +3 -1
  342. package/optimize/es/components/datagrid/controls/column_sorting.styles.js +3 -1
  343. package/optimize/es/components/datagrid/data_grid.styles.js +19 -4
  344. package/optimize/es/components/datagrid/pagination/data_grid_pagination.styles.js +1 -1
  345. package/optimize/es/components/datagrid/utils/scrolling.styles.js +14 -5
  346. package/optimize/es/components/date_picker/date_picker.styles.js +3 -1
  347. package/optimize/es/components/date_picker/date_picker_range.styles.js +3 -1
  348. package/optimize/es/components/date_picker/react_date_picker.styles.js +76 -22
  349. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.styles.js +18 -4
  350. package/optimize/es/components/description_list/description_list_title.styles.js +1 -1
  351. package/optimize/es/components/empty_prompt/empty_prompt.styles.js +7 -2
  352. package/optimize/es/components/error_boundary/error_boundary.styles.js +12 -5
  353. package/optimize/es/components/expression/expression.styles.js +7 -3
  354. package/optimize/es/components/filter_group/filter_button.styles.js +7 -5
  355. package/optimize/es/components/filter_group/filter_group.styles.js +5 -1
  356. package/optimize/es/components/filter_group/filter_select_item.styles.js +1 -1
  357. package/optimize/es/components/flyout/_flyout_close_button.styles.js +3 -1
  358. package/optimize/es/components/flyout/flyout.styles.js +3 -1
  359. package/optimize/es/components/flyout/flyout_body.styles.js +5 -1
  360. package/optimize/es/components/flyout/flyout_footer.styles.js +5 -1
  361. package/optimize/es/components/form/file_picker/file_picker.styles.js +1 -1
  362. package/optimize/es/components/form/form.styles.js +69 -26
  363. package/optimize/es/components/form/form_control_layout/form_control_layout.styles.js +7 -2
  364. package/optimize/es/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  365. package/optimize/es/components/form/form_control_layout/form_control_layout_clear_button.styles.js +19 -6
  366. package/optimize/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  367. package/optimize/es/components/form/radio/radio.js +1 -1
  368. package/optimize/es/components/form/range/dual_range.js +2 -2
  369. package/optimize/es/components/form/range/range.styles.js +21 -11
  370. package/optimize/es/components/form/range/range_highlight.styles.js +2 -1
  371. package/optimize/es/components/form/range/range_levels.styles.js +6 -6
  372. package/optimize/es/components/form/range/range_levels_colors.js +2 -1
  373. package/optimize/es/components/form/range/range_slider.js +4 -4
  374. package/optimize/es/components/form/range/range_slider.styles.js +0 -5
  375. package/optimize/es/components/form/range/range_thumb.styles.js +1 -1
  376. package/optimize/es/components/form/range/range_ticks.styles.js +9 -4
  377. package/optimize/es/components/form/range/range_tooltip.styles.js +4 -3
  378. package/optimize/es/components/form/range/range_track.styles.js +6 -1
  379. package/optimize/es/components/form/switch/switch.styles.js +43 -34
  380. package/optimize/es/components/header/header.styles.js +3 -2
  381. package/optimize/es/components/horizontal_rule/horizontal_rule.styles.js +8 -3
  382. package/optimize/es/components/i18n/i18n.js +1 -1
  383. package/optimize/es/components/i18n/i18n_util.js +1 -1
  384. package/optimize/es/components/icon/icon.styles.js +1 -1
  385. package/optimize/es/components/image/image.styles.js +7 -2
  386. package/optimize/es/components/image/image_button.styles.js +6 -2
  387. package/optimize/es/components/inline_edit/inline_edit_form.styles.js +1 -1
  388. package/optimize/es/components/key_pad_menu/key_pad_menu_item.styles.js +18 -5
  389. package/optimize/es/components/link/link.styles.js +1 -1
  390. package/optimize/es/components/loading/loading_chart.js +2 -4
  391. package/optimize/es/components/loading/loading_chart.styles.js +13 -23
  392. package/optimize/es/components/loading/loading_spinner.styles.js +18 -9
  393. package/optimize/es/components/mark/mark.styles.js +11 -3
  394. package/optimize/es/components/markdown_editor/markdown_format.styles.js +17 -15
  395. package/optimize/es/components/modal/modal.styles.js +5 -2
  396. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +3 -2
  397. package/optimize/es/components/panel/panel.js +24 -4
  398. package/optimize/es/components/panel/panel.styles.js +33 -8
  399. package/optimize/es/components/panel/split_panel/split_panel.js +17 -5
  400. package/optimize/es/components/panel/split_panel/split_panel.styles.js +29 -9
  401. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +4 -3
  402. package/optimize/es/components/popover/popover_footer.styles.js +3 -2
  403. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +8 -7
  404. package/optimize/es/components/progress/progress.js +2 -2
  405. package/optimize/es/components/progress/progress.styles.js +66 -32
  406. package/optimize/es/components/provider/component_defaults/component_defaults.js +13 -0
  407. package/optimize/es/components/provider/provider.js +16 -16
  408. package/optimize/es/components/provider/{system_color_mode → system_defaults}/index.js +2 -1
  409. package/optimize/es/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +10 -12
  410. package/optimize/es/components/provider/system_defaults/system_defaults_provider.js +30 -0
  411. package/optimize/es/components/resizable_container/resizable_button.styles.js +22 -5
  412. package/optimize/es/components/resizable_container/resizable_panel.styles.js +5 -1
  413. package/optimize/es/components/side_nav/side_nav_item.styles.js +2 -2
  414. package/optimize/es/components/skeleton/skeleton_circle.styles.js +3 -2
  415. package/optimize/es/components/skeleton/skeleton_rectangle.styles.js +3 -2
  416. package/optimize/es/components/skeleton/skeleton_text.styles.js +2 -1
  417. package/optimize/es/components/skeleton/skeleton_title.styles.js +2 -1
  418. package/optimize/es/components/skeleton/utils.js +4 -2
  419. package/optimize/es/components/stat/stat.styles.js +1 -1
  420. package/optimize/es/components/steps/step.styles.js +10 -12
  421. package/optimize/es/components/steps/step_horizontal.js +4 -5
  422. package/optimize/es/components/steps/step_horizontal.styles.js +8 -5
  423. package/optimize/es/components/steps/step_number.js +6 -9
  424. package/optimize/es/components/steps/step_number.styles.js +45 -27
  425. package/optimize/es/components/steps/sub_steps.styles.js +6 -3
  426. package/optimize/es/components/table/table_row.styles.js +11 -4
  427. package/optimize/es/components/table/table_row_cell.styles.js +2 -2
  428. package/optimize/es/components/tabs/tab.styles.js +10 -6
  429. package/optimize/es/components/tabs/tabs.styles.js +5 -1
  430. package/optimize/es/components/text/text.styles.js +16 -4
  431. package/optimize/es/components/text/text_color.styles.js +1 -1
  432. package/optimize/es/components/text_truncate/text_truncate.js +3 -2
  433. package/optimize/es/components/text_truncate/text_truncate.styles.js +36 -38
  434. package/optimize/es/components/timeline/timeline.styles.js +6 -5
  435. package/optimize/es/components/timeline/timeline_item_icon.styles.js +6 -11
  436. package/optimize/es/components/title/title.styles.js +1 -1
  437. package/optimize/es/components/toast/toast.js +1 -1
  438. package/optimize/es/components/toast/toast.styles.js +42 -8
  439. package/optimize/es/components/token/token.styles.js +23 -17
  440. package/optimize/es/components/tool_tip/tool_tip.styles.js +5 -4
  441. package/optimize/es/components/tour/_tour_header.styles.js +1 -1
  442. package/optimize/es/components/tour/tour.styles.js +1 -1
  443. package/optimize/es/global_styling/functions/high_contrast.js +53 -0
  444. package/optimize/es/global_styling/functions/index.js +1 -0
  445. package/optimize/es/global_styling/mixins/_button.js +19 -4
  446. package/optimize/es/global_styling/mixins/_color.js +4 -0
  447. package/optimize/es/global_styling/mixins/_shadow.js +6 -12
  448. package/optimize/es/global_styling/reset/global_styles.js +1 -1
  449. package/optimize/es/services/copy/copy_to_clipboard.js +2 -3
  450. package/optimize/es/services/popover/popover_arrow.styles.js +8 -4
  451. package/optimize/es/services/popover/popover_positioning.js +2 -2
  452. package/optimize/es/services/theme/context.js +11 -4
  453. package/optimize/es/services/theme/high_contrast_overrides.js +68 -0
  454. package/optimize/es/services/theme/hooks.js +4 -2
  455. package/optimize/es/services/theme/index.js +1 -1
  456. package/optimize/es/services/theme/provider.js +44 -17
  457. package/optimize/es/themes/amsterdam/global_styling/variables/_components.js +342 -317
  458. package/optimize/lib/components/avatar/avatar.js +15 -2
  459. package/optimize/lib/components/avatar/avatar.styles.js +12 -6
  460. package/optimize/lib/components/badge/beta_badge/beta_badge.styles.js +4 -7
  461. package/optimize/lib/components/badge/notification_badge/badge_notification.styles.js +6 -5
  462. package/optimize/lib/components/beacon/beacon.styles.js +4 -3
  463. package/optimize/lib/components/bottom_bar/bottom_bar.styles.js +4 -1
  464. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +2 -0
  465. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +23 -6
  466. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +10 -4
  467. package/optimize/lib/components/breadcrumbs/breadcrumbs.styles.js +1 -3
  468. package/optimize/lib/components/button/button_group/button_group.styles.js +19 -3
  469. package/optimize/lib/components/button/button_group/button_group_button.styles.js +8 -6
  470. package/optimize/lib/components/call_out/call_out.styles.js +1 -1
  471. package/optimize/lib/components/card/card.styles.js +2 -5
  472. package/optimize/lib/components/code/code_block.styles.js +7 -2
  473. package/optimize/lib/components/code/code_block_annotations.style.js +10 -3
  474. package/optimize/lib/components/code/code_block_line.styles.js +17 -5
  475. package/optimize/lib/components/code/code_syntax.styles.js +15 -4
  476. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +2 -2
  477. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display.styles.js +6 -5
  478. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display_fixed.js +15 -10
  479. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display_gradient.js +1 -2
  480. package/optimize/lib/components/color_picker/color_picker.styles.js +5 -3
  481. package/optimize/lib/components/color_picker/color_picker_swatch.styles.js +6 -1
  482. package/optimize/lib/components/color_picker/hue.styles.js +12 -2
  483. package/optimize/lib/components/color_picker/saturation.styles.js +21 -6
  484. package/optimize/lib/components/color_picker/utils.js +2 -2
  485. package/optimize/lib/components/comment_list/comment_event.js +5 -2
  486. package/optimize/lib/components/comment_list/comment_event.styles.js +5 -1
  487. package/optimize/lib/components/context_menu/context_menu_item.styles.js +2 -2
  488. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +4 -1
  489. package/optimize/lib/components/datagrid/body/footer/data_grid_footer.styles.js +1 -1
  490. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.styles.js +1 -1
  491. package/optimize/lib/components/datagrid/controls/column_selector.styles.js +3 -1
  492. package/optimize/lib/components/datagrid/controls/column_sorting.styles.js +3 -1
  493. package/optimize/lib/components/datagrid/data_grid.styles.js +19 -4
  494. package/optimize/lib/components/datagrid/pagination/data_grid_pagination.styles.js +1 -1
  495. package/optimize/lib/components/datagrid/utils/scrolling.styles.js +14 -5
  496. package/optimize/lib/components/date_picker/date_picker.styles.js +3 -1
  497. package/optimize/lib/components/date_picker/date_picker_range.styles.js +3 -1
  498. package/optimize/lib/components/date_picker/react_date_picker.styles.js +78 -27
  499. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +17 -3
  500. package/optimize/lib/components/description_list/description_list_title.styles.js +1 -1
  501. package/optimize/lib/components/empty_prompt/empty_prompt.styles.js +7 -2
  502. package/optimize/lib/components/error_boundary/error_boundary.styles.js +12 -5
  503. package/optimize/lib/components/expression/expression.styles.js +7 -3
  504. package/optimize/lib/components/filter_group/filter_button.styles.js +7 -5
  505. package/optimize/lib/components/filter_group/filter_group.styles.js +5 -1
  506. package/optimize/lib/components/filter_group/filter_select_item.styles.js +1 -1
  507. package/optimize/lib/components/flyout/_flyout_close_button.styles.js +3 -1
  508. package/optimize/lib/components/flyout/flyout.styles.js +3 -1
  509. package/optimize/lib/components/flyout/flyout_body.styles.js +5 -1
  510. package/optimize/lib/components/flyout/flyout_footer.styles.js +5 -1
  511. package/optimize/lib/components/form/file_picker/file_picker.styles.js +1 -1
  512. package/optimize/lib/components/form/form.styles.js +70 -27
  513. package/optimize/lib/components/form/form_control_layout/form_control_layout.styles.js +7 -2
  514. package/optimize/lib/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  515. package/optimize/lib/components/form/form_control_layout/form_control_layout_clear_button.styles.js +19 -6
  516. package/optimize/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  517. package/optimize/lib/components/form/radio/radio.js +1 -1
  518. package/optimize/lib/components/form/range/dual_range.js +2 -2
  519. package/optimize/lib/components/form/range/range.styles.js +21 -11
  520. package/optimize/lib/components/form/range/range_highlight.styles.js +2 -1
  521. package/optimize/lib/components/form/range/range_levels.styles.js +6 -6
  522. package/optimize/lib/components/form/range/range_levels_colors.js +2 -1
  523. package/optimize/lib/components/form/range/range_slider.js +3 -3
  524. package/optimize/lib/components/form/range/range_slider.styles.js +1 -6
  525. package/optimize/lib/components/form/range/range_thumb.styles.js +1 -1
  526. package/optimize/lib/components/form/range/range_ticks.styles.js +8 -3
  527. package/optimize/lib/components/form/range/range_tooltip.styles.js +4 -3
  528. package/optimize/lib/components/form/range/range_track.styles.js +6 -1
  529. package/optimize/lib/components/form/switch/switch.styles.js +43 -34
  530. package/optimize/lib/components/header/header.styles.js +3 -2
  531. package/optimize/lib/components/horizontal_rule/horizontal_rule.styles.js +8 -3
  532. package/optimize/lib/components/i18n/i18n.js +1 -1
  533. package/optimize/lib/components/i18n/i18n_util.js +1 -1
  534. package/optimize/lib/components/icon/icon.styles.js +1 -1
  535. package/optimize/lib/components/image/image.styles.js +7 -2
  536. package/optimize/lib/components/image/image_button.styles.js +6 -2
  537. package/optimize/lib/components/inline_edit/inline_edit_form.styles.js +1 -1
  538. package/optimize/lib/components/key_pad_menu/key_pad_menu_item.styles.js +18 -5
  539. package/optimize/lib/components/link/link.styles.js +1 -1
  540. package/optimize/lib/components/loading/loading_chart.js +2 -4
  541. package/optimize/lib/components/loading/loading_chart.styles.js +13 -23
  542. package/optimize/lib/components/loading/loading_spinner.styles.js +18 -9
  543. package/optimize/lib/components/mark/mark.styles.js +11 -3
  544. package/optimize/lib/components/markdown_editor/markdown_format.styles.js +17 -15
  545. package/optimize/lib/components/modal/modal.styles.js +5 -2
  546. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +3 -2
  547. package/optimize/lib/components/panel/panel.js +23 -3
  548. package/optimize/lib/components/panel/panel.styles.js +34 -9
  549. package/optimize/lib/components/panel/split_panel/split_panel.js +19 -4
  550. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +29 -9
  551. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +4 -3
  552. package/optimize/lib/components/popover/popover_footer.styles.js +3 -2
  553. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +8 -7
  554. package/optimize/lib/components/progress/progress.js +2 -5
  555. package/optimize/lib/components/progress/progress.styles.js +66 -32
  556. package/optimize/lib/components/provider/component_defaults/component_defaults.js +14 -1
  557. package/optimize/lib/components/provider/provider.js +16 -16
  558. package/optimize/lib/components/provider/system_defaults/index.js +19 -0
  559. package/optimize/lib/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +11 -13
  560. package/optimize/lib/components/provider/system_defaults/system_defaults_provider.js +37 -0
  561. package/optimize/lib/components/resizable_container/resizable_button.styles.js +22 -5
  562. package/optimize/lib/components/resizable_container/resizable_panel.styles.js +5 -1
  563. package/optimize/lib/components/side_nav/side_nav_item.styles.js +2 -2
  564. package/optimize/lib/components/skeleton/skeleton_circle.styles.js +3 -2
  565. package/optimize/lib/components/skeleton/skeleton_rectangle.styles.js +3 -2
  566. package/optimize/lib/components/skeleton/skeleton_text.styles.js +2 -1
  567. package/optimize/lib/components/skeleton/skeleton_title.styles.js +2 -1
  568. package/optimize/lib/components/skeleton/utils.js +4 -2
  569. package/optimize/lib/components/stat/stat.styles.js +1 -1
  570. package/optimize/lib/components/steps/step.styles.js +10 -12
  571. package/optimize/lib/components/steps/step_horizontal.js +3 -4
  572. package/optimize/lib/components/steps/step_horizontal.styles.js +7 -4
  573. package/optimize/lib/components/steps/step_number.js +5 -8
  574. package/optimize/lib/components/steps/step_number.styles.js +46 -27
  575. package/optimize/lib/components/steps/sub_steps.styles.js +6 -3
  576. package/optimize/lib/components/table/table_row.styles.js +10 -3
  577. package/optimize/lib/components/table/table_row_cell.styles.js +2 -2
  578. package/optimize/lib/components/tabs/tab.styles.js +10 -6
  579. package/optimize/lib/components/tabs/tabs.styles.js +5 -1
  580. package/optimize/lib/components/text/text.styles.js +16 -4
  581. package/optimize/lib/components/text/text_color.styles.js +1 -1
  582. package/optimize/lib/components/text_truncate/text_truncate.js +4 -3
  583. package/optimize/lib/components/text_truncate/text_truncate.styles.js +36 -38
  584. package/optimize/lib/components/timeline/timeline.styles.js +6 -5
  585. package/optimize/lib/components/timeline/timeline_item_icon.styles.js +6 -11
  586. package/optimize/lib/components/title/title.styles.js +1 -1
  587. package/optimize/lib/components/toast/toast.js +1 -1
  588. package/optimize/lib/components/toast/toast.styles.js +41 -7
  589. package/optimize/lib/components/token/token.styles.js +23 -17
  590. package/optimize/lib/components/tool_tip/tool_tip.styles.js +5 -4
  591. package/optimize/lib/components/tour/_tour_header.styles.js +1 -1
  592. package/optimize/lib/components/tour/tour.styles.js +1 -1
  593. package/optimize/lib/global_styling/functions/high_contrast.js +59 -0
  594. package/optimize/lib/global_styling/functions/index.js +11 -0
  595. package/optimize/lib/global_styling/mixins/_button.js +19 -5
  596. package/optimize/lib/global_styling/mixins/_color.js +4 -0
  597. package/optimize/lib/global_styling/mixins/_shadow.js +6 -12
  598. package/optimize/lib/global_styling/reset/global_styles.js +1 -1
  599. package/optimize/lib/services/copy/copy_to_clipboard.js +2 -3
  600. package/optimize/lib/services/popover/popover_arrow.styles.js +8 -4
  601. package/optimize/lib/services/popover/popover_positioning.js +2 -2
  602. package/optimize/lib/services/theme/context.js +12 -5
  603. package/optimize/lib/services/theme/high_contrast_overrides.js +72 -0
  604. package/optimize/lib/services/theme/hooks.js +3 -1
  605. package/optimize/lib/services/theme/index.js +6 -0
  606. package/optimize/lib/services/theme/provider.js +43 -16
  607. package/optimize/lib/themes/amsterdam/global_styling/variables/_components.js +342 -317
  608. package/package.json +6 -5
  609. package/test-env/components/avatar/avatar.js +15 -2
  610. package/test-env/components/avatar/avatar.styles.js +12 -6
  611. package/test-env/components/badge/beta_badge/beta_badge.styles.js +4 -7
  612. package/test-env/components/badge/notification_badge/badge_notification.styles.js +6 -5
  613. package/test-env/components/beacon/beacon.styles.js +4 -3
  614. package/test-env/components/bottom_bar/bottom_bar.styles.js +4 -1
  615. package/test-env/components/breadcrumbs/_breadcrumb_content.js +2 -0
  616. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +23 -6
  617. package/test-env/components/breadcrumbs/breadcrumb.styles.js +10 -4
  618. package/test-env/components/breadcrumbs/breadcrumbs.styles.js +1 -3
  619. package/test-env/components/button/button_group/button_group.styles.js +19 -3
  620. package/test-env/components/button/button_group/button_group_button.styles.js +8 -6
  621. package/test-env/components/call_out/call_out.styles.js +1 -1
  622. package/test-env/components/card/card.styles.js +2 -5
  623. package/test-env/components/code/code_block.styles.js +7 -2
  624. package/test-env/components/code/code_block_annotations.style.js +10 -3
  625. package/test-env/components/code/code_block_line.styles.js +17 -5
  626. package/test-env/components/code/code_syntax.styles.js +15 -4
  627. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.styles.js +2 -2
  628. package/test-env/components/color_picker/color_palette_display/color_palette_display.styles.js +6 -5
  629. package/test-env/components/color_picker/color_palette_display/color_palette_display_fixed.js +15 -10
  630. package/test-env/components/color_picker/color_palette_display/color_palette_display_gradient.js +1 -2
  631. package/test-env/components/color_picker/color_picker.styles.js +5 -3
  632. package/test-env/components/color_picker/color_picker_swatch.styles.js +6 -1
  633. package/test-env/components/color_picker/hue.styles.js +12 -2
  634. package/test-env/components/color_picker/saturation.styles.js +21 -6
  635. package/test-env/components/color_picker/utils.js +2 -2
  636. package/test-env/components/comment_list/comment_event.js +5 -2
  637. package/test-env/components/comment_list/comment_event.styles.js +5 -1
  638. package/test-env/components/context_menu/context_menu_item.styles.js +2 -2
  639. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.styles.js +4 -1
  640. package/test-env/components/datagrid/body/footer/data_grid_footer.styles.js +1 -1
  641. package/test-env/components/datagrid/body/header/data_grid_header_row.styles.js +1 -1
  642. package/test-env/components/datagrid/controls/column_selector.styles.js +3 -1
  643. package/test-env/components/datagrid/controls/column_sorting.styles.js +3 -1
  644. package/test-env/components/datagrid/data_grid.styles.js +19 -4
  645. package/test-env/components/datagrid/pagination/data_grid_pagination.styles.js +1 -1
  646. package/test-env/components/datagrid/utils/scrolling.styles.js +14 -5
  647. package/test-env/components/date_picker/date_picker.styles.js +3 -1
  648. package/test-env/components/date_picker/date_picker_range.styles.js +3 -1
  649. package/test-env/components/date_picker/react_date_picker.styles.js +78 -27
  650. package/test-env/components/date_picker/super_date_picker/super_date_picker.styles.js +17 -3
  651. package/test-env/components/description_list/description_list_title.styles.js +1 -1
  652. package/test-env/components/empty_prompt/empty_prompt.styles.js +7 -2
  653. package/test-env/components/error_boundary/error_boundary.styles.js +12 -5
  654. package/test-env/components/expression/expression.styles.js +7 -3
  655. package/test-env/components/filter_group/filter_button.styles.js +7 -5
  656. package/test-env/components/filter_group/filter_group.styles.js +5 -1
  657. package/test-env/components/filter_group/filter_select_item.styles.js +1 -1
  658. package/test-env/components/flyout/_flyout_close_button.styles.js +3 -1
  659. package/test-env/components/flyout/flyout.styles.js +3 -1
  660. package/test-env/components/flyout/flyout_body.styles.js +5 -1
  661. package/test-env/components/flyout/flyout_footer.styles.js +5 -1
  662. package/test-env/components/form/file_picker/file_picker.styles.js +1 -1
  663. package/test-env/components/form/form.styles.js +70 -27
  664. package/test-env/components/form/form_control_layout/form_control_layout.styles.js +7 -2
  665. package/test-env/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  666. package/test-env/components/form/form_control_layout/form_control_layout_clear_button.styles.js +19 -6
  667. package/test-env/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  668. package/test-env/components/form/radio/radio.js +1 -1
  669. package/test-env/components/form/range/dual_range.js +2 -2
  670. package/test-env/components/form/range/range.styles.js +21 -11
  671. package/test-env/components/form/range/range_highlight.styles.js +2 -1
  672. package/test-env/components/form/range/range_levels.styles.js +6 -6
  673. package/test-env/components/form/range/range_levels_colors.js +2 -1
  674. package/test-env/components/form/range/range_slider.js +3 -3
  675. package/test-env/components/form/range/range_slider.styles.js +1 -6
  676. package/test-env/components/form/range/range_thumb.styles.js +1 -1
  677. package/test-env/components/form/range/range_ticks.styles.js +8 -3
  678. package/test-env/components/form/range/range_tooltip.styles.js +4 -3
  679. package/test-env/components/form/range/range_track.styles.js +6 -1
  680. package/test-env/components/form/switch/switch.styles.js +43 -34
  681. package/test-env/components/header/header.styles.js +3 -2
  682. package/test-env/components/horizontal_rule/horizontal_rule.styles.js +8 -3
  683. package/test-env/components/i18n/i18n.js +1 -1
  684. package/test-env/components/i18n/i18n_util.js +1 -1
  685. package/test-env/components/icon/icon.styles.js +1 -1
  686. package/test-env/components/image/image.styles.js +7 -2
  687. package/test-env/components/image/image_button.styles.js +6 -2
  688. package/test-env/components/inline_edit/inline_edit_form.js +1 -1
  689. package/test-env/components/inline_edit/inline_edit_form.styles.js +1 -1
  690. package/test-env/components/inline_edit/inline_edit_text.js +1 -1
  691. package/test-env/components/inline_edit/inline_edit_title.js +1 -1
  692. package/test-env/components/key_pad_menu/key_pad_menu_item.styles.js +18 -5
  693. package/test-env/components/link/link.styles.js +1 -1
  694. package/test-env/components/loading/loading_chart.js +3 -6
  695. package/test-env/components/loading/loading_chart.styles.js +13 -23
  696. package/test-env/components/loading/loading_spinner.styles.js +18 -9
  697. package/test-env/components/mark/mark.styles.js +11 -3
  698. package/test-env/components/markdown_editor/markdown_format.styles.js +17 -15
  699. package/test-env/components/modal/modal.styles.js +5 -2
  700. package/test-env/components/overlay_mask/overlay_mask.styles.js +3 -2
  701. package/test-env/components/panel/panel.js +23 -3
  702. package/test-env/components/panel/panel.styles.js +34 -9
  703. package/test-env/components/panel/split_panel/split_panel.js +19 -4
  704. package/test-env/components/panel/split_panel/split_panel.styles.js +29 -9
  705. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +4 -3
  706. package/test-env/components/popover/popover_footer.styles.js +3 -2
  707. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +8 -7
  708. package/test-env/components/progress/progress.js +2 -5
  709. package/test-env/components/progress/progress.styles.js +66 -32
  710. package/test-env/components/provider/component_defaults/component_defaults.js +37 -1
  711. package/test-env/components/provider/provider.js +16 -16
  712. package/test-env/components/provider/system_defaults/index.js +19 -0
  713. package/test-env/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +11 -17
  714. package/test-env/components/provider/system_defaults/system_defaults_provider.js +37 -0
  715. package/test-env/components/resizable_container/resizable_button.styles.js +22 -5
  716. package/test-env/components/resizable_container/resizable_panel.styles.js +5 -1
  717. package/test-env/components/side_nav/side_nav_item.styles.js +2 -2
  718. package/test-env/components/skeleton/skeleton_circle.styles.js +3 -2
  719. package/test-env/components/skeleton/skeleton_rectangle.styles.js +3 -2
  720. package/test-env/components/skeleton/skeleton_text.styles.js +2 -1
  721. package/test-env/components/skeleton/skeleton_title.styles.js +2 -1
  722. package/test-env/components/skeleton/utils.js +4 -2
  723. package/test-env/components/stat/stat.styles.js +1 -1
  724. package/test-env/components/steps/step.styles.js +10 -12
  725. package/test-env/components/steps/step_horizontal.js +3 -4
  726. package/test-env/components/steps/step_horizontal.styles.js +7 -4
  727. package/test-env/components/steps/step_number.js +5 -8
  728. package/test-env/components/steps/step_number.styles.js +46 -27
  729. package/test-env/components/steps/sub_steps.styles.js +6 -3
  730. package/test-env/components/table/table_row.styles.js +10 -3
  731. package/test-env/components/table/table_row_cell.styles.js +2 -2
  732. package/test-env/components/tabs/tab.styles.js +10 -6
  733. package/test-env/components/tabs/tabs.styles.js +5 -1
  734. package/test-env/components/text/text.styles.js +16 -4
  735. package/test-env/components/text/text_color.styles.js +1 -1
  736. package/test-env/components/text_truncate/text_truncate.js +4 -3
  737. package/test-env/components/text_truncate/text_truncate.styles.js +36 -38
  738. package/test-env/components/timeline/timeline.styles.js +6 -5
  739. package/test-env/components/timeline/timeline_item_icon.styles.js +6 -11
  740. package/test-env/components/title/title.styles.js +1 -1
  741. package/test-env/components/toast/toast.js +1 -1
  742. package/test-env/components/toast/toast.styles.js +41 -7
  743. package/test-env/components/token/token.styles.js +23 -17
  744. package/test-env/components/tool_tip/tool_tip.styles.js +5 -4
  745. package/test-env/components/tour/_tour_header.styles.js +1 -1
  746. package/test-env/components/tour/tour.styles.js +1 -1
  747. package/test-env/global_styling/functions/high_contrast.js +59 -0
  748. package/test-env/global_styling/functions/index.js +11 -0
  749. package/test-env/global_styling/mixins/_button.js +19 -5
  750. package/test-env/global_styling/mixins/_color.js +4 -0
  751. package/test-env/global_styling/mixins/_shadow.js +6 -12
  752. package/test-env/global_styling/reset/global_styles.js +1 -1
  753. package/test-env/services/copy/copy_to_clipboard.js +2 -3
  754. package/test-env/services/popover/popover_arrow.styles.js +8 -4
  755. package/test-env/services/popover/popover_positioning.js +2 -2
  756. package/test-env/services/theme/context.js +12 -5
  757. package/test-env/services/theme/high_contrast_overrides.js +72 -0
  758. package/test-env/services/theme/hooks.js +3 -1
  759. package/test-env/services/theme/index.js +6 -0
  760. package/test-env/services/theme/provider.js +43 -16
  761. package/test-env/themes/amsterdam/global_styling/variables/_components.js +342 -317
  762. package/lib/components/provider/system_color_mode/index.js +0 -12
  763. package/optimize/lib/components/provider/system_color_mode/index.js +0 -12
  764. package/test-env/components/provider/system_color_mode/index.js +0 -12
@@ -10,6 +10,7 @@ var _react = require("@emotion/react");
10
10
  var _euiThemeCommon = require("@elastic/eui-theme-common");
11
11
  var _global_styling = require("../../global_styling");
12
12
  var _popover = require("../../services/popover");
13
+ var _panel = require("../panel/panel.styles");
13
14
  var _templateObject, _templateObject2;
14
15
  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)."; } /*
15
16
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -32,14 +33,14 @@ var euiToolTipAnimationHorizontal = function euiToolTipAnimationHorizontal(size)
32
33
  };
33
34
  var euiToolTipStyles = exports.euiToolTipStyles = function euiToolTipStyles(euiThemeContext) {
34
35
  var euiTheme = euiThemeContext.euiTheme,
35
- colorMode = euiThemeContext.colorMode;
36
- var hasVisibleBorder = colorMode === 'DARK';
36
+ highContrastMode = euiThemeContext.highContrastMode;
37
+ var hasShadow = !highContrastMode;
37
38
  var animationTiming = "".concat(euiTheme.animation.slow, " ease-out 0s forwards");
38
39
  var arrowSize = euiTheme.size.m;
39
40
  var arrowStyles = (0, _popover._popoverArrowStyles)(euiThemeContext, arrowSize);
40
41
  return {
41
42
  // Base
42
- euiToolTip: /*#__PURE__*/(0, _react.css)((0, _euiThemeCommon.euiShadow)(euiThemeContext), " border:", euiTheme.border.width.thin, " solid ", hasVisibleBorder ? euiTheme.border.color : 'transparent', ";border-radius:", euiTheme.border.radius.medium, ";background-color:", euiToolTipBackgroundColor(euiTheme), ";color:", euiTheme.colors.ghost, ";z-index:", euiTheme.levels.toast, ";", (0, _global_styling.logicalCSS)('max-width', '256px'), " overflow-wrap:break-word;padding:", euiTheme.size.s, ";", (0, _global_styling.euiFontSize)(euiThemeContext, 's'), " position:absolute;[class*='euiHorizontalRule']{background-color:", euiToolTipBorderColor(euiTheme), ";};label:euiToolTip;"),
43
+ euiToolTip: /*#__PURE__*/(0, _react.css)(hasShadow ? (0, _euiThemeCommon.euiShadow)(euiThemeContext) : '', " border-radius:", euiTheme.border.radius.medium, ";background-color:", euiToolTipBackgroundColor(euiTheme), ";color:", euiTheme.colors.ghost, ";z-index:", euiTheme.levels.toast, ";", (0, _global_styling.logicalCSS)('max-width', '256px'), " overflow-wrap:break-word;padding:", euiTheme.size.s, ";", (0, _global_styling.euiFontSize)(euiThemeContext, 's'), " position:absolute;", (0, _panel.euiPanelBorderStyles)(euiThemeContext), " [class*='euiHorizontalRule']{background-color:", euiToolTipBorderColor(euiTheme), ";};label:euiToolTip;"),
43
44
  // Sizes
44
45
  s: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), ";;label:s;"),
45
46
  // Positions
@@ -48,7 +49,7 @@ var euiToolTipStyles = exports.euiToolTipStyles = function euiToolTipStyles(euiT
48
49
  left: /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:", euiToolTipAnimationHorizontal("-".concat(euiTheme.size.base)), " ", animationTiming, ";};label:left;"),
49
50
  right: /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{animation:", euiToolTipAnimationHorizontal(euiTheme.size.base), " ", animationTiming, ";};label:right;"),
50
51
  // Arrow
51
- euiToolTip__arrow: /*#__PURE__*/(0, _react.css)(arrowStyles._arrowStyles, " background-color:inherit;border:inherit;;label:euiToolTip__arrow;"),
52
+ euiToolTip__arrow: /*#__PURE__*/(0, _react.css)(arrowStyles._arrowStyles, " background-color:inherit;;label:euiToolTip__arrow;"),
52
53
  arrowPositions: arrowStyles.positions,
53
54
  // Title
54
55
  euiToolTip__title: /*#__PURE__*/(0, _react.css)("font-weight:", euiTheme.font.weight.bold, ";", (0, _global_styling.logicalCSS)('border-bottom', "solid ".concat(euiTheme.border.width.thin, " ").concat(euiToolTipBorderColor(euiTheme))), " ", (0, _global_styling.logicalCSS)('padding-bottom', euiTheme.size.xs), " ", (0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.xs), ";;label:euiToolTip__title;")
@@ -21,6 +21,6 @@ var euiTourHeaderStyles = exports.euiTourHeaderStyles = function euiTourHeaderSt
21
21
  euiTourHeader: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('border-bottom', 'none'), (0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.s), ";;label:euiTourHeader;"),
22
22
  // Elements
23
23
  euiTourHeader__title: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-top', 0), ";;label:euiTourHeader__title;"),
24
- euiTourHeader__subtitle: /*#__PURE__*/(0, _react.css)("color:", euiTheme.colors.subduedText, ";padding-block-end:", euiTheme.size.xs, ";;label:euiTourHeader__subtitle;")
24
+ euiTourHeader__subtitle: /*#__PURE__*/(0, _react.css)("color:", euiTheme.colors.textSubdued, ";padding-block-end:", euiTheme.size.xs, ";;label:euiTourHeader__subtitle;")
25
25
  };
26
26
  };
@@ -30,7 +30,7 @@ var euiTourBeaconStyles = exports.euiTourBeaconStyles = function euiTourBeaconSt
30
30
  });
31
31
  return {
32
32
  // Base
33
- euiTourBeacon: /*#__PURE__*/(0, _react.css)("pointer-events:none;position:absolute;", _global_styling.euiCanAnimate, "{opacity:0;transition:opacity 0s ", euiTheme.animation[_popover_panel.openAnimationTiming], ";};label:euiTourBeacon;"),
33
+ euiTourBeacon: /*#__PURE__*/(0, _react.css)("pointer-events:none;position:absolute;z-index:1;", _global_styling.euiCanAnimate, "{opacity:0;transition:opacity 0s ", euiTheme.animation[_popover_panel.openAnimationTiming], ";};label:euiTourBeacon;"),
34
34
  isOpen: /*#__PURE__*/(0, _react.css)(_global_styling.euiCanAnimate, "{opacity:1;};label:isOpen;"),
35
35
  // Positions
36
36
  right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('top', '50%'), " ", (0, _global_styling.logicalCSS)('left', '-50%'), " ", (0, _global_styling.logicalCSS)('margin-top', beaconOffset), ";;label:right;"),
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.preventForcedColors = exports.highContrastModeStyles = void 0;
7
+ /*
8
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
9
+ * or more contributor license agreements. Licensed under the Elastic License
10
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
11
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
12
+ * Side Public License, v 1.
13
+ */
14
+
15
+ // NOTE: These functions are not being published as top-level EUI exports
16
+ // until high contrast mode is out of beta.
17
+
18
+ /**
19
+ * Minor syntactical sugar for conditional high contrast styles.
20
+ * Ternaries are otherwise somewhat ugly in css`` template literals,
21
+ * and this makes life just a little more beautiful ✨
22
+ */
23
+ var highContrastModeStyles = exports.highContrastModeStyles = function highContrastModeStyles(euiThemeContext, options) {
24
+ var highContrastMode = euiThemeContext.highContrastMode;
25
+ var _options$none = options.none,
26
+ defaultStyles = _options$none === void 0 ? '' : _options$none,
27
+ _options$preferred = options.preferred,
28
+ highContrastStyles = _options$preferred === void 0 ? '' : _options$preferred,
29
+ _options$forced = options.forced,
30
+ forcedColorsStyles = _options$forced === void 0 ? '' : _options$forced;
31
+ if (highContrastMode) {
32
+ if (highContrastMode === 'forced') {
33
+ // Assume preferred high contrast styles should also apply to forced contrast styles
34
+ return highContrastStyles.trim() + forcedColorsStyles.trim();
35
+ }
36
+ if (!highContrastStyles && forcedColorsStyles && defaultStyles) {
37
+ // If only forced styles were passed, assume we can use default styles for preferred high contrast
38
+ return defaultStyles.trim();
39
+ }
40
+ return highContrastStyles.trim();
41
+ }
42
+ return defaultStyles.trim();
43
+ };
44
+
45
+ /**
46
+ * Small uitility that allows component styles to ignore/override
47
+ * forced colors modes (primarily Windows high contrast themes)
48
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/forced-color-adjust
49
+ *
50
+ * WARNING: Do *not* use this utility unless:
51
+ * 1. Colors/backgrounds are **essential** to the semantic meaning of the UI,
52
+ * and users will lose all meaning without them
53
+ * 2. Tweaks have been made to existing styles to increase color contrast
54
+ * as necessary
55
+ */
56
+ var preventForcedColors = exports.preventForcedColors = function preventForcedColors(_ref) {
57
+ var highContrastMode = _ref.highContrastMode;
58
+ return highContrastMode === 'forced' ? 'forced-color-adjust: none;' : '';
59
+ };
@@ -3,6 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _high_contrast = require("./high_contrast");
7
+ Object.keys(_high_contrast).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _high_contrast[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _high_contrast[key];
14
+ }
15
+ });
16
+ });
6
17
  var _logicals = require("./logicals");
7
18
  Object.keys(_logicals).forEach(function (key) {
8
19
  if (key === "default" || key === "__esModule") return;
@@ -6,11 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.useEuiButtonFocusCSS = exports.useEuiButtonColorCSS = exports.euiButtonSizeMap = exports.euiButtonFillColor = exports.euiButtonEmptyColor = exports.euiButtonColor = exports.BUTTON_DISPLAYS = exports.BUTTON_COLORS = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _react = require("@emotion/react");
10
11
  var _euiThemeCommon = require("@elastic/eui-theme-common");
11
12
  var _services = require("../../services");
12
13
  var _templateObject;
13
- /*
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /*
14
16
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
17
  * or more contributor license agreements. Licensed under the Elastic License
16
18
  * 2.0 and the Server Side Public License, v 1; you may not use this file except
@@ -31,10 +33,10 @@ var euiButtonColor = exports.euiButtonColor = function euiButtonColor(euiThemeCo
31
33
  var textTokenName = (0, _euiThemeCommon.getTokenName)('textColor', color);
32
34
  var foreground = euiTheme.components.buttons[textTokenName];
33
35
  var background = euiTheme.components.buttons[backgroundTokenName];
34
- return {
36
+ return _objectSpread({
35
37
  color: background === 'transparent' || color === 'disabled' ? foreground : (0, _services.makeHighContrastColor)(foreground)(background),
36
38
  backgroundColor: background
37
- };
39
+ }, _highContrastBorder(euiThemeContext, foreground));
38
40
  };
39
41
 
40
42
  /**
@@ -49,10 +51,11 @@ var euiButtonFillColor = exports.euiButtonFillColor = function euiButtonFillColo
49
51
  var textColorTokenName = (0, _euiThemeCommon.getTokenName)('textColorFilled', color);
50
52
  var foreground = euiTheme.components.buttons[textColorTokenName];
51
53
  var background = euiTheme.components.buttons[backgroundTokenName];
52
- return {
54
+ return _objectSpread({
53
55
  color: foreground,
54
56
  backgroundColor: background
55
- };
57
+ }, _highContrastBorder(euiThemeContext, color === 'disabled' ? foreground : background // The border is necessary for Windows high contrast themes, which ignore background-color
58
+ ));
56
59
  };
57
60
 
58
61
  /**
@@ -162,4 +165,15 @@ var euiButtonSizeMap = exports.euiButtonSizeMap = function euiButtonSizeMap(_ref
162
165
  fontScale: 's'
163
166
  }
164
167
  };
168
+ };
169
+
170
+ /**
171
+ * Internal util for high contrast button borders
172
+ */
173
+ var _highContrastBorder = function _highContrastBorder(_ref3, color) {
174
+ var highContrastMode = _ref3.highContrastMode,
175
+ euiTheme = _ref3.euiTheme;
176
+ return highContrastMode ? {
177
+ border: "".concat(euiTheme.border.width.thin, " solid ").concat(color)
178
+ } : {};
165
179
  };
@@ -102,6 +102,8 @@ var euiBorderColor = exports.euiBorderColor = function euiBorderColor(_ref4, col
102
102
  return euiTheme.border.color;
103
103
  default:
104
104
  {
105
+ // border tokens are overridden in for high contrast mode
106
+ // in high_contrast_overrides.ts
105
107
  var tokenName = (0, _euiThemeCommon.getTokenName)('borderBase', color);
106
108
  return euiTheme.colors[tokenName];
107
109
  }
@@ -114,6 +116,8 @@ var euiBorderColor = exports.euiBorderColor = function euiBorderColor(_ref4, col
114
116
  */
115
117
  var _euiBorderColors = function _euiBorderColors(euiThemeContext) {
116
118
  return BACKGROUND_COLORS.reduce(function (acc, color) {
119
+ // border tokens are overridden in for high contrast mode
120
+ // in high_contrast_overrides.ts
117
121
  var borderToken = (0, _euiThemeCommon.getTokenName)('borderBase', color);
118
122
  var borderColor = color === 'transparent' ? euiThemeContext.euiTheme.border.color : euiThemeContext.euiTheme.colors[borderToken];
119
123
  return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2.default)({}, color, /*#__PURE__*/(0, _react.css)("border-color:", borderColor, ";label:", color, ";")));
@@ -62,23 +62,17 @@ var _theme = require("../../services/theme");
62
62
  * Side Public License, v 1.
63
63
  */
64
64
 
65
- var useEuiSlightShadowHover = exports.useEuiSlightShadowHover = function useEuiSlightShadowHover(color) {
65
+ var useEuiSlightShadowHover = exports.useEuiSlightShadowHover = function useEuiSlightShadowHover(options) {
66
66
  var euiThemeContext = (0, _theme.useEuiTheme)();
67
- return (0, _euiThemeCommon.euiSlightShadowHover)(euiThemeContext, {
68
- color: color
69
- });
67
+ return (0, _euiThemeCommon.euiSlightShadowHover)(euiThemeContext, options);
70
68
  };
71
- var useEuiShadowFlat = exports.useEuiShadowFlat = function useEuiShadowFlat(color) {
69
+ var useEuiShadowFlat = exports.useEuiShadowFlat = function useEuiShadowFlat(options) {
72
70
  var euiThemeContext = (0, _theme.useEuiTheme)();
73
- return (0, _euiThemeCommon.euiShadowFlat)(euiThemeContext, {
74
- color: color
75
- });
71
+ return (0, _euiThemeCommon.euiShadowFlat)(euiThemeContext, options);
76
72
  };
77
73
  var useEuiShadow = exports.useEuiShadow = function useEuiShadow() {
78
74
  var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'l';
79
- var color = arguments.length > 1 ? arguments[1] : undefined;
75
+ var options = arguments.length > 1 ? arguments[1] : undefined;
80
76
  var euiThemeContext = (0, _theme.useEuiTheme)();
81
- return (0, _euiThemeCommon.euiShadow)(euiThemeContext, size, {
82
- color: color
83
- });
77
+ return (0, _euiThemeCommon.euiShadow)(euiThemeContext, size, options);
84
78
  };
@@ -55,7 +55,7 @@ var EuiGlobalStyles = exports.EuiGlobalStyles = function EuiGlobalStyles(_ref) {
55
55
  /**
56
56
  * Final styles
57
57
  */
58
- var styles = /*#__PURE__*/(0, _react2.css)(_reset.resetStyles, " html{", scrollbarStyles, " ", fontReset, " text-size-adjust:100%;font-kerning:normal;", (0, _functions.logicalCSS)('height', '100%'), " background-color:", colors.body, ";color:", colors.text, ";}code,pre,kbd,samp{font-family:", font.familyCode, ";}input,textarea,select{", _objectSpread(_objectSpread({}, fontReset), {}, {
58
+ var styles = /*#__PURE__*/(0, _react2.css)(_reset.resetStyles, " html{", scrollbarStyles, " ", fontReset, " text-size-adjust:100%;font-kerning:normal;", (0, _functions.logicalCSS)('height', '100%'), " background-color:", colors.body, ";color:", colors.textParagraph, ";}code,pre,kbd,samp{font-family:", font.familyCode, ";}input,textarea,select{", _objectSpread(_objectSpread({}, fontReset), {}, {
59
59
  fontSize: '1rem' // Inherit from html root
60
60
  }), ";}select:disabled{opacity:1;}button{font-family:", font.family, ";}em{font-style:italic;}strong{font-weight:", font.weight.bold, ";}*:focus{", (0, _mixins.euiFocusRing)(euiThemeContext), ";}::selection{background:", (0, _color.transparentize)(colors.primary, colorMode === 'LIGHT' ? 0.1 : 0.2), ";}a{color:", colors.textPrimary, ";&,&:hover,&:focus{text-decoration:none;}}.euiBody-hasPortalContent{position:relative;};label:styles;");
61
61
  return (0, _react2.jsx)(_react2.Global, {
@@ -20,16 +20,15 @@ function createHiddenTextElement(text) {
20
20
  // prevents scrolling to the end of the page
21
21
  textElement.style.position = 'fixed';
22
22
  textElement.style.top = '0';
23
- textElement.style.clip = 'rect(0, 0, 0, 0)';
23
+ textElement.style.clipPath = 'rect(0, 0, 0, 0)';
24
24
  // used to preserve spaces and line breaks
25
25
  textElement.style.whiteSpace = 'pre';
26
26
  // do not inherit user-select (it may be `none`)
27
- textElement.style.webkitUserSelect = 'text';
27
+ textElement.style.userSelect = 'text';
28
28
  // @ts-ignore this one doesn't appear in the TS definitions for some reason
29
29
  textElement.style.MozUserSelect = 'text';
30
30
  // @ts-ignore this one doesn't appear in the TS definitions for some reason
31
31
  textElement.style.msUserSelect = 'text';
32
- textElement.style.userSelect = 'text';
33
32
  return textElement;
34
33
  }
35
34
  function copyToClipboard(text) {
@@ -18,15 +18,19 @@ var _functions = require("../../global_styling/functions");
18
18
  * Arrow clipping/transform/positioning CSS shared between EuiPopover and EuiToolTip
19
19
  */
20
20
  var _popoverArrowStyles = exports._popoverArrowStyles = function _popoverArrowStyles(_ref, arrowSize) {
21
- var euiTheme = _ref.euiTheme;
22
- var arrowOffset = (0, _functions.mathWithUnits)(arrowSize, function (x) {
23
- return x / -2;
21
+ var euiTheme = _ref.euiTheme,
22
+ colorMode = _ref.colorMode,
23
+ highContrastMode = _ref.highContrastMode;
24
+ var hasBorder = colorMode === 'DARK';
25
+ var arrowOffset = (0, _functions.mathWithUnits)([arrowSize, euiTheme.border.width.thin // account for 1px pseudo element border on panel
26
+ ], function (x, y) {
27
+ return highContrastMode ? x / -2 : x / -2 - y;
24
28
  });
25
29
  var arrowBorderRadius = (0, _functions.mathWithUnits)(euiTheme.border.radius.small, function (x) {
26
30
  return x / 2;
27
31
  });
28
32
  return {
29
- _arrowStyles: "\n position: absolute;\n ".concat((0, _functions.logicalSizeCSS)(arrowSize), "\n border-radius: ").concat(arrowBorderRadius, ";\n /* Use clip-path to ensure that arrows don't overlap into popover content */\n clip-path: polygon(0 0, 100% 100%, 0 100%);\n transform-origin: center;\n "),
33
+ _arrowStyles: "\n position: absolute;\n z-index: 1;\n ".concat((0, _functions.logicalSizeCSS)(arrowSize), "\n border-radius: ").concat(arrowBorderRadius, ";\n /* Use clip-path to ensure that arrows don't overlap into popover content */\n clip-path: polygon(0 0, 100% 100%, 0 100%);\n transform-origin: center;\n ").concat(hasBorder ? "border: ".concat(euiTheme.border.thin, ";") : '', "\n "),
30
34
  positions: {
31
35
  top: /*#__PURE__*/(0, _react.css)((0, _functions.logicalCSS)('margin-top', arrowOffset), " transform:rotate(-45deg);;label:top;"),
32
36
  bottom: /*#__PURE__*/(0, _react.css)((0, _functions.logicalCSS)('bottom', 0), " ", (0, _functions.logicalCSS)('margin-bottom', arrowOffset), " transform:rotate(135deg);;label:bottom;"),
@@ -178,8 +178,8 @@ function findPopoverPosition(_ref) {
178
178
  bestPosition = {
179
179
  fit: screenCoordinates.fit,
180
180
  position: iterationPosition,
181
- top: screenCoordinates.top + window.pageYOffset,
182
- left: screenCoordinates.left + window.pageXOffset,
181
+ top: screenCoordinates.top + window.scrollY,
182
+ left: screenCoordinates.left + window.scrollX,
183
183
  arrow: screenCoordinates.arrow
184
184
  };
185
185
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.defaultComputedTheme = exports.EuiThemeContext = exports.EuiSystemContext = exports.EuiNestedThemeContext = exports.EuiModificationsContext = exports.EuiColorModeContext = void 0;
6
+ exports.defaultComputedTheme = exports.EuiThemeContext = exports.EuiSystemContext = exports.EuiNestedThemeContext = exports.EuiModificationsContext = exports.EuiHighContrastModeContext = exports.EuiColorModeContext = exports.DEFAULTS = void 0;
7
7
  var _react = require("react");
8
8
  var _euiThemeBorealis = require("@elastic/eui-theme-borealis");
9
9
  var _utils = require("./utils");
@@ -15,10 +15,17 @@ var _utils = require("./utils");
15
15
  * Side Public License, v 1.
16
16
  */
17
17
 
18
- var EuiSystemContext = exports.EuiSystemContext = /*#__PURE__*/(0, _react.createContext)(_euiThemeBorealis.EuiThemeBorealis);
19
- var EuiModificationsContext = exports.EuiModificationsContext = /*#__PURE__*/(0, _react.createContext)({});
20
- var EuiColorModeContext = exports.EuiColorModeContext = /*#__PURE__*/(0, _react.createContext)(_utils.DEFAULT_COLOR_MODE);
21
- var defaultComputedTheme = exports.defaultComputedTheme = (0, _utils.getComputed)(_euiThemeBorealis.EuiThemeBorealis, {}, _utils.DEFAULT_COLOR_MODE);
18
+ var DEFAULTS = exports.DEFAULTS = {
19
+ system: _euiThemeBorealis.EuiThemeBorealis,
20
+ modifications: {},
21
+ colorMode: _utils.DEFAULT_COLOR_MODE,
22
+ highContrastMode: false
23
+ };
24
+ var EuiSystemContext = exports.EuiSystemContext = /*#__PURE__*/(0, _react.createContext)(DEFAULTS.system);
25
+ var EuiModificationsContext = exports.EuiModificationsContext = /*#__PURE__*/(0, _react.createContext)(DEFAULTS.modifications);
26
+ var EuiColorModeContext = exports.EuiColorModeContext = /*#__PURE__*/(0, _react.createContext)(DEFAULTS.colorMode);
27
+ var EuiHighContrastModeContext = exports.EuiHighContrastModeContext = /*#__PURE__*/(0, _react.createContext)(DEFAULTS.highContrastMode);
28
+ var defaultComputedTheme = exports.defaultComputedTheme = (0, _utils.getComputed)(DEFAULTS.system, DEFAULTS.modifications, DEFAULTS.colorMode);
22
29
  var EuiThemeContext = exports.EuiThemeContext = /*#__PURE__*/(0, _react.createContext)(defaultComputedTheme);
23
30
  var EuiNestedThemeContext = exports.EuiNestedThemeContext = /*#__PURE__*/(0, _react.createContext)({
24
31
  isGlobalTheme: true,
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useHighContrastModifications = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = require("react");
10
+ var _euiThemeCommon = require("@elastic/eui-theme-common");
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */
19
+ // Rather than being calculated when the theme's styles are being computed, we're bogarting the
20
+ // `modify` logic so we can ensure consumer modifications to border-color are also overriden.
21
+ // If in the future we need more complex high contrast mode logic (e.g. changing color tokens)
22
+ // we'll need to actually dive into theme/utils.ts's Computed.getValue logic at that point.
23
+ var useHighContrastModifications = exports.useHighContrastModifications = function useHighContrastModifications(_ref) {
24
+ var _modifications$border2;
25
+ var highContrastMode = _ref.highContrastMode,
26
+ colorMode = _ref.colorMode,
27
+ system = _ref.system,
28
+ modifications = _ref.modifications;
29
+ var highContrastModifications = (0, _react.useMemo)(function () {
30
+ var borderColor = colorMode === 'DARK' ? system.root.colors.plainLight : system.root.colors.plainDark;
31
+ var getBorderWidth = function getBorderWidth(width) {
32
+ var _modifications$border;
33
+ return (modifications === null || modifications === void 0 || (_modifications$border = modifications.border) === null || _modifications$border === void 0 || (_modifications$border = _modifications$border.width) === null || _modifications$border === void 0 ? void 0 : _modifications$border[width]) || system.root.border.width[width];
34
+ };
35
+ var systemTheme = (0, _euiThemeCommon.getComputed)(system, {}, colorMode);
36
+ var borderColorModifications = {
37
+ borderBasePrimary: systemTheme.colors.textPrimary,
38
+ borderBaseAccent: systemTheme.colors.textAccent,
39
+ borderBaseAccentSecondary: systemTheme.colors.textAccentSecondary,
40
+ borderBaseSuccess: systemTheme.colors.textSuccess,
41
+ borderBaseWarning: systemTheme.colors.textWarning,
42
+ borderBaseDanger: systemTheme.colors.textDanger,
43
+ borderBasePlain: borderColor,
44
+ borderBaseSubdued: borderColor,
45
+ borderBaseDisabled: systemTheme.colors.textDisabled,
46
+ borderBaseFloating: borderColor,
47
+ borderBaseFormsControl: borderColor,
48
+ borderStrongPrimary: systemTheme.colors.textPrimary,
49
+ borderStrongAccent: systemTheme.colors.textAccent,
50
+ borderStrongAccentSecondary: systemTheme.colors.textAccentSecondary,
51
+ borderStrongSuccess: systemTheme.colors.textSuccess,
52
+ borderStrongWarning: systemTheme.colors.textWarning,
53
+ borderStrongDanger: systemTheme.colors.textDanger
54
+ };
55
+ return {
56
+ colors: {
57
+ LIGHT: _objectSpread({}, borderColorModifications),
58
+ DARK: _objectSpread({}, borderColorModifications)
59
+ },
60
+ border: {
61
+ color: borderColor,
62
+ thin: "".concat(getBorderWidth('thin'), " solid ").concat(borderColor),
63
+ thick: "".concat(getBorderWidth('thick'), " solid ").concat(borderColor)
64
+ }
65
+ };
66
+ }, [system, colorMode, modifications === null || modifications === void 0 || (_modifications$border2 = modifications.border) === null || _modifications$border2 === void 0 ? void 0 : _modifications$border2.width]);
67
+
68
+ // Memoizing the object(s) returned is important for performance/referential equality
69
+ return (0, _react.useMemo)(function () {
70
+ return highContrastMode ? _objectSpread(_objectSpread({}, modifications), highContrastModifications) : modifications;
71
+ }, [highContrastMode, modifications, highContrastModifications]);
72
+ };
@@ -30,6 +30,7 @@ var providerMessage = "`EuiProvider` is missing which can result in negative eff
30
30
  var useEuiTheme = exports.useEuiTheme = function useEuiTheme() {
31
31
  var theme = (0, _react.useContext)(_context.EuiThemeContext);
32
32
  var colorMode = (0, _react.useContext)(_context.EuiColorModeContext);
33
+ var highContrastMode = (0, _react.useContext)(_context.EuiHighContrastModeContext);
33
34
  var modifications = (0, _react.useContext)(_context.EuiModificationsContext);
34
35
  var isFallback = theme === _context.defaultComputedTheme;
35
36
  if (isFallback) {
@@ -39,9 +40,10 @@ var useEuiTheme = exports.useEuiTheme = function useEuiTheme() {
39
40
  return {
40
41
  euiTheme: theme,
41
42
  colorMode: colorMode,
43
+ highContrastMode: highContrastMode,
42
44
  modifications: modifications
43
45
  };
44
- }, [theme, colorMode, modifications]);
46
+ }, [theme, colorMode, highContrastMode, modifications]);
45
47
  return assembledTheme;
46
48
  };
47
49
 
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "EuiColorModeContext", {
21
21
  return _context.EuiColorModeContext;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "EuiHighContrastModeContext", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _context.EuiHighContrastModeContext;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "EuiModificationsContext", {
25
31
  enumerable: true,
26
32
  get: function get() {
@@ -20,6 +20,7 @@ var _current_breakpoint = require("../breakpoint/current_breakpoint");
20
20
  var _context = require("./context");
21
21
  var _emotion2 = require("./emotion");
22
22
  var _style_memoization = require("./style_memoization");
23
+ var _high_contrast_overrides = require("./high_contrast_overrides");
23
24
  var _utils = require("./utils");
24
25
  var _color = require("../color");
25
26
  var _excluded = ["cloneElement", "className"];
@@ -37,6 +38,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
37
38
  var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref) {
38
39
  var _system = _ref.theme,
39
40
  _colorMode = _ref.colorMode,
41
+ _highContrastMode = _ref.highContrastMode,
40
42
  _modifications = _ref.modify,
41
43
  children = _ref.children,
42
44
  wrapperProps = _ref.wrapperProps;
@@ -48,12 +50,12 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
48
50
  var parentSystem = (0, _react2.useContext)(_context.EuiSystemContext);
49
51
  var parentModifications = (0, _react2.useContext)(_context.EuiModificationsContext);
50
52
  var parentColorMode = (0, _react2.useContext)(_context.EuiColorModeContext);
53
+ var parentHighContrastMode = (0, _react2.useContext)(_context.EuiHighContrastModeContext);
51
54
  var parentTheme = (0, _react2.useContext)(_context.EuiThemeContext);
52
- var _useState = (0, _react2.useState)(_system || parentSystem),
53
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
54
- system = _useState2[0],
55
- setSystem = _useState2[1];
56
- var prevSystemKey = (0, _react2.useRef)(system.key);
55
+
56
+ // If the user has an OS-wide high contrast theme applied, it will ignore EUI's
57
+ // colors and light/dark mode. We should respect the user's system setting
58
+ var isForced = parentHighContrastMode === 'forced';
57
59
 
58
60
  // To reduce the number of window resize listeners, only render a
59
61
  // CurrentEuiBreakpointProvider for the top level parent theme, or for
@@ -61,23 +63,41 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
61
63
  var EuiConditionalBreakpointProvider = (0, _react2.useMemo)(function () {
62
64
  return isGlobalTheme || _modifications !== null && _modifications !== void 0 && _modifications.breakpoint ? _current_breakpoint.CurrentEuiBreakpointProvider : _react2.Fragment;
63
65
  }, [isGlobalTheme, _modifications]);
66
+ var _useState = (0, _react2.useState)(_system || parentSystem),
67
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
68
+ system = _useState2[0],
69
+ setSystem = _useState2[1];
70
+ var prevSystemKey = (0, _react2.useRef)(system.key);
64
71
  var _useState3 = (0, _react2.useState)((0, _utils.mergeDeep)(parentModifications, _modifications)),
65
72
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
66
73
  modifications = _useState4[0],
67
74
  setModifications = _useState4[1];
68
75
  var prevModifications = (0, _react2.useRef)(modifications);
69
- var _useState5 = (0, _react2.useState)((0, _utils.getColorMode)(_colorMode, parentColorMode)),
76
+ var _useState5 = (0, _react2.useState)((0, _utils.getColorMode)(_colorMode, parentColorMode, isForced)),
70
77
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
71
78
  colorMode = _useState6[0],
72
79
  setColorMode = _useState6[1];
73
80
  var prevColorMode = (0, _react2.useRef)(colorMode);
74
- var isParentTheme = (0, _react2.useRef)(prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && (0, _isEqual.default)(parentModifications, modifications));
81
+ var highContrastMode = (0, _react2.useMemo)(function () {
82
+ if (isForced) return 'forced'; // System forced high contrast mode will always supercede application settings
83
+ if (_highContrastMode === true) return 'preferred'; // Convert the boolean prop to our internal enum
84
+ if (_highContrastMode === false) return false; // Allow `false` prop to override user/system preference
85
+ return parentHighContrastMode; // Fall back to the parent/system setting
86
+ }, [_highContrastMode, parentHighContrastMode, isForced]);
87
+ var prevHighContrastMode = (0, _react2.useRef)(highContrastMode);
88
+ var modificationsWithHighContrast = (0, _high_contrast_overrides.useHighContrastModifications)({
89
+ highContrastMode: highContrastMode,
90
+ colorMode: colorMode,
91
+ system: system,
92
+ modifications: modifications
93
+ });
94
+ var isParentTheme = (0, _react2.useRef)(isGlobalTheme ? prevSystemKey.current === _context.DEFAULTS.system.key && colorMode === _context.DEFAULTS.colorMode && highContrastMode === _context.DEFAULTS.highContrastMode && !_modifications : prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && highContrastMode === parentHighContrastMode && (0, _isEqual.default)(parentModifications, modifications));
75
95
  var updateVisColorStore = (0, _react2.useCallback)(function (theme) {
76
96
  var _theme$flags$hasVisCo, _theme$flags;
77
97
  _color.EUI_VIS_COLOR_STORE.setVisColors(theme.colors.vis, (_theme$flags$hasVisCo = (_theme$flags = theme.flags) === null || _theme$flags === void 0 ? void 0 : _theme$flags.hasVisColorAdjustment) !== null && _theme$flags$hasVisCo !== void 0 ? _theme$flags$hasVisCo : true);
78
98
  }, []);
79
99
  var getInitialTheme = function getInitialTheme() {
80
- var theme = (0, _utils.getComputed)(system, (0, _utils.buildTheme)(modifications, "_".concat(system.key)), colorMode);
100
+ var theme = (0, _utils.getComputed)(system, (0, _utils.buildTheme)(modificationsWithHighContrast, "_".concat(system.key)), colorMode);
81
101
  setTimeout(function () {
82
102
  updateVisColorStore(theme);
83
103
  });
@@ -106,18 +126,23 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
106
126
  }
107
127
  }, [_modifications, parentModifications]);
108
128
  (0, _react2.useEffect)(function () {
109
- var newColorMode = (0, _utils.getColorMode)(_colorMode, parentColorMode);
129
+ var newColorMode = (0, _utils.getColorMode)(_colorMode, parentColorMode, isForced);
110
130
  if (!(0, _isEqual.default)(newColorMode, prevColorMode.current)) {
111
131
  setColorMode(newColorMode);
112
132
  prevColorMode.current = newColorMode;
113
133
  isParentTheme.current = false;
114
134
  }
115
- }, [_colorMode, parentColorMode]);
135
+ }, [_colorMode, parentColorMode, isForced]);
136
+ (0, _react2.useEffect)(function () {
137
+ if (prevHighContrastMode.current !== highContrastMode) {
138
+ isParentTheme.current = false;
139
+ }
140
+ }, [highContrastMode]);
116
141
  (0, _react2.useEffect)(function () {
117
142
  if (!isParentTheme.current) {
118
- setTheme((0, _utils.getComputed)(system, (0, _utils.buildTheme)(modifications, "_".concat(system.key)), colorMode));
143
+ setTheme((0, _utils.getComputed)(system, (0, _utils.buildTheme)(modificationsWithHighContrast, "_".concat(system.key)), colorMode));
119
144
  }
120
- }, [colorMode, system, modifications]);
145
+ }, [colorMode, system, modificationsWithHighContrast]);
121
146
  var _useState9 = (0, _react2.useState)(),
122
147
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
123
148
  themeCSSVariables = _useState10[0],
@@ -131,9 +156,9 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
131
156
  return {
132
157
  isGlobalTheme: false,
133
158
  // The theme that determines the global body styles
134
- bodyColor: isGlobalTheme ? theme.colors.text : bodyColor,
135
- hasDifferentColorFromGlobalTheme: isGlobalTheme ? false : bodyColor !== theme.colors.text,
136
- colorClassName: (0, _css2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n label: euiColorMode-", ";\n color: ", ";\n "])), _colorMode || colorMode, theme.colors.text),
159
+ bodyColor: isGlobalTheme ? theme.colors.textParagraph : bodyColor,
160
+ hasDifferentColorFromGlobalTheme: isGlobalTheme ? false : bodyColor !== theme.colors.textParagraph,
161
+ colorClassName: (0, _css2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n label: euiColorMode-", ";\n color: ", ";\n "])), _colorMode || colorMode, theme.colors.textParagraph),
137
162
  setGlobalCSSVariables: isGlobalTheme ? setThemeCSSVariables : setGlobalCSSVariables,
138
163
  globalCSSVariables: isGlobalTheme ? themeCSSVariables : globalCSSVariables,
139
164
  setNearestThemeCSSVariables: setThemeCSSVariables,
@@ -174,6 +199,8 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
174
199
  }, ";label:EuiThemeProvider;")
175
200
  }), (0, _react.jsx)(_context.EuiColorModeContext.Provider, {
176
201
  value: colorMode
202
+ }, (0, _react.jsx)(_context.EuiHighContrastModeContext.Provider, {
203
+ value: highContrastMode
177
204
  }, (0, _react.jsx)(_context.EuiSystemContext.Provider, {
178
205
  value: system
179
206
  }, (0, _react.jsx)(_context.EuiModificationsContext.Provider, {
@@ -182,5 +209,5 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
182
209
  value: theme
183
210
  }, (0, _react.jsx)(_context.EuiNestedThemeContext.Provider, {
184
211
  value: nestedThemeContext
185
- }, (0, _react.jsx)(_style_memoization.EuiThemeMemoizedStylesProvider, null, (0, _react.jsx)(_emotion2.EuiEmotionThemeProvider, null, (0, _react.jsx)(EuiConditionalBreakpointProvider, null, renderedChildren)))))))));
212
+ }, (0, _react.jsx)(_style_memoization.EuiThemeMemoizedStylesProvider, null, (0, _react.jsx)(_emotion2.EuiEmotionThemeProvider, null, (0, _react.jsx)(EuiConditionalBreakpointProvider, null, renderedChildren))))))))));
186
213
  };