From f319a5d39bf705082dabf75f0bc58c7b81b8e7d2 Mon Sep 17 00:00:00 2001 From: Cee Chen <549407+cee-chen@users.noreply.github.com> Date: Thu, 21 Nov 2024 08:39:42 -0800 Subject: [PATCH] [EuiProvider][EuiThemeProvider] `highContrastMode` set up and documentation (#8142) --- .github/pull_request_template.md | 2 + ...Theming_EuiProvider_Font_Default_Units.png | Bin 3868 -> 3958 bytes ...desktop_Theming_EuiProvider_Playground.png | Bin 0 -> 16766 bytes ...op_Theming_EuiProvider_System_Defaults.png | Bin 0 -> 8216 bytes ..._EuiThemeProvider_CSS_Variables_Global.png | Bin 11331 -> 11142 bytes ...EuiThemeProvider_CSS_Variables_Nearest.png | Bin 10588 -> 10357 bytes ...top_Theming_EuiThemeProvider_Dark_Mode.png | Bin 0 -> 2461 bytes ...ng_EuiThemeProvider_High_Contrast_Mode.png | Bin 0 -> 3254 bytes ...EuiThemeProvider_Wrapper_Clone_Element.png | Bin 3780 -> 0 bytes ...Theming_EuiProvider_Font_Default_Units.png | Bin 17978 -> 17342 bytes ..._mobile_Theming_EuiProvider_Playground.png | Bin 0 -> 48705 bytes ...le_Theming_EuiProvider_System_Defaults.png | Bin 0 -> 22294 bytes ..._EuiThemeProvider_CSS_Variables_Global.png | Bin 42494 -> 40102 bytes ...EuiThemeProvider_CSS_Variables_Nearest.png | Bin 36832 -> 34310 bytes ...ile_Theming_EuiThemeProvider_Dark_Mode.png | Bin 0 -> 4909 bytes ...ng_EuiThemeProvider_High_Contrast_Mode.png | Bin 0 -> 6550 bytes ...EuiThemeProvider_Wrapper_Clone_Element.png | Bin 9328 -> 0 bytes packages/eui/.storybook/decorator.tsx | 18 +++ packages/eui/.storybook/preview.tsx | 1 + packages/eui/changelogs/upcoming/8036.md | 3 + .../eui/src-docs/src/actions/action_types.js | 3 - packages/eui/src-docs/src/actions/index.js | 1 - .../src-docs/src/actions/locale_actions.js | 8 - .../guide_locale_selector.js | 40 ----- .../components/guide_locale_selector/index.js | 1 - .../guide_page/guide_page_chrome.js | 2 - .../guide_page/guide_page_header.tsx | 23 +-- .../guide_theme_selector.tsx | 135 ++++++++-------- .../src/components/with_theme/index.ts | 6 +- .../with_theme/language_selector.tsx | 93 +++++------ .../components/with_theme/theme_context.tsx | 150 +++++++++++------- packages/eui/src-docs/src/index.js | 7 +- packages/eui/src-docs/src/routes.js | 2 + .../eui/src-docs/src/services/theme/theme.js | 6 +- .../eui/src-docs/src/store/configure_store.js | 7 +- packages/eui/src-docs/src/store/index.js | 8 - .../eui/src-docs/src/views/app_context.js | 31 ++-- packages/eui/src-docs/src/views/app_view.js | 12 +- .../src/views/provider/provider_example.js | 15 +- .../theme/color_mode/_color_mode_intro.tsx | 6 + .../high_contrast_mode_example.js | 118 ++++++++++++++ .../theme/high_contrast_mode/reacting.tsx | 15 ++ .../theme/high_contrast_mode/rendering.tsx | 44 +++++ .../eui/src-docs/src/views/theme/provider.tsx | 10 +- .../src-docs/src/views/theme/theme_example.js | 85 +++++----- .../components/provider/provider.stories.tsx | 92 +++++++++-- .../src/components/provider/provider.test.tsx | 50 +++++- .../eui/src/components/provider/provider.tsx | 63 ++++---- .../system_color_mode_provider.test.tsx | 86 ---------- .../system_color_mode_provider.tsx | 46 ------ .../index.ts | 3 +- .../system_defaults/match_media_hook.test.ts | 71 +++++++++ .../system_defaults/match_media_hook.ts | 37 +++++ .../system_defaults_provider.server.test.tsx} | 11 +- .../system_defaults_provider.test.tsx | 101 ++++++++++++ .../system_defaults_provider.tsx | 44 +++++ packages/eui/src/services/theme/context.ts | 29 +++- .../theme/high_contrast_overrides.test.tsx | 93 +++++++++++ .../services/theme/high_contrast_overrides.ts | 53 +++++++ .../eui/src/services/theme/hooks.test.tsx | 5 +- packages/eui/src/services/theme/hooks.tsx | 7 +- packages/eui/src/services/theme/index.ts | 3 + .../src/services/theme/provider.stories.tsx | 25 +++ .../eui/src/services/theme/provider.test.tsx | 78 +++++++++ packages/eui/src/services/theme/provider.tsx | 79 ++++++--- packages/eui/src/services/theme/types.ts | 6 + .../amsterdam/global_styling/mixins/shadow.ts | 106 +++++++++---- packages/eui/src/themes/themes.ts | 9 +- .../docs/components/theming/color_mode.mdx | 4 +- .../components/theming/high_contrast_mode.mdx | 101 ++++++++++++ .../components/theming/provider_details.tsx | 36 +++-- .../components/theming/theme_provider.mdx | 24 +-- 72 files changed, 1477 insertions(+), 637 deletions(-) create mode 100644 packages/eui/.loki/reference/chrome_desktop_Theming_EuiProvider_Playground.png create mode 100644 packages/eui/.loki/reference/chrome_desktop_Theming_EuiProvider_System_Defaults.png create mode 100644 packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_Dark_Mode.png create mode 100644 packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_High_Contrast_Mode.png delete mode 100644 packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_Wrapper_Clone_Element.png create mode 100644 packages/eui/.loki/reference/chrome_mobile_Theming_EuiProvider_Playground.png create mode 100644 packages/eui/.loki/reference/chrome_mobile_Theming_EuiProvider_System_Defaults.png create mode 100644 packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Dark_Mode.png create mode 100644 packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_High_Contrast_Mode.png delete mode 100644 packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Wrapper_Clone_Element.png create mode 100644 packages/eui/changelogs/upcoming/8036.md delete mode 100644 packages/eui/src-docs/src/actions/index.js delete mode 100644 packages/eui/src-docs/src/actions/locale_actions.js delete mode 100644 packages/eui/src-docs/src/components/guide_locale_selector/guide_locale_selector.js delete mode 100644 packages/eui/src-docs/src/components/guide_locale_selector/index.js create mode 100644 packages/eui/src-docs/src/views/theme/high_contrast_mode/high_contrast_mode_example.js create mode 100644 packages/eui/src-docs/src/views/theme/high_contrast_mode/reacting.tsx create mode 100644 packages/eui/src-docs/src/views/theme/high_contrast_mode/rendering.tsx delete mode 100644 packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.test.tsx delete mode 100644 packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.tsx rename packages/eui/src/components/provider/{system_color_mode => system_defaults}/index.ts (72%) create mode 100644 packages/eui/src/components/provider/system_defaults/match_media_hook.test.ts create mode 100644 packages/eui/src/components/provider/system_defaults/match_media_hook.ts rename packages/eui/src/components/provider/{system_color_mode/system_color_mode_provider.server.test.tsx => system_defaults/system_defaults_provider.server.test.tsx} (70%) create mode 100644 packages/eui/src/components/provider/system_defaults/system_defaults_provider.test.tsx create mode 100644 packages/eui/src/components/provider/system_defaults/system_defaults_provider.tsx create mode 100644 packages/eui/src/services/theme/high_contrast_overrides.test.tsx create mode 100644 packages/eui/src/services/theme/high_contrast_overrides.ts create mode 100644 packages/website/docs/components/theming/high_contrast_mode.mdx diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 41809e3837e..06a3f6f9716 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -12,6 +12,8 @@ Remove or strikethrough items that do not apply to your PR. - Browser QA - [ ] Checked in both **light and dark** modes + - [ ] Checked in both [MacOS](https://support.apple.com/lv-lv/guide/mac-help/unac089/mac) and [Windows](https://support.microsoft.com/en-us/windows/turn-high-contrast-mode-on-or-off-in-windows-909e9d89-a0f9-a3a9-b993-7a6dcee85025) **high contrast modes** + - (_[emulate forced colors](https://devtoolstips.org/tips/en/emulate-forced-colors/) if you do not have access to a Windows machine_.) - [ ] Checked in **mobile** - [ ] Checked in **Chrome**, **Safari**, **Edge**, and **Firefox** - [ ] Checked for **accessibility** including keyboard-only and screenreader modes diff --git a/packages/eui/.loki/reference/chrome_desktop_Theming_EuiProvider_Font_Default_Units.png b/packages/eui/.loki/reference/chrome_desktop_Theming_EuiProvider_Font_Default_Units.png index 80531851d590ea08239af911e88ebd28963fb4ff..7ee34320f54b3abad96f7f3bd3e61d804ebbbc02 100644 GIT binary patch literal 3958 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 literal 3868 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 literal 0 HcmV?d00001 diff --git a/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_CSS_Variables_Global.png b/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_CSS_Variables_Global.png index c026abf05f687cfd0bbc08140d04889139ebf622..b139027d44f5878d879ceab932a414c7b88cd3f4 100644 GIT binary patch literal 11142 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 literal 11331 zcmc(lcT`hdx32^Ef(nR=^s1;Ri1c0+5CH+{ozScF-U29w9z+DBMtTR44xt7J(n1ft z1qnU$8sJ9X@0{=b&OP_4R#k!gCjCtS06?zzT22E1_$w6u z{rPob{QK80Opf>u0(T9Cmw>VX#x?wpYwj-3sgr6t}!zdd^%UY|T???MWaL6+K$}Q5izTNz2Di;Iv;7r<5YM^jJupPP}sx74gg; zYqHQ0F>#T^9i_K3oZIom@N>8gW2&uq+%Im1joq*8N*uf4EO+TF0P^`)34FqLey>bj z!ggbvH^*}%Zd^qnX+X?iCO_MOrpaZ#D~1d(nArsBdt;sab8V!xu7bY#Z1_xM5mNHZ zbnSD8-I{Pv@qYSdw!pWnr)zoONNGArC3s`hQu(wElsDki8T?qKWBySta^{PuM*-wl z@5LCh5cWAMg2{6o(CAHs<%&`Z%-X8Rshz)(;9BV?24;}RlX|fT3H7@Xy0}jTv}|$@4q85A@@_{oU)CGkpZ#sca@%w<*G=RN^B~pR z4yeBf0P`gj)Y}g8CLm?CYWvn9ix&rL%H?bjl2jpHm>{>S^Zrh1P}YX`qpYkOYk99+ z&*JsV`43o3?_H_{Quii&`^gsT0^5BRuukh3tNZf2X%Bh@kQ^42;B9YRWP7nWLD#V@ z`QjR(3{=X`tbsRMaI~yH&Yd;*iF=H;;x1tEgbXH`sFzI9H^5s zjEiF$?Wy1kZS>6Bg=Pbc#PD#5%T5|HS+MQuh#`DapNxh(1@S6o^i#rLZ@zxZw4os1 zU*UDR)t8DG+%O}zc;z7C_K@!)L$bA3Q~u&{G|FZ5?YneKE2sHeu$}jV=Iz(W+0_hc zpJqdCHBZoqsu*tlJ|6oV@Zmh*1Bt`QnZpJ!z>0o4!8xhL9x6J9{3&ILx1BCpIVqIf z($aSII2`OfXLcu+GnT&aKELLS;&4k#URr*_D~`a#C$lqCElHqHF*M>_TU~>?K;AcL zv}=9?P!cfNkjp|6Vg!D10|2{{l6@sjPDe*CevUIVVvQIe- zW1Z%~hpjX9WKfWOP;FRz&`nw6K}$=QXeNYuUi5@+{;lsWaUrGp zt->1}&3#zfGm3?Rw=ZzUHP3h)Q$p^*`+pifQW4<*wM7AAAu3uP-t^)_bxa$erF2_M z*T_DMZ)cfNE&Aqnlv*cq+5pLn!#BPGcwDCnACz^YWk+;p^r?ChDNV`7wpU5mr^yDx z^CNz2Z%^gA+T>S~(W(fA==)LnrQb(@+U2)(U%qP&YALwdMO#mK)9~Uz#PK!v=^LCp zf@WX;4q`fW4N6~eC9mfy*%66vzz5qa=~BH({AnWhA7{=r2?U(x*3rUppDG-0i`6() z54c|jfJ0h_1~9sQ22P;XwHe22PGw9R}ya@Lg zRb2An`DigLM_$Mz5YUpIX`=?&bR@etlOK2AVP&#G@*ZsUy5g=4*2F-dLEvIO7N)H1 zH*~B`B#3oxTH;XScYRPKkL@?GICf!mG{Rz$khd)i)wYd$tRiYqb9Ze@x+5;_U6ay6 zPKD;F*J<%lvgSqFrfi;~07!6qRvDfeG(4C|q+qWADby6i?Fv%IT{#o4J~6ztIupT( zvCEB9f<96bu06u$vRI-!m6Y>&JZ55<7+C>0q4DnD=^~rhjxrlXtq|w*c zN`!ugLWge^DIt--oh4MZ1!eN~j|xi2bj7yt+zo|Cs&S_h+#(4ZUPhv8`Q{Y6JLii9 z(fclzuJQ3|Z`WEr%@UgPx~$#Z=oG89kPPh`pPj0m_nlV`>gj?-3hhSnrkU&1o(Vg> zD@9FJlO3)jRy-edtdP?KFh~OAl@2a&`8tnN8d%7&u8Mqd&@;Psmu3u!JJ7aRKYoAy;%G_;g#kMxwFY$L5)-yx&X+A)|#ls*-+ z1_PAq#O(jN;@O|Am2PF(w%S3n6G~vCMVd`Rd~vO9fR=5sfuv{T)QRF2VBdg_>mTMl zX}EFz4qn0hUB26jl^LLSG4tOfb-& z3$xLD<24e=eSK%r`I>L9j>N0-!Ihi}rPHC)#x?%NGttQ~rSy``{@5-khHqd6;UjD{OIlY{e4?sFfwA}p=_{Bo%-!ZgEcA9V#)k6) zZn+Rpt`)IQ#iDQ){==%DPuufmdG^>*nC=H$hW~?e_Mw_fcc)<8g4R<6^y}I&My`h2 zh=R(|ux1H%coFBxEH=6@+n9P*6djAyG1&0Top9Ya7rokY-a3c9AR0(&Vu!>+O?RpU zKA?&^Pe0-S(n0rI9Yz;$`$&sJmuXP(534i77+K*`3yoLF9pxUAbZ?|kZ zdxa(2BoxWaHdvpnk98*XBhv^tbncxq`>^hzM!wvG1YH?wxoqfE^I@A25-qM4yUufV zrby;p^{CBvtm4z}JPzq)bg1FR-l9-owS9@|kcb`3x6=dUKU9gBPm*U+?Ioy`Z%Az1B2qKMp z0nf4dAQEUG!EwA-W%_1va&oC+W=HJdBLd-hM*R$>#`X={kF-Jd-Z~w<&VA9PN$Eih}%h+6tr`5WG$$zO@lOCoam0mFTHz5mgK?U_5ZDo*z+^KxW(+8Duj+ zX1<}rq_5xFNyuAcSamRexpT@JN^>!LQY;g!j8G9c<6gOQT?9o0uphrRXZ&tq@P%n7 zf{X?CVKG5h0Ct)e(j4pZOJJxQ_ujCDIi}|nABkR$VMD`pVU!$(k4pP6@|yX#6e_3L zHqyPpi_j}AZe35Kz~giyX?Fkcr1|4WrJ3brO6_w4a1WzhSbS+?wR6jUGxV}*!-C3j ziO!-fX2YuaG1~`=mA=zrZ)C0R1a#IixhS zc)PbLi;NZDUy`(UqWQ%EWH|L6vzGx8xNBS2QD^R*a$|^EW7T6*J=eQQ*`58-uLftmvzly97IlTx9(z1S%;VE81^c-!@C!oVTIRQqlu#RvQm#6#&vC z^B-Ho-d*fH8WNIR-y)>q)K4m2hZY$ztf>@fQ(xmBpFfA3PoE?@IW3#(Pj9<nqc&?;Jfu5z8dWkFYXY(KqARm2J52U}vQwVNGm z5JY^fh})9(2uCNZHMrFmp_SzSW!VqU9=q&C?5<05TQu>+d?@v=aF*T&Jvh^pPxa}d zbwc|kmn&`z@cLC1qL{pkxDFKXVPXIF@my~OzFpb?x*IW20eik}bWQBvz$ch?iZbfZ zSsvTlh;J_#lemcr3&mFY#&|4VEtiVKFt{(T5Ry=Q;|ab+91_FO!F`E8lqN~KIZfl6 zH0C|ed$78A;Z?IW9XzVFk9C|Ri=p3b7dw4gsm|tFu|MNXK3Zb8O>xcq17C}torGJ? zVtqh@)c#ADVBD{yu*4CHJF?s9Cn1I!9s~bV<)O9SEo9Gjal{0)GkYP66usq8*U^0OCPwWYl&)S zA0JWO1I#;<3^#P<=^m<0*T~P&rKUUPA$#1UrEqVJyl^8(vTFOu*#2`Yrdyo6FTMDF zZhCiRAPEF@)$OuK2>)6UL5JEM1m?B15q*NB+V*@QXz-%MmPVW0mhu7AHP%C7Qr};{ z7W^|_5Qh5^Vo=>DP-@`5jEQnXLX+|<3~qbvk%BxmCFkunL($`9Xgcge4x!JP8fEKs z8bipR%#nQKZtco%zGYd|yUCbj_-^i)ZNRivUW=!_n~e%QPd=s`f^tmVvx>eG(}&V3 zBlA$^KkWG)5f9T~ba&^u9vz^BsLK~kOl4-^CYw?qVO^Zqy;xhDTyA{FVwOLfmu7XI+up1{vwT(q}eN zO}aXZILBr=w{SJnk^&r10Odp;GRAJwjph8lWy^)kus$JzrQK1#pABeT47^Z>YU2Du z9pJlP07}s!VJ~~%d&Gw0P&xFm(_XQj`nB*(ZaT~|;OaQ9vaomWi(O8Zq9UsQR{pN} z$93AC?ghQ7PiAmpu!#`OwZru&1P8mysLQ2s%NdayUcWI^nt8M*M~1t( z`?HN7p@vN<_qkLQVlxCu6J{71+@pxo`mEqfu~?bbVPz!=H^^#3XCXUwRA7fP?C0B|-J@wy z6Mq$1Rfyh`G>OSG*T2dwm|SW+xsSGN=3FXS|kPnh%sxCuS*v5f_K(x;S4pvHiiF*==)*o%WE-JOyW+V>^n#bqx zxs8)$O=2;xQT1bDrnNOOlN56~SZ}X$vh&qsYi?AQity+V?*T74zYTqXrot9(z*r>23v!){M#WMrtbM{ixP1eh96ZqmuJVf({!c(+b1S{DqdQV zRXg^o=apO!g<~VbSCISUX(thx+vE?*(THFO6I*X=m@3{DqpF0>XFZ##S*w-x?&Kb8 zJ-ny-@n0nX-S8;P2(&A;!l+x))&U+S0pTm5x0nu*+~ z@AkP@odgMP+K7Zmkm`P@;ROxX=y#8Z6k-sXhmMaazr}n30}ako>41rwhhC(EO}fNb zYdvev&eD(3l4=0^se9V^h!9z>sCdUaHZRXjt9&~Rs0d9x#**Z{8RBuM`5s>-0P){m z{L0e?yQghOWGvieo@)pTkizG0S5NpJDd7#@zlL&^TZgij()BpFVbY#AMZ9%j&V%c- zs`%)Oc)KxvcznNnxj~GYn|JWXBg7*7K|yUJ1JXI!*LTTDw){nRy}P+Od|NW{AI7b0 zFUQMWJka3X;l^}}bDv`dUyPQ()3t_=Xlt0>opM*waPc3sl-^@gi@N!1Beb^|O;1Kr z<7nn1HY=4|U2nqkEe zlfw$Q$pU7z@~CS#(CSI>9RH9A4gb6LKWPr!Tky3*Wn+WW(o{Q4zz` zB)K;GBJl3|7jCt9u@?nzr@EAX^|Y>V$@?!J_K*=#LWf*}9GGkd!gY0@>Dv#Q ze^)5dCE?@$kjTQtc0J3(oVK+)j+l#>QkN|L@mgICA7Van$lS$MV`|A1UnFFCsIPC| ze*8Z$ZE43vw%hNz@E=3&XDD^(@4Dh2L+M5p>zn_WbxmFA+h1n?n1Y`ku0hCk{r6J- zF}~cjeev}_&UHQOiwtS|Kc@Vio_o#U|GKzGgYS9%<6O7po`(GYxHK+qite5t^Lu-8 z?OW3!?wCz}gYUtM6BSv70_uC8CKX(h>bK+Wj*G#{)oSNnMZUz!04Az# z=+%F|&yJ8X_7eJT{+F!vsZLlH1S)*aVPZAdpY9~YD6{I&=&Oj z7Pk+Lms-5u$YaCji|6T{Rds3#sONr*%`psgfN!$?Ov%Z8eDNdsA+8pJ0f)JVuI<0O zo8dHIyV$j1?^egQNJhT3P`L!Np~DT|4Qp-@IV z)^@xq&9@3ZO^2~Lv@Ffk6v6Yarpn?(Y*Ud z8`6}e@z1V?vISs`1(xTJsLl_jA;n`hni4ucc9yua0#y|ia%1EL=ei{O+e8Bp{wCi? z?lXJtnJYx>*+ewIiV${kM8;C698`mWe=j&|NX&C-0!rC&nZ`O^MoI{1)@OM(gKBQV zv2WRr1!p7Pua4ASyLcG%*Ka~)xPSLph@$0`y#b{AK)3So5c=HSshH{Nlwy$07*5GX z#wc~S1Cst?bBzYYO_RsKZy>uh#VAVhUa#eTc;NX5TQ3sCVCMGlL;AhRxu-El zz|ngj15HXVURyL;x>ir=i*PtT<6tVQC)R5a2w!fHcfRs+j8;fj`plG&(@?Nb)2v%b z(Uda%3h(ni@UiF&CApW+adpw)MoVc2n#`Lp=MSy&GWD4GZSc1q(gW20O1SaD<7?xJ`%=aga@AOTl1c=zcsj4b?zzhuRxG|vh z^kV4wPz=N9l$~yKBp0Du3w3ErpOp4=roFqoU~FLrgV&L*E<}k%&H;nSc#@$UAi*xH zqmVD9G4|RT<#kas+?5s0K=AD{h~T(7e5Tfy|GU3;&T}2Kst|I5DQV4AJKuKmY>2~I z8^{QWPu#5|cHvj>Zvv}JmTAo6RZY03r>GN@-yquQ5b>1-)}@S(ksS#koLH$-{WusN zB6B5^thcY2tTT+SEGl$|NB z3>npe?4mtkl4|e)rtvkaKw^ONr6Rn+Gi#nxn~?b(!(g^R>vyTd|2V~s-itdR)|!i2bJ z;k>J;i#p)aL<1J`xtFRnOamn-i;LB{rU7(cVE~n()~_K`z$V1g&+fmTZp6!jVHf@HSW5>L}}R5wi%i!`|)L*cMB=?Ws^

+_3S`zOEQ?MqPbh8V_SJOxvx z&#<5X>00p><8Ce1MhBcq_XQkpQS5~I)8S4c07!8*2)CXov$P9OYk4DN|B>>CkG}@K znlZERwl8?kc9LGrr7$f-yJq+gmtfGb40jG~r^gp4*&_mrteQ`0sGdnBLE2q!^ zduF8Q?FE!c?`eZG;qd-GDPh17!;85eRIx*xRibt!8X%8Lr?b8?d|=Ad$luw*%mB*Y zhU~{m^NwJVH+Ftli9)3$Y1LQo*RK>f{(}lrij6JVAIv1i&dpYRRFfv%OCws@O)mfI zwCQ;F>t3W1rEtxb4jT6!;5-<-Z-tFGK(o_IaP==#+q;79OSd9{*LUazMXqrB6E%&F z#oCj6rP;y>m!#zu9>A^B7o(U}-eZHUiKheA3>1sgnQ(%+?69`-dhk9qmuS%9N7ni3 z-oTXA(!bfb{`^2XxfJNV_%u0-_z?Zi0q^VE9fI^2V7V>$m9`7IW+AY>rQC>%d!?(CE zxrg@ko=E5Wz>Bsxes$wQrgu$k{`M)&T~Sr5f)fU+n9Zpt8@gjc)SW)=Q_W{$t-{U~ z$D(|O>J^W;1DU2QFKiRMm6S?YzV1Yyi%wz%gCm8C923T>p9BQfc{x?bbt)A}brw4P z@Zp-<|B&hv@rO*;a5^`3^)Ky89;aNXm9aB>N_pP2ofw=!(&9Iy5cpt1OwKo$$Ay^n zj=C7Kv?0Rp(jVOa{5kj|X{TCzs&Eu{X`ZKWEHFs&cYQx4NH!ZZIlp;}AIYH|(qM*N zD>7kPU=(pDF3?lo^j`?+28wEGh+JMctGAUJj`hIKnfGyBF`X^G`5}`29m?mGl_8t& zDu>1#0Q&l5-m|{~Kx0J}V)E#m-Iad(U&SjJV)66teox(e$LU~Go*z(q6mg1B^>f{7 zBy#{y(fqV)G=sw>$9xSJ0>aeF4&~XLNA8rznzML&Mgdi{9M1>uA79M<@9=o&ip${4 z*`Y4z`l7sp{#D@*&tmb?17PI!Ysyt&y>GQYR#E&T?CyeHEfWmc<^s zthIS4nj&bBXKj*I6-ph;&@92F=VK&~Y)qL(8U6~;zL;HSDEDR6s!=jv=fY(zsiouI z+Z$S0+C(WR!!K+#?z-&vA7KhsF_uw9fzG)t#?XQ)cxk`ropRr2p_;He4`5pyj&Y|S zc3`*(%1-x)Sd5k{hwQilUrgGRE$vJN@Zv6Z*Ba4u+_fFW?5$e!Ijs-9l3KcRH_XP; zr7w+cjU-Q{_K1j&>%xer?vNi;W=8gbeFo*h`v9}1Klb*ZUR@ej(|-cC8YR$`$rl7% z_MQTEEJo2K>0*2BtaEDt+M5D8TtGqTVg=;p_ezRd&xU{-Pc(@Kv*$$KR($rXFACK8 zHTC*qF`f<+0Xhgh=B4O`9L-M-Wf_HMyW@s$oh-Qr0hbPoBZ?gT*N*Wd1WbW)!HIl| zXPa|I;r;gC#8}GZ<(Rb3*i_-w%z{pFj+jiYQfrMP+0&;LIc4Vu1#bVCcqesqZxE_wSDQAm-s zzxS_Pq1jeQrqA+IfN*mfFYA^Lf0(blHK#mpZCwm}q`^I!+3_qye7owhO-)`|8U-+^ z+VvyXyw_|}UFJ0<(y3$;pyV^FwN#yz#`3$T<7Ck#ZFiy-2*>Xvx!Sz2FM^1=3-*1z zupU--eN&5M;h?|`Yu?mji{0)U< zvtPl!tAcvojlO=CC3$Q}Bm{nmMrWAubv)4cn$yvB5n8Tm{x@?dtY5J;#FVo zE|^nAiK)f5?w+yGJvTC?xtVO92%72|R%kxmAaUf1;xE=yK_hvxk#O%_qRhYsjPxXUJL?-%7rM%K6q-iU&= zb;-gUy2K5+$sksE7e#^n+97>wv5-lb*)67*714^qzfB0*GI(SXg~7?-+YFKo_zL;ukxR%pYck zdj8Fu1$zvHUDTYc^8reXiJs}V^SH2bm&8N);^RZYnE9r!g(Lj%*pU~gR+DX@ZHlFM zaJ$y;&Fnu|@_w=6)|5;O8AKs$Rj)eI4DPoubU$V5W0*a(RIly3Q|Zao_H65>KK&U5 z4~^*i7Yiq@t`h7dCoRHbVG3D-igF;U9>9N*-&_ApejiBV$*&-NxqmwP15YNH7)ltm9wdu~hv(y62=-~-!KBJHZ;VQ`z z&cr9ZMDW;KLH9qgcMr*?BkvqYrJBj4hl>NcbPe<$BPqlXsHxwFSvLI9RD}QO$kzst=opxQp(C0k~XtFon za*0g9O;y{&sLM}7eiv|O5$Eq+H16_P6@@s>dI-GxmhH;Mq>|zi&1fZA-{)`m=JVmk zT7hR1L_SIYw+}a6WP9e^&;PcJ@h!K$f`%iLJI40p{G51w{Llo!4&@uH$c8isufA48 z?GE2#TS`|0^#+_HiJu$ab8N_jKr&q>I^OytmtjV50aa|Y<@McdJ{{wh0b^Zt7br3PB_F8YT&HHcOO3T9gz-@83 zROjcYJ`+zC!?0FhAde__8c{D}{C?p4 z;+KF|)gNZPTD&8!jGHQ3KXp3rE_Rl{5Y%4!pSqD3>l95_0I#0O>I5Y_hV5fciB)kO zZ;y%NP`ef~2*|+U+acrtb;!xN;Fwn(S8YK+&9k{31BfO|DEd!-_(lRVjuFWm#wXW5 z_U_T+*rrvKcTX7jOw18kjwx8!YF1;!mAsC$Mx^nz4iw42b z&?E}=FI|7fy_b0jB8GX~5b@K3i7Wns)90%aUKb<$D_~YTRGNzV2tB36rg;j9J`iO%`rzLXfUj+-lZ)OzUEMpiEGn9gp zz~^f9@p2A}!aDPZ!YRG)>E1osBoC8hGt(u0`fcY@bRXTqxM61!$d30n9j&|j z&4;bxQ?uLa?BXQFcn>4PWVCay?VtZxuRG(Ucd`WKeniR-;vWPCD9WqKmAy25|9=3h Cf|xh} diff --git a/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_CSS_Variables_Nearest.png b/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_CSS_Variables_Nearest.png index 8cc2126ebd80f245c84578320a508f0246be040d..0001abee8900ae1a62e35a194ab553832d09a620 100644 GIT binary patch literal 10357 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 literal 10588 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 OfSQt~Vy(PY=>GyO^~J>i diff --git a/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_Dark_Mode.png b/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_Dark_Mode.png new file mode 100644 index 0000000000000000000000000000000000000000..452df8fc100d19445924f05e005c02beb53e6655 GIT binary patch literal 2461 zcmcIlXIN9&7R{g_g9hPIhK@o2aVP_bIv~9nsfN&tC=xnC=m7$cA_@vpLow1j1PMl( z0mT807=$21N{C8P0wJ^@MPTA*cyE5ZziB8!Iy)j~EXC004q7 z8$$p9&SVz;gPV&rmR&~PW<7ohg_s!vFoO~ctjW<(Lok$^6|vkm?*IV5nt_cCpivL$ zlz5x>;ZmMZJ-fA)63P$L{eg6#VG z!SwKcgIy0zfm(uU<`59S&1sEQOvl#g-d>KUD)Nt)r==t5!0V`ruD}bsvEMm&_mI>Q zGV&mn=&kEt+YlKwIXO8xJdBx|x1=D8e$R9SR}z4 zed){StPjcI8hZ1UkDMIv0lv(=31i>$c0F}#OLu2yitHEU#}gs=b4@_I&+YC#E`)02 z>#oUZ2Uo_lpT9qfa1-k2SYQQ(ew{;&(O#Dsp)|D>ZnZsf!Wr&0!n$J0X1@B`Yf?3EWw%Zp%}<{)E(@K?>BUSqS!Rv2Tt88>L=b%#>qq3_uZ7 z%}irmjFQ}%0~}S&+wI~DO6p=59k$tmQbD5|g{@)4q3df=IuodpW*uqzrVeU*MfS}A zarCc^Fy;c;+FTeGQK%FB23l2FO&dj#8}Lo|0p{CO>8r~bbTN&HXOMVA9?#l(9vWw< z0V9qTw9L%H(Zj{!)FDEVA60{VU!;z3!7_(9W;r+K^=6{egia6aUi4iMEqaizl1Z+J zywDT+f)Tq{E1nxNBUng;NvbH@4N|eQt5GW3l5Axq^l)yN&B3u$TlkeU%rkXU(~7H$ z*P>ZFQp&N|mpi+61rSjL2nD_v*uASzZB42eD6xTNN@+nL6JFDnwlxd?P8Iec4@&-~ zl+;t0)e)Sfr8Qya3a$L}+q)60P{T&+qNxvKI@WDFM?|L$hCacS1X`FE)xdpT@V1Mj zRi>r$o|)-abZ$i^S;*&r791ieO)2RpTDt0f*&0^Xx!tD)@hyY#Wd5F0D{hI9SC7Gv zvR}=)VTSBWQTB?dv_iYz znZwI&*_GBjo4)H~0aRyLt5fK5aZQbbZXJF*1_WlQa5R5O0@wko%|JRM!3KSXMP~?>MACQ? zHq0TZw>ka|jr z@VB$Im2J>8tm-=!N2W)_)Xd0t7xGhUnu89uRbxwvE#!e#__V|C|9PgV{_#%+1j1U> zB`rIbhC6qH5J-ADjiT)?C)ZbBhk=Y|8C|hhqArLwlPA3fffcX5ZY&7@(9PMYYr!vK zx^MNTILgY*G7)orf%J{-LJcccX->V$YY4p7E_2+9?BdphhFylZy1LfHOuw6`rqSxt z->|z2&`VAb>g7r@h}_?i$`h8(9of!fo%~$z&?(|0WUI3a>$a)y&AfO|pPKp#X9!cS>Z_rUpdQn)Ig z{v}}N>IwqaH~pyyMto6?x2Mz{EE}IMCeprsT`{*}H)-Wq&-dDg23&HW4Tqj&V>zHm zsoG4xKeH1RHahCyPo#Ovfvsw6VXY==Eo#}7v$=wnkF@CJ^KH1cx^9fsfOI^x=h?c- zeM!9+(k*j70XCoZIdlp-Y;(_0wzUcYGGq+aIr%E?m9{uscBRmO^awVuAvdSZ zg{53=I5xcYN#)4BJZq(q&w9GmjStcAE{dOaq?Lb3ycIJ%9ECo4DEYpjHtO?q?O?L? zk3-7zp6#OS8>#H#JI%r!l5xdi;^Hb%Tp=4m4zCwiYpbf}w7oyb1k!~0>-zhp$&qZI z0Vs0+$DdAJ{0_f;XjUIzWgco6@c;9$f0|}TtN|BIsE?~<>R5?G`vP9QTK1cCGAv*~` z!p;|Kdd{D4Qu?GmJHNcv>FhEG?|`~O%F|{Ppw}Fl$6CFU&;o3F@UH=sPQ~*o_DQz3 k=iq;Fo0yuOCBa5|03SYAXUa~k-uuA=n^+lR3_TM629_*02mk;8 literal 0 HcmV?d00001 diff --git a/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_High_Contrast_Mode.png b/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_High_Contrast_Mode.png new file mode 100644 index 0000000000000000000000000000000000000000..d8574f3dc3105655261d6167f5a3aa3fe23e1c2d GIT binary patch literal 3254 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 ay_C+0SXh$VApK7iU}g+5sx*A`^1lFSOm|QK diff --git a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiProvider_Font_Default_Units.png b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiProvider_Font_Default_Units.png index 0c20a607f3028ee2c41671a72466905bfb4440c5..af57fd59c7f69c014b052f6705d66e8037fd69cb 100644 GIT binary patch literal 17342 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 literal 17978 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 diff --git a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiProvider_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiProvider_Playground.png new file mode 100644 index 0000000000000000000000000000000000000000..fb359f391d82faf4839a520a8a347b3e3b3b74cf GIT binary patch literal 48705 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 literal 0 HcmV?d00001 diff --git a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_CSS_Variables_Global.png b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_CSS_Variables_Global.png index 764c9960ab5ab7aa037a110e99532a4de5f31eb8..d991467ed3cd48749313cbc766f6a718972d2046 100644 GIT binary patch literal 40102 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 Dy;Cyj literal 42494 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 diff --git a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_CSS_Variables_Nearest.png b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_CSS_Variables_Nearest.png index 434d81242b178230489dbbab30e691e63322547a..1b1efd6d189389f35939f21cdb02865677d81db0 100644 GIT binary patch literal 34310 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 I8ogL#H&-sR+{2NDk64Gzb#X-6c76!_0h} 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 K=d#Wzp$Py;oo;ym diff --git a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Dark_Mode.png b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Dark_Mode.png new file mode 100644 index 0000000000000000000000000000000000000000..35be106db8b6306923b2443cd18660e3c51850ec GIT binary patch literal 4909 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 QfW-&ZGu17*eedai0f#Mjpa1{> literal 0 HcmV?d00001 diff --git a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_High_Contrast_Mode.png b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_High_Contrast_Mode.png new file mode 100644 index 0000000000000000000000000000000000000000..63cab4b7bb4474284dc8616ef3bf1b1ad903d20c GIT binary patch literal 6550 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 APXGV_ literal 0 HcmV?d00001 diff --git a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Wrapper_Clone_Element.png b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Wrapper_Clone_Element.png deleted file mode 100644 index ca7bb8245649f52cabe44083d558c4a41a2b2802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9328 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 Ytmq`;)6fju8Uo4xqbyVU()iQ=0Rmkk%>V!Z diff --git a/packages/eui/.storybook/decorator.tsx b/packages/eui/.storybook/decorator.tsx index 6b78a2e2353..6c8dc3267ed 100644 --- a/packages/eui/.storybook/decorator.tsx +++ b/packages/eui/.storybook/decorator.tsx @@ -86,6 +86,13 @@ const storybookToolbarColorModes: Array< { value: 'dark', title: 'Dark mode', icon: 'circle' }, ]; +const storybookToolbarHighContrastMode: Array< + ToolbarDisplay & { value: boolean } +> = [ + { value: false, title: 'High contrast off', icon: 'circlehollow' }, + { value: true, title: 'High contrast on', icon: 'circle' }, +]; + const storybookToolbarWritingModes: Array< ToolbarDisplay & { value: WritingModes } > = [ @@ -112,6 +119,17 @@ export const euiProviderDecoratorGlobals: Preview['globalTypes'] = { dynamicTitle: true, }, }, + highContrastMode: { + description: 'High contrast mode for EuiProvider theme', + defaultValue: window?.matchMedia?.('(prefers-contrast: more)').matches + ? true + : false, + toolbar: { + title: 'Contrast mode', + items: storybookToolbarHighContrastMode, + dynamicTitle: true, + }, + }, writingMode: { description: 'Writing mode for testing logical property directions', defaultValue: 'ltr', diff --git a/packages/eui/.storybook/preview.tsx b/packages/eui/.storybook/preview.tsx index c34435f5032..d230e00baee 100644 --- a/packages/eui/.storybook/preview.tsx +++ b/packages/eui/.storybook/preview.tsx @@ -46,6 +46,7 @@ const preview: Preview = { (Story, context) => ( diff --git a/packages/eui/changelogs/upcoming/8036.md b/packages/eui/changelogs/upcoming/8036.md new file mode 100644 index 00000000000..3e47054f021 --- /dev/null +++ b/packages/eui/changelogs/upcoming/8036.md @@ -0,0 +1,3 @@ +- Updated `EuiProvider` `and `EuiThemeProvider` with a new `highContrastMode` + - This prop allows toggling a higher contrast visual style that primarily affects borders and shadows + - On `EuiProvider`, if the `highContrastMode` prop is not passed, this setting will inherit from the user's OS/system light/dark mode setting diff --git a/packages/eui/src-docs/src/actions/action_types.js b/packages/eui/src-docs/src/actions/action_types.js index 07aa8e948fa..95ca9e6de82 100644 --- a/packages/eui/src-docs/src/actions/action_types.js +++ b/packages/eui/src-docs/src/actions/action_types.js @@ -2,7 +2,4 @@ export default { // Example nav actions REGISTER_SECTION: 'REGISTER_SECTION', UNREGISTER_SECTION: 'UNREGISTER_SECTION', - - // Locale actions - TOGGLE_LOCALE: 'TOGGLE_LOCALE', }; diff --git a/packages/eui/src-docs/src/actions/index.js b/packages/eui/src-docs/src/actions/index.js deleted file mode 100644 index 5c3431e4d43..00000000000 --- a/packages/eui/src-docs/src/actions/index.js +++ /dev/null @@ -1 +0,0 @@ -export { toggleLocale } from './locale_actions'; diff --git a/packages/eui/src-docs/src/actions/locale_actions.js b/packages/eui/src-docs/src/actions/locale_actions.js deleted file mode 100644 index c306dc9b991..00000000000 --- a/packages/eui/src-docs/src/actions/locale_actions.js +++ /dev/null @@ -1,8 +0,0 @@ -import ActionTypes from './action_types'; - -export const toggleLocale = (locale) => ({ - type: ActionTypes.TOGGLE_LOCALE, - data: { - locale, - }, -}); diff --git a/packages/eui/src-docs/src/components/guide_locale_selector/guide_locale_selector.js b/packages/eui/src-docs/src/components/guide_locale_selector/guide_locale_selector.js deleted file mode 100644 index 4b53fc35199..00000000000 --- a/packages/eui/src-docs/src/components/guide_locale_selector/guide_locale_selector.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; - -import moment from 'moment'; -import { translateUsingPseudoLocale } from '../../../src/services/string/pseudo_locale_translator'; - -// For testing/demoing EuiDatePicker, process moment's `en` locale config into a babelfished version -const enConfig = moment.localeData('en')._config; -moment.defineLocale('en-xa', { - ...enConfig, - months: enConfig.months.map(translateUsingPseudoLocale), - monthsShort: enConfig.monthsShort.map(translateUsingPseudoLocale), - weekdays: enConfig.weekdays.map(translateUsingPseudoLocale), - weekdaysMin: enConfig.weekdaysMin.map(translateUsingPseudoLocale), - weekdaysShort: enConfig.weekdaysShort.map(translateUsingPseudoLocale), -}); -// Reset default moment locale after using `defineLocale` -moment.locale('en'); - -import { EuiSwitch, EuiToolTip } from '../../../../src/components'; - -export const GuideLocaleSelector = ({ selectedLocale, onToggleLocale }) => { - return ( - - - onToggleLocale(selectedLocale === 'en' ? 'en-xa' : 'en') - } - /> - - ); -}; - -GuideLocaleSelector.propTypes = { - onToggleLocale: PropTypes.func.isRequired, - selectedLocale: PropTypes.string.isRequired, -}; diff --git a/packages/eui/src-docs/src/components/guide_locale_selector/index.js b/packages/eui/src-docs/src/components/guide_locale_selector/index.js deleted file mode 100644 index 7f4a4fbcfb4..00000000000 --- a/packages/eui/src-docs/src/components/guide_locale_selector/index.js +++ /dev/null @@ -1 +0,0 @@ -export { GuideLocaleSelector } from './guide_locale_selector'; diff --git a/packages/eui/src-docs/src/components/guide_page/guide_page_chrome.js b/packages/eui/src-docs/src/components/guide_page/guide_page_chrome.js index 223aee0cb90..7c339c92149 100644 --- a/packages/eui/src-docs/src/components/guide_page/guide_page_chrome.js +++ b/packages/eui/src-docs/src/components/guide_page/guide_page_chrome.js @@ -302,7 +302,5 @@ export class GuidePageChrome extends Component { GuidePageChrome.propTypes = { currentRoute: PropTypes.object.isRequired, - onToggleLocale: PropTypes.func.isRequired, - selectedLocale: PropTypes.string.isRequired, navigation: PropTypes.array.isRequired, }; diff --git a/packages/eui/src-docs/src/components/guide_page/guide_page_header.tsx b/packages/eui/src-docs/src/components/guide_page/guide_page_header.tsx index f68018f3927..9be1dc1bc8b 100644 --- a/packages/eui/src-docs/src/components/guide_page/guide_page_header.tsx +++ b/packages/eui/src-docs/src/components/guide_page/guide_page_header.tsx @@ -21,15 +21,7 @@ import { VersionSwitcher } from './version_switcher'; const GITHUB_URL = 'https://github.com/elastic/eui'; -export type GuidePageHeaderProps = { - onToggleLocale: () => {}; - selectedLocale: string; -}; - -export const GuidePageHeader: React.FunctionComponent = ({ - onToggleLocale, - selectedLocale, -}) => { +export const GuidePageHeader = () => { const isMobileSize = useIsWithinBreakpoints(['xs', 's']); const logo = useMemo(() => { @@ -112,18 +104,9 @@ export const GuidePageHeader: React.FunctionComponent = ({ }, [codesandbox, github]); const rightSideItems = isMobileSize - ? [ - , - mobileMenu, - ] + ? [, mobileMenu] : [ - , + , github, , codesandbox, diff --git a/packages/eui/src-docs/src/components/guide_theme_selector/guide_theme_selector.tsx b/packages/eui/src-docs/src/components/guide_theme_selector/guide_theme_selector.tsx index bc9d4449b9d..2851a4941c5 100644 --- a/packages/eui/src-docs/src/components/guide_theme_selector/guide_theme_selector.tsx +++ b/packages/eui/src-docs/src/components/guide_theme_selector/guide_theme_selector.tsx @@ -1,78 +1,32 @@ /* eslint-disable no-restricted-globals */ -import React, { useState } from 'react'; +import React, { useState, useContext } from 'react'; -import { - EuiThemeProvider, - useEuiTheme, - useIsWithinBreakpoints, -} from '../../../../src/services'; +import { EuiThemeProvider, useEuiTheme } from '../../../../src/services'; import { EUI_THEME, EUI_THEMES } from '../../../../src/themes'; import { ThemeContext } from '../with_theme'; -// @ts-ignore Not TS -import { GuideLocaleSelector } from '../guide_locale_selector'; import { EuiPopover, EuiHorizontalRule, EuiButton, EuiContextMenuPanel, EuiContextMenuItem, + EuiSwitch, + EuiSwitchEvent, } from '../../../../src/components'; -type GuideThemeSelectorProps = { - onToggleLocale: () => {}; - selectedLocale: string; - context?: any; -}; - -export const GuideThemeSelector: React.FunctionComponent< - GuideThemeSelectorProps -> = ({ ...rest }) => { - return ( - - {(context) => } - - ); -}; - -const GuideThemeSelectorComponent: React.FunctionComponent< - GuideThemeSelectorProps -> = ({ context, onToggleLocale, selectedLocale }) => { - const isMobileSize = useIsWithinBreakpoints(['xs', 's']); - const [isPopoverOpen, setPopover] = useState(false); - - const onButtonClick = () => { - setPopover(!isPopoverOpen); - }; - - const closePopover = () => { - setPopover(false); - }; - - const systemColorMode = useEuiTheme().colorMode.toLowerCase(); +export const GuideThemeSelector = () => { + const context = useContext(ThemeContext); + const euiThemeContext = useEuiTheme(); + const colorMode = context.colorMode ?? euiThemeContext.colorMode; + const highContrastMode = + context.highContrastMode ?? euiThemeContext.highContrastMode; const currentTheme: EUI_THEME = - EUI_THEMES.find( - (theme) => theme.value === (context.theme ?? systemColorMode) - ) || EUI_THEMES[0]; - - const getIconType = (value: EUI_THEME['value']) => { - return value === currentTheme.value ? 'check' : 'empty'; - }; + EUI_THEMES.find((theme) => theme.value === context.theme) || EUI_THEMES[0]; - const items = EUI_THEMES.map((theme) => { - return ( - { - closePopover(); - context.changeTheme(theme.value); - }} - > - {theme.text} - - ); - }); + const [isPopoverOpen, setPopover] = useState(false); + const onButtonClick = () => setPopover(!isPopoverOpen); + const closePopover = () => setPopover(false); const button = ( @@ -84,11 +38,34 @@ const GuideThemeSelectorComponent: React.FunctionComponent< minWidth={0} onClick={onButtonClick} > - {isMobileSize ? 'Theme' : currentTheme.text} + Theme ); + const toggles = [ + { + label: 'Dark mode', + checked: colorMode.toLowerCase() === 'dark', + onChange: (e: EuiSwitchEvent) => + context.setContext({ + colorMode: e.target.checked ? 'DARK' : 'LIGHT', + }), + }, + { + label: 'High contrast', + checked: !!highContrastMode, + onChange: (e: EuiSwitchEvent) => + context.setContext({ highContrastMode: e.target.checked }), + }, + location.host.includes('803') && { + label: 'i18n testing', + checked: context.i18n === 'en-xa', + onChange: (e: EuiSwitchEvent) => + context.setContext({ i18n: e.target.checked ? 'en-xa' : 'en' }), + }, + ]; + return ( - - {location.host.includes('803') && ( - <> - -

- { + return ( + { + closePopover(); + context.setContext({ theme: theme.value }); + }} + > + {theme.text} + + ); + })} + /> + + {toggles.map((item) => + item ? ( +
({ padding: euiTheme.size.s })}> +
- + ) : null )} ); diff --git a/packages/eui/src-docs/src/components/with_theme/index.ts b/packages/eui/src-docs/src/components/with_theme/index.ts index 46d6e96d7c1..7cc4f114627 100644 --- a/packages/eui/src-docs/src/components/with_theme/index.ts +++ b/packages/eui/src-docs/src/components/with_theme/index.ts @@ -1,2 +1,6 @@ -export { ThemeProvider, ThemeContext } from './theme_context'; +export { + ThemeProvider, + ThemeContext, + type ThemeContextType, +} from './theme_context'; export { LanguageSelector } from './language_selector'; diff --git a/packages/eui/src-docs/src/components/with_theme/language_selector.tsx b/packages/eui/src-docs/src/components/with_theme/language_selector.tsx index 45931a8d423..212fe0c271e 100644 --- a/packages/eui/src-docs/src/components/with_theme/language_selector.tsx +++ b/packages/eui/src-docs/src/components/with_theme/language_selector.tsx @@ -1,75 +1,56 @@ -import React, { useContext, useState } from 'react'; +import React, { useContext } from 'react'; -import { - EuiButtonGroup, - EuiIcon, - EuiLink, - EuiText, - EuiTourStep, -} from '../../../../src/components'; +import { EuiButtonGroup } from '../../../../src/components'; -import { - ThemeContext, - theme_languages, - THEME_LANGUAGES, -} from './theme_context'; +import { ThemeContext } from './theme_context'; -const NOTIF_STORAGE_KEY = 'js_vs_sass_notification'; -const NOTIF_STORAGE_VALUE = 'dismissed'; +export const THEME_LANGUAGES = ['language--js', 'language--sass'] as const; + +export type ThemeLanguages = { + id: (typeof THEME_LANGUAGES)[number]; + label: string; + title: string; +}; + +export const themeLanguagesOptions: ThemeLanguages[] = [ + { + id: 'language--js', + label: 'CSS-in-JS', + title: 'Language selector: CSS-in-JS', + }, + { + id: 'language--sass', + label: 'Sass', + title: 'Language selector: Sass', + }, +]; + +const ids = themeLanguagesOptions.map(({ id }) => id); export const LanguageSelector = ({ onChange, - showTour = false, }: { onChange?: (id: string) => void; - showTour?: boolean; }) => { const themeContext = useContext(ThemeContext); const toggleIdSelected = themeContext.themeLanguage; const onLanguageChange = (optionId: string) => { - themeContext.changeThemeLanguage(optionId as THEME_LANGUAGES['id']); + themeContext.setContext({ + themeLanguage: optionId as ThemeLanguages['id'], + }); onChange?.(optionId); - setTourIsOpen(false); - localStorage.setItem(NOTIF_STORAGE_KEY, NOTIF_STORAGE_VALUE); - }; - - const [isTourOpen, setTourIsOpen] = useState( - localStorage.getItem(NOTIF_STORAGE_KEY) === NOTIF_STORAGE_VALUE - ? false - : showTour - ); - - const onTourDismiss = () => { - setTourIsOpen(false); - localStorage.setItem(NOTIF_STORAGE_KEY, NOTIF_STORAGE_VALUE); }; return ( - -

Select your preferred styling language with this toggle button.

- - } - isStepOpen={isTourOpen} - onFinish={onTourDismiss} - step={1} - stepsTotal={1} - title={ - <> -   Theming update - + Got it!} - > - onLanguageChange(id)} - /> -
+ onChange={(id) => onLanguageChange(id)} + /> ); }; diff --git a/packages/eui/src-docs/src/components/with_theme/theme_context.tsx b/packages/eui/src-docs/src/components/with_theme/theme_context.tsx index f0fc4688557..519f90450af 100644 --- a/packages/eui/src-docs/src/components/with_theme/theme_context.tsx +++ b/packages/eui/src-docs/src/components/with_theme/theme_context.tsx @@ -1,47 +1,54 @@ import React, { PropsWithChildren } from 'react'; -import { EUI_THEMES, EUI_THEME } from '../../../../src/themes'; +import { + EUI_THEMES, + EUI_THEME, + AMSTERDAM_NAME_KEY, +} from '../../../../src/themes'; +import { EuiThemeColorModeStandard } from '../../../../src/services'; // @ts-ignore importing from a JS file -import { applyTheme } from '../../services'; - -const STYLE_STORAGE_KEY = 'js_vs_sass_preference'; -const URL_PARAM_KEY = 'themeLanguage'; - -export type THEME_LANGUAGES = { - id: 'language--js' | 'language--sass'; - label: string; - title: string; -}; - -export const theme_languages: THEME_LANGUAGES[] = [ - { - id: 'language--js', - label: 'CSS-in-JS', - title: 'Language selector: CSS-in-JS', - }, - { - id: 'language--sass', - label: 'Sass', - title: 'Language selector: Sass', +import { applyTheme, registerTheme } from '../../services'; + +// @ts-ignore Sass +import amsterdamThemeLight from '../../theme_light.scss'; +// @ts-ignore Sass +import amsterdamThemeDark from '../../theme_dark.scss'; +const THEME_CSS_MAP = { + [AMSTERDAM_NAME_KEY]: { + LIGHT: amsterdamThemeLight, + DARK: amsterdamThemeDark, }, -]; - +}; +EUI_THEMES.forEach((theme) => { + registerTheme( + theme.value, + THEME_CSS_MAP[theme.value as keyof typeof THEME_CSS_MAP] + ); +}); const THEME_NAMES = EUI_THEMES.map(({ value }) => value); -const THEME_LANGS = theme_languages.map(({ id }) => id); -type ThemeContextType = { +import { type ThemeLanguages } from './language_selector'; + +export type ThemeContextType = { theme?: EUI_THEME['value']; - changeTheme: (themeValue: EUI_THEME['value']) => void; - themeLanguage: THEME_LANGUAGES['id']; - changeThemeLanguage: (language: THEME_LANGUAGES['id']) => void; + colorMode?: EuiThemeColorModeStandard; + highContrastMode?: boolean; + i18n?: 'en' | 'en-xa'; + themeLanguage: ThemeLanguages['id']; // TODO: Can likely be deleted once Sass is fully deprecated + setContext: (context: Partial) => void; }; export const ThemeContext = React.createContext({ theme: undefined, - changeTheme: () => {}, - themeLanguage: THEME_LANGS[0], - changeThemeLanguage: () => {}, + colorMode: undefined, + highContrastMode: undefined, + themeLanguage: 'language--js', + i18n: 'en', + setContext: () => {}, }); -type State = Pick; +type State = Pick< + ThemeContextType, + 'theme' | 'colorMode' | 'highContrastMode' | 'themeLanguage' | 'i18n' +>; export class ThemeProvider extends React.Component { constructor(props: object) { @@ -50,69 +57,96 @@ export class ThemeProvider extends React.Component { const theme = localStorage.getItem('theme') || undefined; applyTheme(theme && THEME_NAMES.includes(theme) ? theme : THEME_NAMES[0]); + const colorMode = + (localStorage.getItem('colorMode') as EuiThemeColorModeStandard) || + undefined; + + const highContrastMode = localStorage.getItem('highContrastMode') + ? localStorage.getItem('highContrastMode') === 'true' + : undefined; + + const i18n = (localStorage.getItem('i18n') as any) || 'en'; + const themeLanguage = this.getThemeLanguage(); this.state = { theme, + colorMode, + highContrastMode, + i18n, themeLanguage, }; } - changeTheme = (themeValue: EUI_THEME['value']) => { - this.setState({ theme: themeValue }, () => { - localStorage.setItem('theme', themeValue); - applyTheme(themeValue); - }); + setContext = (state: Partial) => { + this.setState(state as State); }; + componentDidUpdate(_prevProps: never, prevState: State) { + const stateToSetInLocalStorage = [ + 'theme', + 'colorMode', + 'highContrastMode', + 'i18n', + 'themeLanguage', + ] as const; + + stateToSetInLocalStorage.forEach((key) => { + if (prevState[key] !== this.state[key]) { + localStorage.setItem(key, String(this.state[key])); + + // Side effects + if (key === 'theme') { + applyTheme(this.state.theme); + } + if (key === 'themeLanguage') { + this.setThemeLanguageParam(this.state.themeLanguage!); + } + } + }); + } + getThemeLanguage = () => { // Allow theme language to be set by URL param, so we can link people // to specific docs, e.g. ?themeLanguage=js, ?themeLanguage=sass // Note that because of our hash router, this logic only works on page load/full reload const urlParams = window?.location?.href?.split('?')[1]; // Note: we can't use location.search because of our hash router - const fromUrlParam = new URLSearchParams(urlParams).get(URL_PARAM_KEY); + const fromUrlParam = new URLSearchParams(urlParams).get('themeLanguage'); // Otherwise, obtain it from localStorage - const fromLocalStorage = localStorage.getItem(STYLE_STORAGE_KEY); + const fromLocalStorage = localStorage.getItem('themeLanguage'); - let themeLanguage = ( + const themeLanguage = ( fromUrlParam ? `language--${fromUrlParam}` : fromLocalStorage - ) as THEME_LANGUAGES['id']; + ) as ThemeLanguages['id']; // If not set by either param or storage, or an invalid value, use the default - if (!themeLanguage || !THEME_LANGS.includes(themeLanguage)) - themeLanguage = THEME_LANGS[0]; - - return themeLanguage; + return themeLanguage || 'language--js'; }; - setThemeLanguageParam = (languageKey: THEME_LANGUAGES['id']) => { + setThemeLanguageParam = (languageKey: ThemeLanguages['id']) => { const languageValue = languageKey.replace('language--', ''); // Make our params more succinct const hash = window?.location?.hash?.split('?'); // Note: we can't use location.search because of our hash router const queryParams = hash[1]; const params = new URLSearchParams(queryParams); - params.set(URL_PARAM_KEY, languageValue); + params.set('themeLanguage', languageValue); window.location.hash = `${hash[0]}?${params.toString()}`; }; - changeThemeLanguage = (language: THEME_LANGUAGES['id']) => { - this.setState({ themeLanguage: language }, () => { - localStorage.setItem(STYLE_STORAGE_KEY, language); - this.setThemeLanguageParam(language); - }); - }; - render() { const { children } = this.props; - const { theme, themeLanguage } = this.state; + const { theme, colorMode, highContrastMode, i18n, themeLanguage } = + this.state; return ( {children} diff --git a/packages/eui/src-docs/src/index.js b/packages/eui/src-docs/src/index.js index a69a07e3613..7132f648180 100644 --- a/packages/eui/src-docs/src/index.js +++ b/packages/eui/src-docs/src/index.js @@ -10,16 +10,11 @@ import { AppContext } from './views/app_context'; import { AppView } from './views/app_view'; import { HomeView } from './views/home/home_view'; import { NotFoundView } from './views/not_found/not_found_view'; -import { registerTheme, ExampleContext } from './services'; +import { ExampleContext } from './services'; import Routes from './routes'; -import themeLight from './theme_light.scss'; -import themeDark from './theme_dark.scss'; import { ThemeProvider } from './components/with_theme/theme_context'; -registerTheme('light', [themeLight]); -registerTheme('dark', [themeDark]); - // Set up app // Whether the docs app should be wrapped in diff --git a/packages/eui/src-docs/src/routes.js b/packages/eui/src-docs/src/routes.js index 8038e2fa687..9a0f95448a3 100644 --- a/packages/eui/src-docs/src/routes.js +++ b/packages/eui/src-docs/src/routes.js @@ -245,6 +245,7 @@ import { SuperSelectExample } from './views/super_select/super_select_example'; import { ThemeExample } from './views/theme/theme_example'; import { ColorModeExample } from './views/theme/color_mode/color_mode_example'; +import { HighContrastModeExample } from './views/theme/high_contrast_mode/high_contrast_mode_example'; import { BreakpointsExample } from './views/theme/breakpoints/breakpoints_example'; import Borders, { bordersSections } from './views/theme/borders/borders'; import Color, { colorsInfo, colorsSections } from './views/theme/color/tokens'; @@ -431,6 +432,7 @@ const navigation = [ items: [ createExample(ThemeExample, 'Theme provider'), createExample(ColorModeExample), + createExample(HighContrastModeExample), createTabbedPage(BreakpointsExample), { name: 'Borders', diff --git a/packages/eui/src-docs/src/services/theme/theme.js b/packages/eui/src-docs/src/services/theme/theme.js index a3bbf6030c2..316ac207bc6 100644 --- a/packages/eui/src-docs/src/services/theme/theme.js +++ b/packages/eui/src-docs/src/services/theme/theme.js @@ -4,9 +4,9 @@ export function registerTheme(theme, cssFiles) { themes[theme] = cssFiles; } -export function applyTheme(newTheme) { +export function applyTheme(newTheme, colorMode = 'LIGHT') { Object.keys(themes).forEach((theme) => - themes[theme].forEach((cssFile) => cssFile.unuse()) + Object.values(themes[theme]).forEach((cssFile) => cssFile.unuse()) ); - themes[newTheme]?.forEach((cssFile) => cssFile.use()); + themes[newTheme]?.[colorMode]?.use(); } diff --git a/packages/eui/src-docs/src/store/configure_store.js b/packages/eui/src-docs/src/store/configure_store.js index bcd8efc8540..0f4ea4addbf 100644 --- a/packages/eui/src-docs/src/store/configure_store.js +++ b/packages/eui/src-docs/src/store/configure_store.js @@ -3,18 +3,13 @@ import thunk from 'redux-thunk'; import Routes from '../routes'; -import localeReducer from './reducers/locale_reducer'; -import themeReducer from './reducers/theme_reducer'; - /** * @param {Object} initialState An object defining the application's initial * state. */ export default function configureStore(initialState) { - function rootReducer(state = {}, action) { + function rootReducer() { return { - theme: themeReducer(state.theme, action), - locale: localeReducer(state.locale, action), routes: Routes, }; } diff --git a/packages/eui/src-docs/src/store/index.js b/packages/eui/src-docs/src/store/index.js index 04ef96b83ea..8421502c9c9 100644 --- a/packages/eui/src-docs/src/store/index.js +++ b/packages/eui/src-docs/src/store/index.js @@ -1,11 +1,3 @@ -export function getTheme(state) { - return state.theme.theme; -} - export function getRoutes(state) { return state.routes; } - -export function getLocale(state) { - return state.locale.locale; -} diff --git a/packages/eui/src-docs/src/views/app_context.js b/packages/eui/src-docs/src/views/app_context.js index 729f4c94079..f5ecad2f8fb 100644 --- a/packages/eui/src-docs/src/views/app_context.js +++ b/packages/eui/src-docs/src/views/app_context.js @@ -1,10 +1,8 @@ import React, { useContext } from 'react'; import { Helmet } from 'react-helmet'; -import { useSelector } from 'react-redux'; import createCache from '@emotion/cache'; import { ThemeContext } from '../components'; import { translateUsingPseudoLocale } from '../services'; -import { getLocale } from '../store'; import { EuiContext, EuiProvider } from '../../../src/components'; import { @@ -33,18 +31,7 @@ const utilityCache = createCache({ }); export const AppContext = ({ children }) => { - const { theme } = useContext(ThemeContext); - const locale = useSelector((state) => getLocale(state)); - - const mappingFuncs = { - 'en-xa': translateUsingPseudoLocale, - }; - - const i18n = { - mappingFunc: mappingFuncs[locale], - formatNumber: (value) => new Intl.NumberFormat(locale).format(value), - locale, - }; + const { theme, colorMode, highContrastMode, i18n } = useContext(ThemeContext); const isLocalDev = window.location.host.includes('803'); setEuiDevProviderWarning(isLocalDev ? 'error' : 'warn'); // Note: this can't be in a useEffect, otherwise it fires too late for style memoization warnings to error on page reload @@ -56,9 +43,8 @@ export const AppContext = ({ children }) => { utility: utilityCache, }} theme={EUI_THEMES.find((t) => t.value === theme)?.provider} - colorMode={ - theme ? (theme.includes('light') ? 'light' : 'dark') : undefined - } + colorMode={colorMode} + highContrastMode={highContrastMode} > { rel="stylesheet" /> - {children} + new Intl.NumberFormat(i18n).format(value), + }} + > + {children} + ); }; diff --git a/packages/eui/src-docs/src/views/app_view.js b/packages/eui/src-docs/src/views/app_view.js index 8911d2a8332..91a094ef143 100644 --- a/packages/eui/src-docs/src/views/app_view.js +++ b/packages/eui/src-docs/src/views/app_view.js @@ -1,9 +1,8 @@ import React from 'react'; -import { useDispatch, useSelector } from 'react-redux'; +import { useSelector } from 'react-redux'; import { useLocation } from 'react-router-dom'; -import { toggleLocale as _toggleLocale } from '../actions'; import { GuidePageChrome, GuidePageHeader } from '../components'; -import { getLocale, getRoutes } from '../store'; +import { getRoutes } from '../store'; import { useScrollToHash, useHeadingAnchorLinks, @@ -17,9 +16,6 @@ import { } from '../../../src/components'; export const AppView = ({ children, currentRoute = {} }) => { - const dispatch = useDispatch(); - const toggleLocale = (locale) => dispatch(_toggleLocale(locale)); - const locale = useSelector((state) => getLocale(state)); const routes = useSelector((state) => getRoutes(state)); const portalledHeadingAnchorLinks = useHeadingAnchorLinks(); @@ -43,7 +39,7 @@ export const AppView = ({ children, currentRoute = {} }) => { Skip to content {portalledHeadingAnchorLinks} - + { diff --git a/packages/eui/src-docs/src/views/provider/provider_example.js b/packages/eui/src-docs/src/views/provider/provider_example.js index 0808935cb91..00e7420617c 100644 --- a/packages/eui/src-docs/src/views/provider/provider_example.js +++ b/packages/eui/src-docs/src/views/provider/provider_example.js @@ -64,20 +64,15 @@ export const ProviderExample = {

To customize the global theme of your app, use the{' '} - theme, colorMode, and{' '} - modify props (documented in{' '} + theme and modify props + (documented in{' '} EuiThemeProvider - ). For instance, it's likely that you will want to implement - color mode switching at the top level: + ). The colorMode and{' '} + highContrastMode props automatically default to + the users' system settings, but can also be overridden if needed.

- - - {""} - - -

If you do not wish your app to include EUI's default global reset CSS or{' '} diff --git a/packages/eui/src-docs/src/views/theme/color_mode/_color_mode_intro.tsx b/packages/eui/src-docs/src/views/theme/color_mode/_color_mode_intro.tsx index c856a47c338..83436bc4ea8 100644 --- a/packages/eui/src-docs/src/views/theme/color_mode/_color_mode_intro.tsx +++ b/packages/eui/src-docs/src/views/theme/color_mode/_color_mode_intro.tsx @@ -20,6 +20,12 @@ export default () => { The colorMode determines which values to return based on LIGHT or DARK mode.

+

+ By default, if this prop is not passed, EuiProvider{' '} + will detect and use the user's system dark mode preference. If the + prop is passed, it will override the user's system + settings. +

diff --git a/packages/eui/src-docs/src/views/theme/high_contrast_mode/high_contrast_mode_example.js b/packages/eui/src-docs/src/views/theme/high_contrast_mode/high_contrast_mode_example.js new file mode 100644 index 00000000000..d779aaee562 --- /dev/null +++ b/packages/eui/src-docs/src/views/theme/high_contrast_mode/high_contrast_mode_example.js @@ -0,0 +1,118 @@ +import React from 'react'; + +import { GuideSectionTypes } from '../../../components'; + +import { EuiCallOut, EuiCode, EuiLink, EuiText } from '../../../../../src'; + +import Rendering from './rendering'; +const RenderingSource = require('!!raw-loader!./rendering'); + +import Reacting from './reacting'; +const ReactingSource = require('!!raw-loader!./reacting'); + +export const HighContrastModeExample = { + title: 'High contrast mode', + isBeta: true, + intro: ( + +

+ The highContrastMode determines and sets certain + un-overrideable modifications to the EUI theme, primarily around borders + and shadows. Borders will always be pure black or white (depending on + the color mode), and shadows will be entirely replaced with borders. +

+

+ By default, if this prop is not passed, EuiProvider{' '} + will detect and use the user's system contrast preferences. +

+
+ ), + sections: [ + { + title: 'Rendering a specific contrast mode', + text: ( + <> +

+ While it's usually best to keep all high contrast mode the same + across your app for visual consistency, some instances may benefit + from an exaggerated change in contrast. For this you can set{' '} + EuiThemeProvider's{' '} + highContrastMode to true. +

+ + In general, we do not ever recommend manually turning off high + contrast via highContrastMode={'{false}'}. + Respect the user's contrast preferences where possible. + + } + /> + + ), + demo: , + source: [ + { + type: GuideSectionTypes.TSX, + code: RenderingSource, + }, + ], + }, + { + title: 'Forced contrast themes and colors', + text: ( + <> +

+ Please note that some OSes and browsers have something called{' '} + + forced colors mode + + , which overrides all colors, backgrounds, borders, + and shadows. An example of this is Windows High Contrast modes. +

+

+ Since this is done at a level that EUI can do nothing about, if + forced colors mode is detected by EuiProvider, EUI + will ignore any passed highContrastMode prop, as + this user choice and system setting takes precedence. +

+ + To quickly test your application in forced colors mode without + switching OS themes, you can{' '} + + use Chrome or Edge's devtools to emulate forced-colors mode. + + + + ), + }, + { + title: 'Reacting to user high contrast modes', + text: ( +

+ The detected or current highContrastMode is available via + useEuiTheme(). It returns either{' '} + "forced", "preferred", or simply{' '} + false. You can use this information to (for + example) conditionally render or opt out of rendering certain styles + or colors. +

+ ), + demo: , + source: [ + { + type: GuideSectionTypes.JS, + code: ReactingSource, + }, + ], + }, + ], +}; diff --git a/packages/eui/src-docs/src/views/theme/high_contrast_mode/reacting.tsx b/packages/eui/src-docs/src/views/theme/high_contrast_mode/reacting.tsx new file mode 100644 index 00000000000..59a58474d1c --- /dev/null +++ b/packages/eui/src-docs/src/views/theme/high_contrast_mode/reacting.tsx @@ -0,0 +1,15 @@ +import React from 'react'; +import { useEuiTheme, EuiPanel } from '../../../../../src'; + +export default () => { + const { highContrastMode, euiTheme } = useEuiTheme(); + + return ( + + This panel will have a thick border in high contrast mode. + + ); +}; diff --git a/packages/eui/src-docs/src/views/theme/high_contrast_mode/rendering.tsx b/packages/eui/src-docs/src/views/theme/high_contrast_mode/rendering.tsx new file mode 100644 index 00000000000..68e2ea74f1c --- /dev/null +++ b/packages/eui/src-docs/src/views/theme/high_contrast_mode/rendering.tsx @@ -0,0 +1,44 @@ +import React from 'react'; +import { faker } from '@faker-js/faker'; +import { + EuiThemeProvider, + EuiBasicTable, + EuiBasicTableColumn, +} from '../../../../../src'; + +type User = { + firstName: string; + lastName: string; +}; + +const users: User[] = []; +for (let i = 0; i < 5; i++) { + users.push({ + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + }); +} + +const columns: Array> = [ + { + field: 'firstName', + name: 'First name', + }, + { + field: 'lastName', + name: 'Last name', + }, +]; + +export default () => { + return ( + + + + ); +}; diff --git a/packages/eui/src-docs/src/views/theme/provider.tsx b/packages/eui/src-docs/src/views/theme/provider.tsx index 9454943d271..6cab1216518 100644 --- a/packages/eui/src-docs/src/views/theme/provider.tsx +++ b/packages/eui/src-docs/src/views/theme/provider.tsx @@ -10,7 +10,7 @@ import { } from '../../../../src'; export default () => { - const { euiTheme, colorMode } = useEuiTheme(); + const { euiTheme, colorMode, highContrastMode } = useEuiTheme(); return ( @@ -44,13 +44,13 @@ export default () => { colorMode: + {colorMode} - -

- {colorMode} -

+ + highContrastMode: + {String(highContrastMode)}
diff --git a/packages/eui/src-docs/src/views/theme/theme_example.js b/packages/eui/src-docs/src/views/theme/theme_example.js index eb88f718b90..9e0f67016ca 100644 --- a/packages/eui/src-docs/src/views/theme/theme_example.js +++ b/packages/eui/src-docs/src/views/theme/theme_example.js @@ -33,16 +33,13 @@ export const ThemeExample = { <>

- EUI is in the progress of switching it's core styles processor - from Sass to Emotion. To - take full advantage of this context layer, wrap the root of your - application with a single{' '} + While{' '} EuiProvider - - . While EuiProvider should not be included more than - once, you may use multiple nested EuiThemeProviders{' '} - to customize section-specific or component-specific{' '} + {' '} + should not be included more than once at the top level of your app, + you may use multiple nested EuiThemeProviders to + customize section-specific or component-specific{' '} color modes {' '} @@ -57,32 +54,44 @@ export const ThemeExample = { text: ( <>

- The context layer that enables theming (including the default theme - styles) comes from EuiThemeProvider.{' '} - EuiThemeProvider accepts three props, all of - which have default values and are therefore optional. To use the - default EUI theme, no configuration is required. + The context layer that enables theming comes from{' '} + EuiThemeProvider.{' '} + EuiThemeProvider accepts four main props (all of + which have default values and are therefore optional):

  • - theme: EuiThemeSystem Raw theme - values. Calculated values are acceptable. + theme: Raw theme values. + Calculated values are acceptable. For the full shape of an EUI + theme, see the{' '} + + global values + {' '} + page.
  • - colorMode: EuiThemeColorMode{' '} - Simply {"'light'"} or {"'dark'"} + modify: Accepts an object of + overrides for theme values. For usage examples, see{' '} + + Simple instance overrides + {' '} + below.
  • - modify: EuiThemeModifications{' '} - Overrides and modifications for theme values. + colorMode: Accepts 'light', + 'dark', or 'inverse'. For usage, see the{' '} + Color mode page. +
  • +
  • + highContrastMode: Accepts a + true/false boolean. For usage, see the{' '} + + High contrast mode + {' '} + page.
-

- The concept for each prop is explained in subsequent sections. More - information on the full shape of an EUI theme, see the{' '} - Global Values{' '} - page. -

+

To use the default EUI theme, no configuration is required.

), demo: , @@ -99,25 +108,27 @@ export const ThemeExample = { text: ( <>

- Using the react hook useEuiTheme() makes it very - easy to consume the EUI static and computed variables like colors - and sizing. It simply passes back an object of the current theme - which includes + Using the React hook useEuiTheme() makes it very + easy to consume EUI's static and computed variables, like colors and + sizing. It simply passes back an object of the current theme which + includes:

  • - euiTheme: EuiThemeComputed All - the calculated keys including any modifications + euiTheme: All the calculated keys + including any modifications +
  • +
  • + modifications: Only the + modification keys
  • - colorMode: EuiThemeColorMode{' '} - Simply {"'light'"} or {"'dark'"} + colorMode: Either "LIGHT" or + "DARK"
  • - - modifications: EuiThemeModifications - {' '} - Only the modification keys + highContrastMode: Either + 'forced', 'preferred', or false

diff --git a/packages/eui/src/components/provider/provider.stories.tsx b/packages/eui/src/components/provider/provider.stories.tsx index 08115a748b9..375aa2cb1da 100644 --- a/packages/eui/src/components/provider/provider.stories.tsx +++ b/packages/eui/src/components/provider/provider.stories.tsx @@ -8,8 +8,11 @@ import React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; - import { SPREAD_STORY_ARGS_MARKER } from '../../../.storybook/addons/code-snippet/constants'; + +import { EuiPanel } from '../panel'; +import { EuiCode } from '../code'; + import { EuiProvider, EuiProviderProps } from './provider'; const meta: Meta> = { @@ -18,30 +21,99 @@ const meta: Meta> = { argTypes: { colorMode: { control: 'select', - options: ['light', 'dark', 'inverse', 'LIGHT', 'DARK', 'INVERSE'], + options: [ + undefined, + 'light', + 'dark', + 'inverse', + 'LIGHT', + 'DARK', + 'INVERSE', + ], + }, + highContrastMode: { + control: 'select', + options: [undefined, true, false], }, modify: { control: 'object' }, componentDefaults: { control: 'object' }, - globalStyles: { control: 'boolean' }, - utilityClasses: { control: 'boolean' }, + globalStyles: { + control: 'boolean', + mapping: { true: undefined, false: false }, + }, + utilityClasses: { + control: 'boolean', + mapping: { true: undefined, false: false }, + }, + }, + parameters: { + codeSnippet: { + snippet: ` + + `, + }, }, }; export default meta; type Story = StoryObj>; -export const FontDefaultUnits: Story = { +export const Playground: Story = { + render: () => ( + <> + + Setting globalStyles to false will remove all body + and font styles, but retain component styles (e.g. this{' '} + EuiPanel). + + + Setting utilityClasses to false will remove the + centering on this text, which has .eui-textCenter{' '} + applied. + + + ), +}; + +export const SystemDefaults: Story = { parameters: { - codeSnippet: { - snippet: ` - - `, + controls: { + include: ['colorMode', 'highContrastMode'], + }, + }, + argTypes: { + colorMode: { + control: 'radio', + options: [undefined, 'light', 'dark'], + }, + highContrastMode: { + control: 'radio', + options: [undefined, false, true], }, }, + args: { + colorMode: undefined, + highContrastMode: undefined, + }, + // _args is needed (even if unused) for controls.include to work as expected + // see https://github.com/storybookjs/storybook/issues/23343 + render: (_args) => ( + + When undefined, colorMode and{' '} + highContrastMode will inherit from the user's OS/system + settings. + + ), +}; + +export const FontDefaultUnits: Story = { + parameters: { + controls: { include: ['modify'] }, + }, args: { modify: { font: { defaultUnits: 'rem' } }, }, - render: () => ( + render: (_args) => ( <> Change `modify.font.defaultUnits` to{' '} `rem`, `em`, or `px` and then inspect this demo's `html` diff --git a/packages/eui/src/components/provider/provider.test.tsx b/packages/eui/src/components/provider/provider.test.tsx index c738185d7ac..3247f0047bc 100644 --- a/packages/eui/src/components/provider/provider.test.tsx +++ b/packages/eui/src/components/provider/provider.test.tsx @@ -11,10 +11,10 @@ import { render } from '@testing-library/react'; // Note - don't use the EUI cus import { cache as emotionCache } from '@emotion/css'; import createCache from '@emotion/cache'; -import { setEuiDevProviderWarning } from '../../services'; -import { EuiSystemColorModeProvider } from './system_color_mode'; -jest.mock('./system_color_mode', () => ({ - EuiSystemColorModeProvider: jest.fn(({ children }: any) => children('LIGHT')), +import { setEuiDevProviderWarning, useEuiTheme } from '../../services'; +import { useWindowMediaMatcher } from './system_defaults/match_media_hook'; +jest.mock('./system_defaults/match_media_hook', () => ({ + useWindowMediaMatcher: jest.fn(), })); import { EuiProvider } from './provider'; @@ -158,10 +158,10 @@ describe('EuiProvider', () => { }); describe('colorMode', () => { - beforeEach(() => { - (EuiSystemColorModeProvider as jest.Mock).mockImplementationOnce( - ({ children }) => children('DARK') - ); + beforeAll(() => { + (useWindowMediaMatcher as jest.Mock).mockImplementation((media) => { + if (media === '(prefers-color-scheme: dark)') return true; + }); }); it('inherits from system color mode by default', () => { @@ -192,6 +192,40 @@ describe('EuiProvider', () => { expect(getByText('Light mode')).toHaveStyleRule('color', '#aaa'); }); }); + + describe('highContrastMode', () => { + const Output = () => { + const { highContrastMode } = useEuiTheme(); + return <>{String(highContrastMode)}; + }; + + beforeEach(() => { + (useWindowMediaMatcher as jest.Mock).mockImplementation((media) => { + if (media === '(prefers-contrast: more)') return true; + }); + }); + afterEach(jest.resetAllMocks); + + it('inherits from system contrast preference by default', () => { + const { container } = render( + + + + ); + + expect(container.textContent).toEqual('preferred'); + }); + + it('overrides the system preference with the passed prop', () => { + const { container } = render( + + + + ); + + expect(container.textContent).toEqual('false'); + }); + }); }); describe('nested EuiProviders', () => { diff --git a/packages/eui/src/components/provider/provider.tsx b/packages/eui/src/components/provider/provider.tsx index dba42b595ab..9f023ac0188 100644 --- a/packages/eui/src/components/provider/provider.tsx +++ b/packages/eui/src/components/provider/provider.tsx @@ -14,6 +14,7 @@ import { EuiThemeProviderProps, EuiThemeSystem, EuiThemeColorMode, + EuiThemeHighContrastModeProp, } from '../../services'; import { emitEuiProviderWarning } from '../../services/theme/warning'; import { cache as fallbackCache } from '../../services/emotion/css'; @@ -26,7 +27,7 @@ import { EuiUtilityClasses } from '../../global_styling/utility/utility'; import { EuiThemeAmsterdam } from '../../themes'; import { EuiCacheProvider } from './cache'; -import { EuiSystemColorModeProvider } from './system_color_mode'; +import { EuiSystemDefaultsProvider } from './system_defaults'; import { EuiProviderNestedCheck, useIsNestedEuiProvider } from './nested'; import { EuiComponentDefaults, @@ -51,6 +52,14 @@ export interface EuiProviderProps * Defaults to the user's OS/system setting if undefined. */ colorMode?: EuiThemeColorMode; + /** + * Allows enabling a high contrast mode preference for better accessibility. + * Defaults to the user's OS/system setting if undefined. + * + * - @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast + * - @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors (system only, supercedes this prop) + */ + highContrastMode?: EuiThemeHighContrastModeProp; /** * Provide global styles via `@emotion/react` `Global` for your custom theme. * Pass `false` to remove the default EUI global styles. @@ -95,6 +104,7 @@ export const EuiProvider = ({ globalStyles: Globals = EuiGlobalStyles, utilityClasses: Utilities = EuiUtilityClasses, colorMode, + highContrastMode, modify, componentDefaults, children, @@ -134,33 +144,30 @@ export const EuiProvider = ({ return ( - - {(systemColorMode) => ( - - {theme && ( - <> - } - /> - } - /> - - )} - - {children} - - - )} - + + + {theme && ( + <> + } + /> + } + /> + + )} + + {children} + + + ); diff --git a/packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.test.tsx b/packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.test.tsx deleted file mode 100644 index 2782e05d67a..00000000000 --- a/packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.test.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import React from 'react'; -import { render, act } from '@testing-library/react'; - -import { EuiSystemColorModeProvider } from './system_color_mode_provider'; - -describe('EuiSystemColorModeProvider', () => { - // @see https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom - const mockAddEventListener = jest.fn(); - const mockRemoveEventListener = jest.fn(); - const mockMatchMedia = (matches = false) => { - Object.defineProperty(window, 'matchMedia', { - writable: true, - value: jest.fn((query) => ({ - matches, - media: query, - addEventListener: mockAddEventListener, - removeEventListener: mockRemoveEventListener, - })), - }); - }; - - beforeEach(() => { - mockMatchMedia(); - jest.clearAllMocks(); - }); - - it('falls back to light mode if no dark mode media query has been set', () => { - const { container } = render( - - {(systemColorMode) => <>{systemColorMode}} - - ); - - expect(container.textContent).toEqual('LIGHT'); - }); - - it('detects dark mode system settings', () => { - mockMatchMedia(true); - const { container } = render( - - {(systemColorMode) => <>{systemColorMode}} - - ); - - expect(container.textContent).toEqual('DARK'); - }); - - describe('event listener', () => { - it('initializes an event listener that listens for system light/dark mode changes', () => { - const { container } = render( - - {(systemColorMode) => <>{systemColorMode}} - - ); - expect(container.textContent).toEqual('LIGHT'); - - expect(mockAddEventListener).toHaveBeenCalledWith( - 'change', - expect.any(Function) - ); - act(() => { - mockAddEventListener.mock.calls[0][1]({ matches: true }); - }); - - expect(container.textContent).toEqual('DARK'); - }); - - it('removes the event listener on unmount', () => { - const { unmount } = render( - - {(systemColorMode) => <>{systemColorMode}} - - ); - unmount(); - expect(mockRemoveEventListener).toHaveBeenCalledTimes(1); - }); - }); -}); diff --git a/packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.tsx b/packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.tsx deleted file mode 100644 index 9148a16e0cb..00000000000 --- a/packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { FunctionComponent, ReactElement, useState, useEffect } from 'react'; -import { EuiThemeColorModeStandard } from '../../../services'; - -export const COLOR_MODE_MEDIA_QUERY = '(prefers-color-scheme: dark)'; - -export const EuiSystemColorModeProvider: FunctionComponent<{ - children: (systemColorMode: EuiThemeColorModeStandard) => ReactElement; -}> = ({ children }) => { - // Check typeof and use optional chaining for SSR or test environments - const [systemColorMode, setSystemColorMode] = - useState(() => - typeof window !== 'undefined' && - window.matchMedia?.(COLOR_MODE_MEDIA_QUERY)?.matches - ? 'DARK' - : 'LIGHT' - ); - - // Listen for system changes - useEffect(() => { - const eventListener = (event: MediaQueryListEvent) => { - setSystemColorMode(event.matches ? 'DARK' : 'LIGHT'); - }; - - // Optional chaining here is for test environments - SSR should not run useEffect - window - .matchMedia?.(COLOR_MODE_MEDIA_QUERY) - .addEventListener?.('change', eventListener); - - // Clean up the listener on unmount - return () => { - window - .matchMedia?.(COLOR_MODE_MEDIA_QUERY) - .removeEventListener?.('change', eventListener); - }; - }, []); - - return children(systemColorMode); -}; diff --git a/packages/eui/src/components/provider/system_color_mode/index.ts b/packages/eui/src/components/provider/system_defaults/index.ts similarity index 72% rename from packages/eui/src/components/provider/system_color_mode/index.ts rename to packages/eui/src/components/provider/system_defaults/index.ts index 122c0a3402f..bfedd7889a5 100644 --- a/packages/eui/src/components/provider/system_color_mode/index.ts +++ b/packages/eui/src/components/provider/system_defaults/index.ts @@ -6,4 +6,5 @@ * Side Public License, v 1. */ -export { EuiSystemColorModeProvider } from './system_color_mode_provider'; +export { EuiSystemDefaultsProvider } from './system_defaults_provider'; +export { useWindowMediaMatcher } from './match_media_hook'; diff --git a/packages/eui/src/components/provider/system_defaults/match_media_hook.test.ts b/packages/eui/src/components/provider/system_defaults/match_media_hook.test.ts new file mode 100644 index 00000000000..14fea97480b --- /dev/null +++ b/packages/eui/src/components/provider/system_defaults/match_media_hook.test.ts @@ -0,0 +1,71 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { renderHook, renderHookAct } from '../../../test/rtl'; + +import { useWindowMediaMatcher } from './match_media_hook'; + +describe('useWindowMediaMatcher', () => { + const useMockMediaQuery = () => useWindowMediaMatcher('(min-width: 500px)'); + + // @see https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom + const mockAddEventListener = jest.fn(); + const mockRemoveEventListener = jest.fn(); + const mockMatchMedia = (matches: boolean) => { + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: jest.fn((query) => ({ + matches, + media: query, + addEventListener: mockAddEventListener, + removeEventListener: mockRemoveEventListener, + })), + }); + }; + + beforeEach(() => jest.clearAllMocks()); + + describe('returns the `.matches` value of the window.matchMedia', () => { + test('true', () => { + mockMatchMedia(true); + const { result } = renderHook(useMockMediaQuery); + expect(result.current).toEqual(true); + }); + + test('false', () => { + mockMatchMedia(false); + const { result } = renderHook(useMockMediaQuery); + expect(result.current).toEqual(false); + }); + }); + + describe('event listener', () => { + it('initializes an event listener that listens for changes to the media query', () => { + mockMatchMedia(false); + + const { result } = renderHook(useMockMediaQuery); + expect(result.current).toEqual(false); + + expect(mockAddEventListener).toHaveBeenCalledWith( + 'change', + expect.any(Function) + ); + renderHookAct(() => { + mockAddEventListener.mock.calls[0][1]({ matches: true }); + }); + + expect(result.current).toEqual(true); + }); + + it('removes the event listener on unmount', () => { + const { unmount } = renderHook(useMockMediaQuery); + unmount(); + expect(mockRemoveEventListener).toHaveBeenCalledTimes(1); + }); + }); +}); diff --git a/packages/eui/src/components/provider/system_defaults/match_media_hook.ts b/packages/eui/src/components/provider/system_defaults/match_media_hook.ts new file mode 100644 index 00000000000..16f956e8c20 --- /dev/null +++ b/packages/eui/src/components/provider/system_defaults/match_media_hook.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useState, useEffect } from 'react'; + +export const useWindowMediaMatcher = (mediaQuery: string) => { + // Check typeof and use optional chaining for SSR or test environments + const [mediaMatches, setMediaMatches] = useState( + () => + typeof window !== 'undefined' && + (window?.matchMedia?.(mediaQuery)?.matches ?? false) + ); + + // Listen for system changes + useEffect(() => { + const eventListener = (event: MediaQueryListEvent) => { + setMediaMatches(event.matches); + }; + + // Optional chaining here is for test environments - SSR should not run useEffect + window.matchMedia?.(mediaQuery).addEventListener?.('change', eventListener); + + // Clean up the listener on unmount + return () => { + window + .matchMedia?.(mediaQuery) + .removeEventListener?.('change', eventListener); + }; + }, [mediaQuery]); + + return mediaMatches; +}; diff --git a/packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.server.test.tsx b/packages/eui/src/components/provider/system_defaults/system_defaults_provider.server.test.tsx similarity index 70% rename from packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.server.test.tsx rename to packages/eui/src/components/provider/system_defaults/system_defaults_provider.server.test.tsx index d05f44e68a7..dc56987af6d 100644 --- a/packages/eui/src/components/provider/system_color_mode/system_color_mode_provider.server.test.tsx +++ b/packages/eui/src/components/provider/system_defaults/system_defaults_provider.server.test.tsx @@ -13,17 +13,16 @@ import React from 'react'; import { renderToString } from 'react-dom/server'; -import { EuiSystemColorModeProvider } from './system_color_mode_provider'; +import { EuiSystemDefaultsProvider } from './system_defaults_provider'; -describe('EuiSystemColorModeProvider', () => { +describe('EuiSystemDefaultsProvider', () => { it('handles server-side rendering without crashing', () => { - const children = jest.fn(() => <>Test); - const renderOnServer = () => - renderToString(); + renderToString( + Test + ); expect(renderOnServer).not.toThrow(); expect(renderOnServer()).toEqual('Test'); - expect(children).toHaveBeenCalledWith('LIGHT'); }); }); diff --git a/packages/eui/src/components/provider/system_defaults/system_defaults_provider.test.tsx b/packages/eui/src/components/provider/system_defaults/system_defaults_provider.test.tsx new file mode 100644 index 00000000000..d57c37d7855 --- /dev/null +++ b/packages/eui/src/components/provider/system_defaults/system_defaults_provider.test.tsx @@ -0,0 +1,101 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; + +import { useEuiTheme } from '../../../services'; + +jest.mock('./match_media_hook', () => ({ + useWindowMediaMatcher: jest.fn(), +})); +import { useWindowMediaMatcher } from './match_media_hook'; + +import { EuiSystemDefaultsProvider } from './system_defaults_provider'; + +describe('EuiSystemDefaultsProvider', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + describe('color mode', () => { + const Output = () => { + const { colorMode } = useEuiTheme(); + return <>{colorMode}; + }; + + it('falls back to light mode if no dark mode media query has been set', () => { + const { container } = render( + + + + ); + + expect(container.textContent).toEqual('LIGHT'); + }); + + it('detects dark mode system settings', () => { + (useWindowMediaMatcher as jest.Mock).mockImplementation((media) => { + if (media === '(prefers-color-scheme: dark)') return true; + }); + + const { container } = render( + + + + ); + + expect(container.textContent).toEqual('DARK'); + }); + }); + + describe('high contrast mode', () => { + const Output = () => { + const { highContrastMode } = useEuiTheme(); + return <>{String(highContrastMode)}; + }; + + it('returns `false` if no contrast-related media query has been set', () => { + const { container } = render( + + + + ); + + expect(container.textContent).toEqual('false'); + }); + + it('returns `preferred` for MacOS high contrast mode', () => { + (useWindowMediaMatcher as jest.Mock).mockImplementation((media) => { + if (media === '(prefers-contrast: more)') return true; + }); + + const { container } = render( + + + + ); + + expect(container.textContent).toEqual('preferred'); + }); + + it('returns `forced` for Windows high contrast mode', () => { + (useWindowMediaMatcher as jest.Mock).mockImplementation((media) => { + if (media === '(forced-colors: active)') return true; + }); + + const { container } = render( + + + + ); + + expect(container.textContent).toEqual('forced'); + }); + }); +}); diff --git a/packages/eui/src/components/provider/system_defaults/system_defaults_provider.tsx b/packages/eui/src/components/provider/system_defaults/system_defaults_provider.tsx new file mode 100644 index 00000000000..db9a81a18d0 --- /dev/null +++ b/packages/eui/src/components/provider/system_defaults/system_defaults_provider.tsx @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { FunctionComponent, PropsWithChildren } from 'react'; +import { + EuiColorModeContext, + EuiHighContrastModeContext, +} from '../../../services'; + +import { useWindowMediaMatcher } from './match_media_hook'; + +export const EuiSystemDefaultsProvider: FunctionComponent< + PropsWithChildren +> = ({ children }) => { + // @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme + const systemColorMode = useWindowMediaMatcher('(prefers-color-scheme: dark)') + ? 'DARK' + : 'LIGHT'; + + // There are different types of high contrast modes based on system/OS settings. @see: + // - https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast + // - https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors + // - https://kilianvalkhof.com/2023/css-html/i-no-longer-understand-prefers-contrast/ + const windowsHighContrast = useWindowMediaMatcher('(forced-colors: active)'); + const macHighContrast = useWindowMediaMatcher('(prefers-contrast: more)'); + const systemHighContrastMode = windowsHighContrast + ? 'forced' + : macHighContrast + ? 'preferred' + : false; + + return ( + + + {children} + + + ); +}; diff --git a/packages/eui/src/services/theme/context.ts b/packages/eui/src/services/theme/context.ts index d366a2ffba8..c2a10167bf5 100644 --- a/packages/eui/src/services/theme/context.ts +++ b/packages/eui/src/services/theme/context.ts @@ -9,6 +9,7 @@ import { createContext } from 'react'; import { EuiThemeColorModeStandard, + EuiThemeHighContrastMode, EuiThemeSystem, EuiThemeModifications, EuiThemeComputed, @@ -17,15 +18,27 @@ import { import { EuiThemeAmsterdam } from '../../themes/amsterdam/theme'; import { DEFAULT_COLOR_MODE, getComputed } from './utils'; -export const EuiSystemContext = - createContext(EuiThemeAmsterdam); -export const EuiModificationsContext = createContext({}); -export const EuiColorModeContext = - createContext(DEFAULT_COLOR_MODE); +export const DEFAULTS = { + system: EuiThemeAmsterdam, + modifications: {}, + colorMode: DEFAULT_COLOR_MODE, + highContrastMode: false as const, +}; + +export const EuiSystemContext = createContext(DEFAULTS.system); +export const EuiModificationsContext = createContext( + DEFAULTS.modifications +); +export const EuiColorModeContext = createContext( + DEFAULTS.colorMode +); +export const EuiHighContrastModeContext = + createContext(DEFAULTS.highContrastMode); + export const defaultComputedTheme = getComputed( - EuiThemeAmsterdam, - {}, - DEFAULT_COLOR_MODE + DEFAULTS.system, + DEFAULTS.modifications, + DEFAULTS.colorMode ); export const EuiThemeContext = createContext(defaultComputedTheme); diff --git a/packages/eui/src/services/theme/high_contrast_overrides.test.tsx b/packages/eui/src/services/theme/high_contrast_overrides.test.tsx new file mode 100644 index 00000000000..dad334e3739 --- /dev/null +++ b/packages/eui/src/services/theme/high_contrast_overrides.test.tsx @@ -0,0 +1,93 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { render } from '../../test/rtl'; + +import { EuiThemeProvider } from './provider'; + +describe('high contrast mode modification overrides', () => { + it('overrides the theme border color', () => { + const { getByText } = render( + +

({ border: euiTheme.border.thin })}> + High contrast light mode + +
({ border: euiTheme.border.thin })}> + High contrast dark mode +
+
+ +
({ border: euiTheme.border.thin })}> + Not high contrast mode +
+
+
+ + ); + + expect(getByText('High contrast light mode')).toHaveStyleRule( + 'border', + '1px solid #000' + ); + expect(getByText('High contrast dark mode')).toHaveStyleRule( + 'border', + '1px solid #FFF' + ); + expect(getByText('Not high contrast mode')).toHaveStyleRule( + 'border', + '1px solid #D3DAE6' + ); + }); + + it('overrides consumer border color modifications', () => { + const modify = { + colors: { + LIGHT: { border: '#aaa' }, + DARK: { border: '#333' }, + }, + }; + const { getByText } = render( + +
({ borderColor: euiTheme.border.color })}> + High contrast mode +
+
+ ); + + expect(getByText('High contrast mode')).toHaveStyleRule( + 'border-color', + '#000' + ); + }); + + it('preserves modified border widths', () => { + const { getByText } = render( + +
({ border: euiTheme.border.thin })}> + Thin border +
+
({ border: euiTheme.border.thick })}> + Thick border +
+
+ ); + + expect(getByText('Thin border')).toHaveStyleRule( + 'border', + '5px solid #000' + ); + expect(getByText('Thick border')).toHaveStyleRule( + 'border', + '10px solid #000' + ); + }); +}); diff --git a/packages/eui/src/services/theme/high_contrast_overrides.ts b/packages/eui/src/services/theme/high_contrast_overrides.ts new file mode 100644 index 00000000000..01e30f6205c --- /dev/null +++ b/packages/eui/src/services/theme/high_contrast_overrides.ts @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useMemo } from 'react'; + +import type { + EuiThemeHighContrastMode, + EuiThemeColorModeStandard, + EuiThemeSystem, + EuiThemeModifications, +} from './types'; + +// Rather than being calculated when the theme's styles are being computed, we're bogarting the +// `modify` logic so we can ensure consumer modifications to border-color are also overriden. +// If in the future we need more complex high contrast mode logic (e.g. changing color tokens) +// we'll need to actually dive into theme/utils.ts's Computed.getValue logic at that point. +export const useHighContrastModifications = ({ + highContrastMode, + colorMode, + system, + modifications, +}: { + highContrastMode: EuiThemeHighContrastMode; + colorMode: EuiThemeColorModeStandard; + system: EuiThemeSystem; + modifications: EuiThemeModifications; +}) => { + const highContrastModifications = useMemo(() => { + const borderColor = system.root.colors[colorMode].fullShade; + const getBorderWidth = (width: 'thin' | 'thick') => + modifications?.border?.width?.[width] || system.root.border.width[width]; + + return { + border: { + color: borderColor, + thin: `${getBorderWidth('thin')} solid ${borderColor}`, + thick: `${getBorderWidth('thick')} solid ${borderColor}`, + }, + }; + }, [system, colorMode, modifications?.border?.width]); + + // Memoizing the object(s) returned is important for performance/referential equality + return useMemo(() => { + return highContrastMode + ? { ...modifications, ...highContrastModifications } + : modifications; + }, [highContrastMode, modifications, highContrastModifications]); +}; diff --git a/packages/eui/src/services/theme/hooks.test.tsx b/packages/eui/src/services/theme/hooks.test.tsx index d2cb442fe06..f483565ab7e 100644 --- a/packages/eui/src/services/theme/hooks.test.tsx +++ b/packages/eui/src/services/theme/hooks.test.tsx @@ -27,6 +27,7 @@ describe('useEuiTheme', () => { expect(result.current).toEqual({ euiTheme: expect.any(Object), colorMode: 'LIGHT', + highContrastMode: false, modifications: {}, }); }); @@ -68,7 +69,7 @@ describe('withEuiTheme', () => { it('provides underlying class components with a `theme` prop', () => { const { container } = render(); expect(container.firstChild!.textContent).toEqual( - 'euiTheme,colorMode,modifications' + 'euiTheme,colorMode,highContrastMode,modifications' ); }); }); @@ -81,7 +82,7 @@ describe('RenderWithEuiTheme', () => { ); expect(container.firstChild!.textContent).toEqual( - 'euiTheme,colorMode,modifications' + 'euiTheme,colorMode,highContrastMode,modifications' ); }); }); diff --git a/packages/eui/src/services/theme/hooks.tsx b/packages/eui/src/services/theme/hooks.tsx index bf87146612e..a4e71035ea6 100644 --- a/packages/eui/src/services/theme/hooks.tsx +++ b/packages/eui/src/services/theme/hooks.tsx @@ -12,12 +12,14 @@ import { EuiThemeContext, EuiModificationsContext, EuiColorModeContext, + EuiHighContrastModeContext, defaultComputedTheme, EuiNestedThemeContext, } from './context'; import { emitEuiProviderWarning } from './warning'; import { EuiThemeColorModeStandard, + EuiThemeHighContrastMode, EuiThemeModifications, EuiThemeComputed, } from './types'; @@ -31,12 +33,14 @@ Wrap your component in \`EuiProvider\`: https://ela.st/euiprovider.`; export interface UseEuiTheme { euiTheme: EuiThemeComputed; colorMode: EuiThemeColorModeStandard; + highContrastMode: EuiThemeHighContrastMode; modifications: EuiThemeModifications; } export const useEuiTheme = (): UseEuiTheme => { const theme = useContext(EuiThemeContext); const colorMode = useContext(EuiColorModeContext); + const highContrastMode = useContext(EuiHighContrastModeContext); const modifications = useContext(EuiModificationsContext); const isFallback = theme === defaultComputedTheme; @@ -48,9 +52,10 @@ export const useEuiTheme = (): UseEuiTheme => { () => ({ euiTheme: theme as EuiThemeComputed, colorMode, + highContrastMode, modifications: modifications as EuiThemeModifications, }), - [theme, colorMode, modifications] + [theme, colorMode, highContrastMode, modifications] ); return assembledTheme; diff --git a/packages/eui/src/services/theme/index.ts b/packages/eui/src/services/theme/index.ts index bed57027402..841947db4c8 100644 --- a/packages/eui/src/services/theme/index.ts +++ b/packages/eui/src/services/theme/index.ts @@ -12,6 +12,7 @@ export { EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext, + EuiHighContrastModeContext, } from './context'; export type { UseEuiTheme, WithEuiThemeProps } from './hooks'; export { @@ -44,6 +45,8 @@ export type { ComputedThemeShape, EuiThemeColorMode, EuiThemeColorModeStandard, + EuiThemeHighContrastMode, + EuiThemeHighContrastModeProp, EuiThemeComputed, EuiThemeModifications, EuiThemeShape, diff --git a/packages/eui/src/services/theme/provider.stories.tsx b/packages/eui/src/services/theme/provider.stories.tsx index 7ce87e1b4d8..63c8a20f6aa 100644 --- a/packages/eui/src/services/theme/provider.stories.tsx +++ b/packages/eui/src/services/theme/provider.stories.tsx @@ -9,6 +9,8 @@ import React, { FunctionComponent, useEffect } from 'react'; import type { Meta, StoryObj } from '@storybook/react'; +import { EuiPanel } from '../../components/panel'; + import { useEuiThemeCSSVariables } from './hooks'; import { EuiThemeProvider, EuiThemeProviderProps } from './provider'; @@ -21,6 +23,9 @@ export default meta; type Story = StoryObj>; export const WrapperCloneElement: Story = { + parameters: { + loki: { skip: true }, + }, args: { wrapperProps: { cloneElement: true, @@ -101,3 +106,23 @@ const MockComponent: FunctionComponent<{

); }; + +/** + * VRT only stories + */ + +export const DarkMode: Story = { + tags: ['vrt-only'], + args: { + colorMode: 'dark', + children: Dark mode, + }, +}; + +export const HighContrastMode: Story = { + tags: ['vrt-only'], + args: { + highContrastMode: true, + children: High contrast mode, + }, +}; diff --git a/packages/eui/src/services/theme/provider.test.tsx b/packages/eui/src/services/theme/provider.test.tsx index 539016bca0a..6637ec645b0 100644 --- a/packages/eui/src/services/theme/provider.test.tsx +++ b/packages/eui/src/services/theme/provider.test.tsx @@ -11,8 +11,17 @@ import { render } from '@testing-library/react'; // Note - don't use the EUI cus import { css } from '@emotion/react'; import { EuiProvider } from '../../components/provider'; +import { + EuiSystemDefaultsProvider, + useWindowMediaMatcher, +} from '../../components/provider/system_defaults'; +jest.mock('../../components/provider/system_defaults/match_media_hook', () => ({ + useWindowMediaMatcher: jest.fn(), +})); import { useCurrentEuiBreakpoint } from '../breakpoint'; import { EuiNestedThemeContext } from './context'; +import { useEuiTheme } from './hooks'; + import { EuiThemeProvider } from './provider'; describe('EuiThemeProvider', () => { @@ -60,6 +69,75 @@ describe('EuiThemeProvider', () => { }); }); + describe('highContrastMode', () => { + const Output = () => { + const { highContrastMode } = useEuiTheme(); + return <>{String(highContrastMode)}; + }; + + afterEach(() => { + (useWindowMediaMatcher as jest.Mock).mockReset(); + }); + + it('always sets the contrast mode to forced if inherited from the system, overriding any application prop', () => { + (useWindowMediaMatcher as jest.Mock).mockImplementation((media) => { + if (media === '(forced-colors: active)') return true; + }); + + const { container } = render( + + + + + + ); + + expect(container.textContent).toEqual('forced'); + }); + + it("converts true to 'preferred'", () => { + const { container } = render( + + + + + + ); + + expect(container.textContent).toEqual('preferred'); + }); + + it('leaves false as `false`', () => { + const { container } = render( + + + + + + ); + + expect(container.textContent).toEqual('false'); + }); + + it('falls back to the system/parent contrast mode if not specified', () => { + (useWindowMediaMatcher as jest.Mock).mockImplementation((media) => { + if (media === '(prefers-contrast: more)') return true; + }); + + const { container } = render( + + + + + + ); + + expect(container.textContent).toEqual('preferred'); + }); + + // see high_contrast_overrides.test.tsx for tests that output styles are correctly overridden + }); + describe('modify', () => { it('allows overriding theme tokens', () => { const { getByText } = render( diff --git a/packages/eui/src/services/theme/provider.tsx b/packages/eui/src/services/theme/provider.tsx index c5a6957e8c3..2cf12cb62c3 100644 --- a/packages/eui/src/services/theme/provider.tsx +++ b/packages/eui/src/services/theme/provider.tsx @@ -31,13 +31,18 @@ import { EuiNestedThemeContext, EuiModificationsContext, EuiColorModeContext, + EuiHighContrastModeContext, + DEFAULTS, } from './context'; import { EuiEmotionThemeProvider } from './emotion'; import { EuiThemeMemoizedStylesProvider } from './style_memoization'; +import { useHighContrastModifications } from './high_contrast_overrides'; import { buildTheme, getColorMode, getComputed, mergeDeep } from './utils'; import { EuiThemeColorMode, EuiThemeColorModeStandard, + EuiThemeHighContrastModeProp, + EuiThemeHighContrastMode, EuiThemeSystem, EuiThemeModifications, } from './types'; @@ -45,6 +50,7 @@ import { export interface EuiThemeProviderProps extends PropsWithChildren { theme?: EuiThemeSystem; colorMode?: EuiThemeColorMode; + highContrastMode?: EuiThemeHighContrastModeProp; modify?: EuiThemeModifications; children: any; /** @@ -64,6 +70,7 @@ export interface EuiThemeProviderProps extends PropsWithChildren { export const EuiThemeProvider = ({ theme: _system, colorMode: _colorMode, + highContrastMode: _highContrastMode, modify: _modifications, children, wrapperProps, @@ -77,6 +84,7 @@ export const EuiThemeProvider = ({ const parentSystem = useContext(EuiSystemContext); const parentModifications = useContext(EuiModificationsContext); const parentColorMode = useContext(EuiColorModeContext); + const parentHighContrastMode = useContext(EuiHighContrastModeContext); const parentTheme = useContext(EuiThemeContext); const [system, setSystem] = useState(_system || parentSystem); @@ -101,10 +109,31 @@ export const EuiThemeProvider = ({ ); const prevColorMode = useRef(colorMode); + const highContrastMode: EuiThemeHighContrastMode = useMemo(() => { + if (parentHighContrastMode === 'forced') return 'forced'; // System forced high contrast mode will always supercede application settings + if (_highContrastMode === true) return 'preferred'; // Convert the boolean prop to our internal enum + if (_highContrastMode === false) return false; // Allow `false` prop to override user/system preference + return parentHighContrastMode; // Fall back to the parent/system setting + }, [_highContrastMode, parentHighContrastMode]); + const prevHighContrastMode = useRef(highContrastMode); + + const modificationsWithHighContrast = useHighContrastModifications({ + highContrastMode, + colorMode, + system, + modifications, + }); + const isParentTheme = useRef( - prevSystemKey.current === parentSystem.key && - colorMode === parentColorMode && - isEqual(parentModifications, modifications) + isGlobalTheme + ? prevSystemKey.current === DEFAULTS.system.key && + colorMode === DEFAULTS.colorMode && + highContrastMode === DEFAULTS.highContrastMode && + !_modifications + : prevSystemKey.current === parentSystem.key && + colorMode === parentColorMode && + highContrastMode === parentHighContrastMode && + isEqual(parentModifications, modifications) ); const [theme, setTheme] = useState( @@ -112,7 +141,7 @@ export const EuiThemeProvider = ({ ? { ...parentTheme } // Intentionally create a new object to break referential equality : getComputed( system, - buildTheme(modifications, `_${system.key}`) as typeof system, + buildTheme(modificationsWithHighContrast, `_${system.key}`), colorMode ) ); @@ -144,17 +173,23 @@ export const EuiThemeProvider = ({ } }, [_colorMode, parentColorMode]); + useEffect(() => { + if (prevHighContrastMode.current !== highContrastMode) { + isParentTheme.current = false; + } + }, [highContrastMode]); + useEffect(() => { if (!isParentTheme.current) { setTheme( getComputed( system, - buildTheme(modifications, `_${system.key}`) as typeof system, + buildTheme(modificationsWithHighContrast, `_${system.key}`), colorMode ) ); } - }, [colorMode, system, modifications]); + }, [colorMode, system, modificationsWithHighContrast]); const [themeCSSVariables, _setThemeCSSVariables] = useState(); const setThemeCSSVariables = useCallback( @@ -237,21 +272,23 @@ export const EuiThemeProvider = ({ )} - - - - - - - - {renderedChildren} - - - - - - - + + + + + + + + + {renderedChildren} + + + + + + + + ); diff --git a/packages/eui/src/services/theme/types.ts b/packages/eui/src/services/theme/types.ts index 04b93b40f20..df6242023e7 100644 --- a/packages/eui/src/services/theme/types.ts +++ b/packages/eui/src/services/theme/types.ts @@ -46,6 +46,12 @@ export type StrictColorModeSwitch = { [key in EuiThemeColorModeStandard]: T; }; +// Consumers can pass a boolean to manually toggle the preferred high contrast mode, +// but our internal high contrast mode enum is slightly more granular to account for +// Windows's high contrast themes, which force colors/backgrounds/shadows +export type EuiThemeHighContrastModeProp = boolean; +export type EuiThemeHighContrastMode = 'forced' | 'preferred' | false; + export type EuiThemeShape = { colors: _EuiThemeColors; /** - Default value: 16 */ diff --git a/packages/eui/src/themes/amsterdam/global_styling/mixins/shadow.ts b/packages/eui/src/themes/amsterdam/global_styling/mixins/shadow.ts index 21a2360c96e..f183e9423ce 100644 --- a/packages/eui/src/themes/amsterdam/global_styling/mixins/shadow.ts +++ b/packages/eui/src/themes/amsterdam/global_styling/mixins/shadow.ts @@ -8,6 +8,7 @@ import { useEuiTheme, UseEuiTheme } from '../../../../services/theme'; import { getShadowColor } from '../functions'; +import { logicalCSS } from '../../../../global_styling'; import { _EuiThemeShadowSize, _EuiThemeShadowCustomColor, @@ -21,10 +22,15 @@ export interface EuiShadowCustomColor { * euiSlightShadow */ export const euiShadowXSmall = ( - { euiTheme, colorMode }: UseEuiTheme, - { color: _color }: _EuiThemeShadowCustomColor = {} + { euiTheme, colorMode, highContrastMode }: UseEuiTheme, + options?: _EuiThemeShadowCustomColor ) => { - const color = _color || euiTheme.colors.shadow; + if (highContrastMode) { + return _highContrastBorderBottom(euiTheme); + } + + const color = options?.color || euiTheme.colors.shadow; + return ` box-shadow: 0 .8px .8px ${getShadowColor(color, 0.04, colorMode)}, @@ -36,10 +42,15 @@ box-shadow: * bottomShadowSmall */ export const euiShadowSmall = ( - { euiTheme, colorMode }: UseEuiTheme, - { color: _color }: _EuiThemeShadowCustomColor = {} + { euiTheme, colorMode, highContrastMode }: UseEuiTheme, + options?: _EuiThemeShadowCustomColor ) => { - const color = _color || euiTheme.colors.shadow; + if (highContrastMode) { + return _highContrastBorderBottom(euiTheme); + } + + const color = options?.color || euiTheme.colors.shadow; + return ` box-shadow: 0 .7px 1.4px ${getShadowColor(color, 0.07, colorMode)}, @@ -52,12 +63,16 @@ box-shadow: * bottomShadowMedium */ export const euiShadowMedium = ( - { euiTheme, colorMode }: UseEuiTheme, - { color: _color, property }: _EuiThemeShadowCustomColor = {} + { euiTheme, colorMode, highContrastMode }: UseEuiTheme, + options?: _EuiThemeShadowCustomColor ) => { - const color = _color || euiTheme.colors.shadow; + if (highContrastMode) { + return _highContrastBorderBottom(euiTheme); + } - if (property === 'filter') { + const color = options?.color || euiTheme.colors.shadow; + + if (options?.property === 'filter') { // Using only one drop-shadow filter instead of multiple is more performant & prevents Safari bugs return `filter: drop-shadow(0 5.7px 9px ${getShadowColor( color, @@ -77,10 +92,15 @@ export const euiShadowMedium = ( * bottomShadow */ export const euiShadowLarge = ( - { euiTheme, colorMode }: UseEuiTheme, - { color: _color }: _EuiThemeShadowCustomColor = {} + { euiTheme, colorMode, highContrastMode }: UseEuiTheme, + options?: _EuiThemeShadowCustomColor ) => { - const color = _color || euiTheme.colors.shadow; + if (highContrastMode) { + return _highContrastBorderBottom(euiTheme); + } + + const color = options?.color || euiTheme.colors.shadow; + return ` box-shadow: 0 1px 5px ${getShadowColor(color, 0.1, colorMode)}, @@ -97,10 +117,17 @@ export interface EuiShadowXLarge extends _EuiThemeShadowCustomColor { reverse?: boolean; } export const euiShadowXLarge = ( - { euiTheme, colorMode }: UseEuiTheme, - { color: _color, reverse }: EuiShadowXLarge = {} + { euiTheme, colorMode, highContrastMode }: UseEuiTheme, + options?: EuiShadowXLarge ) => { - const color = _color || euiTheme.colors.shadow; + if (highContrastMode) { + return _highContrastBorderBottom(euiTheme); + } + + const color = options?.color || euiTheme.colors.shadow; + + const reverse = options?.reverse ?? false; + return ` box-shadow: 0 ${reverse ? '-' : ''}2.7px 9px ${getShadowColor(color, 0.13, colorMode)}, @@ -113,10 +140,15 @@ box-shadow: * slightShadowHover */ export const euiSlightShadowHover = ( - { euiTheme, colorMode }: UseEuiTheme, - { color: _color }: _EuiThemeShadowCustomColor = {} + { euiTheme, colorMode, highContrastMode }: UseEuiTheme, + options?: _EuiThemeShadowCustomColor ) => { - const color = _color || euiTheme.colors.shadow; + if (highContrastMode) { + return _highContrastBorderBottom(euiTheme); + } + + const color = options?.color || euiTheme.colors.shadow; + return ` box-shadow: 0 1px 5px ${getShadowColor(color, 0.1, colorMode)}, @@ -139,10 +171,15 @@ export const useEuiSlightShadowHover = ( * Useful for popovers that drop UP rather than DOWN. */ export const euiShadowFlat = ( - { euiTheme, colorMode }: UseEuiTheme, - { color: _color }: _EuiThemeShadowCustomColor = {} + { euiTheme, colorMode, highContrastMode }: UseEuiTheme, + options?: _EuiThemeShadowCustomColor ) => { - const color = _color || euiTheme.colors.shadow; + if (highContrastMode) { + return _highContrastBorderBottom(euiTheme); + } + + const color = options?.color || euiTheme.colors.shadow; + return ` box-shadow: 0 0 .8px ${getShadowColor(color, 0.06, colorMode)}, @@ -161,19 +198,23 @@ export const useEuiShadowFlat = ( export const euiShadow = ( euiThemeContext: UseEuiTheme, size: _EuiThemeShadowSize = 'l', - { color }: _EuiThemeShadowCustomColor = {} + options?: _EuiThemeShadowCustomColor ) => { + if (euiThemeContext.highContrastMode) { + return _highContrastBorderBottom(euiThemeContext.euiTheme); + } + switch (size) { case 'xs': - return euiShadowXSmall(euiThemeContext, { color }); + return euiShadowXSmall(euiThemeContext, options); case 's': - return euiShadowSmall(euiThemeContext, { color }); + return euiShadowSmall(euiThemeContext, options); case 'm': - return euiShadowMedium(euiThemeContext, { color }); + return euiShadowMedium(euiThemeContext, options); case 'l': - return euiShadowLarge(euiThemeContext, { color }); + return euiShadowLarge(euiThemeContext, options); case 'xl': - return euiShadowXLarge(euiThemeContext, { color }); + return euiShadowXLarge(euiThemeContext, options); default: console.warn('Please provide a valid size option to useEuiShadow'); @@ -188,3 +229,12 @@ export const useEuiShadow = ( const euiThemeContext = useEuiTheme(); return euiShadow(euiThemeContext, size, { color }); }; + +/** + * Internal utilities for replacing shadows with high contrast borders instead. + * NOTE: Windows' high contrast themes ignore *all* `box-shadow` CSS, + * so we use `border` CSS explicitly instead of shadows + */ + +const _highContrastBorderBottom = ({ border }: UseEuiTheme['euiTheme']) => + logicalCSS('border-bottom', border.thin); diff --git a/packages/eui/src/themes/themes.ts b/packages/eui/src/themes/themes.ts index d2f714092df..8c51afb94a4 100644 --- a/packages/eui/src/themes/themes.ts +++ b/packages/eui/src/themes/themes.ts @@ -17,13 +17,8 @@ export interface EUI_THEME { export const EUI_THEMES: EUI_THEME[] = [ { - text: 'Light', - value: 'light', - provider: EuiThemeAmsterdam, - }, - { - text: 'Dark', - value: 'dark', + text: 'Amsterdam', + value: AMSTERDAM_NAME_KEY, provider: EuiThemeAmsterdam, }, ]; diff --git a/packages/website/docs/components/theming/color_mode.mdx b/packages/website/docs/components/theming/color_mode.mdx index d21612d4fe8..a29a9864a73 100644 --- a/packages/website/docs/components/theming/color_mode.mdx +++ b/packages/website/docs/components/theming/color_mode.mdx @@ -8,9 +8,11 @@ id: theming_color_mode The `colorMode` determines which values to return based on `LIGHT` or `DARK` mode. +By default, if this prop is not passed, **EuiProvider** will detect and use the user's system dark mode preference. If the prop _is_ passed, it will override the user's system settings. + import { ProviderDetails } from './provider_details'; - + ## Rendering a specific color mode diff --git a/packages/website/docs/components/theming/high_contrast_mode.mdx b/packages/website/docs/components/theming/high_contrast_mode.mdx new file mode 100644 index 00000000000..1251beeaad7 --- /dev/null +++ b/packages/website/docs/components/theming/high_contrast_mode.mdx @@ -0,0 +1,101 @@ +--- +sidebar_position: 2 +slug: /theming/high-contrast-mode +id: theming_high_contrast_mode +title: High contrast mode +--- + +import { EuiBetaBadge } from '@elastic/eui'; + +# High contrast mode + +The `highContrastMode` determines and sets certain un-overrideable modifications to the EUI theme, primarily around borders and shadows. Borders will always be pure black or white (depending on the color mode), and shadows will be entirely replaced with borders. + +By default, if this prop is not passed, **EuiProvider** will detect and use the user's system contrast preferences. + +## Rendering a specific contrast mode + +While it's usually best to keep all high contrast mode the same across your app for visual consistency, some instances may benefit from an exaggerated change in contrast. For this you can set **EuiThemeProvider**'s `highContrastMode` to `true`. + +:::warning +In general, we do not ever recommend manually turning off high contrast via `highContrastMode={false}`. Respect the user's contrast preferences where possible. +::: + +```tsx interactive +import React from 'react'; +import { + EuiThemeProvider, + EuiBasicTable, + EuiBasicTableColumn, +} from '@elastic/eui'; +import { faker } from '@faker-js/faker'; + +type User = { + firstName: string; + lastName: string; +}; + +const users: User[] = []; +for (let i = 0; i < 5; i++) { + users.push({ + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + }); +} + +const columns: Array> = [ + { + field: 'firstName', + name: 'First name', + }, + { + field: 'lastName', + name: 'Last name', + } +]; + +export default () => { + return ( + + + + ); +}; +``` + +## Forced contrast themes and colors + +Please note that some OSes and browsers have something called [forced colors mode](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors), which overrides **all** colors, backgrounds, borders, and shadows. An example of this is Windows High Contrast modes. + +Since this is done at a level that EUI can do nothing about, if forced colors mode is detected by **EuiProvider**, EUI will ignore *any* passed `highContrastMode` prop, as this user choice and system setting takes precedence. + +:::tip +To quickly test your application in forced colors mode without switching OS themes, you can [use Chrome or Edge's devtools to emulate forced-colors mode](https://devtoolstips.org/tips/en/emulate-forced-colors/). +::: + +## Reacting to user high contrast modes + +The detected or current `highContrastMode` is available via `useEuiTheme()`. It returns either `"forced"`, `"preferred"`, or simply `false`. You can use this information to (for example) conditionally render or opt out of rendering certain styles or colors. + +```tsx interactive +import React from 'react'; +import { useEuiTheme, EuiPanel } from '@elastic/eui'; + +export default () => { + const { highContrastMode, euiTheme } = useEuiTheme(); + + return ( + + This panel will have a thick border in high contrast mode. + + ); +}; +``` diff --git a/packages/website/docs/components/theming/provider_details.tsx b/packages/website/docs/components/theming/provider_details.tsx index d1d39202a16..95fdd990513 100644 --- a/packages/website/docs/components/theming/provider_details.tsx +++ b/packages/website/docs/components/theming/provider_details.tsx @@ -11,10 +11,16 @@ import { interface ProviderDetailsProps { withThemeName?: boolean; + withColorMode?: boolean; + withHighContrastMode?: boolean; } -export const ProviderDetails = ({ withThemeName = true }: ProviderDetailsProps) => { - const { euiTheme, colorMode } = useEuiTheme(); +export const ProviderDetails = ({ + withThemeName = true, + withColorMode = true, + withHighContrastMode = true, +}: ProviderDetailsProps) => { + const { euiTheme, colorMode, highContrastMode } = useEuiTheme(); return ( @@ -47,18 +53,22 @@ export const ProviderDetails = ({ withThemeName = true }: ProviderDetailsProps)
)} - - - colorMode: - - - - -

