@elastic/eui 97.3.0 → 97.3.1-rc.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 (551) hide show
  1. package/es/components/avatar/avatar.styles.js +4 -3
  2. package/es/components/badge/beta_badge/beta_badge.styles.js +26 -14
  3. package/es/components/badge/notification_badge/badge_notification.styles.js +4 -5
  4. package/es/components/beacon/beacon.js +9 -1
  5. package/es/components/beacon/beacon.styles.js +2 -2
  6. package/es/components/bottom_bar/bottom_bar.styles.js +4 -3
  7. package/es/components/breadcrumbs/breadcrumb.styles.js +13 -2
  8. package/es/components/button/button_group/button_group.styles.js +8 -4
  9. package/es/components/button/button_group/button_group_button.styles.js +7 -5
  10. package/es/components/code/code_block.styles.js +4 -2
  11. package/es/components/code/code_block_annotations.style.js +3 -1
  12. package/es/components/code/code_block_line.styles.js +14 -5
  13. package/es/components/code/code_syntax.styles.js +13 -4
  14. package/es/components/color_picker/color_palette_display/color_palette_display.styles.js +4 -4
  15. package/es/components/color_picker/color_palette_display/color_palette_display_fixed.js +18 -10
  16. package/es/components/color_picker/color_palette_display/color_palette_display_gradient.js +9 -13
  17. package/es/components/color_picker/color_picker_swatch.js +8 -13
  18. package/es/components/color_picker/color_picker_swatch.styles.js +4 -3
  19. package/es/components/color_picker/hue.js +6 -1
  20. package/es/components/color_picker/hue.styles.js +7 -5
  21. package/es/components/color_picker/saturation.js +15 -7
  22. package/es/components/color_picker/saturation.styles.js +24 -5
  23. package/es/components/combo_box/combo_box.js +9 -6
  24. package/es/components/comment_list/comment_event.js +6 -3
  25. package/es/components/comment_list/comment_event.styles.js +16 -6
  26. package/es/components/datagrid/controls/column_selector.styles.js +3 -1
  27. package/es/components/datagrid/controls/column_sorting.styles.js +3 -1
  28. package/es/components/date_picker/date_picker.styles.js +3 -1
  29. package/es/components/date_picker/date_picker_range.styles.js +3 -1
  30. package/es/components/date_picker/react_date_picker.styles.js +3 -1
  31. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +3 -1
  32. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +11 -1
  33. package/es/components/date_picker/super_date_picker/super_date_picker.styles.js +12 -5
  34. package/es/components/expression/expression.styles.js +3 -2
  35. package/es/components/filter_group/filter_button.styles.js +7 -7
  36. package/es/components/filter_group/filter_group.styles.js +3 -2
  37. package/es/components/filter_group/filter_select_item.styles.js +1 -1
  38. package/es/components/flyout/_flyout_close_button.styles.js +3 -1
  39. package/es/components/flyout/flyout.styles.js +3 -1
  40. package/es/components/form/file_picker/file_picker.styles.js +1 -1
  41. package/es/components/form/form.styles.js +54 -22
  42. package/es/components/form/form_control_layout/form_control_layout.styles.js +4 -3
  43. package/es/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  44. package/es/components/form/form_control_layout/form_control_layout_clear_button.styles.js +15 -4
  45. package/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  46. package/es/components/form/radio/radio.js +1 -1
  47. package/es/components/form/range/range.styles.js +5 -1
  48. package/es/components/form/range/range_highlight.styles.js +2 -1
  49. package/es/components/form/range/range_levels.js +21 -6
  50. package/es/components/form/range/range_levels.styles.js +2 -2
  51. package/es/components/form/range/range_thumb.styles.js +5 -1
  52. package/es/components/form/range/range_ticks.styles.js +2 -2
  53. package/es/components/form/range/range_tooltip.styles.js +11 -10
  54. package/es/components/form/range/range_track.styles.js +2 -1
  55. package/es/components/form/switch/switch.styles.js +43 -31
  56. package/es/components/horizontal_rule/horizontal_rule.styles.js +5 -2
  57. package/es/components/image/image.styles.js +3 -1
  58. package/es/components/image/image_button.styles.js +6 -2
  59. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  60. package/es/components/key_pad_menu/key_pad_menu_item.styles.js +10 -5
  61. package/es/components/loading/loading_chart.js +9 -4
  62. package/es/components/loading/loading_spinner.styles.js +24 -8
  63. package/es/components/mark/mark.styles.js +4 -8
  64. package/es/components/markdown_editor/markdown_format.styles.js +3 -4
  65. package/es/components/modal/modal.styles.js +5 -2
  66. package/es/components/page/page_header/page_header_content.js +2 -1
  67. package/es/components/page/page_header/page_header_content.styles.js +2 -1
  68. package/es/components/panel/panel.js +18 -4
  69. package/es/components/panel/panel.styles.js +4 -2
  70. package/es/components/panel/split_panel/split_panel.js +3 -1
  71. package/es/components/panel/split_panel/split_panel.styles.js +5 -9
  72. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +19 -8
  73. package/es/components/popover/popover_panel/_popover_panel.styles.js +13 -6
  74. package/es/components/progress/progress.js +2 -2
  75. package/es/components/progress/progress.styles.js +20 -7
  76. package/es/components/provider/provider.js +4 -2
  77. package/es/components/provider/{system_color_mode → system_defaults}/index.js +1 -1
  78. package/es/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +10 -16
  79. package/es/components/provider/system_defaults/system_defaults_provider.js +27 -0
  80. package/es/components/resizable_container/resizable_button.styles.js +17 -10
  81. package/es/components/resizable_container/resizable_collapse_button.styles.js +5 -1
  82. package/es/components/resizable_container/resizable_panel.styles.js +3 -2
  83. package/es/components/side_nav/side_nav_item.styles.js +2 -2
  84. package/es/components/skeleton/skeleton_circle.styles.js +3 -1
  85. package/es/components/skeleton/skeleton_rectangle.styles.js +8 -13
  86. package/es/components/skeleton/skeleton_text.styles.js +2 -2
  87. package/es/components/skeleton/skeleton_title.styles.js +2 -2
  88. package/es/components/skeleton/utils.js +35 -7
  89. package/es/components/steps/step.styles.js +10 -12
  90. package/es/components/steps/step_horizontal.styles.js +7 -4
  91. package/es/components/steps/step_number.js +7 -10
  92. package/es/components/steps/step_number.styles.js +13 -14
  93. package/es/components/steps/sub_steps.styles.js +3 -2
  94. package/es/components/table/table_row.styles.js +3 -1
  95. package/es/components/tabs/tab.styles.js +11 -3
  96. package/es/components/tabs/tabs.styles.js +9 -2
  97. package/es/components/text/text.styles.js +6 -3
  98. package/es/components/text_truncate/text_truncate.styles.js +12 -8
  99. package/es/components/timeline/timeline.styles.js +8 -5
  100. package/es/components/toast/toast.styles.js +13 -7
  101. package/es/components/tool_tip/tool_tip.styles.js +14 -5
  102. package/es/global_styling/mixins/_color.js +4 -3
  103. package/es/services/theme/context.js +1 -0
  104. package/es/services/theme/hooks.js +4 -2
  105. package/es/services/theme/index.js +1 -1
  106. package/es/services/theme/provider.js +39 -7
  107. package/es/themes/amsterdam/global_styling/mixins/button.js +26 -8
  108. package/es/themes/amsterdam/global_styling/mixins/shadow.js +83 -61
  109. package/es/themes/themes.js +2 -6
  110. package/eui.d.ts +155 -75
  111. package/i18ntokens.json +16 -16
  112. package/lib/components/avatar/avatar.styles.js +4 -3
  113. package/lib/components/badge/beta_badge/beta_badge.styles.js +25 -13
  114. package/lib/components/badge/notification_badge/badge_notification.styles.js +4 -5
  115. package/lib/components/beacon/beacon.js +9 -1
  116. package/lib/components/beacon/beacon.styles.js +2 -2
  117. package/lib/components/bottom_bar/bottom_bar.styles.js +3 -2
  118. package/lib/components/breadcrumbs/breadcrumb.styles.js +13 -2
  119. package/lib/components/button/button_group/button_group.styles.js +7 -3
  120. package/lib/components/button/button_group/button_group_button.styles.js +7 -5
  121. package/lib/components/code/code_block.styles.js +4 -2
  122. package/lib/components/code/code_block_annotations.style.js +3 -1
  123. package/lib/components/code/code_block_line.styles.js +13 -4
  124. package/lib/components/code/code_syntax.styles.js +14 -5
  125. package/lib/components/color_picker/color_palette_display/color_palette_display.styles.js +4 -4
  126. package/lib/components/color_picker/color_palette_display/color_palette_display_fixed.js +21 -10
  127. package/lib/components/color_picker/color_palette_display/color_palette_display_gradient.js +9 -13
  128. package/lib/components/color_picker/color_picker_swatch.js +8 -12
  129. package/lib/components/color_picker/color_picker_swatch.styles.js +4 -3
  130. package/lib/components/color_picker/hue.js +6 -1
  131. package/lib/components/color_picker/hue.styles.js +6 -4
  132. package/lib/components/color_picker/saturation.js +15 -7
  133. package/lib/components/color_picker/saturation.styles.js +24 -7
  134. package/lib/components/combo_box/combo_box.js +9 -6
  135. package/lib/components/comment_list/comment_event.js +5 -2
  136. package/lib/components/comment_list/comment_event.styles.js +16 -6
  137. package/lib/components/datagrid/controls/column_selector.styles.js +3 -1
  138. package/lib/components/datagrid/controls/column_sorting.styles.js +3 -1
  139. package/lib/components/date_picker/date_picker.styles.js +3 -1
  140. package/lib/components/date_picker/date_picker_range.styles.js +3 -1
  141. package/lib/components/date_picker/react_date_picker.styles.js +3 -1
  142. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +3 -1
  143. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +11 -3
  144. package/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +12 -5
  145. package/lib/components/expression/expression.styles.js +3 -2
  146. package/lib/components/filter_group/filter_button.styles.js +7 -7
  147. package/lib/components/filter_group/filter_group.styles.js +3 -2
  148. package/lib/components/filter_group/filter_select_item.styles.js +1 -1
  149. package/lib/components/flyout/_flyout_close_button.styles.js +3 -1
  150. package/lib/components/flyout/flyout.styles.js +3 -1
  151. package/lib/components/form/file_picker/file_picker.styles.js +1 -1
  152. package/lib/components/form/form.styles.js +54 -22
  153. package/lib/components/form/form_control_layout/form_control_layout.styles.js +4 -3
  154. package/lib/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  155. package/lib/components/form/form_control_layout/form_control_layout_clear_button.styles.js +15 -4
  156. package/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  157. package/lib/components/form/radio/radio.js +1 -1
  158. package/lib/components/form/range/range.styles.js +5 -1
  159. package/lib/components/form/range/range_highlight.styles.js +2 -1
  160. package/lib/components/form/range/range_levels.js +21 -6
  161. package/lib/components/form/range/range_levels.styles.js +2 -2
  162. package/lib/components/form/range/range_thumb.styles.js +5 -1
  163. package/lib/components/form/range/range_ticks.styles.js +1 -1
  164. package/lib/components/form/range/range_tooltip.styles.js +9 -8
  165. package/lib/components/form/range/range_track.styles.js +2 -1
  166. package/lib/components/form/switch/switch.styles.js +43 -31
  167. package/lib/components/horizontal_rule/horizontal_rule.styles.js +5 -2
  168. package/lib/components/image/image.styles.js +3 -1
  169. package/lib/components/image/image_button.styles.js +6 -2
  170. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  171. package/lib/components/key_pad_menu/key_pad_menu_item.styles.js +10 -5
  172. package/lib/components/loading/loading_chart.js +9 -4
  173. package/lib/components/loading/loading_spinner.styles.js +24 -8
  174. package/lib/components/mark/mark.styles.js +4 -8
  175. package/lib/components/markdown_editor/markdown_format.styles.js +3 -4
  176. package/lib/components/modal/modal.styles.js +5 -2
  177. package/lib/components/page/page_header/page_header_content.js +2 -1
  178. package/lib/components/page/page_header/page_header_content.styles.js +2 -1
  179. package/lib/components/panel/panel.js +16 -2
  180. package/lib/components/panel/panel.styles.js +4 -2
  181. package/lib/components/panel/split_panel/split_panel.js +3 -1
  182. package/lib/components/panel/split_panel/split_panel.styles.js +5 -9
  183. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +18 -7
  184. package/lib/components/popover/popover_panel/_popover_panel.styles.js +13 -6
  185. package/lib/components/progress/progress.js +2 -5
  186. package/lib/components/progress/progress.styles.js +20 -7
  187. package/lib/components/provider/provider.js +4 -2
  188. package/lib/components/provider/system_defaults/index.js +12 -0
  189. package/lib/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +11 -18
  190. package/lib/components/provider/system_defaults/system_defaults_provider.js +34 -0
  191. package/lib/components/resizable_container/resizable_button.styles.js +17 -10
  192. package/lib/components/resizable_container/resizable_collapse_button.styles.js +5 -1
  193. package/lib/components/resizable_container/resizable_panel.styles.js +3 -2
  194. package/lib/components/side_nav/side_nav_item.styles.js +2 -2
  195. package/lib/components/skeleton/skeleton_circle.styles.js +2 -0
  196. package/lib/components/skeleton/skeleton_rectangle.styles.js +9 -12
  197. package/lib/components/skeleton/skeleton_text.styles.js +1 -1
  198. package/lib/components/skeleton/skeleton_title.styles.js +1 -1
  199. package/lib/components/skeleton/utils.js +36 -8
  200. package/lib/components/steps/step.styles.js +10 -12
  201. package/lib/components/steps/step_horizontal.styles.js +6 -3
  202. package/lib/components/steps/step_number.js +5 -8
  203. package/lib/components/steps/step_number.styles.js +14 -15
  204. package/lib/components/steps/sub_steps.styles.js +3 -2
  205. package/lib/components/table/table_row.styles.js +3 -1
  206. package/lib/components/tabs/tab.styles.js +11 -3
  207. package/lib/components/tabs/tabs.styles.js +9 -2
  208. package/lib/components/text/text.styles.js +5 -2
  209. package/lib/components/text_truncate/text_truncate.styles.js +12 -8
  210. package/lib/components/timeline/timeline.styles.js +8 -5
  211. package/lib/components/toast/toast.styles.js +12 -6
  212. package/lib/components/tool_tip/tool_tip.styles.js +14 -5
  213. package/lib/global_styling/mixins/_color.js +4 -3
  214. package/lib/services/theme/context.js +2 -1
  215. package/lib/services/theme/hooks.js +3 -1
  216. package/lib/services/theme/index.js +6 -0
  217. package/lib/services/theme/provider.js +38 -6
  218. package/lib/themes/amsterdam/global_styling/mixins/button.js +27 -9
  219. package/lib/themes/amsterdam/global_styling/mixins/shadow.js +83 -61
  220. package/lib/themes/themes.js +2 -6
  221. package/optimize/es/components/avatar/avatar.styles.js +4 -3
  222. package/optimize/es/components/badge/beta_badge/beta_badge.styles.js +26 -14
  223. package/optimize/es/components/badge/notification_badge/badge_notification.styles.js +4 -5
  224. package/optimize/es/components/beacon/beacon.js +9 -1
  225. package/optimize/es/components/beacon/beacon.styles.js +2 -2
  226. package/optimize/es/components/bottom_bar/bottom_bar.styles.js +4 -3
  227. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +13 -2
  228. package/optimize/es/components/button/button_group/button_group.styles.js +8 -4
  229. package/optimize/es/components/button/button_group/button_group_button.styles.js +7 -5
  230. package/optimize/es/components/code/code_block.styles.js +4 -2
  231. package/optimize/es/components/code/code_block_annotations.style.js +3 -1
  232. package/optimize/es/components/code/code_block_line.styles.js +14 -5
  233. package/optimize/es/components/code/code_syntax.styles.js +13 -4
  234. package/optimize/es/components/color_picker/color_palette_display/color_palette_display.styles.js +4 -4
  235. package/optimize/es/components/color_picker/color_palette_display/color_palette_display_fixed.js +18 -10
  236. package/optimize/es/components/color_picker/color_palette_display/color_palette_display_gradient.js +9 -10
  237. package/optimize/es/components/color_picker/color_picker_swatch.js +8 -10
  238. package/optimize/es/components/color_picker/color_picker_swatch.styles.js +4 -3
  239. package/optimize/es/components/color_picker/hue.js +6 -1
  240. package/optimize/es/components/color_picker/hue.styles.js +7 -5
  241. package/optimize/es/components/color_picker/saturation.js +15 -7
  242. package/optimize/es/components/color_picker/saturation.styles.js +24 -5
  243. package/optimize/es/components/combo_box/combo_box.js +9 -6
  244. package/optimize/es/components/comment_list/comment_event.js +6 -3
  245. package/optimize/es/components/comment_list/comment_event.styles.js +16 -6
  246. package/optimize/es/components/datagrid/controls/column_selector.styles.js +3 -1
  247. package/optimize/es/components/datagrid/controls/column_sorting.styles.js +3 -1
  248. package/optimize/es/components/date_picker/date_picker.styles.js +3 -1
  249. package/optimize/es/components/date_picker/date_picker_range.styles.js +3 -1
  250. package/optimize/es/components/date_picker/react_date_picker.styles.js +3 -1
  251. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +3 -1
  252. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +11 -1
  253. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.styles.js +12 -5
  254. package/optimize/es/components/expression/expression.styles.js +3 -2
  255. package/optimize/es/components/filter_group/filter_button.styles.js +7 -7
  256. package/optimize/es/components/filter_group/filter_group.styles.js +3 -2
  257. package/optimize/es/components/filter_group/filter_select_item.styles.js +1 -1
  258. package/optimize/es/components/flyout/_flyout_close_button.styles.js +3 -1
  259. package/optimize/es/components/flyout/flyout.styles.js +3 -1
  260. package/optimize/es/components/form/file_picker/file_picker.styles.js +1 -1
  261. package/optimize/es/components/form/form.styles.js +54 -22
  262. package/optimize/es/components/form/form_control_layout/form_control_layout.styles.js +4 -3
  263. package/optimize/es/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  264. package/optimize/es/components/form/form_control_layout/form_control_layout_clear_button.styles.js +15 -4
  265. package/optimize/es/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  266. package/optimize/es/components/form/radio/radio.js +1 -1
  267. package/optimize/es/components/form/range/range.styles.js +5 -1
  268. package/optimize/es/components/form/range/range_highlight.styles.js +2 -1
  269. package/optimize/es/components/form/range/range_levels.js +21 -6
  270. package/optimize/es/components/form/range/range_levels.styles.js +2 -2
  271. package/optimize/es/components/form/range/range_thumb.styles.js +5 -1
  272. package/optimize/es/components/form/range/range_ticks.styles.js +2 -2
  273. package/optimize/es/components/form/range/range_tooltip.styles.js +11 -10
  274. package/optimize/es/components/form/range/range_track.styles.js +2 -1
  275. package/optimize/es/components/form/switch/switch.styles.js +43 -31
  276. package/optimize/es/components/horizontal_rule/horizontal_rule.styles.js +5 -2
  277. package/optimize/es/components/image/image.styles.js +3 -1
  278. package/optimize/es/components/image/image_button.styles.js +6 -2
  279. package/optimize/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  280. package/optimize/es/components/key_pad_menu/key_pad_menu_item.styles.js +10 -5
  281. package/optimize/es/components/loading/loading_chart.js +9 -4
  282. package/optimize/es/components/loading/loading_spinner.styles.js +24 -8
  283. package/optimize/es/components/mark/mark.styles.js +4 -8
  284. package/optimize/es/components/markdown_editor/markdown_format.styles.js +3 -4
  285. package/optimize/es/components/modal/modal.styles.js +5 -2
  286. package/optimize/es/components/page/page_header/page_header_content.js +2 -1
  287. package/optimize/es/components/page/page_header/page_header_content.styles.js +2 -1
  288. package/optimize/es/components/panel/panel.js +13 -4
  289. package/optimize/es/components/panel/panel.styles.js +4 -2
  290. package/optimize/es/components/panel/split_panel/split_panel.js +3 -1
  291. package/optimize/es/components/panel/split_panel/split_panel.styles.js +5 -9
  292. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +19 -8
  293. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +13 -6
  294. package/optimize/es/components/progress/progress.js +2 -2
  295. package/optimize/es/components/progress/progress.styles.js +20 -7
  296. package/optimize/es/components/provider/provider.js +4 -2
  297. package/optimize/es/components/provider/{system_color_mode → system_defaults}/index.js +1 -1
  298. package/optimize/es/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +10 -12
  299. package/optimize/es/components/provider/system_defaults/system_defaults_provider.js +23 -0
  300. package/optimize/es/components/resizable_container/resizable_button.styles.js +17 -10
  301. package/optimize/es/components/resizable_container/resizable_collapse_button.styles.js +5 -1
  302. package/optimize/es/components/resizable_container/resizable_panel.styles.js +3 -2
  303. package/optimize/es/components/side_nav/side_nav_item.styles.js +2 -2
  304. package/optimize/es/components/skeleton/skeleton_circle.styles.js +3 -1
  305. package/optimize/es/components/skeleton/skeleton_rectangle.styles.js +8 -13
  306. package/optimize/es/components/skeleton/skeleton_text.styles.js +2 -2
  307. package/optimize/es/components/skeleton/skeleton_title.styles.js +2 -2
  308. package/optimize/es/components/skeleton/utils.js +35 -7
  309. package/optimize/es/components/steps/step.styles.js +10 -12
  310. package/optimize/es/components/steps/step_horizontal.styles.js +7 -4
  311. package/optimize/es/components/steps/step_number.js +7 -10
  312. package/optimize/es/components/steps/step_number.styles.js +13 -14
  313. package/optimize/es/components/steps/sub_steps.styles.js +3 -2
  314. package/optimize/es/components/table/table_row.styles.js +3 -1
  315. package/optimize/es/components/tabs/tab.styles.js +11 -3
  316. package/optimize/es/components/tabs/tabs.styles.js +9 -2
  317. package/optimize/es/components/text/text.styles.js +6 -3
  318. package/optimize/es/components/text_truncate/text_truncate.styles.js +12 -8
  319. package/optimize/es/components/timeline/timeline.styles.js +8 -5
  320. package/optimize/es/components/toast/toast.styles.js +13 -7
  321. package/optimize/es/components/tool_tip/tool_tip.styles.js +14 -5
  322. package/optimize/es/global_styling/mixins/_color.js +4 -3
  323. package/optimize/es/services/theme/context.js +1 -0
  324. package/optimize/es/services/theme/hooks.js +4 -2
  325. package/optimize/es/services/theme/index.js +1 -1
  326. package/optimize/es/services/theme/provider.js +39 -7
  327. package/optimize/es/themes/amsterdam/global_styling/mixins/button.js +23 -8
  328. package/optimize/es/themes/amsterdam/global_styling/mixins/shadow.js +83 -61
  329. package/optimize/es/themes/themes.js +2 -6
  330. package/optimize/lib/components/avatar/avatar.styles.js +4 -3
  331. package/optimize/lib/components/badge/beta_badge/beta_badge.styles.js +25 -13
  332. package/optimize/lib/components/badge/notification_badge/badge_notification.styles.js +4 -5
  333. package/optimize/lib/components/beacon/beacon.js +9 -1
  334. package/optimize/lib/components/beacon/beacon.styles.js +2 -2
  335. package/optimize/lib/components/bottom_bar/bottom_bar.styles.js +3 -2
  336. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +13 -2
  337. package/optimize/lib/components/button/button_group/button_group.styles.js +7 -3
  338. package/optimize/lib/components/button/button_group/button_group_button.styles.js +7 -5
  339. package/optimize/lib/components/code/code_block.styles.js +4 -2
  340. package/optimize/lib/components/code/code_block_annotations.style.js +3 -1
  341. package/optimize/lib/components/code/code_block_line.styles.js +13 -4
  342. package/optimize/lib/components/code/code_syntax.styles.js +14 -5
  343. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display.styles.js +4 -4
  344. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display_fixed.js +21 -10
  345. package/optimize/lib/components/color_picker/color_palette_display/color_palette_display_gradient.js +9 -10
  346. package/optimize/lib/components/color_picker/color_picker_swatch.js +8 -10
  347. package/optimize/lib/components/color_picker/color_picker_swatch.styles.js +4 -3
  348. package/optimize/lib/components/color_picker/hue.js +6 -1
  349. package/optimize/lib/components/color_picker/hue.styles.js +6 -4
  350. package/optimize/lib/components/color_picker/saturation.js +15 -7
  351. package/optimize/lib/components/color_picker/saturation.styles.js +24 -7
  352. package/optimize/lib/components/combo_box/combo_box.js +9 -6
  353. package/optimize/lib/components/comment_list/comment_event.js +5 -2
  354. package/optimize/lib/components/comment_list/comment_event.styles.js +16 -6
  355. package/optimize/lib/components/datagrid/controls/column_selector.styles.js +3 -1
  356. package/optimize/lib/components/datagrid/controls/column_sorting.styles.js +3 -1
  357. package/optimize/lib/components/date_picker/date_picker.styles.js +3 -1
  358. package/optimize/lib/components/date_picker/date_picker_range.styles.js +3 -1
  359. package/optimize/lib/components/date_picker/react_date_picker.styles.js +3 -1
  360. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +3 -1
  361. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +11 -3
  362. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.styles.js +12 -5
  363. package/optimize/lib/components/expression/expression.styles.js +3 -2
  364. package/optimize/lib/components/filter_group/filter_button.styles.js +7 -7
  365. package/optimize/lib/components/filter_group/filter_group.styles.js +3 -2
  366. package/optimize/lib/components/filter_group/filter_select_item.styles.js +1 -1
  367. package/optimize/lib/components/flyout/_flyout_close_button.styles.js +3 -1
  368. package/optimize/lib/components/flyout/flyout.styles.js +3 -1
  369. package/optimize/lib/components/form/file_picker/file_picker.styles.js +1 -1
  370. package/optimize/lib/components/form/form.styles.js +54 -22
  371. package/optimize/lib/components/form/form_control_layout/form_control_layout.styles.js +4 -3
  372. package/optimize/lib/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  373. package/optimize/lib/components/form/form_control_layout/form_control_layout_clear_button.styles.js +15 -4
  374. package/optimize/lib/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  375. package/optimize/lib/components/form/radio/radio.js +1 -1
  376. package/optimize/lib/components/form/range/range.styles.js +5 -1
  377. package/optimize/lib/components/form/range/range_highlight.styles.js +2 -1
  378. package/optimize/lib/components/form/range/range_levels.js +21 -6
  379. package/optimize/lib/components/form/range/range_levels.styles.js +2 -2
  380. package/optimize/lib/components/form/range/range_thumb.styles.js +5 -1
  381. package/optimize/lib/components/form/range/range_ticks.styles.js +1 -1
  382. package/optimize/lib/components/form/range/range_tooltip.styles.js +9 -8
  383. package/optimize/lib/components/form/range/range_track.styles.js +2 -1
  384. package/optimize/lib/components/form/switch/switch.styles.js +43 -31
  385. package/optimize/lib/components/horizontal_rule/horizontal_rule.styles.js +5 -2
  386. package/optimize/lib/components/image/image.styles.js +3 -1
  387. package/optimize/lib/components/image/image_button.styles.js +6 -2
  388. package/optimize/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  389. package/optimize/lib/components/key_pad_menu/key_pad_menu_item.styles.js +10 -5
  390. package/optimize/lib/components/loading/loading_chart.js +9 -4
  391. package/optimize/lib/components/loading/loading_spinner.styles.js +24 -8
  392. package/optimize/lib/components/mark/mark.styles.js +4 -8
  393. package/optimize/lib/components/markdown_editor/markdown_format.styles.js +3 -4
  394. package/optimize/lib/components/modal/modal.styles.js +5 -2
  395. package/optimize/lib/components/page/page_header/page_header_content.js +2 -1
  396. package/optimize/lib/components/page/page_header/page_header_content.styles.js +2 -1
  397. package/optimize/lib/components/panel/panel.js +11 -2
  398. package/optimize/lib/components/panel/panel.styles.js +4 -2
  399. package/optimize/lib/components/panel/split_panel/split_panel.js +3 -1
  400. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +5 -9
  401. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +18 -7
  402. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +13 -6
  403. package/optimize/lib/components/progress/progress.js +2 -5
  404. package/optimize/lib/components/progress/progress.styles.js +20 -7
  405. package/optimize/lib/components/provider/provider.js +4 -2
  406. package/optimize/lib/components/provider/system_defaults/index.js +12 -0
  407. package/optimize/lib/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +11 -13
  408. package/optimize/lib/components/provider/system_defaults/system_defaults_provider.js +29 -0
  409. package/optimize/lib/components/resizable_container/resizable_button.styles.js +17 -10
  410. package/optimize/lib/components/resizable_container/resizable_collapse_button.styles.js +5 -1
  411. package/optimize/lib/components/resizable_container/resizable_panel.styles.js +3 -2
  412. package/optimize/lib/components/side_nav/side_nav_item.styles.js +2 -2
  413. package/optimize/lib/components/skeleton/skeleton_circle.styles.js +2 -0
  414. package/optimize/lib/components/skeleton/skeleton_rectangle.styles.js +9 -12
  415. package/optimize/lib/components/skeleton/skeleton_text.styles.js +1 -1
  416. package/optimize/lib/components/skeleton/skeleton_title.styles.js +1 -1
  417. package/optimize/lib/components/skeleton/utils.js +36 -8
  418. package/optimize/lib/components/steps/step.styles.js +10 -12
  419. package/optimize/lib/components/steps/step_horizontal.styles.js +6 -3
  420. package/optimize/lib/components/steps/step_number.js +5 -8
  421. package/optimize/lib/components/steps/step_number.styles.js +14 -15
  422. package/optimize/lib/components/steps/sub_steps.styles.js +3 -2
  423. package/optimize/lib/components/table/table_row.styles.js +3 -1
  424. package/optimize/lib/components/tabs/tab.styles.js +11 -3
  425. package/optimize/lib/components/tabs/tabs.styles.js +9 -2
  426. package/optimize/lib/components/text/text.styles.js +5 -2
  427. package/optimize/lib/components/text_truncate/text_truncate.styles.js +12 -8
  428. package/optimize/lib/components/timeline/timeline.styles.js +8 -5
  429. package/optimize/lib/components/toast/toast.styles.js +12 -6
  430. package/optimize/lib/components/tool_tip/tool_tip.styles.js +14 -5
  431. package/optimize/lib/global_styling/mixins/_color.js +4 -3
  432. package/optimize/lib/services/theme/context.js +2 -1
  433. package/optimize/lib/services/theme/hooks.js +3 -1
  434. package/optimize/lib/services/theme/index.js +6 -0
  435. package/optimize/lib/services/theme/provider.js +38 -6
  436. package/optimize/lib/themes/amsterdam/global_styling/mixins/button.js +23 -9
  437. package/optimize/lib/themes/amsterdam/global_styling/mixins/shadow.js +83 -61
  438. package/optimize/lib/themes/themes.js +2 -6
  439. package/package.json +3 -2
  440. package/test-env/components/avatar/avatar.styles.js +4 -3
  441. package/test-env/components/badge/beta_badge/beta_badge.styles.js +25 -13
  442. package/test-env/components/badge/notification_badge/badge_notification.styles.js +4 -5
  443. package/test-env/components/beacon/beacon.js +9 -1
  444. package/test-env/components/beacon/beacon.styles.js +2 -2
  445. package/test-env/components/bottom_bar/bottom_bar.styles.js +3 -2
  446. package/test-env/components/breadcrumbs/breadcrumb.styles.js +13 -2
  447. package/test-env/components/button/button_group/button_group.styles.js +7 -3
  448. package/test-env/components/button/button_group/button_group_button.styles.js +7 -5
  449. package/test-env/components/code/code_block.styles.js +4 -2
  450. package/test-env/components/code/code_block_annotations.style.js +3 -1
  451. package/test-env/components/code/code_block_line.styles.js +13 -4
  452. package/test-env/components/code/code_syntax.styles.js +14 -5
  453. package/test-env/components/color_picker/color_palette_display/color_palette_display.styles.js +4 -4
  454. package/test-env/components/color_picker/color_palette_display/color_palette_display_fixed.js +21 -10
  455. package/test-env/components/color_picker/color_palette_display/color_palette_display_gradient.js +9 -10
  456. package/test-env/components/color_picker/color_picker_swatch.js +8 -10
  457. package/test-env/components/color_picker/color_picker_swatch.styles.js +4 -3
  458. package/test-env/components/color_picker/hue.js +6 -1
  459. package/test-env/components/color_picker/hue.styles.js +6 -4
  460. package/test-env/components/color_picker/saturation.js +15 -7
  461. package/test-env/components/color_picker/saturation.styles.js +24 -7
  462. package/test-env/components/combo_box/combo_box.js +9 -6
  463. package/test-env/components/comment_list/comment_event.js +5 -2
  464. package/test-env/components/comment_list/comment_event.styles.js +16 -6
  465. package/test-env/components/datagrid/controls/column_selector.styles.js +3 -1
  466. package/test-env/components/datagrid/controls/column_sorting.styles.js +3 -1
  467. package/test-env/components/date_picker/date_picker.styles.js +3 -1
  468. package/test-env/components/date_picker/date_picker_range.styles.js +3 -1
  469. package/test-env/components/date_picker/react_date_picker.styles.js +3 -1
  470. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +3 -1
  471. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +11 -3
  472. package/test-env/components/date_picker/super_date_picker/super_date_picker.styles.js +12 -5
  473. package/test-env/components/expression/expression.styles.js +3 -2
  474. package/test-env/components/filter_group/filter_button.styles.js +7 -7
  475. package/test-env/components/filter_group/filter_group.styles.js +3 -2
  476. package/test-env/components/filter_group/filter_select_item.styles.js +1 -1
  477. package/test-env/components/flyout/_flyout_close_button.styles.js +3 -1
  478. package/test-env/components/flyout/flyout.styles.js +3 -1
  479. package/test-env/components/form/file_picker/file_picker.styles.js +1 -1
  480. package/test-env/components/form/form.styles.js +54 -22
  481. package/test-env/components/form/form_control_layout/form_control_layout.styles.js +4 -3
  482. package/test-env/components/form/form_control_layout/form_control_layout_clear_button.js +3 -2
  483. package/test-env/components/form/form_control_layout/form_control_layout_clear_button.styles.js +15 -4
  484. package/test-env/components/form/form_control_layout/form_control_layout_delimited.styles.js +1 -1
  485. package/test-env/components/form/radio/radio.js +1 -1
  486. package/test-env/components/form/range/range.styles.js +5 -1
  487. package/test-env/components/form/range/range_highlight.styles.js +2 -1
  488. package/test-env/components/form/range/range_levels.js +21 -6
  489. package/test-env/components/form/range/range_levels.styles.js +2 -2
  490. package/test-env/components/form/range/range_thumb.styles.js +5 -1
  491. package/test-env/components/form/range/range_ticks.styles.js +1 -1
  492. package/test-env/components/form/range/range_tooltip.styles.js +9 -8
  493. package/test-env/components/form/range/range_track.styles.js +2 -1
  494. package/test-env/components/form/switch/switch.styles.js +43 -31
  495. package/test-env/components/horizontal_rule/horizontal_rule.styles.js +5 -2
  496. package/test-env/components/image/image.styles.js +3 -1
  497. package/test-env/components/image/image_button.styles.js +6 -2
  498. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  499. package/test-env/components/key_pad_menu/key_pad_menu_item.styles.js +10 -5
  500. package/test-env/components/loading/loading_chart.js +9 -4
  501. package/test-env/components/loading/loading_spinner.styles.js +24 -8
  502. package/test-env/components/mark/mark.styles.js +4 -8
  503. package/test-env/components/markdown_editor/markdown_format.styles.js +3 -4
  504. package/test-env/components/modal/modal.styles.js +5 -2
  505. package/test-env/components/page/page_header/page_header_content.js +2 -1
  506. package/test-env/components/page/page_header/page_header_content.styles.js +2 -1
  507. package/test-env/components/panel/panel.js +11 -2
  508. package/test-env/components/panel/panel.styles.js +4 -2
  509. package/test-env/components/panel/split_panel/split_panel.js +3 -1
  510. package/test-env/components/panel/split_panel/split_panel.styles.js +5 -9
  511. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +18 -7
  512. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +13 -6
  513. package/test-env/components/progress/progress.js +2 -5
  514. package/test-env/components/progress/progress.styles.js +20 -7
  515. package/test-env/components/provider/provider.js +4 -2
  516. package/test-env/components/provider/system_defaults/index.js +12 -0
  517. package/test-env/components/provider/{system_color_mode/system_color_mode_provider.js → system_defaults/match_media_hook.js} +11 -17
  518. package/test-env/components/provider/system_defaults/system_defaults_provider.js +34 -0
  519. package/test-env/components/resizable_container/resizable_button.styles.js +17 -10
  520. package/test-env/components/resizable_container/resizable_collapse_button.styles.js +5 -1
  521. package/test-env/components/resizable_container/resizable_panel.styles.js +3 -2
  522. package/test-env/components/side_nav/side_nav_item.styles.js +2 -2
  523. package/test-env/components/skeleton/skeleton_circle.styles.js +2 -0
  524. package/test-env/components/skeleton/skeleton_rectangle.styles.js +9 -12
  525. package/test-env/components/skeleton/skeleton_text.styles.js +1 -1
  526. package/test-env/components/skeleton/skeleton_title.styles.js +1 -1
  527. package/test-env/components/skeleton/utils.js +36 -8
  528. package/test-env/components/steps/step.styles.js +10 -12
  529. package/test-env/components/steps/step_horizontal.styles.js +6 -3
  530. package/test-env/components/steps/step_number.js +5 -8
  531. package/test-env/components/steps/step_number.styles.js +14 -15
  532. package/test-env/components/steps/sub_steps.styles.js +3 -2
  533. package/test-env/components/table/table_row.styles.js +3 -1
  534. package/test-env/components/tabs/tab.styles.js +11 -3
  535. package/test-env/components/tabs/tabs.styles.js +9 -2
  536. package/test-env/components/text/text.styles.js +5 -2
  537. package/test-env/components/text_truncate/text_truncate.styles.js +12 -8
  538. package/test-env/components/timeline/timeline.styles.js +8 -5
  539. package/test-env/components/toast/toast.styles.js +12 -6
  540. package/test-env/components/tool_tip/tool_tip.styles.js +14 -5
  541. package/test-env/global_styling/mixins/_color.js +4 -3
  542. package/test-env/services/theme/context.js +2 -1
  543. package/test-env/services/theme/hooks.js +3 -1
  544. package/test-env/services/theme/index.js +6 -0
  545. package/test-env/services/theme/provider.js +38 -6
  546. package/test-env/themes/amsterdam/global_styling/mixins/button.js +23 -9
  547. package/test-env/themes/amsterdam/global_styling/mixins/shadow.js +83 -61
  548. package/test-env/themes/themes.js +2 -6
  549. package/lib/components/provider/system_color_mode/index.js +0 -12
  550. package/optimize/lib/components/provider/system_color_mode/index.js +0 -12
  551. package/test-env/components/provider/system_color_mode/index.js +0 -12
