From 675d8924ec2e442cd641e89eeba694472e5892f9 Mon Sep 17 00:00:00 2001 From: Brandon Clark <98107867+bclark-p44@users.noreply.github.com> Date: Thu, 17 Nov 2022 15:22:18 -0600 Subject: [PATCH] chore: adding more context to readmes (#154) * chore: adding more context to readmes * chore: adding layout blurb --- LICENSE | 18 +++ README.md | 76 +++++++-- apps/docs/public/images/logo.png | Bin 0 -> 39057 bytes package.json | 1 + packages/design-tokens/README.md | 11 +- packages/react/README.md | 134 ++++++++++++++++ packages/theme/README.md | 262 +++++++++++++++++++++++++++++++ 7 files changed, 485 insertions(+), 17 deletions(-) create mode 100644 LICENSE create mode 100644 apps/docs/public/images/logo.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..accb6d33 --- /dev/null +++ b/LICENSE @@ -0,0 +1,18 @@ +MIT License + +Copyright (c) 2021 project44, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, +sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT +NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index 1bd4959c..e383bd83 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,78 @@ -# Manifest Design System +
-> Manifesting Project 44 experiences through design. +>Ke^?o=Cu8Ca%{oSnSLkkdSJX4I~^qF17YTL_9f@Y*q`4sTKoa0$MCMCo4+ zoIX(#qc6%H1Xfnq*D AA=P+F4@2i3hyR@pG=669beo|4P%MA^+nqL^ zk&F8co#)<}BI BBFy5!b~oIL|@|NJGK-2z2_K%zzn<6v;`ZD&ObVL zV(s^xL#ny0Q0DHUkq-A%@Foi&JQ72ZONquSdqIoBg)1*4Y BetJ`?(PK$VZW)s$9ZeI!7;VJ#1^@MBH< zrr9;9R)Lbg?CKo4PIHZ9t}|6xI1;^~1)QLkwFio5ZQojosS;F!v#(MgSkGOcC+@+U zXql>!_)xE@2w+rT=QgzF?S@^<`R>R23Tvp-45%8G(7RFrHSG(GgQ@MBbw-QU+3^gD zgI?V_HevdW2 y8s`}={)=8 zUg==clEJEhs8}wK-HRd8x@i$+vFh`$Rt}@SQ3aMN!D}Qeoy|UVZB?g9Q7B6(l+(MD znTGvzb Ydz@i3`I5)3~9iyYr_l@d9D z2X#B|W`cMapUedsQ!pAf9O*@Dx|PV=Z`0={zpeY)SHD^`nVbfq e&wxNk zAlzZcgNER(kqTaq0Fc@u0g!4F5x|>bNBI!g5jnQaR}dQI{{Poowh9xCqZe|$Pm5TO zg_!^^h`Acsury+)V!yo+z4%6UJ)oaQ>^-|`l~ArHXK8XMg;B&PH}IVM<^Mwi+u)BN z9>O(PDRxG%_^om+lEz?y|EYrgwpu&a(NBK?jswcWsIapn!7KTnLI8CW)I9Glg2Eh1 zAbNuwGJTlycw&n4da^;)#?-`oAZ;-0nf@fjhWfqkOkn&+^x>65H$42W(-o}I8~sMj zjdEy c^y?O^2LWa zz(L>_#fZ3^1(=e<(E5?1BzEe>rH8FWhhSUM#%IUZWdz F;wC9D?WfCOfEhXS9P1KI<1He0LaqCp}TFX)pv;4=Oz1h*plms-}`Jkz0 zUr&FO$J^LQdY%`wxUc=-{Z%3~Yv8NIvED{uSn^k8o1OoaEHfxX3MS+OfRMh@i!aiG z_MiSOdgtwKJNlEk2HqH{)dd$3BSz*P!mmOMjl1BI Bc1ehgov9d~5d=fMV`^3f3v= zQMJfy=sV&Ul#;ODk~K{ivt-@kW>;wwhNpdf`AfuTOc$h<(otsXTg0XbI4Knas%C%R zNG-lm YJ=UchocXz8u#Q0r4m1)Lj$` zFLN{B`Tpqz-NKQ)b@yrYyASju*QmuH{u!5=R&^|%>G$>t`gIxw(9vZ8z=58dj&>uy zxcV!l)9!IrXXaqAunp*0f#b7Iwoot2>-N~9B~|D}JIT2*iT-WoJdl6UDA24}?09>9 zF09DzJnSqqVxHjD5UAdtwqlqd9iYIx{+KB~N%FAqci>m2hb2)oaJfe+Hwy4Z)>yQ! zd%K@ Mxx1od%!{PfIxpm|=EIJZ9(CF6oE(lb~-sGAH`cs+gzB d=H@~f3Cyb%*`P6d7n356f{7Yr-FpF(;)mvo>W{q6FhZ-C*o!!Zs{rYeSC zm4d0loxi%~M-4%oShl6lTv v9TvWE*wZMFf(c+%|%yQ_bZ7 =$z5Tgk2vtbiJ}3y>Db=_%33Sa!MsHG5 -o&^m)Qc?y^t=SLJ>fx6n(0pf6twK5#ivfmfwa Ryfxg*=xOm#f;v_Gb%p4|g2QrJn5J#-|oZWMPB-Ln1OZZLRB z>vCReZ%7A0-WJrFbFeQ^x_=(O4}E~-9EWd`N~V9#k14|j)_-5BNogCcq_E_c_o+9G zI{ImPDr4ryY$9K3%z;YZ`Oe}v0`CWgGRHI8=X(#t;7y}VDXR~YsI={0uq2647D2T# z{&!qcKIX=7KLBRC406!IU`JY7X5@rX1snJgIHh?f@uy2=>=!mbX1?|m!=&OmrC8Kv zVkw=kp6(p#5V4%6zv8aqdY@mr=5JVQ!HA=<@9&H-OX|ZxFI<< ciHFy_0ZY5}1mszOyKV(l8Ge4Y+8HwY&sA&dS$xoRl zjzZM!hs)*zlYY75ws%7wbeO0bjsdc<3E!Kl|M1~-EaU}V3$&m$px(E28g3`%-mDv# zanAMgV~mvJK+=-F>n7urxEMk9WNjRZ$3`@A^N~tT9+vi%UmS^?4GvGIA4uoS7eVOl z{C?~C>t%l?Z%D5i=QJ1*$z(A)Q7A4A5Sdm&cJ72i6?h$mL@ zgUM(9=oNt#F-$-GXA5%1HcdNjqug^JWCf% zdSSdRS(seiv`2VCSNVofxQ5A=twlt9-U>T)no&aoqtljn;#%f7if}wo%68}K9O|)) z%x}g>-8+(hpLu%O<#_s&YmOAdam5Ms7OprU_#lK)Jg4=+X(yq*+FtF8x>`G1xjgC@ z1Jf=xHf>^^Pd*+K-{!yj8P%3I?npWJ8YNDG2-8?O`_;jR>TJS2IlUBxH_ZaU8br0h z40I5SXuLh)Axc)9{9|c3){a@QVKqY}{~Ray1XD%H%oD@wFVxK$XW%#|`_lPR&X;?X zAHprCw$U)S_74qFHrj1w#FNkCDo3cuC!gOvY?pCC!~0H@WpSM$R*g^Y^t=?*qj8e> zGrZzAQX!6w^KKnnKIC8fP|e+fYLpc=&f)2 }6WTh6e oeK!5M z6dI5I20P7oiUd6^^G648b@14Lub(j{S{>0&ns*n5*5kI07(H 4Uz7A$c@ zsw#GM9fsY9H H+b0BfdK`2Nk&RIf57+GWd%S8#+t*9M*N+n)4PvQ| zyXGavEtS-n`y4}wA*{CC`F$xhDHY4NfDWbNIz$_ZmRx%#U^;OEZaO_^-3&r$RB0&s zB+O3;eQojYrBO2@ieV1xA(R~rW_A1JK8-F31? m;a}=Ow%#URp z4Q4pXG(Y|!AknlN^)sdAov=rl)0G0{*Lu} %RMKDu8 z0B)dH>LN#-?ldpHV)SB{=>uo{zJmen+v>RLSR~p9(lo#EBx*4A{516C^XPBf8*Dl# zn@k Y%0FLF~jVkzdeknZ}VP<`YA9JoP8V>> $Y;XoLl@S?e7UF zZj^?Kmbo@MbN)72mY`Q{;o$!g=+0FmkdnM>66pKWH{7Qu?3H=!*>_syIQhnmSIg`N z9>@ZeO20XxEzzq~5U@r7G7Zs(AKL)02kF;R>*DCjxal{&nKaA4ZkK1vVMJb>oY`~f zsrfD(v*T`R&+nM_zRrvo?UnIckS#8CO5My+yV{cfuti_n=I;}qRAaijeGfmP!lqr6 zz%_amyV{d;$p1?iKZQ}5`Wj6tDcDnP>MIHWNh#O)^QYaElvk=h%O4G2%}ps!?QG9Z zDHQ00CmT7O*1cqvvNnL=lWLB Sf7cbe~H8=%^lQ#R7P} z39QH0zz2$y%(*hn9DCm~#)M)N!tg@q+Xt?Ra;V97bB~Ei8HJC!@e(Aqi;_l?)};CE zmy(=)$Hzwb053|3&L38b5Dw2N^>%U}nC_R~_5bK|XF|%${jjZ+nILRKDrI)SmcaST zF3>e)AI`oz;Qyk9`pjTm5S?iNFQ-W;{Q$GX(^?vM!zTqmAYYUe)sKN`#T|~V98`lp zoxGpn0B}O~Y6r<*=r;k+iU_v$nev6YGovuP(Yvj;4omILo;VWpi|4bH>`_F<9ru9k ztr!O4i-OTVb2}&LQDikXx(lfwUD=@X#a?en;RZ9o&^Z{$XcHO}9e%3G0WgKFJdWa4 zykO<)x*CAqb6uPFq)lVhJsE{bCq)RPi{_c@R&r5CHbu5oQs+|TiBNG! VreK)bLJs{`^me7y&iekwVH#hG z4{Lp#p%~sSj|FVaj;$J5BE$$h5-0L$C5s1#5#-(CPHSzJP zgWDAM5$`LmfFWr|>TV-;L?Xn K=Xud;`r!f2e%)HgtV>Vxoe01E2y PtjCfK-L1?(`V4C)?P3Xfe z 0U7yO_!gY2!Z}%maCz z9Hcq` EbcO>z`QeK9aDMVj&E9`Pd)* Q}NN@QSzMo<9I2CB3DM+Jq2Wm>*)$$$-m0RNTl+F ziLvEWEV}R8mC3F0+-pI?AW%qt`5BagpW~+ Z9~@PN-MsyRU&dEIO50*z3Ch@demkFjoDBv*YmM zBvP&&zKrJy1fJzvRPl`o@0NtS6>l?jxD+*(q*Ep@TK9%u`o6q8!gc-vx?=tBnvb(U z#=7 EF!O=*>_99Gx#k9FY;mMZwezMlalA$4yBI zAO=VkABQ27$aT+&lb?sqf7A7Ao^V9woQ~yKHa@;m7a-A;$3+dx`u(0-vRI}et?&~6 zo^9Hl0B>A-&E_YXY7`fh2I)#3yN|bUf-*kfgGKTHh5)LK=N1`AdYt1<;!h&h1bWp! zcXYi4rlOL`$$J>AQrex`KO@VH>#@g@?y%zl0E;u-yCUlbo&b Qm38*KV&ST3sk)1%sDZH~ZetbY-{UY0FUllk&qa2ZPd}2ph;W zOnfnOUou(nKsV}?N-G&pds(@fEj&j`qfrWP=q1{O@u3WB;<9P*!}&ODN~Qi 7hRO3bT+0J9T;Nc0lF zCqRIOhquVsR)yX=UBwBQkV=LS4P?6xHS&UVT+Fm)NdHxT tw9-5Z^m6XG?~G_O~3AIt4K%a zn1R?Nr%VzrW3m>kMgAUo#>)(WWSc$MRFt6ku@jJ&9&3A? aCb?fwWyCi%QU+EwU zeW`nyc7MhzlS5`1q=aA`qPJE5Y;_r5`I-3h+XM%U|J*0l?i}hKZer^(P?x=N*%?_+ zmYv6WP&;;saW+4^l+H8rB^WA3Sy$r~ROnmXiWmLvB$2YW!_xtVk_49}{zhU(=8tBd zo>?~nYU~?isPD^hLW%MnVf*1**&}@G)aEG|t^9b E^&TB76%c_QQ)!M#n5Z7PO)rBG{dJ0SPSIiN*-J?eZtN; zm7i)MSdRCU*4_T>9AXmQK0X^e&r5KKYGuZAk;fHK2S%C_;82gM;~wb*KCAq+Xf6Xv zcq6Bay)Eth_f0kd@FG??`5$SMTcn+<*MG@)nU4lEd|LmWYK-f`tC*X(WVaCat0Luh zg`!cCWg(e?w*z=uH=6G-Z%ayFkO@pN1CCZ2a5bbk=(sfg`EYO% jlp5N}yN!;&!u zJz^?xJR4~I7SF{8AXqZgE$aAahW}Wo%}*%(+9LfX3+)%4?k4Q$?UoC2TnTAO!yx(< zhZd__0c_9F9}e1sD_6I7l0aTN3bRM1HGWwk*s`|ltI_F$`Y}%T;dRPFN-x!yICwrS+CS~uJ>|b?` zD #SX`CHRA6rFu)u0Ca{|O=;fi-4W;U{ zwj$iDLJB6@{eo`QIqNep8(!tO!?EYNeihj xf*#;$>MY!cF51H&fa zj-SU(YruT!-L)0nNhKoKf#EsSVF&o3`(~WfGay{`Hdv_ yPdmmKIp^?a_ zOCe8TaMbG{Jz+cia<9zKj_1Z^=jUXbNRN(ZJLw0Dwz8Ea+|I6sr$Js|dURzp46B7v zaLB|5ZGQ6PoPoR3y 6nKd0(PZX(H+g!o z85-C7si2{>FH1CkxVC6l5>DsPgsXSZS2wK$9%*}a)P_5Vxf%8X`2d^+tjnyzf6jU< z9yXAa7!q)ZCr#-ZL7 RlGON; z;5DuEzjU9zvz;u-!r;3i)AVOj>_2d=A$DS;Y6ppP*_EI^l2LpY8_a*+3=z5WKlXJ1 zGpinY0@WU1WS9FY$~5 eBtoCX3RmS!>r{y#78x?46mJ4QSN(FxuP5!uOW422li97;+ z(**V`_Iizcc$+oT=KV8!M@BxA?`Zm3J5Yihs2kTm2Z)~3Vk}uU%5IE zp+AGoliSy4?+G&1j9y*{9USYnDeYJJP ma-Q8dHargwp;M^{be3Y- zmTf4C=YNmhUk(>34$s1#+fV*iq)uYjmx@wSKhv28}Q0|JdT6F36`|h&=&MwKEA` z2~<*&g?q0=81EuMu#vjAQ+%4Ni=cA7|49~Czy^3vfhS}~`Q_M3`I@;Pau9*GY&&*2 z#-Rs|@Tnx1HOR)k;@b@Ytp2B9-1PpjY34RFQO~x_RJi0@JIs@>Hr?K90@cZ&_M{MC z5={-*qr()8o j~}e=}|VE4HPBsez6Z+*DRD2Snz5 zKzjZFr2hz0 7SAf4|4?pZ;<> zuXDfd`?{~|c|EV^(-cjiM{B8>K-?3^gMfQcuTuxrUPWS#nqYMeI=E$mrWdJME%{b= z!i49P$h)4E+HrNfc%=uOJJPdZFQE3u`|elfl =H%fO zJ?R($Brk7pOf+<{W1q0nGHSE?>(zqlXT{r2x_#*-F;SiI`mR&fCkrZSAPpc8VoH$X zvLaUzY+WL(G|L;kH|mvyzb(3(L)5dl6}UIZXqKWec4=JBkq9-jq9n^t&cx6i6^T3i zWpqSTH-FjLX|WeM)epilgdg~DlE%Z0$qV`6N`wfhC-lb5Jq*ztRxOi{y7LL&il05# zf}&U-)%kdZS|-tl&`;sGzX e^ wqp|r-f|q{Pdn^$dALk!LIUJW |a2v|%40&iUZ3 zG2^6VnRW-SF@3)xiC0kZGa1L!r?xTpD?LLLPFm&;WfLvlaFE8>KoXAWg<0uqb#AA< zIG(c8FFLvm$k$PQ*M3P8b^{u5z)yKK33-wr );%eIIgHBd0 z!!^woWc;!|9PnBH|L{6-V#sSELT)grmG-ks4u_QF5dDb4fAW?6R#-Od2s`0HxHzwF z^S4QM7iNtX9&Wi+Q`C*Ej^5MN&sjol=beBTdrDsHz#>4dV_Z48@ORriZ+`ol&v>gI zE%uyA@;Pz4`#6t*Bv }=*51#;c#MbUf!Q1ET}+( zdJ${@AE|?+@hK_d$<7$UdW3 o_?TC!r-PQJp3eRf< z{o{;~@`N+roHq!}Og=Bm>Z*q@hU3&DhACYzIY`5$N`0RFOT}u`mKJnZXcb!RY@YOg zZVx?)eZsjn{Y@tk6_t_+>waGuF=h<)2Yu8@_ (`otTS%9Jzf4XPE>vi+jk4)lN5mJ3eej^Z^AkJH` z=X(N=6K`?g`m-%mn@-f|jmG2eWca6z%`whnvLn|OTKA9R{mSK&lLNvIZ8HD%0N;aD zTmcFN6>E ?k zg7H+8yX-ac5ddB~(Wjyyog&ilp=I{xhf|Aci$arG40Z9aZbUY}UwwmjVJOI^$*&vz zRl2J#>(@m#LmaE%oiI8g_`g#?9mxs`1*JrtZY%t}1>Dj8|D6{T*kPUQk~TMC)M-1f z%ao$#nv8F2;9e~?&L|+UG?PEhl)?b|s%4^>K_}iIwT&w2q(W>-PVTO}QSW5Gmo(cb z=m%JZXgm%IzHkl4DdOx~*NtFTET57jo{t3C&>D|NHU9-noYK46Y6S319q>$M*myZQ z=7oF^hz-ppT*F>tuyZFs9;F@T47Fr@PmwyyT|9FYXX*9OIQGY=f^OFp*a!l5LhJ9~ zIGrba3(_tKzs~*lBTJ1V7#A>Mm;5m)cxJ8M^0Zgw@p+#VI7{Z3I41_%n$DK?#AFEe z$ZV`lzpu~k6=eLnrpti;=9<3auXZVS+MXE)qPlpSog-b&92}4Uh>I67W zceK?=2#Sp6A;wk;&Yj!cnD3GxY9(oy$6;lsxb&|>OR(YEu7XVIy&m|4W12l%G co`1reAaF*Y(T~ z2JR^m _=WWOSTMyPMbu!O=?M{8=g6| z#{MrrGr?_qi?Lhlx8{Wr?IYIS!$0cX*@SP^_it>gUEB{~<2eQn0@-*r9;^hOqTM*! zY3)(vGdBE58Kq16gL1|RQ{uj#Ct~UMfY;-9s)+~RrTVd~iT5xP{pa#T8SW|shof8W zQ|E5E_wO}~)b4MUWhEB4(4!yVhE*<3v2A#IygxKY-#r*Xbf9QRr9>gxJJy#qqyGAx zXbg8g&~+PRb8IN?Eqq#P-Nn%OKK}3cg__SdFBIv2r01bzO8han#Neku^Mvt*G-1@K zf)$vHEEo$wHx%rqRPP>i2NNVtN#~Vkc{ZvZ^l_(q5hO)^y)b _)d=ySg!;^) zP?9)B>N-3t$=P6dRxH0bUO_>aIj#ng1&l6g#4RsFdR};(cOSbRPI=d})gU)}LG{`_ z+-tl@UAf@*=(Hkl{90M=;+FPCoSodmd1}_&8b_CvRxh2$fVh2(Zxknqx3hUTq2u`T z-Wue#Kr39@QUCs{*R&etszPfq`^q9<`^M>O&!+$Y3!>%T$~hA6uGWQy@2chmzp&~$ z=A}pIEyEJP$4%!93sFkTG&{dSn!=lo98BIdCH{-`4JjYAidWuHT{ATObApBDhXR_; zPeFwGbEt9P2}4RqsFt-0Dten$4_?_4zLXn7FtgDNCk}es)!@~ft(@_D{jWDbS|}~x zgkfw?!>o1X2H`oq*3E1bf4-i^9*Kf@Y_`jJ(WMYgvgvuN;}+P|4-ULP$)=ZIJ6(hn zn}-1yzmC8^8 cW&e+2mM}ojpIp{_?AsTfz<*QA8W|hO4(dpOosl^JVI-G?x9`! z`Qe0%&6i&TEc%Y=!OpXl{^nJCPddCl$W0^5zB?Qb2k;ag;A7C`IBU;vC=bQZa9LJu zb(U6YD3#`WH=qkWKabSMxq>9T;_bgyu3avAG6n#2v38+tXGkQ;}-27%GYU?L)aOzaYAFYkP9{-!8{>#oCD3@=jikratgY5(-U^~sv zpnemQfzC{s)gmJpgE2<2>{~YwQ^XNWzT7Rn+Tqt2r&`wdQH7v$E(btHDZ&BEABoEo zVg~SwN^;^j0W%!_T8mrM+XqDaJFw`h5$;b{jSgHlhbH^$0*)JoARX5#9Q(8&8fX!e zb7Hb@{iH68&?@fie4bH76AvxnS+T$M`$@@Ug5dAc=|rDHoA2P-T>uDie{WVZn}XLB z1^JVB_TlfYY0g>Qup~SBnlmrmzNg}dsIUKNa@T( M3m zDZj&>p|nZ$;7XR&0Q1Qo{70~L-7^IGP<^W*(&= _E^a2;vnw;DfsB~_M z-+Vlo`uAGLnV)J0LULyxk%u=t_hfoUb+`k-#s7}- +ZH!=F*S3O1d9x*=N$vKE{@ znL>Qd&KD`qvzwgA8LePt^| a?<@r0OqHtkK#X*&Q=Qjmy zjrA4lri_be4K`9P_^qAajAPee7E_o)kpQxQgReR3@}Zi~V9GZoD#d{!=hODlMXxhi zp3 `mPb&miAQGdl7(1o`KjWGwSU6LoWE0DdzVoN zU;wU!FD+D$hrfu?YN+<_{r>g#%rj5iulHQ-Y_zN^tg7cXi3>|NmW? iS~SfnHAPuqFaaLVD?8+0QGLx~Mg> zNvc$}lDD(yVz9`^WYs4kdfSfg83tvhj{9Z9qba~HT7(qAMe}o4`w*qAok|}A`NYGU z<`hs9LTmlhsSReWQu)0MxDBC~^e1QREV93=Bie8iQKj6QIl h>UX(W4Ub5c}S zkiEFWj2_zD+ojLS@x)`ly>F%{mFP*dJcn$f{FjUF0sX#;XW_f*xv1UDjU%)~(;rD_ z-=4Z#cy8|bqgsl{VBk!u{YiGSmQ>ES_&sP%am2TM8!&q1)xLg}-R@uGoA<>||JJBP z3hq*7k5si$$goeM& _KY*VFDdqVOBECP)fN3 GC^89H#*9Z!(K4e)I27 zCZa!f1fB}*vA+31cJKFNt3CEmTC%G)uroFkQ3 d2$&`NA= z+_VisQz%**Krf;~<=UhZ<4zpz{eyXE8*U=(;s$PXrnj5#il>~eEBdZBC&O>D5zJ`1 z`}ES|x-R0=>Mn<=BB5C|7d@Q~SNxq9tU-qB{WH|*QgdM;K&vK8TM7gj?eg=(C! 4m|F;xstZOKUV(j20YYeHvrLT67Gfldb*u@|LesUuVbp- z?^T7OH?HdK9 ${YzgV#dlq7^ zR#=UT;E0e%dVCyf1HJ{fEueLR_HV6;CZeQ9Gpf>3SBfDi{>g-Y7Fa_aX*m9tmmvJ1 zbf+#BR6v*76#*rQEHw;}J`a@qe3kBkW0X1DUxAzqBsGm=UR0wBp35^m8a!ZqxrZ!{ z2?#^$^Qp^R%$NBw 6G`7O`pM>xK{^PZy_Wu%;bk_2MmS08YKBmo^3N<*) zBz;IH6x#8)u&PD&`)MA=5;sNx$XY_`Z=c=Stef-hg5@V(9j?;}7F6)ZpFo{c6u$$H zNyd2PgBP`s7IIyjr>`~xyvI`J7=ziZzE5!}{5|eZk)J6NW938k?`Or>QKOd l09C1U%&+wM-MaH# z%!=F~fV*||PV@*_*Mj?TO)=K9cs6XkWwmrywoFUN*-`7r)&V0C;_jo^sL}<}OxKDx zmS=WP*4EHpdFNzz+?ggC^ Mk?x~@aBgmWd(O~V}`Nd~!@7Y5! zL8i2F0#@V~V8D=sVCqjYhLCKx_jsHp5E}v=pL~ZQ*I1sM^yr7243%!UxeK0(MVjOC z6>s->N-iAnmSTcvK4N=tj-0^_HeFWE)E d!4{yNQnzcP5ct~Ei+5iSfY8wbh9nNrrn#C8W {fchiJ@{QvpY2V7rPfdGAARCL zKFwRA9ihj=@PRpDxV!=<^KjXx@Z=Y^s5Pkv*WGTrwqDl{ysI%(bg7auJ5IQEXZE?H zG4ht7s&N~?=L^O0Ws<(@`i|8w8%+9fS3)gCW$OE2Mh$MT9&z)`Bi&nQOJTp)_Iw_r z?8ZT)PR2>U`|(?C`Gi#&G&Ux9*my$DDaQM35-nbH_PAb6iQaZPC^;mx(lN2Fb9-YC z_~<=c^f|~m`RCsHY^LI$tK3uX;cjfIq4+4hyf@nC_ez@Nj5xM<*%=mQae$(Q>iAix z7CBM>hHc&M656UnM6FkMQ5|!16iio`n-^fZ?9;XlSMx&DM0N7^N=^`DC;JLtfz>H} zdECXKRw8Q)w94o50{*5)^sK+&qZgn`&?w(dd-2WpLBZp^i+QO|++}sdtyN sHZEB9YWWY1DQ?$vUdhT+oiTM!+3w-9_VlOq709$))2-c^ n;>Viqt2WvHF4y%h}|N3Qbh;L)yB>nSV(rI&$}`RrVmqqpHRf>pyNzGOMLlhOLx1A#GDV>XGng9Mt1TjiQAyghQ*N$@l1@RtedPpxjqEp#_LTBhI( zjIrt&FTV7AORQ-&xPUF+>CjuY#%HqQ__B)!@k(Rn&2;sr+#5D3(1Dl}t7zGHpg`lA z@uGY6HyWk2y{G87+I<+^(^HXVF}KYY5X#>e)%_-p%vyB5)M&2ZsY|!7M1jqO`w9!i zYUY#1B3ry`kJHsuAKUHGBg5u;OUbM*#U{CIDCcpaxbU;Wd0%*XJjKnIXIL9KfB|TL zGF$*oR7jeHICj)Mau$FN$3OXdGHKfxO;qF{V$6ZEO23L?dzu;-Cc8)3k*Ziwy}#+~ z$S~3_kM4s(7*n|U?m?Cjy?8klefjWrYV qX zyXv0Ie5&Aqz#EPiFW2;KXD<)c{K|{f7(d)fJbJDCZb<(_`aCt=C+>D}XuJiSm|jxo zQs8|?wUYIIZD{&Ye{uF!H}KFXDRtulvRtnItoS)9SHmyYN+EE2Y|6t`V(2HqoqV3# zx=L?^qqOGQ%KSuMYbWEB2R?D#xNj6{$l0=O_Qi8z_+Cfm;>XOKL=Z9_7VT;S9jQR! zZyQ#U+EMmJMq@Pit(GZ=>nntdY9UR%eV?4~Rz?~OE?#bmdb_qP%>MEEGZ!?&i2LW~ z^PZtp8FWNFOoB*C u%CF(#|TD$tQ$VLRM} zK6~dTF_B&pPC0wCH^dlp976~M_P>=*CWQ wCxz+7i zae-s9vSrV%kWqExk=3TOZTy(*MELLF$LHW#0n6$1U%DKB!f;gh;dkAOxAGMGo|XPJ z@7a@C)h2saQ0cbT5RZUC;lnL07`2OjcM~XnwL%Fd?B*! {jT_JV@D6TKn98K8sjIg=gua8;$&D_pGByuQH`M>;SiYfiU^-J#Jpfg>abubq{Q4 zX 0 )-Ri3I`Cp_@`2c&pCSo=DqvN;k=QZovhjj(Q8Tc(5Fe8V zUyG_CTbK~sdb<$)*?-KJ7w|&0Wx+6yNawbi&)Z)-Ld0%3{|^>-Gh20&skD;Rw|1l$ zh`n(R=J?RY3k )MY9ST 1FQF-YP$K0RT WYMRSHcg`i- Wv%7#od{_c-5+4V*Ng_<*|)12wp`r& z#=}U_@wmH`YOC@FFL0s}icai{c50q({`4wJrgRh48+v?OFpKEk-2U1ewRsM-EZ{qH z#lCYR(Bh9zAi=_;mMyWxew)r-=f@s!vdB-#!lX>+w^>aXu=P_<*i_oT_$9Vy*6F1f zFUY)FstOMk0@aHXeRm|= Q9b4~Zh`68Qlng*R zW0@Rpb>^btjJTE^W4PPu>$1#zoP=A@sDM*1>sxM)?h}R$Wj#Dr*YHuC|8)dJ23-$O zak%JAqBz#^;2ff%K6c|`iXpwCUK7A?Nbh>ikg)?!fju2NOp_(*J5nKWvjWPa+->1= zZc3+JB&yzFxIUtscYkMh+~_S+;)W?>kbeNC*!rbT_D(0pj(LI OT@!srzk^_StZZvJlTsFz#(n+#QbA z)jp?2q)VK`gxg=t(d8#sgR^?^R6tj(L{>Bm1w>7ul<8y?Fpm-`Ip~X0o_8$k2R?3z z& -*r0ZdO|+Z6(#RC0gB0FBXLL*KduKAYe*P1A^cDfRKJwnocsSI$D~D!psq%* z@8$=ZDK7aH?pHoZJWyY4o4+C^SAD1cy^#}~PuufC0oLVYBeaCB+iNqZ*dg4;R}i7_ z_Yz?z&DdZ2^g29=$gnCD>o4HxPii^qgY=_->umLM@3)l@Q-MVFS@TTZD0D-*@LadJ zhy6f4uort@yFcPtij93ZAD`9C$Z&l^YYrxX4sRE@3*9StHVg@$xOs0N58XnFQ)E1; z-~1h_L$~334bJQWpKq2e61Qfms;cv>p^z!8B>KHKAj}egaSL~ziQo0|(-`0XK@o-v z`CnxN3`P=6ud5(iP!D?X8joAFN _`*Kk$VM0#Xkf%HheY_r=;_>6yz_5N 7 5ar4vS%+2k#qyh$>t8?Q74YooCF?wU3be z3lCOhp*8(4RV5x}Sw-0 l1S3EaZpd{1w=(2K>F`7(@l<3z zAKR7Vup$q4;4g`ma*ReTChv~T(fTYzPk1#de)gMi1t$AI(d~7)MSMOs%kg_4O8z9i zr9slg6}AV`Xzz44V03?hXUA}=0tT>wK?XC~X^e5`hReS0eMQsH5EF_37^R-&S#7&q zPdXl~CAxR5zD!9@p6$w7)AFhfExNbKojf2p@F;hdfF)r&;&?uL@ dZ@}d74b~(65tJ|IKZy z&(1`^h+@v#7+L#>l>^K46L=Zcz-&40TVDCuRsfngyQkDSm_uOjI}1^MiXS32zR*r< zEhU;Jy_^ N(2{kf^-lIe-WtmY zn*paXMPE%=&4-$Msnf4*lVh?s3Wvs{iL&-Upo|JiiF7(eZjmsZ#1GZZpP$OcmMG@F zDl{FpJJ+7=17Ah-to^Ug3B&OoQjefMEWfi@n>bNc@7Fa%XFVZjNP*V6DDt1zRhBaI ze~glcwNB!ZToLp@zK-rQIe_3iXbr)6fiRy@*(_I0&)jNmm(>@RLO^2 Q47f|%GD#Pjn**g2z;>xtLe}=38||DM;$+by`DMsI z1})km{aQ1}-sMa*p+JUS6{l{+)NsqhyLF0Zu0}Rl9&CY&>GK0;3%?S#av|zEC|u^B zZM={fV-SB1&=y7<1au@-`-SAd>j#vEcgcF52g5}0G4a00NS+bcW9$E$uRgfE^XQt| zmZ)u*vV2C7a{ebf+rhr?kWi##sBy2ls%_^SO-^!^2zAmE6CJ+N_Z=Gl31WCr!e!bX zTT2!Lcs%_=pp2TO$TFeVnEkArJX&9Gsi?$MgpBa345rGukdjn5U^h+mzL@jgPJ=;1 zv_6r=@nG@_OGlGs?Hs+8EDZ7#vEGwl{pLV~0$@=btpU=hh5bd9O&YqXG F^&ic2E__$S`hseFzW;=nV!swkpiB_{>E_Xp_M{HFrw7+R1 zR#=T&is#aXTYPbXrY<_t$lyh^b7svMpv66`U2Bp)sqeb{iZ*NnMiL>BY8m{_TMbqM zwuW8H`LXYi+c?TEt#OKbuyd8RyyghW*TurEbAD#?2Y*JgzZ3XnW3(U^IrU~y4Ls-c z9qC~N2MCX{7ZQ?;*3+T9yI=L?RC1Ej+Ko@e&$##_K^brvF8^^7{8o9vi8be_;oP%( z-zK|FFS3x-=AX}YCG1eO12uhNwc>jFe#hr9iAyS@ADHpZ+2&r({5H(QW#LmBPK%Xn zy}Gpb`dNJi3ATQB73z@uqUI78?LDojtTWeYUu7o{#vsiYF>9-ktL5B?v&`M(PG?dk zOtfJUHe01@L%qulI#j-(3HIpdlA6 p^;aON><)D{VP zVr|KX4F+8XG8xNwP1|>GKo@MFaRD_&IGY!r5YMwt?1YH?4g3^Bo%SF3KX@)8+jcl! z+ei#b7Hn}Q*whyKC8^snZ;)*rF>w8QBj=u)Z+cpqMjv5y%xeVFg~7iCr#58Ra{11v z*KGvB2cR{t{b`R*s^3$N&GQfc0B2W=*A;wh5~&KV3$Qi*Mdv-5tNMFBTvW(8TB#P- zKh6;f`D3je@x-+!4GL x2iKE2nsp`ry z$7RR> NFaE8y7&C(bEm(G10g%*LWT&S >u f>$bnenaEWcJHW|p8KBN^W^*a@td*28^Wgv# zSvs+#rtTKjH?1Y1!AY|~HH=kE%UKFj%hp8nm@uOxu=A^H4i+-C825ERqT_!Qv14vS zv0UZZFyo 445>f%|s4(N|5Po+S;rRNm1ieks>m=@9p>ZhQADV zzjWls@|s!Igf^e4xP8|xPZ?a(ex+_FWHB>=?^>ySG5>?^*M uED3t>q)rDhSlQ$ zE)rCI&`S;CGIxo;N#KdqA&iM*4N-j%WT2W{(P`;X(g soZTm7tkn@LS&I4@HPUI1~wmDIup_r_tGcz`7eGVv{r5}|CT zDKRU_e+eBNiwlI$2_ciS$VX8OiY7g*nmPN+b7YAWlZMD7dKL)D%esem3Vqs#YHDkt zwgF3dEdTDe&GWCkO@!PRFa)y4IpElENVdg7zy$7Q9U#A5a;%x|3w>RU(a>9K}A@G{?5^=%Ly39?Nen zX2`Mi;f}d#u^E6pV8G%4gL|;?8AiT<79OG@O|~b_ff5r9?GF~;Bxm%v&Ml&KtN5u| z+nv`Ag!NK0Zzo&Ocfq4f*F9j7z8NnGM(`D4FN~r*=H_o09ttr%>N;%dov}MshH|?M zWz)2%p46&?+n(@U9&_Sf*wk%>b{gg
?p1B2cr;DVw&lApQXK5ASXl{Wt(n%# z7F4X>@z*4+ZS&b}vg+5}ugkf|qb!xbsr*mBsi_5jqrLN9?(dm(Aw5PC({AlKou=BZ z?Iki&zip2<>h1INVhqNq+Sxzjpi~&xi|i|W@Fh}j-j!iBHN?9%2d2TL)~5GZ6?(n> zADy%hm{F}U{j^=4}1zMwx1cA&UHY zks7+w)A| _s)d!b7o2*chiBj`#b-G7CzF+6T8Dncg`$%d*+&2Pj@PB@ daM& zAOn4BT-Fz5LYc{BYpY!_qiXZZLaZNb3um;u;|wj94YfW)MGkTnl^XSjhi^2-D6#Gx zEF=lpS0*DKfH#ZNmmI2gTD`9`w`dj|^PHbr`fP7Ku&^dzr5$lCrA0{ZeH5JE)I82* zk0^k6@ 6f||wpi85@vEi^0p)nSv zrO_96ihbtNJ+NP3OC=k LwN0)s`-f-1NXb4_f}q DJ!%k581`@D&50@>9$5i^k`i9z^Z|)vKx+=EJ${ zC@ssq+kAO^h}~-5+9L;xJ!vq%t3JOe_uw9nv!wifrH5|q6twv?L0JP6S7P+o9S`9M zAk!`k-kSz1I$*vLeymv aEyWFZIQ5?Qr)j+ahRQ0BPbe=Yjxa@|dW&vuN_g z9`olp4n_zTRGEDwcERKX4UH4^UB4|NT6MK#s~x%KV9rIo7t4^9R#E<+n7Wfo+h^n2 z0C6Fwkcrlf@1Rs&F}t-|Y-=-xblG*DrCR}DfY^v6LiyeE;Z#Azmsr2-sP07Cv^3M| zuYy4*N3P$MS|(7kjqe9^3dVPJ=P*O#pJ<*V6C0o_wwv5V_5DsNrd^o}Q!@l`T5*jj z Xt-JAop|n20{L?JWwWelxOal(w6lYTYB(2=F5T}5K}p#(Hsgb5#;>|qZ973bSc|0 z-bNtSzJ4Cm%d$&5x0Uyaf4Z-{g31H QL^wBnE9lel4A9T$JnI&&?HaDTm?V({ndWQ<{23Jxef{?pp!ig zM7Dl;4w5<%kTbEM&mU}&1VMEMtlGM+TX1M~1=3UmlKmP2&bsCH1-{EU?5jLr4<=3T zc%b?_J|y(DSt(O2CdfL_@ !g-n46)4-efu6D_aYo& zDXb>$swI2_oe)zY8CG}sk9GQXU8x}6H!Vi|V4pd&y-%8RAy3Ca!B#eVjKBI-yRZ1~ zT!ChLh7s+bue+nJUw}FX%Jni400_t`F{F6&7pY}h z6*UfUUMIZmQz3A5U7_XPOZR0kn;r3AwgRz83L&QOD1Ar2BCV%l5K6*y=H$o`lz}eh z9RRXAU6o+RY}Mn|+GEc7HQ=c}v;-qS0)Yd?_j=o=H*icm5-W_}dFS((U{Wp%k!zHe zuP=z+FM$T`sNR(lr!OE*kq44-?tdB=&^OvrolpGa=Xk2f`&=E2Avx(eC9XFAU3yPh z?bvJxlgjG{AehYNO__5O1|E*)wT{kpdz8_`+vIaj2;4QcD$Alc6A$Ww>rO2Wuo|oo z{BKSXOy9ufN_F&zF)~OxWq<^ICfH>6?TWew&E#Sg(=p=TxG1fbRV=LENL|Hi7%Ic1 zQ9MY>Tc8cyy+~5V+2K9yvwPOHA;RJx!tR4rPS;nCov FT4P z3k83`XIgTX?0pzwpuMGF&LsYdqTI20-Oa51A}Z^s eAIKHXHl>K+b z^mtq}yYq-M&%P3&!m@YBWIQA2G0=FaESEbjYH$NY8(FO+53@W@_p5g|F6e7viz)CK zH7jMDc{j =cCm7&CI0n(!7VpYbOa 9@t=}Rbip0?r+P>1%Jlys?= z6ixe$M#Q!KpW~iaG!E>(dvLGdZY4z;&!$gS{MF`q`{I~(;}y5DA0)O+2XmyM^7r?} zxfXmx;Iat%8R#ox)}Do~AFX?pNy#LiW3}zxkLb 7fpbU_dbu9AP3fbPXs0M%p(B5Z5P9xCN*?MN=SzcbT?WC2^4}j{Xc^|` zz gHZ)F2&a`n~XJhX& zj5Wyq&+%|iiKppsH01uyRb5SiW19_ 4KBm=hD;1=>QL$2hR?(MI&+jQmvyg>i+W;y(vrRk z*wssBA-Q_A|Equlaa@O(X2V@tk|TB&NmnC9NVnNgVO-KS@eM1x;mb;?P8ZZT?pmhT z;^$82H#y!#@icE5+euDV;y_Rp`HAx9O{EY2+b{X$Wqi2&W!)V+{#bSHyz7VDU{L)2 ze8(g%_&<7}$K7;m1xz5{D8?}z&P9K|43ig90S3fcrX2HLlc6<;y)*gXiy&>DZ&;P_ zyy6O~Efj{xnSA6+kK3DxAze>=88Pvjq5b%F-9#*b?o>&;ck-?%L+s35qb}9q$SYPh zZ`TGFIJ0(hFmRetu#SH#)B;LO`p*9Sck)1RO+%9*_B^8UWE5Ws@;|RARFuKAN%fBq zutww$oDfsrJb}N1RoPWH*!-TY0dgT>)AS7Be#7jaKeWEubo7xwaKX3%*v=#zhQeMT zi#ylWf;r$*R3__mO`DyC$UFGDoV~e!FZZ-!5n?~Z&mlx7V-=1FxW;-8Ive$u4a~kz zx}0ZESkop(3G3 %waH>C)qQcFAA?Jz-` zB1ayrbi-eaufG~k`BdecLGjanQy*(&-7+wAe@vkTEFH 3|gw?L+ z#-Z8b>QM=YNYV^dagogb1yXApfNOi;om^g%7RNlqzPz;aSt;N}mXwy7pm~2El=Ot; z$M7uQy(WE7z! m%2?!i{vA{2Z{kZ+ooLdy@2-5}2v#S#W>Qw^(K&3 fsD!J4rQ5FceG8`QLt6cK?@bx31RA~POV+-Zsz)|W7nBJKei*CNgg9^zvyc`m zV>IUGO$j2W9@Z+m&6^%f9b~-sJy$P^w@B{EIAvk@RN^N+uo+q0yDsOXj@!U8JjNb& zQzlJlkb-(OV3<={oVg|P{gb%Gj;|A-_1t#jPl%;vDMBKp(!#d1x|%_t#{^ta!HP+U z>YJqK539_L&sF_G;G>3j9!XB@Vx#D|KMwO Y(?|_*)SbDYt(z=%Kl4I+T;&s1}D7S&Oz3Q%dfp0 z ($7ZCO8M9i#V#QqTPsR zJgs7}`vmxsw%@u?dGko5W F4=%MYr7Fd@(l4h%*{YQ#dc^nAATcocsg@v!mr| zKXc;_nahDqhUdxMjp8$2yN~vrt9iQg;@&yqoHMEZFO#{#FcnDyK0Bg#!?B;E`~K=+ z(-<5Sr#xSXsttP?S8>4iR)eZ**sUq4{ee^@aFLs+E*fhyyw@W>p1(Zpd5uF=eJM^0 zSX9-WajbW2z=U!XE&WO|F!iHUf$#u%F*nw|C9{8ERn*Uy`Xtj0SB)d$tfu1Ez6k}L zUSem-CO=`Ni>ruOx|GXPsPn7lT;h8rD|B=)U%-&$EW< tD&v)|)7X1?mmxm`t7}XOaZtrhYW@l;q#FQ>W5c@(M?j3h50a?S_ti zSytb*mcOqg;p%a?G86$8ZGvaXnBLOL+$gVKgZs&ECtfi0 H~ow8&vnxAJF|)v$P2J{n2;D2j-IOvj`S{whOfSP(pUJ`IOM zIdzm*+Gz=1wL#{OqXNz4@#b>`lDwE5o;^jRct=rKbJibk{+Y9GXt9M(jW5QKbU3~i zw319p)#(dF5!orFfoG#7;_%%IerS{%HDS8N?6-dz3l7qN<*Ijx;2-q>@##PyVCZ35 z+z^OUs~aHB0Cfn5co?E05JVsYtMFGn>sI9v=tznwEoqKzA@N6*_?d}=fa8Tp;hrEq z_P&XTB4P0)Ty0xShp_uq_MnveMp(kjQ+)v)AwaUHVe$ee;b?s)pMg-PV>hff>H{BX z26yFn;JO|ZDhHEq{~2F!uPxFO2;+)M*Mlob5Cd@!SS3mU=8=Tz8gM~h{j6z{R7`#A zUgf!#EN{nw6so~C$%?ZCJ>7PoCoqP*C06k3=y>_$RjPi~-@$dXR>xi6@%b`+ g;_JbcQz8V&DBCu-kSXk>h^X~Jnnij(P6*i zzOIQIyJQVHasc GUZFzp qBe!t2aA-z2!#otf{zJoEfy#e+UfFv{J&F zex#9Eia8HJj@|v0s0VzyJ3Qb^k3^-&NVTWqCrL9XW?e8r1Nx`wcL3DI!vw|k1eph~ zJqeu-=!d>4#nYyUN7xeSS~KzKzv^6IyTRLfM=92j9C?c@&zg&y PS8V0 z(DPQ}EZH
vUwouckC!%3qLIILzMu+g z#ojgG*P=%G&o~0n*-vL+f7_HK+@0hy0ftSuyI-yHGkic4?+BwW WE{MpHp^6kRbalw%0XRHTU x4>^6Ko&4$f8=7DGt;AZ zx9VD&)N$3Ke%;v%uwox(hiPxv{5b+?!DVXnBQ2|%J)qvXa?X#Y6&Idax;%q|gC^4M z?Yl-!gWX4nF;ewP$W^iH;1CnUrQ}stYy8G;EQNdzar~;Y(3u0*kt_A%T2P`qE!o`| zzq;VLDT_|}+r`Kb_f9wrsyZGeFD5*AA7nane0?`RZs 8T|;%Zw=D)oyT%E60UF 8jbtumeYkKF<} zxN6qrp$>u$OXE@}Jsh$u*VXq|OFEla3#wMYAl(BREBZSds_uKMG8jK>RUuHyXwODF zsAXDw^9J_lmUOnB<*!;X#m-KC{O3=6=%9!-vQL3a$9z|`Dg;pyIdru^{MbO8>?8`t zELARm9(|fdkG4sZv(fU)Ny*)eA2;b4@vBSjLH-W{Ws{27LIM1;Ii9Qk=>wqwkyG$y zZ? _;_w*FH7gErWKmQRwUpT z6@9O*S-*{HmauWWcRBdCd;A9=EkU1Rn~k=;vdkP@p47ouSTirN+Krjs3epY6o-iGb zO&cz(hZ|#kE@@~k*LVza6HDtL9w0HaR+5t^@xGmJyS02$0e+PeJn+Z93Vi?ANnCF5 zU5^IU1 A)9{|8Hcn!xvv_V|*=*e3NNZ;fNj6OY0zlQCK(};|q zLOd&B*Q;g^!04JRIhe{1(!j5Ixx+zK+!OZcp=Hd);x}C~{JQ12aP?r4?_;xY+$P7@ zFn$w5`qSI6pf}Apeo$UkYtCKzCK!Hy9S6o=&6#Z=aj5htb{8RO)mmr4&>D>{s8?*3 zjB_K_RgQNF*_(^injVx(&6o{cFZN!4Qc09zzyNFDIx`_8zqEN7(E1DcK_xQgR|h}! z7W_>HV^ZA}uW``^{MSGDwXtz(=ZF4qKme=mi{KL}so1yI#gp2L?%h>;qPk#Rp*gqx zXCa0JP{dIf8vAL6)+lB_j#J{e;I?|@i*4=$$loI!<=ej)YMh=8pe6g>39!TCzcn}D zXbzMznx`55pB?T8#RAR1pFzQtTpve*G~}-pOkdjOyllue%2YMH3m1D9)TsA-bz>Sc zlq>PU^6@({2!%-Bc&=`_^1<1tNGIsnv$$+v5%EXdNC^3O9yuKL(zq|@1A&TWn{#aG zZX4gb!dg&i_w}=hnQgAEb@soUxen$cp6p^lJS93Ao@nx^NGN1dXa*~wHI#i(>|u9+ zZ>GU%`rbPT>w(5h5K88jU50NIV}RQMRLcQ{<9BjU8p-o*ibhP_ZCG?^T$FXpe-OTB zKbbf$WdmkL@%$?AZW9m#UIXe=?-C`1`QXeE?tLqw1J#QfDQ!9#-aok<{yuFIp3WAs z8YWLb+lKFs9p1MzkudPQm9D;^q@w^h6BZWWP<{+>W}X1vJXVLLW%Irp$KrqKF?6-c zVqsZF*AP$A+XBu>m#M_O-h A;RZQ0~>6H&`I9%9r=9F6g>7 zlgb55iW;!OcfZKO`*v_oi6j{#F*9m-|PEldmKSlNw^>R?>#cY zPK5|%hsy~OIumZPaMh@M`3^*8UWKQI|2p_PW>bgi>tHf|5Pqb_uf8D%P$8n8Vy92X ziT7 v^40l(UN}$Dvi*Q-qsHxJLo!DEM@d< z(%UZD+d&QzH`e6;Z*~kDs7xFlKgHXj+) DUNh6J)*+NRW%o%CZLE zxzHv0)AxQX?~D<)lC*JxPRMP&ut5F3V0D6K3doREXl3;B63@Bl$>dLe<$w(NLJRTf zC063pNPW^|EDEvP{S&09LOF}hcfv;E*MyAlNxXLfoRymZiQF=EDb;~Tis5Q18+dpY z#rfLh92Cvmr Z=R6i6 zSdW*F i9PrXmqL kI6MCs*#Gz&I|I-gJU{hr2~F7@29f$f~PK*9P=gCTN*R7~9*xpQvYGL`F` zubMd@r2bmMl<6@T_96b?4T2ZKs5q O0XY1Od(&UeO_$XwEd@>R)!ZkS~H-{qi)NjxfsC; zS#uM?4WBto+DsBEctof!TsTa3NL%InsUA N+1K9J|s#(^$z*J zIsdDWF4$B*a_s3``bFLX?@K~d2KPi4_>XN9sflu ~ao!}vEu5b!C zg8$<1iYeW8z^doORG>39t`P4E0*>PYuL=Li$=b0h?M6PVot%)4+)if9y|8|Mr0ZYv zwXh+3VAlxfy?}-jpds7`z>7EUc`DuV1y(&lJ#GHy_0~3)02`G~jEgdUtL&Rn2COd} zKAk%WTtvw81h@jk)Nc0`V8&=>e^vVLf-wUKEPMK&v7u$-*-9DH!yvw=tDnm{r-UW| Dk2M?{ literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 27682c51..3174af43 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "workspaces": [ "apps/*", "packages/*", + "packages/react-components/*", "tools/*" ], "scripts": { diff --git a/packages/design-tokens/README.md b/packages/design-tokens/README.md index b12f6243..fb353fe7 100644 --- a/packages/design-tokens/README.md +++ b/packages/design-tokens/README.md @@ -3,7 +3,7 @@ Design Tokens for Manifest Design System, project44's design system. For a full list of tokens, please see the -[documentation website](https://www.manifestdesignsystem.com) +[documentation website](https://www.manifestdesignsystem.com/docs/tokens) ## Installation @@ -30,3 +30,12 @@ import { tokens } from '@project44-manifest/design-tokens'; console.log(tokens.color.palette.blue[50]); ``` + +## Contributing + +Contributions are always welcome!! Please review our [Contribution Guide](/.github/CONTRIBUTING.md) +to get started. + +## License + +Licensed under the [MIT](/LICENSE). diff --git a/packages/react/README.md b/packages/react/README.md index e69de29b..5cb153d2 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -0,0 +1,134 @@ +# @project44-manifest/react + +> A react library consisting of components, patterns and a styling engine that implement the design +> principles of the [Manifest Design System](https://www.manifestdesignsystem.com) by project44. + +## Installation + +```bash +yarn add @project44-manifest/react react react-dom +``` + +## Usage + +The `@project44-manifest/react` library includes everything you need to build experiences leveraging +the Manifest Design System. + +To start using the library start by wrapper you application with the `Provider`. + +```tsx +import { Provider } from '@project44-manifest/react'; + +function MyApp({ children }) { + return {children} ; +} +``` + +This provider will initialize our `SSRProvider`, which ensures that our auto-generated id's are +consistent between the server and client. It also initializes the `OverlayProvider` that manages +overlay elements ensuring that they properly hidden from screen readers. + +### Font + +Manifest Design System was designed using [Inter](https://rsms.me/inter/) as its font. Please be +sure to include the font type in the of your application's HTML. + +```html + +``` + +### Icons + +Currently Manifest Design System uses material design icons. Please be sure to include the font type +in the of your application's HTML. + +```html + +``` + +### Accessibility + +Manifest is built with accessibility in mind, each component will assign the correct events and aria +attributes needed to meet the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/) guidelines. We rely +heavily on [react-aria](https://react-spectrum.adobe.com/react-aria/index.html) for provide +accessible UI primitives. + +### Polymorphism + +All Manifest components are polymorphic, meaning that each component can be rendered using a +different element or node using the `as` prop. + +```tsx +import { Button } from '@porject44-manifest/react'; + +; +``` + +> This should be used sparingly though, as Manifest automatically appends all the necessary +> aria-attributes to an element. + +### Styling + +The `@project44-manifest/react` library ships with a pre-configured styling engine powered by +[Stitches](https://stitches.dev). + +All the components support the `css` prop for overriding styles. It's like the style attribute, but +it supports tokens, media queries, nesting and token-aware values. + +For more information about the `css` prop, check out the Stitches +[documentation](https://stitches.dev/docs/overriding-styles#the-css-prop). + +> Please note that all components have been built to the specification of the Manifest Design +> System. Therefor overriding component styles should be used sparingly. If you need to control the +> layout of components we recommend using the layout primitives supplied by Manifest instead of +> overriding individual component styles. + +```tsx +import { Button } from '@project44-manifest/react'; + +; +``` + +> Notice the usage of [theme tokens](https://stitches.dev/docs/tokens) in the above example, it is +> highly encouraged to use theme tokens vs. hard coded values as this allows all components to +> inherit any changes made at the theme level. Check out our +> [theme specification](../theme/README.md) for a complete list of available theme tokens. + +### Composing components + +If you need to compose your own components utilizing the design system in react we recommend using +the polymorphic `Box` component. The `Box` component ships with support for the `css` and `as` +props, allowing you to quickly and easily build custom components that follow Manifest Design +System. + +```tsx +import { Box } from '@project44-manifest/react'; + +function MyComponent() { + return ( ++ Hello World + + ); +} +``` + +Along with the `Box`, Manifest provides a robust set of layout primitives that can be used to +control layout and composing components. + +These primitives include a `Container`, `Flex`, `Grid`, and `Stack` component. + +Please refer the the [documentation website](https://www.manifestdesignsystem.com/docs/components) +for usage information and best practices. + +## Contributing + +Contributions are always welcome!! Please review our [Contribution Guide](/.github/CONTRIBUTING.md) +to get started. + +## License + +Licensed under the [MIT](/LICENSE). diff --git a/packages/theme/README.md b/packages/theme/README.md index e69de29b..ec021e82 100644 --- a/packages/theme/README.md +++ b/packages/theme/README.md @@ -0,0 +1,262 @@ +# @project44-manifest/theme + +> Themes for apply Manifest Design System design guidelines to JavaScript projects. + +## Installation + +```bash +yarn add @project44-manifest/theme +``` + +## Getting Started + +The `@project44-manifest/theme` library provides a set of themes based on +[Manifest Design System design tokens](https://www.manifestdesignsystem.com/docs/tokens). + +> Currently we only support a light theme, support for additional themes coming soon. + +```ts +import { lightTheme } from '@project44-manifest/theme'; +``` + +### Theme specification + +The theme specification is based on the +[system-ui theme specification](https://github.com/system-ui/theme-specification) and follow the +Manifest Design System [design tokens](https://www.manifestdesignsystem.com/docs/tokens) guidelines. + +```json +{ + "borderWidths": { + "large": "", + "medium": "", + "small": "" + }, + "colors": { + "background-danger": "", + "background-primary": "", + "background-secondary": "", + "background-side-nav": "", + "background-success": "", + "background-surface": "", + "background-tertiary": "", + "background-top-nav": "", + "background-warning": "", + "border-danger": "", + "border-disabled": "", + "border-primary": "", + "border-success": "", + "border-warning": "", + "brand-active": "", + "brand-default": "", + "brand-gradient": "", + "brand-hover": "", + "data-viz-danger-fill": "", + "data-viz-danger-hover": "", + "data-viz-danger-line": "", + "data-viz-neutral-fill": "", + "data-viz-neutral-hover": "", + "data-viz-primary-fill": "", + "data-viz-primary-fill-alt": "", + "data-viz-primary-hover": "", + "data-viz-primary-line": "", + "data-viz-secondary-fill": "", + "data-viz-secondary-fill-alt": "", + "data-viz-secondary-hover": "", + "data-viz-secondary-line": "", + "data-viz-tertiary-fill": "", + "data-viz-tertiary-fill-alt": "", + "data-viz-tertiary-hover": "", + "data-viz-tertiary-line": "", + "data-viz-warning-fill": "", + "data-viz-warning-hover": "", + "data-viz-warning-line": "", + "palette-black": "", + "palette-blue-100": "", + "palette-blue-200": "", + "palette-blue-300": "", + "palette-blue-400": "", + "palette-blue-50": "", + "palette-blue-500": "", + "palette-blue-600": "", + "palette-blue-700": "", + "palette-blue-800": "", + "palette-blue-900": "", + "palette-brown-100": "", + "palette-brown-200": "", + "palette-brown-300": "", + "palette-brown-400": "", + "palette-brown-50": "", + "palette-brown-500": "", + "palette-brown-600": "", + "palette-brown-700": "", + "palette-brown-800": "", + "palette-brown-900": "", + "palette-green-100": "", + "palette-green-200": "", + "palette-green-300": "", + "palette-green-400": "", + "palette-green-50": "", + "palette-green-500": "", + "palette-green-600": "", + "palette-green-700": "", + "palette-green-800": "", + "palette-green-900": "", + "palette-grey-100": "", + "palette-grey-200": "", + "palette-grey-300": "", + "palette-grey-400": "", + "palette-grey-50": "", + "palette-grey-500": "", + "palette-grey-600": "", + "palette-grey-700": "", + "palette-grey-800": "", + "palette-grey-900": "", + "palette-indigo-100": "", + "palette-indigo-200": "", + "palette-indigo-300": "", + "palette-indigo-400": "", + "palette-indigo-50": "", + "palette-indigo-500": "", + "palette-indigo-600": "", + "palette-indigo-700": "", + "palette-indigo-800": "", + "palette-indigo-900": "", + "palette-orange-100": "", + "palette-orange-200": "", + "palette-orange-300": "", + "palette-orange-400": "", + "palette-orange-50": "", + "palette-orange-500": "", + "palette-orange-600": "", + "palette-orange-700": "", + "palette-orange-800": "", + "palette-orange-900": "", + "palette-pink-100": "", + "palette-pink-200": "", + "palette-pink-300": "", + "palette-pink-400": "", + "palette-pink-50": "", + "palette-pink-500": "", + "palette-pink-600": "", + "palette-pink-700": "", + "palette-pink-800": "", + "palette-pink-900": "", + "palette-purple-100": "", + "palette-purple-200": "", + "palette-purple-300": "", + "palette-purple-400": "", + "palette-purple-50": "", + "palette-purple-500": "", + "palette-purple-600": "", + "palette-purple-700": "", + "palette-purple-800": "", + "palette-purple-900": "", + "palette-red-100": "", + "palette-red-200": "", + "palette-red-300": "", + "palette-red-400": "", + "palette-red-50": "", + "palette-red-500": "", + "palette-red-600": "", + "palette-red-700": "", + "palette-red-800": "", + "palette-red-900": "", + "palette-white": "", + "palette-yellow-100": "", + "palette-yellow-200": "", + "palette-yellow-300": "", + "palette-yellow-400": "", + "palette-yellow-50": "", + "palette-yellow-500": "", + "palette-yellow-600": "", + "palette-yellow-700": "", + "palette-yellow-800": "", + "palette-yellow-900": "", + "primary-active": "", + "primary-default": "", + "primary-hover": "", + "text-contrast": "", + "text-danger": "", + "text-disabled": "", + "text-primary": "", + "text-secondary": "", + "text-success": "", + "text-tertiary": "", + "text-warning": "" + }, + "fonts": { + "mono": "", + "text": "" + }, + "fontSizes": { + "large": "", + "medium": "", + "small": "", + "x-large": "", + "x-small": "", + "xx-large": "" + }, + "fontWeights": { + "bold": "", + "regular": "", + "semibold": "" + }, + "letterSpacings": { + "large": "", + "medium": "", + "small": "", + "x-small": "" + }, + "lineHeights": { + "large": "", + "medium": "", + "small": "", + "x-large": "", + "x-small": "", + "xx-large": "" + }, + "radii": { + "full": "", + "small": "" + }, + "shadows": { + "large": "", + "medium": "", + "small": "" + }, + "sizes": { + "large": "", + "medium": "", + "small": "", + "x-large": "", + "x-small": "" + }, + "space": { + "large": "", + "medium": "", + "small": "", + "x-large": "", + "x-small": "" + }, + "zIndices": { + "dialog": "", + "dropdown": "", + "modal": "", + "overlay": "", + "popover": "", + "sticky": "", + "toast": "", + "tooltip": "" + } +} +``` + +## Contributing + +Contributions are always welcome!! Please review our [Contribution Guide](/.github/CONTRIBUTING.md) +to get started. + +## License + +Licensed under the [MIT](/LICENSE).