@elastic/eui 100.0.0 → 101.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +3 -2
  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
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ // NOTE: These functions are not being published as top-level EUI exports
10
+ // until high contrast mode is out of beta.
11
+
12
+ /**
13
+ * Minor syntactical sugar for conditional high contrast styles.
14
+ * Ternaries are otherwise somewhat ugly in css`` template literals,
15
+ * and this makes life just a little more beautiful ✨
16
+ */
17
+ export var highContrastModeStyles = function highContrastModeStyles(euiThemeContext, options) {
18
+ var highContrastMode = euiThemeContext.highContrastMode;
19
+ var _options$none = options.none,
20
+ defaultStyles = _options$none === void 0 ? '' : _options$none,
21
+ _options$preferred = options.preferred,
22
+ highContrastStyles = _options$preferred === void 0 ? '' : _options$preferred,
23
+ _options$forced = options.forced,
24
+ forcedColorsStyles = _options$forced === void 0 ? '' : _options$forced;
25
+ if (highContrastMode) {
26
+ if (highContrastMode === 'forced') {
27
+ // Assume preferred high contrast styles should also apply to forced contrast styles
28
+ return highContrastStyles.trim() + forcedColorsStyles.trim();
29
+ }
30
+ if (!highContrastStyles && forcedColorsStyles && defaultStyles) {
31
+ // If only forced styles were passed, assume we can use default styles for preferred high contrast
32
+ return defaultStyles.trim();
33
+ }
34
+ return highContrastStyles.trim();
35
+ }
36
+ return defaultStyles.trim();
37
+ };
38
+
39
+ /**
40
+ * Small uitility that allows component styles to ignore/override
41
+ * forced colors modes (primarily Windows high contrast themes)
42
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/forced-color-adjust
43
+ *
44
+ * WARNING: Do *not* use this utility unless:
45
+ * 1. Colors/backgrounds are **essential** to the semantic meaning of the UI,
46
+ * and users will lose all meaning without them
47
+ * 2. Tweaks have been made to existing styles to increase color contrast
48
+ * as necessary
49
+ */
50
+ export var preventForcedColors = function preventForcedColors(_ref) {
51
+ var highContrastMode = _ref.highContrastMode;
52
+ return highContrastMode === 'forced' ? 'forced-color-adjust: none;' : '';
53
+ };
@@ -6,6 +6,7 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
+ export * from './high_contrast';
9
10
  export * from './logicals';
10
11
  export * from './logical_shorthands';
11
12
  export * from './math';