@@ -14,9 +14,9 @@ import React from 'react';
14
14
  import { EuiScreenReaderOnly } from '../accessibility';
15
15
  import { EuiIcon } from '../icon';
16
16
  import { EuiLoadingSpinner } from '../loading';
17
- import { useEuiTheme } from '../../services';
17
+ import { useEuiMemoizedStyles } from '../../services';
18
18
  import { useI18nCompleteStep, useI18nDisabledStep, useI18nErrorsStep, useI18nIncompleteStep, useI18nStep, useI18nWarningStep, useI18nLoadingStep, useI18nCurrentStep } from './step_strings';
19
- import { euiStepNumberStyles, euiStepNumberContentStyles } from './step_number.styles';
19
+ import { euiStepNumberStyles, euiStepNumberIconStyles } from './step_number.styles';
20
20
  import { jsx as ___EmotionJSX } from "@emotion/react";
21
21
  export var STATUS = ['incomplete', 'disabled', 'loading', 'warning', 'danger', 'complete', 'current'];
22
22
  export var EuiStepNumber = function EuiStepNumber(_ref) {
@@ -53,12 +53,11 @@ export var EuiStepNumber = function EuiStepNumber(_ref) {
53
53
  })
54
54
  };
55
55
  var classes = classNames('euiStepNumber', className);
