From 7ad6843e7e9260ded8a569859645149ed5cf979d Mon Sep 17 00:00:00 2001 From: Piotr Kulpinski Date: Mon, 15 Jan 2024 11:25:55 +0100 Subject: [PATCH] Add Blurb component --- bun.lockb | Bin 529858 -> 530629 bytes src/shared/helpers.ts | 35 +-------- src/ui/Avatar/Avatar.tsx | 3 +- src/ui/Blurb/Blurb.stories.tsx | 50 +++++++++++++ src/ui/Blurb/Blurb.tsx | 132 +++++++++++++++++++++++++++++++++ src/ui/Blurb/Blurb.variants.ts | 17 +++++ src/ui/Blurb/index.ts | 2 + 7 files changed, 204 insertions(+), 35 deletions(-) create mode 100644 src/ui/Blurb/Blurb.stories.tsx create mode 100644 src/ui/Blurb/Blurb.tsx create mode 100644 src/ui/Blurb/Blurb.variants.ts create mode 100644 src/ui/Blurb/index.ts diff --git a/bun.lockb b/bun.lockb index 0d34f6563a05cb3126b8743de2957b2ca54a5131..93a97599395b82fe35c0abc863369ada95d49e84 100755 GIT binary patch delta 90219 zcmeFa2YeOP+V(w@WMc+I2#P2cuu&9H5lke&R*({!#Dnw}k_`kx5|U6=b|{vBs5t7N z2!g#UHtfAcMa5oG1U>eC?B)AkYpsp(Je>L*J@5N|%#XFNb=|Aq>t1En44DV6Zu#)q zmS=Wo+wX}_XMKHq(`kJU>TuO-8?R{CXZB^Q6FD#4n@Df-&ACr~`IpYSWqP{aT{f&m z+EXtrn|(-dR6WmY=y}!I%honaenW5*$QE#C@ELFy@E#|>%JImBpXB7zoqQCyEAjg{ zehAnM-rUJ|0G02TJJ@_Tfhupk@O;PH#5}J);Z>C- z#S>^)3wQuOsIiq#2gUaa*Z2qLPtCHdk}{R*c2J=cDhdh{m7aG9MM^#s+zEUPRQP1# zH2{k%+fOPfo8TqUiQ)|p_epDZLdK2N3aY5| zw7I57y*Yc>cvX`VrNtBHcm2G(kXw_0Fn&Y%fwGsPb)4hE-$F8yc~h5*Vf^f zy=^mY1XaP7PTs$TZB}>C7*0!@u0ANGyzTHM!ljPNeXI>k2Gx)igbPRStMo~)`f5B% znEekjN@cKlKU<+xMvbYM^qg^k&G@_hEzX);TsYbDyyD8l>;$-kaP`aBR<`2h1yz&V zC#NRn?Ba~10u{+x&ui^@yMyyUv{&u7vGQWLjIkn7SynPL;T_i&gM;@6)qrlGG&Q-P zvTRnV=bdq&E$AmQQ@))Kvf+i5m5Iti&-)a4QVCwiqrR@HY+qVdl+oSAne$v+{CT9M{fp%@?;5u0BqspHf^^tnk!8Dk_;N z>Rq;bnav~a-yQRs-0D%ey_ubI;wZ)gSiD@$v6=*&+;^q{TloVH1c{7Qi zgsDnbBnpb!mrtFP;^!S@D|lcJ+gpi>in5CKiP@XrO1C?xAznDSpkyi)eW<6c5cb%9 zVoAZI8{ksPik6Dc$g@N6*AZAs1Zn@CURG-tfDF#+g%qrszt-FH_5=(2*n#j0sQ8bA z8d<|YGvsXxy}O7n`9#voye1Zx7PX&I?!BBx1?b7@_2E8yw#b`IyVaSqDycNr&Hb%n zD~hL86kyCFl^WM(HX7-By+9h*1cn;_jdd>;%>aA16b#;Cu=? z04xDJfW1H!(9+4j!Pwivp95Lys&4_6?hG<#ey*;8w*w2oR^XAKDiqB}|7uZcQf)?n zGJ2=TCcJ%|=N$~sUT9l-CmkN&}KpE^!fD-QE5uZGK!vfpFx5n6tJnZ-yP%S(GRDSuOTHXl+i}4z8kn2 z?5+eL6K8cu-)cVlB>b*ni{vX8S<_5ZmNOX_c+bECLfI}RDi}W+86H>pB{tRDpiDda zQfu>*%F2rregj;C_7_m;Cu-d)D4aa^G8^yni>>@8_|Ak^T<&?hX|@=PN2B~nGS&(- z0o(~32+EX?0yPNJK^3s}N}J(oP|f(>Wz5dKw4l`Uw7t?kAhq@{rn#z664W4_0oDhH zfsN37b=Pa`bTX}As!5pI>2wGWZPe_D^?5d#S%ADElb?R;!`E zUJ?Fsi&cc#)Uv02-|-el*qXc!mx7)Rr#Eiaw)ag|Jw=I$Gt@tm5>@TX%POk+VdT>P z#7edmRTTxB!nKW?`C6r$`F+Aojhh`6-ep@{HK#n$zPQrsdAH@2RRvWunDb8}TpctA zRL4{%N{dv&G{^geM`X1KI=EaO4-2wd)Nkh4PIrZiv-VEjdB07%!vi*}LV~5l3*qXk za~&RsTt!VwR81}`s`QS4tIziZRrHL~^5XJ@=ly)AU6KmR%BB{>zkn#6$R6ZRB)=h zetF!+AM~VcS?WIGPPkflB`Cw{1xk|#fGvej*>Dq&@~fL5kZN{z3EDkvGya$Yl);B^ z4aXN8-UBv+ze>2$4clPjS0zdkQ!2|!H^FyA-r-p*pDuNB^+v8PJ1^Vj*8!f~4Z)`f zH16Mc&erTvPz65h@A|cF!8_-j{H7LH(C34hGebs)|mB zt0Ef-Zwl}FGSjg7rl_on?qV5w*=G2>%b@=&R&}$=DvD-R6qI)e^LJ^Me27qW%nhKb zeIclJ6~1O;Uj{aU{{X5(3o7T77EUd$T1>pA@K;>*uXmW*3Afp3)87CpU0J!=%5h8E zepY3P=k<8ggeR*z;!y=k%8Cjq*^(8Pt5xhTNT{AKC@Rv<*=yqXVVkTTT7&ACl!<2& zEW93|wxf#@(`OWv?8m)^i?9}y1w>$TkbN;nE0x|}VNKH( zTW`5c`>9@|cWg0VZL!PTMo`7y3?2wBAQ$Op0@xCK{ykfb`1@8b9YOWhL!g>D9sQ}A z$9!OMl+$NbK}GwCmFx|=eP|0f6I8nwg36$L#x$d`gW*zi;biXME4W1uN9@`<`S{1S zxNe`=R4w2Qh^6zOxv07+T-B}zs+-FTrj|+jk7w9w-ww(g3O=*xQIHvb+~5^f;ZOVA z%69@aE>{tM59L#lsH!SXOsH7s1PPA0N=b3UUu=PwIUM)3>;A;dQWbn0Tovl*uq(Jb zyeN?<*Q_0pP8D4ON(~dkf@aN>R4Mnsr3UUTtEv)3 zUU!#kqH_9-M8zEM_8)9~?H&?Lyay33+c@k;TTbeDq6KnlQNMcdPd4C&(BG|fvgl_! znEHV-rA(qV13&o6Zq}X#rKOWR-`q(&3|FIX0ae{ezHb_rniFnhe%{R@wfOt~M zJaBJt3Q86q22#yr_3IhF5v+>&ru)7FcOk;5;I82DpfW56rH6YmeWTUA1K(Kf^`P|m z#SRuPgsWnwgEEJcT=>qQ(qBV*S?@VuGu^7pGag2@3pf^(Cc1!{B@Y0bg1dt1PVBKF zF)1-S23G;8o7NwwfHduTN_UeBU+Kb62AgRenB^io*4Q`0A^}$o`+-t@ zM^F_>orpb*##E3oYz*x-xHNRN!}CC;Ujk~F&2#cryI9RG24x|8BR3~wqwq*@PE(uk zOHeHsv#aHsLA9h;Gh1-3Lo`vDsM6V=J+yg}c(R>4L1|_l`G^;l6;@RgmnM2rjvCSq zl>Dd+^sj=JH@7YLGpGnBfvV6fP%S8!ooLS~TcX(UaiBEN9wU;i4A{%YdjXU!Xf^E2 z*r|nUWSvf(a!F z@4Iw6$iCXgW#|^N&EfPtTJOG|P*vl8&3!&5jEV4K~-cf6;eit(BG@s?zv7CGb&2jPbn)dt?g*5vo<_*uNKMFkse3qRMqod zJIpHV3SvpUT0)w-5(ph+lv*^8!%%nCu27 z&j@sj<-I$=>hA?m&CDlU6IAM%Lc>9}qkbA_;~hr07PFS1^nD%Eh&p&DcoUjfJ!G(N z4sm`-vmM3Jq_N?);ZZG{CHFkmMmHOU#PpIZxVkqD)Tn(l-}0*B(m9o!xZe)fC|oea zrhD08Y5`b5Ta~`eaW?#YP|bLpcuIGj%P$1cf3kWa9(BN9XEb$~?be~7>?1YLJ~-TV zU@*c~a4abO^dg=LnoEA_po)Z@hVC9|J0uuo)1~s8guK2CJ9Sh$41o;y7&1_XAD}N4 z+;xo2AeGTtxLR@%C=IR z8dSll0&a(EkCKDWOmGbR<6K3rtu-3qFLO-LupxF=z|#1ssF zdo*jVhT10+ZGyK!jhq#eY@fdYs$~z+LRFx$igmA}=gpdIReck3sl2MJa6%bV_>5w! znesB8ZcI)TO@ylgBS4vCE~tvOm})CjJ=IT|7G)w(%hs3Jjok^;>|oom)C{8PiEvdQ zNw_pL&$okiN|}w{6}eit+@(LW+-hbEs3mlwOLq*Ya%Lh|*W6r^v>DPMQ^49vo6(>u ztAPkqUv~$kiMF6xaODi!r>h+{L9UE1BfYHu6tD$272FfdcKII%S3^e4w)yr<;?eYR zki%U;72tu2_|zO*@PTt}i*^U4@-Aeg>1%ISz)uynr4JnMn-kiP;i~Wjbdf4HA5{GP zPP7Hj0M#|gsjhDaftrp^LASEjCqT8N2O5%1oC-?C2Z744W3^RbBe+_4m@A;k0;|#Q z=3CqZs)4l*uLq_2^FbP#tUhj$E$BW_H9qttn_z!XMzb5J3S2|D=809Hy5vYunrd^3 z)l?IQ>7ZK1ah5rWI*@qMWHV3=s1GXNRyA(?|FF;|NF9W}LVz?-Slr$m-u$&D9w%G{ z+y$y4vv~H#(>?FIB{p5vwDJ-b67LSUG?;oQcfI2iI7wCb*rimU6A@MtpmBUT8LCCe z(`}1~f|5@LrSgI^YCNr38@fuK5I#*E@36+8MY zTdn4FnBv7im0Fcx2SdeDXH?&YR&SNlc>jUx47l{4b&g4&to{I-mPtK;Kn1S_WttPu zwfafTlg|-P)$beGW~JUoxEHxHyuyV~T5c=)*JCAR+SJ>0q#dhF+^I3ZLTD<&zStDh z091=Uq1H0#_gAiJJrdPOraBgf6zCOlx4!%6&+qgA! zKekR*R)WvQy9u97`|Z}yqcG`#Chh6?Y>Jog9b;sz7^yb25}(cG4tzFVI^)jf*B76a zEyHJ1Y{X|%9Kf*ZZ}Kb0XXD+D&&I3A;4`vd6h5^&7Umz5?MGql&^T=mhQZAhzCDn3L35HVb=M==)!okv^G3z} zny`l7hr?Qan}xyXxZf|#i1{`#G7gI4mt(HX=Li(p|&) zkH*8=G4WVS#!~li{fw?*-q^UmJgnh&V^}*j9_)%yt2Sw2{_yNzDy*Mj8%AgQw}dt0 z;{L~B?YMX_93$^e2nrdV?dOJhK>Q%$C)g3`W%Q~tL zE`!M~>X~l&$T8bVZ5XIW5|$BWjmZuc!-m3)Z3J(@)SOIpV6gYTmJxGAcB~lIBU-wb z-!%*-#e>hGws`6Kp#5xtv<)`Nv3lW#i8&dNBg2NHa{bT4yvgz4;QehUc_G~rRKiqZ zy)f&WoJ>exQ<-IGp%Hgy3d%5f4s?tX2)h|3!%Z`de|IZWwRdZk(w^8EiOzc%y*Kqx~Tz}UvZ(2MUb)X$OX-2OXz*HrZ0VWcZ#$!DXa-AG3!)J$? zD*UkI#I-#cwDY_{FnVNgcG?c@!+vGmgU#(d?+AoV!u%~cVQpDFDDGgNTHE@b0~<_u zx-o`#U@{Fq%rD9g_Bq%-b~YIX`7jmc8-1JuBeJwJE<1P-rgWGF!!h%a@bT&0W4X-f z-NS*SbAvhZ*=$E;`|HA*in#xESj%sxFsO|COTs*UUkPg}<3T{rN$u9=dcu@(MwH)~ zQ4f=D(9|o2^nx@p7I5fcshUeM(_oY-3t;4}gsF`g;f7OlG9jvq&Ho^jsnX1(;FpKN z%y_T{nX@{^&YLhblxEY=hMiq8(Xuhr2d1!Cl%H$aQDVk+ZzD|Vq6)9%_=ks&&(hco zX2)YUGedNV){pSJW@OVj;lSCsv74~FF5&u9yJq5%?a~9xnce9+*I-(8HcaiXhOz~w zIf6Nfq0)j@$aZbmFqm!DhDkY@_*Bb!rsFoltOaRiXhsfF)DC96Pk?ENnZo_6!kXjb zu~(6G3LC!EHIsf&p3LxcV&5?Dgm`csGIbB5g4(`-*VG}(>WDhJS;ovbK0D|IvnHS+ zun^WUTt6l^cnF`y3-&iWJGL)TdKh^TKEL& zLJ^ZvdP)O{V-H$Eip(Ruyuy~IVTf>W)#F~ay(2$F@Ukko5GsKasRWh zc5ystJuo!~&~33{uzsehSL0I!n7JzHP8jp1Du>+!n2_yUSy3;T8pTvxknNut)|?ji zUk+;CqBJ4YTS8{pdxh)NE*jYM43=jZo|R zV6N7%pJ7;>+BYdXcGRDY)i1~m=HqjQgsI&P>qxBhXhVBOF3jpQYgl%0IM$@;gRVv2 zm&0ty+I_qM%h41cYkHhUw0wQ=F`k&p@Tkg64kUa*5nwDPRBMN!wvB8CM`y?S!_XLZ zw9v_I!ybjHVKlmoG{bC_nFPMh$%IHrX5I+Sfw`eFE<5%d>~L)=f?)X8mMqQ5gs2~^ zRZfH1iAVi#6U^#d3&uAvXU*7R=MmQWP(V#~tO9m;IPm$dnRqlUU>(O~2XDiS2Gv-< zRTwOf`7v}&QB$;aBHuJ`YWVp1-D3l%qMvX*C(t!v-io;YO<2S4pTb&xuMUF? z;<1lPJTDP8JSjJpKg~?E=j8?$;Iq|OHY_{#6pYRz(;Z90ek;4jE-p3Yt;mi2fNxaT z@Pgdf&@#^}QbEBZ_@slFSz5euYa3=~q1vyC`;Ugfh4J8k>9!wi$e6I^!nnUWtmXHM zFjyUr9Z|szf4Fo(ZY;vrTfX28`K&I^&B>_Lz0tt&xxr+7v|J-5nH^+R@hXjB`KM$v z{%Y66W6vQQ8ZKRt>$eT_F4FFz=A!uS-b`MIRZK1)S5F?UkHbwDwGQSIdblZ!Ar!j- zHZvT!5AdH_VdFUWM?8PBwl@^#V=uYWNuiH9Xt30qZ#zS6kmy{)OYyi8Q-iE zdDkpldRf;DJT~x8lvrf~AH_Gt_zq1f6Se1ld?!mcu|CzjNNi>JN{#Q}`Mi=YpMOo5 zcV#^G3*1;ktlNTAu50m;!=hZjAk4ce9^16g=xTXx?BPYmK(MZsCn-mjayq`b;d*?T zC#$Ne!)$yLjc+5qDwEf-Vcs?I*uAHyVKVM+r*e)O4!kBeb~C;yQN!NsmTFXzLeIum zW6(G(Sb=$$<^r(u-0Y!lfvN6c(4LlXA@)DqU>NZtgB)9ENcTUwj-X^fW6RyFt{ro+>NXgF&M`u z=1|JwySfMSFX6NW8Phx?{c~7v!x+-(Juda427~$88T2`Ht2^nk&K^?EK+dQ*X z^iK|h`*iY^cOP5CD^t4xWib|}%COsE19%rqDzn*t59?rvSSBaP5f~E&|H69So=WSzc36QjK{VhHLDUwZ#56n1=pljU~K}P zgB@aOqx*&QYwe{tPQfmuc5|qQVBH6CE3Z^b+ z)A3|Z=Ji$;Y#Av0Xqbv)zloaW!ql%+g~s0pQ!kmAv2S6=8Vg)>gJu#&a$2y~td7NN zQ$cs)>un;ny)iY!ZpJr6vS62+?5xkW22Brxb+ARx%gKOrGIz-j;Zv!0EBd2j)PY;^ zPB+^yyT2}hNgY;kSHaX(X7vd+!aBlC7sndk0*eMV_q%4|lj^a&N_H`@4&nOyjabn$ zqx?yj=dG!`DCu$n%&G_$TMo0Ev}f=gNg67{=B@F%l)NuK$!$eWg{dcOpFIGR9ohzD z+-CcQQg@(KnCd{)P<{nWrKU$4sF7m!3kMF%4Zgsq25=a}aNqa#ltN_XBVmIGvkJKa zb_A?}x!;GFN=3_xDe4ZJj9$ka6EGEJE42b9t(qIe;1w6shGpI9DrM3g3sX!l$|~@4 z!r<9>uZkNg&N}LAEAqrJyBmEHUXx&4kW!@7$ z{+td*gXiPH+0t=-%KQ?BTj%6|(}26ikTa&PJ;L&p@OVbT@pxCuNB=F-utFT$h{ zJ3@B7&&ITU)*I$}f+=#g3uEfzPU#Amav>dCq<3N5D|2w(@_tmKss}^y*&1=+9Gnho zPkfFYin3#m!k8C`)${?jayFl7^c+khl=7+f6|gQQEbCJC)Q+*$<7RZvFz=OkF#bW? z5!4Aip9`}y7)nfg>%s8x(cOcV52dCq8SxNUUz4SdAue!XX8RR913S`$>3+NM!`6t* z&e9(n*1Q%EE=Oj2iA}!$W*EF44>~GaYM923$o40Pd7GHik=gOZ*z=zcYd6K&3bupd~UvK-H zHqeX5hr#B!e|?z8?;&9gzmvn-&GFcUPwDZ-(tC1)ck%T$bzD}aCkZuM;{NQgc1t|w zKZB;i^;>d-WAF_$ZP&K{g0SYDcVLm zU7t-w)MmUo4E`Jsu0<9nh8g#|y6jzc%v8Ha}+)MqBF3-NhGMCyBBN1MDfcc#5*mBe}Vg6yC_tdohU zb|hgoo!08xVQPq(A7lPov^ZS9DL2T**DfUwX24_!j4Nion-t5id=Bp35A(i^2i-Q= z9`mF8y;w485j~2iBhl;v`JIb^l`uv0e0yv3BN(=hnTKn!J7GL0+?*TpHoK<#qr;lN z#DlBhwjt{KH(^Ib>&IhaTWsH(lbBc`EME%q4-IR-=7GRFsdE|{?DOA2zu^H6vO}pG z51=mMSoU2yLX$Tqj={Ha|LidD+j#H@QmND|PHFZ396tVS_aO0SYgkwgx;!5?ohW9i zOl$C7xcIy7{+zJ(yLj;Kds~f`$ANv{H`cJ=eQW)8#(z4j{XQPs=>wW!`nLdIFLGmn zX1HAjlTo3*itN}AuukS6vCoHAb@UiDxBzyftt1xpI;@9b%p1YpA6YA~9WV%HEo2$z zg=fJy_MXHU2R@erwsPRd)+Wt^$6x|XU1*<>oDH-6E-QErrh#Y{_#pigYgLq0lO5#2 zY@XVR*1(MQL|F&Z*)W@n#=uXou3PJW#HV(&m|Gq{c}|`m53WZx*_Jbb1O3nJd~MbN z|Kup}iSj7IT%t5FDrxq)T?Cp$StHnB!Hx`<9-kYWk592s{)%k>g(xqLq?di^Ms<`w z+s}z=k@=LjFBH4Y+J1`}&hkJW`m+B>LuKon; zq8$9CQEfdM@Ng9DKr!C;ww881Jr<^V(L>nH=`huqvN&d{g{g;_+vu+yez0YwpOf!r z$GX9&-#890otzqBK@Y;1t(hl(!KY!#^ILXRU4OLeJ$c>1Egq~3VfI*QBTV+hT7{+> z|76?CQ%z=~5irHX)|j$G*kCiUZ^oxt(pa&-N0irqrp^A@7D@Gata1&EtvglOf^RU9 zZC7;qg%@66Y!2ARX25t)fi2pb_>MzvRO@$&f`(+dhGVmQMGmuya?(6MYLM=C3tIcW zv1Fv|$}1gXqN0xXiJ3Zj{1*c^?$BRjtvafTgh8OD*D?t3E*V;k!~ z9o06X9!+^eWRwx+--ZJU&riUMtNC&Jhnd5 zr{lDRJuIM9FT!JQ!w2tM0%z#5}ocL<1;}KH`zzP?+{t=~4bc%r>yDrYbBM!OJkK zHC4J@<5Ux}zRk&mD4Ch|9#cSUB5bT`5Ilr$xJ|hL8@ zinLSCG0m*%tXh|BW$KehVRj{!%73WKVh8VrT1|~k!e@V8^sle^dfyVKh+yY(Lf zvznxS!7VTwlNJUIn%hp}M(fh-*rhNYp;qMjzeIU0(f9B@P=L*r9oA(qs|4+CK7gqZ z=9B{NsrR&DOb(pyOoZ9_>mq!1+FDt!U4X{p{=ac00I8EL{I!*GxRQ#AS0mIy-I0{iDZQ``v>X``aNy z4&;6(Olt@e9j|8u2Skh85a-qdtP)H&$KHeWFuRz%Rw-36lLisYHk}UlUy5qmGJiE` zO*75H*cacgwsJa5I!8}$@ZV;R)$|-iit8w*Q;Hs^!!mdnGg+91^|Qf6_~1tEpR&3sJ+%8 zO-4odG}ECL?vfzVk*)6+Fg2QTxm!7;Ln@-iZV60dl7v%x5 zaff1GCLnmNV`|7U&tR58C(LrvVYWazg9cm-lR2>6$NoQonQk+WFZb`ne|ONr5)8&? z2csseRj>}EVQJ&M;>o&UvF4r4LN_uu7=rItLpu#-hv0@{-i1l^xn{4Hhg)W?V?0dy zz{qE_C3j(T1p0U#wp9Z`^X!!7l*>?<)xD~?+J$idI5<1@I;>N;eob!BILGF|tc+z0 zf@#>=_bZmcjD1DRj>KkRw)z|Bm*z*Fy6Ib57)4}?@lOmr#J?t7Gj@dba9l|os8ab zQD_L!>dKxp1t@_ow3GWfsxX1Oh zYPZwt#W1s#3Esq~;l*?2s+^3Y&EAOBc{)Dz8HZNP9+$#?osnLGX=-P6VJ_LRSE}b3 z60xIUU81FjvZumlc5cBV__l6@Vrjj7Z6T1WnIlQHhrJ_IW^xx3~2+=*Mbjyul2-Y8&Ru*5ek~ zP#35FR_`@y7Fz)Z^Q$mkADzun z#h+|P*+Dr3rpdwRCO8Y`1~ab!M>T_JQKKO?S1g9vz89=pv~&=aJOeLNCf?v3ygkWf zFJsu9kHg$x_GY*grV`9*5nKb4(G&B|Z2$YHW-vwM4z{w#5vNE5n z*&3!pj5lEFCYwv6(R4hFn{0O0gJJ#E<*^m``b6tbp!>$ya+D+)zpRCYeh?Khcv-gV4OkwMD> z+pHa;4aZ;~c_S!sIWkq5631u9UV$BBs@!G*RW@ap;ftFX`Df;2K+Iuc>>GThb-@jV zwg=G9qU_k$FmoIg%Pvx@m+FulpVk$-{JsuTAF=$hYweh@snK8}C({u+jFx=>>p?_& z1JQ1xT|vwf-Cz>zc$0~y*w`eSCGBKI9|coq(hac7VA(KpzMTO%O0Pb}I!tyg@lTCv z$1;HLMi4h`|1stB7e+PXWX#2OH$=6l@sBXI#%AAXimg9$?D5%3FrK{bM`*RzajG2$ zcF%l~V@$e?{m)?LW;oV(8ud4~)feHL5;mOEHM5i%kWy^7E{18Pr}6W06y$E;m=X6c zqXK3JcQQU}{IZ1CVMnJjh_x(tB?K4YlU8lUvFW}yek)7BOwQ3VEmbgkbEo|L3Ofu) zN2z~;4UU%fp>y%ss-bQFp{O>2#zs`7CZ;SVvjiqLUn1%}osvwc&V}CQ15=oziWv zAvRBP+41-~HH=MwjW=73E%+vEjn(^vl=e`3Y!R$~xb&Ue*wgs9@4hcLIP^rTQTsS+ z4Xn3Lrec4_XUFFu^H`+J06r6+>T0Lk7h#$_EE|-xdf+)n1rIV{TIQOXXa1XEx-n#z z&U`tb+D)Z?RnRtcx%n^I+W_)&} zj9+9MZJHE315;Hn1k{#ylD)lW+`!hrWWn|iZ#%sJe<__Tu3NXlt5EZ~gjq|hXR5W`3COdc^CXL$H=9ipq=Un@8z!Q#nz)4mD7tI2d6>p)UDa-IapuwCer;E`g%|F;;tF1eZ6pBv}Bp2Dm_VihQ~W{kJe_lKw9;_+O?kv{hFH z>fvVL)biOlUE4y%n`c6|jWNO&;?i&@DPGjR#&5=LF|VeIatXz294-cR36<3hYW%L+MSnI-tivNV;LaBKJP8E0_r}!^WzPVoD zR{<|u`WsZlS8&2tUAR#3-@r+}5vNNi`6dyrZJ{c**@S`_c+#WxOZ;Z0C*E`NZK3l0 z5U2D!3pUrbQ1L!<;dN2<{2V9z!i5W!-&g7hU3knTRKV9b)$w~=7OnxQmBEhs`Hy1% zzn!7VYRHc&)W{WF7bVYfa$!bv?P>nO(UYh7nbGU~n5H#z5w?X2+KnIK?k=8C-sb$Y z1$#QVP&U~Ylqk>1{|+|sG>YJO{T&V7!>bOw6%yFT-<&FzgsR~f}a6@9kXS(pZ zDA6qbCW?tL+eHv6A^UrC)kPJo+Nyy04%rTyt1c>>O|H4Ng$h5#g`eU_U!3kYG1kLo z(pZ0;tr8o6w^)^>sRDD@InQ51v;U8@De6forRPg1F z3pHb22TF9klm9EI>a2C?wt-3g*$D3rSHPVP?{W!*%HSTyh2r;t65a3Q+d>6Bz>nfT z#IMM>#H3_*hVDO%bT{35UsvcrkTbl{&JgCY&-vtZBSAfc9mBTe4|GbMGUh432hgX7%e+{Vg*E;$24%fQyn_c)V zX>RVg)kU}sl!EVe{9aH!Tnnn5>p^Awl*6Y%75FU3Kks>d6z^rn^{1v3{)XdkI{r2& zeY}@O`|*4F+f|DAF)042<6k)bmBX){{5yv~f~v4jVig<%l}{!=1bOuxZ|Ha#}5FdfmV*Ub>Rm&Z13cUINs6m&Y(0I2USi_7oP0pBJ_2F zehvqKia6Ne5RiY~Fn-kH(V$v5*5P=Ne_o;E35Sy$7CW5ka2iNMl3pnu{&~~+QGqi+ zWjxEt=PHm(sFok^@B~m5neW2uqT(%Z;iot}&EYao;b(zn&m@loA*c#OCcvWP%N-ZW zyMiCZyAV|PYA3%~fm}k#FL8J&s0LjQD&5tfE@8UH-*qm+4GwPvmBCF8Zw7VMMTOsj zTvmK1r~>YGc(02ul=lIC6#qeo4}psR2)H|FJc{rr0$sxN=}7OK2wL23Ra zQ2D&#@HJ2kd=uoK_qLO70kwVl2vqtn6zEXtzk;jyzc{&2{Off6iDT>eAE<)9cL{_+ zbYkSUi0+E~L(D#|o+5DlGpK9=7hkAK>FX`*7)7AmMS zKMlbiE}l?r?dkY7Flm(C*G2f>pbE+(AGLRY%TK6^4|4o}qFEw-8$lbL<6MHjhbnL= z@pc3!fJ!ovAIT?){0&rvid}ed5|1`M6;2>j29=KgGpGz_xcGHZ@>xzUl=pakBtOx~ zlk!Mq)u3dH96tqAMNXCQZ=ixs<3|~u?&8%&$AqGsy19gWw<-23N&}}zlX|aPZw{`BpwZl{hUCkjP`e2s06JX7b?89UR9OV7B9lS>dDHacP#KiMm2tU~*G1X*Ocy@eg$tGM@lJjssQl-faPA}IQG`Vj zL?5s8o9%cPi`uVtOY;Dz@*f1M{9`~}LM1;I zRF#H-NgvQcyL$43q}024&>8 zJAMzyKkp%av_wAxD*f}I3V2b0e*=~8OVRyn{GD~o=DkW(74fFaVl$W({j|p2VSep$ z5-R#PU=uK)-72x6+V4=|J2@^?coR_aogMB1s^!f<6}u-WTROmnw*qy6Nz;@zP9Rj% z4s_Vg$%QJQz2ic~JJ|7Up@I%~;dN1}?BV1+b||zN9gRR4_6Ai@9~VKWmh^Ms13B(-40q9l%663Fby0hQLMPuAs`yDRTqr&jR5hkK`8F_( zQ`@~RarLNh@%|pF<7N?0&6(}u3$;?OaeP~-cIorCN_Q!!`d#VbgVCLr_(62nCH`(^ zUc1W0yxPSOswLMtE>up}IlSJ5uXX%J$8QF82~~r2jtiCF?T*($JFiNhrrzTs)J0YO z0p!Z?VNg+?bn)tji74$mW#L<)FqVs z9fyAgRq>BN{(1T)v97wPg11v`1(kkJumRZGg$tFw4XAhrI!w01qXZqDpcAM|C~sGOl&~A9gmF-JX9Ga~c|-K$ zP?{J4mug2l`Lc4LO0nL#<1w7M$vEi7@)TuO<{41uTCY0X0;-^QKwWilH~3G; z)kA5j)o;)aRuiC6SP_<0Zv{Q72X=T@;}IhZ^fhwIM@Z$ zMVUrtXP{L74X6tI0O}H|B0q!b<8%x|1!l-V94daMlLw&kZ3L!ce_j(O*bUT^iPoSp zXag!?JBNpWN_aS^0*?Tt(p*rNQ0cmY(#X-E;`IUf=jHRG{Eh<^Z>UiAH_Qc$0+rzy zP?t~%3P81Nq6?qw_%u)%m4dp2;$;rYom{Bf$7&~^@8m-BbY&qP6?~G5a5AW8HY-52 zV3or)pyFK&>iT=A3SZ&k301Kx9j}9S{M8Yd09lq%z3Kjkqs205gN+a*NaG~TMJ1!Le0#t>+ z0+s$RF8qIBk^p6>KOHXo0aS~8t#p5d%D5hK)x5sLom@Pj3T*7SPz7f>YyxWZ?C!#a z3Qsn7g1V@P`?v`Ef-1PR!*-zVr7f|ILX}GmN^XAh4gvwZNJ?RoE!{In(Fbbz@TljCk{iO1zn{59(Sgf+^RzRwm zg;UG7_0|(&BUik6B3#=-*~~(mRDKd}``b^yc?(MFeGDh8#px1CT~CN`38m%@I2qvc zIK|)o_7h5wqIlWKj$b_H5-MQ(+fU6gl(uN1rwqoShUE6QpHRZ~x1X>I8Ajc=o}h+n zcd`BLCuu`(K{3B*>fQeK)AqNY?9#IR?WgT;KW%^eX*H9g=Ed!AKcNM!nA_ie+V)#e z(oJW6w!i(P{nqxkpY#@#?$EZs{e&VkgKmHO>F>Sugo4c5QQO~s(xBP?_LGhV*A@q+uwfL{`Qj|^Kfl{`)T{zPut&q+Wz*__P3wxe5kjew!i%(U2K2*DU)|H zbOI5$_e-|F{j~kAel>dL`T2J|a#!1rmiAb)SI=QjT{Es^w<`v{-}mZW zX6KyO<-$g#Bj4(K{T;0`?`xMk;q4bMiRTrcwC=6KrO{6d(svusF8A*1AKSZ0=azfq zb{N#F!w0v_>3iU^ukXIJW@zJw<{f^^s)1*YKH;Me4|)2#;s;*tanbt)3p$;fz9r-I zL$gP>*!}Az8((Ci^Sz%N{mhKFDO$TAeOPqc!t{nw(}n5%{moIq!t`POmgsiDJ5ko6 z^fJF=G=EY0&P_XVzQ8MB)w;E=C@U$MQO>6(qYVW4zk%dkMC2_t6S1_Qw5+&@H~6_H z=Y=#QOH@vnQCw1F{zr>4BtP#zC`w^OsCAnKb53h6q5fl% z%5`rI+DAVrp^T;lb`cPv7USS8$!ewi9c1Qj!u;Na{GEo-{@<~6f2UwquJr#qsP!Kg z?8?_4=}GmS6>41@S<96{GDZXQTUw;u}fp3vaDog!uz4kuhVcvBKl-$ zdOiP#XwydFA3d<@= z!C#{3XOQzB1xcX*B&j>hOO$BtGTuLZ|L(#^l&ZWS5cV|8!Q<9Pgiz z)ir?B1Yzd3%Cb^f(V%F}3Uu*LLvj%RjgdpEYMox?Of~;8tvV%BrG97GzSY|*#J0#R zSzZ`zx_}n_)38rC?bj*)jxzJVo~jE=iaSiHv=4RHMr&4*;s3F)*II6i`5#Zesq_^7 zvyg6$UWy7X{8zN`&+Bb_%zwei{vTG>y7rf)S7x-$yvdFn4bMr%lM+>6N~YmCZE8_* z1%~>s&iu)`GkEEoat7}-c13&J2ZXi+h6B_|I*Rc zA9jZJ|5ib39>hTY@$u>Zvr(GXJr|zxZ=M?b^XCgL=GJ2dO$VF#j~TkZO|1)>UjCCZ z9n7}D>5n_OGWwZm;(iL&BKhNf{??}k|BOtPE|^ipSpt8TEn4#!7PKAy(<&JFB>Rr# z(S|3{?soWV6|DRGY1HFhq}UES|Bfn1)_qN7>M-9tw*Cy%F{!42-&tn&tG{z0f2SdQ zkw?$p|G*aiwlc{-PSw9H*p<5vUHm`#SZm7RIN@i}nwOZQw!?N6Y`22{dj>+&)QqO> z+`oIr_?tVw88h@^BIo1Lrnk| zSH7xz@VasDrqB2^d}~b0ltYV+U)IFSpUV9(BRaIa-pd%J;)v@%hPQPxeMv>>ls|9Bm}{7m#bE86Y`Bx@rs5DQOL`-mkoOkN z>LB?@WGW;R$3tFojdn8DRqseE^2WNfv|FE{HrF^O#U5q3XF`S zbX4PYbwYg$MlI1_ZOm}8LMP*~v)4p9a1}Wj?@f8TI9bBUc<;??>SU>J%1EQTI+^~$ zg38z#*DUFTlbvuEgu6MJJ~X3<`a7q)JJ}Q`~|?tUZna3xEfP=5gPTPG}YGS1n(x1Frq$@I3)awnVaWP2eice2z+aP~&Fz{&I> z95ti`u8osbSy|F+iEu9`)E96RaUa~?PBzoY_C=QIWV4W|clN{0QRfR?y#4VPI@w$& z;|({j$jS5-9hK1vH!v`dQuqRb6ShY9wXBXyU)NDY-3IHgIqRB-Oa;sGpLMcoCp!?? zi%zz{$qqtR;bi(ckJ7foRXW+p`i78(QhQtvC#*rHf;-^)B2)NcCp%bj7jKEnP(vy8 zXa1KW9gb`d)v>*{3s=8qEV#fZ3*Eq95v znY%;-oGbMypltj%IGH{Rq(U@=*E!h=Cp!We-#oDTzrYE*Al%y(veL;o`t@2k*(xXF z1LWQh%pwwB=w#jS|D>6PYqgVg$G?M1yT-}l$jp}^z>D;K9;x?8+-jUIeVs_PJ_>ie z1YDOnSr7a-7zv+EbF!Xr9tfK23S`pO(YVxyORsYAdLf%m#u|-RBU8D()&3imf=i!2 zQo((2W1Xd6?__oGcI7u}-$u$@(E1;$$~ES$|{)AZrQUu)F<{om|_ z0}8HVFR%PIjx49fRyaCtK%agONRge?L&)Yf?k#Of$n;mDb={%w zGb!SqaM!qqcY;#L5S;$vx5lX|CHpxJSF8nqOO;aEp}0ewOqG&Me;0R8Cws`{Hyqhh zZse$-kDTyP7m>G#ynCIj){w(PrjI+>X#9NX)(q1poNNrTBZ#MA`lOSM z#oxur);rlaWOHPg(*ILVI3E9eXRZ3gm1ZndSm*9F*Z?+&GuvYfe^- ztPe8H4;!6q3jV$>o<5bO{HEgaoa}8UD^dGXA0*lAgwu%lkvf}ei<6b&Z$e_t5BkQI zGAzUCYbzS}?>bpI{=F5*^=BuWj(;B~OMREC0$FP#L;w0Fm;9BuHZI}^PF98Na3}lF z$z~wSb+V6;Ni#EX-H^q>PhC9yiQ?`q-e*oW8`+Ug_PJ#0|2eo@aXoQgxQKHlC*slI zm&jDe@i=|`SQE+DF5U_FtDNi`Cp!_@wG1(h@o$l7H0kdj-|U9n_fDp=leaqIk4{*P zu$3D+Kf4U)BU9gM-2dWa3-I5EGZ)=O9n2q7egM>5;5*qO{14%Dr8(J2__bSSl*e;-R92kz=*=it8xnXYC|b}oLUodE9UWD)-F zak^3;kz0;mUp^@UllqceJv`^(>Lb+E5}8_jK28}XzZWLG0Q&B=0;F7Y)8mm<{U(#=J@7C$$@M%LZQ zu0y6S(S#Fsvg`2|Ak&0%q?6r%{{fulmZO|(Eq-ZLb4w2=OWp{PS|#l1gg4>W=hQXf z9PMN`;}6wLu3k=d3;s=R{^*TN!J5dnI9XpOTZc^FJJ2MQ`u^W-_@Ah6);~T4;xfD) z;j=FB0GIdc_#rt3Ht?;iZx zIqMp#{#UK<#p!$Qr-H*>#QX41R?b{9D0%P4)dZ4olj>wr^KdfMoH5GD9>hNgndXPl zPWBLf{hdM04`ZC{VYO;UhMmUbSSNf0ztpc`HO|Q%#jn285E}1fkKtF>Nmk%w(!dlq znkG2e{BPJM5YQpkJHD6 zb*WM+_yydp$TTEpI@yc(*E!iNm-Z!O`c(5(;2an4Wm#3~FHFyM!dHl}f}Ax@k9V?H z@v9{oY9~0^Yxt#B4J-ZGGganw+$R{TM#elRdjtPxPNw0mcpGu=BD+=nU+si%;+GN1 zy7kdWMSKgVZjp5_Kqf70!l_#%Tjb)sjbB}$>m+1S(q^2xK=Dp>X}91%g^ce7^~FiE z|9c0bmOKhBL8yY?#pzRSGL+Mt?9cdB30+H_>^=NayDD@#sDj_e{enk*t?ySVzYlO8 z)-TyvPWGWjwLYq>{tun-Bm8=xtbRS)$v(z^DY?81o`XzRpw^({|YDk0)akSrV zs{9%!`x?J0ql#YSWZ&S|45&OVmaH?LZ*lqrwlcW{q5Akc+(XC|c9~23n0BCCMQP`h z#`azJJz)_c|2+Av?0k$92RVhI@+4p24+?=6{sY zdW1PULaei)uNv6%ARYf~!s*CoGwuW2hq!xjSKxH)qhlT&>*!l6I?CAtw51!w z>y7J!%fq$D>A0pDZZ}->%xLB(83+1DMr%IFXcp^)xvh@w{v>0M*cEj0RnZ%tWE||T ziyD5K(JXl{lKXKF;vT|1jMG;l_rmFrM28|Rar@x(*~)Km-{HQ;=^*46TsmPHxEM|c zAzP6B8TTIUecT7Q4{;yiKEZv8`yBVJX67F#Pxb)!>xDayid10R<8dQ!y>OjzN8oaC`{H!SvHvPi zk?D{{hblvo{Io~7FSs9We_ShEYr0XNCepChe5218=~G7yaX(?Ydf!ziE2rR=;7-Gx zjyn@~4(?oBgj4o>vFyt{BZFj*9B_&j5ey{qw_ik53|i*ZYE1;_^C24zO| zzsP8wH4j_VQO82uNw|}v&R=Bgmpl{iS-22)HclrW%W>!9bh@z$cOmY3oK7};vaE-@ zhi2W2)5kWaZUmKi6nqT#1Wp?lKKW{P!1M7RfL|ZK zy&QK1?n>NM_4YvV1ZZ^%zy`P-ar!#$_0jY%GxkW{hWA3;SGb0_op6nCXHW)@-o5{? zy7vx?Dhc+6XOJ1Qf+7e5B4$Mp7zR{CMa7JWia9K1*MOKaU|tilhFZm(S6sooiaD$i zb65i^>bmCan)UrvcMl_qd)@ope?Fe4=sBmWtE;Q4yQ`}EoZ|xE00;*>N&`5aQ6As{ z@C5h(i~wJNAHW|_5l|VxF%6DaR0qU^g`WX40R$+3d-=841mXp33*dJETkC9{4*?7X zaNJ=qdAzW05#1L*?*Q%t__GXC0ZpI>dyx(Ye1cl>ZWVti&kt!k(C6=fr2r=h*Bq+Y z1mNhzHUNKpjiVAAmCO#v0a%KA%K*y(D*!7234nR*RdD2pgZgQJ-Kc91U>{&VfWujr z035iWFBM;p{um_+gpbMDfhyq6t_#1>{!0cE62M=t3YYX6@ zK|yP@#120S0qkk&OKW4j68KpPz=46XfN}tLKzV=%z!Pu_n#`ZSL7)v_F4~X?_zl3H&UOM60k{I(0A&H?0PcYD01to{z?*DeSr>0r6+gEF zA_2C52$1gxV3&sdGmhhN+>Wgzj;(RnjKg0X+2Tl+2mk=j8lVT*0BiyMY3eI$SF0#% zTKmenNHn|p=fEwy_kRK|0obj-4p;}+0N4oF1lS5l0we<_0objd28aVp2gC#T^G3md zI)HJI%v?Yr{AMek{nP1?Vm#ny037US%}o551>lc2RtD??u$O%Ua1(F~0MA)-9Kg=< zS-@^US*T$-z(_QJKZm#wun52bQx1?GMrB6;93DOcV8?h8U@~AVU>u+ie{GOI+Sm;o zvh&N%E`QLoJ2IOCS_9ewIshU7bpSO04FMs53V;Prnk9flz#0I52lzOEzZ={OGx`>M~-32|WT9MXKzATSEO8wA(~=!=_CfPMgW1KB@i*RKztGoTBA{nADN6QB|x z0Kh?%YJi%65`dC`B7mX*CjbZ1IB>>+GCRP2F!ctKi)KHR{mv(VGywaX2atIXum`XW zFc&Z%FdHxv&=AlFP!}*BE!hc}jV>g>G)REIx%e1xACLw(54eMdo&er(lo0Quo+Mbtq%s&2Al?*0q|#`_#?z&5L-_`eiZrx_YVQaq803&vBS&WHU~yH5E2Yv zhxj@gatLr3a13-(0fzx8fE9oRfQ4*!wa1SMD8OHuQIy0DsUm94Wt1&>g>d z6O2C^nH!J?@CT&V4S8LW$6HOGz*sbY-qsi33MdY^hMU&`@qihCt$-B34ghZnaaf=d zQr_Z;M~ir8W*%TZfOlH50bb)bZ?Fsk@TN*fKpntsH1q=CB%mCwvBwdui9yQ?;(|9f zaskS51%N=n4CJw2$^PRez-GWu+~?3xe*lMrHbP?jAy+Q|e;BqjfCFs2C2$ih9uDAW z{$7;jZJ{4=p9AV$0q1!`JdIloNC(^i3z=7;JfVqGJ0G2=}z(Ek?-yEyn z0ayy)>rc3^L8=9C+?nq&e9m+y;BsiVYc&3Sp3wr=^#Qd3PtgjN3pydYv9Gg4_*a3*%iGQWh+G`+s0|gHP4glhC zJrOV-Fb;)(1e^pOe|5MLfJ1=o0ZVY7Lw_9V3j|aJOhK!s0$556{NeId0REi^z~3L| zC}3V5|M~DEKfneM0;EO?k&(@uf8LsI$nOC#=W$r?2S~;R;0ka9u(&zu_5kn*@D#v7 zGY*oi2XJ640XXw`{1bl60&s;~@E}@mCO#O~zd*q_$i+de+kn3TEJpqkEq}K5vbts| z9Yxt=01giw2XH)UI!gpF6)*ufBLTA^L6+PS9{>Dvt>d`U zIS^!gX7(Lg@gDF2!0{&yD$oL~032p|26zrQ2;dOY4!};paKLhuXFAbLh$~|5`5U?6 zNSRBn=mLPld6xi}0UTH2IMNxwMBs2a4k2;K=vVws1grsAgMn;-7pRECM4#s|Z7$1n zQHQ^#IS71?!0{pu4>1ytV-5=)0Q>=%ZiO58`^AWmkWa33)Nuo7*Q__K(9QO8xsGc- z-W7s-JP_CvV9S`Nfg2R&tt*I^40iF>mCkj@C<%?|N3*?krN}Cez5t!})=hILfJuL@ zaog%?e-AC4L)+fl)63J_M>CMx`RE)CZ2CC^q4CWvzk8)@b5RH;ED#hA1nq80WV}Ct zXAeA^H%TM%-mX{Ng7=870l~zMX(1r2DnEKs(-($PK=46LK3K4kIQuGd=j#bkXztMmrme$} zVD|HmnRUfG$5`haS`-vToygl4JQ%3~5sUupB~at=V~QWjXE(RdfTTGVT39;Pz<@ZHzSs`aZHC zTq3OrJlrD#66a6A%MZMLKQ``dSE&0?3tql#)YzmeY$^)PDhP}R`*&>U*Lp`0VEB0Y zn$TP$a*815?zH*|ug-7niX5ner#Ds{nh)ZJ?m$3DF~+G-N!!@sO^*S=yP_vb`wyT~ z%*0H(&&hA3^V1m(JPH~8ACKgi#<$Z3GdfGo+b@-x`ssqT=V^|gF2G=Zv}s|-2M;1@ zpV9!Y68gpqh66qJgWT8&cLSj(hu3=871N&vf)RoRW9(gVuj>DLRxmu9-Jl#=A5R|? zh7Cf2{$RNU5V*BBo|H-}=O1|)Mg2XEM(Ey;6a@slm}j!TE=0S4F8b?Yaq6;7MU*;% zQbkcJPl-*%UVA%5p%mzHm*1l}Ao#KSkq-!KyHLIlQ%}1o1k|g=P=oamQ~&khUb@Fi zn+aagW{5&ZS1alYYhCG8MV(PwhTJRZHfeiPdL>jmlsZ)g8~(JeGMEaYqeu*F2y*KV zWp7Ni@ATel4aH-Dd*KaTpMYQ*t`G{pee2!ih+h{ALL72fXBQZ}ww<}#skJ3%8HEIZ zHan55P0_cFFMLiVx?LYA&yDVpT%SqZDLJ$Y7#Vy4lqx8UxF>N;OT zceIGrc)|FTnyWtKTVbUgWx`y5Df=WPRY$!pbhA3-C0gOAZA}e=&`c>k)wH5wdi`=d z*k}VBWoOQ&4MCu=g0wX-S@g7p{fG*^t1T-zVvMa5*fV+>c_eqI&>Fx?rupa@DMEW| zv?!yp`+Q%H94b;%=VaQC8dzvvktgQFJB&1OQ<-}&&1vMYpbfu9Ut9b4CWJ-W`$}u*xjG(;1 zNP5vOz8XpwYw6r`?!}DHa+jF~8>|qlDvkvT^lDZ-|5?#aW=&I+g1B^9Y7>lNKEQJV zUPFq*-GVD|$>Mpke`Mcz7ml5=($1z7WMtsAqckqPo{ly{Qk86LBWXbHNc=9iN)|r! z(kAyUR_hY#RGs-2In2%Lx5K;dZ8>wfmG&m?@R-e2baq``VMAF=gDlF_9d~%dB~Uu^aDm<-vC37HrXSQ5vPMI1 zP=z|+syn81RuO>!jrW@dld%v}I-sRe_7WM^Q)wwr|%VxIv!>`G``fnZ}2lk27 zzL2_teHI5E>5Szo>yk9DuFgk0nNHM2_qQjPdJsjA(o!<%A5+(s@y+`ShzNrUApi;k zf_4tA>!Y(TQVFX>8QH=g>UGLp?5A+<5ljSJpFnlU=Bo)L?R{M#9S?y96#80cZ|x8J zlOEQC+QpGueIzD&>I5kW&2*%R^)ag?)6)97Zs`Bq4Zu+w581uJHv$iApLcVc;s}I# zQZ+^xt`J%dfAv?v=-*h~nPu=XnffUtUh_Nvh_TkG||}@&YDN$-3Z+hN{bV*Hnc%= zd6BVsrvKai*5c7Z)?RFuMFDu#IQ-|V=PO;N_p#C{qYE!>dKv`D&Y@FVP8?MYig(H=Xx z&sT3KY#EY3a&4?j(AKAv#^|+n^l7`!i2}p0q;v;89(dCn%fC&&qGx6Dk;d2{irbpdGNp6oXo!+^lQ4s#2qHjIKfy zS4i(jG2vi!B_)JI3|X>Tk>}&C^x+=uL)~sd@g#iKD*OL=R z8rK|6FIPj_=mC?KT=8*xvqzwdWkyWpZ1y~4^gfim1sak-0WENqOe3El*-w$UX=qza zc6G<75`ooo=dTDFSVy_aMB2gV^C+$t7Sbmz(2kvyyCrUIr;;so!Nrf(mILxKQg*Ep zo)k>ncV$jqB?~mG1x*FMp;H|>msCz_*zWI;paBX2bsV8ROzh0v+*DZu>k=>f6}$Ny7Cm+N*AE5Nr|n{+-7tQM71604PW&okJdQL=| ze+cmkzWdN)5Hbw|0uR5$$&1I2&ikq}5Y)st5jl3qiCU4S8C2R)O*`D=c@)^*veHrS z_PU;iZ)1z)(M~Ta-A{QtfVr9!goIa@-F5YaXmST#n06VZan_Gy`vZDL3}*WxXmFOI z5Gz&>>hJ?Z)`cQg=?b~BZue`AuqjyHJ*MyE1J|zeT;lKPgBe;gm(rQ+UV4Yb@Dg}s zffxFw(xaspiw%)@OrZ!>fZ?hQrg{-zrUi|}Rl$L6q!4G6rL$Yp0%uxjyV9=_Iycy) zM;TjAAJ)FS3&VD=b`m*ugig$$*p8rbhxYUn3!F*wmQHj;zJZ=bAu-XXSt_F`xpV?! zi`pX82F7k|9lq^l#}#&F#*CV)6vhZu+lf=}F8d#v@=eLDGw_E}04H;3cr21_ z6p1U-eUw74$9RVMA3jjC(P2@lBClYE4wBxzGEMd@8v1;i$YIwPUg-`LHFO68G&RO> z=9i9DR?Tc`DLR9ma!p$)cNbVRcYs#{csnM|DKg^RHrZ}0aVAZkAEgrf>Cpm z_5cBV1ae9u zr}nm_R~4V{NwwrGrgkW5H~<8e{L1Eslkcw_{=|ZCpW=aFW!sU~bVV0c?+9lfh_kgL z?QTywz}^c~nAg|dbd8yq3^!R1s`V{u${ZeW@96_qxfdf1iW1W~*s0BdOU~WQMSU^Syt|{WI@AD( zA*!?F{k_Ix^_vHEo|^HDnpqSL1k<;MtgmJtiWWl^>7TkR7{7Da5=&7rn0aO}YW@Ne z=HHm}tNz}xC3X5RGm@{yfwVoqM|CnFF?8x8`$<>xs8{U5)HpMqQS%dp0>QKi2pl^y zMZ}Hkcz#}C3&I)Xu=p?J&0gsCoK>$aIj?9w(=OUo_T0|+GebKxTNH0W2&PlaLod3| zcykqAorI}PLf@rLu;A??*B`-yRX4e2P8_(sq*dMQy{)u&Q3MWMj01AuK*d-sf8#sa zD~AV)av%!kpD*=BQ9~FI+<*|5vrY*8^TJyonAm#jM~i>NZ2CJr1|F=43VqbnluBt> ze+v$o3Bo!<9`apOq4I7=9%4%z%PWoU677(01->B?&> zQ>9)Ag!Szq?2zpIci4m#g*mMB*BA4ajVR!716rF*|2B$8IN4| zXUm9OIH1@jjrqOCk-wbCKWbt_f~0(T$@9^yq_DoakkGMxrB7`9xzn&c^B0Y@(hkO* zyb$hmq;^Q}2Sh|1_Gy$8MZKXceqP?o6vmdq2d4Gy5 zWFbu6(Az?^q@T_{BTItL`Y5$l50Bc90ISvK(Rle zcODJV6@h0ZT26?p zpx!2B&qtyP9>+&Q9;(!R%0B9IbiugjV25lb=)TfMHSsFJt7$Id zreNPPe>fq=DduTa$3%J=jXE-JW+5DD?9tU2ORp&|6|$&8ScWWDA)$;h>TOcfZ-!=B z1kTueWwt`;*l4rh?eP^dIMdU~04o(}q9)OwJmD$cg$n-J<%Br%Aj;HAgQ;n(UfgoC3P|x!=W~2~` zN4~ZrrJqB95te1&Wr*uz5o@`o?K8JtP0m6X?3lyWJ4V+S^(omdM${(%G@ZZp2JN{d z=7@-CNRr7rPG?7P({wr+XmrF2F4vtG2&bllqj{&m(J-oZ2{B1jC4!Nv7zZO8#9;+! zzfvxu=bU$6X}WPgPvcxaRsccXarSi3=tr*c<_hht!Q0n)eJSr*SQg$08Veq!P|O_5 zM(}39B8s}6!680fFuwpSi!7NC(EwGmz;mIo7j*X8MffxgCH4PoABVj&yJ)ihsTYaTHmZ3%pTWZx-@1W+bK4Vi?O>tPr?!nvDUe>Q10;volK2 z@!7gY+S=qoh+B@^vX!8>Dw=6Hy-7-?%+srn`#U_@0;zCBADw=Ms?C8`xT?V8`9`%@ z-j7T71%e6z-ld}r5L}#C+%7YT9qi3uj-R_KB9%; z+hrsv_n>ak=dOK(V+x6|>!ImHp^VTQ2)se0zvFf+Bv+nwB4&l<6EPmrZqXH_j+=1QIng)cjCwu}){mzE?Ibcxa8eDSLwRqN7wO zbT)NZj4}&p=wgJlGV_7T(ibBTWNDwCIxfM4AcX8lvzI`{lrZPhrzM~xgy~2=OLe0y zIVYAvd}aQS;(L>~*rr0&7a@e;tnTzBmu2YFA_t{(`ssS!zEgcV98g3SIZUHbLHN_u zlku)Vd)fY9K6}9fUC|#tvq?qR+)`qI5bCf>IV+j`1>|!j}s*_=%HCWNVK} z=;0CRvyHD;wZYOC6F)#iytfNQ{6tTeV^Yt1l=7_5HOxY#4F!+MvY|_>*j;fxZD*xL zAV&O^q&+JjmSBos3Dz3{uOL|e-F?95JV`}6Snz(O{EUzS1RhXxAII!l&@W|!1z{*f zxnba`%^7ti$!ZHwA{Q=sTo(SPUgcFaQUj(~3a8LDAV4>nhM_!8ymHL+*VbV_+5VLn zWx-QqRU*7k8o_shMg$tfTAw(_4{;MG-I%(=s8MS1s?7LfpTWxMj$7UJk(ruREr7D42t% zb+yMJ+d*sA>YS`{U7$m2bqx)TFG!_cR_^NLf%VGP2ew)Syr@DF1XzVSAu&uscsVCH zX?NjLLrPw^sW<~NCw>% zm*qA@=-_e-O{bDRf-Z;lv7Lqq13h7Q2L#q*yCI_tB^F(ur#2CwR2?Y{2-?xqlkq4` zZqe7uak^T+zgrKnY#+*@4|nYIT}0W>=3T^fTX@X$+D z(Y^oLPjB-l_OQt?k&-D12y(u&D=LgqpKEeoY}hWl>vpz<-iW>yT33U-H^UmW-3)aT zzhki%ykRriU`&^7Nb$arZc`&iHPubf53#NU=iCMap3pB)DDUE$sK=I!Y1urQ)zDIX zBYPubgauQj-!U@8++ft!qmAZehC`Okmf#n_2{*v9UXFRe|pA0M~)!vJ=S|3fqZN z)2Sz4Eu)1QH|?m>Zk?+^|4@#}-D6iD`gA7>8+*`4MBOkKk=rhmai#EGU~w5O<*Orf zfv*HvNx}TPH>d$?>TWbR@R5|{s+Ef(ACXs|NNkI?1a;5CB0t>H)+*^_dl zc6)U0#d|-Is#8WMb!=hDnDXx9x^%SB4nq!ik36SQ#FX*f2dfKFF%;y(8xQR1pq6}3 z>G~d>PpJ9J5MN{L43=GTXVs+q=g;eLAZ5~1IS{^G#+M@YLY8%DI1)p*XEJ!6*1Oe% z@nfn)*kxDx{MFwWH{L=&t^>0f}MM3%N(o ze|vc1TC4m|g#wB#%Xy^T4|0&z>kh+}8*@MxW~d4*K5XlFC_ZP} zxa34&@hKiygdz0!02(fit~pYbKg2NkHHY4dL%+iHH_D?FM(mkB{{zCAtZMA@rqb(> zADb8iFMeF3@If85L}@wnj?OE9$HFN(sD5%kyZXC<$Dvi!sm?|jk`+ey#dP-qt_^rk zN1bKzp$>;&30ye{54OrbQZIh5zVLVh&GwhTVo8BcIN2ToLmhx%gNlZ1ed({OT#p;a z4yqqEj071&I1reVinBdty6r1~ZW_g#DrlgpXU!qhljQ*pA3pqDm(ma62*J*`(z@(j zwn)d-GdqULc?*51*-D)b^F04v4w7GHR^Na2_m+jhhzTca%zfcrd_NGJz)0f{5;0=0 z+kra2IC7JG0|YD)ms54_+7p!hIClN7P}$=+xcCyK zih`<&)GVT>7lGQB;*TSd0UiVoIgq3sPS^P6L^@SKZ(jsFF3@R3)G9gmrQSovZN@1_ z^Zu5!$p0mx^M)eWM^%BHOqCnHO;+$@Pj5~jjG&BuAM!p4LiMQuCz+yU9BAr7y{|zw zgR^VJ(0|zZ*4=+54sR%ABb@f}6qhc=D2a1iYd&dDf!GEzoI+)iZir5Qd?Q^i{;e8t=df55tQNtBn6&^D13n9Sy`MAt9Ud)5_-)^cP5C@5=@t5z?_H=S$84!ZNFm8!?6J^F^o@t^qFB-Eb5CMO~x92RiBcLd%73Vqa;!@vO5Wb~bnYc2vvzJrUp<266 zY>BJdNVHK{ePZf&RGSlq6yVuH7Q;O{6H$-m5DH_4S3gTD0J4VWqc^zH`820O?F;bXhF7WYrrzM$&0G)^=} zY(r&?C8hgPN|b!lGN3c-p3sDhWjv!#Kc7kzirg>PV{gI-{`iSon39Xoj@wAeQ|`Z! z^dOhN(8j?O_7|@3pbsbAiBH>0a|RB>S0)RrA3oio`Gp=b`sbDlhsgqNe`bLEO_8@D z69{J7B3bh?YZ7AEx*_VCfuPyYubw z6mb_msjB7bUDWb#VooNYm#@NhF4o9?c%G7%tnQCDK5pVWpe&fjgC6W+xr2j($jQAi z)WtBT*Fd2Z{#>RfrQU~`ShHVU&;Fw{GsZPpzh_U%_HFX(ZEL-a{J*KatJVZU#Cu~rJu{w{K7LVL;D_K zgCvF$tx$c&jxGl692)uPE;66pMY+d3k04`YWBV{yXMX{)&fB+hlv#O6!dmbEGPSD z6DO&3S6;b1LnWc){|q-0t)4qZB$dd#)R8nCmSW+O@FNsC)Vuh_0ALo=8uhqngW<`vsq21s)$hcHL06=0k^K z&^*kQT&KpyhpNB88P<|MTH(Lh)=F&de7RD9s9d zJpMrs%xfn7P^)2iH%}^N!y`nwY0oJF2wDVGvSF9w7x2VmY}SSJgu$K8U{8kiAN|iy z8vg?>q*h@My1^@5h)34`FL&Hw5GnvdE!VE9I>L8+dne$89`wg~mg|O`0 zgg-qRZ;N6xKXpK*R`vl?cCxr-z$||ys`^$}SUts6*kD~*cK)T!J%4i;I%s%+mQ<{SAAJB)Jz zWCQBNJXtfkZeTAUW7cLf@G`{#*)I(UJhLrcAC!8{{V;D>;7MJc*`6SWd&*`=)VdYH zuEByy69vO#Wpak}HIm8ysgX(Kk{{h7;x1V(Jz%h$B_iBEv*ewR+yM-=o!s6#Uk} zG&HX%y}b|1?k^~}rCOv?7l?2UwX@QPm{)}#=zx_z0sDaw+4M%k_F!p`RZh^h8c_RB zBTDh8f;Pw*1z$2e3_O0ahUb@qc$Wjum!*o@`@4<^PXoHYr*|d9d_)ms_ z2OiIj)V>n-#N}h;hM|a8^Kg%^(0XdAO@Wp8S-he+pPKPpp;4Zk%Q*jWn_TsJM=O0j zdZO1ChOv~M6SAp6z4iLwToLu8%9wLSpvr(1w=}XGT><@S#T!KPjMW(>&0s8!#yhg zWuu) zA-VOA1+#c?nug}a@}PE}zRs^2h*=ziaxI+z0YvBS=GMFCObL~SZ!>birnh54U+L2cuVrA8Y^5oMOwz6$PrSj>0aAaXmK0KWmnNRO;DBDDmt@~i((zf?j zR#$SyR4=gDQ@ETDjZ3f8Ky#gMb=|kXM!A#aH5{S*TX>v3I2%r1DMrweQG?c)R_~=@s<|*pY(w#$mgu_3?tYx8uqo6)6js^+YUPCDaFSl zIi3$^DkH$bCjvRDl@o8cWIMq2$?T~et7~@&%AyyA>nM)uiPMMtT!9ExN{^O&3t(`_ zCfW$AQ-Q-S6s$Nr!C@z)KN&lM2=(vctLAjk4%2%S zl`f8c^+@vIXqQNvOa89$Ol-RcL0H{>8@Az{j`4lY9CNnMpw=@bh5Bs zJO%&N^M8D>n@iqr>p^j|gzgHXx&Wm!jgs_^ z4t&jN9L+0*`jf-lrFgqD~HacQp^V#x$1m#-JVpy72fcW8K51 zPR_SOY_xUT!CohAGkj&vvyNU**B$iM2FLDlFU;w6?}xuOC^iXghFVvIqKX4Lc9q5N zEDu8=$4m3|0Uuf3OS6PR3WL*i)UB{SBrDk}GhND-54G?)9m7_<>CPUV5LKb=fNT4@ zVk$CEStrQF5d_r~s3x#m)Dt%|w*EiRLR=d1c930NwY}B$vyXFJL#v=ko+fW~;DR1F z>Ycu|Lxp87f!z2BeJ2Xwq&S5;VMrf9Sc4<>9&1PEbqm-lf|Djs>@RA{qdK;XD~|6P zSxS5H4^)R2SFrBNQwLe>rj5d;111Aa#u<#<2GNI@#2t&9`)~#5@($Us1qYXo-~1yU zfm0R;*5UpJeXwpf5RA00q`pv2@e{a~%`#scN-67{p&2>NRMqhoDZmWLEujO>`fg?= zR?^L^*{Wa-N^*fzj%&0l%)rfbO5VDUB&)t>slnRY zNv=gvRGowhDXMqKakPt;zknA**PH4J73Eb}bEB)A1x|ZjaSW*$E_ZZAjxyvPQ3{hO zL+6U>-HV&~`Z{I;6OJdRAqiC64P!s8o1D95r08aS+7xluauiOTbIL62tWLNf>Xx?{ zv>oq+@+yHPRlUT3S{H*Ur)+{%{97G%QO1Be2$Pw903~9$!SxZZN>B%BG7qu+^sYEi zR6l-Esi9R5ImSvhK6s~8%CnJH+QzuUyDH)>A0dbV9p#sOD84?Hz`8P!97|$C&Nzz` zTQWmEl>tL{N&-(TsfDO;DZPE*Fuc@{sdm@OqlEdJO)FD(?OeH2EB5wt^pq>dFX;;g zPpp^iIS)VdIMxd#fXv5)zG#SI(BKLx?2v{Jj_v!pw9`#c!J|*C5hnVK&x~OdLy@KR z?m9xT+;RwtpP&GDxB?nph1}X838kl{k#wcS9!R1o-3!StRILoms*Sy*-K8JUGCrjI zIRr|WahP42ROC2=R*##HV@fB@KlNK=zr})8p&c( zUHWfA`#`Z>ah{j86=8fH1eGa-yHiOsoMQP3X5bHaUqZ5v-r77aB`g|$Yp z2^3~TvVul-L9&kWw?mRu1B#nRMFG5ml}E?^1g`_HN9QPsq0PZ4jI*-j=8L(xDiCad z;J+jLmK5huK7OI1osB5c7hc_$uh6rR)0Jb!Y(TUFgzUb?TRwp1`C`;yy71GxeUp&N zN04`_N$=?K>p(f_HS?aa?);@g{AvSCbv&hgS%aP8B$s)4$Ij$GCiq#RXI|Jw%HU4#7_}y8d3d#< z3N62(1z*kxs=@y{E)}`|eM^s1@c=AzjuaIDw#w1u&l1IeYNV7~M(eWD<1br~HCt+2 zW=(c4b>KPjJE&)Hl65U=>3&QjtAbu}qN*7yc*a;5NPppO&aoqRbXXC}e`aulN8WF;TM*J! z&cL@#cXe_0-Db&oLpzvufzi??$QwCuYwjuT2yUBsQ1-Vn%Pz|ISt(0h_KOfJMm9%; zGNdaFFtgvJI#790>M;s=<@|1p3?SsP@$;&XYs?jvGR`PM%DKi;`_{xcZDBK`-noy2QH&>+BLiFx9s52I~FEX?J6lnrCi<(>`Dpf}X10r-*iz|$3?QO}X>r@tB?n$#XIHs@%-`V}eRk&UyTM7`=5 zttus+!c^~P2%y-8kYsa8Kw{{Q&rz^BlI^a4$TH1cenN($1z6mp>4XK3N=(r?@N1aF zaRoc_4$-^HN2Sb^;5Ls70iRB^m6PK15Q$Z;^Hi*nzM*z0MK(gE8|bG-$jm(M)tsPi zDko6Q32muWC?Wv`XiuoVLvc^MxSg5J%D*)t`r(BKiEB32cgVREh^*bODX}r?v!iQ` z(bg(!$k*=<&`)$(`j9f`xqcn@0=@C@rfi07%M_wD_f5AE?1ggD5K(9T}E8Kw`; zc@zlTtghtUB!jMe$k!1se~WGctFSJ~NWkHH|6F@EWijj&K6(NgYD6{~IIl|HxP}J42cKM@c~mTzM_Z zQ2ib${zpekoX~=kWvJX=h9Sq^wkbL*yRDTaX7IV+m0493um7ih*O&Hc)+XuqNFsAL zW%kT7E4d7)n8O+WUFKQVqz0PwVgFa+&CI0o%avmM&kpRDg8csBm9=6jHMmQ8J7Lbt ztfv2=JN`%4|NoOlW)_+1*Dv(*zl-kwqJO_*cKttMEVB&$*As~vFtVdF9J~K8pJypG zY^?rhQ6Ht#->*J~qx0o7rN4M}-sH}O2FYoPgP#AUSeXKG=5hZ0wVD?*B@#s~OF93G zd;-l8rC|%CZF*y4&$w-2^~@m*KWs!|BbH4Q`;WzfcO{*f#=DH-Ac$9{SAsYj7Rs}w z{hB>^J>i3&+)oy-1PNY9efsDNJ9hO0QwVh!^9SG&2^`l0FFWsF#Jv zcY;{Sa`sd?5~plbR;D-h80sf~>op|uO>lIci%N324)xOu-?;lA^6IOv4#$uB_SJjw z}tE4e{|FV8hJqI5>H!~PYU=a<8WFKdxl)X^2!yvG{r5T5Uo zo$pn5a*NWtMz<(0(PnLSNw%MmT(YCO9=dgNnXqF|{_KrwHnJMkXmPyX-b!&JRDQ*r zm6j|?4ECI$@{`jB7YwRpI6NEI+zY*mO}8Jlr{|JoxaLE9G-3DhL+iYcZ^ktntE*2x zTJT$ka>aHZ!wq&JkKMhtcX+oMN78Z4yAI8|Hfx(}?8d$KD4qFSjUMJ!dp5UuzkG!M z3I4Vnqgn0xX;A6Q2g`q%{~q{xke_SJft#JWH{F)QU-H%D^u6818Xf7>zoU?`=GW?m z?QdfXl>ainOaHzR{rY#&9IH`v+q*h#itTn?DtCqtO!ZA-5fBwhfU{t zmn+fYeh_=7>$1HE_g1MG=#_V|3!ducZfI8TmhWKqjoUj>I?#f?6niR8>u_^Yo-b`t zef5N=U*>NtF86#Y9RA^SbpKENTToE{EPC%N;X#=E9>?f}$`|hJ4O#IYd*`dpN%=wg zUPDup-j5#gcYx^tZm_vOy!ZK9*Sq=TcEY|Wx8wImB@fMbnxn^gXYR*9rp%^yt-p!qNfyElUSv43IeHm;1N$Y0oi&OEJ+1+Tm PHhcChlMCeV&-VWSR`a7O delta 90055 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�$dq5SOE?@<+MqX12RK8(XJ-c_I~=#fsIaYNj8 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 { export const isReactElement = (element: React.ReactNode): element is React.ReactElement => { return isValidElement(element) } - -/** - * Check if a value is truthy - * @param value - The value to check - * @returns A boolean indicating if the value is truthy - */ -export function isTruthy(value?: T | undefined | null | false): value is T { - return !!value -} - -/** - * Get the initials from a string - * @param value A string to get the initials from - * @param limit The maximum number of initials to return - * @returns The initials from the string - */ -export const getInitials = (value?: string | null, limit = 0) => { - const val = (value || "").trim() - - // If the value is empty, a single character, or two characters (already initials) - if (val.length === 0 || val.length === 1 || val.length === 2) { - return val.toUpperCase() - } - - const values = val.split(" ").filter(isTruthy) - const initials = values.map((name) => name.charAt(0).toUpperCase()).join("") - - if (limit > 0) { - return initials.slice(0, limit) - } - - return initials -} diff --git a/src/ui/Avatar/Avatar.tsx b/src/ui/Avatar/Avatar.tsx index a915a5d..55ae6f4 100644 --- a/src/ui/Avatar/Avatar.tsx +++ b/src/ui/Avatar/Avatar.tsx @@ -1,3 +1,4 @@ +import { getInitials } from "@curiousleaf/utils" import * as Primitive from "@radix-ui/react-avatar" import { Slot } from "@radix-ui/react-slot" import { IconUser } from "@tabler/icons-react" @@ -6,7 +7,7 @@ import type { ComponentPropsWithoutRef, ElementRef, ReactElement, RefObject } fr import { useTheme } from "~/providers" import { type VariantProps, cx } from "~/shared/cva" -import { getInitials, isReactElement } from "~/shared/helpers" +import { isReactElement } from "~/shared/helpers" import { Loader } from "~/ui/Loader" import { diff --git a/src/ui/Blurb/Blurb.stories.tsx b/src/ui/Blurb/Blurb.stories.tsx new file mode 100644 index 0000000..040e7c3 --- /dev/null +++ b/src/ui/Blurb/Blurb.stories.tsx @@ -0,0 +1,50 @@ +import type { Meta, StoryObj } from "@storybook/react" +import { IconUserBolt } from "@tabler/icons-react" + +import { Blurb } from "./Blurb" + +type Story = StoryObj + +// Meta +export default { + title: "UI/Blurb", + component: Blurb, + args: { + ...Blurb.defaultProps, + avatar: { + src: "https://images.unsplash.com/photo-1517841905240-472988babdf9?q=80&w=250&h=250&auto=format&fit=crop", + size: "lg", + }, + title: "John Doe", + description: "Software Engineer", + }, +} satisfies Meta + +// Stories +export const Default = { + args: {}, +} satisfies Story + +export const WithInitials = { + args: { + avatar: { + initials: "John Doe", + size: "lg", + }, + }, +} satisfies Story + +export const WithCustomMarkup = { + render: ({ avatar, title, description }) => ( + + + + + {description} + {title} + + + + + ), +} satisfies Story diff --git a/src/ui/Blurb/Blurb.tsx b/src/ui/Blurb/Blurb.tsx new file mode 100644 index 0000000..36d1c7a --- /dev/null +++ b/src/ui/Blurb/Blurb.tsx @@ -0,0 +1,132 @@ +import { Slot } from "@radix-ui/react-slot" +import { forwardRef, isValidElement } from "react" +import type { ComponentPropsWithoutRef } from "react" + +import { type VariantProps, cx } from "~/shared/cva" +import { Avatar, type AvatarElement, type AvatarProps } from "~/ui/Avatar" + +import { + blurbContentVariants, + blurbVariants, + blurbDescriptionVariants, + blurbTitleVariants, +} from "./Blurb.variants" + +export type BlurbElement = HTMLDivElement + +type BlurbRootProps = ComponentPropsWithoutRef<"div"> & + VariantProps & { + /** + * If set to `true`, the button will be rendered as a child within the component. + * This child component must be a valid React component. + */ + asChild?: boolean + } + +export type BlurbProps = BlurbRootProps & { + /** + * Represents the avatar displayed on the Blurb. + */ + avatar?: AvatarProps + + /** + * Represents the title displayed on the Blurb. + */ + title?: string + + /** + * Represents the description displayed on the Blurb. + */ + description?: string +} + +const BlurbRoot = forwardRef( + ({ className, asChild, ...props }, ref) => { + const useAsChild = asChild && isValidElement(props.children) + const Component = useAsChild ? Slot : "div" + + return + }, +) + +const BlurbAvatar = forwardRef(({ ...props }, ref) => { + return +}) + +const BlurbContent = forwardRef< + HTMLDivElement, + ComponentPropsWithoutRef<"div"> & VariantProps +>(({ className, ...props }, ref) => { + return
+}) + +const BlurbTitle = forwardRef< + HTMLSpanElement, + ComponentPropsWithoutRef<"span"> & VariantProps +>(({ children, className, ...rest }, ref) => { + if (!children) { + return null + } + + return ( + + {children} + + ) +}) + +const BlurbDescription = forwardRef< + HTMLSpanElement, + ComponentPropsWithoutRef<"span"> & VariantProps +>(({ children, className, ...rest }, ref) => { + if (!children) { + return null + } + + return ( + + {children} + + ) +}) + +const BlurbBase = forwardRef((props, ref) => { + const { children, avatar, title, description, ...rest } = props + + return ( + + {avatar && } + + {(title || description) && ( + + {title} + {description} + + )} + + {children} + + ) +}) + +BlurbBase.displayName = "Blurb" +BlurbRoot.displayName = "BlurbRoot" +BlurbAvatar.displayName = "BlurbAvatar" +BlurbContent.displayName = "BlurbContent" +BlurbTitle.displayName = "BlurbTitle" +BlurbDescription.displayName = "BlurbDescription" + +export const Blurb = Object.assign(BlurbBase, { + Root: BlurbRoot, + Avatar: BlurbAvatar, + Content: BlurbContent, + Title: BlurbTitle, + Description: BlurbDescription, +}) + +Blurb.defaultProps = { + avatar: Avatar.defaultProps, + title: "", + description: "", + asChild: false, +} diff --git a/src/ui/Blurb/Blurb.variants.ts b/src/ui/Blurb/Blurb.variants.ts new file mode 100644 index 0000000..6b30f7b --- /dev/null +++ b/src/ui/Blurb/Blurb.variants.ts @@ -0,0 +1,17 @@ +import { cva } from "~/shared/cva" + +export const blurbVariants = cva({ + base: "flex items-center gap-3 text-start", +}) + +export const blurbContentVariants = cva({ + base: "flex min-w-0 flex-1 flex-col gap-0.5", +}) + +export const blurbTitleVariants = cva({ + base: "text-sm font-medium truncate", +}) + +export const blurbDescriptionVariants = cva({ + base: "text-xs leading-tight opacity-60 truncate", +}) diff --git a/src/ui/Blurb/index.ts b/src/ui/Blurb/index.ts new file mode 100644 index 0000000..e1f9b99 --- /dev/null +++ b/src/ui/Blurb/index.ts @@ -0,0 +1,2 @@ +export { Blurb } from "./Blurb" +export type { BlurbProps, BlurbElement } from "./Blurb"