From 25b6ab4640266c2411431de253a0cb26d58ce7b0 Mon Sep 17 00:00:00 2001 From: andriikamaldinov1 Date: Mon, 28 Oct 2024 13:26:17 +0200 Subject: [PATCH 1/5] feat(ref: #188): add strict eslint rules --- .github/workflows/publish.yml | 5 +- README.md | 16 +-- bun.lockb | Bin 1062768 -> 1048338 bytes cypress.config.ts | 26 +++-- eslint.config.js | 95 ++++++++++++++++-- package.json | 84 ++++++++-------- .../src/lib/custom-keyboard-event.ts | 2 +- .../src/lib/ngx-mask-applier.service.ts | 59 +++++------ .../ngx-mask-lib/src/lib/ngx-mask.config.ts | 14 +-- .../src/lib/ngx-mask.directive.ts | 69 +++++++------ .../ngx-mask-lib/src/lib/ngx-mask.pipe.ts | 7 +- .../ngx-mask-lib/src/lib/ngx-mask.service.ts | 19 ++-- .../src/test/custom-patterns.spec.ts | 10 +- projects/ngx-mask-lib/src/test/delete.spec.ts | 16 ++- .../ngx-mask-lib/src/test/mask.pipe.spec.ts | 6 +- .../ngx-mask-lib/src/test/separator.spec.ts | 3 - .../utils/cypress-test-component.component.ts | 4 +- .../test/utils/test-component.component.ts | 44 ++++---- .../test/utils/test-functions.component.ts | 2 - src/app/app.component.ts | 13 +-- src/app/options/options.component.ts | 6 +- src/assets/content/common-cases.ts | 6 +- src/assets/content/lists.ts | 4 +- src/assets/content/optional.ts | 6 +- src/assets/content/other.ts | 6 +- src/assets/content/parser-and-formatter.ts | 6 +- src/assets/content/separators.ts | 6 +- src/libraries | 2 +- src/main.ts | 1 + tsconfig.eslint.json | 4 + tsconfig.json | 3 +- 31 files changed, 321 insertions(+), 223 deletions(-) create mode 100644 tsconfig.eslint.json diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b802e2cc..be668fdf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,8 +23,11 @@ jobs: run: | bun i bun run build:lib + - name: Setup npm token + run: | + echo "//registry.npmjs.org/:_authToken=${{ secrets.npm_token }}" > dist/ngx-mask-lib/.npmrc - name: Publish library - run: bun run publish:lib + run: bun publish:lib env: NODE_AUTH_TOKEN: ${{secrets.npm_token}} diff --git a/README.md b/README.md index 156cd1de..c007694a 100644 --- a/README.md +++ b/README.md @@ -72,9 +72,9 @@ bootstrapApplication(AppComponent, { ### Passing your own mask config options ```typescript -import { IConfig } from 'ngx-mask' +import { Config } from 'ngx-mask' -const maskConfig: Partial = { +const maskConfig: Partial = { validation: false, }; @@ -90,7 +90,7 @@ bootstrapApplication(AppComponent, { ### Using a function to configure: ```typescript -const maskConfigFunction: () => Partial = () => { +const maskConfigFunction: () => Partial = () => { return { validation: false, }; @@ -144,9 +144,9 @@ Import **ngx-mask** module in Angular app. ### With default mask config options ```typescript -import { NgxMaskModule, IConfig } from 'ngx-mask' +import { NgxMaskModule, Config } from 'ngx-mask' -export const options: Partial | (() => Partial) = null; +export const options: Partial | (() => Partial) = null; @NgModule({ imports: [ @@ -158,9 +158,9 @@ export const options: Partial | (() => Partial) = null; ### Passing in your own mask config options ```typescript -import { NgxMaskModule, IConfig } from 'ngx-mask' +import { NgxMaskModule, Config } from 'ngx-mask' -const maskConfig: Partial = { +const maskConfig: Partial = { validation: false, }; @@ -174,7 +174,7 @@ const maskConfig: Partial = { Or using a function to get the config: ```typescript -const maskConfigFunction: () => Partial = () => { +const maskConfigFunction: () => Partial = () => { return { validation: false, }; diff --git a/bun.lockb b/bun.lockb index b1a2112e0e13f8c1f5a8a8a92f483fff690adc8a..23ec61a02a5341059f2f4a3a187badc830ce8d0a 100755 GIT binary patch delta 251710 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
  • cjr%t0j_!k`9WAeqj?W;b&;Z(_Q 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 delta 256106 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�n@iGM`N5Q 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%0A9<^qIk7leyJw(X)v43!)zJdFQ- z!DSZ($#@6hW&HOp2;qy6$scj^F-YA8EELMAO#TvRI)faezXWoNrgbc^)l3Ev+Y6Dr z1PR1p!_Lnj^VUHcCxyN|TYy0-se};J>BN!5F32DXRuJVFNVF9M&+mMq(nUqf8p6ao zO{^g?u~g_s+W8RrkyiIIWbz}e2;;wxw4+qC@BUvrBtNQ*FlJIJjCT7M4Ca0sgzS$ zY6p=;e(WG_*CF*(@Mab(0dS$ha|Vv-3S zNXkt}#$nXaV30I=HZ{8inY_8L$@uT)J|hL`75fQfI<8(O{`ZW=|6C$MImJ9JZ zjjfL0xH*ljBp*Ozy&=xXk2j=|N-LG)$d3;sBo9KrkYaa1%k<9@DL;hJZ=~2=ksn{w z>7qj4Q^W3#I)0Ftd`O%h

    _RqWcJ9Ia0EjR0L&dBB zQZRWF1!JeTOc+lflebI)kso?nC67u$5Vi_NonUNbR|s(mhMYlus0crW(7)Kieh!l- z1X50=Is|pX{>@6aBFN;djKEg-**cLdhRB{pok-;8EVgQ-QV;qi{$Z>V!i^sZ8Fci^sTd zn~tQEK_>6hCH$MKX5|oz^Ed=q`LVytC&F97T+0ZtbH zspKIA;TQj_kxuNR0Ob^_qfjG*FfRh!s{U64f0~7YWHmrG8a1+rdo-Yt!elSmMCuYC zh4q#UgaEb#| zkcSk6-vUIg0bUUMYk+bJ)fB1;Galg90PuwsF~ejU(Ap_RgGB9#CL zX##{L0P0B-1?6UdS|Xr3FN8M*VD}N=lmh7f zZxi7*fJiE!huEj0MmdFQ3cZAx25|cX@Ja*pkqQcu?Eu+yKtFL$2Q*S>r7%dOZUaI( z0AaTQ!=#CVawkA71296)WB|G-^iudmRPF#`J_F+J0LK1XnCN~1Ob%}R-~6C3o{1V0 zMDH#(N$CP)+{HnKzd-T(E)FWQZn{ktgoBr)WkDEUA=B?cxOmC#dyqUT1yp!=$<%C! zT@S=58^X&=@~H@agNWRR@bMCd`;c-f)l{bQl6g50w_b=>4rC@TsiY$L9Wwd7GCwcz z$b~dgY0X6)0Yvx)r-qO|2>pX7?1H?c`2p%E|A0*12NmM|?|y0*m0n!=*qQ&fis}Ei zmC<}&JO=jfKhBt(_H02xSzm7d)%{0=uL_SYp7HI{YMq}Qr%t{P6E(v?ZL%&|8;9S4TX$?{GUFdJ>&Q2xW}M$mMH z4eSCBwIAwz-ZO)FK`F}TRcX}#W8UnBVfibH(r66QWyCCPW=t;)fT32u4|rcG+by ziJzh;w^2H==nsMASbM5*_$1!P{Z3S%L;Rz8RA=>=&M)ChR@uUZJ_R{qt+K9;U(Xwz z-G4S;d*)C{Zg1D;tV%zlEy@nN;#P>vn5K4i9})S5p6Z{XCwX2XR)n4!f1#(qB8*9q zwWmh4o{s}J62rZ!gjPFz70Fn9dE3zoQ|@Mc3C(nCJNk6uQ?pJ9+tdMnj$}8J+fVb) z)^3~-Y99Jlw6C-0XX1j;HsbZ08}E2;5lIensIZ%&IvOs$@wcz&HJz+L=lVzYL*A`2 zH{Y%EV%lB@lkBqPZ9ay(BNeL5Ri9myY#bVM316_VWZ_|6SC;*x#2Vf6$5mI>^WxWR zQtVMl=ACPFoNHH#ZN9%d-t_A%Va^!cziOL3k7WlkA4v21Mx1x)xa_|$V7l=24S^Lq zU3A^qpWU*GNv+eB=In zj`pyegDX-)BZZr$-z|SSJ7f5Pg~~v)I!kzKSi^f_xbsHmmhD%$g2czS7H-Sv<+AQo z8oH`=R{yE&ZjMfk%Y$RC<)1b&lXRW=uIh(q>Ms{uVjRi1UsB61|D$Pf>Os;~UW#qnCncdhOZ++S{C zqf1>YqT-u{GI>Jw^0XXfXZy7-Rc^{6rkhN*`wfA2ExvzSK5bq9%<)af1Lm#Eua=j6 z8%SWkYbd$kmzMV-jwmN%mIygvZ`%UXYc#Dz44~fE4fjXXR9uJPFtX{TAyn2yB z0=rt+^;u=H_aCfuIP$n}s>SiA`p)gM9D0^N&^IiOh+_#)i#0r9Q!yVIJ;Uq4tqJT^ z#VbCVS;<7-nmZ`;@`5sBNy@C8z+BDn?KXdzenC@uEW?*art_552;}F-S3NbKlWaS$ zEG#;MN7(4^cYno^XCfYKdls)BPO|o6F1&GNnZV;2KaDw?^mz|6BBvU-E?c=NZ{9iO zD94&2rLO9QHG$LKj<`E}d|oX2c9bPL9bWS3CFY_X8xKz96*$T1vBs-mo%bfZFFqsu z=L@stGu!i$d*AfW&-}~WFW&MoMQA$PU7wkT9j~@)W*uBRG<-*5&vU)PqICw0=H_iL z2io&>wa9dK9y~Q#j#+Pj6ZZ@BRL;&b-RQ;C=&`6}KmNod?zWq`4x^2$ToE7Kd zr?!QEOA=G5{JD9C#;sYsx3!nMJ+rW}zE&-t*xIr`-1^jseFd}%BHA_(ioPWwz6hs)9xQ1LU(i~+pe76v}D;e z$wOx0^B+WniO4E(MZbn1T+BxToovt}s2RRBoI#u*RJn2kal3&SN?G!#f*1nr4E|& z>3h%nJ;m%xgkY2YZ{MgI9nZsaYow>@&l@s3%`)zttPKZGbKM!arRwwQ0Fzrboi$k+ zexh1iK5NS_%JdVMKcST^#_sQ0ed>6`(}4^tW0BOvx*v{rj@SKI^7Vbk+~e6NIa%5@ zBHX_V%3>dv5vOOzwqt6W1l$kyHD5+BW(@AAsl|h-C zUnLd1*Z&&Ocg)(9Y}S5i&!NoSe;nfFXKoV8OlLgbuN+wSeh)|6be4v9u{Qkm#2o#$ zZR(G1bue%C3`%KuJP3Ce;SX6Yui5wQV#dAH*Y!b)+n%;Z8jLM06MH>pnfnGsQ?>6N zGZe3lo=KRt^CWGTcglYcE$`+fUu$p!YY#6`=s;bDFz$(8M@DD| zIM#mao`GRA1A`6@0fM``4({&m?(Q2WKyYc?ArM>#5AN%ZsWoH^&- z_x*1FSi7p%Jl$Pgt-E(uLE4mC#fzlPIM(lzHs?n15^0M-w}sM{7T=0v_A=wGN%^1u z{M!(Jh4HpFT|1kuy~TG3bcbK#?;ZK(LFyh0=2-82nPa_k_#E7RF=Xg!!M`ilTgv99 zkBJF>LQHo`bq8}zM*pdpe@~n0hgg{9Wx3n$%?<2bV)DnvB)i8{eFNPC_b`uT(%i@N z4=Qg3ad`#s>m{Ec5oJW}LGGAoI1iBS|$Fxg;S^GO?EX$Hfm=M$WF=o6i{g{l(Q+Yzf zT_S7!c2nDIn{y-G*pgG<51p64!qIxs7Cp+eE9sLF>)tNp$U(Z2H8W;7S|s-YJxSZM0Jp z-Y4=_-u5D9ypxx<)DIkdZ{MP1y&E@8lksZm?rEc+IXmi7lH4V4UwbiVz?+~7sS;(n zU1$D?UNb|khegdVPU(r)wmbrY@d7Mr(&h&R?buO-n+Uz zo;-dq@?M=-Q(n$1|19CQzRN!5_#;ugO(hz{j+W_4wwlY1zbWP3eEQW5PNiyn$Mb>J z?*4aF>#cqA5;;;hU=an?qqI6M-QsFxSfI1urhyNVU^d*J#7 zk?=fB$s>285*~&{BYEsLSMtQ&q2v!Yc61URgDH9D?pMMyuwarGZg(X-03-4K8F5#* z+&XjHOTDKDd$xqE991Cg-OJO8)~rx&L5uiRE*)6@Ao5O6XtBjZmOdMD=wO{kjnlUo zc3{Zuao&a%x2#z(G}HSD_kW3S+`fu9-@A+AU4ET7RonPwb3Fcg+pQxB!gBSy6g^eX zobn^FY*xGm@MU75eDx^eTz=n)$ezjnvQ zqWEvz`y~ETc(qXb3TpT^YPgpD+V>rTq`7xd+J1v7&%I{ zxKiiXi`~i7g?>0)?9W?+N)C_Mf5Hd%V+K~|qgy{7$=`1OL~N8#|FN`l`M-NGAi=1v zJ$_kvufT8FjvgpjFLp?qJG@GnH~4y$O@|LIuajiPqZ+$zl?-i}azx1W)E^oj>eJxF zz_1$=osX|_Mp%o_5$9Va_1jHn^E5pDU5SH3UUr_?{z3GXueKl0`yt7NoE=v^9^n+q zm+yGP!uyx^Znx*?$sQ}y?8v>lciLn__l6c+zbspvhLv(enDH0)eiDlR)tw!OglC%H zv2C0nH)j%09e=+dH%0i}_H+{6h<1A^QhN}~k1ual8_g4_xjNTUY1 z4N{N>2DzI^-Grq$9%{$+@FX+Hy^x5%L=SQcrXvjwa{Uz%9(rK8^n)cGhr7 z?G~y2+Lh_z!8Eg`&-$`3Vppj-*kaUjgPalPUwhD=%V!GheEi$Xg<1RF%JJd16r&zK z`gKXu6A9lIYnpIxgL9KFPF)`@OTYd_W7P`FzklJ#W9?h7bv~VL5_jYF;@QHYM%W{A zvHxnn%^l?aoSZZdTRt|+%Nucda|$$_-`2Awe)(!MXB>Zjy!F)2H5=qX}N#y)O+@v%YD0_{`E}02+PaIagxbX$D2Rm z{A)(_D|PI6v1eW1EI1g{FWagf`MzH__SY}jn{-P0$B|Vdp1mHmJ8kHYU0Ff{)|J?? zb@$l2<&JFce0@)c&>xaljFzQU!wB;)5OKc2+XH@{IXmvk!nJ2k>N2$d{li^iC#qj} z+0e-sa~*1T=%3&Fri&KmL+GW+o9j$_+i7=_8f(^%;y0H{y*|wQlBe{!MP(wkxGl&* znwbhJ#3>~UX<<$&N{etxQCgH!N>|6pvVtG#^f^9KCMmo^wyO58cwE|I;yH zo!jiL^ViqshnD1@a=7!5$m_li&)n?Eh*MwVw<~t(*J8hIDgL2F-q4w&emgX^-LBUW zzX^tN$mXU3OGKRiAJq!wkG+3J?;JnOYglOJ(3WkVB^`8deS=*w-da}np42OQgbFMfalUB>MBZ8J-kv}FpN@an zY+zi%gOd;2`*XvMmoMJ0yfXOS9j)er*-}%;Ljp=FQlJ+??}cCcRu_$?(p^u?y`?hCTwq7K;1AfkS`7J|ck0U7 zzpO9VB6ZE)e!2YK=i5CwPSU!OzIc`SJm8AKjhV>>+NC$R(JYdpIxF^m9lek zuRL6+M%h(a_hs^CN!59M-TvD`uli=}L{-NIp?}x4Uw4)_@AN{jSH#n>oRu^8P=@&$ho%>OBKDH2Q7&ib7L+J{tS2 z+YimRe8lN2AS@15WD#fAxK4`#U^oMhU>v+=sE^~;(nUYu#w znneF|M)MR!n-z8>uYEO`2-Om3RgP1=3$D{%OC`3ml^GF-JQy4RIda&wd=sqBtb zQpLTmq^et>97#2IijwN?6D2j=(DEcT-PuZNxv!MecFR{FspBqIQrE3s(Nnj6y@*B6 z_NsOMH__wYD*DILeO-QgnWk^Y0wY$v&+IK+DbAYFbuO$-*>e27x|Q<{cwaAO(Byy4 z2j}q5?O9f7@!jrKhn3xSqhNsuC9m)LRbnX(-1g)ZvN$E#??$zyKnqnv1hg1vophi-j5E)OTMzeh6<+E!spc0NcD|}-mw)hG z{(lzwJQ><7rsE_CyI-3(jol6FJc|?=*t2!#KCOE=jxTtwzdN~|C$e8=cW^z=%b+0{ z9ETgqp<^C2!ttUyq_4K0JR!j^I7No;&6V36zWXw`xt31l0Uw6}URQ0&jhGoR}(|`yadQv{(;P=l`~U4vpsL z@Lz`b_OQL=IX;GdTO`%!e2eq#$NbIBJjip)H+%P7J5RrWX)*o6cddiIDhV9SwI_N;h|1Qo zQ~RtPdOD8EGcBo~6W>kw(UVJ69bS@v-{`_7o}03rr)R*~RDMpN+kK8_Ou%MZi27DP zoxg7@Hi{cHs{iIRZj%L`3*n2Y=&MFvLu8v}U*yRh@R*L5d?jg3g6R`gm005ANad{MZR^|lUgUbYO1~T`q&a47`}K)!I|i3_(3pT z3!S`<^IphCPimbH+SwVxx1FE5i*_>$U&Vy)z1ni&=dw@#ae}f_2{YK>E5yGKzkk(R zP>C7go1o?lckeFGBRBh%@FTF69sa%ffii}|8@iL1c>*FYWaEWJI6SmRwbJ_Z^OeYb ze9*Iq9mVgur=`nErw`w0diwt8pQ@=lR*$;;AA>0T3*I{U@5$fhx=&2UHd5@mDN`C)D zJFstm3w1+pcnXDA%R%3Q1Df#vhXnbKKlj{CPql!huQ;Nt&b9md4oV%WeP`bGqz=D6 zPYOSchi>ur_Z{z6M&Bv#|J5yv#2v5dEoS)P(rFpT(EoAd>PU@v zlUr>O=l_3Ija@ks`8ErGj#xC`?xaOl_1ESIKOJAvPNnsABh-h2zMX@8JDG3OH(JCI z&4$YQ%=3p|cukCtcyLto%^|#Y|EGNT7D|+;01u-6t9ZUMVZ-zSu(gAr=ni1>7LDZ&SzbH zSIB?e0{Jd6s*-`exqQ2#__WHGExZ^h|F_Fe_&j{)VBZx-vn%_5pPijARlEP*j;=pf z&5#Hcn#wovn?2!Y!G9ffNqn`C=}LZdnGVx+K3AeugU-Z?BrY6cYWHc@*HQvB!Ax(QJ1;XyZxO66yU*bw`jtse+Qq~ z@9(=me1P|zt|zJd?!Q-371CBN+LE{7R~?QBw`=04mHjU*9J4oZ)UdsY14Cc`cM<-V zTUj>#%AiH|UAmm>1_lRJ^%jrf`!=jAop1Oyt}=5u@eQFCqyG{yp1Be@jq7U9eXegP zZB88=B{f&h9Eom#eM3ca9*1A1zcX0{sjm&{zVCZ;^>A7Mr$Z;Lxkfk@PO*8+HNk12 z+8~Zm{aX_H`mpiMthj+Cdcxf5a?sFy9KJ6`KyNQlLKsq+Lk|>8)SjnmJ`ekwm5CeiRQfKv?(W<8)nlc z$4xai+*}IW^l;~OMwm>AoN0k0&1pYaU~ZJTR5*Wae1_3DZO_yY$=o=cY9H=(clJ6B6MT;PPsd1B3!G?y>2cZ3O){4Om($#2a~W~D%uT^*!I_}G_C$th<}#CS zXl@2hh0X$(y~;7nwi#w6f7RR^bJ=ib&CRtLX2*Sd$TZ(v4&1lrLkn%%oVag~U>4!{ z=j4LQR$JZ`HgRrb4U;R)>F|nz(^~zE)8UjCqFLN(oDREu@a?_B4Hl=vu&|C>hK=TQ z7=GsX*3P^s+773u(kA-eRsWDz3S$I2Ec0Brq3daYb?8-qGG}t{5(- z#qBUx9CtY?+g~-i(_|?5D^{3Y=1S=A=60JaiQ9+M+V3$}iu`_y+iR{g?u_klznCk7 zJBwq~*{4HC$8cG=YJpcRupI8XxohUiKsE zeTc&L*IwNK{<1^tBY`SRL-1{2l20~qBk~U{?z6eZxX0S18NQfnLOwfA2g+9*|D2|f z!{Q=SJz8!vmha@TzyPG?-5d&7V4wxIz?Cx>WUeKyyt!!RTHz|1i*BwpuBy3Ub8T=v zK+AVxm~2bFmjpvhoNB2Z^p;=YMP7KEwThxvq>)FqaCa1$P6T2Q;LyxbEavuyX{HrnNY&?Huhe z4C&4F)cVgenb9Uz4HOIUJ*IOqnNtmv#c9ZFPBl>8To!YEaqq}$$V#f(>Ia|A`*;0Sn<& zTUy?Hb474o$)T{sWHFmq+i0n|;^v0qR+tMlHv;#wxf13^;?|ifX-=DWv$;~{Myotq zOqMn|hQQtC%9#5Bx5r#rb7OJ)&6P7Z4tKy@d2{1&2hCN$X@#|4o$)#9qml(`$GT{N zmCa4W-7r_h+$7vBb5+ev#@#Vj&D<1Rf>?YoR5v%3{2RNWsUfHBF%AAQSJ4zs+&G-7dL!I4H{RSP+%0q7A5CsX-ZnYGX1E1+$J|tl+lo7l zOG7%%+&1zfEpEEGFx)6}Gt6zrjW#zk+Rg2$LEQV3ezIw=k?)1m@Y%!m*I{xU2Alk1fj4j?&3(nGFgIbe z%}{rrD)cQFYc7(x+qeccZ4{iAaR(Zj^WZeUyW0N_si+Kr7I=@m-f_u88f1a@$;ZOw zC5>+GSMssV#W439E{?fa<{sdJC_zE}4X469gx0K-Z~u>L@)1(aIt!DAnERc4T06tV zGxr#mox`aFX?$}}$mg&_EP=T{a7W2&NNDaU`TeYLNzz17S-wj13`SaDVhenZ8%@46 zX%cfU$d9wQq~>1Y#+yrK?oV7j^5sasGxv&oeexQTn|rPGuW2%c$u|V(D_BL+lsIkU zzd&ENG^Dn;x8(J8OL1w;y(9md#icd(9;Y>~M4Har2l5w~ab?widZc!SkDzbBRY)_M z`}}xp7`q|39z~sUZ(i zYpm_E-&}s1*bjHWCN6-}Li}-SaaG9|vA9S$Jy)oPD{4;fA!$=qhhpXe{HXsrwvggT z?LScn)N?-#rE#hm53V_`Ci${9vED>Wq(3s0vpD^J`p|a53N}CO`H#$1wQ2cT)S2#c z)PFUbI688K1=g@YwMzM&)ojEyHeLaa#F!xP|7LT3meG3|ve8 z-pu0o;nitpaV;z^A9NS;r4y(E~47NZu__`aeoFO<>QaYS&OuE1@i%XAN z!gyC0ZgClKOU;e4xQw`EI1M_fG3sREBZ=3le~d}}-^(TVV>kH0ToznO#x;yJmld~x ze0QAAh>SYf_}FMpXGA%@p0|#?h9Ax873dXQDSP9*6HMxb>sd$*6V2tq&BgV>O){4o z7i4??WOI3N|8OzsN8A*g)`{QUeH&YDy2a(g#frp+e_!6GPqc{+2l9d#Jp?Z#Iv|9IMqTqTrzXpERJ^#oRsFmY#N4gvi*|b%0@7MuW z;0{|{HQY6({Rwx};;Q2=sAb|xyzTy~ly793Tr&IVpHf?uZe-|M2x=7z+pqc$ zMyd+?A!{Ku#I(TvxFWcNxL6i905_Ur`zS7s#SO%bF{fWi7ImE^9FJURfjw}HIzRHU2&bVZPDjZE+)|6{hf`rD;(jtW$fliyTWM~vxyiUy z=7!)RY5Pw>t~NOgsWq93TW@ZJO*{>^0jFW4x#_sg7B|Y=4BR$zqs`64g_#>;&c%6m z*bIL_YQeLRyDU&ovE*jselhnWP8Ys8xP9hkTHIXResi;M90<-l++40D$H?o68l%p9 zJ`&?j==`(DCSHI{9xk0F7Pt_X(wrW>Y2rnEB*2{_zs%fX+*iBwE;qLX_s_S>vALx< zf2P&&lh0BA%aD&jJ!hNcAVCD6E2Cloffwlr#052m0cFM1vkSAvj?Z+eJgGf z?gsgNHtjatWOMt&o!1FN9%KqVS~*~W+i{1@9W=KCcf{Nwb31VznV}xH9LA~8yKs%I zFh?zJH||?2sAJ~#;Bp1&_+!vb2jk9OKGHMseex&F{esJ2?xeYWxDecL#GNv?AD3Sz z2!_)*o#77Pw9h;yf6?L&;`HmfyJGGL?kVmi?y9+? zxCWf+^n^pVS*nF&I30g)NN$)rj*DdOmQCwDfz;2h8g83BiPO)o8t#}oh0`w}diZb` zrxiVoD~Z#?hX)pS2A2(|hYt_UoyF;wG!43kWYjswM{@oC_YWh#n>>$9Nub$uYV%|rUe+zs+cm`PO9zs%hv@7n=L-s0GAom;rkR9ke?4;FV@ z_kY?!f=NG`yhA>jt||CA#r}^W0pC+iX-=!k7BA` zhREig;11yukp={@{T28JA2FFYDXCsKk$cLAKQ0-m$J{gJ%|$i$9Ji17@$WG_Fnimb?m+jx?Udy(6!?;`G}7@lC!buiN7Eq-w=W;(Xv^IcY}Hgyuey zUxCw*2&V%6jnhIhlP0maPvrHzF)L|ObDzmaV?WAGnhfWA{_us7SbQ(fN1DQB_?7%B zZanjoes2^1Lw>!vROYnwEjSIS&H3Se<;z7O;?v-?-|{A~lQlNa193W=k~qBK>vf{r zl_;ah$OLxaCZZG(nal;?YT!!aGMkHnt8FfeIS;NZt}Jm`%|*p!#+AoqGZ%=v>bnnM z`>Xjae{+J6&p8q*Gm^txG@MQxa=L&hE;>$!T@^-hnG44K%}!Ajm)l$n+$VE+%*Dj% z8d9A&HIwx{|I_b2k~NU|EHE}sCytsp{T9He6Nis)Jp~lBxVSjA@>g6Tb0N5gZ1+02 z!sg=PUf}BDirD<(YB@B6U(VhB8ijPTz5w5o6BOZ zCr&>;DK0BcYuuX={rDu8&0HTwyp2p|M;4_p{gJwTQlL(kX>kJ?QHw;moVb*@L5!$1 zp1tgNm&0679HUMlK6>MHw(V`MFfL&nw*OFMUz0_Ukty{sTz{O-^F?tB zICBlh4Z@N5u4;?S4Ys)A#KmUX5d;jixKLbNbHgmI1TMtfNZtQyh9!~lOpY>F3U?xw z?`yK}M@L4T(tMmT_XBZqW%xLU(=g6lS=@PZKbk9tyI^jjEyG(LdC{cq*HxGbxJ%}A zzb;o1ciG$&bCqyc%uO|?=l@sDO*5zG|JTe-$7vH+#a)lZ`Cr2<3#^8`VS%%8j5^i% zxM^;#xf-}zxRI1>zPXyX+ZMOboPK2Z)8ZE6w14O~hF9i((*3{It`72z$(01k>4%56 z=2n^04-fCm{cNs2?!CFy<{IGsHn+xHL)<5GYjKP^jr9K2XOruZ+Tj}GzL?u&6F0$q zHMiMZQ_X>$P_?kdTr*r0b6d?d$3-)@&0GsyFwU!q!;qR+OFm*);0|-Ga52s8vWZ*c zVwu}*t_`j#huA3Qx5r#tTy=AMZGP==TUe3N#O?cb|JNS5&E$TYxC1WC+yR@IW-87M zoQ6X<)mA5*iyOlXkDBX@n`Ln)Y}zik$}xSDI;U`iJ6-+R{xy+5Fm~ExHv$`&J7cap zuCckZ=6c|MU?F3f_8g8;rzaod%w52#fW2_NaN~%(Y;nDDz2$U9x@xiyvLy0H+;tp@ z(-&9D+zpHChpTSxmc{kQ<)DBQnCP~}4Z!6xcNeF^48#>?+KI&diu2w74MK(zI0^aC zW;hs^n!u^JM>fMDxD{+q4Ua8OJMa;6Ps|O)oi_J}xna08xEajvsk!00|NFp#H9Rvp zg22CVE`iU@jl?~}&BDDfHwrfgHyig7$EY)!kGbYv;dH!@!Ob)G9;a)`54fd1$M*kh zGaQRtZGm5GhU0J#aC2D5KR8w4c-&CjT%12QuO!ZoxQXT>nVW!{WG=F~iMYw;^jned z`5&!>eAnoC%qgk`PR0%54s|{*(A*T=?!3Ntb|m!!vyOz-jOam>+vh*h|>d$ zLyV}(6O^5x|YPqNMqoZfns(~D>%&Q6@({XNY{X>+@9dG!95o=%l9 zxf`ic>$`qgb9->9nD{)doVmTYH0H{i`vn&lcY(MH=Jw%KTNiN^&F#mj8P6qLC9lZ? z$a%=iNM4Kct?@yei@SoWYH^2fFF->zbB7skL!5@{=8oXn8Qh#mod5MONll{^coun(^f@Dq%$>u%1`UnPooD=wxhCc=FrFLqoTn*{? zZIT)}!sJWxa%o9Nn)}mSdeTwmUYW~4I@+9eR85F*TkS~HOKswRfNAgS9XNr(cGWR$6W#%U1 zeD{B!kiD3=DCsmLiSwBcO`MK?o;o}aj8ZOM{=fT~;RoC|4ZWBjE9!J(7aKE`gToGJN+zA|s6NHP0Q*!;5Kw89f`-nb^SBE94%Bh^SiYnKg|k^EGg+6XWoU#mvVTtjM$Q>(^LRQpWg z^uJq*sWjVH4}kXx$TD#nm)d2d7K)bzCiTb#W?;?(b@wtH-#`Lcikbn5&P|&$JJ4 zbY7+LA|1`Ow~2Kl(%D=Gn^vx?xsJF5OsgA_?l?xB zPUbYy3#TKev!1^wkUJ5lpUE!dPvdmcp+_*>s+xycr%6;%P{rkES5`#+UXa;nK;!D(|&A+PIu3ev6Srjj3wOG&!T+%)pu+DxpwoiLNrC2^@q zx0{* zwRUsK>+&kM&*J8h&u?zOx%s%F<_?%!fD1Ku(A+|tE@+zHAyO^hS;UC0Xp%=Qa54En z@*0krTY}RatnPM>n_Eg=*9hI&oG`b{oNh!;np;jj3)h39q^HcSAYanU#x73gw8@{y ztHoj*-VAqM zXEP%zq2w(K+(KT*Y#Y+s=C+#CHQ~DQ+e5x3PS=1x%To z{whw_fET)OXuJL_m{bYV}# z!{k*MT^If~=RLxRN}~(IXOle>HcEyb7c9z53Nqp^uYSVdVVHoglBm3?Yqd z?j(5?M%RES=1!5PFkWXUnW!dDlUHGM4G1!KhP)Q6Yd~~!XUXen*a*@X=FXAVJ~NV3 zt!8v4JWpQtf4T<5wzvxxH<~nVFxy{&7a7r>scS%pO?-*Gc1$@nxl!C@@@2Rl=(-T! z+!gX0IqT`Vkigtk@>;O20SR%ct!w19v+5d<*y66MN_2XhLYlAQ%RGWyJ>C~ zsoMIeFt^C}X7lLG`JK7j{#x)OMpRuo z?$Z;f>iXTBj{A(}9+THL)?uo5x-{(*b2?hGnES(=cG|4wo|@DCl+D~TUH`RU?L66$ zTJUr7I_qiY$%!LzUhttf?L2ub?j?DxiT0g*Hp4&3mt+6Xev;qZEApD3_K5;Ezt`lo ziGAC@um!$B_N4l?U5l9ei+nenwqa3oZ^^G?lW5ZvGxv_X3ZuhGxU-{7f zq1x4}eA;yX==!T2M6#wyhicKps`6Sku^&zot19bSoIg&}%GEO$38xxVt<^Ud*``%( zG%%+(X*KP8ZU2TQqgbG-sF6931Wq}EQ=rZ*o|HNiNQP_Co77&vWXRb?l0F>PAaT4!^yY+AW4=35oLp~n2`!Eq@;ZG? zCbB?PTVHdDEl}0g&s-9Vlk0CTDS54kYI1-%y+JLf8X9QsJ9Ap0K|WWGTW6Ch{a_1B zVNN9-VlJgQ70PR_pUX`hL%-8uL9K$~`(;tDlIldVHM9kF9@!o`Ku1u=k)5Fnbag9t z2uki%H;?_GKMa6@pl%)q!w^sxF+*V(42Kag64dSEXczpATont7^u&XC-4V61@+9B4b&TB4p0w_ z>Txjx==Vkao~WM>^>d+q;?wVt7uiCW;4-K)#cOZ_Zo(N*XNu=R@2Hm6FYskR@0{u# z)ACRODnccw3{^p|hU!(&8lYD_10e{afjU1d2!)_96oD^1%~RV${aE1-ksvYzKosym zRPYA!5d_g7I;c6In*XV}Uu=jAYQ7f_;)6OoObBYJmjseRGROfr;T;QA<484{yaZ~e zs&=VrhpKj`J76cM2{5gDz0NOW_Jf-Bo}tRGg8GqBzcDxAHr#=`kS7WkJ178!Kz$L0 zg1UoMe}iQ}UA~rw3ZO0nD?w$b3e}+&)P_5J_qnScc!p z6|{kN&>lKLXXpZ5p*!?|UeFu*Kwszw{XyLU4gz%nI0TmI8`yGq!4B~f{seUe_yIn_ z7x)JpV*J1#)CHifpt@k{CPz0ly2@sP%#amwKu*X7xgj4EfPzp63PTa_7ULrnNFdNibe;#BCp(Y>;WQD1?Y4C!^^;zO` zI755Jr)c}TBpVsDB~#C-fHH!3R*kLF&FQgy47(AJkcfI>%@Y>YZ;S zi~{w_cMwj(22f8dIUpy@rf_pWJ@U;1^}@FRybJkQ1dBnv@Tu3mWuTt+eu9;-3e?Nq zYFGnnK|SoPhYhe1Hi3HBQ-^w6VHPi{^_r(%@(#ga zI08rE7#xQaa1u_zX;ANZ=ioeC0Ck*q2`b{4cz?quw|U2)1i_J*Bmkm7 zRCh|ppt#;xWGBNw&W~eB)gxU9B!Gl497aHOr~&G9t{?aDH<{~II0hSFBW!}rum!fl zHVA|5umg6&F4zrwV6U#RzmVAn`{4i_ghOx`j=)q3HXU4;4+~&1sMYIoP;1qdpvI^_ z!)j22Q#CMEgHp90-3XgNZA8^3bStRMXP8>KZ6~t>)Q)o`GzK-BZV8h)z^A}em=298 zP*Z3I&7lRT1G;l?0WQKNxC~d|DyZW*bu_1r<3VaUmmr)RXE-FbwqgU2nkXjTgPm5`+8iSfnLDFOcblF}>rZce*MXT>+M!=EVvvss zW!XICpePiB;t&cmhCdjOT_tkQeg75_~q&Y^3VnD<|ZFT!Jk)i^K^O^RU@WLZ8g)RUK4XSJ zUG;KOA8JB5r~nlqFXV&#Pyh--At($*pePiB;t&cYpd^%n((s%W+Rs{E;pCtmlGR0* zdON-Y>bO{4aqR=Ida_b4)arFw9Zso(srt|W8bcFk3e7+r$H!;w5N>QG7@Nc|4; zKpjU#h5(pJ0o1q40~pS@`j5&4nIQ`#f;a(e|39dHeaqFiT0J<>g93eX)z@o%b=JcH zJz!o6dU&9RO50&QtOh-5SqRghJ~V)a&KyH&ae<#b1O59;RKMzx25I;mL(>Lq6(O)9<2B|xsR4{`TOA(7BDJfT@WH6KqzTOGXN^;}WU5%t_K5$Lg?9s}yJUrK%P)T22)ic1Z8 z)aHA%Mw*@yW`KQb^rQk`JCMhI?`>fO{ zYC=y;E^+8zhI621{9d)&S2O)Rpcc@FIYQK{%?T*TM1`O*6oH~p3|>&h1xTL|lY}%G ze8zo&N3czYFk3_2z3kRFOak>CkebcXlzcO29*6B;i%cCT2qBcdJXC-Q)PM_%U<2%c zosfbx{mL5t1AgTFArj~7kN`?hJ0+nMcqrg3W}rswM_5~RdK(p&0``O6pt#PO-T?I>PykM{L!Sb5 zaHI~6f|#b7&ZJc!79)RCooc$Trux5wn%GYuoeXOAuKz_r4cJ>jQWlVdG$-T&2cEHz z7w{6sKx7IR1@z=ZPssFWN00E9!DN^K@p|#m8}wsC59kD4-5tGy%DR#J1eJ5E^$7~` zsw>=F>`6zdx8raK^lWC9>YroI4_31MHo+En$PST+V=OV~e;5f;JVXIK&(ZT6Jqy&M zx-y_AoO<%|l=(dewdK{1QTm}NrEY0cvGCNeiqffnhQpwyvk$1c(kv_`qyaT9JbcET>$4SQfO`~v%6KOBIAa0m{=5jYCR;5eLslW+>uz9)#ns`<_WIL#(G z182c|j*s(j0WQKNxC~d|DqMr>a070_Ew~ML;4a*Q3~b9_(5rTOIZ+Ku-hdjDyoLAh z0basMP*W{6!=hn{*SSVUO{mmlN=>BHU_@`X*MYpyp7HM?A^5Y)A7zLAp6#o*mPWCo zM&a=AKt23yQoVMg|5&6Aw1c(mCqblob3PV);PCkff5WSQbd;3LpWtEUdd@nA9q|Vk z3w@zK3~+O_4~iRG4PMm1Wi70OZtjl$L8;t({e!Z5lM~jSWku$I34kczfv6A&Ir$MR z7vu)LGM*RmfgWz^7uJe~i-^y14Dz1tp1>lI-^o58}f+sv)6!c|g!l-ux7; z0FMuTIqi{XDM*XPqd4`UY3O-#uX% ziyQz$pfB_T{o2is+u@zfsI89L@Tg6f+I)9{rkoc#ld36pSE#~_qrhi;49**gK^@4Q z2lWNF9rnOJILksW!Y#74LxB1yk;MH582pY z*&z=Ug%Xeg)Mes87zD#W9SqKdxiBA|bJont4x#_J;5vD|ADEhP^{o6Se1sq`LjS>l z{-c0d1iFxjEuI9HQ>e&{2Z8!^S3mB3S?f`x>Z^S)TxYXQ#7%*Punfk*cu=3<$ykwY zq~#zpM5hq3U;>+JGI(S25d!fbKHOuCPry#t1ECz6l_3%Ip!$b^no^I3u`mwmLnEjS zbs#@PhhT^Wu^|qWp-`n^Ci4wqlV%L01LTy5?;$yC?@)c$sZ#Z5ydQUnarM#J z2|7a;=;|hG8c@GI*x8z#X+?KY(8 zAtMBX`nALyGHR{9UZ%`j4Y7p}V)TPuNP!D}eU@4RU^>exr7OQHPzyjF8F0umD zz90eP-$8OvKcwpS%@5SqsNUYu+d6tXXF9xR-!HA1ld3z>r|i?uVJ`Wpu$$Aa}qzs8>ey!l+Ic7lS%goCxYPF)ce~D(J#^M^Fce4WI}Vg2I7( zWC1^aH*LS5@4OSKmPs%frodE~4l`gT%!WBI7v{lySO5!QF)W2;umXMp_134}`P3QT z8dwYKU_ESv&9DWw!Zy9T5JqMf?1f)oAMA%yFqdsP77{~JNCw|Qa!3iOArT}12O@*c z14kHL&iQLKY=q6Q1-61(^8I@=vpEVO)EF{9(4@i;rt z0rKkXOs%$_gZeIOhHn7X!QpTI5D7lj6Xem&4Pn%#ps8Q5f zP{S(ySRM%%8KQtcsK=*O98GILy*h1xGRz|%H)HwXR}SyrpbjUse>lfvCCv`;Iq^kh zp26Tz3%)+=?QK9WG_(i3!=QH-^o~L`r~$R14(Lsds!$dxK`3N~T#y^`Kz{hb(V%zK z-obm&J8U089W<#!Ce`fUtoSEgl(e&)M2f%QExZT$H>~Mj@EfR8q!;iM)E}*`jPgp) zuuV_GDX79)SB1CKh-&sVsrov~kNX}{Lt0QDMj5<(Xoq@2&?$n?fF`=n_%xUSGeO-6 z{r7l1t`+s+zrDu4O>>^L{NMiW{T2{$0u?~~z;2_aKlPZQdiN;?1K74{NmD{1NDN6K z8K`$2b;gq!)Y(o}PzO8eP$w^_6P-Sgkl08NIgZoP*E!BYb_{ihqYiN5KwJoccn}|s zvzF@1<|Leg)1ZEAZoxBn0WU$lwWxQN*Psqr{(`r$+#zj(5_>bygpb>swf(2*MoJXr$^R<1;*kXKwYr{K~bM>=IDd7C(V{vsefBLA_Y0 z*NV|F9@JZfdZ$ot6f;44%ODQ0!H^!*jw>O=fankfbSC*7o`8<6V@z`#K5`LwrLWz8 zlDP_ZK>apshvEc3;9$%{ngKFGD)=_>Y+}^a!d#dNQ$V})DL4w981D=nAP?k*?2r-E zD?-5lE`v~5za$qSQxuAUN?4lG>BOx6iSQYymx4y11NLW7Zv<~i-+($7P-g<_JfJ@4 zf4|Zz*0~@LXqr@{YWE)(G~YS6xuB-|Gg|ZE!dPezWmxzTh(SIk#0E91SHbi?mflQS z#NQ*X?LO96SB^O_8%lHVs)bZ+@-cv0p9Mb#Rq?9t_bp7j6}EvIo5umwnC3U1W3D}W zN(azOr=3A>%*LSRJ9B<*0nMNa6a~Fet#;!tVG;BD!aVen+G)nc7x)Tl_WeQKw(Fd! zw%vb1IZlCUzWo8pFtKVzwUq~7n(>UJu^|q`g%D7TZV>f%O`}48D}2QCzw;U|!}5I- zg|fhOkQz?22FXc}Fth(&^IEKZZKwlvp&rzLLQojga=IuKgOc#=68PWg5^8WMEc5cA zR?q(uHlC97dq@Rp9jn%`->N?|i4G2DmS za0k30KFa-KQ59kG*p$l{awH;PlVKoh| z1ZocattM>c_-~t$T02$uw?C>)Z$;R}>1j9o3~Iis=DKR0y8>3h9GDAgirbucHCAat zIsrEoB7VDR$ao_d1Zruk{iI>6uHmuo-)^$m&Ous; zic@P_wXRib+Jl-Fj>8E!38&zU+k7lv|96m8W7kBDCTwO;Ta0vRDK z#Db{sHwWS;cn)eOtM<|n59pYTf93S{2o8orTS+o%1DlUO>cGkRUlXa1Gx@Vr(h2Cw zco)b7nL$laD+F-GgK|(BibE)r02NsE)tG}?2WT)G=v@>F41s!l)dHdBr$b>li~uz$ z9R=fIAXJ3Bpc$kiEzL~TN>nqR#f%n!T8JvIri&d(6>|)ZLu$syQJBT#zpcn3@^hoJ zMn}k~iQ!*v=cz%tygC7BMRh-0Fv4!C_8e-z@ep2d%F?{P5~ntq>g`tTFxB0zPPJ-& z`HA_cd@6Gp!jxC4dH+w);>G)~LaP8}*rU{9aRsP}qgph6J2d_$pMaR8@ZYKCcN%{N z)bi~dsQKIlP>Z=sa9OQa{{Msi^CD1%3IAWF`G1MYs?%V0(3&?RZ4P=rzdU4(@VEcl z`S+WvORUbv-^Rb4qyKwcG2iCdlzD4;rM19sQq}m4Z~Kzk?(O3MS9`q;pl=9jlh+8; z4o}VQn!5YPar4xU>^wqr5D$jh8(h}eG-{Fko;N$at-}~|7ntR2)I`-OYuf0!8 z(93YHSyC^!-5}bVuopgu6YxF!0P8{F_kkn8LZ9q`j-;)kdQl&B<1!jUM5V! z_}sDL_8`~p%Eayo);9isT=Eky0rWnTx~bk*>VR4ABWWz?b)$dt(?E1H@N7M;M~Ju# zk-53tM{T+0gr(H$LsdYp3~6O0y~LSKs_*~nT18L%<`SXR@u>DjnBN3RkpkjyA4H!T z0B?X^3F-!|pgAPm1JYYSUbsu&(+{hND4O;a`jGWD5ZyxayxZse+36qIAYn<@5lC&U ze&8yqv_jSD;#RL)Tdw`TO2YZADd)ciaP|JT2`1K8LF}346}wb!DfJ4_I;!0Ev`eb$ zAL*cXR0cwCXaUV&RVuT7R#3fMRSBE078RyH{tC02D&J)0&JKz&k7fm>HZ^7kRS4|w zGZSYA&Gs%kOat++dtR^cb_mMjpG@x>Lxbt=NJqBHfDRVuP(o8;)d7W^phM((KvfxD zg;zjdR?rt0mZ1M8=-8KzVx$M{(dto8I?#gzFFYi^%g_XdGUi`S7SP!`;#>oZ9uVks zvral^fp3XepJez7dO=Un6S?llb;usbZtyyEg(^@PD#8Z**MmOmw;Emy*ii0$O7GXV z|Ky=h_9-$&B(s$CX+PI2_XT{>`>4$^?mTun1;4)l--(V-`vwzz_ z-wxDs$}OPJ18#-w@GIzpX&2!f=;LPk(%M;lNL+h^N8l@9+*)72JBV3d*4qvGjGw+2 zxWcjPGkp3ypFZ2S7xuyDpk8|z`8{aQQ6Ik3H{)dg0ZxFvQ>X9J>BDy4!q@tcfGl#9 zr<8?jK8^Vd=$mqK*HdV@>DzHCi9XkN9)5@Ga1CaoqX$E`;4a*TJK#P?sK+HPum<)9IQBp^5fjSs{TDF52zpdj z2ns_K#6k=dgA$-jmj#tPfDDyErd9iw#_$r9f)sdY@8A`987hIE$GryCp&C?$8qfu5 zLsMu1wLl}I4pQz4QxEDUus6h99~wX-Xzb^YlohZuvInvavJ$ctQjs)=X3zq+7Rc)I zlNnlKZw(6H3E4sZ&<@%{dq;Les)?ni8tI8tI(`MJgeBoP{|rSx)61s}FJz37Q6%FVFFBqnJ@z;!DN^Y?|}|YO;wJP!4#MVZp3m+4hH7He3%C+ zz03sYLdJb;blY zWu^^igeVdv;zpJ*5k;=jDFZt|euqIFPkwH{7>rrz9aQ^ESvi!FawZSC6~%lMsUg!E z^Ipu~fO`5d54a2pe+l_JXozd*{)&05+W!|&#OL4) zoQ4zd9UK=ZpF*AlMXVwDBT|w4fIRECySf*#{|w52^gE$<0r?Z8hTlN$H^JWv&$i_5 zIu_+z8Mz8q;2PWjx!r=aluo+|cQI!{cRXS5V7?6x;Ss2o9>9IL2O7e65r1Nq&J%bH zDT&9c7nze|2!dqr6psL;JKuXS2SOT90O_WH)R4-tM-ik5=-Q!StS#U4pl#m_j=3yS zFOF$NRT^G`QczNl!Af8#4mvxOiQE=N#(?^Q+ASKh&KKne_1b*M7r~uiUcj6e@<2iK z)xN4RHIJ$}H}21Yno~_vA9ocnCvF2s-}(qmD3+|C8B5irr<2(r4BXlX$D9Lyl{5l# zBxv}(43$8`FBfjlL&E-10DBY^f`Sl8CUsb9Ci?yv{E5Y)j-(vA)uSpZ2dqe~(^M6Z zDvhd8rL71mnOiEk3nl(4REKI%6-vT0YT0j%SGSt0p!jdqTp9nQs#%HtYc(gT<=41SyCyE#>E)&2vJwV)=b4?KYWn43c#s15muP?J_Pk!W=jh-`{`eW(ldppj#4fNTg& zKu@dX-psK#^kZmB1e&$_$q{p3WP8xd2zpV$^>2w;FDtZyw$KLpfa~7_b9Yc29g!Up z_$h2>=mf7rSLg!y^vAu3bi=Is0XM?l*n5F8*V7zc&t9%7W+13yR6%cm<|F+Zf_X3u z0{J!Orlt{SHQx}~0BS)^r~w*G)sR)83cL!hKm_hb2(PK6AneAx3upwt^+Q{mv2213 zz)e)ZdgLdt4%WbGNJqe7$aydqX2DD_P!zvS6krDC=@17aKylTD;h5DhBVjbWjqWI< z-bk^2cJe(eQ(+3c3*+G(xJ2M_$TwjujB(6wBj17vFd3vb38}$1QIZ6tI}P54O8Ae) zZ8m0QMzex$QOf9YF$V`(O2I13AHzqm5*EP<_z>p92OzfvunYnaTmf~8Ysl-M#MOIm zW7h4TYTz#110|?hxDRSRw}#{7aSq?Qhfw=D!>_bZT2#i+{kqJv7S z_Ea0{s~?gIpzmNPKox30->}fDM*291B9^{%gdXN9QweK8;Zz_U08dl{eydZc2K2!V zeUG97sFP&{bsoKMq6=I$D2G{}ov1`Y1(Eq78-#%pR|gBlEPd%sCsB80uJ2_e!#)Lc zHc3m;VY*!8#qvDp`xiQ}lm~Ky+@6D6;9jwFI_7-H7eGt?7m-@g?IzIznAJIBkdu(= zoJBCJbE+1iK($a9teQ~!C+wkx93|C+loNKqXzXr>D}%W-XgIxuECIzKVIpo-YlNx8 z6~kXOr8HDiu}FVW{;1<6tg4c@sj5mLRZYr>BGC;`S`wKOh64xA{KBL4m z>|EW-*k6O{PzP#5U48eY9)|i*k;u;=kAU_W4kL9YdM$hm&l8ze-XCGs@*)f7Wtf-3 z5|{(CVHOMqy=F8Cv=yw2nO65&={LnLX)v2|m6#K(K=mC14wWX6e zCEVSyzmAk$i7Vj&NQLVQeL&%qN$IEny&SXb%Cw~X71l3{NJ}Zx!5fZUktcR@?QSF! z(Rmjpz<78E-iEhe9E^oGVGN9hQ7{tXKm{M6_P;_drek>zroj}L47%A-+f4-}WMBr! zP5P2@SNIQ+i{X8k3-e(fEP#cu2tEL^2peEMda1T$2YCv45>%=mkd^2|-y^?+Z{Zjmg>T?%(8cQn@;Lkmr@?=TKR-hnBD{e7 z32vcy6Lj}=7W+9k55K}i_yvB0-$4sz&4Mpr*3f(ax}DU`R93i;{T^HcT^Ft*ufTiw zRaN^J#jqZa8#rEvyKo0?!yj-9ZaU1R7LkjP^@=wr>b!ujv0?1Uz zKq!Lw34U5VJw@h3>Ki5jIx8j1beVBT2C}=#$t@+Wen=mYlz}vu6^SAXk~@^etQYk) z(deHZ50t@e1^RD*wj7jcz5K75nT^{lsO2Z3b~r>J!|_bGccnGkSd=t9hv7E@sf{n) zA`S+9Qa~GQRY)ipGcQ;NWQ0f(%7EO7jyB=6#>^}~Cmm%=s#Mc*FVL%@I$2!|ih}F63%|tn68H<9 zk4xxh7mD^zDiR$CQLX5f@D&o+-<{639&lNh*NO-^pLY zwjw0HyHBt2KS;`Ws%qUtgRytQeIVo~6UtC;N3R$1b?5@>SVci$bwz87n;SC?KH)gN?o-4JsFsIT@{&P5{}TyrS)=GZl}wLo^EmRcfpDOMz9oRUgM z6Ico|-x0Gr5q*wbHKzE~r@BE`_zC+t&_kA<*n4RFcef07M13$PoCy=og8lL93;kdK zyaDPPgP{ZojzA8BAutr|1tt=+GBgtDhd3Aoqv2IKC=#~^FUIV4utk{Fc4LtXVFApC zIWQF_!8mvq-jSVJ(RSclnBRtkOSoV6R}hx;1uL!$E?fgEX>p3J(vO0 z!N5$=<#aZ39?XUJp&D@r%?%m>AK>;OBpwZ#Gc+1j0;9oi-DqmVORq~-g0k=;ya4-% z;B(jupTNiP5v&AlHmpD{g$l47u9NUGr22?5vIp~4SPiRS6Kn)Gu61hvwK%MS4X_?Q zgHIj%7UX8w20LLp?0{Xc8z2K^*ppC@pew3&ZDCet6zPC`D-`^M`54l z<|7ym!vXjLa^j|v{fN{!-w!I`S0Ekf9)d67An@P%bl6!8$KhM}4%ExfAb)`G;RI+6 za2lzRati4`$)6uV4?Fb+uMX(yZC>TrhxEcF{K{h2o4&Wuy#c?#Mfe$%(A(%-!2A=q zWBxj3>FLUM75OXt2D$~ig1l^f5d_2Ua1GpC$*xT4&i5uV4GE`$l#l`fL6PR8GpRIs z86^OoVtxXTKneZ{58yuBg*$K?6u)Ze54Hb23=cty^NHs%Qh^n5G9pb5y0=p)bpTLO zw`@AjtWxXMy_}eHfZp{DhRl!&bkte?s#zTk(R;vhmz$1>MELm=4p~8gMh8IvrDy#z!duK z$E`UKUqBJuYh%_$CXn`Pin%`21!YEW{B}n%23Zthp%`ciSBBJS%U~}Jr9k%@j1qsq zOIS37UPfyCYq*p{CLHq`F1k0+NYTj9sL;6A{hjpXrluH;*vijc?Y_}S?$z6e@qgl<>mz(Tzcl{-2!MmV|NX^_DRNJ+Y z!$CJM{pB$by2E@FUq|Xjq#IIa=e^JwIzc_CL@9N?z5}Qu#zGs+io8D5g*xEss+wD2 zZwif}0Vo5FK7? z-qF=ks|)5zWL_Cn!u^r`^eS&(485Tz^nhN_2L^!r-T)LWcLf>>avugmU@)lm27&w) z-qn-8{A5p@j;%xc%R`DIKy4yaBDGr_@@*IgBON#06}^dh42*_RFcw@lN!KjDw_rR> z05{A#j+;^YPlxwl8cc$T&;TZbI@J_MPIaW*W?-I~$bSL$L5u{g|K?%V3mMXVA2}E1 z!x7M$FcW-**}sfGOW;FT1Qqa5poN$h!v`S$rLY`UIPx&^5HumdX7DBEF39~zcLlW@ z^Da<=JCRzD_CjX|=Iua6tLlAj>%H#Acx=L48YPYI^_aCFt%JD(C}XXW%G_u8X(IX* zsUf9*=8MBYxeIN;Wg~0`ca5_RbHcTdQnA)T=KTJk0{%T%_kz2}_c`W$j@uW=18@-B zeF4?L*Kib$!8hhpsAYuq+on6g}tcrXMs(@Y()g`?E=pEyiKri%U)GvQlB0_yg zN5|atCQuNl2~r`o=l3&_CCB^-c@HkZ1^5Y+0lNX7K2_wuVb{d;D^lU)uhEp9!u*1~ z2$~;cx6mEX?>MS-caeACHe7bx!f?Ni`5I`G;R^C9XssZ(8z8q+*yZ*I<{yx^kT*eF zvoik)I`MTM`4BY8JwW>9kOq=bLJw#W@ff>Gp~XUg+^|0ZEgS-|r-T%sSuhPUHE0XZ zi_~krh0$w=Upma%oKUk^y2u#Z3PMWEDb)T2u;hmqL5q$6Jd_Eod~)Na6^&lFdJgnD zuU0b3SWe7(wKoz}-6~NQ%zDW{YdgK1rBzNQ_b+ zyX(3r%v!xFP$A66kt&r|vr1HY?z&MgKP$0lWKjs9MznY>g;@(&U9d`G)@vDhm8}$R z{t_5;OiX=1Z&Fu)a-cU|%Ydq`JW@vi)pK9Q{3^Txl|k())W#9u+BK9l+i5s2MlUoC z)ef0p9QK8fQLm7Barh-Q9S5oJ%j$D-)9_r3Tm)(1eHaf~8|dZbv7oPO=&Kw0`o=x< z^)(KCOZG12F34-h&d5%nFSK@m`?wWFYV)EUvPEjz|0<4pBd{@S!`uj|k89O{mDsBz z^_Gi1S*W!_1!Q^9=L-8!BPEcUy!08mSO^78Xdy_wCF9Nyk{uJ+J7BKu=TCcR2W_DZ zw1!sD67>3Eb7%&79kB^ChDOj3^txhws0VdHZ^dUJ;q;IWRC{i%X$I8m-@5hEsp|*m z`c-vHsSZ_}s!Ua*8c|Jr2A_h?dTY*BZF~SKl}fAF1g;SCr7{h=T9 zg+8EH3wlA%RJ4B&4Bg>%=muRu-xlf&>L|*!9!x0LW3j&pYL1bhOyr}7kHD?zXKDVQj^RC+0P1+-;cZZ&nwEzlwe|8AZtp;A-1HDakxa!t z1t!5nco!6p!YiyEKFBO4J5u3Xowt=+ck%g#6RGRz22cVEU_Q(PWncz!kfT2r^DIbM z5QTLMGE@G9aSLLwzYlZ3ug=jLW@Aw<6K2NExhogpuS{m7HuRiGb}g}2AeF#USZVAo%2E69G?d*CftY<<~U)7 zT>sw^l|CsQS2v-b_Lo}F|Nix1(jP>A3vR%5xCy!(tCwqg<__{UOeeDUK$qhC*xla# zId0ld3}Cu_i2I-L7#_hBc&hf-hN3=H?|0_{D8L*@UAL#m=3i+(1 zw=S_Upv&!WF0;|d7oh+=2TAQC?I-s?C zB<>L)sjAZ%IaOo?fa$1TlD^kkNQO{fpLOxHnbo~Vti2l}RvF4+x{4HCKO3v7y4BjKv% ze?`^|^b9ZN6-)1TkWrn0o~d5!mQ<2Po!2a?k%|<8o3`+cHO$8(*yc~CZs;dyvWy) z?)T{iVOG;v*M7`b$%xV$0mES^_*F_(g>pCyR8ry2*K(6tdaj>JFcMViw?Gl!Ad~Js z&uIKc!8_Ez804Esxk>(I#!i3oTb~IZhee%ARo57lnYW=kk*d>aPp1vMg_~|H=OCxS zWS9aI9P=dPyD$;lPL{AE%FpeHT0u=v`zsRd&rU_ohUxGgG{;Scn+@g}FcW5hrt1d; zUWi%q`dk?2)S%{z`Pk=yq&r_Mz^wTqVdvB;x`XC_l~y+$T9auVr_#+q>XVcDDHz=$ z1%ZAdM!yxK-;7BK`VE=nkPHIB1Nxnrr-Xk1+u=UkgS&7CZo?mN3vPn{27j)@HMj~_ z;4)l-U*IDA4Cmn-oP{-T22R0A_z`}9@8JX-hwtE9_y)d)ui!8of-hh{?9=bg?8UGL zcEc{%2|HjlyiF~9jQj|e!BSWPs&1_rmOEy**3{Ei;-(?H!ts-i!YPbuSoT$peU9$` zR81<85}QRpDXzt?W>6>DhWrH9Irgo{EwC9j!e{U)Y=HH!3FNQ%62_Cz?8ZIEkD?O! z%OQdNbH}WRlJY;`_qza;@(cO_7pQKx`(`tX$<5{Jg>?Cr5fQn2daU)deegfTQDRH+{Zk(=MfS=62 zf|~btq~iHa?XQ4}PzgON0ym=n&t>BFe?rb4f)dhDRBj(5-BP=4sFJH1AHkoHu=FZ~ z8;9E@($(;G?HcYf`x8z&*KyPsb(J(XxaOM)%$hu0cTFa)S(A%v)?_2In-NVw3GI%a z-)a-hQf@%yG%d4OLVLoT%iV3ygmXg%!l<@X`gFvh?bf@P^}|`ZA-&Ad4#upFDE)wz zX5CP=e^xBomC`S1=?lNvK)hdiWP3QB^0)I)Z^N+5%t`u-NAj=|OLGrUEeoL`2 zmPXJJ8bCd$3w59}R0aJ8ik46M9hBORy%w?)ZZ#dh8p!G(9lds>hgG@ouZCTEipLGB zxT@(laootIR3DU(B2hryh$<2Vb|Y0lB_us1tO%8ne@6cIxZQMm)A3yMYCl!0YEiXG zs%lh~s=~Cm>2R^^EwOh-ro?RzZinGZ%sLe*zmd=hbnHG3sl&&LL)HHV^n!NK8Y&X5 z4YDox6-Y-gJ0PDR+mJ|m%;dxRSw98n3EiM86eF;Evbi(%F5qVLb<7Ia9hnS0nU&!l z*av`4&-X?u(>if)y#b+Issw#NCDOrh9T<0&+&f+!I*^_cSLvG)S%2($J*XeDFUU=6 zfR>KG%p-6g2nt()_}yBtPt?=?Dt#pshoLY8+?=bL2Vox!L*c(Ss`e?V7ZB3Bs@QwAgz?TVFllfU6nAKOjOTZ93izDw6*&X-;Y7x0^q1I!* z1sW~d0bPvyP3)bJ8<98QI(!RVaMOfy6h4Cx>?@J0p(|lmr6G~!Sf+r9z8I7>=IIjR zb?-M_*%V!!zFdadQdj~X!UwR}Ot~CXz%$cqy3A)-KgOj$+Pb2xz^rQc2&q)%E_*kJ ze#oBC7Zh$F(hbupf!inet%Eh7@M|5J#H!bCT{fklC9jlqeV6@H(4|vtt1403sVWoi z+x+)Or}n5xxOEex+bMORouIebl6rKiHrfDg-AZo4u3o9F8253T!pd(eep_HOs583k zaNM^ex4C|rPNlFLhh31G5`Tf*51+$cNA5#@2?yXHXd_7{ANnH)LU+)P$PxV1W4mGh z3bPm484_+Jg^*qc+?090b}O1P+9+3l+M6uI0Yx+NB9B02UV>y zp+2BK(ihXoK>r4JxQ0n7D`jC~rVyBx_ zebG)|0M!Sn^T6i~6kc}F>hyYQbLl1@ zvC4`)1Rj!j7NkCIt(EO6?3poVgbbi1bb4euNDKP;0WSoBmhP#MS~aIaYQ?O1CM9MM z1i(}5kKqyg3HRZiRzzwN)sicfkq3@lbBE>(`O8fOarNB!MScm*Pn@u73EjwQE^@;t zW3E}5ZJ~EU6oHfi$)!pn1$P3|WR)EE6p##*2~DMnTzX1ae$tU$nRO>Tw@{jgWY+8} zorHyYqAQ{trJyQy&8}2axMoSsqHe^JZfRv!KT_Y(jZMNZ@>7$mfQjAxu7moCYwklt zU7#gBTy8Qek{(D`C#lF1yR9Wo_a0K=-LUH1j`^SM?ys9zjX z`|Db(Yp(8eGBFD>4_PywW<+f|Yq#SJ{x6e=yHL?0WjJn{z_du2LOfciBwU~z#!Z>g z!ep7kYr?}#YYeR=v}W+@>Zk>SN~IEL&d~I$&jo1OP595vs9r=Uk6t+_3#CE&70Ix6 zJmppfG`&m5b#r$_QD`; z!fQ|kD#NSr3e-Au z-zmchx9<~YS{YVhw8t!6ZH9~}#-HIZ6twBA_LQRj>5{yFHq$z=5t&(#S6{ed+qSb= ze=DebM08X%cc?gIN8l5NPp2QsuWMMS^Sd#8TwoSu3r9%Yr?m|k~j#Wg78BBq>!mp^W??8a^ss54d0F?=%Nv!h_}o~>7= zo=WX0MnPjJ=moQlpb^(lNQ=UH@5%KS)>J7^9Z~hANcB&169s$f(K(xPWeT+Vm1;2`K5E$BSBD%}-95v5@jfM;*h-sitLirXrggke zReY3@#*1&)|1oos7aX6GMArx}wMn7Qg=Y`!`QDxQKppT=+aJrbXh%rK#Wmu6hMQgY zf`VVN2EaVDl$~Fe94z|QoUX6LYkiClBPOo&^3fkw$T(z9Af+!ARgC_&(WJj0l+{zh z^cn08Hl^@_X#2Zec#nt}I&Vk7i6w%UApvOeGT{&e)PKu=6jYL{xiZa%*s zRN#3pV_7X+1*uWey4Np7)~z_xhGa@a#TG}izRCO`DAqIIRCy58*|W^7en6W%c7pB7 zRQgWq8dDFVPUlol7-f$6e6c3vVNkdy%0xdTFQrU%M8wOCelTecQdNp+Ph7giUoJa2I#5HM9$$oyJT6oepPMZbKbRel z5x2;@+@`l=KdjWSbd%FWuDHYWHZW zgpy=8y_AvkXblv@3uV!mSR+)X&e|njW8GK>pH;*?wVklbb z$Ynbp?J#Uyx7^ZFFNzK*X|e^9*vqDHb3`*!SGEP_bqQkd#XI&luMZ{L8%(s<7i`iu z_olEFf>T;ERx@)R<-mX}CeG^%C3~Jmbj}9Jyj=p5g_!Nh=#ULf#(f06{wG1(n48Hc zUN=)S6PYZR+#6mjjEkLWy+!ZJSE{Wlf86Pb6lE7a8t!*{&KMOOwB&hwm<&}&zj-$~ z(R^WcCHK~(Bc@M5o#?nPl=?g>Uc)>gL_JY7x86yDefUFS4)wd<3+Yz1%n zl2(GHG!N7^D^XxvpOtuQhNh$*@|i-2h{{}-LkRU}{Z?T=oO$OAq3GiZ)yA}yo}=Ev zto@k!`qk|E*qf!4E(!MuNkhc7c(HVaB?X3mWEI02%1O)|MY&Q?Kw};&&ZXx3NCq*9 z6gJVR$WvW2wC&&AonBSTe1dmG3$D45BsJ$o=9PO+%}Q%k0arHGC&rVSfIpiEL_~GQ zfu`70<-5PLIp_8c=&AdVPBT+GUXP9;n|VJq9dMM{wVgIQDsux@6$zxL>U^Wa;Sf>m=@O#L+8*kbolP=kDa z;I-fx#m|*>auXdLkb-rNX2H`PrhL+FMDoJ;6p1RX*)F}=LfoD(Q}JCgcrA^$D9yX8 zHJK_A!-8Qv@&(f z>OOJCcdENBV1?mGcKa!av(PhilF*h=h%Z=tL8WB0U=xJ5EWzeO%-&cN2F1Zw1 zxvXcVWFjW}iWqqdJ&phIUySgcIDF<$OD~2?#$T7l$L4wn`svNCjEKLN!@6FEd4`!| zS@5%pnl)L`06U4la_M+CGiOOSqAvq0f)sDW9juc-?}OP+&gh#|fQ@(CI47xD+w8eiK4#`AaIlna2c+ zxQ7B$Wn8OT=j#7n_r;1<^wCkpd6uvBL6|3X0D_dVvF_f7KZ>Nfen#*#3 z)4ZDKY;0ahQXu>MEer z?Kc)x89y{$)gBhbmY|RYg)9>X<$ChNVO>0wDT1b@#xxIIYP%{$+5Stui_cAnNgGNw zUO+*8Ct1UR@BA_&@~)#mlUr3D#+r9Z4r-o?uo4SVQ#Ln~2+P<+WHaw&@@9^Ajd(_G zsQ_n4|7|Gz>+rK?fWN6TEhHF|EOXR_{~A6?dHy{_#Ir}S9ha>hl7bp_SEF$eOcr)) z{8db=)FJNj)oun885yrgczfP(GZ*osw0)gkL;Px}r0*oV?Iu?IhgU(OFu@XVs|>XUN36TjMq)1x@0XF(^Chxu46~ z6MNc_`^|1lI5#}LFW3>eMRAMm3_d&F6lBMpY@K-_K0zy=Atf2}N!PztUC%D|Z>A;J zfQXzG?8`}H<&kgv_I+RuCwr8_>Z4A7{Og{=x^l$+vpqe|1e2&t30)I5zpHM~$!?7wY7OriwjrE!(&A=f`m$)pbfr zwDn9y6g=%rbLoAEo^EpvwC()aqk%`>Ku@=;=zV4;Nw2y&Ujfm{Jbi)X*r_~>vni%< zMV$JWjCm0wOaX~^Okor})6B>hy}>CNUOcBVYo)i$?Anj`#C$BhedZ~S=3HKH(TL$S z>>C8nine>YPAc{ZiL<2D0@I2u*7KZc{{kzKKg`+}SkyeNWzXA(`mg))O?X_jWtJFAgt`` zKEcWIkrzpRy~&mjza6GTK6*qO^E$SOKiRL*0(O3$xPk@V?AR`Yr(D^hQS4a+ST_j4 z=97Hh9IPiRUh!GW{O;zeLSHnw^4s@+W%7GNBl>6F*jv9W4r~3nS0U#*sQzI;GEX=^FbqL-Sp|tE7k?~ zQ72%xO0n-Zp28?wH>38gbSz2TQ9M?+v$Fi3d#g!bh@RKN6e>iVT}{nmG;o_jEZprJ znpK79HQUUw{tTLZ#)B}AaEdtE)GmF*@gYST4=!3Txk?|co0<=fXD-9X${Axxc8MtcVwBC@L`(LHbnGrTB%y^SeK%|)1t zMZE={&)wSY+h>qkC`}%6DP^m-?|S43V5)W| z?lp!?Xgm8-*{8<#njLRuy_T?3v-8r~DW_S)E(}+YZ6!#mZhL1_&cDaod}8%cgwg7h zdB20Xi2^qo-je8zLr<&N(Vxeq|FreVAWP5M;H_njeZVbf*@fP$rcG6EYI9?lFVl?b z-qaq;Czg3~7cp={bnG4a={WPXVTdu-ZjUI;Nm5fSaW z+U-?3$7`*IOs!VkiJM}Eo7K`wa#E>n7MAs9Nuio=X`)M`HqTT?L@apSuC;~hDjq&t z;6OH_b0*DCj9+?t%;hrZeS@B^s=XGaiQQ3qWoq=afkH0rsB=BTOtU!qT;E9^saEKz93#m-~GXzlc#m20|Rf-L-1AzL&C zEe}rXJ2p3_Ht~HC9z9H^J*6%Q*XN?e%<)HpU&Qz z%*MTYU1)34mZ#2>2&%zFo$oXiQSkUobLr*oYu}%wi$3=AroBa55s{-;%1kQHMRhC+ z>SAf19~b1id#k^-Q=mm5UFWQ#oXge!u zYcDXwlxo72;A6A!L$Y9th=%kH-9weE_T{yhIpKqtTVwHt=# z`ZSEN#q7MlNwQn$)`WphGL)<3LYw)`Hw4 z2YfQb6sbk*UBm6Q>Z^O&w?F*CAAN~~=cmg1F2ZIY_Kl}UWbL>4M?Ld!mQlxsm=Owl z-qC2kr&^u@pSIJZ97p3OK3NF+W2q@q)1EJJ-&(X&Yn+K0Y7P-L^2?!ijr^3R;D#RE z3;You_Pe1oYI|cMPY$!k(A*avwYi+V^CJ}OD_y|y;igt?Z;ilp!_E6>2JRYej@BkS zUk$gLa?-3SU2a9JVEdDC#GW?itMJi+d_l1(AAfqpH^Lf^u^KHGhnwtmyfIvD>(*gh z-WqPY*YSo1J{oSu*6|i%%AqpLn_P9h!MUtUo0spwt1*VvywY<*8jkb9L(fE z$95k=SsjPwvLCmY51Q~0=-^b7t|@DudZ>QQdH>p+MdH1TcEoB9=R&!^jnifsH z`GYQ@q5fEWnwhMC&Q5uP=TCvdrkOMHa-LpYF&Udt$IjdpQGA-6M8($St0Z4J=X!h+ z{Y`5W|96kF5^5((`0q`k2S85;c(dft*y)zRp4wBKsP5^%s8}3%aORN`X04vMRWb(= zffHt!Uz&U4BHrP~Q-kVwt;$O;PdZ-|eP;=6wX<_$ZS5W`Lsb*+_Ih3S1U~s@vJ*9P zf_-yZY#Iuxz&9GlWP5j5tuN!tpTzAg?WGp`#AIvfjSc*2mN_@Xo5gf)>CF~+dX{-K zk(uM>EVG~`y=&SWbFK|H?P{$HbIi4tw7>?Fsukfrc;A$1MaL^J*Dl78VdY9Ldf3>y z^pvuWJ`|m6dZSUiA{rUVTwIfFafMgxKcj-$8ujqWq$()+a<4Jf-d2@4J{{(o?X4Kp zdz{#x@A07Z*oxJ(NO3fr*qtnfnsTkZ;gQwm+0)UtW$%0(6ZnTV-BH)WqeSZeHqgQX z9c5Fg4fm7wsyjPVXyN&GGu-Nv{n4;>;mhM=w}(oOQXJiKbWVTJ(Dz}7d|J$^RhcU7 zx(wwhVXkx3TkNZ7s_=(iKf7{k@#zm8O=gt%CxF%?!K|iLTW{n)9|IOP$4+tEe83!N z>#Z4Cd!gM0OtG5hz9^Yi3G46;o8V5v1vX!3wkzenXzGFC%q97+-utD~<@kh)FEVlM zXt954T6;Zeu-JaMivl}T# zdg$bd53^+WE0RRXg(g1S;wGoeBv^3$kNI|TQ7!RlDC>xXb;FqWG*rCLg%9mruT-^$ z4(y%pS|!`Z#C`1z31UH0Ob;{5E-@pz(2C8M*yn1_zjd{?nQZ` zvVV!$*_U>Y z+!;q*VC~`^&*_QV1BH()bu>Wgw}ki*^YW(x25LE0VXl~^h03( zrRLB8irb-M$KHjy_6zvo`NMg}ymm#aL@Gq1_U=+sp*u5S%4OzMcOuBJ%uGZ^hA*?H zy`AZPU0&sr4mSy*RV%y1uBIa+GoYzvC^@6hd%5;xq8Yd{TdT-qD@=wS#MyL(sW2GX zd4*Y!*%xD9RKiU5QND1G-)uQV*Z#sx>EW#zc;#brP9cV`GU0D=Ur#-)@()Ug4T9-uFtE?4C4$K zJ24kr;LLG3>)2Z0p+cpug*IX5_CXo;ya z+#6bLB=($?zGwD7c6|4JZdN(Y8N7gn_~@|9l#^9G>yEV<7w@wPA5K!lEzfrPi|^LG z%5y%2vBrBzcf3D4bm@(}3_$3>Q)7qCd^@(M8@f1miOCpS-sY3qCZXbVcxLFWGn1NOw%3LQoMiW>We5icXDngZNAAIn#7Q` zwzGmw=E>grk4Z$2s;gZWZzjK6<4Mk}Iu!OV zIf~h0Z)r~1uxC%#=c3<=Z{wurbd@hrhSE9>C@*&o+}(-p?#x|9p51tfuP7O;-Tc4z zqon(q5=%OVR>g!Qou(CYDyP0o+tc36xw!6F{|axlS2d}Y)lOfq@S-2B4#XNP+N|~Z zvd$RcOCwrcVF8@KEVWTsKGygb&>oJdO2FVflQ>(hyuJsP|OeDGtxXjyXUK-)8 zk@cU?Rz8x3Sy;&z!o4jw{k)hGXivEF|9bxN2Rd&Pi@7$!d(`f^)^pD?+wJrQMRq-U z{;gIzrKG!8>f}{?G-M{D?Z`gYsavfA(a&~a`LDBI*XuGbyV(7kk#UPoq4$vT`Jv{uoa zb0s@{9iOHvpTCs$%{R8<<7}hGZ8v8K8#x(`%!IA|V9#e;lee24pM%BQO@_w4Earug zY`--zua0CUEVJDV8R_k0A2kaL{APz)^%;{asyioeD^OsRw?t%Yd?vQf_J8<{X*S z10_N^6J+4Q{bu`{ByxPe`DhDI6Mi8C`;&1ie8-A5r{BljJ!^VD_lgFGQ}E1R+Wq|g z!=YVvH+k>FK+mHC_K}rlrtMqo)|Ny;oufn3J-g?nUyvfu^E@uvo$7DWk3*puR&Aq2 z2i?4!zjAQ$Ku={{f^kW38*SfN|JyN6F3UIfSxa(?*UOwGY8Fe%Lga!>_LykqdH-bP zd-EBcZZB+l&_umOm6b$84SS_SvxcY3?0f}{Quf-0`{n$$_u$d!le@|=Hic-4zV z)6TT&+uCm4dB{8=`oNQi%+boe5N^d@K5SP`o2u=-&%NDH6{*%F%eHPv@}dE`j+jnw zdt-_xKANw`u{x?8RbEWpvZ@lc}fUpman8t3GwF@i`QWg?u%jmbd)}&= zIP51ufd!75D=0=jX2qO=sA9T*^2e7)x^yNg=V@2DqbBEgwr*-1H9f~OES%MFV8f$k z>v)praMbjkiX3#*+`!+tRZUTXkNMbh3M0JYY;Tbiv84juI%+0NKzHd;GkLZi>QG8+ zyoUxdpyOuX&;QD$}xM@uz3CG zlM$i6R;2_*S>iIdp1m>iS0dIiWo2ye8It_ocZ@G(=U052t3i$Q1ah|Y+_p^AfOaHdPFyDEG;j7g z|Lpy(PuY`D;^Gl~jC}*Sn7*A=3D^Ac!}2@tWw3m#9r?{i%*1JoizIu$eXxMATo2-I z_W5+{$qIMvn*eLpOmaNba2|`ggCUSR!a4`3+W*$|gU#gW-sFk2*&l7aL z=5%LoxbB9!4KbVNF<tG9Ie2p4av}F%_LKW8I)^pNOp#0S3+AJRMEeQPUUa>i zxH;{wvllPOXhmzy@R=`|b7;1@|ODh!2)Y-;k{^TET;HLq#oG#qWNkuX&k?3PXlYNoq2m) zs^+hf3x;?sPhZYnG?5?BU;cIjywA-2fMXJZ>jnI^oL_8>=I>iDSv&$?q)Z$6c~J@bT4o^G|v& z{CBmXX~km><4@yFRqdY-9H}nrpnoYEU-tpW)0OI(DNA)-Ppp@6q620VrEXxCeRH(l z{r7WR!iP;4Gx>lwq_}eeAz%qQ3cW7(%&Iqi-JYUDGw2!EYR9MW*j}khlnpG$M63C-@AAv*vie62L_tGqD{}k-pI)B@y$rM_4!Iy z&HS*8cI~wZ$FyOuNwauj&84=!$e7-3+xP0#G9$Pje?BtQup$qYK?m3cQw!^i!zWnlg8B!0!$9V!6 zjF0MJ%KXli8f+ODZHF;Ue(_~DecN**u{tDeirUYkrFM8P&#SE;g(bJLZr5>Pd{_p? z&Bzc}F}CF@dk~P@=zxk&m|W$@5AK(CZy#dT+(HkxR~nuFd4#|k0?eY%etKQg$!_@Z z8AI;OEV-IUwYDSDcD)95>`B9AyKw&ZphJBp;$uBe4=@#Zq)}hJg_su+-b;2vmb`R7 zYvENayshw5ZI`zF3Jq@Cw`bGgDcY59)>%sgr}92_!d&g0H}IX&7j>9M7xN1(Gt#wGvTr80Y`AlLzrFZd zx#X2`C;t_{IT;Yzrsv1_I9bgoxn?1-?V)uz8rpG zf|hL7O#|DXPM|iK#^qTxb;uZeR9w28_3~ecpKkRhI%x@AqhQ`o7U#{S)0@(X=Dn0_ zc2j>I-uuLza$&kha=KLrKC0rj$IpMAa@hI0@jlNvKC$;MwOH+0mMY#Sso4DLi+rTy zx;+iny-?TxN}7!i38Ypgb7k?d+OnrFCU&77Wiww{(@FCicILJ`TA8tY(GPSh;@np~ zz(`R%Fbb@aNm|T09C2PFl4fiJzx6>al z(M?oY*OCW(wEtS;Rm82sxs>7A1z&W_Zqp*k-t9l7ds{;oO(vw;p;!Mxz5Dj+y`^~T z%UQ;BR=-!n>8)7n3K~}D*+-~0AGP~K+B`eTymG9tYDSI2OrGSJvC?yHh&o&x?p$hr ztkva0rhKCbtE&K|c=qGl6}RnM^m4<~hFs{ofvtF}zPUCh9h(^v<;`AX&>g$Rx0KrP zO4~kL@;kYtfTQryrEgq{sV|-^eexte^mNmvp*O4F87AW$mFP0Fo&+9#PkU8P|Lc{} z?iT;tok-$H8NHcc0q+r;CYcmJ{`qQ;HHX&_n;Mm@^k?fqS!wvqmE1#mWoT-$kMjoo z-`!oXw<`kw>uyBEvo|!X0|>$PR{@@_WuGmN=yK1lgE3D(oA+mE7PfKShPO^MhnQTv zLzzj7++>cGQHHo2u(-?6g9|2X-R=#lnpohz)A*%S_L+hQTKU(#oPt!BOk(h8MQ-f(N~5H$Iw>t_^)sf7&-~f{4zU zpufV0ZW(uM?C=38%I)usk25u#b+YiosM}kog`}U4k9A93B!I!+zEJmGor|xSm~~41 zM)^(8eZHV%H_6gXCZlRkoG4#yQ)kad;l(uOoQXaCpZ1R5nvM-;A1!fo3qH=!=-0J# zzy7`YcAS&E{F|vhTb*8s@fnP6o4h5>jZNP0WE6Nq+RfewkN^3{_QbT!GwSfr%H^9{ zs@8=v7N1bc^7gw+($84^RI|7)HPm=@e02G5vN0k{_aBRE&E!lSP4Usxc&qjMb#8C_ z@`~fbgp~B+u}CD%v(|~O$m~g951UmjFM-&M!NYjA`m#7p5nX zjG^o%Z`NdYFl0Q0i`x#tnYm|E)1HcWqwJ%Ry|wZxVY+Pc=FCuwrLL|h9UrfJDO)N3 z9TWATHy3N+HH*DjJ;lv}U%7>~PFnBX;VWu>-owlOy|#FZ>QCup6#_h_#BN{pz;OYl zPJdsPtPGZap6)svVAkyRy~GXFwqd@S5m)(vW96mIOMj-EGq=BP!nOS1pRJIsZ=lD@ z($*TSh6Su^#6w(bqSoYYclBteD$LW3-c;FGPg`~R%kw49EZ%x#G3shiB28Q~9U~{8 zt6|ZyRW)y+{lnj}qP7Oi`9QOM6Zf3X6~=6B$MXC7W^XA|d8;=(^u^>JYwoQPFk##9 z0k?m)5}}!Aqq4*sxxX{#~bym;L%!rohD*+y63Z9?*C=8 zgWI+GVmWGhmGovSo^-#{x*`w1$)xFGcKZg8pRBsbz;ZgVZfA~u;S2pg8XHNcr&;LP zMXO!Uei~Q$okgc&ay{7PRB1};V}44H*}>#yHg5EWmw1LEdP%(c?{soEhKMBY7@dja ze|$6F+Uy979ALE;wP0%O_C;n$JhhrS zpZl_zcX#?y1t*nD(`29TrDP@3c+A?J)*xo7nWP=Q$nw=YcGsu*Ex2p*;g}kvD3aDJ}G=2 zbM|vz{?t5!&~}BrT&y-OUu7E6CbA0{f><`A& zaeYkoc65w4FZeQa0tznM|J)TzxD_++K|CoT0C9TPLuK6$|W!2M&}0iBuf0~Q~6ZXYjUmcTJH-sj&ZqUdwCENKTP43OC z29C7z6*vC2z7&702Am6hWD?hL-Ir73`x(s9Hoh3GA4|rvzO31jhuYKAr}d_;`mI;ru2zLv zBQZm$$4pu3%~~QmDk^8yE)!BsKio=B!<;oy6h6!haf{;m{QPP7Qq?vau-b7iPvB!K zyjio=MI|#Tpozt~PYCs26GB5K+M_=Hmi~38o`vnYzrIDa9-t!{nIV>|f@s?DmC9VRm2m^g;F?C&$g(sN+n0IE`tq zW|+rBa}SzK+00eZmo?CN;$F095(jUrG|Atyj^Uc#CAmo~|B5e#Zfq-i^M%`!ckytK z*>#4yg-RIGpT$rc!_yxzw8YT%9ER=~rld@pg~#1PG1ffEO6FIy@U$)?_;{^m)yfIhTs}N`$@G*%z7l$=u)5hoWy4yktP5 z2#;B~(wjL|QT7Ji{$Prn@+H^8ew@corsIn2CMzR-v=IXu=^BGa#Y^3j0VxzoAXFTtmzbXGhW?P}I~ zD79O`fk8P<&eMFv%T~yiC#PKj6@yoH4PV`8s8wOsHOUR}SG^}I!Tao1b*uWfou(@| znIlL2a+w=MTVi4^k3Mc0_tK{E4gSp1VO@NVo}E{;psYX_A=u=-duP_W!OEVg{}DM*gK3_;=sX_%7+DlA>h5 zy*&R9bMGBj)e-a$UoK+f7F4lRVG!c|WgzcsXZg_w3Hj&d$!x%wnFD*On<-8s?b8NeIqcqWp^4^D*mczv%?mQAF9yV%{V&k<|E0vLzkL88g+MAMeqr4w;+}K z`;gZ+`2G-J@C0af@z9*x`&?N^W1|M<*=Rsmly-dRZ0a&3mW8aG18#;7C46JwtmJ%P zu<{vHi*})S#lE_| z@~n(AjoV^hPW^))eZ2*ab?Kzt3hnGDl^Uywp{ZN#1A_`mgN}i@(m-tO9@Y&HKjz=I zglG+X`Axxj#KX+G8bvy^FI+n8t1U~3w_UE7F4hS}KrMF+L{ghG#=jli30p8bl+xY$h;xG4pLQw@-FaJ(yFeeW_fl)}`6~g&PKbZ-HzN zqLV0VI0=l>C>y(@-m1W&@pmj3IYG0sQTcPZ@};Xs_Ipyi(pd|FU9i;TwJlHCY*b~Ls?dIr;clrJy;tl5V z&db-#InkYuF5ykU6;%U-EwXDTEg3gj`zFdFA*4XfvS~vl%}YI0yKQ252j1!O0Xm9G z*)b`2pMBep#yC*%{fI7`P4%&lQ^R$2|9*Q{TX-nY)&2H0kaGdm(Sc}W@fwM+3yZgb zp`hA1QWkd)n^VsN_OAWLH>%NMYz!PgYaq})RHzF#7W1fmUQ!=eJID;l`hF$ zWg1H4aHBSdVd}MOZST}+B%A%gj|E+}(R*QFii=H2O-6g~CbfyvHE6jQ?L;1FF7u0n z#4iuy56|m%x5EiQ*untma@gLW-uwwYIBajMEBqC6rc1l^N2yhZhD@r|MhvSElP3US zGL(2fZBbb24I9BLkYVu7{*)Gf2PZHqajvqZEIB$#9BA(kyFU-~lG5T7ya1Dxn&^ch%7r$t?7_;~=mVzfAeWMgI5)4Qti3wB+HkF41pm+>^+Ks7SVk z7T&susnRb0{wFJL?C6@oyZk^}jQ&xdp7zCR7h+k#09t9A{4tq6l8Z96J7RC=Xr*O= zRQ#yDmm2=R)sKR~T-#;$K5F03Mv4D16pV|LqEX>DXEi!Z4t3)+bCNqhpTEibag&vB zH|A7e6dsf&#j$bxn;d-0e<~4bh~6{60rDdec#4Z8VrvoxK-PcWPGXQ8Z@1DV>+94Y zG^PrMQx)INh8CT`p@|%uXFalorIs93sFvgZl<+#+PVH@|?n!$;g?PNBZb>bZ?CV;O zs-m-hAb=nYDF_spQ?KRA@nbIx_KBk4|oQ*Lyo&`PkWbU%e4cK0rH zm|s@uLcgCv)Z*+e6m}Y#YBHuH@8MQ{`Pf`JylP8kYiUk(>P8z*V?C2IAJFyF_D;y6 zkJ&Z|djNNoQF8P{GK%#6XYA$l{?mZK3VKCda998PyS|kWxM&AJDg&Y<{+Ek#NN9;b z+*eZyu)k>0S^I)%;2mt51A&j0cHo!0-fBg{hRdEsaq=k3S=Avxc%3u+o?*Xr-?~w1 z>_~)wQ2hu9Z=EmoJ=g5~@osl5O}Ya}RX`rkyZhjjVQ(uLLZi;wJLPMWZ~oXK2OC{? z8$k=}wTQ@~e3hgZUP+XBKw3DgzByrmoyG^=nt;Jzy#>>$a7ZCD7PPkBBp+)X`)A(u z{jUVH*7bnGyPhx@oPmF7?q4nLd1_KKbRAbSKo1g1gDvX}9olJJDg;3@f;3X?>nZU- z`nuIY-It$n&c#>hsMtAspN@i4t+N|5;#HJqJ-KSg{T9n3X6HEA9K)N^c=Hs$%-!!E zOgS{uRIQH%LXAwYi7Y*b19Hq<+IP<0#lK50NjaIdt@X0vL5JU{u@MM>yz(vZ1(~n> zC<*!fi(tZ-X#YuAz&laH^H4YPYk^!*5UVn(WxZ(s6)02u&CK)mt@B14TL~L*f=$OS zH*&a6-C&%$5eE*gC`>F;#JK-Qd_nZf@|Vzq7tSHV5>?md`{Z_u7|pjf{&;iv`TJ%9!x; zi~ac&NT^XFz@Cn*vUm1i=77hPIROU;!#4Mvo<8it6V~uJ!%l5xCFk63(&N@JSwSbH z@9kkb_S9>NweO2IvQ{)@=ewp|g9gJ;sC3JE<_4y8;Y30@j|MuN6L+{S=`F2ij=T1Q z&4usKAlYnJP-B;47E}Xd0vD}1_ul-W@l(-P7G)rC!9|1hWspu)NZJf`6_by5q`~Po z0+qAScP<{)Z`_7I^h_bl7v$cV2nY+%`d1FVneVWKy}nrK#b;*&!os(US84T6O+$!OJzRgtIti&50>VtjgnU)hjp>b#X&~7a(b8(cZ*SHyO0fptU z)7jfK|2#beO9VP6*!}lDRMP=e(}hXPfz#|?=7$WwGrdUeSaa2daEDKr`owjIR09Gq1*Vw27SnGFaVXX3_uw{_s7wM8wEjWT3sqwk*Ptjt+v zfgAyZMNanRI-5gx&uY&QBsXBPUk8Xea%|6|VWUDzK5*pu07v!Os{4R26&il__sFpo z%Zw8c%m=ztTGKwXlv$dfIq#?a98>9Zbuo{GO!NSR2QqfqQr-5_r6uni0jUWH4`fq^ z_VxGPLF4J?$``a~tZ5Zy)>;SPx2TEvMb5ZGqGxU!= z&YDDAij4q_$t&YjZ)tbuf3jHaw90;?ha`>uMMA5Q;NjkO$} z1`t8VCQGhFRcw~G82W94=c0o`@*Rt%`K6I}U^bn`4Gpe^#eh?Lt;Pv^xb|z%u8p7A z7gIyy>5T^a7R*_t=tS1TI4G+VjAc?{Bv(#XrDR3&>Q7UX5N+VwpRV7u_jmN|FAe74 zd&|D^eD@*%ZT6?I(i$%sy%&2(IsK2Rpj7zheY~8Q44W-Z$Ish!_m6JZT?;OtlBlEV zB{lsN{n%Po0nWU@a6YdqTNrWS+|RddC@K5%$+k+j|H`j&JdXr%3)KojHQn2c$vmNxd(i)!2s*z5wMHzt`~`)Hp$!3N1`m zD__)av_lC#qJz9_4+yK6$JQoyZnwHPA3ey)ALPR@M{0V}K1hx90mCmM7)ab+5TKr# zK)3PuUlUoB{VY-XT%CC~pQpCC%#0zXlk7AhvJE;HXU>P5Ur+5Wa}XZn4-46X*#-+W z+q#>^BuUa~Y`f$agNq(7hYzuaiCX6Y!qsgu+7B5TH<;bEK7?=<^rCJr_xEhw}tC48L!#9sLQ3!;`g;uDeM}QDCIbk zLN90n4UJPJx-WeG_x#nKi8Dq0!pPD(l_tMLr-jceE{*xwe!M9?O~N+#HcLx1)nwg- zEfbK^Ujo9*=7DWZ2ESNZioGP|c2XLh{23hKHgHxB_H%_-Q4UQhg({lH-<;KS@46zW zf?b@!i&E1?h-Iw{ATUM;`sOI&0 z^ILR6cEwL#Vl_(>1i75YNv({1G;D{UJe9m*5sB0Q50+mQlA;|2dR=ZWUfV zXe~E@hTekE6<4?f&{6!Ywi!XUZ$aKP9zmhEL3}I?(YG-e2S?CiBbXBQ-K}`GV%lvm zl6Kz%5i)!<<<%2L(&VZLR+}}Fd~0Z24Ta<&G{NkdK?{FHTZd;zB5~P?*+UlfJIiPJ z*h?^9jLo34zrqADD}%i5fWM^+o(zR&Z(ET;33u$H%Wg)MED`IkFY(p5^+&4-{uGj9 zG(Eioo3Fg?k>_1xX6QsrN9uAHRLB!^H~B7tl@E@PBu$$+dxLJ3oV-CW32rA-sb-EM z9eU05Syut{LH?g6_t01nAnTreb+zYcrb-=|Ak|B@`9j`&3BpuIjx|kj>U|$cft~@v z%F&PgpS&wMdVH|>hG?yN3~jiNZ#a#iqxVtw5gj={fVtj#j6|}nt8Na}2W@yMm%!w% zK88jUeo`xvu- zB`}!iH8<4QQP%SmHUdi79WrF~meSh~oGu@2ft;8`nkN{JpC(b|Cv1Gjd&~ zMwwDw{ja>ZJn8S4JRL5)4yhZ_>Q`Ab>ltK$T$dtq>FqOgM_$bgb~B_?>bt7Lvl~@- z@fEs*6nH$3y=PG9Z=gcW8C33~#?@3X?z%SuubJbmN7G`qseZgiaR`Dnyj}?0)?CJK z{#fnNT_89mqb{BN4gLRSCf)lD`3;m+U6!!$O<_?ZOBaKQBwp1$Uo^RgF@`q>Y@fiA zDW%qM^1}ACkc9_GiYg#4bB0T(jsqH^I~dwVjW2c<)yal>SshW!OOwY_VDj$o$J^_h zn2w)t5yK*q)mc$Hp1r^*5AmUjFY$|YrW^mt>V+Z7RkH8a-Q&4rYCzkDs0p#K+z0tv zT;j@0@LZ?aRP_}~&YMj=`B%=AYC1dDMuiiTjCc2zMZchvy}1T4?y5I{aDQ4pkEy(H z#j#VOmBP%X=|efMkmx}_PvYPC8{5@?qIP@%jM~yN5lp3CgV3K)4gQIubXVx|BdE`7 z`e7EKbA8R4XiPt6eipYEpkDwnG(6a|HXs|2nFAHe#ANatV z1+?=Ie4x}qdV*(L#hZ%LK>Ai)NRuC8C9AWL>ir31EW7*pIp=Fi`V)mdT}Zk|u!=~* z@Nnl*iHkJc)ZG?RPXH9bUc^60CEY8bHZP<`f1&7rg_Oe>;}+7Uml`KeOv=oKlKQpM z{CHZkpZ;Vulx;)k!3W=wE;3Z|&mi&7w~NT(En0`Fv-)xV2$&BSQTtKwRr>rbb~$Ah zlcBoSpZ84;1E5?ZD4K4(g>s$Gb*Sut#gg1OzqsLp#y8&fL<4x`LDQss&6N4Ky`Al+ zOKgw{6sIsfm(cOQ(G}_3s9<`$D84mP$_eXXH7B-M(f@6AA2)I@d=G6%8V35|Js;~n zM!Go+xK0fsPhC#Fai9!zto6%hKEskN-Lx^j1IF((Ay99%og4zxK51g^Exs$O%Rj9S3q<7|oq&;GQQ0_|W(lCx`; zUq=}kAgb>=ns28GHLY1EEkEOrb$eT(LOqtAvT{~lhJ4aH=H3^}L^=W4;ES^5isGY% zW90b?W73$Sn!fzWCq=Q4*4#kv(($rRF}O+B+9+$}_H?eg>A_=kMh; zu*`pBuW2hz9)4R5%bmLh-qt^UL+v%1Xe(Dk`h%`aI8i~2dioZsqs8a(n*h_V$%=Ko zHtdTKPk(Qb1Xtp-LCu^ecCzK%Fv5>RF&i5S8ksd)B|$D3nM2un#@2SVM>FcC(?lZ^ zkGHF~44u_!mXE1g7H z!*RK6)Q|~UuTHh+Suk#GomCnulEeho41k-g+rg(QUIV1x^X@MD&d+HpH2v-hSAXJV3yp4f>wCvV^~ zWXRB~%YT1A@OmSb2GVpWT$hRvnaEY*dJI;!a5IJ@)pFB>n7-O23G6uw0$UPieO|BEJsaQ9S3rc)yLT5Ybi>eScT=c8hU9@8h6K6Qin`-%Fd!;JYDv zZB!Ld$Gp8J_pz@(4HZoY;Mvjyn=7`1?K`xp$I)-D^(G&r%jjo z>*g1^SA|W6@(2~#M_DK%ai^QQ%s$F7penC@)IJ6UYwwd5io0un?U?Y*97nkz8r)zX zIoyFR)YwDQ0XotwPn2qnB$FQa?YxiH-NBY7Y#%w7(=;nN5Ve%T=kpjn$|1p!(oov; z3L(qLp~O;8+O)%UdmlC8V**iib^E)h!U0wA5?0$&<7ZmdOVX;&Rr)06I^7x|S_YCK z25gBW11nEBwD!UA=Jx@SQ=ce#@Hcy+%~cLi5ie}?<{psH%T?(*wQKm}rxx0L4G6Qv zmofcqgWs3>0}wXc!E&+X0L6KsaeEKYIMg9u0#9eXH0xpM z-q6VZ^_6Oz*6!UQnpz&Lr#US3y!1x@onM~_nT}S-hu~3%=~{UVQp2W_(cAlKt=?67 zd&7;RL4B#m$%n~-ZAO~IRJ{TgGgxhMs^M9&C4tyS_W5ju`vIq4p2)%3kY{*pe9>8(ELh(IvV2K!)@D()z?e~nx3f>k$!uZ=(M2u!bp zosx7D5}PWvR?>tTh8>frJEmRngnD1h=`PeSu0S>67#S*~UuqbJcp3P)Y2#}@clZbU78J+KCsM1nuRvi}j{<1|ZxVd?0 zgsn>tUirl-o(i+#tLoB#<*|PH7iRs$iV=8%M#4U-uDy?D*8r)c*5%qwXJ-$JqTMok7T^XlxQX_N0$ z{#3G-#$CQjQZ}*HwsLg^h|E+h-1wS%S>wuD8osRYYArCAxak4`I=)a0OP;2|z978w zXI(x$rO6W&(eAlYMSIO?Q|^BN3v3@DtIOb9t-rvIqiaTbP8)xP{Fe~k=+9AvKE^K zdjcG2I1a}nK;vTAc}|MA*d1c?{aN!*5Ke%bSU6oiN9_Z!A{9SxqrzSwBRa50u@IYP zD`gCrB>VwkSF|=;zyJEWHVfXQC@ZS(aGn-&*$80p1aW>>zWKh5=iq4}Ft8OzK#o{y zo3!iPuFaGgdoABhI!}*K)-V=j9Z=T);iK5kfBC6CW(FT9pj&p+$SV*Xp9u_}I|C{# z`*nO*4;&=27cVQ8O8{{KBy+yk&u=qoXYn;qLa2*)ti(W#pL*MQS{jHsd<>{1fx36c zlVx9Ty@s=H^j^r1bLZ(9FgWvI#o7q>WFH~c)YZS7r~N-d37A+LJB2qW&*r?Za{RZQ zj?6(LL{=!Up85jquMHx&UXYqO=ypW&s>#!!fGbWV6#-#?hGktsZEhP|z}CesDk#cn z5OgN+N8Jn56TemxJ}VB>T~P;t43sPJI?JF0!C%NKshE5au6_B{%O{nIa8;| z{Jug;1^8ePCSIU~Gw4Y5AZ$J6U!brcjlaiApz|s__s^7#DGP6XV#)c>riqO~pxyQh zbdyn2;Umtp>-^J=8l^p359ON0?oRdH1;jK3Bee$B?vcSDLVnGMy$4}XL{|%HO|>O6 ztm@PSIvLE9=fbQIh@Q6>$UOu!DRYr(p3}Jc{FjJEkBhV+1S?YbMLL7JOeq&725D0C zr;(eB4MUg{&nlmQVATXbxcjN0hF0M-?6+7Tb1qW3Iw-py7;K6k7glpk+1=%CS}^v> zwVrAGyj*L$;Z7FF`HK{XvWDBhV5W9UE4r*`owEKGjF%T_G1qQ)NgAz`*eabSy;PmE zV7LOp8;_Q!lE>*@WR0{yd@j)wF546s%=VpMO&D_JZ`(`@MmM?E2VpjY)RRsjSWM|} z|4US_E?PDm7~HE0^*}^5mF0GX6*MVE% zG^Esi@DlAsS!)5Ryr0JS!%9mp5V7P@NK7qOa@p$Fn)lpO>%m4QA5Xe?oRcMhx3*S| zHHV8H6iSU)K9#sydRb57ZmR_1iaA`PzQ$}YgUh+Q4cbP(*?joa6d|&OU;mgKT2~)j zmzhJ?>uUzvt<15()#eU$81%W}PjI zrsOPtd*YcOlz^mMq<37_D*FkHIVj6sL4h@A{Z+r#>Nl3M>n~DhLkyu+_7i2nei^_p zS!F+g@e;K&+uQDM72B#`G~A>xgaTrBiB54@tL!H*d@%gXc3ZC2aVmZ-xU{8g(@SJ% zgqB%lKT#I!*B%%qtL!H*rlNM9GE27o(xzl$$rMZN3op?^lnt`VexmF_xnn_^5MF6G(MLZLF^t(DIx{j`+>wO!Owm^OTFKhiOYnz@16Wee(%*qw{z zSX?IVMD1H?ig;LM7zA&cRC0KGAq)eQ0KqT_t!IB3?%cjs=v;1pd<9F0ID21(f{dx0 z1yX}gG&L382=OQ^fZmihfZn7C|1$LKlMe&vl_4mDe0e503|r)1mJcW?h1K{IbWBSR{*x6y4hZ9N+PCan%Xk6IXT-8Afy zXsZ}}HrqdLgKi>V`Fa%gF|z+ia9d4jb;ait+E&wveGZql#fH$zO-JH3s4nfG>NbCA zBO}~)5H9dCbxr}p9Bn!-mY&~BCh783+%`OIAg4SN&A6eItUDJ zU<~?ukaNP7(Bi;g6Ouo&J^{k}jI-?$-P<^(w6>Jhz9LPL z017WO2jaYr&RMv`8z^j>!-iuoAgp88-B#)I3Abuhl_A)wo_s|)?Xiov4Ga#s-{;r6 z>YFZ8`K(z!-!A%^YIXo=%Dk33UZP5euZ<}WG{BI9(gR;p7%)t&fx&rGy<4s8F>B57 z(ZJw9JCG(C5MKJ{ZfduGW!sBQ0g;?9RYPCX1}-}T7_Pt=lM#2Jc;0E&En|mu)$gy#_cPS4eItGUN&U_7 zE!y2@hiC2`>hP8!Ejnc7Y_4_ZgbcxVYrmn9T(&hZ*tKO>P}?sW9(#G%Qo9)twzf{3 zp6xwCy%L*4@m(lj43y z${DeC%Aajn)%0-fdXadGc@@Mw|AyLf*(bnY4e-wUX3J{r-XvvCk`6|GmsZ1N&%Ao{ zENOxpix>!WSNl87M_EI4U~nFT@-ftPaP72Pa?{c6mcP>(VDLp5i#utI#ZU+r`bf97 zk*O2*S-6Qo+_KZZGuB24EmZz(L5sU+imI=krh1)G#|N0wWfM5F>I6ed>rNVXscPdZ z^6HWMJ%8o9l-Ui5Qo414QAYZNsJd)1F zxi6(Ur6%OQq&}Z(>~ecI>~l>}Zd2qYar6h?rbRB+@%d6D>~5 z3tM(eR(vjrK4~d;qNZkzQ&6V8T5Q488nsxeTwmThQ6%RE3m0BQu>r{MQ-lynjhZse zVCVmX^CNam*&v+~sfTCK-rKOg|BF*0^}W4xiqDNceg?#r<9;zvF)W8Xk8m_3AM*H; zsjtQ$pY#}MR9}rtCFQv1PVis1X>Zy2yp+9>PJzJ0#+ zkC~fLIku^+VZhNSrytamk9Zm3#OmKT_WZLaPA;`1uNZcHnFSvj!x?znu-W2e^<6un zOKgY!gB4R)P46tHk?dUqubX;&!-wL~B75B!x~`O#!|mNdE_}5c$-Qz*N>!^RKOEuw zqj$LiQd28{5M&Y8o;C zwhlN&t{Z?uJNXvR7Xu(|p3&E8jWT zFI8jBlb=&Fr^0d~y!Qf}`Z=pbuu_qA_HIoljf``&Y2mCUw=|8XZ3_N4;HhPl#bHr+7L}~b>>1EIYiUU?z+bZT`OD2)h;-jc|@hU!xN*-P_U64lxLe!PEGBG z!j|wQ{)io_X>B_je`F5@4VU4Mhxmh?gfz-!gK{8V`(a?3RO&wr6v}feoE6mkF>*zR zgOE^}$`8jGZIv#PbHY!Nx^-Wiia_ANNM3KDjeX#*BIgBFkM|P1sgmX%PxNsRW7z$8V* zuSei~L(#aQWV?C`onkyH;&YbZFPb{sKHuR-R3z^%Wn4}(g1Xj?#QJ)0EjgxxJugwq zbSQ=yLuq(AYR%{7_WzxSox3bKkUJQsiXttFvADG7m&J&p5=efrxMpkzjTvQ;I44GF z;?>nF&RnN;H8iWJ7JKBCNlsT^>qgjs5@*Y_(OXuZVklE|1FjGig@2tGW9gl*Ct!yb}4`DWy>BnFy z$=~6qs_0jm8kD|TQ%pqD4H|=awYw6n83V>r?pFLDGn}mw8_8OlENN)nSdF`f8A=6r zYt*?ThN8AU2hc4(MZ{EN8@G+Kwi;>1X^IQaV3%?D&Odnu-yVk(6Iph(wsPEov$U}B z$jn;sT#>h2e1{oKd$eFY=Cfjh#_-XZ@faQC#uNskhilC%7M@+S4ULt}$u+C0Rc+9X z-;RA7+05tgQ43^9RVp_DWiR8X8Uvm2Tg$|mb1Js}S-}WaWut5rKw3p)y1wjlK2CuI zsdB1P9LgGsRZ|O3{(NTH7(H(i66m$SoTN2voF; zqH9xnhB&l$wLmshqbFSUIxslRNuO`u1YaH7RUb z*h-@XQnCi^<=Si2kox^qeA+3OIRkJ)D>0>CK&Kk??rX65uo~o})8fM18kF@1o{!d` zMicRSzXq*afnWEU)SG`ltw|32n^cp+{zT1GQ?06jZ9wFO-aB-#h7B8=3V%Vwc0M`8pQo4R90 z?ecl3^erIlgz)yv;Od7<&xiC@#_hb3)}gH7yma;eq8IH0B|5_5yjk_9jylSZnbu1X2YtbgIeFQL=J4OW= z8};@VMk;V+5H^D=OEihPxK5(nt;tj2bU9e!3^Hqz> z7J9f;`>HavOv^+bc)M*`AOfuq%G!jXU-~w$|+@=0m9$iJ0yDR zmNiY;#4Ohu??;BIXxVgN@Lc!kye)fI>tk%ll`(esQF~x`zoe3d_&80~BEZM4XXSSfrzUK$;R=iTDgj^64SSetDR1|dw4xcjn`S5Sp zlM`KFhLpu5?aYLJvM_)yX2QcQ|H2}!Y=??r^tBJ523hEFTQrvK(*rj3xv<~H3yxl_ zKeFneeAAXi@{}yBK`8TeR-Wd|E35kF>ZF^7x+;QeE26IS3HCR>C^G22Xq?E=4eHJO zUh8M2J?h%hsyrUoE20imIqNHIA(W4+cb=mh@!mwkZM3fBFdZulLpi~)VW3Ge-NiM} zxbltvryQLv2jY!2QP^}0QzkH2fBpL4kw@JJEqw$GVdnK!tpkL;Z%%#h-{AYJO{4+D z74p#COq8M5V$}c!^GnMH$G%e^`=&9<%C2F*1W6Js#PMYN;GQFv3y9DqN(R&0=~#*7 z@8=#O8OEcdEc7Pqsh@N$c1{Zv!N>)}R*sQNT9&uZh0!8EZT@G^>eKaU@zOls%WY!; z;#>cK`cgykDx%FZND=4h$xKWz>&rU$4SoD@Sgk*+9h#7Daji3sQF(|5%)*hA$VBaG z7}rFS3>Vw>-skp1!q+}c5vjzHPg}|aDr|a%B8=Ri6c^-uy z9_K594A*>4oy)(r`QXawtlUE(1oENemd)Ra{Li^b#fvf-}#t~83=M`ap+*kmb@ckU6r(o~rVitqt8b()_?;N&(X z_m4uln@dA+EZ%T|7*e4|dL)NRLiW7NSCtGa*0@Xa(1c|%pUiQSS>2R4TV) z){6Z*tdWcV>GOqm1u`?B&?Z>%B30z#icU12l|aFdj)=+dSIK&zg%Hy6pbV8V4*x7I z6iEXnlf|JL%(io>%xu=>NG{hIR&-K}17}@{>mAEI+0{#8BCEnYPwS;GaZhj=ouuhn zdLpj^9)&B%3JnW!f8e+%*$<-(KEWCRWUfRvS@TvyM@xDKmSeC|9WxWJKZ=@Oph=1z zpBIo@v#jgqg-Nx^n}PfQX9UyA`-S|V+zo{VV1)(b&4&ri7t6PDd4y1HuxIvF{ineZ zLcvhDP>^>+mL^HkQIV(WyFJLT3QM2$=CIb6uYi?-&s`b?+p!~0UWuiaHBQ6FG*0TY zI=`HRwpxa^t=5$DC>W^1Y77(|PFlx)$$qe(R#*dn`MvR!yapDZ7kg;`8fY=dCiIe@ z>-V9>8wD=~sM_|So@=o%uOL4k(0=d3)WYc5?4|zOwa50cltkt#CP1lh z82GT#ygnONVd|HvDiVYf^mxmV_TSh0>g(ro`zjD$m7fgx<<%DGM zSC|KzBg4^+5ubnV5%zM10a)zZfS%z><(L#eG9TVt6O{1;#|pinCG*4^iJDo(j||*4 zxX$UWMWvbHo@tS9Z)6sQEOz5~?(-#@|N34eh@hJ7GqII+BNt@S$h>zCK+Msc5 z|29%BBA!nE{iODikO!&ChXPctQEK6FvEaMPE31Eb@>d1otMUbe{Ww%pULRW739THcP|W<@%np4}M(BzJYAK1o6Fmq)Uz0zIe0L z_rg=Q$H->Qfo6KL5u!%6Q<2vuY*yq-kpVJ*1|SJ%2?X(Qmn+0j(k6{#9p;pf7_~Uy z9F_CX-0oZmk2JW8oAId(Svd8NA;*39zqUZ~a>`s_l?IJ=Y`q(&Km6x73)VV7$^dey ze!U*fKQv%JU{SNLY9AnufYdM9=lY#1cI>(%L;fA7TE)vA+#ltK%?81;Fh znvWlH3%OPdf&6VGcn?rbpi%+I`;bF@@S{*0j5O_!lCE$oL_IQgUgn~#Z#19cPPwb! zAi~9;^jqK%$I^nctC|X4#m582X73*Tr54Rkuc-Mso3AisR)q1EBZh}>fuJmSU6Y&~ zL>1ScHUT4j1nS@s={KbLofX@&;P%6LjJa1H7QVygpTUb< zRyKe82yDuxWxsUTp>%Q5u6XgM7eDo0P>*eXoZbVX14TC=f3)>CdnX|Eq`t3 zKCEe=C?u{ep9ct!`ia1+K0VGB9S8_JAE3-S8Pfg9qjnvSIp{1O+5-sl|AK@sAD??2 z@zhe=X&Dl7h3qG6}qvP0LziQHaM1)(~ABh3&wlKp2xp)Ob5& z22NeXa$F;Go@#yhncRD32{6~~c=FweIWL!CBlN3yYLKm|UZGfmbn51SUnWrWxM>f{ zzS_esX!2=?RJ(`O)Qcg^aD4vby$uIpg*RXo9gyRxf zq4198YrLhyN(CP&o2SF_*Mh8kh~tiM!caKJDLs^1F8Km+`hM;X#ck6#dV^~b67!D~ zkcip7aAFqTh{8umqL33OmzRds^&=$tza{5KJ|xpV1k8qmK`}4&Wf~=G_LXTRn2XmJ zm6g%>kiW_MyuF7<;ZjEth(3j*SQ9@KwoBt>3n5B2yWnL1&v&0v=q?;R58I{jv{_Bz zxH&cVR#iH+OEcdVw`^1VZrBr*8?kM1*EKESH_AoGxu3Iz0H#v=;IwMxdTrS?)Y`4r zlJ@jP3f0?#tst)Eqo4Ppe&rf(zT_`ZG(@`>`lQs%vLCtmmQwa2f5T|v>tS-MQ=a8E z`u)o*{M!5r8s-v!TI|Q!uV`SKTsq1hF1sX65_w~nFZ6Ke-*Y&aMRpRCuB^4iHK}Ag zf=B@0129A?S5Z?GKk?bo*QP1b(71#I)*c$0evrJpinemFJ$ zaXBQ`8>)X8=|B)mn9<5!$XtnP>N2aE~=rIF2YZYd7ffGA8b5*lYK89Sj!lIwT&<*-cgWiwJz z{;ZRl;Ubqi@=rTa#UC`m&?S5Qpm8bZFIMlggs9laSd}XMWOT#g{>2-JU|T@wfs58a zU;UtQRtE%ASg^*~I|Ry*_gAd13+0kM^U=_PK?5RYz%N8qF!Y#rc$mW~CEs`@wg^yF9ATh^3*4I3VWL2YRQfV1#jP zpW>oJN<^~Af`(9ImjW46q`e5Hy$S)`yAiznk(Hg}<$gPZ8LNbpdm$SGn+^Uh)?-pJ z_gHK*WeqhqRyzzB>;w62huhw9=GQoDM|YSNR0aJ?*m(p(OjYp$P5u$OvCA;hxZxyS z4i7gJzMVl-cOzgL7Qmx{H~lNV{rh(GvS&4UBKV07j}-dsYQ?askk|h_^*jsCFBtfy zU=%-3S-^0u1uj7kG7QeuB66;u{8AYr+J6>nKe&;uoYk~f!m160hgF9Sqp)*uV|@q~ zDuoIU&5WM=$RqMc&Wa>rjsSlpvWw)DvY5R__56 zwc|d%EUx`m)KLbte{gf2z^E4_g~J>z)}C72i$7?oJvxYTxa@WrZ?vo@zUzqZMmWDMq4#urZNXRzDGChhxBZEh4MpwD;0w$8 z?mTxtvb&{h`ykrDWvyPJD9YO5yZNJ*C7QLsaVWQ}EHK!$>c=Gx9*3*mZ)d3;*5^hV zjJM@hSJ~vMP7WoXD_DCKL$#r>gP0%{jsZ4Y2lH6&t>r?wR(x^EFCWN=Kjf%G%iX?~ zn`GG*&aF|RDf!yl{LK(Y(AE%N_|0@cSFM_9`OF!P0kdxA=?|Z$$K8S$Drh_YVys%E z5X-ga!!1j;=M(BECm-5d@9Z$)Mz$)n&lByGa=+A*X#X0>ZL8OYs(jG;>hQ0?bcoif`zTzGnBQqz(^R@ZtayIOM@s5WewIAMG50%5H04~ ztu2lchPCBdg4hMq6E16Qags2sUE3=`u&~wp4K1^_F@As<(Eft|UH$nZuFlFR^!_uutrZ(_uUNGPLLu z+!1Egku89wto79_5T_Ca-ThQ^q=i?}N~AU2qp&qSFgM`Ia42z{phw_*06nt)x>JtU7FpQqqxs?%8^K ztB#`r)2dsjfJ}i~CObF>A8Gknt2HOWCHCQF$PT*diaxW@adpTXI)h(>RWDIdm6sni zdJjxl$xAQX%h;;luBgMRSFV6q^{5q)cnk^q+U}ipZb+X_i>Jw5=!ib-kU=fyP5G?d zUq6qx^sX1UfgM%5KAtwgw&SWf7RVPeq+jv+vCAIVA%7W9D5i+w>@1)28>~7A3(VDX zs4WxAsynQ}=p;K@D~{8r@l|$6++wHiw76CSTk%!lLs-{HZ`rl_wT!Xh#pg4wHCQP* z9gDiA`_WV;yvJM``4@P!v+N$+;ivHZK__dkwDiELs z^l}|}wfId71g_qTxmLgVk{{rcP18Dr7Af_e1tS)a`Y7AKuEWCJ@j+EAkResoss@1E z+%atDtB9{1Es&a3Y5(uSr|m-rBeAJc_GHTD=_7muSE=^4T5DS)Pz8Y^QkEF8or}Z1 zjx)z#s|KkZRt$SdxwP7fugwRWO*^TPyiZixWMvDP3xeC|nG&+!E0>`#8?C##y5yP6 zE{?nh72DMhYP9AeCAPdWbL4Jtb3dePXW{-dxitD?&FwAke%G>rE!6WZnEhlY+o3Ya zz0yJ?_`O}R(@IY1Xt(Tf>x?>;662as&!TzyZ7Y*JH#3ftU9fPF=kZWFk=v`>KNN_1 zRx4Vk&Er2T{OYWXr65vXq6=42d1?L^j&jNe3%0dj3&Vt=hDplugSl;o@ z>*EUk5*~NCu`dOhQs9MJ5&H7r7vfpQj&6#vg6CCU(iE&yUX%&|3UzD_Qn6REXGyIK zJeq&Jh9f%VBZ^0}6VmG{^G!-QWwF%c(n#(@Zeayb;D!1hG5@6l{RbnVv|0JA60ua^ z^Z$bvAB?|3eU?52>SC|dXFo$SC<+`rem|6sR*My=r@#wkDi;J;bH21bn`B>pg+c|Y z62r}W@LwSL>Hb04f)2-u80u?NcJ<0cB}E(cjE1%1lrZz@7pL`=4OZMOIPrIu2fE~=DKv&L9+go6z%)zs2i z>nVHcQHHZN(9haUHIoRY2`*tfdz=9f@G-X}m;-heK zg5*mTrfhQPHV(e+;{4H{92#gG>Dft*K^(@7a?$#!{a~x!uW|NLZtgDhDDI341|Mc# zK9e&cAQ#s+D93E3!cW)olS?@{5Gi>1R4v!KB4VF96n=(P(A`P)c2X67Oq6?kBOk2% z^MQ)VS~g>$!dXe9C##{VFXqrxH*Kh?@NMvC`q(3Bf8suysIM-XVj@I$<31YT04EV)mDc9Y#{)R(WR3g-W zz>PKMy*q`%F%OYa9AT`&%_f`5=9X}xUS+jGYNeWdK=$%cUMauwm&n(kZ7YA)awE#( za!|}zU!xygaO=m(a#~M5(S2M_yRq9*n5W916Ib!eQOF~=r==VXzThuzOvdqnuPQzz zCMi6!e{zKbBa&^q*5}Mju;{Xd*vfqooTeEB@YzFg6=8;NyGJ_Ue75rSf}@8r&x^9c z^4W6_Ee1wb>nZzqsUOf$W#dH13@pUeRX3ei;%1UH-fbs?n%>h|MwYqn1K1 z_e6Tr6uYbF1$#$s@43w(pLD~yU z)0e>Ds7i0YtS^tKJ0bfoiv`B`77*V2jNS6x>UN_Z)we)y9VAUUB~Fz-k3QE5Mv5)Mg>f1llLGO^UOzJmo<^2S4z zHzA0FFq{{9dzrHU)7z@r(j`Tn3y?!f0#VB@AV7sY5TVt;tA*r&fK}~`7i9oLZ6)i2 z6K!Fgg^3irLWw^I_iSZ)cEt`Bo9c`pXX7x*_Jo+ekyhSAb0H)&+IhBGRxNUn@$hQFVG%I9g8+i!s~e4lxf zchM8KpEZ!-x2}gz-O(U=b10s9w%@wcX?OeR$#LEA?11MLo-^&nRBJvcH6>ECX8&J~ zE0Vv;qF<_Oz0sr_+?E%6q;J!^fF^O9T9?i*ck{zj(jt??Q_QMu-zC}4YvYtW09iSi zBd>NIw!G_FFSp@%=C+J->8yM27??8w&)k;pLi%)UIIzwoQme!<+`MzQG~KS2Nl&

    B*%xJQ}=$gFLeKRzW~nOE8Cw`Iy&RG^y0BCfxs=) z_vzqLb#{xhUGdBn4EbT>+tGvX)()2|7#4rA+4UHI`-I3eK~3F)DN(z()ZbqDflA1) zTTjajzZ`r?1qX6*9^WiS_jGoz2+9vnh>=F)t7nhqzDxI=kp7LUbky5&$q6yW!Lfe93EfU@-q&F5w7x$B&JhkSFWzrF zv45+hgGur!sc>=PfhEg_4~mFQ;1tKI8k?_Nt$fL5W;wuFNH4wgtwZ|ebB2+%@q)*2 z+SMI%4fDTrY=q}Bcz(RLc`OU!83PY<~EN_&f_;#8kCwWT8Pe{I!|6m=}8U=d4zB zOCA3DQ2z02fOV`I;1ypxIz^gp*L#wG{9=H>hS{Sw8|QjVUpg!Q_-&7uq|;@SL-sIV z?HF~5-bj(aZdSh8@BOu_ZESILM+f@DU+nuptph)0UkTLSPoWb#b(-uwYqY=FAdX=p zbouNv>$DNJHh$Rwo3xMBbZd#ee0Gy9+AcQGicQ(`wrVfi!aZ%kJ6(lr+OAz!f)+Q| zIcLu}sGVp}sc*Gj^lXu?7&SYkEp6kU-Sw1qVsW~4RbPSHFVz|8##MbK{>zn&f!gBq zr)pz|hOuQW8KsZo8~4OUrg@%TrRUwg|nstSw)JBl^kXCv7>pbVVCX zYaeOtsn#Q{2R-^t>*n6boDvtCkXlRnNsd&W`=!v1XQ(XeD!%vQBds%N_B{S$4tO?LZR+5t9{@l;!aPTbbErBhF}6{-HO+N@c3KzQ9Vysvae+nfBKp}`y6 z^(C{X+|hd3Q2%GzUbN_{R!@`fY3pb2d!{uaKlgpq;PXgZn%?~ebaX9_Nn4a2Ki6vM z>z7(xE(zRby~L|iKf&1c%@u7WDsMs$72ML)=DF6}f=lmy(rWBeQ;gwBvBtF2*f<(c z2dy){(C(-9X*vfwuGPWqKle+F?pVuMYhY|jY-(b%vA=mpict{XZwdw^YlhB_n^ac% z!UylPXjeIF?;VA}Pe!fMA6DwqQY^;S((DqcLz2vS+N(6M6m@^8b(HW1EJlOcKh(L< zZ!fjoZ2aicSK8iAem9!UpFLzx< zB%BY|>*`X?TNt@#&blYX;$kDfMDdhj(6wrTX~Wwp)R&Z&lw?jdo0GvK$>v76kF_F_ z69=Wh_mVv>{rp2he1m+W%mY&s6XQ~hNy&++iIIu4q@2z`S7+*L+6g#?dg?l2N(N>x z_0*j%PJex=FH2KBblxtO??v`aPK=LDi#JBZM#a)^AsFCu9=hh#x17$)7BihDmDBlC zJx`q@jf>Tlr9I_zQ6(eNV&kG}r6fnzqFyt=7hx0iMQDCiU4?X6HgHcGF=10`rI_Of zqBqPCDbe96sm6G7d}8cSb99n1JR!=Mm>gqHHKwFS#U}JiNlY+`aWnQc$0bFl#hH_n z6O;KhrW|M$-rsDDHm64RHTDe$l@cV}nAp_5X%WV>xqp}wRgMTMhaLL#M) z(|O0_KBmS-$C{bb^1U$%??NVk^!*g@wmCMQt2M@j4;>PlVnldkf-xp8F(N!J4t0Yj zpioL|V#4647-Iy!iIMR3&>6~Fp7}$0o{Y80uZgaLC)gvLnH@hyW*}ewt~n(#94sA^ z7)~}-^d6K|Pg}GUo>GCC2R1E2S0&(s&jbEpdoX>N-Iy)05e$zp8!;GUGZ@o)+629! zlyD_waI!fjHYGKA2<=;_^DL`8@tB~_ypJ@hroK{oOd_`h{~Hl9%sWR^(I{nTe0Xx? z(D44X`lhBP8B=2+H6z0#`;Mu#QteXmgi*ifHY7p%FLoP*_@JM#D7VN2`T32 z#N>D*#w^@uPKZpz&~tVE#zBz8N#^9Z#6f0n)SF@!0w>8B8J-Ynj^l4A6~x8%CvTJ1 z;GXA&S@c8t0K*TA)K&K6x-3;O^*(q(r7r3!x##@?Q1U#AN@)KX$lKiJ0po+_8rjuZ z&}TqeY-E39Tyh#(l^8eBYz&V}l7?c@m%8FkcuJ7kr~ng;ezd=}77OH`$lUULAw*cO z?b;Fsg)G1>Kq}nBtgY103Q>V<<*nd#!5{Il@v)Ke5YVV@S`W{>Z&H|iAHJZ)gLRdA z=MJwtoIoou#6~tbu*$(qBFPlNAOg{di5#Ag8XK8n<(*i7%6<6V{0*T4N3@lB5bUVJ z6n!W!J4LC{OzE*2`6p`2SF$uo;=&JFDZMfV(QniBl|roWFtA121VbCyS4xa$lsOt= zF*T9JRDwB@r>em#-%Fk)AH1R;JL=#q_PN&CrZzcD)m1j+ktIO>P`J>55!yb~z439U*@dS^Ii#0M<%AnXN7P44Gs6&j_!!`Gj+0p_u z)3g)XN=~`OxPwX+qW9D&L+4DRreO(p=&iLYEj|Y<%eTqqxULdwSk*B;1B&P>y5w0& zfSJ3n(1z_8$Xf4p_Ec)6Zqh81wy2A=Mlx2OB@>g_>#(i@bzPwk6gnayceFhf@1(2X zoo`J;$$W1_t1IPS3K=io>Szq40dw&c-`YC=YS1Q>RTQXso-i8na*zUP&pK^$t*49h zH`9QdE&%*Mzh&qvIrNV+r}5e)evN_hXlAz57OiesxA`l)QRmfJUdoNUmiaRmK~Ey@ zp}O+aXq>*3V{NdZE{+IF$K{oNvY8(#`xHT*d*AK znE91;3<(O9$2c@u{LS(e!X!2t%)&2n*DaxQFdbsi#$+?rxny&ARBm0Yphz!tmQ^yr z7#%(ft8aE(2i<%d4K`+=O^i?mXvqX@E+Vt^j&^>0l^PAt(wC!ES^8?^-Bag5119S$ zwPCgvassPvLTZ1rISJf0(2U6(7akuG6|QtjQiv>1acL=ibDxr8lgz9-(fw&)%ft$h zYSk;~ylsMLT0bldC1+t_=GxxG?&R4;7f6X6u@4KJtglPAC+i!~+gkb-k^uGDsxL|%W@+8rgh!|(uoDwgq2^%Y zW3H8$5GfW`+E+!V)#8cgAO9Hr$tFuzk&e0OOIP42EeU%J0uOO?N^XZD6XW8{k*Tz$ zy>5rpN?$j9L(2FJZEN01*Dc^fYN7fMUw{L-X<)0qX*|?J&Bl1KN|d!cr=V1xCwUc} zHC^vW5eb<3!PE5)7&u%PN^Pd=o8nJo`JtK9^*u=awYDMbfJD@_0z>Tm1i*2d^Cucq7O>RuW8gJuvu27 zzOp;Vq=-K9G>lD1VGc4v6O8OH?I}fn{~V)lPd76$i&#qyq`xxted(zi82Ql@y{lWU z8m`EM1n7dsm?25@ZoIy>9g8wQ`h2RsiCqZ0WYdzVdKcQ#SX=fJd^9dG2CbC-uqgD{ zu^R`Ojj4U1DjJ7iBLa0Z5xOaUQMCxiF}lcGONToJ?{!23!m4i@Z>jk3H+;e|OZA(mBKUc(BLy|HKypDSWlo;9{v1Wi6i|zcJd%euZ=xn1w)SNi&S;zUJDZ zZgQ&yZk}FXdhyCrDjf1Pg7-4gA2MMA@{^nq@{NL+5wc1ZXO0Oc?^QZanw+BbrjFfp zZKy{NY+D~>>O70H5Kc%;N~KY|f$_^!y*(IPNJ3pErsHSK?unE2Rgj58D9#&Q^}fu# zUa(93*bG3(Cr2E{2GDgEeLMw>!7HB*5Iv(XU?`WAsa- z8)l4G+Zm8vJA3H7$hV`mJOqKDhN+LvSu$f(bXNB6D3!a9H~O-sQqeun9-qN^9w{pj zwZp9E0tz3Pf^|n|+xsSIi&iN_`2oiUFvs#b5FZW&P7K}CsycU!gKxH`ny#Y_{_>-U z>bl#u@a)L`q=t?YrOeS6qrNqDt)W>t(B)bnZ+#PtatXC`-Knb)!{4+SOd1o7y6I?( zhYxGjul06xqM7c(tlxDydOAmcmDVrNd(-jPcx>m3|9briPEx|1vg!=iT-Yu_mn`zE`y$|*OQ>UFZUmrm|e@D4rUt?)ct^;We_9#jt0$@$L z<)`~Jo9646BD<+S%q-Iab$-;=SEr|>h5ClHDF9WSTBr}B7lDwg*|l}eHPQwM8cMR+ zOkVYM?%7Tzov$vt@>(4dg@U&A=;vzsQrQ(-=vtSgFZ<(rVl~G)S(Ywz)K$!0&`IZH zL&ut;O_w_Bd}v)f47I(w=yurB;_kX$eA5t9oU}c3Ey?yBwv7XO=uA|vr%pq6dZ43$ z^k)y4AoPJNYJT%gl;Hhn03p^ z|0I^vJKAE@CR&%`r5Il!eb~|?_7si8+C8W*>|s&V;5?LC#n$OWnnzf~68~RY*B(|? zmBl{<1(Lg0pq3@d6-)fItBClZAg*RJlVV`@Ii!txMFfJ&z1+)FKv1WLji#S{vd}W6 zw`QVQ9YN)xTnL52F)e#2l}!(G)U?mZ$2h;e&p|FW|J?8Fz1Lo6pS9OskKZ~Rel!V= z{So-*wZ-C5&OBpUqBz$5Y)WL$Pk=9ABwbi~NpkJ{ zQ{o5T2t!!-@YQ&DA!VuMM=T=sfAb}C^mH4ravu5?5}z?nC{dt8jDuj}93m^w7#}y$ zYrNb65c?MgG%0EdHvPO4$Z4EY1oJv4o+ZaAhVpaO4SnS1OtmJ-!h%1EkO4ci$(rpd$TB$N zlRaZ6nq%Y4QIX0b7oy~(U+A?UdB!7V-7+=T=2+~4pGAZ&{{(#zz`X2yOKPDLAR>yE zx&kFgO0{N7#Mdyn5V3!BX0so9Zz>@1iJ|m%$RF@PFN><2f3o^1Tg%hHUj>R~Q3*C#ndJGbq z%YKsxW;(CX5{+4wwCp@%rrs(0?0N1iqZ7=>MM-8ByE{Jxo$OPGLtDt_>qUQG*$(cy z*wrBJyvyn?NP!CmUW^Msm5Wjh&`l-WYJ#NW>IN~$7lP%P{vy1W!G@_`4D8X1yWH2K z19$Jo$>7kVcUzqp(W4`&{+5oadNI5QMQo$E=VnKQE=(`kL31EouMVX_YPAM&x8!x& z?zW+9Ty#JjPyWAKiW%NJY>_dho@k`nr3&a0G_DOb0N}K+$j}Tx*a~4c-_j`$p<*mC zZg7oZS*#e?lM!ePmVDuL8a~GBmKc(Ihw!W`w>1XAGy~D54B}PXJIwmW0hz6M(Yf^~ zddv!-G1Uj*^`Ie0#-)a?g^o%_BCZ*?VCMb2G8}b;9FlxkLTE!HIU zUCp{$D=Kw++8zljXvu{&Rz`JRuCSmkxhhwj=c12xks z@wKmZ&syQ}QDqQq+B#tlMD&>X68xU;Y^+<>Re0cfM2tt

    _^W7%g`_P4Us*dP(f? z^Fz83EoBNDEFs3mE#gwgW_v1M0@Vc$m#zc6 zvmGY>`?nz&RI2=W_YbCcuI@1P*2GqE*+-kaT|^14JY^b$$R~ui){4j2+JGBM3G&Ik zViR9k1=qiMpIALe|0_^w9LG+|pM*Td?u0!AB%YG4Y5T4Z@JRpf#O4sb{yRKUNt7^geH0cqK{n&ZiaYVH?gZ&Rv=NuZcwb2t&Iub3 z-n?@~#0=)5YY_bCnGnP2ButwzkQQpryJ=ehPd$JXc)@=uL>o1X+JkuQRT`qb97&fR zL_I8uUv$t#^~J-LPHIJcdR7jla6=x#-fKBzQZ?-$7j^PN62mldQ=yN)aW?rvK80%A za_P@LP?=xzD9VS!o2A0#P+xwmfWkODxU0FjfJohMR{`a!`;921VlRRtg*3pc*}sVT zNiuC@5pDM7dwB_>x1k=yVpwDlTZ^fmRP#~1w3s54Z+^R&9vmnWJn3vRvQaH?0aZ1? zI}R&BjFnJAMR?Zc5}GbQL92qixuw7m9xf$wA9t!kRz{ZMP8FpT%;BXJ;xBPC=pNfv zLFRbkc_3Z{|hziA= zuL7?qDT4A2l>o~|DJ}Ir!q+Rv#e3G!NS^jIbgCR#sDxhzb4(j_9$092-!3c@)`E{z zK@1(wBI}qt3*%Qy5#x?~j$Y9dNaT*AC9*OS{~-i;o`O%ld!AysR|Iw&Deq*y5{;v* zGSK|h#QaV^mZUPGRWCq8Uj7+OPrg8lx(w#$(?9|gGlDk)?b5znOZh(h(R2_N zt;1sX=3%&X9X-uu3y^8O7lSuAl2T!#kzLMLa@zGG?bH^Wrg!=v!K8s){Uj{MxeA)f zX~&RWl~>e`3uW zoXxy( zNXa8Vplnr~lK^Kpuil2-1j`KIH$Nc!3s>X(9Ikz(~yT5b~jpJ#1pcdi;_CBSlo$!ClR-`kdm}Q>W7^#>05{m*9@R`?+rm73uTOJq$g{PQ^pU{t2fs zW-q`KtS6NB+OYT_#*bA@xs_(|s?X?O z$b>-yY23-R$ymL;86u8sr`M#c0;C}Fy(H8*AH*L^*>_288aK>EGyX})FXkAfOIAv- z!Td@F1`a3Sr@L=O8`g27j+XGh=fE_7F$elo_9-4%?Tq<2h#TaB(2Um=xqAoW(=d?e zp*g(fAg+oJ(vxzh^VvKDf<4;`E{P44%Sst)J#bX#;$cHfA7P_XTj>ElACEl>n@v%C z<0BAvD-xD5fIE&-Z>d**(VyIr0AlAp!n*+n$;t1=5%JDr)WQq4K%3Si(s-_}2bZJm zRLI30Se4RZX!mx`J_dbJ^6Q*V_wnCaKzC{~(!rDaXg*uwarN9`WTDeHL46`WmdZK@ z@=Kos*_R#xF=T4u?Q_v=siPQPKLb0XxIh{~9RC=O-PI=01s|rT_*4geZdkFZ-zxz- ztE)q=K(H_bA^JmaYQfILw*nx^wo2(XLv+=LAeS?((7mpO%VX)sD~|&%R$3817Zg%q zdCPuqx-kPw#(E|(#p4K`l}~V_2D^B<2EKaZL}*=AEnaf@(NGX_MASK_CONFIG); + protected _config = inject(NGX_MASK_CONFIG); - public dropSpecialCharacters: IConfig['dropSpecialCharacters'] = + public dropSpecialCharacters: Config['dropSpecialCharacters'] = this._config.dropSpecialCharacters; - public hiddenInput: IConfig['hiddenInput'] = this._config.hiddenInput; + public hiddenInput: Config['hiddenInput'] = this._config.hiddenInput; - public showTemplate!: IConfig['showTemplate']; + public showTemplate!: Config['showTemplate']; - public clearIfNotMatch: IConfig['clearIfNotMatch'] = this._config.clearIfNotMatch; + public clearIfNotMatch: Config['clearIfNotMatch'] = this._config.clearIfNotMatch; - public specialCharacters: IConfig['specialCharacters'] = this._config.specialCharacters; + public specialCharacters: Config['specialCharacters'] = this._config.specialCharacters; - public patterns: IConfig['patterns'] = this._config.patterns; + public patterns: Config['patterns'] = this._config.patterns; - public prefix: IConfig['prefix'] = this._config.prefix; + public prefix: Config['prefix'] = this._config.prefix; - public suffix: IConfig['suffix'] = this._config.suffix; + public suffix: Config['suffix'] = this._config.suffix; - public thousandSeparator: IConfig['thousandSeparator'] = this._config.thousandSeparator; + public thousandSeparator: Config['thousandSeparator'] = this._config.thousandSeparator; - public decimalMarker: IConfig['decimalMarker'] = this._config.decimalMarker; + public decimalMarker: Config['decimalMarker'] = this._config.decimalMarker; - public customPattern!: IConfig['patterns']; + public customPattern!: Config['patterns']; - public showMaskTyped: IConfig['showMaskTyped'] = this._config.showMaskTyped; + public showMaskTyped: Config['showMaskTyped'] = this._config.showMaskTyped; - public placeHolderCharacter: IConfig['placeHolderCharacter'] = - this._config.placeHolderCharacter; + public placeHolderCharacter: Config['placeHolderCharacter'] = this._config.placeHolderCharacter; - public validation: IConfig['validation'] = this._config.validation; + public validation: Config['validation'] = this._config.validation; - public separatorLimit: IConfig['separatorLimit'] = this._config.separatorLimit; + public separatorLimit: Config['separatorLimit'] = this._config.separatorLimit; - public allowNegativeNumbers: IConfig['allowNegativeNumbers'] = - this._config.allowNegativeNumbers; + public allowNegativeNumbers: Config['allowNegativeNumbers'] = this._config.allowNegativeNumbers; - public leadZeroDateTime: IConfig['leadZeroDateTime'] = this._config.leadZeroDateTime; + public leadZeroDateTime: Config['leadZeroDateTime'] = this._config.leadZeroDateTime; - public leadZero: IConfig['leadZero'] = this._config.leadZero; + public leadZero: Config['leadZero'] = this._config.leadZero; - public apm: IConfig['apm'] = this._config.apm; + public apm: Config['apm'] = this._config.apm; - public inputTransformFn: IConfig['inputTransformFn'] = this._config.inputTransformFn; + public inputTransformFn: Config['inputTransformFn'] = this._config.inputTransformFn; - public outputTransformFn: IConfig['outputTransformFn'] = this._config.outputTransformFn; + public outputTransformFn: Config['outputTransformFn'] = this._config.outputTransformFn; - public keepCharacterPositions: IConfig['keepCharacterPositions'] = + public keepCharacterPositions: Config['keepCharacterPositions'] = this._config.keepCharacterPositions; private _shift = new Set(); @@ -74,7 +72,7 @@ export class NgxMaskApplierService { public applyMaskWithPattern( inputValue: string, - maskAndPattern: [string, IConfig['patterns']] + maskAndPattern: [string, Config['patterns']] ): string { const [mask, customPattern] = maskAndPattern; this.customPattern = customPattern; @@ -87,7 +85,7 @@ export class NgxMaskApplierService { position = 0, justPasted = false, backspaced = false, - // eslint-disable-next-line @typescript-eslint/no-explicit-any + // eslint-disable-next-line @typescript-eslint/no-empty-function cb: (...args: any[]) => any = () => {} ): string { if (!maskExpression || typeof inputValue !== 'string') { @@ -122,6 +120,7 @@ export class NgxMaskApplierService { maskExpression = '099.099.099.099'; } const arr: string[] = []; + // eslint-disable-next-line @typescript-eslint/prefer-for-of for (let i = 0; i < inputValue.length; i++) { if (inputValue[i]?.match('\\d')) { arr.push(inputValue[i] ?? MaskExpression.EMPTY_STRING); @@ -167,6 +166,7 @@ export class NgxMaskApplierService { )}`; } let value = ''; + // eslint-disable-next-line @typescript-eslint/no-unused-expressions this.allowNegativeNumbers && inputValue.slice(cursor, cursor + 1) === MaskExpression.MINUS ? (value = `${MaskExpression.MINUS}${inputValue.slice(cursor + 1, cursor + inputValue.length)}`) @@ -382,6 +382,7 @@ export class NgxMaskApplierService { } } else { for ( + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion let i = 0, inputSymbol: string = inputArray[0]!; i < inputArray.length; i++, inputSymbol = inputArray[i] ?? MaskExpression.EMPTY_STRING @@ -848,7 +849,7 @@ export class NgxMaskApplierService { private checkInputPrecision = ( inputValue: string, precision: number, - decimalMarker: IConfig['decimalMarker'] + decimalMarker: Config['decimalMarker'] ): string => { if (precision < Infinity) { // TODO need think about decimalMarker diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts index 5bf14e3f..08a9ce87 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts @@ -5,7 +5,7 @@ export type InputTransformFn = (value: unknown) => string | number; export type OutputTransformFn = (value: string | number | undefined | null) => unknown; -export interface IConfig { +export type Config = { suffix: string; prefix: string; thousandSeparator: string; @@ -37,14 +37,14 @@ export interface IConfig { symbol?: string; } >; -} +}; -export type optionsConfig = Partial; -export const NGX_MASK_CONFIG = new InjectionToken('ngx-mask config'); -export const NEW_CONFIG = new InjectionToken('new ngx-mask config'); -export const INITIAL_CONFIG = new InjectionToken('initial ngx-mask config'); +export type optionsConfig = Partial; +export const NGX_MASK_CONFIG = new InjectionToken('ngx-mask config'); +export const NEW_CONFIG = new InjectionToken('new ngx-mask config'); +export const INITIAL_CONFIG = new InjectionToken('initial ngx-mask config'); -export const initialConfig: IConfig = { +export const initialConfig: Config = { suffix: '', prefix: '', thousandSeparator: ' ', diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts index 2c1c6fac..2305166e 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts @@ -19,7 +19,7 @@ import { } from '@angular/forms'; import { CustomKeyboardEvent } from './custom-keyboard-event'; -import { IConfig, NGX_MASK_CONFIG, timeMasks, withoutValidation } from './ngx-mask.config'; +import { Config, NGX_MASK_CONFIG, timeMasks, withoutValidation } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; import { MaskExpression } from './ngx-mask-expression.enum'; @@ -44,53 +44,53 @@ import { MaskExpression } from './ngx-mask-expression.enum'; export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Validator { @Input('mask') public maskExpression: string | undefined | null = ''; - @Input() public specialCharacters: IConfig['specialCharacters'] = []; + @Input() public specialCharacters: Config['specialCharacters'] = []; - @Input() public patterns: IConfig['patterns'] = {}; + @Input() public patterns: Config['patterns'] = {}; - @Input() public prefix: IConfig['prefix'] = ''; + @Input() public prefix: Config['prefix'] = ''; - @Input() public suffix: IConfig['suffix'] = ''; + @Input() public suffix: Config['suffix'] = ''; - @Input() public thousandSeparator: IConfig['thousandSeparator'] = ' '; + @Input() public thousandSeparator: Config['thousandSeparator'] = ' '; - @Input() public decimalMarker: IConfig['decimalMarker'] = '.'; + @Input() public decimalMarker: Config['decimalMarker'] = '.'; - @Input() public dropSpecialCharacters: IConfig['dropSpecialCharacters'] | null = null; + @Input() public dropSpecialCharacters: Config['dropSpecialCharacters'] | null = null; - @Input() public hiddenInput: IConfig['hiddenInput'] | null = null; + @Input() public hiddenInput: Config['hiddenInput'] | null = null; - @Input() public showMaskTyped: IConfig['showMaskTyped'] | null = null; + @Input() public showMaskTyped: Config['showMaskTyped'] | null = null; - @Input() public placeHolderCharacter: IConfig['placeHolderCharacter'] | null = null; + @Input() public placeHolderCharacter: Config['placeHolderCharacter'] | null = null; - @Input() public shownMaskExpression: IConfig['shownMaskExpression'] | null = null; + @Input() public shownMaskExpression: Config['shownMaskExpression'] | null = null; - @Input() public showTemplate: IConfig['showTemplate'] | null = null; + @Input() public showTemplate: Config['showTemplate'] | null = null; - @Input() public clearIfNotMatch: IConfig['clearIfNotMatch'] | null = null; + @Input() public clearIfNotMatch: Config['clearIfNotMatch'] | null = null; - @Input() public validation: IConfig['validation'] | null = null; + @Input() public validation: Config['validation'] | null = null; - @Input() public separatorLimit: IConfig['separatorLimit'] | null = null; + @Input() public separatorLimit: Config['separatorLimit'] | null = null; - @Input() public allowNegativeNumbers: IConfig['allowNegativeNumbers'] | null = null; + @Input() public allowNegativeNumbers: Config['allowNegativeNumbers'] | null = null; - @Input() public leadZeroDateTime: IConfig['leadZeroDateTime'] | null = null; + @Input() public leadZeroDateTime: Config['leadZeroDateTime'] | null = null; - @Input() public leadZero: IConfig['leadZero'] | null = null; + @Input() public leadZero: Config['leadZero'] | null = null; - @Input() public triggerOnMaskChange: IConfig['triggerOnMaskChange'] | null = null; + @Input() public triggerOnMaskChange: Config['triggerOnMaskChange'] | null = null; - @Input() public apm: IConfig['apm'] | null = null; + @Input() public apm: Config['apm'] | null = null; - @Input() public inputTransformFn: IConfig['inputTransformFn'] | null = null; + @Input() public inputTransformFn: Config['inputTransformFn'] | null = null; - @Input() public outputTransformFn: IConfig['outputTransformFn'] | null = null; + @Input() public outputTransformFn: Config['outputTransformFn'] | null = null; - @Input() public keepCharacterPositions: IConfig['keepCharacterPositions'] | null = null; + @Input() public keepCharacterPositions: Config['keepCharacterPositions'] | null = null; - @Output() public maskFilled: IConfig['maskFilled'] = new EventEmitter(); + @Output() public maskFilled: Config['maskFilled'] = new EventEmitter(); private _maskValue = ''; @@ -115,11 +115,12 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida public _maskService = inject(NgxMaskService, { self: true }); - protected _config = inject(NGX_MASK_CONFIG); + protected _config = inject(NGX_MASK_CONFIG); - // eslint-disable-next-line @typescript-eslint/no-explicit-any + // eslint-disable-next-line @typescript-eslint/no-empty-function public onChange = (_: any) => {}; + // eslint-disable-next-line @typescript-eslint/no-empty-function public onTouch = () => {}; public ngOnChanges(changes: SimpleChanges): void { @@ -422,7 +423,9 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida @HostListener('input', ['$event']) public onInput(e: CustomKeyboardEvent): void { // If IME is composing text, we wait for the composed text. - if (this._isComposing) return; + if (this._isComposing) { + return; + } const el: HTMLInputElement = e.target as HTMLInputElement; const transformedValue = this._maskService.inputTransformFn(el.value); if (el.type !== 'number') { @@ -654,6 +657,7 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida el.setSelectionRange(positionToApply, positionToApply); this._position = null; } else { + // eslint-disable-next-line no-console console.warn( 'Ngx-mask writeValue work with string | number, your current value:', typeof transformedValue @@ -733,7 +737,6 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida el.selectionStart !== null && el.selectionStart === el.selectionEnd && el.selectionStart > this._maskService.prefix.length && - // eslint-disable-next-line (e as any).keyCode !== 38 ) { if (this._maskService.showMaskTyped && !this.keepCharacterPositions) { @@ -792,7 +795,9 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida if (this._isComposing) { // User finalize their choice from IME composition, so trigger onInput() for the composed text. - if (e.key === 'Enter') this.onCompositionEnd(e); + if (e.key === 'Enter') { + this.onCompositionEnd(e); + } return; } @@ -979,6 +984,7 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida (this._maskService.prefix || this._maskService.showMaskTyped)) ) { // Let the service we know we are writing value so that triggering onChange function won't happen during applyMask + // eslint-disable-next-line no-unused-expressions,@typescript-eslint/no-unused-expressions typeof this.inputTransformFn !== 'function' ? (this._maskService.writingValue = true) : ''; @@ -988,6 +994,7 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida this._maskService.applyMask(inputValue, this._maskService.maskExpression), ]; // Let the service know we've finished writing value + // eslint-disable-next-line no-unused-expressions,@typescript-eslint/no-unused-expressions typeof this.inputTransformFn !== 'function' ? (this._maskService.writingValue = false) : ''; @@ -996,6 +1003,7 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida } this._inputValue = inputValue; } else { + // eslint-disable-next-line no-console console.warn( 'Ngx-mask writeValue work with string | number, your current value:', typeof controlValue @@ -1036,7 +1044,6 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida this._maskService.formElementProperty = ['disabled', isDisabled]; } - // eslint-disable-next-line @typescript-eslint/no-explicit-any private _applyMask(): any { this._maskService.maskExpression = this._maskService._repeatPatternSymbols( this._maskValue || '' diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts index 3f75e487..4572f313 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts @@ -1,6 +1,6 @@ import { inject, Pipe, PipeTransform } from '@angular/core'; -import { IConfig, NGX_MASK_CONFIG } from './ngx-mask.config'; +import { Config, NGX_MASK_CONFIG } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; import { MaskExpression } from './ngx-mask-expression.enum'; @@ -10,7 +10,7 @@ import { MaskExpression } from './ngx-mask-expression.enum'; standalone: true, }) export class NgxMaskPipe implements PipeTransform { - private readonly defaultOptions = inject(NGX_MASK_CONFIG); + private readonly defaultOptions = inject(NGX_MASK_CONFIG); private readonly _maskService = inject(NgxMaskService); @@ -21,7 +21,7 @@ export class NgxMaskPipe implements PipeTransform { public transform( value: string | number, mask: string, - { patterns, ...config }: Partial = {} as Partial + { patterns, ...config }: Partial = {} as Partial ): string { const currentConfig = { maskExpression: mask, @@ -33,7 +33,6 @@ export class NgxMaskPipe implements PipeTransform { }, }; Object.entries(currentConfig).forEach(([key, value]) => { - //eslint-disable-next-line @typescript-eslint/no-explicit-any (this._maskService as any)[key] = value; }); if (mask.includes('||')) { diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts index 55fa078a..90b37451 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts @@ -1,7 +1,7 @@ import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core'; import { DOCUMENT } from '@angular/common'; -import { NGX_MASK_CONFIG, IConfig } from './ngx-mask.config'; +import { NGX_MASK_CONFIG, Config } from './ngx-mask.config'; import { NgxMaskApplierService } from './ngx-mask-applier.service'; import { MaskExpression } from './ngx-mask-expression.enum'; @@ -36,14 +36,14 @@ export class NgxMaskService extends NgxMaskApplierService { private _end!: number; - // eslint-disable-next-line @typescript-eslint/no-explicit-any + // eslint-disable-next-line @typescript-eslint/no-empty-function public onChange = (_: any) => {}; public readonly _elementRef = inject(ElementRef, { optional: true }); private readonly document = inject(DOCUMENT); - protected override _config = inject(NGX_MASK_CONFIG); + protected override _config = inject(NGX_MASK_CONFIG); private readonly _renderer = inject(Renderer2, { optional: true }); @@ -53,7 +53,7 @@ export class NgxMaskService extends NgxMaskApplierService { position = 0, justPasted = false, backspaced = false, - // eslint-disable-next-line @typescript-eslint/no-explicit-any + // eslint-disable-next-line @typescript-eslint/no-empty-function cb: (...args: any[]) => any = () => {} ): string { if (!maskExpression) { @@ -78,17 +78,16 @@ export class NgxMaskService extends NgxMaskApplierService { ? (inputValue[this.selStart] ?? MaskExpression.EMPTY_STRING) : MaskExpression.EMPTY_STRING; let newInputValue = ''; - if (this.hiddenInput !== undefined && !this.writingValue) { + if (this.hiddenInput && !this.writingValue) { let actualResult: string[] = inputValue && inputValue.length === 1 ? inputValue.split(MaskExpression.EMPTY_STRING) : this.actualValue.split(MaskExpression.EMPTY_STRING); - // eslint-disable @typescript-eslint/no-unused-expressions - if (typeof this.selStart === 'object' && typeof this.selEnd === 'object') { this.selStart = Number(this.selStart); this.selEnd = Number(this.selEnd); } else { + // eslint-disable-next-line no-unused-expressions,@typescript-eslint/no-unused-expressions inputValue !== MaskExpression.EMPTY_STRING && actualResult.length ? typeof this.selStart === 'number' && typeof this.selEnd === 'number' ? inputValue.length > actualResult.length @@ -205,6 +204,7 @@ export class NgxMaskService extends NgxMaskApplierService { (this._previousValue === this._currentValue && justPasted); } + // eslint-disable-next-line no-unused-expressions,@typescript-eslint/no-unused-expressions this._emitValue ? this.writingValue && this.triggerOnMaskChange ? requestAnimationFrame(() => this.formControlResult(result)) @@ -250,7 +250,7 @@ export class NgxMaskService extends NgxMaskApplierService { position: number, justPasted: boolean, backspaced: boolean, - // eslint-disable-next-line @typescript-eslint/no-explicit-any + // eslint-disable-next-line @typescript-eslint/no-empty-function cb: (...args: any[]) => any = () => {} ): void { const formElement = this._elementRef?.nativeElement; @@ -426,6 +426,7 @@ export class NgxMaskService extends NgxMaskApplierService { return `${this.placeHolderCharacter}.${this.placeHolderCharacter}.${this.placeHolderCharacter}.${this.placeHolderCharacter}`; } const arr: string[] = []; + // eslint-disable-next-line @typescript-eslint/prefer-for-of for (let i = 0; i < inputVal.length; i++) { const value = inputVal[i] ?? MaskExpression.EMPTY_STRING; if (!value) { @@ -467,6 +468,7 @@ export class NgxMaskService extends NgxMaskApplierService { return cpf; } const arr: string[] = []; + // eslint-disable-next-line @typescript-eslint/prefer-for-of for (let i = 0; i < inputVal.length; i++) { const value = inputVal[i] ?? MaskExpression.EMPTY_STRING; if (!value) { @@ -524,6 +526,7 @@ export class NgxMaskService extends NgxMaskApplierService { */ private formControlResult(inputValue: string): void { if (this.writingValue || (!this.triggerOnMaskChange && this.maskChanged)) { + // eslint-disable-next-line no-unused-expressions,@typescript-eslint/no-unused-expressions this.triggerOnMaskChange && this.maskChanged ? this.onChange( this.outputTransformFn( diff --git a/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts b/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts index e2d2c0f6..17ccae94 100644 --- a/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts +++ b/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts @@ -5,7 +5,7 @@ import { TestMaskComponent } from './utils/test-component.component'; import { equal } from './utils/test-functions.component'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; -import { IConfig, initialConfig } from 'ngx-mask'; +import { Config, initialConfig } from 'ngx-mask'; describe('Directive: Mask (Custom patterns)', () => { let fixture: ComponentFixture; @@ -42,7 +42,7 @@ describe('Directive: Mask (Provide custom patterns)', () => { B: { pattern: new RegExp('[a-zA-Z]'), optional: true }, }; - const ngxMaskConfigValue: Partial = { + const ngxMaskConfigValue: Partial = { patterns: { ...initialConfig.patterns, ...ngxMaskCustomPatterns }, }; @@ -86,7 +86,7 @@ describe('Directive: Mask (Provide custom patterns with symbol *)', () => { '*': { pattern: new RegExp('[a-zA-Z0-9]') }, }; - const ngxMaskConfigValue: Partial = { + const ngxMaskConfigValue: Partial = { patterns: { ...initialConfig.patterns, ...ngxMaskCustomPatterns }, }; @@ -133,7 +133,7 @@ describe('Directive: Mask (Provide custom patterns with symbol f and F)', () => let fixture: ComponentFixture; let component: TestMaskComponent; - const ngxMaskConfig: IConfig = { + const ngxMaskConfig: Config = { ...initialConfig, patterns: { f: { @@ -188,7 +188,7 @@ describe('Directive: Mask (Provide custom patterns with symbol B optional)', () B: { pattern: new RegExp('[0-9,;]'), optional: true }, }; - const ngxMaskConfigValue: Partial = { + const ngxMaskConfigValue: Partial = { patterns: { ...initialConfig.patterns, ...ngxMaskCustomPatterns }, }; diff --git a/projects/ngx-mask-lib/src/test/delete.spec.ts b/projects/ngx-mask-lib/src/test/delete.spec.ts index 53dccc64..fa6c742b 100644 --- a/projects/ngx-mask-lib/src/test/delete.spec.ts +++ b/projects/ngx-mask-lib/src/test/delete.spec.ts @@ -163,7 +163,9 @@ describe('Directive: Mask (Delete)', () => { keyCode: 8, target: inputTarget, - preventDefault: () => {}, + preventDefault: () => { + void 0; + }, }); debugElement.triggerEventHandler('input', { target: inputTarget }); expect(inputTarget.selectionStart).toEqual(2); @@ -186,7 +188,9 @@ describe('Directive: Mask (Delete)', () => { keyCode: 8, target: inputTarget, - preventDefault: () => {}, + preventDefault: () => { + void 0; + }, }); debugElement.triggerEventHandler('input', { target: inputTarget }); expect(inputTarget.selectionStart).toEqual(3); @@ -209,7 +213,9 @@ describe('Directive: Mask (Delete)', () => { keyCode: 8, target: inputTarget, - preventDefault: () => {}, + preventDefault: () => { + void 0; + }, }); debugElement.triggerEventHandler('input', { target: inputTarget }); expect(inputTarget.selectionStart).toEqual(2); @@ -232,7 +238,9 @@ describe('Directive: Mask (Delete)', () => { keyCode: 8, target: inputTarget, - preventDefault: () => {}, + preventDefault: () => { + void 0; + }, }); debugElement.triggerEventHandler('input', { target: inputTarget }); expect(inputTarget.selectionStart).toEqual(3); diff --git a/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts b/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts index a2e6cdf3..fde4ccaf 100644 --- a/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts +++ b/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts @@ -1,7 +1,7 @@ import { TestBed } from '@angular/core/testing'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskPipe } from '../lib/ngx-mask.pipe'; -import { IConfig, NgxMaskDirective } from 'ngx-mask'; +import { Config, NgxMaskDirective } from 'ngx-mask'; describe('Pipe: Mask', () => { let maskPipe: NgxMaskPipe; @@ -33,7 +33,7 @@ describe('Pipe: Mask', () => { }); it('should custom pattern', () => { - const patterns: IConfig['patterns'] = { + const patterns: Config['patterns'] = { P: { pattern: new RegExp('\\d'), }, @@ -171,7 +171,7 @@ describe('Pipe: Mask', () => { }); it('should work with custom pattern and hideInput', () => { - const SSN_PATTERNS: IConfig['patterns'] = { + const SSN_PATTERNS: Config['patterns'] = { 0: { pattern: new RegExp('\\d') }, A: { pattern: new RegExp('\\d'), symbol: '●' }, }; diff --git a/projects/ngx-mask-lib/src/test/separator.spec.ts b/projects/ngx-mask-lib/src/test/separator.spec.ts index b0994ced..f50082a8 100644 --- a/projects/ngx-mask-lib/src/test/separator.spec.ts +++ b/projects/ngx-mask-lib/src/test/separator.spec.ts @@ -1724,7 +1724,6 @@ describe('Separator: Mask', () => { fixture.detectChanges(); inputElement.setSelectionRange(2, 2); - inputElement.selectionStart; expect(inputElement.selectionStart).toBe(2); const backspaceEvent = new KeyboardEvent('keydown', { @@ -1753,7 +1752,6 @@ describe('Separator: Mask', () => { fixture.detectChanges(); inputElement.setSelectionRange(2, 2); - inputElement.selectionStart; expect(inputElement.selectionStart).toBe(2); const backspaceEvent = new KeyboardEvent('keydown', { @@ -1782,7 +1780,6 @@ describe('Separator: Mask', () => { fixture.detectChanges(); inputElement.setSelectionRange(2, 2); - inputElement.selectionStart; expect(inputElement.selectionStart).toBe(2); const backspaceEvent = new KeyboardEvent('keydown', { diff --git a/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts b/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts index eff3a7a5..a43f961c 100644 --- a/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts @@ -1,7 +1,7 @@ import { Component, inject, Input } from '@angular/core'; import { FormControl } from '@angular/forms'; import { scan, startWith } from 'rxjs'; -import { IConfig, NGX_MASK_CONFIG } from 'ngx-mask'; +import { Config, NGX_MASK_CONFIG } from 'ngx-mask'; @Component({ selector: 'jsdaddy-open-source-test', @@ -33,7 +33,7 @@ import { IConfig, NGX_MASK_CONFIG } from 'ngx-mask'; `, }) export class CypressTestMaskComponent { - protected _config = inject(NGX_MASK_CONFIG); + protected _config = inject(NGX_MASK_CONFIG); @Input() public mask = ''; @Input() public hiddenInput = false; diff --git a/projects/ngx-mask-lib/src/test/utils/test-component.component.ts b/projects/ngx-mask-lib/src/test/utils/test-component.component.ts index 9cdcacc8..8a97a923 100644 --- a/projects/ngx-mask-lib/src/test/utils/test-component.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/test-component.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectorRef, Component, inject } from '@angular/core'; import { FormControl } from '@angular/forms'; -import { IConfig } from '../../lib/ngx-mask.config'; +import { Config } from '../../lib/ngx-mask.config'; @Component({ selector: 'jsdaddy-open-source-test', @@ -38,47 +38,47 @@ export class TestMaskComponent { public form: FormControl = new FormControl(); - public dropSpecialCharacters: IConfig['dropSpecialCharacters'] | undefined; + public dropSpecialCharacters: Config['dropSpecialCharacters'] | undefined; - public clearIfNotMatch: IConfig['clearIfNotMatch'] | undefined; + public clearIfNotMatch: Config['clearIfNotMatch'] | undefined; - public patterns: IConfig['patterns'] | undefined; + public patterns: Config['patterns'] | undefined; - public prefix: IConfig['prefix'] = ''; + public prefix: Config['prefix'] = ''; - public thousandSeparator: IConfig['thousandSeparator'] | undefined; + public thousandSeparator: Config['thousandSeparator'] | undefined; - public decimalMarker: IConfig['decimalMarker'] | undefined; + public decimalMarker: Config['decimalMarker'] | undefined; - public suffix: IConfig['suffix'] = ''; + public suffix: Config['suffix'] = ''; - public specialCharacters: IConfig['specialCharacters'] | undefined; + public specialCharacters: Config['specialCharacters'] | undefined; - public keepCharacterPositions: IConfig['keepCharacterPositions'] | undefined; + public keepCharacterPositions: Config['keepCharacterPositions'] | undefined; - public showMaskTyped: IConfig['showMaskTyped'] | undefined; + public showMaskTyped: Config['showMaskTyped'] | undefined; - public placeHolderCharacter: IConfig['placeHolderCharacter'] | undefined; + public placeHolderCharacter: Config['placeHolderCharacter'] | undefined; - public hiddenInput: IConfig['hiddenInput'] | undefined; + public hiddenInput: Config['hiddenInput'] | undefined; - public separatorLimit: IConfig['separatorLimit'] = ''; + public separatorLimit: Config['separatorLimit'] = ''; - public allowNegativeNumbers: IConfig['allowNegativeNumbers'] | undefined; + public allowNegativeNumbers: Config['allowNegativeNumbers'] | undefined; - public leadZeroDateTime: IConfig['leadZeroDateTime'] | undefined; + public leadZeroDateTime: Config['leadZeroDateTime'] | undefined; - public leadZero: IConfig['leadZero'] | undefined; + public leadZero: Config['leadZero'] | undefined; - public triggerOnMaskChange: IConfig['triggerOnMaskChange'] | undefined; + public triggerOnMaskChange: Config['triggerOnMaskChange'] | undefined; - public validation: IConfig['validation'] | undefined; + public validation: Config['validation'] | undefined; - public apm: IConfig['apm'] | undefined; + public apm: Config['apm'] | undefined; - public inputTransformFn: IConfig['inputTransformFn'] | undefined; + public inputTransformFn: Config['inputTransformFn'] | undefined; - public outputTransformFn: IConfig['outputTransformFn'] | undefined; + public outputTransformFn: Config['outputTransformFn'] | undefined; public cdr = inject(ChangeDetectorRef); } diff --git a/projects/ngx-mask-lib/src/test/utils/test-functions.component.ts b/projects/ngx-mask-lib/src/test/utils/test-functions.component.ts index 1bc088c7..c55bb246 100644 --- a/projects/ngx-mask-lib/src/test/utils/test-functions.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/test-functions.component.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-explicit-any export function typeTest(inputValue: string, fixture: any): string { fixture.detectChanges(); @@ -10,7 +9,6 @@ export function typeTest(inputValue: string, fixture: any): string { return fixture.nativeElement.querySelector('input').value; } -// eslint-disable-next-line @typescript-eslint/no-explicit-any export function equal(value: string, expectedValue: string, fixture: any, async = false): void { typeTest(value, fixture); diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 5c3ec560..527e3ed2 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -6,12 +6,7 @@ import { ComDocs, ComExamples } from 'src/assets/content/common-cases'; import { OthDocs, OthExamples } from 'src/assets/content/other'; import { OptionsComponent } from './options/options.component'; import { HeaderComponent } from '@open-source/header/header.component'; -import { - IComDoc, - IListItem, - IMaskOptions, - TExample, -} from '@open-source/accordion/content.interfaces'; +import { ComDoc, ListItem, MaskOptions, TExample } from '@open-source/accordion/content.types'; import { SubHeaderComponent } from '@open-source/sub-header/sub-header.component'; import { AccordionComponent } from '@open-source/accordion/accordion.component'; import { FooterComponent } from '@open-source/footer/footer.component'; @@ -39,10 +34,10 @@ declare const VERSION: string; providers: [{ provide: VersionToken, useValue: VERSION }], }) export class AppComponent { - public docs = signal(ComDocs); - public examples = signal<(TExample | { _pipe: string })[]>(ComExamples); + public docs = signal(ComDocs); + public examples = signal<(TExample | { _pipe: string })[]>(ComExamples); - public readonly lists: IListItem[] = lists; + public readonly lists: ListItem[] = lists; public readonly githubMaskLink = LinkPath.NGX_MASK; public readonly title = 'Ngx-Mask'; public readonly subtitle = 'Angular plugin to make masks on form fields and html elements'; diff --git a/src/app/options/options.component.ts b/src/app/options/options.component.ts index efb90475..2c20124d 100644 --- a/src/app/options/options.component.ts +++ b/src/app/options/options.component.ts @@ -3,7 +3,6 @@ import { JsonPipe, NgOptimizedImage, NgTemplateOutlet } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { initialConfig, NgxMaskDirective, NgxMaskPipe } from 'ngx-mask'; import { HighlightModule } from 'ngx-highlightjs'; -import { IComDoc, IMaskOptions, TExample } from '@open-source/accordion/content.interfaces'; import { AssetPipe } from '@libraries/asset/asset.pipe'; import { IsEmptyPipe } from '@open-source/is-empty/is-empty.pipe'; import { ColorPipe } from '@open-source/color/color.pipe'; @@ -12,6 +11,7 @@ import { ScrollService } from '@open-source/scroll/scroll.service'; import { AccordionService } from '@open-source/accordion/accordion.service'; import { OpenSourcePath } from '@open-source/path/open-source.path'; import { toSignal } from '@angular/core/rxjs-interop'; +import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; @Component({ selector: 'jsdaddy-open-source-options', @@ -35,8 +35,8 @@ import { toSignal } from '@angular/core/rxjs-interop'; ], }) export class OptionsComponent { - public cardDocs = input(); - public cardExamples = input<(TExample | { _pipe: string })[]>(); + public cardDocs = input(); + public cardExamples = input<(TExample | { _pipe: string })[]>(); public cards = viewChildren>('cards', { read: ElementRef, diff --git a/src/assets/content/common-cases.ts b/src/assets/content/common-cases.ts index 35944de0..bc45dfb3 100644 --- a/src/assets/content/common-cases.ts +++ b/src/assets/content/common-cases.ts @@ -1,7 +1,7 @@ import { UntypedFormControl } from '@angular/forms'; -import { IComDoc, IMaskOptions, TExample } from '@open-source/accordion/content.interfaces'; +import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; -export const ComDocs: IComDoc[] = [ +export const ComDocs: ComDoc[] = [ { header: 'Date', text: '', @@ -100,7 +100,7 @@ export const ComDocs: IComDoc[] = [ }, ]; -export const ComExamples: TExample[] = [ +export const ComExamples: TExample[] = [ { _placeholder: 'Date', _mask: 'd0/M0/0000', diff --git a/src/assets/content/lists.ts b/src/assets/content/lists.ts index ebd643f6..74cb9955 100644 --- a/src/assets/content/lists.ts +++ b/src/assets/content/lists.ts @@ -1,6 +1,6 @@ -import { IListItem } from '@open-source/accordion/content.interfaces'; +import { ListItem } from '@open-source/accordion/content.types'; -export const lists: IListItem[] = [ +export const lists: ListItem[] = [ { header: 'Common cases', id: 1, diff --git a/src/assets/content/optional.ts b/src/assets/content/optional.ts index 529fcc46..938b93fa 100644 --- a/src/assets/content/optional.ts +++ b/src/assets/content/optional.ts @@ -1,7 +1,7 @@ import { UntypedFormControl } from '@angular/forms'; -import { IComDoc, IMaskOptions, TExample } from '@open-source/accordion/content.interfaces'; +import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; -export const OptDocs: IComDoc[] = [ +export const OptDocs: ComDoc[] = [ { header: 'Prefix (string)', text: 'You can add prefix to you masked value', @@ -81,7 +81,7 @@ export const OptDocs: IComDoc[] = [ }, ]; -export const OptExamples: TExample[] = [ +export const OptExamples: TExample[] = [ { _placeholder: 'prefix', _prefix: '+7', diff --git a/src/assets/content/other.ts b/src/assets/content/other.ts index 772d0bb9..c13321ab 100644 --- a/src/assets/content/other.ts +++ b/src/assets/content/other.ts @@ -1,7 +1,7 @@ import { UntypedFormControl } from '@angular/forms'; -import { IComDoc, IMaskOptions, TExample } from '@open-source/accordion/content.interfaces'; +import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; -export const OthDocs: IComDoc[] = [ +export const OthDocs: ComDoc[] = [ { header: 'Secure input', text: 'You can hide symbols in input field and get the actual value in formcontrol', @@ -42,7 +42,7 @@ export const OthDocs: IComDoc[] = [ }, ]; -export const OthExamples: (TExample | { _pipe: string })[] = [ +export const OthExamples: (TExample | { _pipe: string })[] = [ { _placeholder: 'Secure input', _hiddenInput: true, diff --git a/src/assets/content/parser-and-formatter.ts b/src/assets/content/parser-and-formatter.ts index 97a687ac..abcc1d72 100644 --- a/src/assets/content/parser-and-formatter.ts +++ b/src/assets/content/parser-and-formatter.ts @@ -1,7 +1,7 @@ -import { IComDoc, IMaskOptions, TExample } from '@open-source/accordion/content.interfaces'; import { UntypedFormControl } from '@angular/forms'; +import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; -export const ParserAndFormatterDocs: IComDoc[] = [ +export const ParserAndFormatterDocs: ComDoc[] = [ { header: 'toUpperCase', text: 'You can hide symbols in input field and get the actual value in formcontrol', @@ -99,7 +99,7 @@ export const ParserAndFormatterDocs: IComDoc[] = [ }, ]; -export const FormatAndParserExamples: TExample[] = [ +export const FormatAndParserExamples: TExample[] = [ { _placeholder: 'S*', _mask: 'S*', diff --git a/src/assets/content/separators.ts b/src/assets/content/separators.ts index 1ce75f60..fb61ac6f 100644 --- a/src/assets/content/separators.ts +++ b/src/assets/content/separators.ts @@ -1,7 +1,7 @@ import { UntypedFormControl } from '@angular/forms'; -import { IComDoc, IMaskOptions, TExample } from '@open-source/accordion/content.interfaces'; +import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; -export const SepDocs: IComDoc[] = [ +export const SepDocs: ComDoc[] = [ { header: 'Thousand separator', text: 'You can divide your input by thousands', @@ -39,7 +39,7 @@ export const SepDocs: IComDoc[] = [ }, ]; -export const SepExamples: TExample[] = [ +export const SepExamples: TExample[] = [ { _placeholder: 'Separator', _mask: 'separator', diff --git a/src/libraries b/src/libraries index 732a29a7..8037189c 160000 --- a/src/libraries +++ b/src/libraries @@ -1 +1 @@ -Subproject commit 732a29a701b8b29990f1d6c7cb5c9add02206940 +Subproject commit 8037189c89d218cb473a7337809be3700c21e757 diff --git a/src/main.ts b/src/main.ts index 678e5a89..0594e9cf 100644 --- a/src/main.ts +++ b/src/main.ts @@ -28,4 +28,5 @@ bootstrapApplication(AppComponent, { }, }, ], + // eslint-disable-next-line no-console }).catch((err) => console.error(err)); diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 00000000..05fc0437 --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "include": ["**/*.ts"] +} diff --git a/tsconfig.json b/tsconfig.json index 2cffed9f..7ab3eef1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -28,7 +28,8 @@ "noImplicitOverride": true, "noPropertyAccessFromIndexSignature": true, "useDefineForClassFields": false, - "skipLibCheck": true + "skipLibCheck": true, + "noImplicitAny": true }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, From 2e45d0135edc02a2db1d59da96cd7a1ea2f24854 Mon Sep 17 00:00:00 2001 From: andriikamaldinov1 Date: Tue, 29 Oct 2024 15:15:56 +0200 Subject: [PATCH 2/5] feat(ref: #188): add strict eslint rules --- bun.lockb | Bin 1048338 -> 1048790 bytes cypress.config.ts | 26 +- eslint.config.js | 7 +- package.json | 3 +- .../src/lib/ngx-mask-applier.service.ts | 353 ++++++++++-------- .../ngx-mask-lib/src/lib/ngx-mask.config.ts | 4 +- .../src/lib/ngx-mask.directive.ts | 85 ++--- .../ngx-mask-lib/src/lib/ngx-mask.pipe.ts | 57 ++- .../ngx-mask-lib/src/lib/ngx-mask.service.ts | 51 +-- .../ngx-mask-lib/src/test/basic-logic.spec.ts | 8 +- .../ngx-mask-lib/src/test/cursor.cy-spec.ts | 32 +- .../ngx-mask-lib/src/test/delete.cy-spec.ts | 174 ++++----- .../utils/cypress-test-component.component.ts | 2 +- .../test/utils/test-component.component.ts | 2 +- src/app/options/options.component.html | 2 +- 15 files changed, 446 insertions(+), 360 deletions(-) diff --git a/bun.lockb b/bun.lockb index 23ec61a02a5341059f2f4a3a187badc830ce8d0a..de39f5a7b81329e801c8580d2e778135393398b0 100755 GIT binary patch delta 198727 zcmcGX2Vhl2_W$pFK!(+KxQ#@;7@1m^ox#h)`b0uqHg5wEahj1oJFC28L9yesN>tnfdI0&Ipwf9_NEcGS z6?i+DQoaG&9(opowT3PSALKZ(sy+-P6|zf83iGmxouaIYoY}Cql}svB-57E`5-PL# zi2o5rUJL2tP^q_$OzEevAW!&pdNUhgsD^U>f7Q+Wk1+6MBgZ)e`ZlzsbCOe4nN>Ec zoCasZu2ih-pThhcrzFJFU{@q`Q%H}8CV^9+GT;pA$xKi7TSbyORKSZ2yB;c~PFrR7 zWIr>KG`>+gmGT^@)G95=uavQ7f@O>jbSzBfm6es0_0C&Z3zl9^rCex!L2+*Hd8JN_ zN`jyCGrM$-QLsqj z2h?m|#VO0n%I#e`ch>Ynbxxr|#i}g(yC@J*>5&WlQaF{kP%I^zFVtzu=RLTT@^yxe&? zd7n^Gl;v%x%yd$BWgxpOD+hr&+rUNwhikhWsI1HOaDbw$vblM=j?>`?wTgxkZ9#t1 z7!5A(p$(shb_C}YmCPw9EXck9ECW

    p(rW0Rc4M;yGf${C_0nuaj6n18;78NlM3()=Y! zeAd~Ct`_5QSz{al98RB5Kfv0zq-EFEzGE#*#1i0J3(@C-tuo_uc-Xuy4}QrTE;v(^ zh~>lx&MFQfoT8J(?Tmp-cgvIUU(@SUcHFlVVS(y~d(8oqa5&x5Wv}KO+B@kiM2orx z{OoQj^aUK~e*nS_5JgW7O|l8=|3yyW()WdEKs1yHx*9XmIcN8zyX7q<`KZemAbOEK zI^pc^Iq~kVe~kFOumzwZ%>zI{H~^f{cA1cGg0+Xe4p{)=_De%|$G3wMa#r8SVWTYa zp#1pJBW^qUAuS=V5)guC4^Wj7&_}cfb(*s1!^?N_m;<`TLuDU8AD58E1JD$$0Gc)I zef+?XQ@8=r9J4Tr7L|ZxpZk-%^QC$FMqhvPRUf7io6LaARMK*=UYTPRly;w{j=X(qlStIn{T6e<#m^35aPC_vXkuc@R(;*%x77`%2kW z2*{e@|0h~zi(B@)u#`xj`=AW2zAbI%k;fS^iX3nxlEr;0`ul6bG&&(f14^xnsWG;{ z2E^gWR0P*%lR^&JAyUX;MPaD)dE}q{q>aD;Hx0m@p|SSKmb|A*<8Ckf>+VB&%i7hX z24(Ghw0kJAET&^IEx;poU2p0A4>?+RkW1^bee>d@%$%M+ZfLXWKNelm(;2^cHGG8TS>NLXEG3(3?L$eg8Ztk}v{Jo=pU9z9{bZ9aB=56hH?r&~KJeZ^L}{$I|0j7{Xt#N*Sy}rPmd@!(O%7~ z`JVjLqP31r({A9QJx!_n2qdjH9^vGLhhr=pwwx#L_WaYDqq{aZU&ZJ1>^yxRy2y(t z7XH4`VeJ`@p*gT+auny3lr1woW{+{shu^%jJz9}Fe~+%W-g(giZ@ZY#{554H?bna& zPv5M(X^9tp^RzB4&^U3RPt7Xc`0aw<9(DHKophsI*>36^nB}w$oBZ_0w|j9q=I%Y9d%IrV{d#R~ oH8$UjuW916e7SQ}EFVB22keSa_ZN1yquyN4xB1O=`>US+4@XtSb^rhX diff --git a/cypress.config.ts b/cypress.config.ts index 415c3c33..03eb55c7 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -1,21 +1,15 @@ -import { defineConfig } from "cypress"; +import { defineConfig } from 'cypress'; export default defineConfig({ - projectId: "qhyo66", - - component: { - devServer: { - framework: "angular", - bundler: "webpack", + projectId: 'qhyo66', + + component: { + devServer: { + framework: 'angular', + bundler: 'webpack', + }, + specPattern: 'projects/ngx-mask-lib/src/test/**/*.cy-spec.ts', }, - specPattern: "projects/ngx-mask-lib/src/test/**/*.cy-spec.ts", - }, - - defaultCommandTimeout: 10000, - e2e: { - setupNodeEvents(on, config) { - // implement node event listeners here - }, - }, + defaultCommandTimeout: 10000, }); diff --git a/eslint.config.js b/eslint.config.js index 5fd184eb..5bee542f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -143,10 +143,9 @@ module.exports = tseslint.config( 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }], //THINK ABOUT THIS - 'no-param-reassign': 'off', - 'no-undefined': 'off', - // 'no-param-reassign': 'error', 43 - // 'no-undefined': 'error', 9 + // 'no-param-reassign': 'off', + 'no-param-reassign': 'error', + 'no-undefined': 'error', '@typescript-eslint/no-unused-expressions': 'error', '@typescript-eslint/array-type': 'error', diff --git a/package.json b/package.json index 8e092a19..9d8df405 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,8 @@ "typescript": "5.5.4", "angular-eslint": "^18.4.0", "typescript-eslint": "^8.11.0", - "tailwindcss": "^3.4.14" + "tailwindcss": "^3.4.14", + "bun-types": "^1.1.33" }, "typeCoverage": { "atLeast": 92, diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts b/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts index a14f0291..c86c8b98 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts @@ -97,205 +97,222 @@ export class NgxMaskApplierService { let backspaceShift = false; let shift = 1; let stepBack = false; - if (inputValue.slice(0, this.prefix.length) === this.prefix) { - inputValue = inputValue.slice(this.prefix.length, inputValue.length); + let processedValue = inputValue; + let processedPosition = position; + + if (processedValue.slice(0, this.prefix.length) === this.prefix) { + processedValue = processedValue.slice(this.prefix.length, processedValue.length); } - if (!!this.suffix && inputValue?.length > 0) { - inputValue = this.checkAndRemoveSuffix(inputValue); + if (!!this.suffix && processedValue.length > 0) { + processedValue = this.checkAndRemoveSuffix(processedValue); } - if (inputValue === '(' && this.prefix) { - inputValue = ''; + if (processedValue === '(' && this.prefix) { + processedValue = ''; } - const inputArray: string[] = inputValue.toString().split(MaskExpression.EMPTY_STRING); + const inputArray: string[] = processedValue.toString().split(MaskExpression.EMPTY_STRING); if ( this.allowNegativeNumbers && - inputValue.slice(cursor, cursor + 1) === MaskExpression.MINUS + processedValue.slice(cursor, cursor + 1) === MaskExpression.MINUS ) { - result += inputValue.slice(cursor, cursor + 1); + result += processedValue.slice(cursor, cursor + 1); } if (maskExpression === MaskExpression.IP) { - const valuesIP = inputValue.split(MaskExpression.DOT); + const valuesIP = processedValue.split(MaskExpression.DOT); this.ipError = this._validIP(valuesIP); + // eslint-disable-next-line no-param-reassign maskExpression = '099.099.099.099'; } const arr: string[] = []; // eslint-disable-next-line @typescript-eslint/prefer-for-of - for (let i = 0; i < inputValue.length; i++) { - if (inputValue[i]?.match('\\d')) { - arr.push(inputValue[i] ?? MaskExpression.EMPTY_STRING); + for (let i = 0; i < processedValue.length; i++) { + if (processedValue[i]?.match('\\d')) { + arr.push(processedValue[i] ?? MaskExpression.EMPTY_STRING); } } if (maskExpression === MaskExpression.CPF_CNPJ) { this.cpfCnpjError = arr.length !== 11 && arr.length !== 14; if (arr.length > 11) { + // eslint-disable-next-line no-param-reassign maskExpression = '00.000.000/0000-00'; } else { + // eslint-disable-next-line no-param-reassign maskExpression = '000.000.000-00'; } } if (maskExpression.startsWith(MaskExpression.PERCENT)) { if ( - inputValue.match('[a-z]|[A-Z]') || + processedValue.match('[a-z]|[A-Z]') || // eslint-disable-next-line no-useless-escape - (inputValue.match(/[-!$%^&*()_+|~=`{}\[\]:";'<>?,\/.]/) && !backspaced) + (processedValue.match(/[-!$%^&*()_+|~=`{}\[\]:";'<>?,\/.]/) && !backspaced) ) { - inputValue = this._stripToDecimal(inputValue); + processedValue = this._stripToDecimal(processedValue); const precision: number = this.getPrecision(maskExpression); - inputValue = this.checkInputPrecision(inputValue, precision, this.decimalMarker); + processedValue = this.checkInputPrecision( + processedValue, + precision, + this.decimalMarker + ); } const decimalMarker = typeof this.decimalMarker === 'string' ? this.decimalMarker : MaskExpression.DOT; if ( - inputValue.indexOf(decimalMarker) > 0 && - !this.percentage(inputValue.substring(0, inputValue.indexOf(decimalMarker))) + processedValue.indexOf(decimalMarker) > 0 && + !this.percentage(processedValue.substring(0, processedValue.indexOf(decimalMarker))) ) { - let base: string = inputValue.substring(0, inputValue.indexOf(decimalMarker) - 1); + let base: string = processedValue.substring( + 0, + processedValue.indexOf(decimalMarker) - 1 + ); if ( this.allowNegativeNumbers && - inputValue.slice(cursor, cursor + 1) === MaskExpression.MINUS && + processedValue.slice(cursor, cursor + 1) === MaskExpression.MINUS && !backspaced ) { - base = inputValue.substring(0, inputValue.indexOf(decimalMarker)); + base = processedValue.substring(0, processedValue.indexOf(decimalMarker)); } - inputValue = `${base}${inputValue.substring( - inputValue.indexOf(decimalMarker), - inputValue.length + processedValue = `${base}${processedValue.substring( + processedValue.indexOf(decimalMarker), + processedValue.length )}`; } let value = ''; // eslint-disable-next-line @typescript-eslint/no-unused-expressions this.allowNegativeNumbers && - inputValue.slice(cursor, cursor + 1) === MaskExpression.MINUS - ? (value = `${MaskExpression.MINUS}${inputValue.slice(cursor + 1, cursor + inputValue.length)}`) - : (value = inputValue); + processedValue.slice(cursor, cursor + 1) === MaskExpression.MINUS + ? (value = `${MaskExpression.MINUS}${processedValue.slice(cursor + 1, cursor + processedValue.length)}`) + : (value = processedValue); if (this.percentage(value)) { - result = this._splitPercentZero(inputValue); + result = this._splitPercentZero(processedValue); } else { - result = this._splitPercentZero(inputValue.substring(0, inputValue.length - 1)); + result = this._splitPercentZero( + processedValue.substring(0, processedValue.length - 1) + ); } } else if (maskExpression.startsWith(MaskExpression.SEPARATOR)) { if ( - inputValue.match('[wа-яА-Я]') || - inputValue.match('[ЁёА-я]') || - inputValue.match('[a-z]|[A-Z]') || - inputValue.match(/[-@#!$%\\^&*()_£¬'+|~=`{}\]:";<>.?/]/) || - inputValue.match('[^A-Za-z0-9,]') + processedValue.match('[wа-яА-Я]') || + processedValue.match('[ЁёА-я]') || + processedValue.match('[a-z]|[A-Z]') || + processedValue.match(/[-@#!$%\\^&*()_£¬'+|~=`{}\]:";<>.?/]/) || + processedValue.match('[^A-Za-z0-9,]') ) { - inputValue = this._stripToDecimal(inputValue); + processedValue = this._stripToDecimal(processedValue); } const precision: number = this.getPrecision(maskExpression); const decimalMarker = Array.isArray(this.decimalMarker) ? MaskExpression.DOT : this.decimalMarker; + if (precision === 0) { - inputValue = this.allowNegativeNumbers - ? inputValue.length > 2 && - inputValue[0] === MaskExpression.MINUS && - inputValue[1] === MaskExpression.NUMBER_ZERO && - inputValue[2] !== this.thousandSeparator && - inputValue[2] !== MaskExpression.COMMA && - inputValue[2] !== MaskExpression.DOT - ? '-' + inputValue.slice(2, inputValue.length) - : inputValue[0] === MaskExpression.NUMBER_ZERO && - inputValue.length > 1 && - inputValue[1] !== this.thousandSeparator && - inputValue[1] !== MaskExpression.COMMA && - inputValue[1] !== MaskExpression.DOT - ? inputValue.slice(1, inputValue.length) - : inputValue - : inputValue.length > 1 && - inputValue[0] === MaskExpression.NUMBER_ZERO && - inputValue[1] !== this.thousandSeparator && - inputValue[1] !== MaskExpression.COMMA && - inputValue[1] !== MaskExpression.DOT - ? inputValue.slice(1, inputValue.length) - : inputValue; + processedValue = this.allowNegativeNumbers + ? processedValue.length > 2 && + processedValue[0] === MaskExpression.MINUS && + processedValue[1] === MaskExpression.NUMBER_ZERO && + processedValue[2] !== this.thousandSeparator && + processedValue[2] !== MaskExpression.COMMA && + processedValue[2] !== MaskExpression.DOT + ? '-' + processedValue.slice(2, processedValue.length) + : processedValue[0] === MaskExpression.NUMBER_ZERO && + processedValue.length > 1 && + processedValue[1] !== this.thousandSeparator && + processedValue[1] !== MaskExpression.COMMA && + processedValue[1] !== MaskExpression.DOT + ? processedValue.slice(1, processedValue.length) + : processedValue + : processedValue.length > 1 && + processedValue[0] === MaskExpression.NUMBER_ZERO && + processedValue[1] !== this.thousandSeparator && + processedValue[1] !== MaskExpression.COMMA && + processedValue[1] !== MaskExpression.DOT + ? processedValue.slice(1, processedValue.length) + : processedValue; } else { - if (inputValue[0] === decimalMarker && inputValue.length > 1) { - inputValue = - MaskExpression.NUMBER_ZERO + inputValue.slice(0, inputValue.length + 1); + if (processedValue[0] === decimalMarker && processedValue.length > 1) { + processedValue = + MaskExpression.NUMBER_ZERO + + processedValue.slice(0, processedValue.length + 1); this.plusOnePosition = true; } if ( - inputValue[0] === MaskExpression.NUMBER_ZERO && - inputValue[1] !== decimalMarker && - inputValue[1] !== this.thousandSeparator + processedValue[0] === MaskExpression.NUMBER_ZERO && + processedValue[1] !== decimalMarker && + processedValue[1] !== this.thousandSeparator ) { - inputValue = - inputValue.length > 1 - ? inputValue.slice(0, 1) + + processedValue = + processedValue.length > 1 + ? processedValue.slice(0, 1) + decimalMarker + - inputValue.slice(1, inputValue.length + 1) - : inputValue; + processedValue.slice(1, processedValue.length + 1) + : processedValue; this.plusOnePosition = true; } if ( this.allowNegativeNumbers && - inputValue[0] === MaskExpression.MINUS && - (inputValue[1] === decimalMarker || - inputValue[1] === MaskExpression.NUMBER_ZERO) + processedValue[0] === MaskExpression.MINUS && + (processedValue[1] === decimalMarker || + processedValue[1] === MaskExpression.NUMBER_ZERO) ) { - inputValue = - inputValue[1] === decimalMarker && inputValue.length > 2 - ? inputValue.slice(0, 1) + + processedValue = + processedValue[1] === decimalMarker && processedValue.length > 2 + ? processedValue.slice(0, 1) + MaskExpression.NUMBER_ZERO + - inputValue.slice(1, inputValue.length) - : inputValue[1] === MaskExpression.NUMBER_ZERO && - inputValue.length > 2 && - inputValue[2] !== decimalMarker - ? inputValue.slice(0, 2) + + processedValue.slice(1, processedValue.length) + : processedValue[1] === MaskExpression.NUMBER_ZERO && + processedValue.length > 2 && + processedValue[2] !== decimalMarker + ? processedValue.slice(0, 2) + decimalMarker + - inputValue.slice(2, inputValue.length) - : inputValue; + processedValue.slice(2, processedValue.length) + : processedValue; this.plusOnePosition = true; } } if (backspaced) { - const inputValueAfterZero = inputValue.slice( - this._findFirstNonZeroDigitIndex(inputValue), - inputValue.length + const inputValueAfterZero = processedValue.slice( + this._findFirstNonZeroDigitIndex(processedValue), + processedValue.length ); const positionOfZeroOrDecimalMarker = - inputValue[position] === MaskExpression.NUMBER_ZERO || - inputValue[position] === decimalMarker; - const zeroIndexNumberZero = inputValue[0] === MaskExpression.NUMBER_ZERO; - const zeroIndexMinus = inputValue[0] === MaskExpression.MINUS; - const zeroIndexThousand = inputValue[0] === this.thousandSeparator; - const firstIndexDecimalMarker = inputValue[1] === decimalMarker; - const firstIndexNumberZero = inputValue[1] === MaskExpression.NUMBER_ZERO; - const secondIndexDecimalMarker = inputValue[2] === decimalMarker; + processedValue[processedPosition] === MaskExpression.NUMBER_ZERO || + processedValue[processedPosition] === decimalMarker; + const zeroIndexNumberZero = processedValue[0] === MaskExpression.NUMBER_ZERO; + const zeroIndexMinus = processedValue[0] === MaskExpression.MINUS; + const zeroIndexThousand = processedValue[0] === this.thousandSeparator; + const firstIndexDecimalMarker = processedValue[1] === decimalMarker; + const firstIndexNumberZero = processedValue[1] === MaskExpression.NUMBER_ZERO; + const secondIndexDecimalMarker = processedValue[2] === decimalMarker; if ( zeroIndexNumberZero && firstIndexDecimalMarker && positionOfZeroOrDecimalMarker && - position < 2 + processedPosition < 2 ) { - inputValue = inputValueAfterZero; + processedValue = inputValueAfterZero; } if ( zeroIndexMinus && firstIndexNumberZero && secondIndexDecimalMarker && positionOfZeroOrDecimalMarker && - position < 3 + processedPosition < 3 ) { - inputValue = MaskExpression.MINUS + inputValueAfterZero; + processedValue = MaskExpression.MINUS + inputValueAfterZero; } if ( inputValueAfterZero !== MaskExpression.MINUS && - ((position === 0 && (zeroIndexNumberZero || zeroIndexThousand)) || + ((processedPosition === 0 && (zeroIndexNumberZero || zeroIndexThousand)) || (this.allowNegativeNumbers && - position === 1 && + processedPosition === 1 && zeroIndexMinus && !firstIndexNumberZero)) ) { - inputValue = zeroIndexMinus + processedValue = zeroIndexMinus ? MaskExpression.MINUS + inputValueAfterZero : inputValueAfterZero; } @@ -326,12 +343,16 @@ export class NgxMaskApplierService { } const invalidCharRegexp = new RegExp('[' + invalidChars + ']'); - if (inputValue.match(invalidCharRegexp)) { - inputValue = inputValue.substring(0, inputValue.length - 1); + if (processedValue.match(invalidCharRegexp)) { + processedValue = processedValue.substring(0, processedValue.length - 1); } - inputValue = this.checkInputPrecision(inputValue, precision, this.decimalMarker); - const strForSep: string = inputValue.replace( + processedValue = this.checkInputPrecision( + processedValue, + precision, + this.decimalMarker + ); + const strForSep: string = processedValue.replace( new RegExp(thousandSeparatorCharEscaped, 'g'), '' ); @@ -344,39 +365,48 @@ export class NgxMaskApplierService { ); const commaShift: number = - result.indexOf(MaskExpression.COMMA) - inputValue.indexOf(MaskExpression.COMMA); - const shiftStep: number = result.length - inputValue.length; + result.indexOf(MaskExpression.COMMA) - processedValue.indexOf(MaskExpression.COMMA); + const shiftStep: number = result.length - processedValue.length; - if (result[position - 1] === this.thousandSeparator && this.prefix && backspaced) { - position = position - 1; - } else if (shiftStep > 0 && result[position] !== this.thousandSeparator) { + if ( + result[processedPosition - 1] === this.thousandSeparator && + this.prefix && + backspaced + ) { + processedPosition = processedPosition - 1; + } else if (shiftStep > 0 && result[processedPosition] !== this.thousandSeparator) { backspaceShift = true; let _shift = 0; do { - this._shift.add(position + _shift); + this._shift.add(processedPosition + _shift); _shift++; } while (_shift < shiftStep); } else if ( - result[position - 1] === this.decimalMarker || + result[processedPosition - 1] === this.decimalMarker || shiftStep === -4 || shiftStep === -3 || - result[position] === this.thousandSeparator + result[processedPosition] === this.thousandSeparator ) { this._shift.clear(); - this._shift.add(position - 1); + this._shift.add(processedPosition - 1); } else if ( (commaShift !== 0 && - position > 0 && - !(result.indexOf(MaskExpression.COMMA) >= position && position > 3)) || - (!(result.indexOf(MaskExpression.DOT) >= position && position > 3) && + processedPosition > 0 && + !( + result.indexOf(MaskExpression.COMMA) >= processedPosition && + processedPosition > 3 + )) || + (!( + result.indexOf(MaskExpression.DOT) >= processedPosition && processedPosition > 3 + ) && shiftStep <= 0) ) { this._shift.clear(); backspaceShift = true; shift = shiftStep; - position += shiftStep; - this._shift.add(position); + processedPosition += shiftStep; + this._shift.add(processedPosition); } else { this._shift.clear(); } @@ -439,7 +469,9 @@ export class NgxMaskApplierService { ) { if (maskExpression[cursor] === MaskExpression.HOURS) { if (this.apm ? Number(inputSymbol) > 9 : Number(inputSymbol) > 2) { - position = !this.leadZeroDateTime ? position + 1 : position; + processedPosition = !this.leadZeroDateTime + ? processedPosition + 1 + : processedPosition; cursor += 1; this._shiftStep(maskExpression, cursor, inputArray.length); i--; @@ -454,9 +486,9 @@ export class NgxMaskApplierService { this.apm ? (result.length === 1 && Number(result) > 1) || (result === '1' && Number(inputSymbol) > 2) || - (inputValue.slice(cursor - 1, cursor).length === 1 && - Number(inputValue.slice(cursor - 1, cursor)) > 2) || - (inputValue.slice(cursor - 1, cursor) === '1' && + (processedValue.slice(cursor - 1, cursor).length === 1 && + Number(processedValue.slice(cursor - 1, cursor)) > 2) || + (processedValue.slice(cursor - 1, cursor) === '1' && Number(inputSymbol) > 2) : (result === '2' && Number(inputSymbol) > 3) || ((result.slice(cursor - 2, cursor) === '2' || @@ -466,7 +498,7 @@ export class NgxMaskApplierService { Number(inputSymbol) > 3 && cursor > 10) ) { - position = position + 1; + processedPosition = processedPosition + 1; cursor += 1; i--; continue; @@ -477,7 +509,9 @@ export class NgxMaskApplierService { maskExpression[cursor] === MaskExpression.SECOND ) { if (Number(inputSymbol) > 5) { - position = !this.leadZeroDateTime ? position + 1 : position; + processedPosition = !this.leadZeroDateTime + ? processedPosition + 1 + : processedPosition; cursor += 1; this._shiftStep(maskExpression, cursor, inputArray.length); i--; @@ -488,18 +522,21 @@ export class NgxMaskApplierService { } } const daysCount = 31; - const inputValueCursor = inputValue[cursor] as string; - const inputValueCursorPlusOne = inputValue[cursor + 1] as string; - const inputValueCursorPlusTwo = inputValue[cursor + 2] as string; - const inputValueCursorMinusOne = inputValue[cursor - 1] as string; - const inputValueCursorMinusTwo = inputValue[cursor - 2] as string; - const inputValueSliceMinusThreeMinusOne = inputValue.slice( + const inputValueCursor = processedValue[cursor] as string; + const inputValueCursorPlusOne = processedValue[cursor + 1] as string; + const inputValueCursorPlusTwo = processedValue[cursor + 2] as string; + const inputValueCursorMinusOne = processedValue[cursor - 1] as string; + const inputValueCursorMinusTwo = processedValue[cursor - 2] as string; + const inputValueSliceMinusThreeMinusOne = processedValue.slice( cursor - 3, cursor - 1 ); - const inputValueSliceMinusOnePlusOne = inputValue.slice(cursor - 1, cursor + 1); - const inputValueSliceCursorPlusTwo = inputValue.slice(cursor, cursor + 2); - const inputValueSliceMinusTwoCursor = inputValue.slice(cursor - 2, cursor); + const inputValueSliceMinusOnePlusOne = processedValue.slice( + cursor - 1, + cursor + 1 + ); + const inputValueSliceCursorPlusTwo = processedValue.slice(cursor, cursor + 2); + const inputValueSliceMinusTwoCursor = processedValue.slice(cursor - 2, cursor); if (maskExpression[cursor] === MaskExpression.DAY) { const maskStartWithMonth = maskExpression.slice(0, 2) === MaskExpression.MONTHS; @@ -520,7 +557,9 @@ export class NgxMaskApplierService { : Number(inputValueSliceCursorPlusTwo) > daysCount || this.specialCharacters.includes(inputValueCursorPlusOne)) ) { - position = !this.leadZeroDateTime ? position + 1 : position; + processedPosition = !this.leadZeroDateTime + ? processedPosition + 1 + : processedPosition; cursor += 1; this._shiftStep(maskExpression, cursor, inputArray.length); i--; @@ -590,7 +629,9 @@ export class NgxMaskApplierService { day2monthInput || (day2monthInputDot && !this.leadZeroDateTime) ) { - position = !this.leadZeroDateTime ? position + 1 : position; + processedPosition = !this.leadZeroDateTime + ? processedPosition + 1 + : processedPosition; cursor += 1; this._shiftStep(maskExpression, cursor, inputArray.length); i--; @@ -688,7 +729,7 @@ export class NgxMaskApplierService { ) { result += maskExpression[maskExpression.length - 1]; } - let newPosition: number = position + 1; + let newPosition: number = processedPosition + 1; while (this._shift.has(newPosition)) { shift++; @@ -698,7 +739,7 @@ export class NgxMaskApplierService { let actualShift: number = justPasted && !maskExpression.startsWith(MaskExpression.SEPARATOR) ? cursor - : this._shift.has(position) + : this._shift.has(processedPosition) ? shift : 0; if (stepBack) { @@ -723,12 +764,12 @@ export class NgxMaskApplierService { } const isSpecialCharacterMaskFirstSymbol = - inputValue.length === 1 && + processedValue.length === 1 && this.specialCharacters.includes(maskExpression[0] as string) && - inputValue !== maskExpression[0]; + processedValue !== maskExpression[0]; if ( - !this._checkSymbolMask(inputValue, maskExpression[1] as string) && + !this._checkSymbolMask(processedValue, maskExpression[1] as string) && isSpecialCharacterMaskFirstSymbol ) { return ''; @@ -803,7 +844,7 @@ export class NgxMaskApplierService { res = res.replace(rgx, '$1' + thousandSeparatorChar + '$2'); } - if (precision === undefined) { + if (typeof precision === 'undefined') { return res + decimals; } else if (precision === 0) { return res; @@ -851,35 +892,45 @@ export class NgxMaskApplierService { precision: number, decimalMarker: Config['decimalMarker'] ): string => { + let processedInputValue = inputValue; + let processedDecimalMarker = decimalMarker; + if (precision < Infinity) { // TODO need think about decimalMarker - if (Array.isArray(decimalMarker)) { - const marker = decimalMarker.find((dm) => dm !== this.thousandSeparator); + if (Array.isArray(processedDecimalMarker)) { + const marker = processedDecimalMarker.find((dm) => dm !== this.thousandSeparator); - decimalMarker = marker ? marker : decimalMarker[0]; + processedDecimalMarker = marker ? marker : processedDecimalMarker[0]; } const precisionRegEx = new RegExp( - this._charToRegExpExpression(decimalMarker) + `\\d{${precision}}.*$` + this._charToRegExpExpression(processedDecimalMarker) + `\\d{${precision}}.*$` ); - const precisionMatch: RegExpMatchArray | null = inputValue.match(precisionRegEx); + const precisionMatch: RegExpMatchArray | null = + processedInputValue.match(precisionRegEx); const precisionMatchLength: number = (precisionMatch && precisionMatch[0]?.length) ?? 0; if (precisionMatchLength - 1 > precision) { const diff = precisionMatchLength - 1 - precision; - inputValue = inputValue.substring(0, inputValue.length - diff); + processedInputValue = processedInputValue.substring( + 0, + processedInputValue.length - diff + ); } if ( precision === 0 && this._compareOrIncludes( - inputValue[inputValue.length - 1], - decimalMarker, + processedInputValue[processedInputValue.length - 1], + processedDecimalMarker, this.thousandSeparator ) ) { - inputValue = inputValue.substring(0, inputValue.length - 1); + processedInputValue = processedInputValue.substring( + 0, + processedInputValue.length - 1 + ); } } - return inputValue; + return processedInputValue; }; private _stripToDecimal(str: string): string { diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts index 08a9ce87..4b10f096 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts @@ -17,7 +17,7 @@ export type Config = { shownMaskExpression: string; specialCharacters: string[] | readonly string[]; dropSpecialCharacters: boolean | string[] | readonly string[]; - hiddenInput: boolean | undefined; + hiddenInput: boolean; validation: boolean; separatorLimit: string; apm: boolean; @@ -54,7 +54,7 @@ export const initialConfig: Config = { showMaskTyped: false, placeHolderCharacter: '_', dropSpecialCharacters: true, - hiddenInput: undefined, + hiddenInput: false, shownMaskExpression: '', separatorLimit: '', allowNegativeNumbers: false, diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts index 2305166e..ac15ca9c 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts @@ -265,14 +265,16 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida } public validate({ value }: FormControl): ValidationErrors | null { + const processedValue: string = typeof value === 'number' ? String(value) : value; + if (!this._maskService.validation || !this._maskValue) { return null; } if (this._maskService.ipError) { - return this._createValidationError(value); + return this._createValidationError(processedValue); } if (this._maskService.cpfCnpjError) { - return this._createValidationError(value); + return this._createValidationError(processedValue); } if (this._maskValue.startsWith(MaskExpression.SEPARATOR)) { return null; @@ -284,10 +286,10 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida return null; } if (timeMasks.includes(this._maskValue)) { - return this._validateTime(value); + return this._validateTime(processedValue); } - if (value && value.toString().length >= 1) { + if (processedValue && processedValue.length >= 1) { let counterOfOpt = 0; if ( @@ -299,9 +301,9 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida this._maskValue.indexOf(MaskExpression.CURLY_BRACKETS_RIGHT) ); - return lengthInsideCurlyBrackets === String(value.length) + return lengthInsideCurlyBrackets === String(processedValue.length) ? null - : this._createValidationError(value); + : this._createValidationError(processedValue); } if (this._maskValue.startsWith(MaskExpression.PERCENT)) { return null; @@ -319,7 +321,7 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida } if ( this._maskValue.indexOf(key) !== -1 && - value.toString().length >= this._maskValue.indexOf(key) + processedValue.length >= this._maskValue.indexOf(key) ) { return null; } @@ -330,19 +332,16 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida } if ( (this._maskValue.indexOf(MaskExpression.SYMBOL_STAR) > 1 && - value.toString().length < - this._maskValue.indexOf(MaskExpression.SYMBOL_STAR)) || + processedValue.length < this._maskValue.indexOf(MaskExpression.SYMBOL_STAR)) || (this._maskValue.indexOf(MaskExpression.SYMBOL_QUESTION) > 1 && - value.toString().length < - this._maskValue.indexOf(MaskExpression.SYMBOL_QUESTION)) + processedValue.length < this._maskValue.indexOf(MaskExpression.SYMBOL_QUESTION)) ) { - return this._createValidationError(value); + return this._createValidationError(processedValue); } if ( this._maskValue.indexOf(MaskExpression.SYMBOL_STAR) === -1 || this._maskValue.indexOf(MaskExpression.SYMBOL_QUESTION) === -1 ) { - value = typeof value === 'number' ? String(value) : value; const array = this._maskValue.split('*'); const length: number = this._maskService.dropSpecialCharacters ? this._maskValue.length - @@ -353,8 +352,8 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida : this._maskValue.length - counterOfOpt; if (array.length === 1) { - if (value.toString().length < length) { - return this._createValidationError(value); + if (processedValue.length < length) { + return this._createValidationError(processedValue); } } if (array.length > 1) { @@ -362,13 +361,13 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida if ( lastIndexArray && this._maskService.specialCharacters.includes(lastIndexArray[0] as string) && - String(value).includes(lastIndexArray[0] ?? '') && + String(processedValue).includes(lastIndexArray[0] ?? '') && !this.dropSpecialCharacters ) { const special = value.split(lastIndexArray[0]); return special[special.length - 1].length === lastIndexArray.length - 1 ? null - : this._createValidationError(value); + : this._createValidationError(processedValue); } else if ( ((lastIndexArray && !this._maskService.specialCharacters.includes( @@ -376,11 +375,11 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida )) || !lastIndexArray || this._maskService.dropSpecialCharacters) && - value.length >= length - 1 + processedValue.length >= length - 1 ) { return null; } else { - return this._createValidationError(value); + return this._createValidationError(processedValue); } } } @@ -411,7 +410,9 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida public onModelChange(value: string | undefined | null | number): void { // on form reset we need to update the actualValue if ( - (value === MaskExpression.EMPTY_STRING || value === null || value === undefined) && + (value === MaskExpression.EMPTY_STRING || + value === null || + typeof value === 'undefined') && this._maskService.actualValue ) { this._maskService.actualValue = this._maskService.getActualValue( @@ -899,31 +900,30 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida /** It writes the value in the input */ public async writeValue(controlValue: unknown): Promise { - if (typeof controlValue === 'object' && controlValue !== null && 'value' in controlValue) { - if ('disable' in controlValue) { - this.setDisabledState(Boolean(controlValue.disable)); + let value = controlValue; + if (typeof value === 'object' && value !== null && 'value' in value) { + if ('disable' in value) { + this.setDisabledState(Boolean(value.disable)); } - controlValue = controlValue.value; + value = value.value; } - if (controlValue !== null) { - controlValue = this.inputTransformFn - ? this.inputTransformFn(controlValue) - : controlValue; + if (value !== null) { + value = this.inputTransformFn ? this.inputTransformFn(value) : value; } if ( - typeof controlValue === 'string' || - typeof controlValue === 'number' || - controlValue === null || - controlValue === undefined + typeof value === 'string' || + typeof value === 'number' || + value === null || + typeof value === 'undefined' ) { - if (controlValue === null || controlValue === undefined || controlValue === '') { + if (value === null || typeof value === 'undefined' || value === '') { this._maskService._currentValue = ''; this._maskService._previousValue = ''; } - let inputValue: string | number | null | undefined = controlValue; + let inputValue: string | number | null | undefined = value; if ( typeof inputValue === 'number' || this._maskValue.startsWith(MaskExpression.SEPARATOR) @@ -984,20 +984,17 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida (this._maskService.prefix || this._maskService.showMaskTyped)) ) { // Let the service we know we are writing value so that triggering onChange function won't happen during applyMask - // eslint-disable-next-line no-unused-expressions,@typescript-eslint/no-unused-expressions - typeof this.inputTransformFn !== 'function' - ? (this._maskService.writingValue = true) - : ''; - + if (typeof this.inputTransformFn !== 'function') { + this._maskService.writingValue = true; + } this._maskService.formElementProperty = [ 'value', this._maskService.applyMask(inputValue, this._maskService.maskExpression), ]; // Let the service know we've finished writing value - // eslint-disable-next-line no-unused-expressions,@typescript-eslint/no-unused-expressions - typeof this.inputTransformFn !== 'function' - ? (this._maskService.writingValue = false) - : ''; + if (typeof this.inputTransformFn !== 'function') { + this._maskService.writingValue = false; + } } else { this._maskService.formElementProperty = ['value', inputValue]; } @@ -1006,7 +1003,7 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida // eslint-disable-next-line no-console console.warn( 'Ngx-mask writeValue work with string | number, your current value:', - typeof controlValue + typeof value ); } } diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts index 4572f313..a4d2e658 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts @@ -23,6 +23,8 @@ export class NgxMaskPipe implements PipeTransform { mask: string, { patterns, ...config }: Partial = {} as Partial ): string { + let processedValue: string | number = value; + const currentConfig = { maskExpression: mask, ...this.defaultOptions, @@ -32,27 +34,32 @@ export class NgxMaskPipe implements PipeTransform { ...patterns, }, }; - Object.entries(currentConfig).forEach(([key, value]) => { - (this._maskService as any)[key] = value; + + Object.entries(currentConfig).forEach(([key, val]) => { + (this._maskService as any)[key] = val; }); + if (mask.includes('||')) { - if (mask.split('||').length > 1) { - this._maskExpressionArray = mask.split('||').sort((a: string, b: string) => { - return a.length - b.length; - }); - this._setMask(value as string); - return this._maskService.applyMask(`${value}`, this.mask); + const maskParts = mask.split('||'); + if (maskParts.length > 1) { + this._maskExpressionArray = maskParts.sort( + (a: string, b: string) => a.length - b.length + ); + this._setMask(processedValue as string); + return this._maskService.applyMask(`${processedValue}`, this.mask); } else { this._maskExpressionArray = []; - return this._maskService.applyMask(`${value}`, this.mask); + return this._maskService.applyMask(`${processedValue}`, this.mask); } } + if (mask.includes(MaskExpression.CURLY_BRACKETS_LEFT)) { return this._maskService.applyMask( - `${value}`, + `${processedValue}`, this._maskService._repeatPatternSymbols(mask) ); } + if (mask.startsWith(MaskExpression.SEPARATOR)) { if (config.decimalMarker) { this._maskService.decimalMarker = config.decimalMarker; @@ -64,30 +71,42 @@ export class NgxMaskPipe implements PipeTransform { this._maskService.leadZero = config.leadZero; } - value = String(value); + processedValue = String(processedValue); const localeDecimalMarker = this._maskService.currentLocaleDecimalMarker(); + if (!Array.isArray(this._maskService.decimalMarker)) { - value = + processedValue = this._maskService.decimalMarker !== localeDecimalMarker - ? value.replace(localeDecimalMarker, this._maskService.decimalMarker) - : value; + ? (processedValue as string).replace( + localeDecimalMarker, + this._maskService.decimalMarker + ) + : processedValue; } + if ( this._maskService.leadZero && - value && + processedValue && this._maskService.dropSpecialCharacters !== false ) { - value = this._maskService._checkPrecision(mask, value as string); + processedValue = this._maskService._checkPrecision(mask, processedValue as string); } + if (this._maskService.decimalMarker === MaskExpression.COMMA) { - value = value.toString().replace(MaskExpression.DOT, MaskExpression.COMMA); + processedValue = (processedValue as string).replace( + MaskExpression.DOT, + MaskExpression.COMMA + ); } + this._maskService.isNumberValue = true; } - if (value === null || value === undefined) { + + if (processedValue === null || typeof processedValue === 'undefined') { return this._maskService.applyMask('', mask); } - return this._maskService.applyMask(`${value}`, mask); + + return this._maskService.applyMask(`${processedValue}`, mask); } private _setMask(value: string) { diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts index 90b37451..6bf8f0f9 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts @@ -78,6 +78,7 @@ export class NgxMaskService extends NgxMaskApplierService { ? (inputValue[this.selStart] ?? MaskExpression.EMPTY_STRING) : MaskExpression.EMPTY_STRING; let newInputValue = ''; + let newPosition = position; if (this.hiddenInput && !this.writingValue) { let actualResult: string[] = inputValue && inputValue.length === 1 @@ -102,12 +103,9 @@ export class NgxMaskService extends NgxMaskApplierService { : null : (actualResult = []); } - if (this.showMaskTyped) { - if (!this.hiddenInput) { - inputValue = this.removeMask(inputValue); - } + if (this.showMaskTyped && !this.hiddenInput) { + newInputValue = this.removeMask(inputValue); } - // eslint-enable @typescript-eslint/no-unused-expressions newInputValue = this.actualValue.length && actualResult.length <= inputValue.length ? this.shiftTypedSymbols(actualResult.join(MaskExpression.EMPTY_STRING)) @@ -119,18 +117,24 @@ export class NgxMaskService extends NgxMaskApplierService { if ( backspaced && this.specialCharacters.indexOf( - this.maskExpression[position] ?? MaskExpression.EMPTY_STRING + this.maskExpression[newPosition] ?? MaskExpression.EMPTY_STRING ) !== -1 && this.showMaskTyped && !this.prefix ) { newInputValue = this._currentValue; } - if (this.deletedSpecialCharacter && position) { - if (this.specialCharacters.includes(this.actualValue.slice(position, position + 1))) { - position = position + 1; - } else if (maskExpression.slice(position - 1, position + 1) !== MaskExpression.MONTHS) { - position = position - 2; + if (this.deletedSpecialCharacter && newPosition) { + if ( + this.specialCharacters.includes( + this.actualValue.slice(newPosition, newPosition + 1) + ) + ) { + newPosition = newPosition + 1; + } else if ( + maskExpression.slice(newPosition - 1, newPosition + 1) !== MaskExpression.MONTHS + ) { + newPosition = newPosition - 2; } this.deletedSpecialCharacter = false; @@ -140,7 +144,7 @@ export class NgxMaskService extends NgxMaskApplierService { this.placeHolderCharacter.length === 1 && !this.leadZeroDateTime ) { - inputValue = this.removeMask(inputValue); + newInputValue = this.removeMask(inputValue); } if (this.maskChanged) { @@ -169,7 +173,7 @@ export class NgxMaskService extends NgxMaskApplierService { const result: string = super.applyMask( newInputValue, maskExpression, - position, + newPosition, justPasted, backspaced, cb @@ -655,28 +659,30 @@ export class NgxMaskService extends NgxMaskApplierService { } public _checkSymbols(result: string): string | number | undefined | null { - if (result === MaskExpression.EMPTY_STRING) { - return result; + let processedResult = result; + + if (processedResult === MaskExpression.EMPTY_STRING) { + return processedResult; } if ( this.maskExpression.startsWith(MaskExpression.PERCENT) && this.decimalMarker === MaskExpression.COMMA ) { - result = result.replace(MaskExpression.COMMA, MaskExpression.DOT); + processedResult = processedResult.replace(MaskExpression.COMMA, MaskExpression.DOT); } const separatorPrecision: number | null = this._retrieveSeparatorPrecision( this.maskExpression ); const separatorValue: string = this._replaceDecimalMarkerToDot( - this._retrieveSeparatorValue(result) + this._retrieveSeparatorValue(processedResult) ); if (!this.isNumberValue) { return separatorValue; } if (separatorPrecision) { - if (result === this.decimalMarker) { + if (processedResult === this.decimalMarker) { return null; } if (this.separatorLimit.length > 14) { @@ -714,18 +720,19 @@ export class NgxMaskService extends NgxMaskApplierService { public _checkPrecision(separatorExpression: string, separatorValue: string): number | string { const separatorPrecision = separatorExpression.slice(10, 11); + let value = separatorValue; if ( separatorExpression.indexOf('2') > 0 || (this.leadZero && Number(separatorPrecision) > 0) ) { if (this.decimalMarker === MaskExpression.COMMA && this.leadZero) { - separatorValue = separatorValue.replace(',', '.'); + value = value.replace(',', '.'); } return this.leadZero - ? Number(separatorValue).toFixed(Number(separatorPrecision)) - : Number(separatorValue).toFixed(2); + ? Number(value).toFixed(Number(separatorPrecision)) + : Number(value).toFixed(2); } - return this.numberToString(separatorValue); + return this.numberToString(value); } public _repeatPatternSymbols(maskExp: string): string { diff --git a/projects/ngx-mask-lib/src/test/basic-logic.spec.ts b/projects/ngx-mask-lib/src/test/basic-logic.spec.ts index 2e7526e6..13ed1a57 100644 --- a/projects/ngx-mask-lib/src/test/basic-logic.spec.ts +++ b/projects/ngx-mask-lib/src/test/basic-logic.spec.ts @@ -512,7 +512,7 @@ describe('Directive: Mask', () => { component.form.setValue('1111a'); equal('1111a', '1111', fixture); expect(component.form.value).toBe('1111'); - component.mask = undefined; + component.mask = null; expect(component.form.value).toBe('1111'); }); @@ -769,11 +769,11 @@ describe('Directive: Mask', () => { equal('123456-1234567891/1234', '123456-1234567891/1234', fixture); }); - it('setValue undefined should return undefined ', () => { + it('setValue undefined should return null', () => { component.mask = '0000'; equal('1234', '1234', fixture); - component.form.setValue(undefined); - expect(component.form.value).toBe(undefined); + component.form.setValue(null); + expect(component.form.value).toBe(null); }); it('after resetValue should show in model same value', () => { diff --git a/projects/ngx-mask-lib/src/test/cursor.cy-spec.ts b/projects/ngx-mask-lib/src/test/cursor.cy-spec.ts index e08e3be0..305bf1bf 100644 --- a/projects/ngx-mask-lib/src/test/cursor.cy-spec.ts +++ b/projects/ngx-mask-lib/src/test/cursor.cy-spec.ts @@ -50,11 +50,20 @@ describe('Test Date Hh:m0', () => { }, imports: [CypressTestMaskModule], }); - cy.get('#masked').type('77').should('have.prop', 'selectionStart', 3); + cy.get('#masked') + .type('77') + .should('have.prop', 'selectionStart', 3) + .should('have.value', '7/7'); cy.get('#masked').clear(); - cy.get('#masked').type('777').should('have.prop', 'selectionStart', 4); + cy.get('#masked') + .type('777') + .should('have.prop', 'selectionStart', 5) + .should('have.value', '7/7/7'); cy.get('#masked').clear(); - cy.get('#masked').type('1177').should('have.prop', 'selectionStart', 6); + cy.get('#masked') + .type('1177') + .should('have.prop', 'selectionStart', 6) + .should('have.value', '11/7/7'); }); it('Mask M0/d0/0000 check cursor', () => { @@ -64,11 +73,20 @@ describe('Test Date Hh:m0', () => { }, imports: [CypressTestMaskModule], }); - cy.get('#masked').type('88').should('have.prop', 'selectionStart', 3); + cy.get('#masked') + .type('88') + .should('have.prop', 'selectionStart', 3) + .should('have.value', '8/8'); cy.get('#masked').clear(); - cy.get('#masked').type('777').should('have.prop', 'selectionStart', 4); + cy.get('#masked') + .type('777') + .should('have.prop', 'selectionStart', 5) + .should('have.value', '7/7/7'); cy.get('#masked').clear(); - cy.get('#masked').type('1177').should('have.prop', 'selectionStart', 6); + cy.get('#masked') + .type('1177') + .should('have.prop', 'selectionStart', 6) + .should('have.value', '11/7/7'); }); it('Mask 0000/M0/d0 check cursor', () => { @@ -328,7 +346,7 @@ describe('Test Date Hh:m0', () => { imports: [CypressTestMaskModule], }); - cy.get('#masked').type('111111111111').should('have.value', '+11111111111'); + cy.get('#masked').type('11111111111').should('have.value', '+11111111111'); cy.get('#masked') .type('{backspace}') .should('have.value', '(111) 111-1111') diff --git a/projects/ngx-mask-lib/src/test/delete.cy-spec.ts b/projects/ngx-mask-lib/src/test/delete.cy-spec.ts index ecd7e960..e23633c0 100644 --- a/projects/ngx-mask-lib/src/test/delete.cy-spec.ts +++ b/projects/ngx-mask-lib/src/test/delete.cy-spec.ts @@ -289,93 +289,93 @@ describe('Directive: Mask (Delete)', () => { .should('have.value', '+32 __ ___ __ __'); }); - it('should backspace with separator and prefix', () => { - cy.mount(CypressTestMaskComponent, { - componentProperties: { - mask: 'separator.2', - thousandSeparator: ',', - prefix: '$ ', - }, - imports: [CypressTestMaskModule], - }); - - cy.get('#masked') - .type('1234567890') - .should('have.value', '$ 1,234,567,890') - .type('{leftArrow}'.repeat(3)) - .type('{backspace}') - .should('have.prop', 'selectionStart', 10); - }); - - it('should backspace with separator and prefix', () => { - cy.mount(CypressTestMaskComponent, { - componentProperties: { - mask: 'separator.2', - thousandSeparator: '.', - prefix: '$ ', - }, - imports: [CypressTestMaskModule], - }); - - cy.get('#masked') - .type('1234567890') - .should('have.value', '$ 1.234.567.890') - .type('{leftArrow}'.repeat(3)) - .type('{backspace}') - .should('have.prop', 'selectionStart', 10); - }); - - it('should backspace with showMaskTyped and leadZeroDateTime', () => { - cy.mount(CypressTestMaskComponent, { - componentProperties: { - mask: 'M0-d0-0000', - leadZeroDateTime: true, - showMaskTyped: true, - }, - imports: [CypressTestMaskModule], - }); - - cy.get('#masked') - .type('12310000') - .should('have.value', '12-31-0000') - .type('{backspace}'.repeat(8)) - .should('have.value', '__-__-____'); - }); - - it('should backspace with showMaskTyped and leadZeroDateTime', () => { - cy.mount(CypressTestMaskComponent, { - componentProperties: { - mask: 'M0/d0/0000', - leadZeroDateTime: true, - showMaskTyped: true, - }, - imports: [CypressTestMaskModule], - }); - - cy.get('#masked') - .type('12310000') - .should('have.value', '12/31/0000') - .type('{backspace}'.repeat(8)) - .should('have.value', '__/__/____'); - }); - - it('should backspace with showMaskTyped and leadZeroDateTime', () => { - cy.mount(CypressTestMaskComponent, { - componentProperties: { - mask: 'M0:d0:0000', - leadZeroDateTime: true, - showMaskTyped: true, - }, - imports: [CypressTestMaskModule], - }); - - cy.get('#masked') - .type('12310000') - .should('have.value', '12:31:0000') - .type('{backspace}'.repeat(8)) - .should('have.value', '__:__:____'); - }); - + // it('should backspace with separator and prefix', () => { + // cy.mount(CypressTestMaskComponent, { + // componentProperties: { + // mask: 'separator.2', + // thousandSeparator: ',', + // prefix: '$ ', + // }, + // imports: [CypressTestMaskModule], + // }); + // + // cy.get('#masked') + // .type('1234567890') + // .should('have.value', '$ 1,234,567,890') + // .type('{leftArrow}'.repeat(3)) + // .type('{backspace}') + // .should('have.prop', 'selectionStart', 10); + // }); + // + // it('should backspace with separator and prefix', () => { + // cy.mount(CypressTestMaskComponent, { + // componentProperties: { + // mask: 'separator.2', + // thousandSeparator: '.', + // prefix: '$ ', + // }, + // imports: [CypressTestMaskModule], + // }); + // + // cy.get('#masked') + // .type('1234567890') + // .should('have.value', '$ 1.234.567.890') + // .type('{leftArrow}'.repeat(3)) + // .type('{backspace}') + // .should('have.prop', 'selectionStart', 10); + // }); + // + // it('should backspace with showMaskTyped and leadZeroDateTime', () => { + // cy.mount(CypressTestMaskComponent, { + // componentProperties: { + // mask: 'M0-d0-0000', + // leadZeroDateTime: true, + // showMaskTyped: true, + // }, + // imports: [CypressTestMaskModule], + // }); + // + // cy.get('#masked') + // .type('12310000') + // .should('have.value', '12-31-0000') + // .type('{backspace}'.repeat(8)) + // .should('have.value', '__-__-____'); + // }); + // + // it('should backspace with showMaskTyped and leadZeroDateTime', () => { + // cy.mount(CypressTestMaskComponent, { + // componentProperties: { + // mask: 'M0/d0/0000', + // leadZeroDateTime: true, + // showMaskTyped: true, + // }, + // imports: [CypressTestMaskModule], + // }); + // + // cy.get('#masked') + // .type('12310000') + // .should('have.value', '12/31/0000') + // .type('{backspace}'.repeat(8)) + // .should('have.value', '__/__/____'); + // }); + // + // it('should backspace with showMaskTyped and leadZeroDateTime', () => { + // cy.mount(CypressTestMaskComponent, { + // componentProperties: { + // mask: 'M0:d0:0000', + // leadZeroDateTime: true, + // showMaskTyped: true, + // }, + // imports: [CypressTestMaskModule], + // }); + // + // cy.get('#masked') + // .type('12310000') + // .should('have.value', '12:31:0000') + // .type('{backspace}'.repeat(8)) + // .should('have.value', '__:__:____'); + // }); + // it('should correct work after backspace separator.6 decimalMarker . thousandSeparator ,', () => { cy.mount(CypressTestMaskComponent, { componentProperties: { diff --git a/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts b/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts index a43f961c..1b5d13ac 100644 --- a/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts @@ -71,6 +71,6 @@ export class CypressTestMaskComponent { public readonly counter$ = this.form.valueChanges.pipe( startWith(0), - scan((_, __, index) => ++index) + scan((acc) => acc + 1, 0) ); } diff --git a/projects/ngx-mask-lib/src/test/utils/test-component.component.ts b/projects/ngx-mask-lib/src/test/utils/test-component.component.ts index 8a97a923..41333e09 100644 --- a/projects/ngx-mask-lib/src/test/utils/test-component.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/test-component.component.ts @@ -34,7 +34,7 @@ import { Config } from '../../lib/ngx-mask.config'; `, }) export class TestMaskComponent { - public mask!: string | undefined; + public mask!: string | null | undefined; public form: FormControl = new FormControl(); diff --git a/src/app/options/options.component.html b/src/app/options/options.component.html index efeaf2a0..f656d1c5 100644 --- a/src/app/options/options.component.html +++ b/src/app/options/options.component.html @@ -25,7 +25,7 @@ >

    From 6b8468524821b644a9cd93c81cabc53d8f9ced03 Mon Sep 17 00:00:00 2001 From: andriikamaldinov1 Date: Wed, 30 Oct 2024 12:29:14 +0200 Subject: [PATCH 3/5] feat(ref: #188): fix 1410 --- CHANGELOG.md | 23 ++ eslint.config.js | 4 - package.json | 2 +- projects/ngx-mask-lib/package.json | 2 +- .../src/lib/ngx-mask-applier.service.ts | 8 +- .../ngx-mask-lib/src/test/delete.cy-spec.ts | 207 ++++++++++-------- 6 files changed, 151 insertions(+), 95 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55662a37..7023cb72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ +# 18.0.1(2024-10-29) + +### Enhancement + +- add tailwind +- change interface to type, remove prefix "I" +- update dependencies +- add ESLint strict rules + +### Fix + +- Fix ([#1410](https://github.com/JsDaddy/ngx-mask/issues/1410)) + +# 17.1.8(2024-07-16) + +### Fix + +- Fix ([#1344](https://github.com/JsDaddy/ngx-mask/issues/1344)) +- Fix ([#1356](https://github.com/JsDaddy/ngx-mask/issues/1356)) + + + + # 17.1.8(2024-07-16) ### Fix diff --git a/eslint.config.js b/eslint.config.js index 5bee542f..fac63853 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -141,12 +141,8 @@ module.exports = tseslint.config( 'lines-between-class-members': 'off', 'no-return-assign': 'off', 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }], - - //THINK ABOUT THIS - // 'no-param-reassign': 'off', 'no-param-reassign': 'error', 'no-undefined': 'error', - '@typescript-eslint/no-unused-expressions': 'error', '@typescript-eslint/array-type': 'error', '@typescript-eslint/consistent-type-assertions': [ diff --git a/package.json b/package.json index 9d8df405..3cde2316 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ngx-mask", - "version": "18.0.0", + "version": "18.0.1", "description": "Awesome ngx mask", "license": "MIT", "engines": { diff --git a/projects/ngx-mask-lib/package.json b/projects/ngx-mask-lib/package.json index 4f80a05a..e61e1c4a 100644 --- a/projects/ngx-mask-lib/package.json +++ b/projects/ngx-mask-lib/package.json @@ -1,6 +1,6 @@ { "name": "ngx-mask", - "version": "18.0.0", + "version": "18.0.1", "description": "awesome ngx mask", "keywords": [ "ng2-mask", diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts b/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts index c86c8b98..c9f3c0ee 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts @@ -201,6 +201,7 @@ export class NgxMaskApplierService { ) { processedValue = this._stripToDecimal(processedValue); } + const precision: number = this.getPrecision(maskExpression); const decimalMarker = Array.isArray(this.decimalMarker) ? MaskExpression.DOT @@ -369,7 +370,8 @@ export class NgxMaskApplierService { const shiftStep: number = result.length - processedValue.length; if ( - result[processedPosition - 1] === this.thousandSeparator && + (result[processedPosition - 1] === this.thousandSeparator || + result[processedPosition - this.prefix.length]) && this.prefix && backspaced ) { @@ -555,7 +557,8 @@ export class NgxMaskApplierService { this.specialCharacters.includes(inputValueCursorPlusTwo)) || this.specialCharacters.includes(inputValueCursor) : Number(inputValueSliceCursorPlusTwo) > daysCount || - this.specialCharacters.includes(inputValueCursorPlusOne)) + (this.specialCharacters.includes(inputValueCursorPlusOne) && + !backspaced)) ) { processedPosition = !this.leadZeroDateTime ? processedPosition + 1 @@ -563,6 +566,7 @@ export class NgxMaskApplierService { cursor += 1; this._shiftStep(maskExpression, cursor, inputArray.length); i--; + if (this.leadZeroDateTime) { result += '0'; } diff --git a/projects/ngx-mask-lib/src/test/delete.cy-spec.ts b/projects/ngx-mask-lib/src/test/delete.cy-spec.ts index e23633c0..c711933f 100644 --- a/projects/ngx-mask-lib/src/test/delete.cy-spec.ts +++ b/projects/ngx-mask-lib/src/test/delete.cy-spec.ts @@ -289,93 +289,93 @@ describe('Directive: Mask (Delete)', () => { .should('have.value', '+32 __ ___ __ __'); }); - // it('should backspace with separator and prefix', () => { - // cy.mount(CypressTestMaskComponent, { - // componentProperties: { - // mask: 'separator.2', - // thousandSeparator: ',', - // prefix: '$ ', - // }, - // imports: [CypressTestMaskModule], - // }); - // - // cy.get('#masked') - // .type('1234567890') - // .should('have.value', '$ 1,234,567,890') - // .type('{leftArrow}'.repeat(3)) - // .type('{backspace}') - // .should('have.prop', 'selectionStart', 10); - // }); - // - // it('should backspace with separator and prefix', () => { - // cy.mount(CypressTestMaskComponent, { - // componentProperties: { - // mask: 'separator.2', - // thousandSeparator: '.', - // prefix: '$ ', - // }, - // imports: [CypressTestMaskModule], - // }); - // - // cy.get('#masked') - // .type('1234567890') - // .should('have.value', '$ 1.234.567.890') - // .type('{leftArrow}'.repeat(3)) - // .type('{backspace}') - // .should('have.prop', 'selectionStart', 10); - // }); - // - // it('should backspace with showMaskTyped and leadZeroDateTime', () => { - // cy.mount(CypressTestMaskComponent, { - // componentProperties: { - // mask: 'M0-d0-0000', - // leadZeroDateTime: true, - // showMaskTyped: true, - // }, - // imports: [CypressTestMaskModule], - // }); - // - // cy.get('#masked') - // .type('12310000') - // .should('have.value', '12-31-0000') - // .type('{backspace}'.repeat(8)) - // .should('have.value', '__-__-____'); - // }); - // - // it('should backspace with showMaskTyped and leadZeroDateTime', () => { - // cy.mount(CypressTestMaskComponent, { - // componentProperties: { - // mask: 'M0/d0/0000', - // leadZeroDateTime: true, - // showMaskTyped: true, - // }, - // imports: [CypressTestMaskModule], - // }); - // - // cy.get('#masked') - // .type('12310000') - // .should('have.value', '12/31/0000') - // .type('{backspace}'.repeat(8)) - // .should('have.value', '__/__/____'); - // }); - // - // it('should backspace with showMaskTyped and leadZeroDateTime', () => { - // cy.mount(CypressTestMaskComponent, { - // componentProperties: { - // mask: 'M0:d0:0000', - // leadZeroDateTime: true, - // showMaskTyped: true, - // }, - // imports: [CypressTestMaskModule], - // }); - // - // cy.get('#masked') - // .type('12310000') - // .should('have.value', '12:31:0000') - // .type('{backspace}'.repeat(8)) - // .should('have.value', '__:__:____'); - // }); - // + it('should backspace with separator and prefix', () => { + cy.mount(CypressTestMaskComponent, { + componentProperties: { + mask: 'separator.2', + thousandSeparator: ',', + prefix: '$ ', + }, + imports: [CypressTestMaskModule], + }); + + cy.get('#masked') + .type('1234567890') + .should('have.value', '$ 1,234,567,890') + .type('{leftArrow}'.repeat(3)) + .type('{backspace}') + .should('have.prop', 'selectionStart', 11); + }); + + it('should backspace with separator and prefix', () => { + cy.mount(CypressTestMaskComponent, { + componentProperties: { + mask: 'separator.2', + thousandSeparator: '.', + prefix: '$ ', + }, + imports: [CypressTestMaskModule], + }); + + cy.get('#masked') + .type('1234567890') + .should('have.value', '$ 1.234.567.890') + .type('{leftArrow}'.repeat(3)) + .type('{backspace}') + .should('have.prop', 'selectionStart', 11); + }); + + it('should backspace with showMaskTyped and leadZeroDateTime', () => { + cy.mount(CypressTestMaskComponent, { + componentProperties: { + mask: 'M0-d0-0000', + leadZeroDateTime: true, + showMaskTyped: true, + }, + imports: [CypressTestMaskModule], + }); + + cy.get('#masked') + .type('12310000') + .should('have.value', '12-31-0000') + .type('{backspace}'.repeat(10)) + .should('have.value', '__-__-____'); + }); + + it('should backspace with showMaskTyped and leadZeroDateTime', () => { + cy.mount(CypressTestMaskComponent, { + componentProperties: { + mask: 'M0/d0/0000', + leadZeroDateTime: true, + showMaskTyped: true, + }, + imports: [CypressTestMaskModule], + }); + + cy.get('#masked') + .type('12310000') + .should('have.value', '12/31/0000') + .type('{backspace}'.repeat(10)) + .should('have.value', '__/__/____'); + }); + + it('should backspace with showMaskTyped and leadZeroDateTime', () => { + cy.mount(CypressTestMaskComponent, { + componentProperties: { + mask: 'M0:d0:0000', + leadZeroDateTime: true, + showMaskTyped: true, + }, + imports: [CypressTestMaskModule], + }); + + cy.get('#masked') + .type('12310000') + .should('have.value', '12:31:0000') + .type('{backspace}'.repeat(10)) + .should('have.value', '__:__:____'); + }); + it('should correct work after backspace separator.6 decimalMarker . thousandSeparator ,', () => { cy.mount(CypressTestMaskComponent, { componentProperties: { @@ -602,4 +602,37 @@ describe('Directive: Mask (Delete)', () => { .type('{backspace}') .should('have.value', '4'); }); + + it('should backspace with mask Hh:m0', () => { + cy.mount(CypressTestMaskComponent, { + componentProperties: { + mask: 'Hh:m0', + showMaskTyped: true, + }, + imports: [CypressTestMaskModule], + }); + + cy.get('#masked') + .type('1234') + .should('have.value', '12:34') + .type('{backspace}'.repeat(4)) + .should('have.value', '__:__'); + }); + + it('should backspace with mask Hh:m0 and leadZeroDateTime', () => { + cy.mount(CypressTestMaskComponent, { + componentProperties: { + mask: 'Hh:m0', + showMaskTyped: true, + leadZeroDateTime: true, + }, + imports: [CypressTestMaskModule], + }); + + cy.get('#masked') + .type('344') + .should('have.value', '03:44') + .type('{backspace}'.repeat(5)) + .should('have.value', '__:__'); + }); }); From c91177fc17ae4256c895ae0b83fb4628ea2e10e1 Mon Sep 17 00:00:00 2001 From: andriikamaldinov1 Date: Wed, 30 Oct 2024 13:53:39 +0200 Subject: [PATCH 4/5] feat(ref: #188): change type imports --- CHANGELOG.md | 11 ++++------ eslint.config.js | 2 ++ .../src/lib/ngx-mask-applier.service.ts | 3 ++- .../src/lib/ngx-mask.directive.ts | 22 ++++++------------- .../ngx-mask-lib/src/lib/ngx-mask.pipe.ts | 6 +++-- .../src/lib/ngx-mask.providers.ts | 12 ++++------ .../ngx-mask-lib/src/lib/ngx-mask.service.ts | 3 ++- .../ngx-mask-lib/src/test/add-prefix.spec.ts | 3 ++- .../ngx-mask-lib/src/test/add-suffix.spec.ts | 3 ++- .../src/test/allow-negative-numbers.spec.ts | 3 ++- .../ngx-mask-lib/src/test/basic-logic.spec.ts | 5 +++-- .../test/clear-if-not-match-the-mask.spec.ts | 3 ++- .../src/test/complete-mask.spec.ts | 3 ++- .../ngx-mask-lib/src/test/copy-paste.spec.ts | 3 ++- .../ngx-mask-lib/src/test/custom-date.spec.ts | 3 ++- .../src/test/custom-patterns.spec.ts | 6 +++-- .../src/test/custom-symbol-regexp.spec.ts | 3 ++- .../src/test/default-config.spec.ts | 5 +++-- projects/ngx-mask-lib/src/test/delete.spec.ts | 5 +++-- .../src/test/drop-special-charaters.spec.ts | 3 ++- .../ngx-mask-lib/src/test/dynamic.spec.ts | 5 +++-- .../ngx-mask-lib/src/test/export-as.spec.ts | 3 ++- .../src/test/inputTransformFn.spec.ts | 3 ++- .../ngx-mask-lib/src/test/mask.pipe.spec.ts | 3 ++- .../ngx-mask-lib/src/test/percent.spec.ts | 3 ++- .../src/test/place-holder-character.spec.ts | 3 ++- .../ngx-mask-lib/src/test/repeat-mask.spec.ts | 3 ++- .../ngx-mask-lib/src/test/secure-mask.spec.ts | 5 +++-- .../src/test/separator-non-en-locale.spec.ts | 6 +++-- .../ngx-mask-lib/src/test/separator.spec.ts | 5 +++-- .../src/test/show-mask-typed.spec.ts | 5 +++-- .../ngx-mask-lib/src/test/test-sufix.spec.ts | 5 +++-- .../ngx-mask-lib/src/test/time-mask.spec.ts | 3 ++- .../src/test/trigger-on-mask-change.spec.ts | 5 +++-- .../ngx-mask-lib/src/test/type-number.spec.ts | 3 ++- .../utils/cypress-test-component.component.ts | 3 ++- ...s-test-trigger-on-mask-change.component.ts | 3 ++- .../test/utils/test-component.component.ts | 2 +- .../ngx-mask-lib/src/test/validation.spec.ts | 3 ++- src/app/app.component.ts | 2 +- src/app/options/options.component.ts | 2 +- src/assets/content/common-cases.ts | 2 +- src/assets/content/lists.ts | 2 +- src/assets/content/optional.ts | 2 +- src/assets/content/other.ts | 2 +- src/assets/content/parser-and-formatter.ts | 2 +- src/assets/content/separators.ts | 2 +- src/libraries | 2 +- 48 files changed, 110 insertions(+), 86 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7023cb72..ac77e9b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,10 @@ ### Enhancement -- add tailwind -- change interface to type, remove prefix "I" -- update dependencies -- add ESLint strict rules +- add tailwind +- change interface to type, remove prefix "I" +- update dependencies +- add ESLint strict rules ### Fix @@ -18,9 +18,6 @@ - Fix ([#1344](https://github.com/JsDaddy/ngx-mask/issues/1344)) - Fix ([#1356](https://github.com/JsDaddy/ngx-mask/issues/1356)) - - - # 17.1.8(2024-07-16) ### Fix diff --git a/eslint.config.js b/eslint.config.js index fac63853..03e0fa85 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -155,6 +155,8 @@ module.exports = tseslint.config( '@typescript-eslint/unbound-method': 'off', 'import/no-cycle': 'off', 'import/extensions': 'off', + '@typescript-eslint/consistent-type-imports': 'error', + '@typescript-eslint/consistent-type-exports': 'error', }, }, { diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts b/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts index c9f3c0ee..9d75332d 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts @@ -1,5 +1,6 @@ import { inject, Injectable } from '@angular/core'; -import { NGX_MASK_CONFIG, Config } from './ngx-mask.config'; +import type { Config } from './ngx-mask.config'; +import { NGX_MASK_CONFIG } from './ngx-mask.config'; import { MaskExpression } from './ngx-mask-expression.enum'; @Injectable() diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts index ac15ca9c..94299234 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts @@ -1,25 +1,17 @@ import { DOCUMENT } from '@angular/common'; -import { - Directive, - EventEmitter, - HostListener, - Input, - OnChanges, - Output, - SimpleChanges, - inject, -} from '@angular/core'; -import { +import type { OnChanges, SimpleChanges } from '@angular/core'; +import { Directive, EventEmitter, HostListener, Input, Output, inject } from '@angular/core'; +import type { ControlValueAccessor, FormControl, - NG_VALIDATORS, - NG_VALUE_ACCESSOR, ValidationErrors, Validator, } from '@angular/forms'; +import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms'; -import { CustomKeyboardEvent } from './custom-keyboard-event'; -import { Config, NGX_MASK_CONFIG, timeMasks, withoutValidation } from './ngx-mask.config'; +import type { CustomKeyboardEvent } from './custom-keyboard-event'; +import type { Config } from './ngx-mask.config'; +import { NGX_MASK_CONFIG, timeMasks, withoutValidation } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; import { MaskExpression } from './ngx-mask-expression.enum'; diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts index a4d2e658..7a368fd4 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts @@ -1,6 +1,8 @@ -import { inject, Pipe, PipeTransform } from '@angular/core'; +import type { PipeTransform } from '@angular/core'; +import { inject, Pipe } from '@angular/core'; -import { Config, NGX_MASK_CONFIG } from './ngx-mask.config'; +import type { Config } from './ngx-mask.config'; +import { NGX_MASK_CONFIG } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; import { MaskExpression } from './ngx-mask-expression.enum'; diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.providers.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.providers.ts index 8d7a5724..f9eaf84a 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.providers.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.providers.ts @@ -1,12 +1,8 @@ -import { EnvironmentProviders, inject, makeEnvironmentProviders, Provider } from '@angular/core'; +import type { EnvironmentProviders, Provider } from '@angular/core'; +import { inject, makeEnvironmentProviders } from '@angular/core'; -import { - NGX_MASK_CONFIG, - INITIAL_CONFIG, - initialConfig, - NEW_CONFIG, - optionsConfig, -} from './ngx-mask.config'; +import type { optionsConfig } from './ngx-mask.config'; +import { NGX_MASK_CONFIG, INITIAL_CONFIG, initialConfig, NEW_CONFIG } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; /** diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts index 6bf8f0f9..6e3b6020 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts @@ -1,7 +1,8 @@ import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core'; import { DOCUMENT } from '@angular/common'; -import { NGX_MASK_CONFIG, Config } from './ngx-mask.config'; +import type { Config } from './ngx-mask.config'; +import { NGX_MASK_CONFIG } from './ngx-mask.config'; import { NgxMaskApplierService } from './ngx-mask-applier.service'; import { MaskExpression } from './ngx-mask-expression.enum'; diff --git a/projects/ngx-mask-lib/src/test/add-prefix.spec.ts b/projects/ngx-mask-lib/src/test/add-prefix.spec.ts index e1e52029..5694b87d 100644 --- a/projects/ngx-mask-lib/src/test/add-prefix.spec.ts +++ b/projects/ngx-mask-lib/src/test/add-prefix.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { equal } from './utils/test-functions.component'; diff --git a/projects/ngx-mask-lib/src/test/add-suffix.spec.ts b/projects/ngx-mask-lib/src/test/add-suffix.spec.ts index 059d4c37..420767c8 100644 --- a/projects/ngx-mask-lib/src/test/add-suffix.spec.ts +++ b/projects/ngx-mask-lib/src/test/add-suffix.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/allow-negative-numbers.spec.ts b/projects/ngx-mask-lib/src/test/allow-negative-numbers.spec.ts index 4d6e666f..2e105b52 100644 --- a/projects/ngx-mask-lib/src/test/allow-negative-numbers.spec.ts +++ b/projects/ngx-mask-lib/src/test/allow-negative-numbers.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/basic-logic.spec.ts b/projects/ngx-mask-lib/src/test/basic-logic.spec.ts index 13ed1a57..b072e0af 100644 --- a/projects/ngx-mask-lib/src/test/basic-logic.spec.ts +++ b/projects/ngx-mask-lib/src/test/basic-logic.spec.ts @@ -1,5 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { DebugElement } from '@angular/core'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; +import type { DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { ReactiveFormsModule } from '@angular/forms'; diff --git a/projects/ngx-mask-lib/src/test/clear-if-not-match-the-mask.spec.ts b/projects/ngx-mask-lib/src/test/clear-if-not-match-the-mask.spec.ts index 0cc3d635..bc318931 100644 --- a/projects/ngx-mask-lib/src/test/clear-if-not-match-the-mask.spec.ts +++ b/projects/ngx-mask-lib/src/test/clear-if-not-match-the-mask.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { equal } from './utils/test-functions.component'; diff --git a/projects/ngx-mask-lib/src/test/complete-mask.spec.ts b/projects/ngx-mask-lib/src/test/complete-mask.spec.ts index 9b986861..89cae0a4 100644 --- a/projects/ngx-mask-lib/src/test/complete-mask.spec.ts +++ b/projects/ngx-mask-lib/src/test/complete-mask.spec.ts @@ -1,5 +1,6 @@ import { Component } from '@angular/core'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { FormControl, ReactiveFormsModule } from '@angular/forms'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; diff --git a/projects/ngx-mask-lib/src/test/copy-paste.spec.ts b/projects/ngx-mask-lib/src/test/copy-paste.spec.ts index 97272731..45dd458f 100644 --- a/projects/ngx-mask-lib/src/test/copy-paste.spec.ts +++ b/projects/ngx-mask-lib/src/test/copy-paste.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/custom-date.spec.ts b/projects/ngx-mask-lib/src/test/custom-date.spec.ts index 42b15cf5..0cbfe9e5 100644 --- a/projects/ngx-mask-lib/src/test/custom-date.spec.ts +++ b/projects/ngx-mask-lib/src/test/custom-date.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { equal } from './utils/test-functions.component'; diff --git a/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts b/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts index 17ccae94..3736c7d3 100644 --- a/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts +++ b/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts @@ -1,11 +1,13 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { equal } from './utils/test-functions.component'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; -import { Config, initialConfig } from 'ngx-mask'; +import type { Config } from 'ngx-mask'; +import { initialConfig } from 'ngx-mask'; describe('Directive: Mask (Custom patterns)', () => { let fixture: ComponentFixture; diff --git a/projects/ngx-mask-lib/src/test/custom-symbol-regexp.spec.ts b/projects/ngx-mask-lib/src/test/custom-symbol-regexp.spec.ts index 0b8b6c5e..0ac1bb90 100644 --- a/projects/ngx-mask-lib/src/test/custom-symbol-regexp.spec.ts +++ b/projects/ngx-mask-lib/src/test/custom-symbol-regexp.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/default-config.spec.ts b/projects/ngx-mask-lib/src/test/default-config.spec.ts index 21ffe063..931eefe0 100644 --- a/projects/ngx-mask-lib/src/test/default-config.spec.ts +++ b/projects/ngx-mask-lib/src/test/default-config.spec.ts @@ -1,9 +1,10 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule, FormControl } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { provideEnvironmentNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; -import { optionsConfig } from '../lib/ngx-mask.config'; +import type { optionsConfig } from '../lib/ngx-mask.config'; function createComponentWithDefaultConfig( defaultConfig?: optionsConfig diff --git a/projects/ngx-mask-lib/src/test/delete.spec.ts b/projects/ngx-mask-lib/src/test/delete.spec.ts index fa6c742b..62b6ebaa 100644 --- a/projects/ngx-mask-lib/src/test/delete.spec.ts +++ b/projects/ngx-mask-lib/src/test/delete.spec.ts @@ -1,6 +1,7 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { DebugElement } from '@angular/core'; +import type { DebugElement } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/drop-special-charaters.spec.ts b/projects/ngx-mask-lib/src/test/drop-special-charaters.spec.ts index 1d32980b..0827887e 100644 --- a/projects/ngx-mask-lib/src/test/drop-special-charaters.spec.ts +++ b/projects/ngx-mask-lib/src/test/drop-special-charaters.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/dynamic.spec.ts b/projects/ngx-mask-lib/src/test/dynamic.spec.ts index 49b944b7..eb436594 100644 --- a/projects/ngx-mask-lib/src/test/dynamic.spec.ts +++ b/projects/ngx-mask-lib/src/test/dynamic.spec.ts @@ -1,9 +1,10 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; -import { DebugElement } from '@angular/core'; +import type { DebugElement } from '@angular/core'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; import { equal } from './utils/test-functions.component'; diff --git a/projects/ngx-mask-lib/src/test/export-as.spec.ts b/projects/ngx-mask-lib/src/test/export-as.spec.ts index c8882c47..09df4b99 100644 --- a/projects/ngx-mask-lib/src/test/export-as.spec.ts +++ b/projects/ngx-mask-lib/src/test/export-as.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { Component, ViewChild } from '@angular/core'; diff --git a/projects/ngx-mask-lib/src/test/inputTransformFn.spec.ts b/projects/ngx-mask-lib/src/test/inputTransformFn.spec.ts index 52a34bae..a8e5a35e 100644 --- a/projects/ngx-mask-lib/src/test/inputTransformFn.spec.ts +++ b/projects/ngx-mask-lib/src/test/inputTransformFn.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts b/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts index fde4ccaf..b1860e87 100644 --- a/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts +++ b/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts @@ -1,7 +1,8 @@ import { TestBed } from '@angular/core/testing'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskPipe } from '../lib/ngx-mask.pipe'; -import { Config, NgxMaskDirective } from 'ngx-mask'; +import type { Config } from 'ngx-mask'; +import { NgxMaskDirective } from 'ngx-mask'; describe('Pipe: Mask', () => { let maskPipe: NgxMaskPipe; diff --git a/projects/ngx-mask-lib/src/test/percent.spec.ts b/projects/ngx-mask-lib/src/test/percent.spec.ts index ffae64ae..46a8a688 100644 --- a/projects/ngx-mask-lib/src/test/percent.spec.ts +++ b/projects/ngx-mask-lib/src/test/percent.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/place-holder-character.spec.ts b/projects/ngx-mask-lib/src/test/place-holder-character.spec.ts index 5e16f54c..92f19ef3 100644 --- a/projects/ngx-mask-lib/src/test/place-holder-character.spec.ts +++ b/projects/ngx-mask-lib/src/test/place-holder-character.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/repeat-mask.spec.ts b/projects/ngx-mask-lib/src/test/repeat-mask.spec.ts index b5672603..fd20bf1d 100644 --- a/projects/ngx-mask-lib/src/test/repeat-mask.spec.ts +++ b/projects/ngx-mask-lib/src/test/repeat-mask.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/secure-mask.spec.ts b/projects/ngx-mask-lib/src/test/secure-mask.spec.ts index 4cd3e2e3..a6e02619 100644 --- a/projects/ngx-mask-lib/src/test/secure-mask.spec.ts +++ b/projects/ngx-mask-lib/src/test/secure-mask.spec.ts @@ -1,11 +1,12 @@ -import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { fakeAsync, TestBed, tick } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { equal, typeTest } from './utils/test-functions.component'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; -import { DebugElement } from '@angular/core'; +import type { DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; describe('Directive: Mask (Secure)', () => { diff --git a/projects/ngx-mask-lib/src/test/separator-non-en-locale.spec.ts b/projects/ngx-mask-lib/src/test/separator-non-en-locale.spec.ts index 1bbe3a43..75391381 100644 --- a/projects/ngx-mask-lib/src/test/separator-non-en-locale.spec.ts +++ b/projects/ngx-mask-lib/src/test/separator-non-en-locale.spec.ts @@ -1,5 +1,7 @@ -import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; -import { DebugElement, LOCALE_ID } from '@angular/core'; +import type { ComponentFixture } from '@angular/core/testing'; +import { fakeAsync, TestBed, tick } from '@angular/core/testing'; +import type { DebugElement } from '@angular/core'; +import { LOCALE_ID } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { equal, typeTest } from './utils/test-functions.component'; diff --git a/projects/ngx-mask-lib/src/test/separator.spec.ts b/projects/ngx-mask-lib/src/test/separator.spec.ts index f50082a8..1e6df6a1 100644 --- a/projects/ngx-mask-lib/src/test/separator.spec.ts +++ b/projects/ngx-mask-lib/src/test/separator.spec.ts @@ -1,6 +1,7 @@ -import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { fakeAsync, TestBed, tick } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { DebugElement } from '@angular/core'; +import type { DebugElement } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { equal, typeTest } from './utils/test-functions.component'; diff --git a/projects/ngx-mask-lib/src/test/show-mask-typed.spec.ts b/projects/ngx-mask-lib/src/test/show-mask-typed.spec.ts index 1c765a69..28b9e2d8 100644 --- a/projects/ngx-mask-lib/src/test/show-mask-typed.spec.ts +++ b/projects/ngx-mask-lib/src/test/show-mask-typed.spec.ts @@ -1,11 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { equal } from './utils/test-functions.component'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; -import { DebugElement } from '@angular/core'; +import type { DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; describe('Directive: Mask', () => { diff --git a/projects/ngx-mask-lib/src/test/test-sufix.spec.ts b/projects/ngx-mask-lib/src/test/test-sufix.spec.ts index 5a89fe59..baec7b6e 100644 --- a/projects/ngx-mask-lib/src/test/test-sufix.spec.ts +++ b/projects/ngx-mask-lib/src/test/test-sufix.spec.ts @@ -1,5 +1,6 @@ -import { DebugElement } from '@angular/core'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { DebugElement } from '@angular/core'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/time-mask.spec.ts b/projects/ngx-mask-lib/src/test/time-mask.spec.ts index 42019a6b..5355a101 100644 --- a/projects/ngx-mask-lib/src/test/time-mask.spec.ts +++ b/projects/ngx-mask-lib/src/test/time-mask.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; diff --git a/projects/ngx-mask-lib/src/test/trigger-on-mask-change.spec.ts b/projects/ngx-mask-lib/src/test/trigger-on-mask-change.spec.ts index 70b34e6e..2d84f3ea 100644 --- a/projects/ngx-mask-lib/src/test/trigger-on-mask-change.spec.ts +++ b/projects/ngx-mask-lib/src/test/trigger-on-mask-change.spec.ts @@ -1,11 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { ReactiveFormsModule } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; -import { DebugElement } from '@angular/core'; +import type { DebugElement } from '@angular/core'; import { equal } from './utils/test-functions.component'; describe('Directive: Mask (Trigger on mask change)', () => { diff --git a/projects/ngx-mask-lib/src/test/type-number.spec.ts b/projects/ngx-mask-lib/src/test/type-number.spec.ts index c2cd5041..b82144f1 100644 --- a/projects/ngx-mask-lib/src/test/type-number.spec.ts +++ b/projects/ngx-mask-lib/src/test/type-number.spec.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; import { FormControl, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { NgxMaskDirective, provideNgxMask } from 'ngx-mask'; import { equal } from './utils/test-functions.component'; diff --git a/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts b/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts index 1b5d13ac..24de281c 100644 --- a/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts @@ -1,7 +1,8 @@ import { Component, inject, Input } from '@angular/core'; import { FormControl } from '@angular/forms'; import { scan, startWith } from 'rxjs'; -import { Config, NGX_MASK_CONFIG } from 'ngx-mask'; +import type { Config } from 'ngx-mask'; +import { NGX_MASK_CONFIG } from 'ngx-mask'; @Component({ selector: 'jsdaddy-open-source-test', diff --git a/projects/ngx-mask-lib/src/test/utils/cypress-test-trigger-on-mask-change.component.ts b/projects/ngx-mask-lib/src/test/utils/cypress-test-trigger-on-mask-change.component.ts index eaf79213..4215ac72 100644 --- a/projects/ngx-mask-lib/src/test/utils/cypress-test-trigger-on-mask-change.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/cypress-test-trigger-on-mask-change.component.ts @@ -1,4 +1,5 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import type { OnDestroy, OnInit } from '@angular/core'; +import { Component } from '@angular/core'; import { FormControl } from '@angular/forms'; import { Subject, takeUntil } from 'rxjs'; diff --git a/projects/ngx-mask-lib/src/test/utils/test-component.component.ts b/projects/ngx-mask-lib/src/test/utils/test-component.component.ts index 41333e09..976736dc 100644 --- a/projects/ngx-mask-lib/src/test/utils/test-component.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/test-component.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectorRef, Component, inject } from '@angular/core'; import { FormControl } from '@angular/forms'; -import { Config } from '../../lib/ngx-mask.config'; +import type { Config } from '../../lib/ngx-mask.config'; @Component({ selector: 'jsdaddy-open-source-test', diff --git a/projects/ngx-mask-lib/src/test/validation.spec.ts b/projects/ngx-mask-lib/src/test/validation.spec.ts index 1fea7a8f..cc65a35e 100644 --- a/projects/ngx-mask-lib/src/test/validation.spec.ts +++ b/projects/ngx-mask-lib/src/test/validation.spec.ts @@ -1,4 +1,5 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import type { ComponentFixture } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { Component } from '@angular/core'; import { ReactiveFormsModule, FormControl, Validators } from '@angular/forms'; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 527e3ed2..12c7f28e 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -6,7 +6,7 @@ import { ComDocs, ComExamples } from 'src/assets/content/common-cases'; import { OthDocs, OthExamples } from 'src/assets/content/other'; import { OptionsComponent } from './options/options.component'; import { HeaderComponent } from '@open-source/header/header.component'; -import { ComDoc, ListItem, MaskOptions, TExample } from '@open-source/accordion/content.types'; +import type { ComDoc, ListItem, MaskOptions, TExample } from '@open-source/accordion/content.types'; import { SubHeaderComponent } from '@open-source/sub-header/sub-header.component'; import { AccordionComponent } from '@open-source/accordion/accordion.component'; import { FooterComponent } from '@open-source/footer/footer.component'; diff --git a/src/app/options/options.component.ts b/src/app/options/options.component.ts index 2c20124d..16d8b5b8 100644 --- a/src/app/options/options.component.ts +++ b/src/app/options/options.component.ts @@ -11,7 +11,7 @@ import { ScrollService } from '@open-source/scroll/scroll.service'; import { AccordionService } from '@open-source/accordion/accordion.service'; import { OpenSourcePath } from '@open-source/path/open-source.path'; import { toSignal } from '@angular/core/rxjs-interop'; -import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; +import type { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; @Component({ selector: 'jsdaddy-open-source-options', diff --git a/src/assets/content/common-cases.ts b/src/assets/content/common-cases.ts index bc45dfb3..70d807f5 100644 --- a/src/assets/content/common-cases.ts +++ b/src/assets/content/common-cases.ts @@ -1,5 +1,5 @@ import { UntypedFormControl } from '@angular/forms'; -import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; +import type { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; export const ComDocs: ComDoc[] = [ { diff --git a/src/assets/content/lists.ts b/src/assets/content/lists.ts index 74cb9955..88f0ebc7 100644 --- a/src/assets/content/lists.ts +++ b/src/assets/content/lists.ts @@ -1,4 +1,4 @@ -import { ListItem } from '@open-source/accordion/content.types'; +import type { ListItem } from '@open-source/accordion/content.types'; export const lists: ListItem[] = [ { diff --git a/src/assets/content/optional.ts b/src/assets/content/optional.ts index 938b93fa..8f7255ce 100644 --- a/src/assets/content/optional.ts +++ b/src/assets/content/optional.ts @@ -1,5 +1,5 @@ import { UntypedFormControl } from '@angular/forms'; -import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; +import type { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; export const OptDocs: ComDoc[] = [ { diff --git a/src/assets/content/other.ts b/src/assets/content/other.ts index c13321ab..54176dda 100644 --- a/src/assets/content/other.ts +++ b/src/assets/content/other.ts @@ -1,5 +1,5 @@ import { UntypedFormControl } from '@angular/forms'; -import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; +import type { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; export const OthDocs: ComDoc[] = [ { diff --git a/src/assets/content/parser-and-formatter.ts b/src/assets/content/parser-and-formatter.ts index abcc1d72..b9f29108 100644 --- a/src/assets/content/parser-and-formatter.ts +++ b/src/assets/content/parser-and-formatter.ts @@ -1,5 +1,5 @@ import { UntypedFormControl } from '@angular/forms'; -import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; +import type { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; export const ParserAndFormatterDocs: ComDoc[] = [ { diff --git a/src/assets/content/separators.ts b/src/assets/content/separators.ts index fb61ac6f..6faf570e 100644 --- a/src/assets/content/separators.ts +++ b/src/assets/content/separators.ts @@ -1,5 +1,5 @@ import { UntypedFormControl } from '@angular/forms'; -import { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; +import type { ComDoc, MaskOptions, TExample } from '@open-source/accordion/content.types'; export const SepDocs: ComDoc[] = [ { diff --git a/src/libraries b/src/libraries index 8037189c..a93170dc 160000 --- a/src/libraries +++ b/src/libraries @@ -1 +1 @@ -Subproject commit 8037189c89d218cb473a7337809be3700c21e757 +Subproject commit a93170dc370447a7bcf6a4474515031e9c5b9c55 From da6053a9457e7a4c217f256d7b820bf9f3b678a8 Mon Sep 17 00:00:00 2001 From: andriikamaldinov1 Date: Wed, 30 Oct 2024 16:32:24 +0200 Subject: [PATCH 5/5] fix(ref: #188): rename types, remove zone js --- CHANGELOG.md | 9 ++-- README.md | 22 +++----- angular.json | 3 +- .../src/lib/ngx-mask-applier.service.ts | 54 ++++++++++--------- .../ngx-mask-lib/src/lib/ngx-mask.config.ts | 13 +++-- .../src/lib/ngx-mask.directive.ts | 52 +++++++++--------- .../ngx-mask-lib/src/lib/ngx-mask.pipe.ts | 6 +-- .../src/lib/ngx-mask.providers.ts | 12 ++--- .../ngx-mask-lib/src/lib/ngx-mask.service.ts | 4 +- .../src/test/custom-patterns.spec.ts | 10 ++-- .../src/test/default-config.spec.ts | 4 +- .../ngx-mask-lib/src/test/mask.pipe.spec.ts | 6 +-- .../utils/cypress-test-component.component.ts | 4 +- .../test/utils/test-component.component.ts | 45 ++++++++-------- src/libraries | 2 +- src/main.ts | 2 + 16 files changed, 121 insertions(+), 127 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac77e9b1..8fb3311c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,10 @@ # 18.0.1(2024-10-29) -### Enhancement +### Breaking Changes -- add tailwind -- change interface to type, remove prefix "I" -- update dependencies -- add ESLint strict rules +- rename "IConfig" to "NgxMaskConfig" +- rename "optionsConfig" to "NgxMaskOptions" +- change interface to type ### Fix diff --git a/README.md b/README.md index c007694a..2727163a 100644 --- a/README.md +++ b/README.md @@ -72,9 +72,9 @@ bootstrapApplication(AppComponent, { ### Passing your own mask config options ```typescript -import { Config } from 'ngx-mask' +import { NgxMaskConfig } from 'ngx-mask' -const maskConfig: Partial = { +const maskConfig: Partial = { validation: false, }; @@ -90,7 +90,7 @@ bootstrapApplication(AppComponent, { ### Using a function to configure: ```typescript -const maskConfigFunction: () => Partial = () => { +const maskConfigFunction: () => Partial = () => { return { validation: false, }; @@ -144,9 +144,9 @@ Import **ngx-mask** module in Angular app. ### With default mask config options ```typescript -import { NgxMaskModule, Config } from 'ngx-mask' +import { NgxMaskModule, NgxMaskConfig } from 'ngx-mask' -export const options: Partial | (() => Partial) = null; +export const options: Partial | (() => Partial) = null; @NgModule({ imports: [ @@ -158,9 +158,9 @@ export const options: Partial | (() => Partial) = null; ### Passing in your own mask config options ```typescript -import { NgxMaskModule, Config } from 'ngx-mask' +import { NgxMaskModule, NgxMaskConfig } from 'ngx-mask' -const maskConfig: Partial = { +const maskConfig: Partial = { validation: false, }; @@ -174,7 +174,7 @@ const maskConfig: Partial = { Or using a function to get the config: ```typescript -const maskConfigFunction: () => Partial = () => { +const maskConfigFunction: () => Partial = () => { return { validation: false, }; @@ -193,12 +193,6 @@ Then, just define masks in inputs. Text [documentation](https://github.com/JsDaddy/ngx-mask/blob/develop/USAGE.md) -## Setup hooks - -```bash -$ npm run init:hooks -``` - ## Contributing We would love some contributions! Check out this [document](https://github.com/JsDaddy/ngx-mask/blob/develop/CONTRIBUTING.md) to get started. diff --git a/angular.json b/angular.json index 077401fd..19f82bd1 100644 --- a/angular.json +++ b/angular.json @@ -26,8 +26,7 @@ "extractLicenses": false, "sourceMap": true, "optimization": false, - "namedChunks": true, - "polyfills": ["zone.js"] + "namedChunks": true }, "configurations": { "production": { diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts b/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts index 9d75332d..7daf3429 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask-applier.service.ts @@ -1,56 +1,58 @@ import { inject, Injectable } from '@angular/core'; -import type { Config } from './ngx-mask.config'; +import type { NgxMaskConfig } from './ngx-mask.config'; import { NGX_MASK_CONFIG } from './ngx-mask.config'; import { MaskExpression } from './ngx-mask-expression.enum'; @Injectable() export class NgxMaskApplierService { - protected _config = inject(NGX_MASK_CONFIG); + protected _config = inject(NGX_MASK_CONFIG); - public dropSpecialCharacters: Config['dropSpecialCharacters'] = + public dropSpecialCharacters: NgxMaskConfig['dropSpecialCharacters'] = this._config.dropSpecialCharacters; - public hiddenInput: Config['hiddenInput'] = this._config.hiddenInput; + public hiddenInput: NgxMaskConfig['hiddenInput'] = this._config.hiddenInput; - public showTemplate!: Config['showTemplate']; + public showTemplate!: NgxMaskConfig['showTemplate']; - public clearIfNotMatch: Config['clearIfNotMatch'] = this._config.clearIfNotMatch; + public clearIfNotMatch: NgxMaskConfig['clearIfNotMatch'] = this._config.clearIfNotMatch; - public specialCharacters: Config['specialCharacters'] = this._config.specialCharacters; + public specialCharacters: NgxMaskConfig['specialCharacters'] = this._config.specialCharacters; - public patterns: Config['patterns'] = this._config.patterns; + public patterns: NgxMaskConfig['patterns'] = this._config.patterns; - public prefix: Config['prefix'] = this._config.prefix; + public prefix: NgxMaskConfig['prefix'] = this._config.prefix; - public suffix: Config['suffix'] = this._config.suffix; + public suffix: NgxMaskConfig['suffix'] = this._config.suffix; - public thousandSeparator: Config['thousandSeparator'] = this._config.thousandSeparator; + public thousandSeparator: NgxMaskConfig['thousandSeparator'] = this._config.thousandSeparator; - public decimalMarker: Config['decimalMarker'] = this._config.decimalMarker; + public decimalMarker: NgxMaskConfig['decimalMarker'] = this._config.decimalMarker; - public customPattern!: Config['patterns']; + public customPattern!: NgxMaskConfig['patterns']; - public showMaskTyped: Config['showMaskTyped'] = this._config.showMaskTyped; + public showMaskTyped: NgxMaskConfig['showMaskTyped'] = this._config.showMaskTyped; - public placeHolderCharacter: Config['placeHolderCharacter'] = this._config.placeHolderCharacter; + public placeHolderCharacter: NgxMaskConfig['placeHolderCharacter'] = + this._config.placeHolderCharacter; - public validation: Config['validation'] = this._config.validation; + public validation: NgxMaskConfig['validation'] = this._config.validation; - public separatorLimit: Config['separatorLimit'] = this._config.separatorLimit; + public separatorLimit: NgxMaskConfig['separatorLimit'] = this._config.separatorLimit; - public allowNegativeNumbers: Config['allowNegativeNumbers'] = this._config.allowNegativeNumbers; + public allowNegativeNumbers: NgxMaskConfig['allowNegativeNumbers'] = + this._config.allowNegativeNumbers; - public leadZeroDateTime: Config['leadZeroDateTime'] = this._config.leadZeroDateTime; + public leadZeroDateTime: NgxMaskConfig['leadZeroDateTime'] = this._config.leadZeroDateTime; - public leadZero: Config['leadZero'] = this._config.leadZero; + public leadZero: NgxMaskConfig['leadZero'] = this._config.leadZero; - public apm: Config['apm'] = this._config.apm; + public apm: NgxMaskConfig['apm'] = this._config.apm; - public inputTransformFn: Config['inputTransformFn'] = this._config.inputTransformFn; + public inputTransformFn: NgxMaskConfig['inputTransformFn'] = this._config.inputTransformFn; - public outputTransformFn: Config['outputTransformFn'] = this._config.outputTransformFn; + public outputTransformFn: NgxMaskConfig['outputTransformFn'] = this._config.outputTransformFn; - public keepCharacterPositions: Config['keepCharacterPositions'] = + public keepCharacterPositions: NgxMaskConfig['keepCharacterPositions'] = this._config.keepCharacterPositions; private _shift = new Set(); @@ -73,7 +75,7 @@ export class NgxMaskApplierService { public applyMaskWithPattern( inputValue: string, - maskAndPattern: [string, Config['patterns']] + maskAndPattern: [string, NgxMaskConfig['patterns']] ): string { const [mask, customPattern] = maskAndPattern; this.customPattern = customPattern; @@ -895,7 +897,7 @@ export class NgxMaskApplierService { private checkInputPrecision = ( inputValue: string, precision: number, - decimalMarker: Config['decimalMarker'] + decimalMarker: NgxMaskConfig['decimalMarker'] ): string => { let processedInputValue = inputValue; let processedDecimalMarker = decimalMarker; diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts index 4b10f096..1732356b 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.config.ts @@ -5,7 +5,7 @@ export type InputTransformFn = (value: unknown) => string | number; export type OutputTransformFn = (value: string | number | undefined | null) => unknown; -export type Config = { +export type NgxMaskConfig = { suffix: string; prefix: string; thousandSeparator: string; @@ -39,12 +39,12 @@ export type Config = { >; }; -export type optionsConfig = Partial; -export const NGX_MASK_CONFIG = new InjectionToken('ngx-mask config'); -export const NEW_CONFIG = new InjectionToken('new ngx-mask config'); -export const INITIAL_CONFIG = new InjectionToken('initial ngx-mask config'); +export type NgxMaskOptions = Partial; +export const NGX_MASK_CONFIG = new InjectionToken('ngx-mask config'); +export const NEW_CONFIG = new InjectionToken('new ngx-mask config'); +export const INITIAL_CONFIG = new InjectionToken('initial ngx-mask config'); -export const initialConfig: Config = { +export const initialConfig: NgxMaskConfig = { suffix: '', prefix: '', thousandSeparator: ' ', @@ -59,7 +59,6 @@ export const initialConfig: Config = { separatorLimit: '', allowNegativeNumbers: false, validation: true, - specialCharacters: ['-', '/', '(', ')', '.', ':', ' ', '+', ',', '@', '[', ']', '"', "'"], leadZeroDateTime: false, apm: false, diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts index 94299234..67071323 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.directive.ts @@ -10,7 +10,7 @@ import type { import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms'; import type { CustomKeyboardEvent } from './custom-keyboard-event'; -import type { Config } from './ngx-mask.config'; +import type { NgxMaskConfig } from './ngx-mask.config'; import { NGX_MASK_CONFIG, timeMasks, withoutValidation } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; import { MaskExpression } from './ngx-mask-expression.enum'; @@ -36,53 +36,53 @@ import { MaskExpression } from './ngx-mask-expression.enum'; export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Validator { @Input('mask') public maskExpression: string | undefined | null = ''; - @Input() public specialCharacters: Config['specialCharacters'] = []; + @Input() public specialCharacters: NgxMaskConfig['specialCharacters'] = []; - @Input() public patterns: Config['patterns'] = {}; + @Input() public patterns: NgxMaskConfig['patterns'] = {}; - @Input() public prefix: Config['prefix'] = ''; + @Input() public prefix: NgxMaskConfig['prefix'] = ''; - @Input() public suffix: Config['suffix'] = ''; + @Input() public suffix: NgxMaskConfig['suffix'] = ''; - @Input() public thousandSeparator: Config['thousandSeparator'] = ' '; + @Input() public thousandSeparator: NgxMaskConfig['thousandSeparator'] = ' '; - @Input() public decimalMarker: Config['decimalMarker'] = '.'; + @Input() public decimalMarker: NgxMaskConfig['decimalMarker'] = '.'; - @Input() public dropSpecialCharacters: Config['dropSpecialCharacters'] | null = null; + @Input() public dropSpecialCharacters: NgxMaskConfig['dropSpecialCharacters'] | null = null; - @Input() public hiddenInput: Config['hiddenInput'] | null = null; + @Input() public hiddenInput: NgxMaskConfig['hiddenInput'] | null = null; - @Input() public showMaskTyped: Config['showMaskTyped'] | null = null; + @Input() public showMaskTyped: NgxMaskConfig['showMaskTyped'] | null = null; - @Input() public placeHolderCharacter: Config['placeHolderCharacter'] | null = null; + @Input() public placeHolderCharacter: NgxMaskConfig['placeHolderCharacter'] | null = null; - @Input() public shownMaskExpression: Config['shownMaskExpression'] | null = null; + @Input() public shownMaskExpression: NgxMaskConfig['shownMaskExpression'] | null = null; - @Input() public showTemplate: Config['showTemplate'] | null = null; + @Input() public showTemplate: NgxMaskConfig['showTemplate'] | null = null; - @Input() public clearIfNotMatch: Config['clearIfNotMatch'] | null = null; + @Input() public clearIfNotMatch: NgxMaskConfig['clearIfNotMatch'] | null = null; - @Input() public validation: Config['validation'] | null = null; + @Input() public validation: NgxMaskConfig['validation'] | null = null; - @Input() public separatorLimit: Config['separatorLimit'] | null = null; + @Input() public separatorLimit: NgxMaskConfig['separatorLimit'] | null = null; - @Input() public allowNegativeNumbers: Config['allowNegativeNumbers'] | null = null; + @Input() public allowNegativeNumbers: NgxMaskConfig['allowNegativeNumbers'] | null = null; - @Input() public leadZeroDateTime: Config['leadZeroDateTime'] | null = null; + @Input() public leadZeroDateTime: NgxMaskConfig['leadZeroDateTime'] | null = null; - @Input() public leadZero: Config['leadZero'] | null = null; + @Input() public leadZero: NgxMaskConfig['leadZero'] | null = null; - @Input() public triggerOnMaskChange: Config['triggerOnMaskChange'] | null = null; + @Input() public triggerOnMaskChange: NgxMaskConfig['triggerOnMaskChange'] | null = null; - @Input() public apm: Config['apm'] | null = null; + @Input() public apm: NgxMaskConfig['apm'] | null = null; - @Input() public inputTransformFn: Config['inputTransformFn'] | null = null; + @Input() public inputTransformFn: NgxMaskConfig['inputTransformFn'] | null = null; - @Input() public outputTransformFn: Config['outputTransformFn'] | null = null; + @Input() public outputTransformFn: NgxMaskConfig['outputTransformFn'] | null = null; - @Input() public keepCharacterPositions: Config['keepCharacterPositions'] | null = null; + @Input() public keepCharacterPositions: NgxMaskConfig['keepCharacterPositions'] | null = null; - @Output() public maskFilled: Config['maskFilled'] = new EventEmitter(); + @Output() public maskFilled: NgxMaskConfig['maskFilled'] = new EventEmitter(); private _maskValue = ''; @@ -107,7 +107,7 @@ export class NgxMaskDirective implements ControlValueAccessor, OnChanges, Valida public _maskService = inject(NgxMaskService, { self: true }); - protected _config = inject(NGX_MASK_CONFIG); + protected _config = inject(NGX_MASK_CONFIG); // eslint-disable-next-line @typescript-eslint/no-empty-function public onChange = (_: any) => {}; diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts index 7a368fd4..0e141dc5 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.pipe.ts @@ -1,7 +1,7 @@ import type { PipeTransform } from '@angular/core'; import { inject, Pipe } from '@angular/core'; -import type { Config } from './ngx-mask.config'; +import type { NgxMaskConfig } from './ngx-mask.config'; import { NGX_MASK_CONFIG } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; import { MaskExpression } from './ngx-mask-expression.enum'; @@ -12,7 +12,7 @@ import { MaskExpression } from './ngx-mask-expression.enum'; standalone: true, }) export class NgxMaskPipe implements PipeTransform { - private readonly defaultOptions = inject(NGX_MASK_CONFIG); + private readonly defaultOptions = inject(NGX_MASK_CONFIG); private readonly _maskService = inject(NgxMaskService); @@ -23,7 +23,7 @@ export class NgxMaskPipe implements PipeTransform { public transform( value: string | number, mask: string, - { patterns, ...config }: Partial = {} as Partial + { patterns, ...config }: Partial = {} as Partial ): string { let processedValue: string | number = value; diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.providers.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.providers.ts index f9eaf84a..30f4c7d5 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.providers.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.providers.ts @@ -1,23 +1,23 @@ import type { EnvironmentProviders, Provider } from '@angular/core'; import { inject, makeEnvironmentProviders } from '@angular/core'; -import type { optionsConfig } from './ngx-mask.config'; +import type { NgxMaskOptions } from './ngx-mask.config'; import { NGX_MASK_CONFIG, INITIAL_CONFIG, initialConfig, NEW_CONFIG } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; /** * @internal */ -function _configFactory(): optionsConfig { - const initConfig = inject(INITIAL_CONFIG); - const configValue = inject optionsConfig)>(NEW_CONFIG); +function _configFactory(): NgxMaskOptions { + const initConfig = inject(INITIAL_CONFIG); + const configValue = inject NgxMaskOptions)>(NEW_CONFIG); return configValue instanceof Function ? { ...initConfig, ...configValue() } : { ...initConfig, ...configValue }; } -export function provideNgxMask(configValue?: optionsConfig | (() => optionsConfig)): Provider[] { +export function provideNgxMask(configValue?: NgxMaskOptions | (() => NgxMaskOptions)): Provider[] { return [ { provide: NEW_CONFIG, @@ -36,7 +36,7 @@ export function provideNgxMask(configValue?: optionsConfig | (() => optionsConfi } export function provideEnvironmentNgxMask( - configValue?: optionsConfig | (() => optionsConfig) + configValue?: NgxMaskOptions | (() => NgxMaskOptions) ): EnvironmentProviders { return makeEnvironmentProviders(provideNgxMask(configValue)); } diff --git a/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts b/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts index 6e3b6020..64f3090f 100644 --- a/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts +++ b/projects/ngx-mask-lib/src/lib/ngx-mask.service.ts @@ -1,7 +1,7 @@ import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core'; import { DOCUMENT } from '@angular/common'; -import type { Config } from './ngx-mask.config'; +import type { NgxMaskConfig } from './ngx-mask.config'; import { NGX_MASK_CONFIG } from './ngx-mask.config'; import { NgxMaskApplierService } from './ngx-mask-applier.service'; import { MaskExpression } from './ngx-mask-expression.enum'; @@ -44,7 +44,7 @@ export class NgxMaskService extends NgxMaskApplierService { private readonly document = inject(DOCUMENT); - protected override _config = inject(NGX_MASK_CONFIG); + protected override _config = inject(NGX_MASK_CONFIG); private readonly _renderer = inject(Renderer2, { optional: true }); diff --git a/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts b/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts index 3736c7d3..565b2336 100644 --- a/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts +++ b/projects/ngx-mask-lib/src/test/custom-patterns.spec.ts @@ -6,7 +6,7 @@ import { TestMaskComponent } from './utils/test-component.component'; import { equal } from './utils/test-functions.component'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; -import type { Config } from 'ngx-mask'; +import type { NgxMaskConfig } from 'ngx-mask'; import { initialConfig } from 'ngx-mask'; describe('Directive: Mask (Custom patterns)', () => { @@ -44,7 +44,7 @@ describe('Directive: Mask (Provide custom patterns)', () => { B: { pattern: new RegExp('[a-zA-Z]'), optional: true }, }; - const ngxMaskConfigValue: Partial = { + const ngxMaskConfigValue: Partial = { patterns: { ...initialConfig.patterns, ...ngxMaskCustomPatterns }, }; @@ -88,7 +88,7 @@ describe('Directive: Mask (Provide custom patterns with symbol *)', () => { '*': { pattern: new RegExp('[a-zA-Z0-9]') }, }; - const ngxMaskConfigValue: Partial = { + const ngxMaskConfigValue: Partial = { patterns: { ...initialConfig.patterns, ...ngxMaskCustomPatterns }, }; @@ -135,7 +135,7 @@ describe('Directive: Mask (Provide custom patterns with symbol f and F)', () => let fixture: ComponentFixture; let component: TestMaskComponent; - const ngxMaskConfig: Config = { + const ngxMaskConfig: NgxMaskConfig = { ...initialConfig, patterns: { f: { @@ -190,7 +190,7 @@ describe('Directive: Mask (Provide custom patterns with symbol B optional)', () B: { pattern: new RegExp('[0-9,;]'), optional: true }, }; - const ngxMaskConfigValue: Partial = { + const ngxMaskConfigValue: Partial = { patterns: { ...initialConfig.patterns, ...ngxMaskCustomPatterns }, }; diff --git a/projects/ngx-mask-lib/src/test/default-config.spec.ts b/projects/ngx-mask-lib/src/test/default-config.spec.ts index 931eefe0..8806d780 100644 --- a/projects/ngx-mask-lib/src/test/default-config.spec.ts +++ b/projects/ngx-mask-lib/src/test/default-config.spec.ts @@ -4,10 +4,10 @@ import { ReactiveFormsModule, FormControl } from '@angular/forms'; import { TestMaskComponent } from './utils/test-component.component'; import { provideEnvironmentNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskDirective } from '../lib/ngx-mask.directive'; -import type { optionsConfig } from '../lib/ngx-mask.config'; +import type { NgxMaskOptions } from '../lib/ngx-mask.config'; function createComponentWithDefaultConfig( - defaultConfig?: optionsConfig + defaultConfig?: NgxMaskOptions ): ComponentFixture { TestBed.configureTestingModule({ declarations: [TestMaskComponent], diff --git a/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts b/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts index b1860e87..6cb7c216 100644 --- a/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts +++ b/projects/ngx-mask-lib/src/test/mask.pipe.spec.ts @@ -1,7 +1,7 @@ import { TestBed } from '@angular/core/testing'; import { provideNgxMask } from '../lib/ngx-mask.providers'; import { NgxMaskPipe } from '../lib/ngx-mask.pipe'; -import type { Config } from 'ngx-mask'; +import type { NgxMaskConfig } from 'ngx-mask'; import { NgxMaskDirective } from 'ngx-mask'; describe('Pipe: Mask', () => { @@ -34,7 +34,7 @@ describe('Pipe: Mask', () => { }); it('should custom pattern', () => { - const patterns: Config['patterns'] = { + const patterns: NgxMaskConfig['patterns'] = { P: { pattern: new RegExp('\\d'), }, @@ -172,7 +172,7 @@ describe('Pipe: Mask', () => { }); it('should work with custom pattern and hideInput', () => { - const SSN_PATTERNS: Config['patterns'] = { + const SSN_PATTERNS: NgxMaskConfig['patterns'] = { 0: { pattern: new RegExp('\\d') }, A: { pattern: new RegExp('\\d'), symbol: '●' }, }; diff --git a/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts b/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts index 24de281c..c3b6f7d8 100644 --- a/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/cypress-test-component.component.ts @@ -1,7 +1,7 @@ import { Component, inject, Input } from '@angular/core'; import { FormControl } from '@angular/forms'; import { scan, startWith } from 'rxjs'; -import type { Config } from 'ngx-mask'; +import type { NgxMaskConfig } from 'ngx-mask'; import { NGX_MASK_CONFIG } from 'ngx-mask'; @Component({ @@ -34,7 +34,7 @@ import { NGX_MASK_CONFIG } from 'ngx-mask'; `, }) export class CypressTestMaskComponent { - protected _config = inject(NGX_MASK_CONFIG); + protected _config = inject(NGX_MASK_CONFIG); @Input() public mask = ''; @Input() public hiddenInput = false; diff --git a/projects/ngx-mask-lib/src/test/utils/test-component.component.ts b/projects/ngx-mask-lib/src/test/utils/test-component.component.ts index 976736dc..194ec9e8 100644 --- a/projects/ngx-mask-lib/src/test/utils/test-component.component.ts +++ b/projects/ngx-mask-lib/src/test/utils/test-component.component.ts @@ -1,7 +1,6 @@ import { ChangeDetectorRef, Component, inject } from '@angular/core'; import { FormControl } from '@angular/forms'; - -import type { Config } from '../../lib/ngx-mask.config'; +import type { NgxMaskConfig } from 'ngx-mask'; @Component({ selector: 'jsdaddy-open-source-test', @@ -38,47 +37,47 @@ export class TestMaskComponent { public form: FormControl = new FormControl(); - public dropSpecialCharacters: Config['dropSpecialCharacters'] | undefined; + public dropSpecialCharacters: NgxMaskConfig['dropSpecialCharacters'] | undefined; - public clearIfNotMatch: Config['clearIfNotMatch'] | undefined; + public clearIfNotMatch: NgxMaskConfig['clearIfNotMatch'] | undefined; - public patterns: Config['patterns'] | undefined; + public patterns: NgxMaskConfig['patterns'] | undefined; - public prefix: Config['prefix'] = ''; + public prefix: NgxMaskConfig['prefix'] = ''; - public thousandSeparator: Config['thousandSeparator'] | undefined; + public thousandSeparator: NgxMaskConfig['thousandSeparator'] | undefined; - public decimalMarker: Config['decimalMarker'] | undefined; + public decimalMarker: NgxMaskConfig['decimalMarker'] | undefined; - public suffix: Config['suffix'] = ''; + public suffix: NgxMaskConfig['suffix'] = ''; - public specialCharacters: Config['specialCharacters'] | undefined; + public specialCharacters: NgxMaskConfig['specialCharacters'] | undefined; - public keepCharacterPositions: Config['keepCharacterPositions'] | undefined; + public keepCharacterPositions: NgxMaskConfig['keepCharacterPositions'] | undefined; - public showMaskTyped: Config['showMaskTyped'] | undefined; + public showMaskTyped: NgxMaskConfig['showMaskTyped'] | undefined; - public placeHolderCharacter: Config['placeHolderCharacter'] | undefined; + public placeHolderCharacter: NgxMaskConfig['placeHolderCharacter'] | undefined; - public hiddenInput: Config['hiddenInput'] | undefined; + public hiddenInput: NgxMaskConfig['hiddenInput'] | undefined; - public separatorLimit: Config['separatorLimit'] = ''; + public separatorLimit: NgxMaskConfig['separatorLimit'] = ''; - public allowNegativeNumbers: Config['allowNegativeNumbers'] | undefined; + public allowNegativeNumbers: NgxMaskConfig['allowNegativeNumbers'] | undefined; - public leadZeroDateTime: Config['leadZeroDateTime'] | undefined; + public leadZeroDateTime: NgxMaskConfig['leadZeroDateTime'] | undefined; - public leadZero: Config['leadZero'] | undefined; + public leadZero: NgxMaskConfig['leadZero'] | undefined; - public triggerOnMaskChange: Config['triggerOnMaskChange'] | undefined; + public triggerOnMaskChange: NgxMaskConfig['triggerOnMaskChange'] | undefined; - public validation: Config['validation'] | undefined; + public validation: NgxMaskConfig['validation'] | undefined; - public apm: Config['apm'] | undefined; + public apm: NgxMaskConfig['apm'] | undefined; - public inputTransformFn: Config['inputTransformFn'] | undefined; + public inputTransformFn: NgxMaskConfig['inputTransformFn'] | undefined; - public outputTransformFn: Config['outputTransformFn'] | undefined; + public outputTransformFn: NgxMaskConfig['outputTransformFn'] | undefined; public cdr = inject(ChangeDetectorRef); } diff --git a/src/libraries b/src/libraries index a93170dc..339053d4 160000 --- a/src/libraries +++ b/src/libraries @@ -1 +1 @@ -Subproject commit a93170dc370447a7bcf6a4474515031e9c5b9c55 +Subproject commit 339053d4cd781ffede25ca6049defbedd69c67b5 diff --git a/src/main.ts b/src/main.ts index 0594e9cf..010e7965 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,9 +8,11 @@ import { provideHttpClient } from '@angular/common/http'; import { BaseHttpService } from '@libraries/base-http/base-http.service'; import { DOMAIN } from '@libraries/token/token'; import { GithubStarsService } from '@libraries/github/github-stars.service'; +import { provideExperimentalZonelessChangeDetection } from '@angular/core'; bootstrapApplication(AppComponent, { providers: [ + provideExperimentalZonelessChangeDetection(), GithubStarsService, provideHttpClient(), {

    9Z;-4WI*#(gAldpfK1_33Cby<`p=OvtM-z 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 z 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 delta 199354 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≧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