56
- var euiTheme = useEuiTheme();
57
- var styles = euiStepNumberStyles(euiTheme);
56
+ var styles = useEuiMemoizedStyles(euiStepNumberStyles);
58
57
  var cssStyles = [styles.euiStepNumber, styles[titleSize], status && styles[status]];
59
- var contentStyles = euiStepNumberContentStyles(euiTheme);
60
58
  var content;
61
59
  var screenReaderText;
60
+ var iconStyles = useEuiMemoizedStyles(euiStepNumberIconStyles);
62
61
  switch (status) {
63
62
  // Loading spinner
64
63
  case 'loading':
@@ -81,10 +80,10 @@ export var EuiStepNumber = function EuiStepNumber(_ref) {
81
80
  case 'warning':
82
81
  case 'complete':
83
82
  {
84
- var cssIconStyles = [contentStyles.euiStepNumber__icon, contentStyles[status],
83
+ var cssIconStyles = [iconStyles.euiStepNumber__icon, iconStyles[status],
85
84
  // EuiIcon does not support a xxs size so far,
86
85
  // we use custom sizing here instead
87
- titleSize === 'none' && contentStyles[titleSize]];
86
+ titleSize === 'none' && iconStyles[titleSize]];
88
87
  var iconTypeMap = {
89
88
  danger: 'cross',
90
89
  warning: 'warning',
@@ -114,11 +113,9 @@ export var EuiStepNumber = function EuiStepNumber(_ref) {
114
113
  if (titleSize === 'none') {
115
114
  break;
116
115
  }
117
- var cssNumberStyles = [contentStyles.euiStepNumber__number, status && contentStyles[status]];
118
116
  content = ___EmotionJSX("span", {
119
117
  "aria-hidden": "true",
120
- className: "euiStepNumber__number",
121
- css: cssNumberStyles
118
+ className: "euiStepNumber__number"
122
119
  }, number);
123
120
  break;
124
121
  }
@@ -9,8 +9,8 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
9
9
 
10
10
  import { css } from '@emotion/react';
11
11
  import { mathWithUnits, logicalCSS, euiFontSizeFromScale, euiCanAnimate, euiAnimScale, logicalSizeCSS } from '../../global_styling';
12
- import { euiStepVariables } from './step.styles';
13
12
  import { euiButtonFillColor } from '../../themes/amsterdam/global_styling/mixins';
13
+ import { euiStepVariables } from './step.styles';
14
14
  var _ref = process.env.NODE_ENV === "production" ? {
15
15
  name: "76s2de-loading",
16
16
  styles: "background:transparent;label:loading;"
@@ -28,10 +28,12 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
28
28
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
29
29
  };
30
30
  export var euiStepNumberStyles = function euiStepNumberStyles(euiThemeContext) {
31
- var euiTheme = euiThemeContext.euiTheme;
31
+ var euiTheme = euiThemeContext.euiTheme,
32
+ highContrastMode = euiThemeContext.highContrastMode;
32
33
  var euiStep = euiStepVariables(euiTheme);
33
34
  var createStepsNumber = function createStepsNumber(size, fontSize) {
34
- return "\n display: inline-block;\n line-height: ".concat(size, ";\n border-radius: ").concat(size, ";\n ").concat(logicalCSS('width', size), ";\n ").concat(logicalCSS('height', size), ";\n text-align: center;\n color: ").concat(euiTheme.colors.emptyShade, ";\n background-color: ").concat(euiTheme.colors.primary, ";\n font-size: ").concat(fontSize, ";\n font-weight: ").concat(euiTheme.font.weight.medium, ";\n ");
35
+ var highContrastBorder = highContrastMode ? "border: ".concat(euiTheme.border.thin, ";") : '';
36
+ return "\n display: inline-flex;\n justify-content: center;\n align-items: center;\n ".concat(logicalCSS('width', size), ";\n ").concat(logicalCSS('height', size), ";\n font-size: ").concat(fontSize, ";\n font-weight: ").concat(euiTheme.font.weight.medium, ";\n text-align: center;\n color: ").concat(euiTheme.colors.emptyShade, ";\n background-color: ").concat(euiTheme.colors.primary, ";\n border-radius: 50%;\n ").concat(highContrastBorder, "\n ");
35
37
  };
36
38
  return {
37
39
  euiStepNumber: _ref2,
@@ -47,27 +49,24 @@ export var euiStepNumberStyles = function euiStepNumberStyles(euiThemeContext) {
47
49
  warning: /*#__PURE__*/css(euiButtonFillColor(euiThemeContext, 'warning'), " ", euiCanAnimate, "{animation:", euiAnimScale, " ", euiTheme.animation.fast, " ", euiTheme.animation.bounce, ";};label:warning;"),
48
50
  danger: /*#__PURE__*/css(euiButtonFillColor(euiThemeContext, 'danger'), " ", euiCanAnimate, "{animation:", euiAnimScale, " ", euiTheme.animation.fast, " ", euiTheme.animation.bounce, ";};label:danger;"),
49
51
  complete: /*#__PURE__*/css(euiButtonFillColor(euiThemeContext, 'success'), " ", euiCanAnimate, "{animation:", euiAnimScale, " ", euiTheme.animation.fast, " ", euiTheme.animation.bounce, ";};label:complete;"),
50
- current: /*#__PURE__*/css("border:", euiTheme.border.width.thick, " solid ", euiTheme.colors.body, ";box-shadow:0 0 0 ", euiTheme.border.width.thick, " ", euiTheme.colors.primary, ";;label:current;")
52
+ current: /*#__PURE__*/css("border:", euiTheme.border.width.thick, " solid ", euiTheme.colors.primary, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thick, " ", euiTheme.colors.body, ";transform:scale(1.15);", highContrastMode ? // Windows high contrast themes ignore box-shadow and background-color,
53
+ // so double the border width instead to make the selected state clearer
54
+ "@media (forced-colors: active) {\n border-width: ".concat(mathWithUnits(euiTheme.border.width.thick, function (x) {
55
+ return x * 2;
56
+ }), ";\n }") : '', ";;label:current;")
51
57
  };
52
58
  };
53
- export var euiStepNumberContentStyles = function euiStepNumberContentStyles(_ref3) {
59
+ export var euiStepNumberIconStyles = function euiStepNumberIconStyles(_ref3) {
54
60
  var euiTheme = _ref3.euiTheme;
55
61
  return {
56
- // Statuses with icon content
57
- euiStepNumber__icon: /*#__PURE__*/css("vertical-align:middle;position:relative;inset-block-start:-", euiTheme.border.width.thin, ";;label:euiStepNumber__icon;"),
62
+ euiStepNumber__icon: /*#__PURE__*/css(";label:euiStepNumber__icon;"),
58
63
  complete: /*#__PURE__*/css("stroke:currentColor;stroke-width:", mathWithUnits(euiTheme.border.width.thin, function (x) {
59
64
  return x / 2;
60
65
  }), ";;label:complete;"),
61
66
  danger: /*#__PURE__*/css("stroke:currentColor;stroke-width:", mathWithUnits(euiTheme.border.width.thin, function (x) {
62
67
  return x / 2;
63
68
  }), ";;label:danger;"),
64
- warning: /*#__PURE__*/css("inset-block-start:-", euiTheme.border.width.thick, ";;label:warning;"),
65
- // Statuses with number content
66
- euiStepNumber__number: /*#__PURE__*/css(";label:euiStepNumber__number;"),
67
- incomplete: /*#__PURE__*/css("display:unset;position:relative;inset-block-start:-", euiTheme.border.width.thick, ";;label:incomplete;"),
68
- loading: /*#__PURE__*/css(";label:loading;"),
69
- disabled: /*#__PURE__*/css(";label:disabled;"),
70
- current: /*#__PURE__*/css("display:inline-block;transform:translateY(-", euiTheme.border.width.thick, ");;label:current;"),
69
+ warning: /*#__PURE__*/css("margin-block-start:-", euiTheme.border.width.thick, ";;label:warning;"),
71
70
  none: /*#__PURE__*/css(logicalSizeCSS(euiTheme.size.s), ";label:none;")
72
71
  };
73
72
  };
@@ -8,8 +8,9 @@
8
8
 
9
9
  import { css } from '@emotion/react';
10
10
  export var euiSubStepsStyles = function euiSubStepsStyles(_ref) {
11
- var euiTheme = _ref.euiTheme;
11
+ var euiTheme = _ref.euiTheme,
12
+ highContrastMode = _ref.highContrastMode;
12
13
  return {
13
- euiSubSteps: /*#__PURE__*/css("padding:", euiTheme.size.base, ";background-color:", euiTheme.colors.lightestShade, ";margin-block-end:", euiTheme.size.base, ";>*:last-child{margin-block-end:0;}& ol,.euiText & ol{list-style-type:lower-alpha;};label:euiSubSteps;")
14
+ euiSubSteps: /*#__PURE__*/css("padding:", euiTheme.size.base, ";background-color:", euiTheme.colors.lightestShade, ";", highContrastMode ? "border: ".concat(euiTheme.border.thin, ";") : '', " margin-block-end:", euiTheme.size.base, ";>*:last-child{margin-block-end:0;}& ol,.euiText & ol{list-style-type:lower-alpha;};label:euiSubSteps;")
14
15
  };
15
16
  };
@@ -33,7 +33,9 @@ export var euiTableRowStyles = function euiTableRowStyles(euiThemeContext) {
33
33
  checkboxOffset: /*#__PURE__*/css("&>.euiTableRowCell:first-child{", logicalCSS('padding-left', checkboxSize), ";};label:checkboxOffset;")
34
34
  },
35
35
  mobile: {
36
- mobile: /*#__PURE__*/css("position:relative;display:flex;flex-wrap:wrap;padding:", cellContentPadding, ";", logicalCSS('margin-bottom', cellContentPadding), euiShadow(euiThemeContext, 's'), " background-color:", euiBackgroundColor(euiThemeContext, 'plain'), ";border-radius:", euiTheme.border.radius.medium, ";;label:mobile;"),
36
+ mobile: /*#__PURE__*/css("position:relative;display:flex;flex-wrap:wrap;padding:", cellContentPadding, ";", logicalCSS('margin-bottom', cellContentPadding), euiShadow(euiThemeContext, 's', {
37
+ borderAllInHighContrastMode: true
38
+ }), " background-color:", euiBackgroundColor(euiThemeContext, 'plain'), ";border-radius:", euiTheme.border.radius.medium, ";;label:mobile;"),
37
39
  selected: /*#__PURE__*/css("&,&+.euiTableRow-isExpandedRow{background-color:", rowColors.selected.color, ";};label:selected;"),
38
40
  /**
39
41
  * Left column offset (no border)
@@ -18,15 +18,23 @@ var _ref = process.env.NODE_ENV === "production" ? {
18
18
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
19
19
  };
20
20
  export var euiTabStyles = function euiTabStyles(_ref2) {
21
- var euiTheme = _ref2.euiTheme;
21
+ var euiTheme = _ref2.euiTheme,
22
+ highContrastMode = _ref2.highContrastMode;
23
+ var _selectedBorder = function _selectedBorder(color) {
24
+ var borderWidth = euiTheme.border.width.thick;
25
+ return !highContrastMode ? // By default, styles use an inset box shadow to not increase/affect height
26
+ "box-shadow: inset 0 -".concat(borderWidth, " 0 ").concat(color, ";") :
27
+ // However, Windows high contrast themes ignores box-shadow and only respects border-bottom
28
+ logicalCSS('border-bottom', "".concat(borderWidth, " solid ").concat(color));
29
+ };
22
30
  return {
23
31
  euiTab: /*#__PURE__*/css("display:flex;cursor:pointer;flex-direction:row;align-items:center;gap:", euiTheme.size.s, ";", logicalCSS('padding-vertical', 0), " ", logicalCSS('padding-horizontal', euiTheme.size.xs), "font-weight:", euiTheme.font.weight.semiBold, ";color:", euiTheme.colors.title, ";&:focus{outline-offset:-", euiTheme.focus.width, ";};label:euiTab;"),
24
32
  // variations
25
33
  expanded: _ref,
26
- selected: /*#__PURE__*/css("box-shadow:inset 0 -", euiTheme.border.width.thick, " 0 ", euiTheme.colors.primary, ";color:", euiTheme.colors.primaryText, ";;label:selected;"),
34
+ selected: /*#__PURE__*/css("color:", euiTheme.colors.primaryText, ";", _selectedBorder(euiTheme.colors.primary), ";;label:selected;"),
27
35
  disabled: {
28
36
  disabled: /*#__PURE__*/css("cursor:not-allowed;color:", euiTheme.colors.disabledText, ";;label:disabled;"),
29
- selected: /*#__PURE__*/css("box-shadow:inset 0 -", euiTheme.border.width.thick, " 0 ", euiTheme.colors.disabledText, ";;label:selected;")
37
+ selected: /*#__PURE__*/css(_selectedBorder(euiTheme.colors.disabledText), ";;label:selected;")
30
38
  }
31
39
  };
32
40
  };
@@ -9,10 +9,17 @@
9
9
  import { css } from '@emotion/react';
10
10
  import { logicalCSS, logicalCSSWithFallback } from '../../global_styling';
11
11
  export var euiTabsStyles = function euiTabsStyles(euiThemeContext) {
12
- var euiTheme = euiThemeContext.euiTheme;
12
+ var euiTheme = euiThemeContext.euiTheme,
13
+ highContrastMode = euiThemeContext.highContrastMode;
13
14
  return {
14
15
  euiTabs: /*#__PURE__*/css("display:flex;", logicalCSS('max-width', '100%'), " ", logicalCSSWithFallback('overflow-x', 'auto'), " ", logicalCSSWithFallback('overflow-y', 'hidden'), " position:relative;flex-shrink:0;;label:euiTabs;"),
15
- bottomBorder: /*#__PURE__*/css("box-shadow:inset 0 -", euiTheme.border.width.thin, " 0 ", euiTheme.border.color, ";;label:bottomBorder;"),
16
+ bottomBorder: !highContrastMode ?
17
+ /*#__PURE__*/
18
+ // By default, uses an inset box shadow to not increase/affect height
19
+ css("box-shadow:inset 0 -", euiTheme.border.width.thin, " 0 ", euiTheme.border.color, ";;label:bottomBorder;") :
20
+ /*#__PURE__*/
21
+ // However, Windows high contrast themes ignores box-shadow and only respects border-bottom
22
+ css(logicalCSS('border-bottom', euiTheme.border.thin), ";label:bottomBorder;"),
16
23
  // sizes
17
24
  s: /*#__PURE__*/css("gap:", euiTheme.size.m, ";;label:s;"),
18
25
  m: /*#__PURE__*/css("gap:", euiTheme.size.base, ";;label:m;"),
@@ -7,9 +7,10 @@
7
7
  */
8
8
 
9
9
  import { css } from '@emotion/react';
10
- import { logicalCSS, logicalShorthandCSS, logicalTextAlignCSS, euiFontSize, euiBackgroundColor, mathWithUnits } from '../../global_styling';
10
+ import { logicalCSS, logicalShorthandCSS, logicalTextAlignCSS, euiFontSize, mathWithUnits } from '../../global_styling';
11
11
  import { euiLinkCSS } from '../link/link.styles';
12
12
  import { euiTitle } from '../title/title.styles';
13
+ import { euiCodeTextColors } from '../code/code_syntax.styles';
13
14
 
14
15
  /**
15
16
  * TODO: Make this a global value so it can be set by theme?
@@ -63,9 +64,11 @@ var euiScaleText = function euiScaleText(euiThemeContext, options) {
63
64
  * Styles
64
65
  */
65
66
  export var euiTextStyles = function euiTextStyles(euiThemeContext) {
66
- var euiTheme = euiThemeContext.euiTheme;
67
+ var euiTheme = euiThemeContext.euiTheme,
68
+ highContrastMode = euiThemeContext.highContrastMode;
69
+ var codeColors = euiCodeTextColors(euiThemeContext);
67
70
  return {
68
- euiText: /*#__PURE__*/css(euiText(euiTheme, true), "clear:both;a:not([class]){", euiLinkCSS(euiThemeContext), ";}ul{list-style:disc;}ol{list-style:decimal;}blockquote{border-inline-start-color:", euiTheme.border.color, ";border-inline-start-style:solid;}blockquote:not(.euiMarkdownFormat__blockquote){color:", euiTheme.colors.subduedText, ";}h1{", euiTitle(euiThemeContext, 'l'), ";}h2{", euiTitle(euiThemeContext, 'm'), ";}h3{", euiTitle(euiThemeContext, 's'), ";}h4,dt{", euiTitle(euiThemeContext, 'xs'), ";}h5{", euiTitle(euiThemeContext, 'xxs'), ";}h6{", euiTitle(euiThemeContext, 'xxxs'), " text-transform:uppercase;}h1,h2,h3,h4,h5,h6,dt{color:inherit;}pre:not(.euiCodeBlock__pre){white-space:pre-wrap;background:", euiBackgroundColor(euiThemeContext, 'subdued'), ";color:", euiTheme.colors.text, ";}pre:not(.euiCodeBlock__pre),pre:not(.euiCodeBlock__pre) code{display:block;}>:last-child{", logicalCSS('margin-bottom', '0 !important'), ";}kbd{position:relative;display:inline-block;", logicalCSS('padding-vertical', euiTheme.size.xxs), " ", logicalCSS('padding-horizontal', euiTheme.size.xs), " line-height:1;border:", euiTheme.border.width.thin, " solid ", euiTheme.colors.text, ";border-radius:", mathWithUnits(euiTheme.border.radius.small, function (x) {
71
+ euiText: /*#__PURE__*/css(euiText(euiTheme, true), "clear:both;a:not([class]){", euiLinkCSS(euiThemeContext), ";}ul{list-style:disc;}ol{list-style:decimal;}blockquote{border-inline-start-color:", euiTheme.border.color, ";border-inline-start-style:solid;}blockquote:not(.euiMarkdownFormat__blockquote){color:", euiTheme.colors.subduedText, ";}h1{", euiTitle(euiThemeContext, 'l'), ";}h2{", euiTitle(euiThemeContext, 'm'), ";}h3{", euiTitle(euiThemeContext, 's'), ";}h4,dt{", euiTitle(euiThemeContext, 'xs'), ";}h5{", euiTitle(euiThemeContext, 'xxs'), ";}h6{", euiTitle(euiThemeContext, 'xxxs'), " text-transform:uppercase;}h1,h2,h3,h4,h5,h6,dt{color:inherit;}pre:not(.euiCodeBlock__pre){white-space:pre-wrap;background-color:", codeColors.backgroundColor, ";color:", codeColors.color, ";", highContrastMode ? "border: ".concat(euiTheme.border.thin) : '', ";}pre:not(.euiCodeBlock__pre),pre:not(.euiCodeBlock__pre) code{display:block;}>:last-child{", logicalCSS('margin-bottom', '0 !important'), ";}kbd{position:relative;display:inline-block;vertical-align:bottom;overflow:hidden;", logicalCSS('padding-vertical', euiTheme.size.xxs), " ", logicalCSS('padding-horizontal', euiTheme.size.xs), " line-height:1;border:", euiTheme.border.width.thin, " solid ", euiTheme.colors.text, ";border-radius:", mathWithUnits(euiTheme.border.radius.small, function (x) {
69
72
  return x / 2;
70
73
  }), ";};label:euiText;"),
71
74
  constrainedWidth: /*#__PURE__*/css(logicalCSS('max-width', euiTextConstrainedMaxWidth), ";;label:constrainedWidth;"),
@@ -26,24 +26,28 @@ export var euiTextTruncateStyles = {
26
26
  * cross-browser issues with this at some point. Hopefully CSS natively implements
27
27
  * custom text truncation some day (https://github.com/w3c/csswg-drafts/issues/3937)
28
28
  * and there'll be no need for the entire component at that point 🙏
29
+ *
30
+ * 2024 update: We have found an issue! Windows high contrast themes force overrides
31
+ * `color` and therefore "breaks" the rgba hack. We can skip this UX (via the
32
+ * forced-colors media query) for those modes for now.
29
33
  */
30
34
  // Makes the truncated text unselectable/un-clickable
31
35
  euiTextTruncate__truncatedText: process.env.NODE_ENV === "production" ? {
32
- name: "1sjxkb1-euiTextTruncate__truncatedText",
33
- styles: "user-select:none;pointer-events:none;label:euiTextTruncate__truncatedText;"
36
+ name: "12qrcqf-euiTextTruncate__truncatedText",
37
+ styles: "@media (forced-colors: none){user-select:none;pointer-events:none;};label:euiTextTruncate__truncatedText;"
34
38
  } : {
35
- name: "1sjxkb1-euiTextTruncate__truncatedText",
36
- styles: "user-select:none;pointer-events:none;label:euiTextTruncate__truncatedText;",
39
+ name: "12qrcqf-euiTextTruncate__truncatedText",
40
+ styles: "@media (forced-colors: none){user-select:none;pointer-events:none;};label:euiTextTruncate__truncatedText;",
37
41
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
38
42
  },
39
43
  // Positions the full text on top of the truncated text (so that clicking targets it)
40
44
  // and gives it a color opacity of 0 so that it's not actually visible
41
45
  euiTextTruncate__fullText: process.env.NODE_ENV === "production" ? {
42
- name: "19c9gqi-euiTextTruncate__fullText",
43
- styles: "position:absolute;inset:0;overflow:hidden;color:rgba(0, 0, 0, 0);@supports (-webkit-hyphens: none){text-overflow:ellipsis;};label:euiTextTruncate__fullText;"
46
+ name: "lnk46o-euiTextTruncate__fullText",
47
+ styles: "position:absolute;inset:0;overflow:hidden;color:rgba(0, 0, 0, 0);@supports (-webkit-hyphens: none){text-overflow:ellipsis;}@media (forced-colors: active){display:none;};label:euiTextTruncate__fullText;"
44
48
  } : {
45
- name: "19c9gqi-euiTextTruncate__fullText",
46
- styles: "position:absolute;inset:0;overflow:hidden;color:rgba(0, 0, 0, 0);@supports (-webkit-hyphens: none){text-overflow:ellipsis;};label:euiTextTruncate__fullText;",
49
+ name: "lnk46o-euiTextTruncate__fullText",
50
+ styles: "position:absolute;inset:0;overflow:hidden;color:rgba(0, 0, 0, 0);@supports (-webkit-hyphens: none){text-overflow:ellipsis;}@media (forced-colors: active){display:none;};label:euiTextTruncate__fullText;",
47
51
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
48
52
  }
49
53
  };
@@ -14,13 +14,16 @@ var _gutterSizeAdjustment = function _gutterSizeAdjustment(gutterSize) {
14
14
 
15
15
  // The vertical line should only appear when the EuiTimelineItem's
16
16
  // are wrapped in a EuiTimeline. That's why these styles live here.
17
- var timelineVerticalLine = function timelineVerticalLine(euiTheme) {
18
- return " \n [class*='euiTimelineItem-'] > [class*='euiTimelineItemIcon-']::before {\n content: '';\n position: absolute;\n ".concat(logicalCSS('top', 0), ";\n ").concat(logicalCSS('width', euiTheme.size.xxs), ";\n background-color: ").concat(euiTheme.colors.lightShade, ";\n }\n\n > [class*='euiTimelineItem-center']:first-child > [class*='euiTimelineItemIcon-']::before {\n ").concat(logicalCSS('top', '50%'), ";\n }\n \n > [class*='euiTimelineItem-center']:last-child:not(:only-child) > [class*='euiTimelineItemIcon-']::before {\n ").concat(logicalCSS('height', '50%'), ";\n }\n ");
17
+ var timelineVerticalLine = function timelineVerticalLine(_ref) {
18
+ var euiTheme = _ref.euiTheme,
19
+ highContrastMode = _ref.highContrastMode;
20
+ var highContrastBorder = highContrastMode ? "\n [class*=\"euiTimelineItemIcon__content\"] > * {\n border: ".concat(euiTheme.border.thin, ";\n }") : '';
21
+ return " \n [class*='euiTimelineItem-'] > [class*='euiTimelineItemIcon-']::before {\n content: '';\n position: absolute;\n ".concat(logicalCSS('top', 0), ";\n ").concat(logicalCSS('width', euiTheme.size.xxs), ";\n background-color: ").concat(euiTheme.border.color, ";\n }\n\n > [class*='euiTimelineItem-center']:first-child > [class*='euiTimelineItemIcon-']::before {\n ").concat(logicalCSS('top', '50%'), ";\n }\n \n > [class*='euiTimelineItem-center']:last-child:not(:only-child) > [class*='euiTimelineItemIcon-']::before {\n ").concat(logicalCSS('height', '50%'), ";\n }\n\n ").concat(highContrastBorder, "\n ");
19
22
  };
20
- export var euiTimelineStyles = function euiTimelineStyles(_ref) {
21
- var euiTheme = _ref.euiTheme;
23
+ export var euiTimelineStyles = function euiTimelineStyles(euiThemeContext) {
24
+ var euiTheme = euiThemeContext.euiTheme;
22
25
  return {
23
- euiTimeline: /*#__PURE__*/css("display:flex;flex-direction:column;", timelineVerticalLine(euiTheme), ";;label:euiTimeline;"),
26
+ euiTimeline: /*#__PURE__*/css("display:flex;flex-direction:column;", timelineVerticalLine(euiThemeContext), ";;label:euiTimeline;"),
24
27
  m: /*#__PURE__*/css(_gutterSizeAdjustment(euiTheme.size.base), ";label:m;"),
25
28
  l: /*#__PURE__*/css(_gutterSizeAdjustment(euiTheme.size.l), ";label:l;"),
26
29
  xl: /*#__PURE__*/css(_gutterSizeAdjustment(euiTheme.size.xl), ";label:xl;")
@@ -7,21 +7,27 @@
7
7
  */
8
8
 
9
9
  import { css } from '@emotion/react';
10
- import { euiTextBreakWord, logicalCSS } from '../../global_styling';
10
+ import { euiTextBreakWord, logicalCSS, mathWithUnits } from '../../global_styling';
11
11
  import { euiShadowLarge } from '../../themes/amsterdam';
12
12
  import { euiTitle } from '../title/title.styles';
13
13
  export var euiToastStyles = function euiToastStyles(euiThemeContext) {
14
- var euiTheme = euiThemeContext.euiTheme;
14
+ var euiTheme = euiThemeContext.euiTheme,
15
+ highContrastMode = euiThemeContext.highContrastMode;
16
+ var borderWidth = highContrastMode ? mathWithUnits(euiTheme.border.width.thick, function (x) {
17
+ return x * 2;
18
+ }) : euiTheme.border.width.thick;
15
19
  return {
16
20
  // Base
17
- euiToast: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";", euiShadowLarge(euiThemeContext), " position:relative;", logicalCSS('padding-horizontal', euiTheme.size.base), " ", logicalCSS('padding-vertical', euiTheme.size.base), " background-color:", euiTheme.colors.emptyShade, ";", logicalCSS('width', '100%'), " ", euiTextBreakWord(), "&:hover,&:focus{[class*='euiToast__closeButton']{opacity:1;}};label:euiToast;"),
21
+ euiToast: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";", euiShadowLarge(euiThemeContext, {
22
+ borderAllInHighContrastMode: true
23
+ }), " position:relative;", logicalCSS('padding-horizontal', euiTheme.size.base), " ", logicalCSS('padding-vertical', euiTheme.size.base), " background-color:", euiTheme.colors.emptyShade, ";", logicalCSS('width', '100%'), " ", euiTextBreakWord(), "&:hover,&:focus{[class*='euiToast__closeButton']{opacity:1;}};label:euiToast;"),
18
24
  // Elements
19
25
  euiToast__closeButton: /*#__PURE__*/css("position:absolute;", logicalCSS('top', euiTheme.size.base), " ", logicalCSS('right', euiTheme.size.base), ";;label:euiToast__closeButton;"),
20
26
  // Variants
21
- primary: /*#__PURE__*/css(logicalCSS('border-top', "2px solid ".concat(euiTheme.colors.primary)), ";;label:primary;"),
22
- success: /*#__PURE__*/css(logicalCSS('border-top', "2px solid ".concat(euiTheme.colors.success)), ";;label:success;"),
23
- warning: /*#__PURE__*/css(logicalCSS('border-top', "2px solid ".concat(euiTheme.colors.warning)), ";;label:warning;"),
24
- danger: /*#__PURE__*/css(logicalCSS('border-top', "2px solid ".concat(euiTheme.colors.danger)), ";;label:danger;")
27
+ primary: /*#__PURE__*/css(logicalCSS('border-top', "".concat(borderWidth, " solid ").concat(euiTheme.colors.primary)), ";;label:primary;"),
28
+ success: /*#__PURE__*/css(logicalCSS('border-top', "".concat(borderWidth, " solid ").concat(euiTheme.colors.success)), ";;label:success;"),
29
+ warning: /*#__PURE__*/css(logicalCSS('border-top', "".concat(borderWidth, " solid ").concat(euiTheme.colors.warning)), ";;label:warning;"),
30
+ danger: /*#__PURE__*/css(logicalCSS('border-top', "".concat(borderWidth, " solid ").concat(euiTheme.colors.danger)), ";;label:danger;")
25
31
  };
26
32
  };
27
33
  export var euiToastHeaderStyles = function euiToastHeaderStyles(euiThemeContext) {
@@ -39,7 +39,9 @@ export var euiToolTipStyles = function euiToolTipStyles(euiThemeContext) {
39
39
  });
40
40
  return {
41
41
  // Base
42
- euiToolTip: /*#__PURE__*/css(euiShadow(euiThemeContext), " border-radius:", euiTheme.border.radius.medium, ";background-color:", euiToolTipBackgroundColor(euiTheme, colorMode), ";color:", euiTheme.colors.ghost, ";z-index:", euiTheme.levels.toast, ";", logicalCSS('max-width', '256px'), " overflow-wrap:break-word;padding:", euiTheme.size.s, ";", euiFontSize(euiThemeContext, 's'), " position:absolute;[class*='euiHorizontalRule']{background-color:", euiToolTipBorderColor(euiTheme, colorMode), ";};label:euiToolTip;"),
42
+ euiToolTip: /*#__PURE__*/css(euiShadow(euiThemeContext, undefined, {
43
+ borderAllInHighContrastMode: true
44
+ }), " border-radius:", euiTheme.border.radius.medium, ";background-color:", euiToolTipBackgroundColor(euiTheme, colorMode), ";color:", euiTheme.colors.ghost, ";z-index:", euiTheme.levels.toast, ";", logicalCSS('max-width', '256px'), " overflow-wrap:break-word;padding:", euiTheme.size.s, ";", euiFontSize(euiThemeContext, 's'), " position:absolute;[class*='euiHorizontalRule']{background-color:", euiToolTipBorderColor(euiTheme, colorMode), ";};label:euiToolTip;"),
43
45
  // Sizes
44
46
  s: /*#__PURE__*/css(euiFontSize(euiThemeContext, 'xs'), ";;label:s;"),
45
47
  // Positions
@@ -52,15 +54,22 @@ export var euiToolTipStyles = function euiToolTipStyles(euiThemeContext) {
52
54
  return x / 2;
53
55
  }), ";background-color:", euiToolTipBackgroundColor(euiTheme, colorMode), ";", logicalSizeCSS(arrowSize, arrowSize), ";;label:euiToolTip__arrow;"),
54
56
  arrowPositions: {
55
- top: /*#__PURE__*/css("transform:translateY(", arrowPlusSize, ") rotateZ(45deg);;label:top;"),
56
- bottom: /*#__PURE__*/css("transform:translateY(", arrowMinusSize, ") rotateZ(45deg);;label:bottom;"),
57
- left: /*#__PURE__*/css("transform:translateX(", arrowPlusSize, ") rotateZ(45deg);;label:left;"),
58
- right: /*#__PURE__*/css("transform:translateX(", arrowMinusSize, ") rotateZ(45deg);;label:right;")
57
+ top: /*#__PURE__*/css("transform:translateY(", arrowPlusSize, ") rotateZ(45deg);", _highContrastArrowBorder(euiThemeContext, ['bottom', 'right']), ";;label:top;"),
58
+ bottom: /*#__PURE__*/css("transform:translateY(", arrowMinusSize, ") rotateZ(45deg);", _highContrastArrowBorder(euiThemeContext, ['top', 'left']), ";;label:bottom;"),
59
+ left: /*#__PURE__*/css("transform:translateX(", arrowPlusSize, ") rotateZ(45deg);", _highContrastArrowBorder(euiThemeContext, ['top', 'right']), ";;label:left;"),
60
+ right: /*#__PURE__*/css("transform:translateX(", arrowMinusSize, ") rotateZ(45deg);", _highContrastArrowBorder(euiThemeContext, ['bottom', 'left']), ";;label:right;")
59
61
  },
60
62
  // Title
61
63
  euiToolTip__title: /*#__PURE__*/css("font-weight:", euiTheme.font.weight.bold, ";", logicalCSS('border-bottom', "solid ".concat(euiTheme.border.width.thin, " ").concat(euiToolTipBorderColor(euiTheme, colorMode))), " ", logicalCSS('padding-bottom', euiTheme.size.xs), " ", logicalCSS('margin-bottom', euiTheme.size.xs), ";;label:euiToolTip__title;")
62
64
  };
63
65
  };
66
+ var _highContrastArrowBorder = function _highContrastArrowBorder(_ref4, sides) {
67
+ var euiTheme = _ref4.euiTheme,
68
+ highContrastMode = _ref4.highContrastMode;
69
+ return highContrastMode ? sides.map(function (side) {
70
+ return logicalCSS("border-".concat(side), euiTheme.border.thin);
71
+ }).join('\n') : '';
72
+ };
64
73
  var _ref = process.env.NODE_ENV === "production" ? {
65
74
  name: "fzilnk-inlineBlock",
66
75
  styles: "display:inline-block;label:inlineBlock;"
@@ -90,16 +90,17 @@ export var useEuiBackgroundColorCSS = function useEuiBackgroundColorCSS() {
90
90
 
91
91
  export var euiBorderColor = function euiBorderColor(_ref4, color) {
92
92
  var euiTheme = _ref4.euiTheme,
93
- colorMode = _ref4.colorMode;
93
+ colorMode = _ref4.colorMode,
94
+ highContrastMode = _ref4.highContrastMode;
94
95
  switch (color) {
95
96
  case 'transparent':
96
97
  case 'plain':
97
98
  case 'subdued':
98
99
  return euiTheme.border.color;
99
100
  case 'warning':
100
- return tintOrShade(euiTheme.colors.warning, 0.4, colorMode);
101
+ return tintOrShade(euiTheme.colors.warning, highContrastMode ? 0 : 0.4, colorMode);
101
102
  default:
102
- return tintOrShade(euiTheme.colors[color], 0.6, colorMode);
103
+ return tintOrShade(euiTheme.colors[color], highContrastMode ? 0 : 0.6, colorMode);
103
104
  }
104
105
  };
105
106
 
@@ -12,6 +12,7 @@ import { DEFAULT_COLOR_MODE, getComputed } from './utils';
12
12
  export var EuiSystemContext = /*#__PURE__*/createContext(EuiThemeAmsterdam);
13
13
  export var EuiModificationsContext = /*#__PURE__*/createContext({});
14
14
  export var EuiColorModeContext = /*#__PURE__*/createContext(DEFAULT_COLOR_MODE);
15
+ export var EuiHighContrastModeContext = /*#__PURE__*/createContext(false);
15
16
  export var defaultComputedTheme = getComputed(EuiThemeAmsterdam, {}, DEFAULT_COLOR_MODE);
16
17
  export var EuiThemeContext = /*#__PURE__*/createContext(defaultComputedTheme);
17
18
  export var EuiNestedThemeContext = /*#__PURE__*/createContext({
@@ -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,7 +22,7 @@ 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 } from './context';
26
26
  import { EuiEmotionThemeProvider } from './emotion';
27
27
  import { EuiThemeMemoizedStylesProvider } from './style_memoization';
28
28
  import { buildTheme, getColorMode, getComputed, mergeDeep } from './utils';
@@ -30,6 +30,7 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
30
30
  export var EuiThemeProvider = function EuiThemeProvider(_ref) {
31
31
  var _system = _ref.theme,
32
32
  _colorMode = _ref.colorMode,
33
+ _highContrastMode = _ref.highContrastMode,
33
34
  _modifications = _ref.modify,
34
35
  children = _ref.children,
35
36
  wrapperProps = _ref.wrapperProps;
@@ -41,6 +42,7 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
41
42
  var parentSystem = useContext(EuiSystemContext);
42
43
  var parentModifications = useContext(EuiModificationsContext);
43
44
  var parentColorMode = useContext(EuiColorModeContext);
45
+ var parentHighContrastMode = useContext(EuiHighContrastModeContext);
44
46
  var parentTheme = useContext(EuiThemeContext);
45
47
  var _useState = useState(_system || parentSystem),
46
48
  _useState2 = _slicedToArray(_useState, 2),
@@ -64,9 +66,35 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
64
66
  colorMode = _useState6[0],
65
67
  setColorMode = _useState6[1];
66
68
  var prevColorMode = useRef(colorMode);
67
- var isParentTheme = useRef(prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && isEqual(parentModifications, modifications));
69
+ var highContrastMode = _highContrastMode !== null && _highContrastMode !== void 0 ? _highContrastMode : parentHighContrastMode;
70
+ var prevHighContrastMode = useRef(highContrastMode);
71
+
72
+ // Rather than being calculated when the theme's styles are being computed, we're bogarting the
73
+ // `modify` logic so we can ensure consumer modifications to border-color are also overriden.
74
+ // If in the future we need more complex high contrast mode logic (e.g. changing color tokens)
75
+ // we'll need to actually dive into theme/utils.ts's Computed.getValue logic at that point.
76
+ var highContrastModifications = useMemo(function () {
77
+ if (highContrastMode) {
78
+ return _objectSpread(_objectSpread({}, modifications), {}, {
79
+ border: {
80
+ color: system.root.colors[colorMode].fullShade,
81
+ get thin() {
82
+ var _modifications$border;
83
+ var width = ((_modifications$border = modifications.border) === null || _modifications$border === void 0 || (_modifications$border = _modifications$border.width) === null || _modifications$border === void 0 ? void 0 : _modifications$border.thin) || system.root.border.width.thin;
84
+ return "".concat(width, " solid ").concat(this.color);
85
+ },
86
+ get thick() {
87
+ var _modifications$border2;
88
+ var width = ((_modifications$border2 = modifications.border) === null || _modifications$border2 === void 0 || (_modifications$border2 = _modifications$border2.width) === null || _modifications$border2 === void 0 ? void 0 : _modifications$border2.thick) || system.root.border.width.thick;
89
+ return "".concat(width, " solid ").concat(this.color);
90
+ }
91
+ }
92
+ });
93
+ }
94
+ }, [highContrastMode, modifications, colorMode, system]);
95
+ var isParentTheme = useRef(prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && highContrastMode === parentHighContrastMode && isEqual(parentModifications, modifications));
68
96
  var _useState7 = useState(isParentTheme.current && Object.keys(parentTheme).length ? _objectSpread({}, parentTheme) // Intentionally create a new object to break referential equality
69
- : getComputed(system, buildTheme(modifications, "_".concat(system.key)), colorMode)),
97
+ : getComputed(system, buildTheme(highContrastModifications !== null && highContrastModifications !== void 0 ? highContrastModifications : modifications, "_".concat(system.key)), colorMode)),
70
98
  _useState8 = _slicedToArray(_useState7, 2),
71
99
  theme = _useState8[0],
72
100
  setTheme = _useState8[1];
@@ -95,10 +123,12 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
95
123
  }
96
124
  }, [_colorMode, parentColorMode]);
97
125
  useEffect(function () {
98
- if (!isParentTheme.current) {
99
- setTheme(getComputed(system, buildTheme(modifications, "_".concat(system.key)), colorMode));
126
+ var highContrastModeChanged = prevHighContrastMode.current !== highContrastMode;
127
+ if (!isParentTheme.current || highContrastModeChanged) {
128
+ setTheme(getComputed(system, buildTheme(highContrastModifications !== null && highContrastModifications !== void 0 ? highContrastModifications : modifications, "_".concat(system.key)), colorMode));
129
+ prevHighContrastMode.current = highContrastMode;
100
130
  }
101
- }, [colorMode, system, modifications]);
131
+ }, [colorMode, system, modifications, highContrastMode, highContrastModifications]);
102
132
  var _useState9 = useState(),
103
133
  _useState10 = _slicedToArray(_useState9, 2),
104
134
  themeCSSVariables = _useState10[0],
@@ -155,6 +185,8 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
155
185
  }, ";label:EuiThemeProvider;")
156
186
  }), ___EmotionJSX(EuiColorModeContext.Provider, {
157
187
  value: colorMode
188
+ }, ___EmotionJSX(EuiHighContrastModeContext.Provider, {
189
+ value: highContrastMode
158
190
  }, ___EmotionJSX(EuiSystemContext.Provider, {
159
191
  value: system
160
192
  }, ___EmotionJSX(EuiModificationsContext.Provider, {
@@ -163,5 +195,5 @@ export var EuiThemeProvider = function EuiThemeProvider(_ref) {
163
195
  value: theme
164
196
  }, ___EmotionJSX(EuiNestedThemeContext.Provider, {
165
197
  value: nestedThemeContext
166
- }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, ___EmotionJSX(EuiConditionalBreakpointProvider, null, renderedChildren)))))))));
198
+ }, ___EmotionJSX(EuiThemeMemoizedStylesProvider, null, ___EmotionJSX(EuiEmotionThemeProvider, null, ___EmotionJSX(EuiConditionalBreakpointProvider, null, renderedChildren))))))))));
167
199
  };