+ {withColorMode && ( + + + colorMode: {colorMode} -

-
-
+ + + )} + {withHighContrastMode && ( + + + highContrastMode: + {String(highContrastMode)} + + + )} ); diff --git a/packages/website/docs/components/theming/theme_provider.mdx b/packages/website/docs/components/theming/theme_provider.mdx index 489bb118202..ac61c8facb3 100644 --- a/packages/website/docs/components/theming/theme_provider.mdx +++ b/packages/website/docs/components/theming/theme_provider.mdx @@ -10,13 +10,18 @@ While [**EuiProvider**](#utilities/provider) should not be wrapped around your a ## EuiThemeProvider -The context layer that enables theming (including the default theme styles) comes from `EuiThemeProvider`. `EuiThemeProvider` accepts three props, all of which have default values and are therefore optional. To use the default EUI theme, no configuration is required. +The context layer that enables theming (including the default theme styles) comes from `EuiThemeProvider`. `EuiThemeProvider` accepts four main props (all of which have default values and are therefore optional): -* `theme: EuiThemeSystem` Raw theme values. Calculated values are acceptable. -* `colorMode: EuiThemeColorMode` Simply 'light' or 'dark' -* `modify: EuiThemeModifications` Overrides and modifications for theme values. +* `theme:` Raw theme values. Calculated values are acceptable. + * For the full shape of an EUI theme, see the [global values](/docs/theming/customizing-themes) page. +* `modify:` Accepts an object of overrides for theme values. + * For examples of this prop, see [Simple instance overrides](#simple-instance-overrides) below. +* `colorMode:` Accepts 'light', 'dark', or 'inverse'. + * For usage, see the [Color mode](/docs/theming/color-mode) page. +* `highContrastMode`: Accepts a true/false boolean. + * For usage, see the [High contrast mode](/docs/theming/high-contrast-mode) page. -The concept for each prop is explained in subsequent sections. More information on the full shape of an EUI theme, see the [Global Values](/docs/theming/customizing-themes) page. + To use the default EUI theme, no configuration is required. import { ProviderDetails } from './provider_details'; @@ -24,11 +29,12 @@ import { ProviderDetails } from './provider_details'; ## Consuming with the React hook -Using the react hook **useEuiTheme()** makes it very easy to consume the EUI static and computed variables like colors and sizing. It simply passes back an object of the current theme which includes +Using the React hook `useEuiTheme()` makes it very easy to consume the EUI static and computed variables like colors and sizing. It simply passes back an object of the current theme which includes: -* `euiTheme: EuiThemeComputed` All the calculated keys including any modifications -* `colorMode: EuiThemeColorMode` Simply 'light' or 'dark' -* `modifications: EuiThemeModifications` Only the modification keys +* `euiTheme:` All the calculated keys including any modifications +* `modifications:` Only the modification keys +* `colorMode:` Either 'LIGHT' or 'DARK' +* `highContrastMode:` Either 'forced', 'preferred', or `false` When consuming the theme's keys like `euiTheme.colors.primary`, you'll want to pass them via the `css` property to take advantage of Emotion's compilation.