From b4ce23c69f97295c0c3a96ead561a258bfde9588 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Tue, 13 Jul 2021 12:49:28 -0500 Subject: [PATCH] feat(themes): update module builders for new design tokens (#9128) * chore(themes): update build script to use @babel/node * feat(themes): update module builders for new design tokens * chore(themes): remove commented code * chore(project): update outdated prettierignore rule * fix(themes): remove light and dark themes * docs(themes): add initial docs * feat(styles): update theme tokens that are imported * feat(styles): add button tokens * refactor(styles): update with new tokens and add compat tokens * docs: run prettier * refactor(project): update themes and storybook for carbon-react Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- .prettierignore | 3 - ...-node-npm-7.14.7-f4ca01e24f-04d665fdcf.zip | Bin 0 -> 7137 bytes ...ster-npm-7.13.16-c9089f2afd-a2a4622292.zip | Bin 6572 -> 0 bytes ...ister-npm-7.14.5-5144ce6f7c-5fab2384f5.zip | Bin 0 -> 5939 bytes ...e-js-npm-3.15.2-6825052e10-f8f61569c4.zip} | Bin 649305 -> 663779 bytes ...-flags-npm-1.0.6-019b553a56-268139ed0f.zip | Bin 0 -> 8399 bytes ...8flags-npm-3.1.3-bfb62a4728-ba7fc706f1.zip | Bin 5614 -> 0 bytes ...8flags-npm-3.2.0-28770d6a95-193db08aa3.zip | Bin 0 -> 5739 bytes packages/carbon-react/.storybook/styles.scss | 11 +- packages/carbon-react/docs/sass.md | 6 +- .../carbon-react/scss/components/_button.scss | 8 + packages/styles/scss/__tests__/theme-test.js | 285 ++++++++---------- packages/styles/scss/_theme.scss | 192 +++--------- .../scss/components/__tests__/button-test.js | 51 +++- .../scss/components/button/_button.scss | 1 + .../styles/scss/components/button/_index.scss | 1 + .../scss/components/button/_mixins.scss | 1 + .../scss/components/button/_tokens.scss | 76 +++++ .../file-uploader/_file-uploader.scss | 2 +- .../styles/scss/components/menu/_menu.scss | 3 +- .../overflow-menu/_overflow-menu.scss | 3 +- .../styles/scss/components/tabs/_tabs.scss | 6 +- .../styles/scss/components/tile/_tile.scss | 3 +- .../scss/components/toggle/_toggle.scss | 9 +- .../scss/components/tooltip/_tooltip.scss | 3 +- .../scss/utilities/_custom-property.scss | 11 + packages/themes/__tests__/module-test.js | 152 ++++++++++ packages/themes/docs/sass.md | 92 ++++++ packages/themes/index.scss | 2 +- packages/themes/package.json | 7 +- packages/themes/scss/modules/_config.scss | 8 + packages/themes/scss/modules/_theme.scss | 40 +-- packages/themes/scss/modules/_themes.scss | 1 + .../themes/tasks/builders/modules-themes.js | 111 +++---- .../themes/tasks/builders/modules-tokens.js | 71 ++++- yarn.lock | 56 +++- 36 files changed, 767 insertions(+), 448 deletions(-) create mode 100644 .yarn/cache/@babel-node-npm-7.14.7-f4ca01e24f-04d665fdcf.zip delete mode 100644 .yarn/cache/@babel-register-npm-7.13.16-c9089f2afd-a2a4622292.zip create mode 100644 .yarn/cache/@babel-register-npm-7.14.5-5144ce6f7c-5fab2384f5.zip rename .yarn/cache/{core-js-npm-3.12.0-86ddce2306-d66e368bd7.zip => core-js-npm-3.15.2-6825052e10-f8f61569c4.zip} (69%) create mode 100644 .yarn/cache/node-environment-flags-npm-1.0.6-019b553a56-268139ed0f.zip delete mode 100644 .yarn/cache/v8flags-npm-3.1.3-bfb62a4728-ba7fc706f1.zip create mode 100644 .yarn/cache/v8flags-npm-3.2.0-28770d6a95-193db08aa3.zip create mode 100644 packages/carbon-react/scss/components/_button.scss create mode 100644 packages/styles/scss/components/button/_tokens.scss create mode 100644 packages/themes/__tests__/module-test.js create mode 100644 packages/themes/docs/sass.md create mode 100644 packages/themes/scss/modules/_config.scss diff --git a/.prettierignore b/.prettierignore index 2098be16835d..a1a342817af0 100644 --- a/.prettierignore +++ b/.prettierignore @@ -39,9 +39,6 @@ packages/icons-react/next/** # Changelogs **/CHANGELOG.md -# Generated docs -**/docs/sass.md - # Generate sass files **/scss/vendor/** **/_inlined/** diff --git a/.yarn/cache/@babel-node-npm-7.14.7-f4ca01e24f-04d665fdcf.zip b/.yarn/cache/@babel-node-npm-7.14.7-f4ca01e24f-04d665fdcf.zip new file mode 100644 index 0000000000000000000000000000000000000000..78a2f3ab73cd5d0525c9e05d3624a1a057079bbb GIT binary patch literal 7137 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 c8{U79-<}s=v{O&x`dD*2!>!HAp}t- zdI^7d@8zFgto2@UW}SQQtabNi&OUR_-e-SxH83zK0pFWk%@pom5C2?8!_1h)6^1iAlXiVnd2Yh3x_q1R&30RVkW z0D$dxrkb}Em9_6ETj*=J&I%HCt{aicG=(5!YTvrVRtqaQzfMZClaOpCcXZ=>u73sC z6_lD>vk?M7Q~v5dhGmqLWtgZY;~joKP(gCBW@e#~Ao0dJ+u@-T*v*dyJxqRnY&{Du9?l2E4?Q+h zdUP;1yQs=ZGj=ANs8-$vLD&Evp&q*g%Hb{gOA+qJPxTH;QqVtRir{h*kvcI`6+j5w zYh*08WRJkmbT#T|GJg--&*4CHCs8jtBWE%&I(B@0!)J879|oMy1}L3Tg`4tCLe;U` zq3W^Jxpjn_kc2%8bh;Wtn`!_j8~@~$7vzv;eBF=YoXLtz)XNq&ofN_}%&|aFTvvsl=RqX6*tFOLD2E?DTIZ zJi@VzD3DRoB>^*Pg-3% zm>#5n*3fq{115@yt`4a7LSPR?xfsfZ~Uq?4-FE;stzH(`I{Zb=%0-N+lM z*-g%_w)y@y588ub5tWtS3_aTY2>U?6H`TAK98HU`v`PrDyt`?He`0Rq?&{+Ka=-52 zVUVDQ-z!L}bnX$$ZpBYYau0=DAjTzc$_}7^PmbKsiJq;QkXoY^`k}pbIaW zjLckTMJa<0o{Ce2X)9RN%-BW2^_!1-3DDh@ATk$l}-=F zf)b;#qUN45eJX22uM)cHq4#dpJRw(U+4y?DevE*MPUQVKk7;Yt$IR?qzVO$LX91EnM>sYR2uBa8ggdQ@}k8cMnnzT~HJRFqsofm9S za0{nDe~|?Cy^4Col_Z+_3NQZH^wdKATIVa)H?4!VcXAd#>j)hAmn1}!6SfFlH&`w* z6nuf(JaH`TPkA3*Bgr;;-iBwFrW5}xpr>?ud7HGrR7$-Y*XSx%1z#*BS4n*14G#9@ zCjIQ9r^oVxUVKQf;OF6@TJ;vZ;c2VeW{J6LpHWoEPON}hEfPAHq)<^rLDUn5VszOc zIkoJ8TlO1ZHdc?>DixWj^v5A@U%c*R@O?)0%zkQRuebD8wmNan5%vB+^&7`FC1KTE zz1f#=D?N@{a|0szVZQ>Mh~fBbNv-fkkL5w@d$13c&-}_WdujG;Z+_#u!W>Ap?uRp9 zKBj#qjcXH1m5wTaxwRFor?5y#Tzwhst?IYi5F)z2z)Z**`7yyp@~rPEo#cFEl3f`fL-;R7jM+650sBelPkl9Jiznup(B8p?#skFB zM(z9c;H!i>BQ^H-=~QeKl>0bwV@2N4pqTluLn3f*HzCqx)?(z^?gx6Ol*^WwS!%x- z!Fk*fhbEctIg^sk6GWy!y_wTnL%Hm&Xil~)Tr{zLbTO+8<$Mh=Ko5kYUyy2g@X z9D#x=49vdOr(%+rA}vz4bEt79R}!v(wQL!Tt1Dncr|*wn~iUkEa0;W zPlRU#D7rH{W+n>*07!d?w(5F}SH@M#z@NyP?T6}7;Hs*sirq?j38Ta|T zgD@Oh|O(kUlYCZ1c9u7 z=s!8A@n#_eF{ET_=G?`P74A@06e;aQ)}}L_@SdMA-^RK1S~!zQklEEoR#rL4Q}}=? z>*8()AH)8TdOOAH)Qa!IGsC{#%4sZ{Z%anY`oXf*GuHB%>tmQ4$DLH&zzsccTNpx4f^z&Lz1G7xWx=#3?Dbe3G*4;)(zQkBEkr~Vw8s8!cIF6 zALwwVBBP6_QkxvT3EDg<~rVke5zuhL>v9Z{qywm47+diw^tZL{0_(aQ#Wj`CcDf zIF)dbakA9DXPhUnvM^|JplE%4WrC5vW4pSkS23FxUOa>8P_0l>ocZ~I%*s$Cnv}B{ zH&o(a)&~l^lU;6@{(!D1W$@#s(3{z!h06NnbG0$InOjk(~``!U&IUd)a#^>~V04svRns`Rfe*4ozCc86L(_;^N0Hw3c3wsX+={QC z#k4Lb8gj*tQ*QuDcOspxMiy~^+B^dmPRG-Qe{&;ZMgBq0^tabqR zL`5A!|7a!b90O{qV5=3AmQL3d9SK+6^2~Yz?8t`T6dOE81{{%o zvQJ+*At5YH@r^pjt*HmY&Z4m5@v@egi*G9ruO*m{0ygGduaC#p)ZtgNlY5N?Pyci3 zlFeIy%n(b|4LY8;8RYQ8RyIf=I|0wYY}Lq=Ih1VTsS|%DP(5w^U8+9ku0Adoxu~sv zDtVLttvpEB$0rpQb2_@>kWMa9+J@xROk4_;lMr)Zf*yWJLOcocuV?6l*>yTEXJwyW zp~kbkwdVEAj{^k}lR>T>!YZjSTTfEq^m1LHMI0E?!|PE=@UaH~LOs_d%&HJc@d@>8 z94rW}OPnKb(Fw5^1Fd1V+_$22l@rIi9aZXblTn1>V4f82Wz z^SWpB{u6J}CPQo4NhC+a9?WgQAT=aXB#isT*`2M;xYqQ2jMu{H#+)ZlMj;M?sHa%U z1$2`SC5YHOIV@WQ6Ux!RaQR7-;`?*RfnBruIYk_y=`I4)rvN;dN`8g42X?o$20rDTREM=A9$guJ-ejdH1uewxhmD zrntDufe##b8Od)nWyQ0b?nq)Sz6UsS{Blb`|E`$=xEP zQ-ANZ%{*p2E{}%%U`*~8g5uh{v=(S=Mg@K$<-vT%$;8k0BH~5KgBFQem588<>0yB7eMO1dHAooQpB6UA1m&SUZP5rc zGU}||q7Iok|24q`y`P|OyGShA7iF@*pC%Y1cWXDdzv?sRq&LK2f`n09(pVoNaF#Ln za;51y=xqDTLTKrlvrwq{ex`6Yr<1*Pfi#sAEu9i~{BgzDZFhc!T(7#64d3K}=!sXU z3PcNf1017@eVaEY0x->-(e`BhuIDlHr{MM~)a2+}c1$0P_OAt4WjT-~Z76bLpCYOX zM#$GbvpVhU2x8t`+Xw{Gt8+ynZ#vkz8KyTlQ2_QVI$n08ds5qHu# z-!dP7p{_!Q5pBW+rv$&wgK?nx?B>NBtYQ4Y@xjg7*3laLJ_e?^)lHYicQ)%8U=lxLHM}8tTCAG~+Zue#f|+9uewh>dgGz`i&YpWog}0b< znxF`SPZ=YV#S@BY*m3W_mcdXRuf{~h6gHIzvVncp1Q)xqA*Y1-8-CNhI0cZ;*DDhO z5nmV-Wd`QGq;S7H&)Irgbw+dW*4855VWIA{C#L-NIS^)FP>;`AOn0c=O9NxJ*h1+s z)+(wJ(QN0cvu-b4^RI?M0GegUcJ7r=HnOOx16?&1DS>YB*LJH%N4ZQdHlLVi#>;>=AbL_(R*(zE1Z!5f@uQ(KsR5*Y0bjZ!u_?(iUrrosP6C zRWxek4DcB@@=Vl8woK1_w0VKv-Avi@mgd8^1i+8Q8eUIUp71Wstl6^ZoG|Z}&bZrq zJD+B3ZGD}#Pj%>ecDnRQOjiR9T^8ftmE4OR^jF)E|9<;Lto<+3zkxqY|4k$LFT!`F z_ea~1x43xx<;VX~ivLIV{o9Wp(#B=w_Xnyd^vUl~|LDL!2KR$_S%3RU1YT^h{~X-^ zt8qV=-)%4J=HGRwA8kXv_Cm4#Pv+mM)UQro)}?;nibA*k1ou;=`Z3NQzF!uKeu7&r z*>1pEN(g04IT-gZWUpN1p$S_wocU$mX zS9e=q7qBLTa@JPXV3+@}xcDy?USNAiZy&JNKc?6K!oU2=6%W4}iwyu6 z-~s^bzcbZRS5(%yrEG4X={_bv+O%v;DUE<2rOSuhVoQY;T)SW?b`p{`)XpB)TMg)J z--bR;Dnmm6Sjsy*5}Qp+02^D4dTs%X#L;p$ZbX<(=4@wjAe&+IGp-Y;r#Oup0Rd2yu3voc$yl(`F)h^e`ll!j z{DvrvSo*9A(p87JEpu$5~E$oP_WO+K5m?Cj4ZcEskU^i%O z__lX(-kGwv_FZTm&zP_n7xx`Ajs2U~?0CtG#F}+e62@b=sb(oy-Z42e+}yOfNQo4^ zQZUddYLoGra%b0bB|4*W1L-R~23SEY*h{oM8*0kPLJO6UqQaUa*;1O9N?A98%>pD;=#M;j#=9IA+c^57`1Yzs5M^>cQ^~APu&gSiE($WK4v<&pQW55x7&-Y)~O^awk zG%TX!QVrOGA6yVq!fk0xGS^oa{yu$0oO;Q(XQJBn(YFVN(Q`Yk3A5+svfU5jMnWtA zpcvCRem9p5l;xGQmHAw4!7y#-RsqtewSC$MScO5-qs>aXI*N93sf5gSHXS&J1+^3+ zBlYN@sJBku|Hfd6aRR&Qu3mA{ez$%eDjDZZYfetyQT|0MXIFyn8j*fp0r^P?&fvET z2XEXOSp$>7@+Y&m$6nUZ+S}S)lK|1bsUj!fadBm5d5j#%acH6~x668P5)ikIzFm-V z(XO{oYHXGBZT)zAUtmLMEV88J$jH0l9%&mmOi+Vves5Id@*4^M%bx}Bpw;ZcV^Kz? zfyL`w8@3mE#EXk>kv#|KNAgECE(JlvMhfJG$eAH{h-x`30?SvuTAO zW)gVKX&`xO*$>a{S8StX|P{E4}>m%G0= z*o)7}+b~X__?-Zy(usF0@GdV6h2=UST#QR3Q-hryTm^bOSU*Oif5<#>)9$669^JN% zi*xtfHYB+fGN5WEp=}vx7@!ja6tk@--^;)!D<|WPa#)3aReMKVHB!1)2+l>a`CMrq zx5qk>Y;WjUH6$8C7Y@YeuJag+@Gi6Rf76-#dl=5>G4b9tFB%LrCKCey*Zw398!Hq-%?6z6X1Bv#m`<+WZx{Dk=5lQC9@^^BUe=dRaFQ01X@xHzd;*2`K5p-A zQ}}ivOPbAdMILr!^NoeoJNM{VOWkH#T$=GD)K4n&5$D~Z#q~vz%%ySa`h1P1oD5MI z)7t%t!mAnr!6&O~RRjpRI*AFU73)RhE0~T>-{8abz$J*8(P$pEU}&2Sp?`O4MPu4N zC|6XWvu8vOr~#(sWZrgo+~AxmNvT;XC>)jha&%yqOPYkxcxLQX{1RWuKu*q&`7d6Q zhm}QXCLQw01l_p%p^Qe6l~P*@;%p8f3rDSB zSr1DRrHR*7+maAJnH+k_Nj%0nd6JOr+_PXlmNq_-yjoP++NlGh;1--H?i6@J(;vJyJF5}nO zh1=cNNvvibC=*F^R4$pw+zt!g$IqT_{TNat5UOo;uywHG)+*yF?jyDR7O4JZQ-=ZA zn*TBJN8L#b`b5ET?`wVxZ0|bU;Q59i6UHIJt9BYxxklRGZt9oe^BL{L${~Pu=3cn;QIlLl4Ima@<*T zITm}$*0~#HCO?0UD0`E-KAvd&MJq*_+`#0!&obW&x^M|9Sx94A)Q%l2ZK5UoQqg^Z z0wch!E6}=%$ncw5)b*MwysPo?Z+s9FPgRa-25Z2fA%R{SGf(;iW>&{(Q;Y4C;_)N% zb-A%0MFX`=iS7Q}Wfd3pkGf_;xEk$L zG9;R^EE!9C3{2VY?SptKUj!_pmX4Iv9}cdn-9gS}>$RHwu<+dpTV4p=I0n^T^eEgu znaB?_?i8JOcQP-8A@_ku{24dw1NCRAl|H6&TPwae(kHo$?~)h!#shoaB_PUQ?I?UY ztgmlujxNol`+SJ^E4A#q=anR2D5W3M|A<-~-E6@D7;2G@lRqU$d^L#9A%}xdTHStq{FNUyOn!bLF!bwQq7K7P)?JNRm1LUv^uWJ|ZZtCuVTi z1RL4A9YOJx`KezFuR>pFSFRHL8r80a#L+m0FrkIlqPw9LkJ&tzQd7N?XyKFF#?*>Iv$qhT2bd%do373@Tf z$F;GQ0}k7}6tmpCmL`I`Yyo5nt~LQhwR&D!@HXsO5&mby@Ed^_sVZ{~aW24>aPrKP z;xZh#EuqD;5u^MUakPgDDl-hP(GvR9=SE!r5i9ftyO3;cvVewCH7dY}O+=$1XEv^5 z`q{`v!H9}tV3!nVXkW|Jtz`b_NMVDM(06ddEZMY0b)V3X>w9u;#=M!2!oxb6+u@{h zEJevC+oN5OTer4`Z?#Qc^mk<=-%GV-_v+2R@+4RExUNfumg_nI?A6(J&!_~ps!+Ez zXQ^$N8wYOnGW1f>s8%j>Z*=>6%v`mJbkU+FIiiM}(^j2_ z$mS}p%Pr#Gk>=q@rAPFmQde84AaT)&hzXnJK1pPlYZ*gb=kDzL!?#rt6sQiOR88uu zc|*b@%q`g1m*WaK@FP6sln^n;4(f!N2MU0yQ87n(AHk~!F(*DJGxTKjj)j!-2yP@L ze-|->c|C3>;+9J?jlSUqZ&a)pRBE&gDoawmTy85P2HJ*|}w6z6~ z%H-Y?(Usq>VD{z)*IJjQ(hY!mD>MqEhu}1ygDJO)X4Lu}(Csb#?TzGG?c^e_oTt=< z9qJ53Kaz~a#}FvkKL?ruP9k}~{g~U`O4wWB_ymeA{Wv#L$XVaHUZPC}0$In`^P7<1 zY_m9-ZW9kbcC{W#bj9U@`RM2jkUUd_iwvsh<@i)HP3&8N7mIf7JmHqkxTP=kqA zwLJ9vC$mdEnXMmYmaOE+5LW91e(|%GN)>l}mh6X%XZ>S)MU=!(~%ju7j^HNCEixFyx`ZgxKoCng4=*SVTe z5`w0vpv715W9UU|cjY(J$8j642nfDRO=qIX;~;D&ZPlD#f} z)-;tU{IJ|#@jB66b6;ie2YqW3t7~`tJ-z%-zVGdBj)V6-n%>Qi9UZN!SJS6us=R)@ zK4-~WpB-(S*y0X&i{kG;9$D^pdtI{lN;YhNdB%Ew=fh&p;SQ?jrlbE0eJ|i!53+$( zQ`yd=`-#SK_p_}gd5_ualcfbhXr9UJ$D?D1tR3q3!;$ZapET+L$^dN8;VLZ79kf*N z^N_HO-Ehi1R*6Sg^X&W3)-kB(M)a*G!84~~9YA~Jh zB6&>^Bai}xbyX&x^#-(>t0_ZidQ5d_(7$soOF>uRt=6CI+EZU&h@OD%#F-8?S&9V=9={N z_3?IAsE5nJ)-r#JO0u?YffwUWF{*iez*^QpbbgkB=3|rt~{F`W4$&1&4!i zL9SR^viJD1*?5x)-zk)38dx-r?)0}W1>a3~qJp6nIq?sXFX6q^OAA+AHZ}xs1((nv zwk#T4k^}U!`x7~Ft0~Kpl5S&x^Xr@Bk#)d?z?-;sv^OJfrE(6j?bt`T3++bM3&Rgd zeoYlaGr${Lm@%Nkq>JAsKo2V$XDj>DOyTYpXVB#~CP3LR&x4D_XPOUp;q+Vrtn#39 zqbEo=?I7?GYUdbRKXoyASQrIs&2t*8&kry6b@$4MC)k^$@=Pd(CeLN_SjZb+5l*^p zc`O49l1nnhJAT%~hcb+CW(yx2#i8X9ij?A{sx(?QPx3W@z!#1;K1f=%8)oKj8h!G-(C3 z-4*37JbL-nGM$;vuK`P=@~cne5X~2qkqxX2)X~&_AK84cg08S}(raz1z7&>LgRXr< zZw=-wF(_tQMY(I3-QTCcA_oBz2SpAQ+(<29S+Nv9AejZlEs&kt3fN>a@FC(@rsl|{ z9$y-GTY7y;erH>nT9&{3!in}b?<(i7A2vt3Z07ZgkERW5^o}WKHtrYRSC=WH zbLkvx>C4K(tRXCHS)6|t)G!O_uZEUCz5Jq?{g>(AfM=%vwpINvgj2!otfA%2F}J^b z{2#&Yf8@8n<2Yl3^8(x%RDSrA-$DH&$DKKMhIn2E`H5(Y^Bd>>UlcjRJheS9U!KYV zXALc1j#<6`8SvlYz^_4{mj}+^^268u1n#F;aOUS(?C1CEKY?H4{ehonyZ7_3=WF$! zu+$h~;J4wQRqp3u&lk%-VHf@c_Vl|LLOhRpKEM1#C87KSXHQXoW}EZi=Slk~_ywxp Zfd4Or>uKWQpPG_lj$X{H)V*-}^na^w0Z9M= literal 0 HcmV?d00001 diff --git a/.yarn/cache/core-js-npm-3.12.0-86ddce2306-d66e368bd7.zip b/.yarn/cache/core-js-npm-3.15.2-6825052e10-f8f61569c4.zip similarity index 69% rename from .yarn/cache/core-js-npm-3.12.0-86ddce2306-d66e368bd7.zip rename to .yarn/cache/core-js-npm-3.15.2-6825052e10-f8f61569c4.zip index be64e7761d90f3adedacd57fa2072206c9a9093c..4bfc32e9622682dfe7d456711f9a516474f617d5 100644 GIT binary patch delta 85691 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�@7#AhRyx%d<$wq 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

S*>m6yYsWWodpXpZgz(66Fg}yQ`SCn9+tJc)pob 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 delta 75608 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 l3U46q$ALCMxyVBj~x+Eld~pb?z91K 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 KWD4Ye{Q7?_LeeAv literal 0 HcmV?d00001 diff --git a/.yarn/cache/v8flags-npm-3.1.3-bfb62a4728-ba7fc706f1.zip b/.yarn/cache/v8flags-npm-3.1.3-bfb62a4728-ba7fc706f1.zip deleted file mode 100644 index 65c231903ec0a01e4feaa73e005c54d06d2389d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5614 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 { variables: map.keys(meta.module-variables('theme')), mixins: ( theme: meta.mixin-exists('theme', 'theme'), - set-theme: meta.mixin-exists('set-theme', 'theme'), ), )); `); @@ -32,158 +31,140 @@ describe('@carbon/styles/scss/theme', () => { const { value: api } = get('api'); expect(api.mixins).toEqual({ theme: true, - 'set-theme': true, }); expect(api.variables).toMatchInlineSnapshot(` - Array [ - "theme", - "interactive-01", - "interactive-02", - "interactive-03", - "interactive-04", - "ui-background", - "ui-01", - "ui-02", - "ui-03", - "ui-04", - "ui-05", - "text-01", - "text-02", - "text-03", - "text-04", - "text-05", - "text-error", - "icon-01", - "icon-02", - "icon-03", - "link-01", - "link-02", - "inverse-link", - "field-01", - "field-02", - "inverse-01", - "inverse-02", - "support-01", - "support-02", - "support-03", - "support-04", - "inverse-support-01", - "inverse-support-02", - "inverse-support-03", - "inverse-support-04", - "overlay-01", - "danger-01", - "danger-02", - "focus", - "inverse-focus-ui", - "hover-primary", - "active-primary", - "hover-primary-text", - "hover-secondary", - "active-secondary", - "hover-tertiary", - "active-tertiary", - "hover-ui", - "hover-light-ui", - "hover-selected-ui", - "active-ui", - "active-light-ui", - "selected-ui", - "selected-light-ui", - "inverse-hover-ui", - "hover-danger", - "active-danger", - "hover-row", - "visited-link", - "disabled-01", - "disabled-02", - "disabled-03", - "highlight", - "decorative-01", - "button-separator", - "skeleton-01", - "skeleton-02", - "background", - "layer", - "layer-accent", - "field", - "background-inverse", - "background-brand", - "interactive", - "border-subtle", - "border-strong", - "border-inverse", - "border-interactive", - "text-primary", - "text-secondary", - "text-placeholder", - "text-helper", - "text-on-color", - "text-inverse", - "link-primary", - "link-secondary", - "link-visited", - "link-inverse", - "icon-primary", - "icon-secondary", - "icon-on-color", - "icon-inverse", - "support-error", - "support-success", - "support-warning", - "support-info", - "support-error-inverse", - "support-success-inverse", - "support-warning-inverse", - "support-info-inverse", - "overlay", - "toggle-off", - "button-primary", - "button-secondary", - "button-tertiary", - "button-danger-primary", - "button-danger-secondary", - "background-active", - "layer-active", - "button-danger-active", - "button-primary-active", - "button-secondary-active", - "button-tertiary-active", - "focus-inset", - "focus-inverse", - "background-hover", - "layer-hover", - "field-hover", - "background-inverse-hover", - "link-primary-hover", - "button-danger-hover", - "button-primary-hover", - "button-secondary-hover", - "button-tertiary-hover", - "background-selected", - "background-selected-hover", - "layer-selected", - "layer-selected-hover", - "layer-selected-inverse", - "border-subtle-selected", - "layer-disabled", - "field-disabled", - "border-disabled", - "text-disabled", - "button-disabled", - "icon-disabled", - "text-on-color-disabled", - "icon-on-color-disabled", - "layer-selected-disabled", - "skeleton-background", - "skeleton-element", - "brand-01", - "brand-02", - "brand-03", - "active-01", - "hover-field", - "danger", - ] - `); +Array [ + "fallback", + "theme", + "use-fallback-value", + "background", + "background-active", + "background-selected", + "background-selected-hover", + "background-hover", + "background-brand", + "background-inverse", + "background-inverse-hover", + "layer-01", + "layer-active-01", + "layer-hover-01", + "layer-selected-01", + "layer-selected-hover-01", + "layer-02", + "layer-active-02", + "layer-hover-02", + "layer-selected-02", + "layer-selected-hover-02", + "layer-03", + "layer-active-03", + "layer-hover-03", + "layer-selected-03", + "layer-selected-hover-03", + "layer-disabled", + "layer-selected-inverse", + "layer-selected-disabled", + "layer-accent-01", + "layer-accent-active-01", + "layer-accent-hover-01", + "layer-accent-02", + "layer-accent-active-02", + "layer-accent-hover-02", + "layer-accent-03", + "layer-accent-active-03", + "layer-accent-hover-03", + "field-01", + "field-hover-01", + "field-02", + "field-hover-02", + "field-03", + "field-hover-03", + "field-disabled", + "interactive", + "border-subtle-00", + "border-subtle-01", + "border-subtle-selected-01", + "border-subtle-02", + "border-subtle-selected-02", + "border-subtle-03", + "border-subtle-selected-03", + "border-strong-01", + "border-strong-02", + "border-strong-03", + "border-inverse", + "border-interactive", + "border-disabled", + "text-primary", + "text-secondary", + "text-placeholder", + "text-helper", + "text-error", + "text-inverse", + "text-on-color", + "text-on-color-disabled", + "text-disabled", + "link-primary", + "link-primary-hover", + "link-secondary", + "link-inverse", + "link-visited", + "icon-primary", + "icon-secondary", + "icon-inverse", + "icon-on-color", + "icon-on-color-disabled", + "icon-disabled", + "support-error", + "support-success", + "support-warning", + "support-info", + "support-error-inverse", + "support-success-inverse", + "support-warning-inverse", + "support-info-inverse", + "support-caution-major", + "support-caution-minor", + "support-caution-undefined", + "highlight", + "overlay", + "toggle-off", + "focus", + "focus-inset", + "focus-inverse", + "skeleton-background", + "skeleton-element", + "border-subtle", + "border-strong", + "layer", + "layer-active", + "layer-hover", + "layer-accent", + "layer-selected", + "layer-selected-hover", + "field", + "field-hover", + "interactive-01", + "interactive-04", + "decorative-01", + "hover-row", + "ui-01", + "ui-02", + "ui-05", + "disabled-01", + "disabled-02", + "hover-field", + "hover-ui", + "selected-ui", + "hover-selected-ui", + "hover-light-ui", + "active-light-ui", + "text-01", + "text-02", + "text-04", + "text-05", + "icon-01", + "icon-02", + "link-01", +] +`); }); }); diff --git a/packages/styles/scss/_theme.scss b/packages/styles/scss/_theme.scss index 495c6a016bb2..7c6bb58a8a30 100644 --- a/packages/styles/scss/_theme.scss +++ b/packages/styles/scss/_theme.scss @@ -5,152 +5,48 @@ // LICENSE file in the root directory of this source tree. // +@use './config' as *; +@use '@carbon/themes/scss/modules/config' with ( + $prefix: $prefix, +); +@use '@carbon/themes/scss/modules/tokens'; @forward '@carbon/themes/scss/modules/theme'; -@forward '@carbon/themes/scss/modules/tokens' -show - $interactive-01, - $interactive-02, - $interactive-03, - $interactive-04, - $ui-background, - $ui-01, - $ui-02, - $ui-03, - $ui-04, - $ui-05, - $text-01, - $text-02, - $text-03, - $text-04, - $text-05, - $text-error, - $icon-01, - $icon-02, - $icon-03, - $link-01, - $link-02, - $inverse-link, - $field-01, - $field-02, - $inverse-01, - $inverse-02, - $support-01, - $support-02, - $support-03, - $support-04, - $inverse-support-01, - $inverse-support-02, - $inverse-support-03, - $inverse-support-04, - $overlay-01, - $danger-01, - $danger-02, - $focus, - $inverse-focus-ui, - $hover-primary, - $active-primary, - $hover-primary-text, - $hover-secondary, - $active-secondary, - $hover-tertiary, - $active-tertiary, - $hover-ui, - $hover-light-ui, - $hover-selected-ui, - $active-ui, - $active-light-ui, - $selected-ui, - $selected-light-ui, - $inverse-hover-ui, - $hover-danger, - $active-danger, - $hover-row, - $visited-link, - $disabled-01, - $disabled-02, - $disabled-03, - $highlight, - $decorative-01, - $button-separator, - $skeleton-01, - $skeleton-02, - $background, - $layer, - $layer-accent, - $field, - $background-inverse, - $background-brand, - $interactive, - $border-subtle, - $border-strong, - $border-inverse, - $border-interactive, - $text-primary, - $text-secondary, - $text-placeholder, - $text-helper, - $text-on-color, - $text-inverse, - $link-primary, - $link-secondary, - $link-visited, - $link-inverse, - $icon-primary, - $icon-secondary, - $icon-on-color, - $icon-inverse, - $support-error, - $support-success, - $support-warning, - $support-info, - $support-error-inverse, - $support-success-inverse, - $support-warning-inverse, - $support-info-inverse, - $overlay, - $toggle-off, - $button-primary, - $button-secondary, - $button-tertiary, - $button-danger-primary, - $button-danger-secondary, - $background-active, - $layer-active, - $button-danger-active, - $button-primary-active, - $button-secondary-active, - $button-tertiary-active, - $focus-inset, - $focus-inverse, - $background-hover, - $layer-hover, - $field-hover, - $background-inverse-hover, - $link-primary-hover, - $button-danger-hover, - $button-primary-hover, - $button-secondary-hover, - $button-tertiary-hover, - $background-selected, - $background-selected-hover, - $layer-selected, - $layer-selected-hover, - $layer-selected-inverse, - $border-subtle-selected, - $layer-disabled, - $field-disabled, - $border-disabled, - $text-disabled, - $button-disabled, - $icon-disabled, - $text-on-color-disabled, - $icon-on-color-disabled, - $layer-selected-disabled, - $skeleton-background, - $skeleton-element, - $brand-01, - $brand-02, - $brand-03, - $active-01, - $hover-field, - $danger; +@forward '@carbon/themes/scss/modules/tokens'; + +// TODO: add contextual tokens +$border-subtle: tokens.$border-subtle-01; +$border-strong: tokens.$border-strong-01; + +$layer: tokens.$layer-01; +$layer-active: tokens.$layer-active-01; +$layer-hover: tokens.$layer-hover-01; +$layer-accent: tokens.$layer-accent-01; +$layer-selected: tokens.$layer-selected-01; +$layer-selected-hover: tokens.$layer-selected-hover-01; + +$field: tokens.$field-01; +$field-hover: tokens.$field-hover-01; + +// TODO remove +$interactive-01: #0f62fe; +$interactive-04: #0f62fe; +$decorative-01: #e0e0e0; +$hover-row: #636363; +$ui-01: #f4f4f4; +$ui-02: #ffffff; +$ui-05: #161616; +$disabled-01: #f4f4f4; +$disabled-02: #c6c6c6; +$hover-field: #e5e5e5; +$hover-ui: #e5e5e5; +$selected-ui: #e0e0e0; +$hover-selected-ui: #cacaca; +$hover-light-ui: #e5e5e5; +$active-light-ui: #c6c6c6; +$text-01: #161616; +$text-02: #525252; +$text-04: #ffffff; +$text-05: #6f6f6f; +$icon-01: #f4f4f4; +$icon-02: #525252; +$link-01: #0f62fe; diff --git a/packages/styles/scss/components/__tests__/button-test.js b/packages/styles/scss/components/__tests__/button-test.js index f2498738412c..b491bf177b88 100644 --- a/packages/styles/scss/components/__tests__/button-test.js +++ b/packages/styles/scss/components/__tests__/button-test.js @@ -25,22 +25,41 @@ describe('scss/components/button', () => { `); expect(unwrap('mixin')).toBe(true); expect(unwrap('variables')).toMatchInlineSnapshot(` - Array [ - "button-font-weight", - "button-font-size", - "button-border-radius", - "button-height", - "button-padding", - "button-padding-field", - "button-padding-sm", - "button-padding-lg", - "button-padding-ghost", - "button-padding-ghost-field", - "button-padding-ghost-sm", - "button-border-width", - "button-outline-width", - ] - `); +Array [ + "button-font-weight", + "button-font-size", + "button-border-radius", + "button-height", + "button-padding", + "button-padding-field", + "button-padding-sm", + "button-padding-lg", + "button-padding-ghost", + "button-padding-ghost-field", + "button-padding-ghost-sm", + "button-border-width", + "button-outline-width", + "white", + "g10", + "g90", + "g100", + "button-separator", + "button-primary", + "button-secondary", + "button-tertiary", + "button-danger-primary", + "button-danger-secondary", + "button-danger-active", + "button-primary-active", + "button-secondary-active", + "button-tertiary-active", + "button-danger-hover", + "button-primary-hover", + "button-secondary-hover", + "button-tertiary-hover", + "button-disabled", +] +`); }); test('configuration', async () => { diff --git a/packages/styles/scss/components/button/_button.scss b/packages/styles/scss/components/button/_button.scss index ca7c055ce843..7b9244d6ff37 100644 --- a/packages/styles/scss/components/button/_button.scss +++ b/packages/styles/scss/components/button/_button.scss @@ -17,6 +17,7 @@ @use '../../utilities/skeleton' as *; @use '../../utilities/tooltip' as *; @use '../../utilities/visually-hidden' as *; +@use 'tokens' as *; @mixin button { .#{$prefix}--btn { diff --git a/packages/styles/scss/components/button/_index.scss b/packages/styles/scss/components/button/_index.scss index 2da026bbe3d1..86439bfd53e1 100644 --- a/packages/styles/scss/components/button/_index.scss +++ b/packages/styles/scss/components/button/_index.scss @@ -7,6 +7,7 @@ @forward 'vars'; @forward 'button'; +@forward 'tokens'; @use 'button'; @include button.button; diff --git a/packages/styles/scss/components/button/_mixins.scss b/packages/styles/scss/components/button/_mixins.scss index 4a569b435d9f..951fbf595311 100644 --- a/packages/styles/scss/components/button/_mixins.scss +++ b/packages/styles/scss/components/button/_mixins.scss @@ -13,6 +13,7 @@ @use '../../type' as *; @use '../../utilities/component-reset'; @use '../../utilities/convert' as *; +@use 'tokens' as *; @mixin button-base { @include component-reset.reset; diff --git a/packages/styles/scss/components/button/_tokens.scss b/packages/styles/scss/components/button/_tokens.scss new file mode 100644 index 000000000000..02c8bab65292 --- /dev/null +++ b/packages/styles/scss/components/button/_tokens.scss @@ -0,0 +1,76 @@ +// +// Copyright IBM Corp. 2018, 2018 +// +// This source code is licensed under the Apache-2.0 license found in the +// LICENSE file in the root directory of this source tree. +// + +@use 'sass:map'; +@use '../../theme' as *; +@use '../../utilities/custom-property'; + +$white: ( + button-separator: #e0e0e0, + button-primary: #0f62fe, + button-secondary: #393939, + button-tertiary: #0f62fe, + button-danger-primary: #da1e28, + button-danger-secondary: #da1e28, + button-danger-active: #750e13, + button-primary-active: #002d9c, + button-secondary-active: #6f6f6f, + button-tertiary-active: #002d9c, + button-danger-hover: #b81921, + button-primary-hover: #0353e9, + button-secondary-hover: #4c4c4c, + button-tertiary-hover: #0353e9, + button-disabled: #c6c6c6, +); + +$g10: $white; + +$g90: map.merge( + $white, + ( + button-separator: #161616, + button-secondary: #6f6f6f, + button-tertiary: #ffffff, + button-danger-secondary: #ff8389, + button-secondary-active: #393939, + button-tertiary-active: #c6c6c6, + button-secondary-hover: #606060, + button-tertiary-hover: #f4f4f4, + button-disabled: #6f6f6f, + ) +); + +$g100: map.merge( + $white, + ( + button-separator: #161616, + button-secondary: #6f6f6f, + button-tertiary: #ffffff, + button-danger-secondary: #fa4d56, + button-secondary-active: #393939, + button-tertiary-active: #c6c6c6, + button-secondary-hover: #606060, + button-tertiary-hover: #f4f4f4, + button-disabled: #525252, + ) +); + +$button-separator: custom-property.get-var('button-separator'); +$button-primary: custom-property.get-var('button-primary'); +$button-secondary: custom-property.get-var('button-secondary'); +$button-tertiary: custom-property.get-var('button-tertiary'); +$button-danger-primary: custom-property.get-var('button-danger-primary'); +$button-danger-secondary: custom-property.get-var('button-danger-secondary'); +$button-danger-active: custom-property.get-var('button-danger-active'); +$button-primary-active: custom-property.get-var('button-primary-active'); +$button-secondary-active: custom-property.get-var('button-secondary-active'); +$button-tertiary-active: custom-property.get-var('button-tertiary-active'); +$button-danger-hover: custom-property.get-var('button-danger-hover'); +$button-primary-hover: custom-property.get-var('button-primary-hover'); +$button-secondary-hover: custom-property.get-var('button-secondary-hover'); +$button-tertiary-hover: custom-property.get-var('button-tertiary-hover'); +$button-disabled: custom-property.get-var('button-disabled'); diff --git a/packages/styles/scss/components/file-uploader/_file-uploader.scss b/packages/styles/scss/components/file-uploader/_file-uploader.scss index 54863d4e6c30..1f7a90661459 100644 --- a/packages/styles/scss/components/file-uploader/_file-uploader.scss +++ b/packages/styles/scss/components/file-uploader/_file-uploader.scss @@ -100,7 +100,7 @@ } .#{$prefix}--file-browse-btn--disabled .#{$prefix}--file__drop-container { - border: 1px dashed $button-disabled; + border: 1px dashed button.$button-disabled; } .#{$prefix}--label-description { diff --git a/packages/styles/scss/components/menu/_menu.scss b/packages/styles/scss/components/menu/_menu.scss index 276d74f5b1b5..c848cef05b60 100644 --- a/packages/styles/scss/components/menu/_menu.scss +++ b/packages/styles/scss/components/menu/_menu.scss @@ -10,6 +10,7 @@ @use '../../spacing' as *; @use '../../theme' as *; @use '../../type' as *; +@use '../button/tokens' as button; @use '../../utilities/box-shadow' as *; @use '../../utilities/focus-outline' as *; @use '../../utilities/z-index' as *; @@ -62,7 +63,7 @@ .#{$prefix}--menu-option--danger:hover, .#{$prefix}--menu-option--danger:focus { - background-color: $button-danger-primary; + background-color: button.$button-danger-primary; color: $text-on-color; } diff --git a/packages/styles/scss/components/overflow-menu/_overflow-menu.scss b/packages/styles/scss/components/overflow-menu/_overflow-menu.scss index 237b4635f63a..e9bb40f2f05b 100644 --- a/packages/styles/scss/components/overflow-menu/_overflow-menu.scss +++ b/packages/styles/scss/components/overflow-menu/_overflow-menu.scss @@ -10,6 +10,7 @@ @use '../../spacing' as *; @use '../../theme' as *; @use '../../type' as *; +@use '../button/tokens' as button; @use '../../utilities/box-shadow' as *; @use '../../utilities/button-reset'; @use '../../utilities/focus-outline' as *; @@ -295,7 +296,7 @@ .#{$prefix}--overflow-menu-options__btn:hover, .#{$prefix}--overflow-menu-options__option--danger .#{$prefix}--overflow-menu-options__btn:focus { - background-color: $button-danger-primary; + background-color: button.$button-danger-primary; color: $text-on-color; svg { diff --git a/packages/styles/scss/components/tabs/_tabs.scss b/packages/styles/scss/components/tabs/_tabs.scss index a4b0cb65de31..9a061b9c66cb 100644 --- a/packages/styles/scss/components/tabs/_tabs.scss +++ b/packages/styles/scss/components/tabs/_tabs.scss @@ -18,7 +18,7 @@ @use '../../breakpoint' as *; @use '../../spacing' as *; @use '../../motion' as *; - +@use '../button/tokens' as button; @use '../../utilities/focus-outline' as *; @use '../../utilities/rotate' as *; @use '../../utilities/box-shadow' as *; @@ -249,7 +249,7 @@ .#{$prefix}--tabs--container .#{$prefix}--tabs__nav-item.#{$prefix}--tabs__nav-item--disabled:hover { @include breakpoint(md) { - background-color: $button-disabled; + background-color: button.$button-disabled; } } @@ -675,7 +675,7 @@ .#{$prefix}--tabs--scrollable__nav-item.#{$prefix}--tabs--scrollable__nav-item--disabled, &.#{$prefix}--tabs--scrollable--container .#{$prefix}--tabs--scrollable__nav-item.#{$prefix}--tabs--scrollable__nav-item--disabled:hover { - background-color: $button-disabled; + background-color: button.$button-disabled; } //----------------------------- diff --git a/packages/styles/scss/components/tile/_tile.scss b/packages/styles/scss/components/tile/_tile.scss index b978492cc667..887487fee6f1 100644 --- a/packages/styles/scss/components/tile/_tile.scss +++ b/packages/styles/scss/components/tile/_tile.scss @@ -10,6 +10,7 @@ @use '../../spacing' as *; @use '../../theme' as *; @use '../../type' as *; +@use '../button/tokens' as button; @use '../../utilities/focus-outline' as *; @use '../../utilities/high-contrast-mode' as *; @use '../../utilities/visually-hidden' as *; @@ -252,7 +253,7 @@ } .#{$prefix}--tile--disabled.#{$prefix}--tile--is-selected { - border-color: $button-disabled; + border-color: button.$button-disabled; } .#{$prefix}--tile--disabled .#{$prefix}--tile__checkmark svg { diff --git a/packages/styles/scss/components/toggle/_toggle.scss b/packages/styles/scss/components/toggle/_toggle.scss index 31c1635765c0..a426ba32ad9c 100644 --- a/packages/styles/scss/components/toggle/_toggle.scss +++ b/packages/styles/scss/components/toggle/_toggle.scss @@ -11,6 +11,7 @@ @use '../../spacing' as *; @use '../../theme' as *; @use '../../type' as *; +@use '../button/tokens' as button; @use '../../utilities/convert' as *; @use '../../utilities/high-contrast-mode' as *; @use '../../utilities/visually-hidden' as *; @@ -125,7 +126,7 @@ } .#{$prefix}--toggle--disabled .#{$prefix}--toggle__switch { - background-color: $button-disabled; + background-color: button.$button-disabled; &::before { background-color: $icon-on-color-disabled; @@ -133,7 +134,7 @@ } .#{$prefix}--toggle--disabled .#{$prefix}--toggle__check { - fill: $button-disabled; + fill: button.$button-disabled; } // HCM @@ -304,7 +305,7 @@ } &::after { - background-color: $button-disabled; + background-color: button.$button-disabled; } &::before, @@ -518,7 +519,7 @@ cursor: not-allowed; &::before { - background-color: $button-disabled; + background-color: button.$button-disabled; } &::after { diff --git a/packages/styles/scss/components/tooltip/_tooltip.scss b/packages/styles/scss/components/tooltip/_tooltip.scss index 5d5966d9217c..bd2547661fca 100644 --- a/packages/styles/scss/components/tooltip/_tooltip.scss +++ b/packages/styles/scss/components/tooltip/_tooltip.scss @@ -10,6 +10,7 @@ @use '../../motion' as *; @use '../../config' as *; @use '../../spacing' as *; +@use '../button/tokens' as button; @use '../../utilities/focus-outline' as *; @use '../../utilities/component-reset' as *; @use '../../utilities/visually-hidden' as *; @@ -353,7 +354,7 @@ &:focus { @include focus-outline('border'); - fill: $button-primary-hover; + fill: button.$button-primary-hover; } } diff --git a/packages/styles/scss/utilities/_custom-property.scss b/packages/styles/scss/utilities/_custom-property.scss index 2fa3b6545ebe..4188bbefac21 100644 --- a/packages/styles/scss/utilities/_custom-property.scss +++ b/packages/styles/scss/utilities/_custom-property.scss @@ -35,6 +35,17 @@ @return --#{config.$prefix}-#{$name}; } +/// Get the var() representation for a given token +/// @param {String} $name +/// @param {Any} $fallback +/// @returns var() +@function get-var($name, $fallback: false) { + @if $fallback { + @return var(--#{config.$prefix}-#{$name}, #{$fallback}); + } + @return var(--#{config.$prefix}-#{$name}); +} + /// Emit a declaration which sets the value of a CSS Custom Property using the /// $name as the and the $value as the /// diff --git a/packages/themes/__tests__/module-test.js b/packages/themes/__tests__/module-test.js new file mode 100644 index 000000000000..a6ce24d2a39c --- /dev/null +++ b/packages/themes/__tests__/module-test.js @@ -0,0 +1,152 @@ +/** + * Copyright IBM Corp. 2018, 2018 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + * + * @jest-environment node + */ + +'use strict'; + +const { SassRenderer } = require('@carbon/test-utils/scss'); +const { group, themes } = require('../src/next'); + +const { render } = SassRenderer.create(__dirname); +const tokens = group.getTokens(); + +describe('@carbon/themes/scss', () => { + test('index.scss', async () => { + const tokenVariables = tokens.map((token) => { + const variable = `themes.$${token.name}`; + return `$_: get('${variable}', ${variable});`; + }); + + const { unwrap } = await render(` + @use 'sass:meta'; + @use '../' as themes; + + // Theme mixin + $_: get('themes.theme', meta.mixin-exists(theme, 'themes')); + + // Get value from current theme + $_: get('themes.get', meta.function-exists(get, 'themes')); + + // Current theme + $_: get('themes.$theme', themes.$theme); + + // Theme variables + ${tokenVariables.join('\n')} + `); + + // Mixin + expect(unwrap('themes.theme')).toBe(true); + // Current theme + expect(unwrap('themes.$theme')).toBeDefined(); + // Theme getter + expect(unwrap('themes.get')).toBe(true); + + // All tokens should be available as variables + for (const token of tokens) { + const variable = `themes.$${token.name}`; + expect(unwrap(variable)).toBeDefined(); + } + }); + + test('scss/_themes.scss', async () => { + const { unwrap } = await render(` + @use '../scss/modules/themes'; + + // Themes + $_: get('themes.$white', themes.$white); + $_: get('themes.$g10', themes.$g10); + $_: get('themes.$g90', themes.$g90); + $_: get('themes.$g100', themes.$g100); + `); + + // Themes should be available + for (const theme of Object.keys(themes)) { + expect(unwrap(`themes.$${theme}`)).toBeDefined(); + } + }); + + describe('configuration', () => { + // Set current theme to another theme + test('$theme', async () => { + const { unwrap } = await render(` + @use 'sass:map'; + @use '../scss/modules/themes' as *; + @use '../' as themes with ( + $theme: $g100 + ); + + $_: get('theme.background', themes.get('background')); + $_: get('g100.background', map.get($g100, 'background')); + `); + expect(unwrap('theme.background')).toBe(unwrap('g100.background')); + }); + + // Set current theme to a custom theme + test('custom $theme', async () => { + const { unwrap } = await render(` + @use '../' as themes with ( + $theme: ( + token-01: #ffffff + ) + ); + + $_: get('token-01', themes.get('token-01')); + $_: get('background', themes.get('background')); + `); + expect(unwrap('token-01')).toBe('#ffffff'); + expect(unwrap('background')).toBeDefined(); + }); + + // Set theme fallback + test('$fallback', async () => { + const { unwrap } = await render(` + @use 'sass:map'; + @use '../scss/modules/themes' as *; + @use '../' as themes with ( + $fallback: $g100, + $theme: ( + token-01: #ffffff, + ), + ); + + $_: get('token-01', themes.get('token-01')); + $_: get('background', themes.get('background')); + $_: get('gray100.background', map.get($g100, 'background')); + `); + + // Should allow custom token to resolve and other tokens should resolve + // from the $fallback theme + expect(unwrap('token-01')).toBe('#ffffff'); + expect(unwrap('background')).toBe(unwrap('gray100.background')); + }); + + // Set value fallback for CSS Custom Properties + test('$use-fallback-value', async () => { + const { unwrap } = await render(` + @use '../' as themes with ( + $use-fallback-value: true, + ); + + $_: get('background', themes.$background); + `); + expect(unwrap('background')).toBe('var(--cds-background, #ffffff)'); + }); + + // Set prefix for CSS Custom Properties + test('$property-prefix', async () => { + const { unwrap } = await render(` + @use '../' as themes with ( + $prefix: 'test', + ); + + $_: get('background', themes.$background); + `); + expect(unwrap('background')).toEqual('var(--test-background)'); + }); + }); +}); diff --git a/packages/themes/docs/sass.md b/packages/themes/docs/sass.md new file mode 100644 index 000000000000..8f275d1f1307 --- /dev/null +++ b/packages/themes/docs/sass.md @@ -0,0 +1,92 @@ +# `@carbon/themes` + +_Note: this documentation is used with the next version of `@carbon/themes` +which uses Sass Modules. It will not work in the current stable version of this +package_ + + + + +## Table of Contents + +- [Usage](#usage) +- [FAQ](#faq) + - [Why are the themes not exported in `@carbon/themes`?](#why-are-the-themes-not-exported-in-carbonthemes) + + + + +## Usage + +There are several entrypoints that you can use with `@carbon/themes`, including: + +| Filename | Description | +| -------------------------------------------- | ------------------------------------------------------ | +| `@use '@carbon/themes';` | Package entrypoint | +| `@use '@carbon/themes/scss/modules/config';` | Specify config options for the package | +| `@use '@carbon/themes/scss/modules/themes';` | Theme definitions for white, g10, g90, and g100 | +| `@use '@carbon/themes/scss/modules/theme';` | Set the current theme, get token values from the theme | +| `@use '@carbon/themes/scss/modules/tokens';` | Access theme tokens | + +_Note: the white, g10, g90, and g100 themes are only available in the +`scss/modules/themes` file and are not re-exported in `@carbon/themes`. To learn +more, checkout our [FAQ](#why-are-the-themes-not-exported-in-carbonthemes)._ + +You can bring in `@carbon/themes` by using `@use`: + +```scss +@use '@carbon/themes'; + +.my-component { + // Use tokens from the theme, this will map to a CSS Custom Property + color: themes.$token-01; +} + +:root { + // Emit CSS Custom Properties for the current theme + @include themes.theme(); +} + +// Get the value of a specific token +$custom-variable: rgba(themes.get('token-01'), 0.25); +``` + +You can configure the current theme with the `$theme` option: + +```scss +@use '@carbon/themes/scss/modules/themes'; +@use '@carbon/themes' with ( + $theme: themes.$g100, +); +``` + +You can also extend the theme with your own custom tokens: + +```scss +@use '@carbon/themes/scss/modules/themes'; +@use '@carbon/themes' with ( + $fallback: themes.$g100, + $theme: ( + token-01: #000000, + ), +); +``` + +## FAQ + +### Why are the themes not exported in `@carbon/themes`? + +In order to support `@use '@carbon/themes' with` in Sass Modules, unfortunately +we cannot re-export the themes available in `scss/modules/themes`. If we +implemented the entrypoint at `@carbon/themes` to re-export that module, then +Sass would not compile when doing the following: + +```scss +@use '@carbon/themes/scss/modules/themes'; +@use '@carbon/themes' with ( + $theme: themes.$g100, +); +``` + +This is because the `scss/modules/themes` file will have been initialized twice +which is not allowed in the Sass Module system. diff --git a/packages/themes/index.scss b/packages/themes/index.scss index a1dac313950f..be24212194c0 100644 --- a/packages/themes/index.scss +++ b/packages/themes/index.scss @@ -5,6 +5,6 @@ // LICENSE file in the root directory of this source tree. // -@forward 'scss/modules/themes'; +@forward 'scss/modules/config'; @forward 'scss/modules/theme'; @forward 'scss/modules/tokens'; diff --git a/packages/themes/package.json b/packages/themes/package.json index f04e3d130d4f..f014ef0c5489 100644 --- a/packages/themes/package.json +++ b/packages/themes/package.json @@ -26,7 +26,7 @@ "scripts": { "ci-check": "carbon-cli check \"scss/**/*.scss\" -i \"**/generated/**\"", "clean": "rimraf es lib umd scss/generated", - "build": "yarn clean && carbon-cli bundle src/index.js --name CarbonThemes && node tasks/build.js && carbon-cli check \"scss/*.scss\"" + "build": "yarn clean && carbon-cli bundle src/index.js --name CarbonThemes && babel-node --presets '@babel/preset-env' tasks/build.js && carbon-cli check \"scss/*.scss\"" }, "dependencies": { "@carbon/colors": "^10.28.0", @@ -35,6 +35,8 @@ "color": "^3.1.2" }, "devDependencies": { + "@babel/node": "^7.14.2", + "@babel/preset-env": "^7.14.2", "@carbon/cli": "^10.25.0", "@carbon/cli-reporter": "^10.5.0", "@carbon/scss-generator": "^10.13.0", @@ -45,5 +47,6 @@ "js-yaml": "^3.13.0", "node-sass": "^4.13.1", "rimraf": "^3.0.0" - } + }, + "sideEffects": false } diff --git a/packages/themes/scss/modules/_config.scss b/packages/themes/scss/modules/_config.scss new file mode 100644 index 000000000000..040069c9f4bb --- /dev/null +++ b/packages/themes/scss/modules/_config.scss @@ -0,0 +1,8 @@ +// +// Copyright IBM Corp. 2018, 2018 +// +// This source code is licensed under the Apache-2.0 license found in the +// LICENSE file in the root directory of this source tree. +// + +$prefix: 'cds' !default; diff --git a/packages/themes/scss/modules/_theme.scss b/packages/themes/scss/modules/_theme.scss index 67bfb4eb0a9c..5b475d412879 100644 --- a/packages/themes/scss/modules/_theme.scss +++ b/packages/themes/scss/modules/_theme.scss @@ -7,18 +7,23 @@ @use 'sass:map'; @use 'sass:meta'; +@use 'config'; @use 'themes'; -$theme: themes.$white !default; -$-custom-property-prefix: 'cds'; +/// Specify the fallback theme, used as a catch-all for tokens that you may not +/// have defined in your custom theme +$fallback: themes.$white !default; -/// @access public -/// @group @carbon/themes -@mixin theme($active-theme: $theme, $component-tokens...) { - $parent-theme: $theme; - $theme: $active-theme !global; +/// Specify the current theme. This can override existing tokens, or add new +/// tokens. If you are adding new tokens, it's recommended that you set the +/// fallback for your current theme +$theme: () !default; +$theme: map.merge($fallback, $theme); - @each $token, $value in $theme { +/// Include the CSS Custom Properties for the active theme or a given theme on +/// a selector +@mixin theme($active-theme: $theme, $component-tokens...) { + @each $token, $value in $active-theme { @include -custom-property($token, $value); } @@ -27,21 +32,20 @@ $-custom-property-prefix: 'cds'; @include -custom-property($token, $value); } } - - @content; - - $theme: $parent-theme !global; } -/// @access public -/// @group @carbon/themes -@mixin set-theme($active-theme) { - $theme: $active-theme !global; +/// Retrieve the value for the given $token from the current $theme +/// @param {String} $token +@function get($token) { + @if map.has-key($theme, $token) { + @return map.get($theme, $token); + } + @error "Unable to find token: #{$token} in current $theme"; } /// @access private /// @group @carbon/themes -@mixin -custom-property($name, $value, $prefix: $-custom-property-prefix) { +@mixin -custom-property($name, $value) { @if meta.type-of($value) == map { @each $property, $property-value in $value { // Only support one-level of depth for values that are maps. This is to @@ -51,6 +55,6 @@ $-custom-property-prefix: 'cds'; } } } @else { - --#{$prefix}-#{$name}: #{$value}; + --#{config.$prefix}-#{$name}: #{$value}; } } diff --git a/packages/themes/scss/modules/_themes.scss b/packages/themes/scss/modules/_themes.scss index 4e9bcd947b07..70170fb0a071 100644 --- a/packages/themes/scss/modules/_themes.scss +++ b/packages/themes/scss/modules/_themes.scss @@ -6,3 +6,4 @@ // @forward 'generated/themes'; +@use 'generated/themes'; diff --git a/packages/themes/tasks/builders/modules-themes.js b/packages/themes/tasks/builders/modules-themes.js index 2f2032c51c19..33114457cda9 100644 --- a/packages/themes/tasks/builders/modules-themes.js +++ b/packages/themes/tasks/builders/modules-themes.js @@ -8,78 +8,57 @@ 'use strict'; const { types: t } = require('@carbon/scss-generator'); -const { formatTokenName } = require('../../lib'); +const { TokenFormat, themes, group } = require('../../src/next'); const { FILE_BANNER, primitive } = require('./shared'); -function buildThemesFile(themes, tokens, defaultThemeName) { - const defaultTheme = themes[defaultThemeName]; - const defaultThemeMap = t.Assignment({ - id: t.Identifier(defaultThemeName), - init: t.SassFunctionCall(t.Identifier('utilities.merge'), [ - t.SassValue('layout.$spacing'), - t.SassValue('layout.$fluid-spacing'), - t.SassValue('type.$tokens'), - t.SassMap({ - properties: Object.keys(defaultTheme) - .filter((token) => { - return tokens.colors.includes(token); - }) - .map((token) => { - return t.SassMapProperty( - t.Identifier(formatTokenName(token)), - primitive(defaultTheme[token]) - ); - }), - }), - ]), - default: true, - }); - const themeMaps = Object.keys(themes) - .filter((name) => { - return name !== defaultThemeName && name !== 'v9'; - }) - .flatMap((name) => { - const theme = themes[name]; - const comment = t.Comment(`/ Carbon's ${name} color theme -/ @type Map -/ @access public -/ @group @carbon/themes`); - return [ - t.Newline(), - comment, - t.Assignment({ - id: t.Identifier(name), - init: t.SassFunctionCall(t.Identifier('map.merge'), [ - t.Identifier(defaultThemeName), - t.SassMap({ - properties: Object.keys(theme) - .filter((token) => { - return theme[token] !== defaultTheme[token]; - }) - .map((token) => { - return t.SassMapProperty( - t.Identifier(formatTokenName(token)), - primitive(theme[token]) - ); - }), - }), - ]), - default: true, - }), - ]; - }); - - return t.StyleSheet([ - FILE_BANNER, - t.Newline(), +function buildThemesFile() { + const imports = [ t.SassModule('sass:map'), t.SassModule('@carbon/layout'), t.SassModule('@carbon/type'), t.SassModule('../utilities'), - t.Newline(), - defaultThemeMap, - ...themeMaps, - ]); + ]; + const variables = Object.entries(themes).flatMap(([key, theme]) => { + return [ + t.Newline(), + t.Assignment({ + id: t.Identifier(key), + init: t.SassMap({ + properties: Object.entries(theme) + .filter(([token]) => { + return group.getToken( + TokenFormat.convert({ + name: token, + format: TokenFormat.formats.scss, + }) + ); + }) + .map(([token, value]) => { + const id = TokenFormat.convert({ + name: token, + format: TokenFormat.formats.scss, + }); + return t.SassMapProperty(t.Identifier(id), primitive(value)); + }), + }), + default: true, + }), + t.Assignment({ + id: t.Identifier(key), + init: t.SassFunctionCall({ + id: t.Identifier('utilities.merge'), + params: [ + t.Identifier(key), + t.SassValue('layout.$spacing'), + t.SassValue('layout.$fluid-spacing'), + t.SassValue('type.$tokens'), + ], + }), + }), + ]; + }); + + return t.StyleSheet([FILE_BANNER, t.Newline(), ...imports, ...variables]); } module.exports = buildThemesFile; diff --git a/packages/themes/tasks/builders/modules-tokens.js b/packages/themes/tasks/builders/modules-tokens.js index f0c4d78b7a5b..31665b55af40 100644 --- a/packages/themes/tasks/builders/modules-tokens.js +++ b/packages/themes/tasks/builders/modules-tokens.js @@ -8,23 +8,76 @@ 'use strict'; const { types: t } = require('@carbon/scss-generator'); -const { formatTokenName } = require('../../lib'); +const { group } = require('../../src/next'); const { FILE_BANNER } = require('./shared'); -function buildThemeTokens(tokens) { - const names = Object.values(tokens).flatMap((values) => { - return values.map(formatTokenName); +function buildThemeTokens() { + const tokens = group.getTokens(); + const variables = tokens.flatMap((token) => { + const id = token.name; + return [ + t.Newline(), + t.Comment(`/ The CSS Custom Property for the \`${id}\` token`), + t.Assignment({ + id: t.Identifier(id), + init: t.SassFunctionCall({ + id: t.Identifier('_get'), + params: [t.SassString(id)], + }), + default: true, + }), + ]; }); return t.StyleSheet([ + // Preamble FILE_BANNER, t.Newline(), - ...names.map((name) => { - return t.Assignment({ - id: t.Identifier(name), - init: t.SassValue(`var(--cds-${name})`), - }); + + // Modules + t.SassModule('sass:map'), + t.SassModule('../config'), + t.SassModule('../theme'), + t.Newline(), + + // Fallback + t.Comment( + '/ Specify if a fallback value should be provided for the CSS Custom Property' + ), + t.Assignment({ + id: t.Identifier('use-fallback-value'), + init: t.SassBoolean(false), + default: true, }), + t.Newline(), + + t.Comment('/ Internal helper for generating CSS Custom Properties'), + t.SassFunction({ + id: t.Identifier('_get'), + params: [t.Identifier('token')], + body: t.BlockStatement([ + t.IfStatement({ + test: t.LogicalExpression({ + left: t.Identifier('use-fallback-value'), + operator: '==', + right: t.SassBoolean(false), + }), + consequent: t.BlockStatement([ + t.AtReturn(t.SassValue('var(--#{config.$prefix}-#{$token})')), + ]), + alternate: t.BlockStatement([ + t.AtReturn( + t.SassValue( + 'var(--#{config.$prefix}-#{$token}, #{theme.get($token)})' + ) + ), + ]), + }), + ]), + }), + + // Variables + ...variables, ]); } diff --git a/yarn.lock b/yarn.lock index ef8ab9f4bcb9..4ed03309ebcf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -448,6 +448,24 @@ __metadata: languageName: node linkType: hard +"@babel/node@npm:^7.14.2": + version: 7.14.7 + resolution: "@babel/node@npm:7.14.7" + dependencies: + "@babel/register": ^7.14.5 + commander: ^4.0.1 + core-js: ^3.15.0 + node-environment-flags: ^1.0.5 + regenerator-runtime: ^0.13.4 + v8flags: ^3.1.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + bin: + babel-node: ./bin/babel-node.js + checksum: 04d665fdcf2db38edd39d69d701c6e7ea723399e6982f44f93f00178a8c6fda7c3648dbe090de78651c174b86e804c4d65fe24071c92b1352af00583b4c82202 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.11, @babel/parser@npm:^7.12.5, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.5, @babel/parser@npm:^7.14.6, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.4.4, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.7.2": version: 7.14.7 resolution: "@babel/parser@npm:7.14.7" @@ -1437,7 +1455,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.0.0, @babel/preset-env@npm:^7.12.11, @babel/preset-env@npm:^7.14.7": +"@babel/preset-env@npm:^7.0.0, @babel/preset-env@npm:^7.12.11, @babel/preset-env@npm:^7.14.2, @babel/preset-env@npm:^7.14.7": version: 7.14.7 resolution: "@babel/preset-env@npm:7.14.7" dependencies: @@ -1577,9 +1595,9 @@ __metadata: languageName: node linkType: hard -"@babel/register@npm:^7.12.1, @babel/register@npm:^7.13.16": - version: 7.13.16 - resolution: "@babel/register@npm:7.13.16" +"@babel/register@npm:^7.12.1, @babel/register@npm:^7.13.16, @babel/register@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/register@npm:7.14.5" dependencies: clone-deep: ^4.0.1 find-cache-dir: ^2.0.0 @@ -1588,7 +1606,7 @@ __metadata: source-map-support: ^0.5.16 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a2a4622292c281fa22e1e501c5c9cf5de41131b6824f3b96095275e315316d1f193593a1316f078bc43fb290f510c0419ae8d3515616c7607b4af4eefecc3d55 + checksum: 5fab2384f5e3588cf5978312997afcc4cabcfc519eb6db7ebe3c5e704dc7faa7eef691b6939bc086937f732cdfbba028ea3fec0bdc23c41f19443bea13135a97 languageName: node linkType: hard @@ -2100,6 +2118,8 @@ __metadata: version: 0.0.0-use.local resolution: "@carbon/themes@workspace:packages/themes" dependencies: + "@babel/node": ^7.14.2 + "@babel/preset-env": ^7.14.2 "@carbon/cli": ^10.25.0 "@carbon/cli-reporter": ^10.5.0 "@carbon/colors": ^10.28.0 @@ -12057,10 +12077,10 @@ __metadata: languageName: node linkType: hard -"core-js@npm:^3.0.1, core-js@npm:^3.0.4, core-js@npm:^3.11.1, core-js@npm:^3.2.0, core-js@npm:^3.6.5, core-js@npm:^3.8.2": - version: 3.12.0 - resolution: "core-js@npm:3.12.0" - checksum: d66e368bd73c8af15321b92048c7dfca86675c892336bc1b21be5897b3e059ff1918a8d8308789ea2d287dc73463b9d9f50de944c806ecb995c4f1a9de7499a7 +"core-js@npm:^3.0.1, core-js@npm:^3.0.4, core-js@npm:^3.11.1, core-js@npm:^3.15.0, core-js@npm:^3.2.0, core-js@npm:^3.6.5, core-js@npm:^3.8.2": + version: 3.15.2 + resolution: "core-js@npm:3.15.2" + checksum: f8f61569c4c3bdf50679226f5a1045551192a2f4bc3fa46a873b6fa834cff6d1634ee138a6e4bae3eea99f1b1db2d588fa693de74640447476292b41f595a4c3 languageName: node linkType: hard @@ -24482,6 +24502,16 @@ __metadata: languageName: node linkType: hard +"node-environment-flags@npm:^1.0.5": + version: 1.0.6 + resolution: "node-environment-flags@npm:1.0.6" + dependencies: + object.getownpropertydescriptors: ^2.0.3 + semver: ^5.7.0 + checksum: 268139ed0f7fabdca346dcb26931300ec7a1dc54a58085a849e5c78a82b94967f55df40177a69d4e819da278d98686d5c4fd49ab0d7bcff16fda25b6fffc4ca3 + languageName: node + linkType: hard + "node-fetch-npm@npm:^2.0.2": version: 2.0.2 resolution: "node-fetch-npm@npm:2.0.2" @@ -34360,12 +34390,12 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"v8flags@npm:^3.0.1": - version: 3.1.3 - resolution: "v8flags@npm:3.1.3" +"v8flags@npm:^3.0.1, v8flags@npm:^3.1.1": + version: 3.2.0 + resolution: "v8flags@npm:3.2.0" dependencies: homedir-polyfill: ^1.0.1 - checksum: ba7fc706f1c9a90a2e7a7cd09d5ae8bf1c273f6e2c5359f294ce26333445b8478a9b329fd9d920e46ab8236fae244cd76b44403540f8202b6cf8a02bc8a47769 + checksum: 193db08aa396d993da04d3d985450784aa0010f51613005d13ef97d7b2b9e1ba5aef04affa585037adece12de5ca532f6f5fc40288495eab55e2eebc201809d2 languageName: node linkType: hard