@@ -1,6 +1,9 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
4
  var _templateObject;
5
+ 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; }
6
+ 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
7
  /*
5
8
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
9
  * or more contributor license agreements. Licensed under the Elastic License
@@ -23,17 +26,17 @@ export var BUTTON_DISPLAYS = ['base', 'fill', 'empty'];
23
26
  export var euiButtonColor = function euiButtonColor(euiThemeContext, color) {
24
27
  var euiTheme = euiThemeContext.euiTheme,
25
28
  colorMode = euiThemeContext.colorMode;
26
- function tintOrShade(color) {
29
+ var tintOrShade = function tintOrShade(color) {
27
30
  return colorMode === 'DARK' ? shade(color, 0.7) : tint(color, 0.8);
28
- }
31
+ };
29
32
  var foreground;
30
33
  var background;
31
34
  switch (color) {
32
35
  case 'disabled':
33
- return {
36
+ return _objectSpread({
34
37
  color: euiTheme.colors.disabledText,
35
38
  backgroundColor: transparentize(euiTheme.colors.lightShade, 0.15)
36
- };
39
+ }, _highContrastBorder(euiThemeContext, euiTheme.colors.disabledText));
37
40
  case 'text':
38
41
  foreground = euiTheme.colors[color];
39
42
  background = colorMode === 'DARK' ? shade(euiTheme.colors.lightShade, 0.2) : tint(euiTheme.colors.lightShade, 0.5);
@@ -43,10 +46,10 @@ export var euiButtonColor = function euiButtonColor(euiThemeContext, color) {
43
46
  background = tintOrShade(euiTheme.colors[color]);
44
47
  break;
45
48
  }
46
- return {
49
+ return _objectSpread({
47
50
  color: makeHighContrastColor(foreground)(background),
48
51
  backgroundColor: background
49
- };
52
+ }, _highContrastBorder(euiThemeContext, foreground));
50
53
  };
51
54
 
52
55
  /**
@@ -85,10 +88,11 @@ export var euiButtonFillColor = function euiButtonFillColor(euiThemeContext, col
85
88
  foreground = getForegroundColor(background);
86
89
  break;
87
90
  }
88
- return {
91
+ return _objectSpread({
89
92
  color: foreground,
90
93
  backgroundColor: background
91
- };
94
+ }, _highContrastBorder(euiThemeContext, color === 'disabled' ? foreground : background // The border is not visible on Mac, but is necessary for Windows high contrast themes which ignores background-color
95
+ ));
92
96
  };
93
97
 
94
98
  /**
@@ -203,4 +207,15 @@ export var euiButtonSizeMap = function euiButtonSizeMap(_ref2) {
203
207
  fontScale: 's'
204
208
  }
205
209
  };
210
+ };
211
+
212
+ /**
213
+ * Internal util for high contrast button borders
214
+ */
215
+ var _highContrastBorder = function _highContrastBorder(_ref3, color) {
216
+ var highContrastMode = _ref3.highContrastMode,
217
+ euiTheme = _ref3.euiTheme;
218
+ return highContrastMode ? {
219
+ border: "".concat(euiTheme.border.width.thin, " solid ").concat(color)
220
+ } : {};
206
221
  };