@@ -1,5 +1,8 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  var _templateObject;
4
+ 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; }
5
+ 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) { _defineProperty(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; }
3
6
  /*
4
7
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
8
  * or more contributor license agreements. Licensed under the Elastic License
@@ -25,10 +28,10 @@ export var euiButtonColor = function euiButtonColor(euiThemeContext, color) {
25
28
  var textTokenName = getTokenName('textColor', color);
26
29
  var foreground = euiTheme.components.buttons[textTokenName];
27
30
  var background = euiTheme.components.buttons[backgroundTokenName];
28
- return {
31
+ return _objectSpread({
29
32
  color: background === 'transparent' || color === 'disabled' ? foreground : makeHighContrastColor(foreground)(background),
30
33
  backgroundColor: background
31
- };
34
+ }, _highContrastBorder(euiThemeContext, foreground));
32
35
  };
33
36
 
34
37
  /**
@@ -43,10 +46,11 @@ export var euiButtonFillColor = function euiButtonFillColor(euiThemeContext, col
43
46
  var textColorTokenName = getTokenName('textColorFilled', color);
44
47
  var foreground = euiTheme.components.buttons[textColorTokenName];
45
48
  var background = euiTheme.components.buttons[backgroundTokenName];
46
- return {
49
+ return _objectSpread({
47
50
  color: foreground,
48
51
  backgroundColor: background
49
- };
52
+ }, _highContrastBorder(euiThemeContext, color === 'disabled' ? foreground : background // The border is necessary for Windows high contrast themes, which ignore background-color
53
+ ));
50
54
  };
51
55
 
52
56
  /**
@@ -156,4 +160,15 @@ export var euiButtonSizeMap = function euiButtonSizeMap(_ref2) {
156
160
  fontScale: 's'
157
161
  }
158
162
  };
163
+ };
164
+
165
+ /**
166
+ * Internal util for high contrast button borders
167
+ */
168
+ var _highContrastBorder = function _highContrastBorder(_ref3, color) {
169
+ var highContrastMode = _ref3.highContrastMode,
170
+ euiTheme = _ref3.euiTheme;
171
+ return highContrastMode ? {
172
+ border: "".concat(euiTheme.border.width.thin, " solid ").concat(color)
173
+ } : {};
159
174
  };
@@ -97,6 +97,8 @@ export var euiBorderColor = function euiBorderColor(_ref4, color) {
97
97
  return euiTheme.border.color;
98
98
  default:
99
99
  {
100
+ // border tokens are overridden in for high contrast mode
101
+ // in high_contrast_overrides.ts
100
102
  var tokenName = getTokenName('borderBase', color);
101
103
  return euiTheme.colors[tokenName];
102
104
  }
@@ -109,6 +111,8 @@ export var euiBorderColor = function euiBorderColor(_ref4, color) {
109
111
  */
110
112
  var _euiBorderColors = function _euiBorderColors(euiThemeContext) {
111
113
  return BACKGROUND_COLORS.reduce(function (acc, color) {
114
+ // border tokens are overridden in for high contrast mode
115
+ // in high_contrast_overrides.ts
112
116
  var borderToken = getTokenName('borderBase', color);
113
117
  var borderColor = color === 'transparent' ? euiThemeContext.euiTheme.border.color : euiThemeContext.euiTheme.colors[borderToken];
114
118
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, color, /*#__PURE__*/css("border-color:", borderColor, ";label:", color, ";")));
@@ -9,23 +9,17 @@
9
9
  import { euiShadowFlat, euiShadow, euiSlightShadowHover, euiShadowXSmall, euiShadowSmall, euiShadowMedium, euiShadowLarge, euiShadowXLarge } from '@elastic/eui-theme-common';
10
10
  import { useEuiTheme } from '../../services/theme';
11
11
  export { euiShadowFlat, euiShadow, euiSlightShadowHover, euiShadowXSmall, euiShadowSmall, euiShadowMedium, euiShadowLarge, euiShadowXLarge };
12
- export var useEuiSlightShadowHover = function useEuiSlightShadowHover(color) {
12
+ export var useEuiSlightShadowHover = function useEuiSlightShadowHover(options) {
13
13
  var euiThemeContext = useEuiTheme();
14
- return euiSlightShadowHover(euiThemeContext, {
15
- color: color
16
- });
14
+ return euiSlightShadowHover(euiThemeContext, options);
17
15
  };
18
- export var useEuiShadowFlat = function useEuiShadowFlat(color) {
16
+ export var useEuiShadowFlat = function useEuiShadowFlat(options) {
19
17
  var euiThemeContext = useEuiTheme();
20
- return euiShadowFlat(euiThemeContext, {
21
- color: color
22
- });
18
+ return euiShadowFlat(euiThemeContext, options);
23
19
  };
24
20
  export var useEuiShadow = function useEuiShadow() {
25
21
  var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'l';
26
- var color = arguments.length > 1 ? arguments[1] : undefined;
22
+ var options = arguments.length > 1 ? arguments[1] : undefined;
27
23
  var euiThemeContext = useEuiTheme();
28
- return euiShadow(euiThemeContext, size, {
29
- color: color
30
- });
24
+ return euiShadow(euiThemeContext, size, options);
31
25
  };
@@ -51,7 +51,7 @@ export var EuiGlobalStyles = function EuiGlobalStyles(_ref) {
51
51
  /**
52
52
  * Final styles
53
53
  */
54
- var styles = /*#__PURE__*/css(reset, " html{", scrollbarStyles, " ", fontReset, " text-size-adjust:100%;font-kerning:normal;", logicalCSS('height', '100%'), " background-color:", colors.body, ";color:", colors.text, ";}code,pre,kbd,samp{font-family:", font.familyCode, ";}input,textarea,select{", _objectSpread(_objectSpread({}, fontReset), {}, {
54
+ var styles = /*#__PURE__*/css(reset, " html{", scrollbarStyles, " ", fontReset, " text-size-adjust:100%;font-kerning:normal;", logicalCSS('height', '100%'), " background-color:", colors.body, ";color:", colors.textParagraph, ";}code,pre,kbd,samp{font-family:", font.familyCode, ";}input,textarea,select{", _objectSpread(_objectSpread({}, fontReset), {}, {
55
55
  fontSize: '1rem' // Inherit from html root
56
56
  }), ";}select:disabled{opacity:1;}button{font-family:", font.family, ";}em{font-style:italic;}strong{font-weight:", font.weight.bold, ";}*:focus{", euiFocusRing(euiThemeContext), ";}::selection{background:", transparentize(colors.primary, colorMode === 'LIGHT' ? 0.1 : 0.2), ";}a{color:", colors.textPrimary, ";&,&:hover,&:focus{text-decoration:none;}}.euiBody-hasPortalContent{position:relative;};label:styles;");
57
57
  return ___EmotionJSX(Global, {
@@ -14,16 +14,15 @@ function createHiddenTextElement(text) {
14
14
  // prevents scrolling to the end of the page
15
15
  textElement.style.position = 'fixed';
16
16
  textElement.style.top = '0';
17
- textElement.style.clip = 'rect(0, 0, 0, 0)';
17
+ textElement.style.clipPath = 'rect(0, 0, 0, 0)';
18
18
  // used to preserve spaces and line breaks
19
19
  textElement.style.whiteSpace = 'pre';
20
20
  // do not inherit user-select (it may be `none`)
21
- textElement.style.webkitUserSelect = 'text';
21
+ textElement.style.userSelect = 'text';
22
22
  // @ts-ignore this one doesn't appear in the TS definitions for some reason
23
23
  textElement.style.MozUserSelect = 'text';
24
24
  // @ts-ignore this one doesn't appear in the TS definitions for some reason
25
25
  textElement.style.msUserSelect = 'text';
26
- textElement.style.userSelect = 'text';
27
26
  return textElement;
28
27
  }
29
28
  export function copyToClipboard(text) {
@@ -12,15 +12,19 @@ import { logicalCSS, logicalSizeCSS, mathWithUnits } from '../../global_styling/
12
12
  * Arrow clipping/transform/positioning CSS shared between EuiPopover and EuiToolTip
13
13
  */
14
14
  export var _popoverArrowStyles = function _popoverArrowStyles(_ref, arrowSize) {
15
- var euiTheme = _ref.euiTheme;
16
- var arrowOffset = mathWithUnits(arrowSize, function (x) {
17
- return x / -2;
15
+ var euiTheme = _ref.euiTheme,
16
+ colorMode = _ref.colorMode,
17
+ highContrastMode = _ref.highContrastMode;
18
+ var hasBorder = colorMode === 'DARK';
19
+ var arrowOffset = mathWithUnits([arrowSize, euiTheme.border.width.thin // account for 1px pseudo element border on panel
20
+ ], function (x, y) {
21
+ return highContrastMode ? x / -2 : x / -2 - y;
18
22
  });
19
23
  var arrowBorderRadius = mathWithUnits(euiTheme.border.radius.small, function (x) {
20
24
  return x / 2;
21
25
  });
22
26
  return {
23
- _arrowStyles: "\n position: absolute;\n ".concat(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 "),
27
+ _arrowStyles: "\n position: absolute;\n z-index: 1;\n ".concat(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 "),
24
28
  positions: {
25
29
  top: /*#__PURE__*/css(logicalCSS('margin-top', arrowOffset), " transform:rotate(-45deg);;label:top;"),
26
30
  bottom: /*#__PURE__*/css(logicalCSS('bottom', 0), " ", logicalCSS('margin-bottom', arrowOffset), " transform:rotate(135deg);;label:bottom;"),
@@ -164,8 +164,8 @@ export function findPopoverPosition(_ref) {
164
164
  bestPosition = {
165
165
  fit: screenCoordinates.fit,
166
166
  position: iterationPosition,
167
- top: screenCoordinates.top + window.pageYOffset,
168
- left: screenCoordinates.left + window.pageXOffset,
167
+ top: screenCoordinates.top + window.scrollY,
168
+ left: screenCoordinates.left + window.scrollX,
169
169
  arrow: screenCoordinates.arrow
170
170
  };
171
171
 
@@ -9,10 +9,17 @@
9
9
  import { createContext } from 'react';
10
10
  import { EuiThemeBorealis } from '@elastic/eui-theme-borealis';
11
11
  import { DEFAULT_COLOR_MODE, getComputed } from './utils';
12
- export var EuiSystemContext = /*#__PURE__*/createContext(EuiThemeBorealis);
13
- export var EuiModificationsContext = /*#__PURE__*/createContext({});
14
- export var EuiColorModeContext = /*#__PURE__*/createContext(DEFAULT_COLOR_MODE);
15
- export var defaultComputedTheme = getComputed(EuiThemeBorealis, {}, DEFAULT_COLOR_MODE);
12
+ export var DEFAULTS = {
13
+ system: EuiThemeBorealis,
14
+ modifications: {},
15
+ colorMode: DEFAULT_COLOR_MODE,
16
+ highContrastMode: false
17
+ };
18
+ export var EuiSystemContext = /*#__PURE__*/createContext(DEFAULTS.system);
19
+ export var EuiModificationsContext = /*#__PURE__*/createContext(DEFAULTS.modifications);
20
+ export var EuiColorModeContext = /*#__PURE__*/createContext(DEFAULTS.colorMode);
21
+ export var EuiHighContrastModeContext = /*#__PURE__*/createContext(DEFAULTS.highContrastMode);
22
+ export var defaultComputedTheme = getComputed(DEFAULTS.system, DEFAULTS.modifications, DEFAULTS.colorMode);
16
23
  export var EuiThemeContext = /*#__PURE__*/createContext(defaultComputedTheme);
17
24
  export var EuiNestedThemeContext = /*#__PURE__*/createContext({
18
25
  isGlobalTheme: true,
@@ -0,0 +1,68 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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) { _defineProperty(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; }
4
+ /*
5
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
+ * or more contributor license agreements. Licensed under the Elastic License
7
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
8
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
9
+ * Side Public License, v 1.
10
+ */
11
+
12
+ import { useMemo } from 'react';
13
+ import { getComputed } from '@elastic/eui-theme-common';
14
+
15
+ // Rather than being calculated when the theme's styles are being computed, we're bogarting the
16
+ // `modify` logic so we can ensure consumer modifications to border-color are also overriden.
17
+ // If in the future we need more complex high contrast mode logic (e.g. changing color tokens)
18
+ // we'll need to actually dive into theme/utils.ts's Computed.getValue logic at that point.
19
+ export var useHighContrastModifications = function useHighContrastModifications(_ref) {
20
+ var _modifications$border2;
21
+ var highContrastMode = _ref.highContrastMode,
22
+ colorMode = _ref.colorMode,
23
+ system = _ref.system,
24
+ modifications = _ref.modifications;
25
+ var highContrastModifications = useMemo(function () {
26
+ var borderColor = colorMode === 'DARK' ? system.root.colors.plainLight : system.root.colors.plainDark;
27
+ var getBorderWidth = function getBorderWidth(width) {
28
+ var _modifications$border;
29
+ 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];
30
+ };
31
+ var systemTheme = getComputed(system, {}, colorMode);
32
+ var borderColorModifications = {
33
+ borderBasePrimary: systemTheme.colors.textPrimary,
34
+ borderBaseAccent: systemTheme.colors.textAccent,
35
+ borderBaseAccentSecondary: systemTheme.colors.textAccentSecondary,
36
+ borderBaseSuccess: systemTheme.colors.textSuccess,
37
+ borderBaseWarning: systemTheme.colors.textWarning,
38
+ borderBaseDanger: systemTheme.colors.textDanger,
39
+ borderBasePlain: borderColor,
40
+ borderBaseSubdued: borderColor,
41
+ borderBaseDisabled: systemTheme.colors.textDisabled,
42
+ borderBaseFloating: borderColor,
43
+ borderBaseFormsControl: borderColor,
44
+ borderStrongPrimary: systemTheme.colors.textPrimary,
45
+ borderStrongAccent: systemTheme.colors.textAccent,
46
+ borderStrongAccentSecondary: systemTheme.colors.textAccentSecondary,
47
+ borderStrongSuccess: systemTheme.colors.textSuccess,
48
+ borderStrongWarning: systemTheme.colors.textWarning,
49
+ borderStrongDanger: systemTheme.colors.textDanger
50
+ };
51
+ return {
52
+ colors: {
53
+ LIGHT: _objectSpread({}, borderColorModifications),
54
+ DARK: _objectSpread({}, borderColorModifications)
55
+ },
56
+ border: {
57
+ color: borderColor,
58
+ thin: "".concat(getBorderWidth('thin'), " solid ").concat(borderColor),
59
+ thick: "".concat(getBorderWidth('thick'), " solid ").concat(borderColor)
60
+ }
61
+ };
62
+ }, [system, colorMode, modifications === null || modifications === void 0 || (_modifications$border2 = modifications.border) === null || _modifications$border2 === void 0 ? void 0 : _modifications$border2.width]);
63
+
64
+ // Memoizing the object(s) returned is important for performance/referential equality
65
+ return useMemo(function () {
66
+ return highContrastMode ? _objectSpread(_objectSpread({}, modifications), highContrastModifications) : modifications;
67
+ }, [highContrastMode, modifications, highContrastModifications]);
68
+ };
@@ -8,7 +8,7 @@ import _extends from "@babel/runtime/helpers/extends";
8
8
  */
9
9
 
10
10
  import React, { forwardRef, useContext, useMemo } from 'react';
11
- import { EuiThemeContext, EuiModificationsContext, EuiColorModeContext, defaultComputedTheme, EuiNestedThemeContext } from './context';
11
+ import { EuiThemeContext, EuiModificationsContext, EuiColorModeContext, EuiHighContrastModeContext, defaultComputedTheme, EuiNestedThemeContext } from './context';
12
12
  import { emitEuiProviderWarning } from './warning';
13
13
  import { jsx as ___EmotionJSX } from "@emotion/react";
14
14
  var providerMessage = "`EuiProvider` is missing which can result in negative effects.\nWrap your component in `EuiProvider`: https://ela.st/euiprovider.";
@@ -20,6 +20,7 @@ var providerMessage = "`EuiProvider` is missing which can result in negative eff
20
20
  export var useEuiTheme = function useEuiTheme() {
21
21
  var theme = useContext(EuiThemeContext);
22
22
  var colorMode = useContext(EuiColorModeContext);
23
+ var highContrastMode = useContext(EuiHighContrastModeContext);
23
24
  var modifications = useContext(EuiModificationsContext);
24
25
  var isFallback = theme === defaultComputedTheme;
25
26
  if (isFallback) {
@@ -29,9 +30,10 @@ export var useEuiTheme = function useEuiTheme() {
29
30
  return {
30
31
  euiTheme: theme,
31
32
  colorMode: colorMode,
33
+ highContrastMode: highContrastMode,
32
34
  modifications: modifications
33
35
  };
34
- }, [theme, colorMode, modifications]);
36
+ }, [theme, colorMode, highContrastMode, modifications]);
35
37
  return assembledTheme;
36
38
  };
37
39
 
@@ -6,7 +6,7 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
 
9
- export { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext } from './context';
9
+ export { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext, EuiHighContrastModeContext } from './context';
10
10
  export { useEuiTheme, withEuiTheme, RenderWithEuiTheme, useEuiThemeCSSVariables } from './hooks';
11
11
  export { EuiThemeProvider } from './provider';
12
12
  export { useEuiMemoizedStyles, withEuiStylesMemoizer, RenderWithEuiStylesMemoizer } from './style_memoization';
@@ -22,15 +22,17 @@ import isEqual from 'lodash/isEqual';
22
22
  import { cloneElementWithCss } from '../emotion';
23
23
  import { css, cx } from '../emotion/css';
24
24
  import { CurrentEuiBreakpointProvider } from '../breakpoint/current_breakpoint';
25
- import { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext } from './context';
25
+ import { EuiSystemContext, EuiThemeContext, EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext, EuiHighContrastModeContext, DEFAULTS } from './context';
26
26
  import { EuiEmotionThemeProvider } from './emotion';
27
27
  import { EuiThemeMemoizedStylesProvider } from './style_memoization';
28
+ import { useHighContrastModifications } from './high_contrast_overrides';
28
29
  import { buildTheme, getColorMode, getComputed, mergeDeep } from './utils';
29
30
  import { EUI_VIS_COLOR_STORE } from '../color';
30
31
  import { jsx as ___EmotionJSX } from "@emotion/react";
31
32
  export var EuiThemeProvider = function EuiThemeProvider(_ref) {
32
33
  var _system = _ref.theme,
33
34
  _colorMode = _ref.colorMode,
35
+ _highContrastMode = _ref.highContrastMode,
34
36
  _modifications = _ref.modify,
35
37
  children = _ref.children,
36
38
  wrapperProps = _ref.wrapperProps;
@@ -42,12 +44,12 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
42
44
  var parentSystem = useContext(EuiSystemContext);
43
45
  var parentModifications = useContext(EuiModificationsContext);
44
46
  var parentColorMode = useContext(EuiColorModeContext);
47
+ var parentHighContrastMode = useContext(EuiHighContrastModeContext);
45
48
  var parentTheme = useContext(EuiThemeContext);
46
- var _useState = useState(_system || parentSystem),
47
- _useState2 = _slicedToArray(_useState, 2),
48
- system = _useState2[0],
49
- setSystem = _useState2[1];
50
- var prevSystemKey = useRef(system.key);
49
+
50
+ // If the user has an OS-wide high contrast theme applied, it will ignore EUI's
51
+ // colors and light/dark mode. We should respect the user's system setting
52
+ var isForced = parentHighContrastMode === 'forced';
51
53
 
52
54
  // To reduce the number of window resize listeners, only render a
53
55
  // CurrentEuiBreakpointProvider for the top level parent theme, or for
@@ -55,23 +57,41 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
55
57
  var EuiConditionalBreakpointProvider = useMemo(function () {
56
58
  return isGlobalTheme || _modifications !== null && _modifications !== void 0 && _modifications.breakpoint ? CurrentEuiBreakpointProvider : Fragment;
57
59
  }, [isGlobalTheme, _modifications]);
60
+ var _useState = useState(_system || parentSystem),
61
+ _useState2 = _slicedToArray(_useState, 2),
62
+ system = _useState2[0],
63
+ setSystem = _useState2[1];
64
+ var prevSystemKey = useRef(system.key);
58
65
  var _useState3 = useState(mergeDeep(parentModifications, _modifications)),
59
66
  _useState4 = _slicedToArray(_useState3, 2),
60
67
  modifications = _useState4[0],
61
68
  setModifications = _useState4[1];
62
69
  var prevModifications = useRef(modifications);
63
- var _useState5 = useState(getColorMode(_colorMode, parentColorMode)),
70
+ var _useState5 = useState(getColorMode(_colorMode, parentColorMode, isForced)),
64
71
  _useState6 = _slicedToArray(_useState5, 2),
65
72
  colorMode = _useState6[0],
66
73
  setColorMode = _useState6[1];
67
74
  var prevColorMode = useRef(colorMode);
68
- var isParentTheme = useRef(prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && isEqual(parentModifications, modifications));
75
+ var highContrastMode = useMemo(function () {
76
+ if (isForced) return 'forced'; // System forced high contrast mode will always supercede application settings
77
+ if (_highContrastMode === true) return 'preferred'; // Convert the boolean prop to our internal enum
78
+ if (_highContrastMode === false) return false; // Allow `false` prop to override user/system preference
79
+ return parentHighContrastMode; // Fall back to the parent/system setting
80
+ }, [_highContrastMode, parentHighContrastMode, isForced]);
81
+ var prevHighContrastMode = useRef(highContrastMode);
82
+ var modificationsWithHighContrast = useHighContrastModifications({
83
+ highContrastMode: highContrastMode,
84
+ colorMode: colorMode,
85
+ system: system,
86
+ modifications: modifications
87
+ });
88
+ var isParentTheme = useRef(isGlobalTheme ? prevSystemKey.current === DEFAULTS.system.key && colorMode === DEFAULTS.colorMode && highContrastMode === DEFAULTS.highContrastMode && !_modifications : prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && highContrastMode === parentHighContrastMode && isEqual(parentModifications, modifications));
69
89
  var updateVisColorStore = useCallback(function (theme) {
70
90
  var _theme$flags$hasVisCo, _theme$flags;
71
91
  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);
72
92
  }, []);
73
93
  var getInitialTheme = function getInitialTheme() {
74
- var theme = getComputed(system, buildTheme(modifications, "_".concat(system.key)), colorMode);
94
+ var theme = getComputed(system, buildTheme(modificationsWithHighContrast, "_".concat(system.key)), colorMode);
75
95
  setTimeout(function () {
76
96
  updateVisColorStore(theme);
77
97
  });
@@ -100,18 +120,23 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
100
120
  }
101
121
  }, [_modifications, parentModifications]);
102
122
  useEffect(function () {
103
- var newColorMode = getColorMode(_colorMode, parentColorMode);
123
+ var newColorMode = getColorMode(_colorMode, parentColorMode, isForced);
104
124
  if (!isEqual(newColorMode, prevColorMode.current)) {
105
125
  setColorMode(newColorMode);
106
126
  prevColorMode.current = newColorMode;
107
127
  isParentTheme.current = false;
108
128
  }
109
- }, [_colorMode, parentColorMode]);
129
+ }, [_colorMode, parentColorMode, isForced]);
130
+ useEffect(function () {
131
+ if (prevHighContrastMode.current !== highContrastMode) {
132
+ isParentTheme.current = false;
133
+ }
134
+ }, [highContrastMode]);
110
135
  useEffect(function () {
111
136
  if (!isParentTheme.current) {
112
- setTheme(getComputed(system, buildTheme(modifications, "_".concat(system.key)), colorMode));
137
+ setTheme(getComputed(system, buildTheme(modificationsWithHighContrast, "_".concat(system.key)), colorMode));
113
138
  }
114
- }, [colorMode, system, modifications]);
139
+ }, [colorMode, system, modificationsWithHighContrast]);
115
140
  var _useState9 = useState(),
116
141
  _useState10 = _slicedToArray(_useState9, 2),
117
142
  themeCSSVariables = _useState10[0],
@@ -125,9 +150,9 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
125
150
  return {
126
151
  isGlobalTheme: false,
127
152
  // The theme that determines the global body styles
128
- bodyColor: isGlobalTheme ? theme.colors.text : bodyColor,
129
- hasDifferentColorFromGlobalTheme: isGlobalTheme ? false : bodyColor !== theme.colors.text,
130
- colorClassName: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n label: euiColorMode-", ";\n color: ", ";\n "])), _colorMode || colorMode, theme.colors.text),
153
+ bodyColor: isGlobalTheme ? theme.colors.textParagraph : bodyColor,
154
+ hasDifferentColorFromGlobalTheme: isGlobalTheme ? false : bodyColor !== theme.colors.textParagraph,
155
+ colorClassName: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n label: euiColorMode-", ";\n color: ", ";\n "])), _colorMode || colorMode, theme.colors.textParagraph),
131
156
  setGlobalCSSVariables: isGlobalTheme ? setThemeCSSVariables : setGlobalCSSVariables,
132
157
  globalCSSVariables: isGlobalTheme ? themeCSSVariables : globalCSSVariables,
133
158
  setNearestThemeCSSVariables: setThemeCSSVariables,
@@ -168,6 +193,8 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
168
193
  }, ";label:EuiThemeProvider;")
169
194
  }), ___EmotionJSX(EuiColorModeContext.Provider, {
170
195
  value: colorMode
196
+ }, ___EmotionJSX(EuiHighContrastModeContext.Provider, {
197
+ value: highContrastMode
171
198
  }, ___EmotionJSX(EuiSystemContext.Provider, {
172
199
  value: system
173
200
  }, ___EmotionJSX(EuiModificationsContext.Provider, {
@@ -176,5 +203,5 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
176
203
  value: theme
177
204
  }, ___EmotionJSX(EuiNestedThemeContext.Provider, {
178
205
  value: nestedThemeContext
179
- }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, ___EmotionJSX(EuiConditionalBreakpointProvider, null, renderedChildren)))))))));
206
+ }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, ___EmotionJSX(EuiConditionalBreakpointProvider, null, renderedChildren))))))))));
180
207
  };