From dcc70e7859a98dcb8beacd787e4616aee4c1f7d7 Mon Sep 17 00:00:00 2001 From: guo Date: Sat, 29 Sep 2018 10:03:08 +0800 Subject: [PATCH 01/25] a --- app.json | 8 +++++--- pages/detail/detail.wxml | 13 ++++++++++++- pages/detail/detail.wxss | 22 +++++++++++++++++++++- pages/index/index.wxml | 6 ++++++ 4 files changed, 44 insertions(+), 5 deletions(-) diff --git a/app.json b/app.json index c697217..eb8b4ac 100644 --- a/app.json +++ b/app.json @@ -1,9 +1,11 @@ { "pages": [ + "pages/detail/detail", + "pages/index/index", "pages/list/list", - "pages/index/index", - "pages/post/post", - "pages/detail/detail" + + "pages/post/post" + ], "window": { "backgroundColor": "#0071BD", diff --git a/pages/detail/detail.wxml b/pages/detail/detail.wxml index cae7eb3..df2876c 100644 --- a/pages/detail/detail.wxml +++ b/pages/detail/detail.wxml @@ -1,2 +1,13 @@ -{{text}} + + + + 体育用品 + 网球拍大甩卖 + 说明文字 + + + + + {{text}}a + \ No newline at end of file diff --git a/pages/detail/detail.wxss b/pages/detail/detail.wxss index 91973ea..dad1345 100644 --- a/pages/detail/detail.wxss +++ b/pages/detail/detail.wxss @@ -1 +1,21 @@ -/* pages/detail/detail.wxss */ \ No newline at end of file +/* pages/detail/detail.wxss */ + +.mycontainer { + display: flex; + background: white; + justify-content: flex-start; +} + +.badge { + background: #1073ba; + border-radius: 15rpx; + color: white; + font-size: 22rpx; + padding: 10rpx; + margin-right: 10rpx; +} + +.title{ + font-size:28rpx; + font-weight: bold; +} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 5459afd..8381de2 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -13,6 +13,12 @@ + + + 商品详细信息 + + + Homepage is building... From f0a22508162590cc72e2ba40bb68f0e508062f86 Mon Sep 17 00:00:00 2001 From: guo Date: Sun, 21 Oct 2018 11:42:01 +0800 Subject: [PATCH 02/25] =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 20 +- app.json | 7 +- images/psb.webp | Bin 0 -> 24074 bytes images/psb2.jpeg | Bin 0 -> 69130 bytes images/psb3.jpg | Bin 0 -> 95651 bytes pages/detail/detail.js | 41 +- pages/detail/detail.wxml | 59 +- pages/detail/detail.wxss | 4 + pages/index/index.js | 1 - pages/index/index.wxml | 5 +- pages/list/list.js | 5 - pages/list/list.wxml | 27 +- pages/post/post.wxml | 2 +- project.config.json | 2 +- style/weui.wxss | 1196 +++++++++++++++++++++++++++++++++++++- 15 files changed, 1319 insertions(+), 50 deletions(-) create mode 100644 images/psb.webp create mode 100644 images/psb2.jpeg create mode 100644 images/psb3.jpg diff --git a/app.js b/app.js index 0d8c2ae..68c629f 100644 --- a/app.js +++ b/app.js @@ -1,8 +1,22 @@ App({ - data:{ - + globalData: { + }, onLaunch: function () { - this.globalData = {} + wx.login({ + success: res => { + wx.request({ + url: 'https://market-staging.huww98.cn/api/wechat/login', + method: 'POST', + data: { + code: res.code + }, + success: function (loginResult) { + console.log(loginResult.statusCode); + console.log(loginResult.data); + } + }); + } + }); } }) diff --git a/app.json b/app.json index eb8b4ac..e3308e8 100644 --- a/app.json +++ b/app.json @@ -1,11 +1,14 @@ { "pages": [ + "pages/index/index", "pages/detail/detail", - "pages/index/index", + + + "pages/list/list", "pages/post/post" - + ], "window": { "backgroundColor": "#0071BD", diff --git a/images/psb.webp b/images/psb.webp new file mode 100644 index 0000000000000000000000000000000000000000..40f3f8545dcd048325a0689c4a9a00e7507fcabd GIT binary patch literal 24074 zcmV)7K*zsQNk&EjUH|}BMM6+kP&gp=T>t+vcKPdX}-PaN7q?B{-6FY z`}g^8`XAgq|9=nu7lJ?XADaI_pUJKg!+kSWcQ~u}qfA#;iUtxdBzpDSg{{Q}i|9AP%|Ns7e z^MC*Qj{VaA|L&*zIsg2YZoxm#Sr5a;0PV>Sy|-?E6zBm!UA`|kTw>x<2sSr|tu*k$ zf%FS0ZKCjB(Vu)OB8lU{iVr{gxygR03>iQiwv`+x2Qtdp5U65tPR@lka2llgS9q0P z0_!;Y^GCBUx50UiMT!gP=4mb9aBWYz&;Hj=dd!_^%reN3H+>7m;cX} zxSu*DT)nl_0KdBgV5pZt&aj_tFd>npb5f8!m!iS}%!Vlx^J)4Hy#2a|UdLZkSDANu zM1#7s0AnDN)Up$=O<^V15drylrBW3Nkffa!i`ni9_2SSXW!%fgBh4L>5KLLbNgF5w zYFeg1ni>T~X~qv-33#oSB*zPmO%jN`6oglYUr&4%&oyEv&#`4C0Y z?7}oNPB%pK#gu2d4Ahzl7wTFcSXh`xMO)HJs&PR2_05X7Zr8j|iY;eKG9jI1f zW%-`vgQ2oP4sR48;*u>6&@h8IpNF`h1dTw*1C$tax^gbAd&a&1#ybUaJ)DT-;-vhR z024!Fg#l~S=|Ri*$?hU1iYN#bCZXbq>QhZgU@H`V)!t?4xeq1p=>IL2x18yGcNxi=oxLkC-9rSr~xy*V~1=4RK(5VxRp}4uv4s{ zcU~}!;Sb#ex*4-Io%+)H6ScQbOYT`Q++9#lwIS97p>qjsH~PQ~BE$t7B^)UHyT|~F z2QP^vnOe%WoyD52^5Q5Lw$^z*hn`5n%jrs5>jQx!Fvji+@h!5f*I+w8^ezOZMokJ7 zD`KWUmq?ql1!QpX<$n7VG;cXkzpE`mV^GuU9+)`m<;4EYO6@bZf8)&CUQS0^)5n;V zA3q8Yzi5(Ahc1eDgL922nlEGGea{d zsQ?Ha!PSza+W z-K!0aXqzpKc=E>>aLBlsNol7AXa|@~F1aH}`T)ldN0+%f3+EdIS!ys7=x+d``?&p! z3(LMzRp(*9>oYgr0hfuZav_h%qU2B~&*nf4`008Aa)Rt4Agy<{q{mqNLV=_f)(v^y z>FL%8!Xs-PIP9KV^9dWAEg&_WJX1fKOe~N4zHbgu?vk9e;V`w9tAtd z&vgHjfu|C7Kf%h|yz~Lgv<+8P|h4e}Z zVwc@j-G54F2y?vi`?D?(G^pI9i2`?wcs#0SNpRb$u1|Jzx3-W>;V&J6{r?gz4s8xw zK5Rdyg{6UlX<@5&X6&>Lcp9%V|wXl>#sLt z5V^)tU|Molk=5kyso~lp^VPf}zpqRtfyY1hkyRMbR2z*JLO=gn7;U`c2GEkga#>wF2@+7%1;2{q_VmgV7_ zI|w!AL;%VGh;haJPK`R<7ZO9?&VN}El#HOkDbD=wPwS_j2b&@{_d!5$3IJj1mz8kKIlqVpG?*x>VgRe-_2 z)-S`xqN2pMCVA2zp1&k zQb@rYF3WlS4Q)?P9wy&asNHxLC}tg+Aa(f*09;x3iKd!Sq33RkM@fN4d6qXV2nNpr zepS0K5$Dv#>IdG`)0MjO?bObv^vh^Ub3h584itjBSYr!;|0O~Q@~AD2**r<#5AMPXpA$o$*&fRfib0_5g9yMog%yIwYd<#>DBbQ_gx)V z_P9^srVe?PpH4#|dv7g5l10TB&X1%;Kv1yhDKOXlXNNN^IISp1jd<+6H=4Q@zNEfd ze<_o44*Uk1mvHunbIqu{^3J6XeCue@$L(JtM$5G%>4sy%QCA|WrKc0%Fx?+894H1R z^`6W*CRv=$k=VIsrcRG>KsnLdVBhN?Zgobu$1S{DbWUnqin#eOs($29P=Hi6I3F03 zUS!^o6biSP8*s|^l;Vg0##^Fd?=UoG7aMViL&K#J8Rsy)nEgW;2gQ1&mx2P*8sK+Q zyfo{t@7V90s20-ppQI=UVllekh^re@=TDi+m^I<8gu2M#a3a*RI%n;oHgB5JSS#(A zi6HeLiQ@jO83x6?z4n%W^&H{5GxzL4bHXB&h3V6tu?g&XAM$$!OiPo>ubVP&FmYxp zSaNSP=ztMd+#Svkv@~ny!Ud#_gcU2K;43y$|Dh*Bvp{Gk1eV`ouM{cKI)DtOTo8?+ z_qv_~Cn$jOl`Jj-t&}JHtV{0E(?slo4Qz)SHoLCl$XtmR=2bh+0&tqn*y8Ko9;OQ$ zv~Q>6=c5mKip)HTH5TmFgR}_VFf03kIX;3f?g#n?%8qjkCSkKH}K62SFsffV^r`~oe0IQ(TAo{?t` zf#;uji;9f!t#d}Sp*5i2d2!zs?rSMxujAZEdp+G-)K)}u$pNzl^#^T<%-~%8m`ZA%`Y-i0Du*T`kN};tm03ftg-&v%1*=p-KuPGS$vo z-BRPv>lQV?J(X7}z0OtP99NuSZPozpXPWqFL^$(~1A0KC&OoT(gmvg2RUKlwDMQ%~ zF~)RgV8V~>E>@PFr9{E5ZM-=|(`KWCI!>a#>N4D@i@~`xUNV49+3Sa^qo(}`(ghds z0Ap2uwIm02T#*n8$h%qc^^Iy?g+U2ihm!;!Y^TAqZU{$OaV8J<^utx_?CLCm(fhoX zxA0m3F0`(e>;%p!(vk1cL43^2^^3QL2)AVTnV5R=dSVWmjNj09@G z%v3Q_^vT^5DRA@}j9Gs%GOWbD!RK1Pvg*F{sXZ)Xt@qHP!SayRqQ%lVSoP<-LYoA;5h;j8*OkAGS;z&Kcq z-x*~aAT-v*4UQA;irNvP#AW|`jDc#%rKT{oH$qYGEO&xW?aFE72p|S)UsW{ER10{2 z5=TR#ERPYojFiC0Lb58Sh9)qAiOjQ;vWc zKsk`Yjbru^PW>+xg~|!O!%@NYiSoiw?YJ!IuP-BL5WfPwr~pM>kJlg5|H0`WFm|Nc zV$YWxZU*J2FV!K7$5LVC^4>S1=KAa!PtgT^uh)W3ug+;6g0%q9s4mLx^esXV9Ny(V zUGGpaEhuJmKTKgM>U`w_2MyJO7FuGP70*eZsq>{EouYJmr78B&&gTkzG z>>7;)wzqGT%G-O-)son#bRw8IZ%o!=R=u3Z!rb~7#(6@_EtN#x8PqyYC|C5YOYW1*9rHqxAC;p4oH4SIyAn?gfp{d^VIq@E%>d+^kIxV!o}8d^ZTIcwDawUl zYlQ1HX-y3G7)mV>o|$P+=<-Gq+8}Ijpd3*di`XL}92zcSk<)(8a7(4015zLAs}nas z$NR|J2sMzul8w|7qPbZ!v?TolXTLwovAcq_Mbx>5J|Fa8fNZ`7RoJ89gU$6tcY{Lt zWK8ake`01oe%l;9q2Hd#TZcHBd{+)Rhk@|!gDX8?%bf#6io~bK!Agrfv$hQs5I(N7 zp|PGB*vmsK`m?{y38_x#Xt=d#Aolj~WvJjGobOh$B z;gZ`pB}OsYpNC&9?MOL`1(;lrRLz-$j(wWh3z|RlqY&42ukS<4jllI|Ik#`;3v6!L z{KG>mafgmXp|8+H*9Zj-{^uI}G?pl>=SCdrZU`()MJnoX2UBvKDgN;gkO-XUWO=7x#QYfg%Dy00|6YiD zU^T@M!3&|kco@G>t#SL%%fY`qVD;*pBEKmnmVC}}AT_f9~K-WPzA}Q5;de3uIYDWj_ROXc!z}7Ean64(h~$_9-b)D}7eW zcV=&|6d*XG?_X^~)BT|Ek4FxPjOr@96#4_! z>?nYp95D1k&ZJYCRGtUB5_rcSH?_bVQ*M+9dpUb+{?&R3q>Y~%sJ3;vu3 zECE=fj||62Dh2B1aZYgK+Np?j(w+@b&(*Vex4~e+SNR#)u$n5xk9}IaS6~s^%OVL)c44AzoKrs`CJr zcqyr+YH=JflHVL(W!fbuuhMh_Pcc$)qS#=*!rN#81eG#HKv-_AMAb0OL+CgP$Dq8c z=wSiJoOX%iT55_EB!K4&NBy0PIce=Q_L*uf5LB6p1q?=fiC>17?2D^lhuH{_ctd|w z$sCt(2Q)u^L3rxFWe1PBj=d_^&V6WzSuV(TDx*G(A&&u@$s!|?++Wz6{J_BXa+Bu| zUrIu>ya%@$cV|A+Mvl=vd(p-V+=9wruGeDh^CvnY0IZOH|C~T$lZOKv$Ps|Eawlts z!xxolOt|vk>6pi~A{+^kZUdZtTg9OPuV-k%5FP&r&n;m?w=$0{MiJMfRvXW&OOMh4VAm|OdzXURLy zu^t8vL6pfa%mS@bx7}#qP!%yi=iFT*1Y8sho+*}5vAZN`il-jQ1X0>-hyb9F)qb5v z`6ovE>*RU9@(UsJk4sTC5~;IITm(df*bab>n+z+cFpYU|qym1L0IA#d_vv>La*bVd+oGz6Ud@oOx0K7=W#%ABhgln$bYgup z0^krK0En~jFjtPU&-q{P2sm`S{3^;4%ui^zq(pjqmk9iDHCN8&jaUf*i`4V$R&bti z*fK%~k+kL-cb7nmxW=$pOHG2a!Rg!an3tf^79pQv^}d%{Tz+vw5-R7#K`{8fu@ zis9&~Q--ot>|1yb_<`aV-IZXAl%RH9(VI}Qs|6qEAn-;p+uwU@8fQy z=V0lM{E^t5)y0fZ4;|oLiI8)4wu_?`w|)%=GO|Hj7pBx%1l)`}&0)w!qBtF&dKZZw z2IqTNyxs-lAvq*KRL3k*3A}bxYRbj`71zh>LS%!(%}s{1V)EEw6Ob0{-O+l|+3{=T zg!R)dgLi06(E0)HIE=+aPC$O({a~b`6pVyUcUVSl0W~Vu?nFC{ zJ(wWQg&UYTgNQKuJY0bh{S0i|o%@v!f6(HbEBwLwjW2${NL0lUqc=KI>CQiE%@5R- z(}}>)05p;qQiyPLmK25p)Dn7TPm5WohWUnPS9(7mQt=%xenEvH9H#m0N@SIkBTO14 zHE|BGxl-s{$Db_GmiiU);xn;71-Nnv{l8KkOWMj~&Bv6IB% zYezy7T-`*Xc1gSpfvN7j=AM_Xp4+Gluf7TySv|*WCK8IKGwKtgQ4DY*RE|Hh<}Zy~ z7{=k`WJyoJPfj?%MHRXlq3QH*^_hS1I7?0CLMu+rue4cc$^VgL@jesrtzX2EBcZ%v z1Vg_tW5Dlb?;e_37~$VxAyW~ii=wdH&dY#w?lZFj@Y&i7Jl{k>K~2?{7CE?E#}

SO_|Jf*WIYmjk?4r;EBo9hG>o=-mf+L;4k5h)~I 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 Ncy=>m-FpB4001g#$94b! literal 0 HcmV?d00001 diff --git a/images/psb2.jpeg b/images/psb2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5aa066760db1ab388a30934bb2af56f42fc8770d GIT binary patch literal 69130 zcmc$_XHZk!-!2R`R76yofPhMq5)h@=Ta*%zAT2Z@A|TBW=^a#>^jjcsOO+Br3rI;K z{iZ7jND_#I9zYB=p@aYd4*&DcJoC<+ndh82Gw-~6X3zSt_lJG0wf3)E*R@W5oy@UZ zGtvj@v#_3FWo2PyVPQErW|4U2mjud$qAJ$v@dxwGfbpF4N@X2j_;mUGw7-?*dj=mM9S6Wd)M?g#Ha7F`t8 zt?T45AEk;teChlC(q&%0oBRUe5|a0%q!pEvRaDi~A3xF4H!uVmSy)^P*7nXWeUGt!z{+y=zh?S>!E*|n^~||*XV0gR%C|tPl$c)X&hwJWxcNe*JKNi(>UJ`w1PUU&&J9?Q{OmSYE_8&<9 z6Vd+}p!fe*i2e)Ef8jYHv0ORJdb(g|ue0c|93S6f`F!T>WtRUhhOSYj>HNsG=brRX z;g-@BVu46|g#7bHeC>Kojem;1gnyWp{zaFN*UOyTm7@9A>JtBI+M2zQ6Q;Oc(l9~a z+S(GzFma2wTyz$yUg&jx!F7RKtQzFhNO+y-WB8 z{*GRjgLPk|!Wc?ZV?OB)fBN0mL`%Y*wy|Zf&WoRGy8z%=al_x%SDh0N3fQhEG@B!h zKmrb7`X~-{ghVc6Ahq>^;A(KI7KfUf>h{i_=q6|cLC#6bHTXWmQ?S`tD00H$hPvDp zA`#!CeVu`r=ZIW_M~+r?Bi!xelkO0dc+Hxc57zs-6*ehd}5+ZUKf@XBxTR2zA11;%0b!AP982t&_XS#_H!PCc}ur6nYZeY!$JIfRhfE(w)ENa4$U0%D>FRRrMjix~at5M(?{C)@3@sI13w?#9X3cnLLBX zmxm6WnU74*L=GKrc5TM%Epe?p2$rAEU`&KdmVB4%X{Yg}w2MJJXKpphr``QF&9Li~ z_x>gK4HervRsdJU^4)9d;(oJ3>{gR$(g;^bTK2=N_l<+SNs<%Vmj~`&Pxi6N`BnWG z*v#!v-PpQcvUZdgm7Q;N#AUs-FHcW8VR@es)oC5c$JC?McA6&Wpdm@EI^@|io>>R4 z8Z{N>M&7A&HxU#gG#v3rG=V8JCof^|H6&_{-~8;-;;~@c^YDX2s-gAeR$$IOyeFDX zAalX|0n!*g(WHkQYA{c-hrSBsk7A?J?-pV#6^w9i;Ob~XF@n1wRmKu;0vSaqF(^@U zpCMSBBYLM0)3L4=;3Jw~1Eje*pc}wKJpOH3P{lev$vue6b?39MSo)<$w!!=DXmL#9 zhK_$Ocpd3HcEVy=FKos47AX$h9F!~cy!-&0|84g8@};S5~Pt0zEN%*{E$cXhyEP%>*1HlCXmh(I( zEN?P-R8IdYDQLxk12y{isyQPU=~-vTj5x{*7biPhuufD{g2kwBAm&p7yY9S`U4BA? zpRjyTM0tYw6(-Bt=6?;o292&P} z`fdMd(B);@P~VE!fQr&u>nqbX4m)N`DF$27j<1iNG_*Dn0D#(RIaKZInz_W^xUJ#f z8mJuVw_ZB`dd(fTM0at0>qMLBk3Xwqu05)C1OO#@OLM?J9?0Se6ku|oe?)Zv&4KNZX{j6SOWjR09m8!5!xU6N99FGmDUhKjYc-I%I; z1GnwU<5T=icv)N8an>$`sQh~#jXCVEM6VR?Eytp>E0TULRP=XmNuEd z%v!;IiQHrmyE-@<**mxxgU{=JDr(3B#M@efeh|5Yvc{Epzm#HgvJhbscfR0uR>M%b z$AQLS8Xms`9v`F_HI`chcv;3uzp>6-7QZQuw05Oz>8K$<2#>z}dq$;8rA`-{l-EZA z(0x&v`H`LzmNQJ-pW-z6w@M79BWa>}^C)b9H0wbmIo7!fwG!1GQKg<3j5;PG9D@zC zrrCS)f^p9&*$08h*9{&AvH3qXxMB?}bdAhBY*85dkN`*U%REVwtzpf22c5w|B)od} z>1O5k|4lK%su4(G_#Z=XZ*}t0825shJlTE3+3Tnd=gnVQkRAvZ^D()_G+v;;S4di^ zJ&xGh9NlOgDZmKliBX3izk8i+owNKw^N;@_KgtB%HoJjY(GkyCW_~SSvh_3XRSMVh z&n${Xy8gh0s+I1v;R3<%((IYVa4C_s@3gA{B5v6hiNQ~0d}Hc%?T)7GQ;-5TysY{7 zjV__@NwUfRG<{oekx_f7!@N#KzSS0H%4YOMDt5HwIxx~`>||^YyAIm~Bey?N>>XO3 zo3XM(AqAzj!XjQA#Q0Eh9P=v~VJ0*Ik7s|ftZ7evdh*d*&9hR?GctgllNq4^`_T41 z7z7-0U}Uc^)g}s(zMn|BsV}9k;BW&dj!qjnVG%rG=@buFqvbBdCq-(VZc9Ein2w>y>J_s#T!aIHGRwdGy~GPL}Sq>?{5(9{I)@tpQ|em-8X<-)rm zH`CIF6u67P7BN}~d+{MK=uKSVOWx#A?B+HKUR@nAY?0jm_`K;Qqc`2pQa1i{XQ4n) zm~_pSBPa(cuVvdtbEcOZeL7*8D}b=?9`Vg*cf}reQcJ0f$Vm{@sy%mp*qwSMP78M@(674*dkO2aIcRj<1-7JS2T1&VKbRIV@z|emeCWI+Ylb@yNs#@ zww|b4;g+;Ef=U5^@s13&?^R#Jl#fn44yl~hq#!-&47ZH0ek`@ijSw|>?;)PUA>B2= zUzTM^(%%s@uTKQ(D2G$IIYPZ5E+x^-u z6Vi^R97jm?dl%yDqa0E~!#f74>s$PjSkrFg)-l`|IS9k=@PTr}G0cv?SVB1|lgJ%< zN%21P&n3CR9SWARsH$*t`G9`HqRPBS*@GTIPgq!P*g>(ou+^78Tpp~6adfk(k|xfk z`fBHYSm06FF|mi?57yYdQzAvE)_)@7k9(u2X0;?Xx*B2UNTo~r;dtTv!Boi%Lyn65 z5H7jcO8xHdLIssXxgvf@q}&<_n4dQ8bObcJVz6m_S)s2@U3C!ehU+H6iz$}$%pKnn zvnE}82g$0W!20wSL)t?S|3E_`6kH^rv~M0K$;l(|_o#S4soS~D4Gqb#spH-g7H3X| zRD9cN&u$g$&McfocTv^$CEZ z$su>R9D;r2dH?XvQqxWMK0&U(Xpj^zIfC54ISxR5hbT<7wT)x$-5{WvMq#E~tI(&# zI=Fw9{CS?B55@VEzV9Vof^8d?_XONV@j3wjpS`IZ{X`d*?G}vZm$F@Nn9A zbd~K?(rnBL3wr=SclED(2@?4WCoBmGf)o>SE^v^il}hYB1S&x#A2t0&Z=Ow5GO@72 z9`(m50v?+&hDG~Yp9(|bvzty>6u44xp>~;eGde@iVZkEl|Hrh>;5P#J1GziGBUDCho=ZHh>JTuX%4V+E~dNjkFv18h|7`1(o5*XS@ zKkT|KW4R|#dbxXs3kQ|+KVgZ}KA-56F!$46<2&-}cx~Q|>_|}>yKz*x{+A1ljfuDc zb_m;thpmxL7Fp(W%Mz-2ba>t5X4FjN-V@wUdc9^9+q*IZH`1&WX%6=FCXP-T?wEnW znCuoULApSF+c-d5I~A`b=rpcJCl+|KTtEf51EXmYE>}YB9Pq@g9 zm+oXgyX_*ki}&!p_Mm4#V3qqqK*>s4OVyu|bN`z*mvhxmOuSF`-tgxSaTs8Z<1tgg!7Pd{e zcCJL#!j)$Ssg4919A#o8@UD`#?VOf57KmB^!95U6)A7cnK^<0xvqjdhhcbhvN$=pi}TFQ==CuXgvIO@o=7W~$*{-{ z&nW)JHb<$oNZvoq*}V~_%L%a72h_>n%LA@m4?SmZ$YU7K#jC56qL2*VC@x0X#Le$~ zaWxqAv{#i!Q?&@93Ef_9x?s{XJeFs(k4`x_4N{zfW7@n7V&91Pa&MZzb9)M`Y2>Z8 z!0bvp7xl+==->P5%gJ}L2Kyalg5f{>jL+{yGd0R}KRX8N)I=I{na+4Cp7sDaK$9JY zMeE&;^>O01h(%mwrYIi(Aar-F(b&E=j0UV({vEa6bg1ZAh~?}~yTH7C^oc1+-2+k~ zT_b|Vs9#LO@ukA9_A?Q%L&+Wi?FK}!#PVN1cXLreCXHeHPUE{KT#pI=(xt zTB!80Z0YNkl;MZj0K2I~`=)!neL!@;tFuSkP@pD8bsn^sWt*>gsm>KPoqVwV=X>DKYH2GS$U zKiX=__DiC*5szlQrA+Ek-pGl|MNWr&Y00&WGjyQkSS}Wql{LNG^im3Funw)sX&lQR zTZ?Ev%XL%~n=1KhATblk!>@>cmMyPnHzPL<&+#EYpw065TJK)J*I}H4f7G3^^At-&@y;%U_{Tt$$vgQP(MUg7A;oi9sRZ`Gak9m#dEW+-;)fJ2wQ55=15Pn<9k+wEVDo9I zn$}bzB-)YMw%U1T%bDQ6FYpSto2$A6Z11eJ>lM={&;EFl#Rt6GT>sUuR#pyB>l8Py zK*yC47G!{mWTHU{I6@g;o8xBQt=}l5{u;m$vgSH4yt5|KjUQRLDr;tbI1cT1aTH)G`e%Hpne$Gfr_ zh@Ekcf}ImW1(DuX5l9hIHo13%n3LxXH#ur-3}(8KQEXs_+M&GH-yz2wjPQflUSzLM zYUugSSB*5Co|YrcNtL&ef?in?{EZ#)0^-wsZRD0qDI>|@kJ#d2B3(JzMJYdAHE_lI zcf5>@L;UL__|hpQ5uEVu7ez++^2`+v7h)5Kx@3##s~zyD0HXOD9p+}HH$dbxqO%x*ucf~c7z1k8=>h9>oD z^^W8L{#uD|P+;xVdc0%4GSRzN=OSalfJWf^XlHv$Hcgi*TU&TU-o}gL0_4|*tRy2u ztn6)#A53`qkf!!!?xb$v!o1ovEE~TN);88Y;~pR#c|iarywx&n)$7{4c}$69$>?nR zEYWYc{r;4D`$9z4=GWb~4vSrm$+^ECmpRD%8{@TY%DFP2Nr!#LajvWG;L**^Q zbpDMx=Q+!veKA~w5m5WwetNaw9K&hO^rDvv7}Y+rY(-s;-DwjwE8tfy%2I;?BtA+= zqwYJ&+;h9zVO7HErVrPcoxsP)?RLm=!y>WhjmQviBo1YiAXaIacN&^T{}K zT%mbm6OA*TsWzV*B>`&;Zs`>knLbCabBLvGGjaT22lIw>tIAsEM?n=z-maB_@54!6 zXms5U^UmL6Bio5LT?Oa=*mEVNqu~NjV84S-F!64C7PO5^=O4(#WBMza^!N(N#rTE1ngFjR zG>7NP0`0YE1vof4!k$p`n_}iWrfU+p<)H!#yzwlKmZr4+qeT30kLM+2?v0IR2K%59 z+~_{)L$c!U&-q2{n}gtLSE&{$;3J9s=NZRkrv+t92M5#GdHzVIr~NE76tI{T;$c<#+(?gzj6uYBoA5>W4l>)2*g<_ws01g=l-0%0v% zI=6=;*~J9|!FcTaX`#Ktd6O}sM+K#4^L-q;6Y>(jgAz5y@Cjt0%73JeH-kRDj6FxR z5HmMqb%#O$cfNLXG&SI%avO8IGS zWAm>z=Bjs9_$&-*lXl%4`FRpD8utL}cj9g`4IItGheWbu&%RXj6nb%ou(H zpu+g_8V>?Aa5U2RVBJe-r@T+fy*czXX6r~c%&nV~pYwvJKuS#&;t@IR45P(3w_E2L zlP5%x>MpH9=UBnoq-+a z0{~{NJ^@9+`W!)X21)W8sA~DvDC+MC4g@wf+$8kh$=-#u`1(gjNvNq0+QbTqvIQiU zecIwNu|_V+;5+S0-~3BLwxXzDZxkTw`|3bJLPS27&N=d0Y6$qnvfEnS4R4BjCCU|r z+U%bJ%^dztUx}ztdADogWsRXp_Gqj^y|=pNVLMSA6pHL=*q`c68Bg%Q>xI?g z9eZ>xY`W5r$*n;&8PIKp+$M;+{FW&m9`CO$CCo|CG>fPSuIc=jT{%{}mTcR|af4!P zP%if_qS_YdQ@YX&B^-T|#nN@zFSxX%d+OE&E6w;t249F${K5kBvr0J~ZZf3Ax!( z3CfQh3XVB+!#-ZNJN!q};g*o8m!nEjQevjnlyE8~q^efGbwr|FxJDwop%j;`Xm77? zG>$%yX*@P0qiac~WE3_*lidwQb$d$Ph$nY^5ay)1{R+2VXwiC1)-U31skXE8!sbZE zFfTcgqu5a$aZGJeN3z`JhW4H3H~n?4u9(kKz-Adfus=>;-^V@VH)V@00*8|bm19Mq zOP(a_Fp?A|tNb@A-Ll(BGNH#B!N%Pr)$bUhVJj&qqIJW2JWL{@0`gbzyZ=>y`hSUc zB0ZZ-oKx!kX zQL4md71JB)4zXuP(>SU4AFlinQL33$7RfgPMBfz!cXn#nj%7-tL+%}F*;`v5C+ocA zeAkTaGM&Kx8>oGs;BVqbW=nqU%t)Y}wg0Jj=*6LY%Ki&0#sLD41s{2cPCh4j3 zo^0=f1m!t{@>MrCx~?0oMkTCF>}DaThnR zp}t`_G!&D*Z^oBC>@Ei2Hfiy9H>ijyt9aC>1>FaKCeS&@QoPLsN0jqVX4U{ZQ78sme9W$)`p{zcPN;44r*F7TI4d5H~Enq zDnKN5j;fzTK9mWWYcu6=S2vmcrBs#1zIugMLoxh_31rP)@j8Z)`Gqw`M(LndvV4H@~fu#tIS5QB~x4?jz_ z2NwRTeubWz?qRJh7FHLqFl7HUT_$0^DRJ2nbIPo>C)~FG+N$8`YzxJ)C$yV>*uF^U z?Y?wL@`_?q$iNZN&cnf@qao4E!C6u)vU{FxpebP?+lSV+n@G+mE3ICLK_WCHYT&j_ z1P5_WSMd^q#igO>GeMFN*wUIt*vr;?gbu3%D1Ha~czwxe(6R%8A3Q#vTp|1RSmaw& z;Ry>^#%2VRuRIBBpDDYVjyG+Ac2tFUgO%S#UHqeitWn*mv{IZ7uVqBpUtim?iw*Us7!E;fd!a*9vY^Zq0G1niG{SBu`AN8MH!e;+*?|$9$rmX|HwL|Z3d-Xeg z+W$!T7^9pll$FmrXqvr?P6C?&kBaH(5yXbXmD!_OIqUapQX6%!2Fafz#J?|?r!Si0 z!;F7tB<%#k+jtLhaMAR!sa-Qu`X#EAVTsXxxnw%7@xpJhx`1WWcG$j6f*=v8f@G4Iv@Dv9r_@~rz9)SqI}r+w+ryjOJc zSMX%F!c^H_RDJ3xR8yFKh9GNXX+)nB9zR7?P<16HWTLqmx?5 zqp3B&$z!n4!5aR6I+ElMefT_DcT|%{K9vbAq2!?9==Ij?4EkQ*_c{A~rx*Y5*Eli4 zP=5mP4V|8(rAD(A6~`W5)v;tD&mkF!c@wz`_p(`XF&&JL(mAxBP?NT-8Ber;!^hBz zMs&R1a6vyZT$3Rlu~yZ9)CQI?at{RXxFH+_XRZ;`j6%XzOz@KYAFeOshO;*wZNnTwkGV0mdQR} zlbu0rAeZ!|7=NS?U$@BE^nSsR1M=Q~V*+7a7U5(1c~M8^AwBXU)6(dCAtoB0DeXXOn9j~fHt}uc4V@alddUv0;mT^eCY`As2)uVulRbfHgE=n6rok?<4 z%hdBIWwi9n@YC25-JbB0(&*xCS)c1C1@DL~O=B5pFRn}#(u^S5}BBlR6nt8}g zY1NbgJs1tMgD*+nFH|hj`x@?>8&&6%Dp6+L{pQVcw6yW1Xv9Te|H@ZSFVdDSsoloR z$k)Wr6wZ`Z&?&{xu<_bFf9OQ@=9PNp{V};xLaY3OgP=Y^Y2+%y;xVB(-b^4W$rT6K zsL@pTOu<_7C6%rcG0%b_hSV+FU!J70PZ9;FfIZvcM;07*)f5ZQ`teS zkHdOIx?N+W-}`>)zhj;+{2-%bCQQ8)=`AJ!#0X`Z8Od>HnsVEm4U>bG?by=DNC*<7 zkWAmnx8Is|f5R|%ikEDsu_ZZ=N6m8*cefEb6VRP!#+A9Q#{dP-KywYBNmD#RuNs4I7Qq2}z z1d5#%>Ez3*>Hf3T!!n|e5;X@xiZPQ8D8Q1-`qq8;MF(-O#@X-ouw3v7%iV@QgKIih z)vv-mTd>pE-97$R<$U!>NH*-Q{Mx&9hTBj71!l5Un5%0oC=0uceF+vh*q2|$b=9Po z@b`P4>VTYsq-+d6vJlWAH+$PALK`Cg@s*as1yzx^3!hI|bl|4wz(dR=vrV(wL*Vk@ z(te~KquT7ReS^QWBLATu|5H6RdBXAzbK2sO)}3u|K>tbRY0`9laG>Bp7UB5DG8q6v zdAtbRmUvIJ0%<+5Q)Jwt_ADoU4I_A-umnw*g1&#%=_}s183xCOKg8iuJnf(%x;%UX z1XtL{Q;Dz;zaJX*vQ9l~5SBG7FE?WVoSQc25im&7RHzI#k#nW#7uI_46$r--Pj76v zjYBs-XPdldHyoQ;Uv9A}vbQogG>p1ka_Mq5oA|x2OdwLwt0t>{wPyD2s}gD7d~G}gKGi=wUE&d?+0MmX!yT#4~(8%#;L!iwOaev&L7$t7nq z9&IdS{kWOXILqxmqjXBRCp``Wgzg<*r^s&XR<)_)P2)KKcwg@xCCkRecxbS5gUfH; zqi5S*p~4E;KJBq>92fiG^>W3#3;I(~shp2yDt3Cjh`$EWs~#P&Pk zk7@D$rl^>u(v(sJ=L`~Bjf1Mfl^Y1dMY(GbkL(+aXnky3h`j$MhnKoUcBoTxT@G&Y z+nZ;Z3w*)b-@6CohG!CHX21`65CW}Lw))qspe}8-ViCo_DA`)R>9T`D*JpmQ|E;Mo zQaP&gskYpz9r6QH{!oWvoi*OhU5{@}`w(@ldE2Nd8QVAYVo*F$LniFKp&i|| zyulDMEZ%>19p&{emM9P%9AY=k*C#AUcrA%*b)K^&t)YtIdkch`+wkig3rRA70DqHL zP8~)G+1oWYMm*naguMUZETy06CJKbxZ70MJ{n-9^2Ol^RnN^&N+4yK9&rUPPJXH^!u6r@ z%hzVY{NN|2;>vjipCzM*D9}|}?!qbPI9;!?`ss%7_~iZ}@LpxbiK6PG^y zsEyn#iK=eFE}zQ!X@`KRRX$?#NQ_cpbh~2PKSQ-M!9JSC)Q;Zf6lSMbfdiyRR1My{C*D?SL>lo9DvXc^l)R>|iO=VcMJApg$WKE5nJlD0L}) zlxJpXb-wz?z|^ECh#^5QM6=DJML(or>-gRK8xIStZ~7j7AE+kbhUuBpf{$P?iH?2&+8m-*xe_<_i;Uk3aZ-NQW6 z&E{{A(nR1Rjq-u~d*6qLYzMP|hjngi!a{T7oYxxiOg>k3Aq1@7=UO(w)H-bk9#q`Z z&veNNPc@5N%ZYjr?s8Nfd7gponq_O%I4x@D^V-i6cjT{~qsVy4fQkRI8uEv8{znm8u>-R%wl}565NV>Z8GXP?c9T z8=3I6v9vMwWq&8-N<#Tj19E_1j|8HJ%%xO@4!>@T4+?|lQ2uz;HWi0abO0ESmeHvH zOZ&Nnd|t`f&A)nInKEu%-l}|tGG=5VI92!tx6=3QcEW7-{*b>gV)6wDEAEZS*~)`! zEx_waps2MA30 zkuANmXk`I^#=q~eK>?Jkvkjgun37&Q?93SRxQ!Vl7T z6Dn-*_!-_#!@+$WlmDMieH>t$pcrgpqwzvi`Qy`nxtL()xSx??Wx#0_#z&+Oow%qwtk% z%?L!sVmk(X!U8a#%^Dt8{fq4u=f6?XvDkfR{c)QtL=Q77pZ)jMXyiPe`kD7XIq%M& z2ZQ+XgTNyl1p5w!vLE>lUp5P9jw}>a>9qsZI)_n5%vl4b@dA+W#iKSWe#s#g_04T-`&Q}gE%Gv(xa9^9 zfz2+{_Ym%IK{85|9D(dvg3#dJ4Gg1-^oDMqqHqeX|wM;L;xhGn+gPT{l#b-`&KTP#cIb&zi>ec&=XEwo7uJ zX3LddhR2-ctSzRa_vEYKC_Wcl$FQz1o7|pbxp8B1v zOk9FLYTC~WPOJ2^U%=sJyS6;lGxxGXU)3!L8Fi^fj*8Lw=6F&MC@A9Yso}Kb$f5VQ z6(TwHOlG;hlC+hX|9&}P${|>{|L49;9)uR9aPyVXn56F2tH=t_<)9 zwe3r(4D!562OU%ZJ{}1$6=)|cv61%}>|Mv2RLkR_IHm!@e#V2=DC6aWT)Qx{YS>Y4 z9@$ypPJAV%AYidxb zqun#V>ZHK)<=2NTaFMxXW$#X&P=28$snv1F7B#$uRrv3{hsQ2auhVV}%%Ydql>#2* z7Ov^s4A-GDol*s4*kSKQF7Mi)O2QS4-8Xhu55E?l9psvs8fpY;R?oht?Py_dSjMiu zmgAADJpQhM*pt^25v9*uEUcR+J**F^b!g8CGZrg!jnIHVO|O3$11JevHDNwJhYt2} zj_{v_yRIm#Xj_Z{d8mE}b>F3Q%y@)wlI3Bfl!ynYTKbU@09v`y4#_qss-2&`#)$3| zC_TPQWlLs0n&Wu2WgHS9ILqOA-QIT9^mT#d*`7!d!tD-fe?s^_wx2N>kkJ7Cwc^0z zksO>!z5LI`Jc~k?s|tfObNZ!i<4a&^jDUmPv+On#mD&xY3APGm@%_iC$wvtkTzTCp z&)g=_bYdI~ln)7Os2}y~1E*xg!rKnz~Fr5^96b9ixgO4T(}W~LOx*;{xw+QKFfZ}5k_}E z@T=~gtNNpPDnap9ToE*chJ@dlXNO%1_KE8y%;5n60GNF|uSbPD{qEMJ`ERnw&4A z#OOX!O2)UT-AeK%iQds#-Q?eL{8C#D66|Kd*r%m$cOC>}!HYV{AN=hH9h7-6U%t{J z~&i(}elsLHQRO2vp6oN;(o>;Om=#51>FY~rtAC2@}QMb#N zb0h7F$lC2#{%#Yq9YbGgoD>BVoqbkd__}fIivE%AdJMQ{{mzePbt)?2+V1PO3!W+P zSHy6W%(2qX@heT{Ewd(pDLc^K0BHo!B6jX*Z}4&;eioh?NQ8%jCLgK%+z3}WU8@_x zp2NdkBNjO;B-}mnbx&6B9)!Nj$LanYu>##~qfsD#h)~{E-`A?SFX+k43jGIJt%RdN zsF!#N(7mQ0OG{S5Ii*XNn?lT-KbH-F%t)4@n!*M)tvzI>R>DPTInR_LBu-fLY|C&; zVdaYjxb1=DvQm9ClpDO&EhBAj=Xu}$y_?KG1M*Y1eO^8YIBfpA)>Yl7(UqOaK7k$L zmrv;Ji1nzo811BS86l*VXTa4{70{-$`U)|{B(r3KbsOF!4Lx_%)M`tPif$J< z%ANnI2)P=pFK%z&_VRqt7`imc1{yltwNwgUhk~KDB?aU#)jLhCSvSpo+my8=t`@Z4 zXp z*xF7DKyC*dmDUFEHzx5j@650EQi(AJ@1ck!<1e_2i4!%>_J`5PNf}SOp{C46_34G& zgqxy+m)`VFYt~yiT>@3#*+B3J1hop709*QJh{MyrDwm&?sOiElXY5UtEm^~*6G&!> zONARdcq@OpK_Lagv)D>lL&^J>zpmbRWhmZcpAG-Kt^aLNqd4K5vD9N3krv+NTjl4i z1~R2UZz`8n`#%|E4S*XwJg3(qt;QxUh-e4Mn8zAjLxOzGG6|DQzelw!t)-z3CoFPh zgeZQwaHTM>N_R|-Tv4UR0UhZ|2S7~X!T1`*vG-o?HKc(x6E9KqY5j5B(5>?9)3ZqK zsa$m|!LKpfNfiN?oG3%a(;ikiMrI9QPxTh1VxN|;FB@v?Ow6AJh$d8k%=WUCE<;s^ zA0$0*-7_<9>5#3i4hiZJA)O_U^a$3*9p9oEB*}T72K2$M$a~S<%HY62ftT)dEU{Vl zA;03Gy~l>c*Z08nV|;*E!*{6jl}M+p=UA-irMQ#}ZF#Pn<}o3);$B83Vw3jeZ7m@p z53LpYOt~(s8tF8nz}`8@vZpKr_Yon#={doQ-qxH)sI6GJi1G^y3iunjx5xFg>0e6Q zBvw?oIMeE$t!}>RsSi`Zp#{(qo|suRW=yioqcf0F{@XCntmv6BM3`^OFZonmUzqEbZWRqHd|fv1Lb@}hYJvKI(sj&?o#@SNUweCpvW!OiXrDGr1eCN) z;apRoNdo}#n&+!PX)wtYrUu#Mf=1TV-=6qCk+-Sv9&nO`nM8X%k^RQ~SsEaw;{1j1 zsh5okK8<#@+2hTJnuI*pA=j2P#aD&FdOPaVh_^{uwH!&&j%Fx*PpQDfeC71xZPN0} zIvwlkCLmQH>i00@{=YRS$$xa0KCw=f=MvKYJ!7XR@~~Wo2NVljDc*lsD`hu|Zq~+P z3hZ{=Zmo7*3LE_mFD}lXUPEJ_)U@w37dGiopPGPHtr?fdEfvMr?eu6~J<0-sy_c?x zdK}-RLQ#t}>Bu#%O7R_Qy@$Dfys;S)+mO*)*EYLtBeRTGucvuiB~)fOz%eH*G9uBm z*pBflUZdDs8gR_-;85%17Mml%+G_0=|Ggz=zvSqvCVP1>gxx9S9}Pbw@;j$q<*5`O z1m#7nip{J$$Ome7d~CbyJscpuu>oJ_^U`*!uct8T*ZULh$Y6$?mFX*wGT&dv+>;zU z>n+OiLWLIiFTcW-hu{Fg-|&2RD|S1gS%ydUi9_a%B|C_{R%7D&k?4L7Ug^}IZc2V} zO(hBK0PB0OCivKd{2%{8Ps1(YM-MzxTEs90vLN8mWgmYM@`OdZ1QfT2OHsw!(HkRI zd14y6ae1%dPgW_|&Bc`ymi6DD_}mn?-fWI>4r5c?0_-3N{c~q>*K7@|j-KS)J8%=r zz~!H7?y`ueSus)%|J-g^DZKmqX(13_*5ccjqINVjCJ8gQe5Sl`<`Em|L~4ZNq1 zHFYdavv&r> zTIMT@=wz;p(dS=hSz9CKHZL;V$UW?24NjKe7RPo*=!|r8UrFi8j0UdS^h5f22Pc?B zBFRu*$>!$7v|TS?;StjAsW(9W9N#X*NHN%DzKN{?L0 z%xSPDrwaY7y@*4Zg&9@`xXfyb+YKXBJS(A+p$X*!%F75InFeFS`f=v>yM*CSZ$4Ju z+*srNJx0>yNjCS`M$dha&L4cRV!nAk%J=Q>rb(>hP&&v+h{lUYB6o_@_%o`2sRI7MYoqhZVXi*|Ol;9B`wkSRU6>PU!Rb z&y~a;vYll`W#mA#d1mF{bW-`zuPr@?F(0TUJP+XJmA@JNQpN6k@pF~jfEPpolc~}d zLqVkuCWxsYY_0`i`kz=A#S+r(CBDiGj|pM2Wyx6sN}~LwZQQ6R(eW;WoESB9rdkE? zghjCeh|kQ<@cC`rpfAh&3Da_$b9z;MF+@n);T6MYJ(=@0xH7c=xXpaBqdtC@0?QH} znaZfgp>7hSgII~eeJ$ySzyh_?KNcc;Q2*Ho9nRQ=W6 zo3SEQ#PU6xrk{o# z0y~w9JjB-$`=hyfzUNVIfZ4=ecwgp}mHACYI~bXNULzsIIaHd*$Ja1hJDRUe2EU1z(xKPmah883Feez3fzrC1|SDN^HxD zj$c+(xPH9Ww&GX6Qr4uU#uuR@wL~>(#imc8rhZn};1mrLy49vSZx!(Qh(CJ#?p+2X zt6xYQr0^!G-e@mOtT{APq@_gE=ByCg!xy{DkxVDuZL0T`lQu7M0MGi2NN z+gbHivL59d^3ph}R?&$M78~Nf3M=T!yf=!64+8-+x$@b^Moy5a=bnFwIsx#4&?56Y zH~ZM{>8Ra;&cYp)r5A~Ms`^=#!zSS-D?8R`x?{fjKOl>8RB@u6z6v(G7QVUUm8snw za-*d2Mnr-B^=&S>Wv8uJj^y`6b$y&?l|0{s`Wbu@+wuHv56PMitjmcZXDkH<+G{yx z8Gm1&gqkh~+5TjU(R@svy>RzjeCPk*>puh8-v9r9Tu*mZRjX#v))u3~o~;%QwRfzR zDxsnF=2VT=JZ4%eB?uy7B=)F%P%ANNOY9L6BVy(J^1k%H^8J6VxE%5Fd_A7`$Nhf0 zGlWOz7u4S`x#aCRDB7r>fBr2Cx-OLoyHvVafyiSC%W(?<`66BC+}HsMtyr*TVe1AE zUdLR-rQH{zpbV5sEmAVI*u$8&>g0j%&a0=C>lJM)=OKy7x2I=*Z}Rh6V#lRrKSw;R z8xXSK0C~?IOInhoZu-ad?>|JXre>%|#IS?qp*HP?nQ9G10MSvE1CjV_xP=*tB;g3q zmMIK!Q&!z=MBE7NQ}MBW>FNcvjZzlos`%zwkl82XkB<_=C3vKZ_w49b#O>u29zo_! z(&jdYi#41)ryPg^q73r6`SdzewKkke1)6Hb zci>&a@8YqnQMlhmeMOA?>TkK^n{IUhkS-{wxav~o$>DZGmIKL7Hz>Wo+kKfJ>0$i? z-?aqRm6Iq^uFOEGsyPpcb&KGPlN$@LU*h6*dlW;p1vs^u)m(?z(&9^b>v%@pbc<`f z-3k(4QFGI#U_BLS(kL*|8Gnd+w58L~5Oef$(s!nQIdZ9!u0}?!%q2AuP6vX_^jZ3| z?X+iQkz6xBy_?n&6vieZsZY~|ic9wv`1+Hi&Og3XdPY0<7QT4caI5ZLs-5sah*Yah z0O^F|3`kzGAm2Z^HlClQ;=oVi{I$TL`b_f6Ut665w^h|35$>uw`EhFYc-ty2IzUA9 z(xTs3X}Ez+NY0qh#5^t`N0jE>5-b~d96IjoFyDey63QDX8m$JFtHB4`$;tyP~nKTNc!3L#3#b8Ge@TpNe#iHa#! zGO*a5@h(TCu2E{IB}{}zKcq63OU6Yno6yubW$msc2BNCo7k)j0x&`jd^FQg(hk!tg zJ!&J;P66{y36f6(5EMfhW8X>0TNmTXane%HJ&2$FBiw9tg40oBaR&1BpHm#CPo{sx z$=)g=7J4Ln<-|u5Lcg6Owc-&wLU`x)y(9wP@8`&PM~ZbQ*c%inqdk8QR%)f`kBRh0 zGfd|3-EM{#o`2~IP8V7xGwprr`z7$gGQ@zHo@;dG+P-nL;rU3AeM5iaEYz?#V@;q* zZ-eeq6h7R_qb_j{SHHO~rt3MWs#k9Nro`4}h8FTGPjrm5_K9_XX@WTF_+e8dYvF3( z8?Lg}feT;DajB8{&UMf79;JiqLvu*J)dBl^Rp9wtF-(!QMe%~Gs@m%T`kYBRC;j4P zn_o5Z4G|L5qn*>WV{$o^7S$j7v)Ik}g2O=KtCOpS8XkChY7 zoD#*9tubzLE;cN>rtU5lw~R8H)6Jw-oDMl!M~-j*pU4^3?lzjl2P7l$%KVb*Gcpkf z+74u1ib1KB{TmaAO8%;TV`_RUq7a0;0S6O~K$jFAaHj3jDADL(QB7#D9I1ep`JnVe#$X zT<@y#rg|jcN*%M+?xP!ZhFev)*iw%Q^5PF>1`aC6uyMj>af(X`w>V_Y9QvN0ZR`U# z=jJkZ&THEY79NWANc0I|MgcNV==#ei7xLrZdOptVbI5q*-Xy5%;$<7qqpyhKZ5)+q zT+ml-TfBarj;d(Y?Nd_^2@?1$fUS$wAPAhpTLGQ-nQ!v6B7f2{M{nP*$eN7uz3#_7 z=KId8;w92x=gQ5VcR5JQxfOG@Vwo!=5n9W#=J+$U~`}iX2Uei zy>A#c;6rGV;c=z2j-bNlYi8{?Pu3EO@sbdWXKKS|=E{ZD&w#4`v_m{#uC>;pdFF{X z;}d(okn~th+2rBQT&A6+!1>YhLD^KGf+)ONm*KzYyXkyi_}c!w3DWYO#HVO9z)?b> zJS*W{dDw;u05ungJOT-6_XsYS78&7o0U}h6K5bt0P3uXiW z;}Pr1U0EMfzSdP#5$8mPfi?fMmrT(DdTzI1GUdsNSl+jv=<|h>qP3-R28nXcK_Q7l zz|C~meSO4$M0(iPabUtJD>itf7(O853{+}R6PQlSj@O;XJt@vDES)&Aji_jw`a-`U z$jBYrp68rhMg*!X#*&Q5FLlY(EPnUsq$OMRhhv8!QLox4x7xf=U=oo}&uUB+!x=nL z!cVlC;5E-uc?}`KJ7V+_IvvBYCOH(YWEU=p8n{8u+f>@8P1AJOcEDbVcdMmKld7$~ zyCI*>ly>1e!|WgUXyD)g#BG|*PiPJ%I|CB^Lv3Sc41>rDEGRv}4;X4TxbR+1+@6 zog-6Sx|-pPy4sqzo)Oux+l@r5GX~cLhlTH|CA-pc1E*qa_KP%kqg;!GVF`3{{=KjH zLAd5pgYbZUr$KWf$V{7dWI4xn3ET+PAsZ&D zs!pWX&IhKh5iBzO1ej@QhUDI_eu<76+}hOOMCdnk7VE8C<*`biqVml}+YcN4PZ1`? zEc-o0N-q}XijfAopS1F+#q}}8OxUw<_Fs+5XUykNTzkoZLmKb5>JhB95t&S z&!T9b7kBTS0Vo0qq1P$QT4|m1XJkGqypRTa?Kt$01GqBm=PdZ>W+`=!*Sy+2%;v?| zIER$st2X>0SGtb(Pw!JX(u1G7+ulX)%O9OZ4b}vwo5H0a#F=Hxia=80*o~%WOUou1ljvnaq>er9&FqX34Qg<|1WlJY!Q58@`;D<$xWURh} zbtC?u<(UcYjO{Y1zq6tU{MB4A+N&7O^BsvxSRQjSNQ!HDHIM!gzA7Q!pl$v!J25(I zsZ_j|HQe(<2B<2wc@}kA=5JYdb{4uL4vKGUj(9sSJlf1l9KPT-e|b`BTMok7)hN6Z zivlZf8h!JG_{A$pV#S1S_lZm}ywg8Dr5!czzuL~WI?^JDFN!ag;Hk6CsZqpZH&snH z`+2rcY5Hap5}<&&ML(++!&lk^l4Zvv6Klk&sLX?k6ONkAu28**|&s7jFkqm&7}8AQk6 z!~S-$*#M`m@4Crqtmy9jW8Wh_H?v(9nL=k>pgVc56|v4OEun}Q94ayLMMeb@u_eR{N)x8bT zxN;`hg6I43;(7_~sH>5^F{JCYqL9eNG{8@ z$B+}23TKEse&?+1<$)gkx*m}eA1)a_8va)b^+iRX2Enik!0g=xaQL&Su1JP{lXkR) z2$$pAtKR&|{7WTlR(XkPc(Y2^%!_8RE4;ngEtUST5Va+-wG4II^Sn(SdiKka{Ub`* zBy2^FTW1*#oSC#6Jq>XvgJu2S_t^+}fx4?*O{`xR>MXl*1$A36Eme#J8;nrb*`SXh z+ZC!m81rl6rJ=jrlG%K~s@@LZX?29_cJ(=0Gr{2R_S=SCXZon&_MSQ2)UHp$B z{RKOm+q8Y}wmP2?H7HyHY2oKyoQnz+(*|T5Cd)eS>qJ_vimvBBXM5ePxpe;@wb+Y@ zt>lgz%N0Bx0X_T6e!v3;HN-EAuiQnDVP^q##~Ydq-$U&N&Hwl+!#*D@r5v88v*dZk zepk!gFfosPBJNUbmjeq*>X9>3(4;*#g`gd<8r;g#c z>D|b86m)m;(Mu&NGGEc9jB`d>s@&L@LE zZLDpS<+_O)lbTHkP}DvVPl(7`TyIE2LENfSk~{a`=?dFZ26shsC0XSKSV8yZxcki? zl=VaEn+!}1ECN=R8}+J=JzSEzMyTwDBzh!rR_gAyB)65?@YH7^ch3CLVUP*|Fn91Ig7{y_u?of*P{3Jcm-n8k88!D(yI4D zef_KSU(mZ;?_g9_7uMxt502EFaK zp8Ri$xy$u6u6i+T)0U4O549cAawANNPROO;7Fk7eBT$&lGaP4=DyS+zH`|%Y~@j(|u zsb9ujgr~m^WMC|s?7~`_8P<5D7|tjGEi-|B+GqPvg&!*9B zNrC6I1jQ80zILK6t1eOqLoP1;_>LhZR~-WM<$G*omV2Ql z=H_mGAMr;y4jxA_*8#P#rD}w_|kcik_put;k&e}*d*=e!jn?hDJ&dP*a#jW zYtSSRXLrMo7|{rUZ>@kce)3^$5e3WCG4v~F&PPk;4ga=QCD@e=X;>sIfnr(@m3*}NQyu!miqT<9*EKM(k(K5* z>!zQe3Ua|F`QPH~ms%9K90kwUfyFpbd%u*1A9~1;2GD31;6C%A?VhrPUZeT_G<-*4 z?h&}ytm7-oVqj;2Tj&&*hcB8nrgg_^XEK-gdNSK=@IP#ssFAeT0KW?q^4lAW>s)cW z#}2NrB8qCFv|RhmP`X|v(5I=*2xm_BxuOwL=Ld4b`5=(>v?}Pz4^N2GIcr+ryN-iT^^*SXpjN@V z$yBe7F(gRVNlsBzJA=!+!JW4rVcei3vY?v#AJfgjdWOP{j_WpQ?})zPdw&JQzFyW` z@$`JTaG^0ZIHWQz4hYZ!FSoLs=VF*yTsr77V{lqFdR?@e&V{QWIZ@14a$8ZwoAyF@ z*+IvSamj5#AXc=d_4|yW7q#ut3S=tZ&*y$?Ett@w7x~N4>p(a$!L^4W`;QlFgc|ER zY;Kk%rl+2hPHJ&gYb&!ZKZq2oP`SW&!XzQM@;?ZRXV^O6gs(?M9)|QjBV#Ave`LHV zW8~?1zuPMP7l{Ub3}g;w_8Ih=wAxTumf6`$1&P`wJ1RJIcIv#q6EQz(8L4N$VWzD2S||TpqCqYupB1CFK%qLcYB+qAe_~~io4pY2Ga^Rv!wp^4aweGy>R<6{a zv!gEEr+Mbl$a_Wi&74&tBuo3Vj(zlP80f#7lRKhI@BWXp=GESXIv3JA0_;y4^#kn- zrPD5RLf^@t+JW^;{H=Z~%2T;I4k9{m4Loe3FY2o0w%{(% z8?en%u|-#^rcF{ryBk~c(KJMl!0mVSlZP#!RlPwyv$16c?SSR*aBi%tPj-?sTr@XN z`=Ss;K%z`^fA}8J&9N%IY%Cz-wE=Rwq4;M(Gn@w~0|;(ge}lfRb5U;-bH|K)ux^x; z*_6Ns1Qr#oNmLk2+fBKKM_CT=|1`REH|LcN6KOiE@pJE5FILf`ML9U!fqXqPr8Ub2 zk2q+3x%8G&x|G4EeDO0b5jJ-cVV`+vmp|JDCtY@6%&-<~9lCf1Zu%hbi0|x2>O6w(DiJS#D(v4>$=A71e2 zNE!x|%|B-w`Rq}8eU?*nvtl)0^!@Pz4C!7!YLbv(s7Clnk$c$KikjLoITS@@=HQ_c z8@#sXI_DX!d3;ue1B--=^ajZ9|Cl6O<>`I=Of+kvogo3*6>*a` zU_;aKLUtoVrD*ZRGzW_@StJY3%7xgDlT|FiM(jdTyeIw{w+0=Yw$5iQYOyw z$$w0y&g!D%Oa<{@xSkKRYfDbrx6v`(+E_8=l;lT9ZH(YGQO7q0QaZ~PN&{(fbUdF~Y2DKOQhMMI-Q zCCCmjs=^Tjhrj=0y6UHAc+btGFMl)3K9;BwJqE!>(6oGKa)VhldN{+S+bXf@$`c^S za~oQ4zZB2vCO6u5U5d_|6#Al%tizT((PXjAm30nWdT^1oVzwjw6VEW2OeGeDzl)kWG;T7AlKa%JOQ zMrNg>QA#WaFG4ao0eL_(e}vcMYCUJ<6{^ z2y&A%{4Xr+Wl_+mK7i)Y`I4d$=h5u$UKIa*0w71ZRp(VSvnBBU%>wKOxXrbpA##35 z1yZ`2VT!2sN-ag$Jz$X6JPz#|YUg(XCA{Hc*Z>c+6R_`sgQ1EbIoA9<(eqIaMYJgL(GA(4C1$;;TDB=#N4U zJ9Mtz<)Gmk%jPBZL~~Vs-l?G+@I)VPVX)m#>;W#LaZ&366*Ql=PO-l5BjFb?~z1 z%=+Y_mBI3Wr`Wn~ulcaQ2dYC2u2d-8pakYPi%)jo(fUL%K415Kx;OzYZWgVg$re7U zWnf-5o(3FF`_otNfwJwrR(Ts0htOjd8}I2!$hfLljZ=k%DBL+#Pu}Ok_~N7y~d51_n}3n%Cz8_ZViDm z=3?7kYP=1=lYI-C@|X6EO~g&NEHj@c_VN5hC~#TgxQB2ppzj{#`wwNS8~Y%I?Vm8c z{&FGQVU*|=`zY1Ad{<;XRX4wF?GRT8RICB%IG zkto5-2)(_1xw$+Gjm*pqB)+_22ROiml8z;^M*5ysc|RsSG&R-zE;Z6!`t4X=4%o) z8gUVVE3{75!z6(ol!o7BJL-8qH7k^eT6lSqfL_Ow{}1Ur4os+xw8{SASXWo~Z7nY- z*D;36@ug7pfMCXJV&c8rxqr>HB)gdO0fiOYsg|Av77X+xut}(5E>#cdUv1x_u0v+5 z%rA#AqRC%mNG+5MUxsjWM__7Tkwh;g>_#UDF+(U9?W7-2B6^e_T?ON@PGFADWZG~0 z*P(ouhZy}{iecw}&!@Mn3- zWzx$yd6Lqv(CASAGZiLeGh@yl1Q402$(6f)i}4Y>&#M;*y-89s2LprB>$IMpv-TkF z#O0dtGvS|`(`tXNrgNT1&F6+z)?5EfT2)+o_5Eq`AT3VZ^5+;_W>)dEv2e-4E9)R( z3?7zSk(-?VYtnq}Te>-%^tRv>?PP$nH?c_F&SI!ZsL+k|XeOOUyNS>-|1(y0ttrHD zu(||8gyzotP_xK=uyknR+aMbs)dmy*4!;-mZSD<#`8$fj{gXK+ZF<_<)zf^t8Wz8IS!Vixj@J zoLJ~<1lVzXnQJ;j`!oY-4D#Q@CTI4p`gAx^jBOju^md~B4oJ0`I@|migeQ*escLbL z_4pC_zXW2rDiAM_-W4$E1@gSb*q)blZ=FSYnt!#P^V-Ir&E`yVuKP?(Crru_Cyf?Q zi*YjuLjxG%-#vn{UWog7*j#hD7AAnN$%`I_yk)s^ZbLq2F&(u=L5t^9+w|Diu=`gB z5>n2u9-mm47B6G=4vy6q@=?k;wQYpDfs;QyVf>a#yb&4*gWzDx`;}>7oQ8&*3;E;s z-&iNeFZ`I=ef67PJo@&qyZ80?K@8uv z0e$}ZqmGsY|AeizA2rR7t39NqK#vV(LaKl^{R6wCqN+R*dH*eRW^IHYb+2-mGxP@S zC52~m`jo-^xfS}5csk?!jbqJrR1#g7DW<>$LGxG*Q=@Z)=L)J@Pqhj-KD>VUM0BdX zzm^-Ji3OQp8%hn#=CUk--3XVhvZ@v0eE`5LN~8``P}sT(8>ngwWpyqFO@mtnaNDvi z{5{u5<+6hkxcN@Qs@jBi4=^>@BtVF(;C&&ZuCH(=v0WrWi2;lKa0scL39s07P>)4K z{w_5sEbSjz(Vduau7g677YC@#G^i&9O>IBVZ(n{+uNA^sqBK;nJka@yK{P@Tgckp|Ze&e|c58-@dOs|-kPz}UG= zjCj%CNl$tgy7~*@;pyoOruL>r@t);QEV7do=U-)m_r5m#Q+!HCNz&Bd)rSBNt0#8<>@b)aJSJw9~)X2ap1?q#6Y_SXE-x$*QC+2$-OX8fY|#*)w+B(?M(bi27LbY z@4#z_fPpM3&8@m~t-%~9$6n=Y3f1~OW_r+Mk2F9e!bbh}Z2NP}m&q9*Jq9EYcLP?o(a1(w%ax*ASCkH`)0zkPlGn#hijbS6d__ z2&V8w)sVcaO{=1KOd2=0G>@0dF_xr(^5i*CV1y1i=3Du%X|>jT!eJ_o&t$hJllo*+ zA+fyEkEJ-i%z9&j`sDbTp2qUwvl|B#nXA!Wi3J-IC|=z{qyg)+;#iGW5?|f5J-MLn zzP>q|gJx$dN3ljcWYoeJd^(EQb`r{W3nz_-n~SXRmU$KLx+~0Np0!P&Y?(!ssR(pFhN-JuQ zgQvw0AbnFF%kw*{_23t#tH}}xSP%J?@J-tVq14GjlMScZyWM+#SEk^Gq+BKJu?es0!B4{q}Dk)7{Hbpu5dMRsa8D*gZA6{l2p6EK%ks4 z2}i<>X@rWj9aJmIlA3Tt1ZhM{w?F zX%ErKvQnm0MZD_Odt+?0ts z4{&XlbQ2a7+gKC}1L6>9y}}H1UDjTmyFl(5l|I(1bL_6s^JHcKk)`noqS?swN&6~8 zFC0IAVn5EFV~z{ZBkM7M)an*+uNj2LgiUxf9Kw6+`NkhF{2BcoGXLr*k4ezuuxz_$D(!aj8;K)qjKZAJYU%FgiWNcRV=4;#uJL zwx&Ahp(jA#I%B!2)8=+6@aL3jPf1SP-XSG-p*gh~)B*bK4e7O^R?6^K$(=iVru|we z|1s4xKP>8vAhsA-YSp=7N@UlvRB{alog0(5KzGr`6(FxwJQ7;~r4{1r5!yD<$RA6e zXvz{h<+!wsYf>%>D_q6rY-jw_Haf*%D)lQ#W{Pm_=+=wORsYKs(#7wNiW_s68-DCV zGqrtE$H{&Yx-G!*?B+6H-x;Z3&k_@wsP(;5z+-I_y7|_iVxU|8{9-aK-9u-Qk(FbuWTGB@)emF?M zz9f5jFmr89%BhLi>bQM%W5?3*9-<9cIioPGt?@jgq&H&$tjU&o zh|fO}ydlO^apBi;*wu~mCl0cQ3-l`sP^S@)@CJS~oUgeY#HVrLtV|_BuXtWdYtDCr z!F>p_T2T$k?;}QBq;+e_y#Wf%#ZKUUW?7TR*9l@z{oQcQceRNpEd%0&ZGq%Z9eXR6LP$)AR{pJl&)SKTBM6c)^o+hlD;SR-c*|n4Df});MzI#S<8qt zw25grwoQe+si&C|9i{_%IiexOlsjkQG-iZtVXO0hObIfKA91@xNIEXHdX^^B>E9}e zKa(mMpvKlx!t$`ll342zUw8aoT8H^BaZu(vIPuH4t_=_0hB-ZPkHrxgoaD#(Vjd!{O+s06#93Eh8dPPREV_oJ1 zLkvxc9#k7}}4dn3b%gteekpLN1Yl!)Umv^48!G_5j_%4&R z0BB{j_K}BQX%A)r>66in3P%_`Ec+f*vR86y{X&>rf`eAa*-54gdJdG1(?0mczHY!g zMWUKh0rJmz?b$CaiQahasI)OcG5r>wVP!C}3M_1fg|}#2AUF?b8#THq7~(U+dF=Sz z3Fxm-5I_sDDI>g^8TG0jvJcYcA_YG6ru-D*@}ZZDLL-}O@ZHXp6}h^)kITmAGZW@A zc1IO(4&g`k9-L1y_(6WWxx()o>!p*_a5EVPSk&bDAg^`g$pmk_P06n0%5$eoky}i? z&%?=pQF!Q6{%a=J&{-&LvzY{VpW^hEN4$g1C~Be+rlW~*;p%^C`bBq81r05p2tFGs z5Vd@6{)N?JPVw+;D+6gW8g9ox16pmxH(JyUK%j?5H#7P(E_$$<9{W=WnFb<=lo6-`72EpG0MVd74y`O}8umr5|-@^X}%N!p?qco(!LkV~7-6Y(@idMtF zGEPf5Ss1&0C_4?zP+l&$E4xIsK41uJ85B5SI9gRp!nU^{FxzNSMm8c2$`H0%B|9$; zoTC?q`8N2)^({M2(&ed*=+BIPua^Nuc5}A0FQ+2A2W5&nx41jj*vF8@#ha$R__*eh zGE)Y`C{=ea;lU&}zR3(`G&((i`tg< zWXABi?eL&tjJwljeX-@mlo4-r*xK3hWYP6fX$HZKF^jJU;l4PmocofN-zfW^ zDfm_>*J*W40OmNnMJb$=Csj*Pvw_8*(ZI(8WVOw2U!21vYsB%)BbDzw0KZbxGiJ zJJ_Y5JQZXG5{lrCS7Y@ALxO>TBxwT$R|}mL#nt1aDqPkxrrS~u>bG?}2~Y0f^l|wnUUv84SBQ-s_?8HN1n@QBfByxJ;J3m zlRxH^z9Tz#(_oF%o%gZ?L^vN{V4f z4^x2@B~ny;r>~Qe%qTQAnhVxvZ@m`V#z1|ijN~>-XRFDdwQ2sVGWNN>N5gPsgJgoK zJH($<0p}P1c)aIU)%lh1b_Gj3y^rz!-ri*ZCVtuk!aIV^Zgekw=?uS1L4Q3{A=tS7 z$N(k{cLsZ8ynp(Pp73JrL4?VBKW7J#{w;m){)&stO4>&?8C)tNht;jn4X5KeMFfv^ zg_8k`?&BWEM_E(THn|vV`YhcV})^{bEc?{(qgHW=gFZC zqA}6abL$SAj3B87t1T;Oi}|l&7Q=Sf6`6l9Adjl>qHRCJZ`mHgILWMi`t9$;2_f8> zB_dRZjiRs0oOkuolIgtxw;KID<3@WD-Y{>7sxO=4XW4KPaG5M+i<7Of?Nhe8EbYdg zW2r8hMkuzf>VRVI@p?v6bceN z4w^LVdmP1`>w);6&>eC0*T{j4lGF61rgQ{A`!=u%Q+}Xx;5wZ!!N6s^#Gtl^W1Fv& z;lFBI*=Rllk=sHikc^h7+nae}6xqz*WQV~0p6MtZbIRr4-g@puKYG&M$&K||PaM+2 z0mKN>w!vM=Uoy_A&ehS9d}6)OtviuMnbHLd3%UmBd=29LB%l6|$8X>g^kMk7UgC6~ zQ$j+SWp)5nH+&DySy74|7N!7&a#KB*(a|TrC>kBPPR3QhhpCgjZCsGoA8xMNaV}kr zFJDW)H>BF`h$~2GFpu0{7%UZVN-nxS)noQ4UdtIw5SL9Q1=&=|E^oed5%VZ>hnlkPX&L{BULQ82MiE7a5t&4Y48o77V)^F-< ze6}~YO-+aHlqvd~>Utf^_2WpbnQCrI*t0PSP>pKXgk11NPdzyQlopJoJNw5ylfkoBCoS z#XskuveUU}NI`1cUYmkGYixu&1TX(A-J4<*e6B+EvM6m@xI*L$u5<;rUO_5IaxxCaj3_=U#812 z5m2ir@FHtm<4p@{fV~2_0veJH3D8f764}+wdreYxCvfNS4zgO^3H;ItRfg0ei#ILW zpk5rt-^uPbX9*z8HAPpR7pU`D&CP;2K>peTusD8} z|CnBnok>FA*6+u#bJF^zFCw`LQiHmVZr!Z`3{}$p?RgBVDaWele1mldKOm60egZbGa?JV_b$CleDB45B#%>g_=YG1!+H1n!y3Lv}+AyN@J4h!!?FB_OZEm$=>GXz*Xw05U0|)=CfqH5&K^x;N z4p27?^4zFs+Xni|JYQ<7_x7U=p%LG*}Ztp_Z7}26l9T!Zc&_7ox%*(*6HCR zl(UK6b{$m^5daWrGwD-wzn*4l^<$6dg~N!Cr$Y?V3tQH-Wy&qjnxQS&^t)i%zSemx z!OKhO(W&*5nO_d-j@Ga4fQyFDRiE~hvsz6ldpv5sbYANTZY-Q%hX{n6Z<|uWx z&7xf#NZ)50;BxQ-3X5x;h84B!^4_2P^0tzq(1nh*=NpS_{ZT?2exY3WFmxCL2HA~F z`jy;K4c(rWPb;Y|eIP$q1XV&C+|F^G$dx?OUZ~xwG_{ zSVXPq-l_K37&P$GL;4bATlIdQm$lI5f_b-3gVDtJhgYqUmbvroUe46O$ zk9+1Ia_qd~5^z?s*}29pApy7T*L4Cr)at9gBO3%2JK(Tz=+x4^i6zLLg~<5i}^byHULN%i#~5> zt2_-lbXm1EjDLg?Ce~dARyc8WMBg)*f z>r7+i-P{}mNr~j*0y45{j06024o%6YzfJ@?4KD`jF*-M5;8|+S?TqzFvq~}V4-WS} z5~fKJrL~&>sZ?P45U`er_5<{2rS6@C#Ft+E@r;L_j<|+L-1wyXILe8usK7W5D7>7C z@9*88U6V-5055O??^GPdb&Zd9 zGGB#b>X2e*?Bfk^C43tNzvOv`MHQP-bKHm;k&!H)nVxf2NvM7zoD~F=;`*5ProzBT zWBHHn(=G-38t>$1=|v*5WrJHHGvjkj{ra`kc~Zm+rz&=GIw7XB=XNTBOOu_^mcd}c zG61pS+VZ+%#8l%rgFYeHm;l+3k!rID7o~k6wtbry#uHm>X&zbj@dUFbtt>HBAG9@} zjnz0v{CZF6PnzSJrv6j!#AVTVbfGrqKRpw($Ma9{ohF^eP?-s(BJ*Cok>WAIOOt$L$Vr8YK+skKYp~!ems~Rv+7A zm0o5cgaCC!>rnp}#a_fxZ`zR^b0io6=(G7>PU2$PGvqdTwlRbx>d`-J2$)$8e^2if z;5qn@iDo6hN58Ul)aEjF;1CyayV;x&V)GrRIMX>j8Si=5tTyQdy|R}mF73zh>@7z5 zJYE|l{*Mmzm}+RDc)v!r=$_bk2M%GAQn%Y7(3G23b^w)v*VQyxj-T1<C+Elgo}X_JYY^;@o}9)Zee*z)~DAdm6OE>(85$jL$5tyN&KX6AM8CvO2WIzKtXJ zWdmz(%f5~!zSj)IdzN0N9@tt+z{R7*_xR*b&ZFYkJdK5^*EA%CtHiDYMl zG&1P#D<@V-Ko#(er&is%ZzKO# z;@-p_1s;PNdezdDX=$|>GlA#4J0OXUdW};Ycvf`{IdB^QW&0Y35bGtT+d6qvr&iYu zuKN)xaem?rHW|84!|oW@1XHWeuEuAKj~4P?QjFu#X^_@mcManx1so%|1Go5nZ||%r9gu7tnY9bF*3GVUuaz zqo{YBF<_+Dsp1|U`pm>Pl~$P3N@Hwo9@0n{jp^(q&cCfwEQyxCS}u0WM;EGS4R;vw z>N)xFi1;_xaX4@iQ<#oZBtLvud|ZLPN#Q_#e)R2O5EN)iZ{lChCN!=F-WNZqGwmO_nM~z_+Rrzc$XpZVk$q1aZu- zPrLa)d1iIqv>lvS3ol@FY%bh!Wq8pKJ2wOmW(R~j7-_Qaw)%>?a*uGUabOi|m55F| z;c>0r{Tx2G?_f=oc)fv?ERp06qSi$WG(waatiG1Te^psk1u$Vb0#^=6>Vj}u|56wA znQiEO3Tt+NNc=g9(8g&eJQT|xO|;IaVE7GLX=#i$6}jl#u}^NGP|7tdb6b~}J&)tY z(!HB3l4cV9J{g>s$_Sg_(yWzjp#TsaEqJ{vygZ`}LJVRBKiULYGkvY3ED16D?DoySH zBub!bji8m=184BG8T1rA124Q3ez;mN7Qz*MvQ6K#7QnRir1X>j4>eso5-=>(4kU9=7_t2x@v-5 zbk1=ZjLMum-44X?u|DN0-`c>c_2{G;!OWVUWeA0WZ-2JM3r_1imzBQ^<@ z@PMzs!=m$JqZ(jmE#>9om}b|xZrO<>kAmt6angy0W&44I_r!021cU7OE+#EeT!9^z z0TEU7ZYeD@GzZJIEsy^$Y%K~C>{A;*AM)^&7Rg-QJ6V0+8a78-=^XG0@ssHJpKZuF z@43zo!P|hr^i7K#VGHk46$Wh};6M*!em;f)0;~n>bQ5n%ahr6SAT(34ikj(Wj*WHi zu@GVZot57V)h=6|eN?0F@VklDP;TL?)Y+xNntua=9wd10+=L9hGHNj4y_Xo=+VLfo zF6^>%{6Z+r-eTOh$x@kYrjGr}co%;fiO;P~UvaN!Y701f(&(EAyP#aF_KTf}MxRTy9Z5#$1LN=Hu zI8F-7Nf_&S_~uI_`s?LAwmasTdsca#)661|q{#PnS*B#xk)hFtEY8Mz#ZvztTkrjs zWcxn;+cYz?+}nnGHr$K5rHQGz6;m>EAQ`!F-(|VYa+ZtRi3=?SCra+r)LfW2!Ic}# zfr9k8-rw)9ufG5uC)agwoX2=R&AY4&UX$0czo9=yfVW1>@b@p9_i*`d1~1&gB@vPy zkej%i)sd#j9aWgE!AIYGkJfwf)(9^PhBTMz0D$3yr<<>HUPU5u*hQh7MX~yxq zoR-kSmsP+5{O@kp^DOw*I@%OZn3vR|j5woIP!stkr(Z>y<+7V2z_^;*Q(LR`%$sYi z9ISEbOk&7vDtW-J+u#Q6WufalDq4c==d;`EECX8JS9zz~_eQ*_#ykTrCj{$@M8jnb zzmD%!EQm*E`^f#NaH&|P|In~{ldKOLFsn?#!|q7s6zy9iKA(EoZ!fbqI^J$mm_dfS z+m{*U%2_R<12eH9x<*aD#)?jp#*@ET*`WDc!dJ60#!aNiL64*$Vk69gVazne);H3l zFr=m#Sj2@92(*4O>;^TUZJM{^Nc=~hd!gS8TXDEelI#y+h7LS=az`wN|zm$8WnYPkNxTHj6@lspLU_1|S z!4#AOO?=~;(XgImAw8y(o9_ecRzCU1&D~qm;xF8<8Cw-{P9n4&XWrV`$rd>N+N}wz z;LmjzdQ#6J;q@!7bap5shd*b{xM=g7;bwhFe;JcE%!}Sdf%2`*D$>hn*PWo3fFfBI zX1}G{YXa1m05nYcpEy4;I`N@6I{6tvIydoAMu_ug1gr#d?rHq&O}fhU%ke|CI-kl1 zSTwX}-GX7t2p>7TSt_$dRvt%_BnpWMu)n*dBP6DfRN6khDTg<_W~_r-115_?>kj3+ zbJdlvg^}k?)%W_fnV}S|S#j;eiMnU&L7&5Uc$ek|c*{R6d^&?v_W9tf1fYB_owil0FgR#p z?w10QIJF->qMlOTgnEy6qXF#KqR+jb7ihEfWN&$6J=7OEq9aS-v(Ty77te$S;VZXG zaf$xKFC9PIEt2X?$*aWd-E>I0>|Zv7gtWpIcHKI&$B{Q4b=)lSr`Sw0bjRxL6?{Q5 zjNZQ-o?vuyv7&|4aC)<^=*+pzZ?`Y2+^(g+HmHUuwGm*<0ytHndsI2|qehAEoD5bS+BE*ExIWe1GMX z;Zgx>Ea5?(hZPV2Qss)x)yaqRIhp#xW;Y^xb<4-HCgu+sLqhSx5XmGD{&F|5dq!gE zWp-$GOGQ}s>|ptX$&~#Zyc@E6Y(t%h&+N(*9Z^r>gnB!6WG$n-OJSKB2i(f|{nXOu zPStTwk>5Sh*mTznj*s(MY9GY~=ix33cd=y4L>RGHlLIYbThw%j#y`ixN^&cQ2>G$; zA$%)lwYef+63H-U6=m-w@5+5#Wzf+RC5ux@9j89-vYdQ2-|w~AniOZuqEtt}Zx;%> zMa&pLV-VN>)3N3${Vx1%@x*U~oXEY3&o*fxN5B+J^zlWMo3OGs0DK1O-fVIHj>y5y z*hub2;gQES&a>W#Q8Zw~Aa#~swjB+@KGWQ6K(0#|GIAG+urQ{8Tm z2;#%Tx?v<(H#7Af^>VI8DS@6^I%(`0>Luln+7{?6-5|rUJSvsBrlos5FF0!?*XyOd zm{g(NrM<;Wm7h(lVCi#{WsX^|2sJ5sKh`D1n$O6!8$VO*NfE$NvSw6zy>`8(zos`* zLJ3U%jt-NTgmV$sW<5X5B0~nbWAnHO_4v`wBSXxs)h6~NHE)3}`NyPLNPh`kvCDg( z!}g&&HuQU*%o~Tazie)=EYZ%HmlprLTKv)AajRIwY`UhxEXU*Y0`a`q77?BfA*O-^ zhUUJodb_*LNiMg=^p^ULmxPTq#&OO&#vpZKPj@|`HYg!-J|_}4v2n~WL)y-DN+=$` z4|Aw^aP}kZ?(8hXvW^<`FY5*}!t`V$2NOK5Oh#=GB_tXr^gs*d7w84d@R%+VBD%6t z>* z8K;CTId8QA=1Ut<=%)44ku1~Z@_3Cj0_r1lc4?WFg$d)P96yLMDwthG7cb95}MqN%52GA7bCMO7N#=xX z+^+cD5iO>gqg7oNaap$*+o&o_=$Lki8StB~K4o>i_sbs5{?kaOJKrm77pI+{ISXfm zEt&$nx!dbZXMVCcv*4h*?QFvoFSmW4O&d2Z!F&2jc| z6qBJ+%rH75oMzu&Jm=h>LBP~F)a=-5ykWb}?GWkZVZy_6^~*DU&H z_FCnt$01gK!q^oqeXgjWZ~(2Gg3CZr1N5gWcrEid&t)&ie0@imIZ|wBIcSEEez2@T z^XR$SOy+IPO_v2z!G|N15vCyR)Pt||&*V^(=k^D?^Ry858!KReS(3r2Ss33@^~At~-Qj^${&}jGRxCgYUiP(-%$aRQ4U3)0 z#z&ajam)Kz_aC|lYfR^!FE>m7%eFrCwyXzxl`q1}DL11o>bmkW*vNOVFCqCUZ?)d# zWC;DpVmW8~c}o1DbP$4I{&6p$Xu&MSDY$qkoaYdBV80J2I$@)~4FqB~z6Kvv6x;Vf|<1AWTS$$GL>;&{%&^ss&MgON?q-^a1^tudn_bE-N?`vUnv4=L)q1nl@2U;8ClIT=~&xg2kD~;=%cXt|0M=H!HkWVi=;jVjwe#GRXfa; z`pDR?0(pv@UiFnKNS2N5!bD@{8R2k;rp!C^V;asi`uFUb=01-DI?6!O*p+WnC6%0H zWjVZ!!2%V0sBomrg5J_I8fX&h7NQlZP^HryP?V{WK(StM6W^N6nm+!^)?pxu6gxji zyJ6Ak%KuxosEq9DAy7?az+`4N8Q5z7T_%_ov%ydyP)FPTvI*kD1AJg)LPE$En)_Sz znMbx$Ry5i6>T_$R-V|t3gmldxy(thEz0mm$_ZjBxFP{C#kA<|LBw-4m^qprUUq0ME zU!(NdRbkTAr#h9x+{`Utdm?4#ZesW^7{;)b5BNgQwBI&V#7Q{ZX>|Mig8xZ77O}CI z>fF!C0U5Oa%osK6eVkCQm%8ulL{o&s%VG3X(Ql(?XXT{v5C5?rx3Jp?^eX>{L*z_u zs?hSUvcq%LsD8P+rTDUKu-#)sDB*oj_*@gpO=V@mL+eww8dc3(=37|)d~e)Q=nImHMarJY zTpY#xTUms0ZwkBpK06}UHYVRoYmGw_hk-lu)GvAb9#0-XOo8@2X_9exRS!xeH_U2{ zB}2VE_hgl}`a!r#eeR-{$;*HNf!WKS9UmLkd>OA)J^}M+7!~Oodvx%ve(qKE<)7`8 zg-w}!!=@x1T53%cl*?wgo2%tT%cSlUy3NO&i`YG1Eb_{#`c6{=tSihsbGC>PdOy7| z$h}~1nz=*gV%%RNa7b*M$4}zT=PUXTi^iCs{nxOv-y-c_oxt8=)76=|R*8QkdPXm7@;!r|Esf60z{MBFf@IU?r;ALf%cm~3nB-;kmZOM{ zi-}QrRQXDIvnqf+*C)rGs!dN4TGgp?Hu>JFlWM1i4&K7Fcu1h|LMi6L{zVmX zy3k3CSjO^w|EG5>EAO1X6kL7QU)CI)kkN0W8aNdMT$r~ltIucbdz(L?hV~I>AV-0R z;;PZR$$ZF_Zf7xiz^}R1@Fks?OF4=u+Hd=!8is!>e%7qQ$lyW8`nBlHCK#1 z;CzwbfhIYx)n|n#4dtgjZ@{ncUeLI#s3{4DLfs6rXMIy3b=AH6m6(zrOFhf}x7Kc9 zVrNumMr@bM)LQv+F``ph=Jzo(lB3ld0}Lhl?fp=?c?q4}>XYlPpPJJDL?W zMf4bGw!WEBck*2$$*TyOk9KNMVG@!*y9PQ9B&p-k>4lx6>K~gjk9ei}zD!D-&EV$b z_v{LVBtdM-9h`k@hE;1t85Nb;sgY@}wR&bQad|S>%Ed;P({oDKi_`p9=K$}RvFb;{ z{MXj=Ej0FxVd_Gc?PH~V!Ud4$P_)E#;^xJZ=KmpE`vC(8d-ZT8yKk3lXTRgWQ7q)y z-{}Wo{P9R<`CfFWVcj*PPHv9Rr;vu{_z8V`2k!{06+dtU;AFr|%NtgD50B(1XyDUa zRX^?$Hm+Cyo&_DhXYtZ~kGcn0bKhn!Azrsij|2#j$Gj1a7-JKlhW6IIK@fO z@XJI--=;Jd8XidNUoo70p7%0514!VPKmFjZHsc4dLfCXcdAZ*Q;6ZVe@&FZ?TEv#(uCj z4~D<^iH{JVVsdT+>cDEwwk1!9^?u;X0Nnu%(t;RTwIa)1ORx1ULhr%DuBnIZX?E(6 z6qtd%RY}n{Vkv&SX#FxoD}-NhVDhf!UTRIE<=T==iW6?~Hno2LF_9%9`7V+t47R`> zM*=)0rZi9w$vn>AoF~jG%Bpr$4@NeRHjpxf8xyw>0qN9DRKjj@T!dmmciv6nT>H^X z`%p3c$Dx(uj3KQ$KkpfpUfCnKQQn;=$+bZhVwd)cwE5PeU_?&LkL%Rg+hi|N=+^Nq zYSBY+DhP>~d5zOJCd!Gl+~+wqd-N-1ZBV2B2y|n_G*kqe3*84D7ez>GpxylDKdY(6 ztmdx?yc+Tb05G8Bt~_=fBz4T-!H-SyfUXrV>P>$}T7Gt5>2)L-U)-G0Cf)E*Z-XE% zmdPJ8SS)R~hQvz;NF&=wIF-O^no-7Z(CmmADc3|U_^raz;Kp)FnGM<$6TSlWegEEA zV-W|Nk$0BIrZNOs9BwqDe`rD9T3o-8!WX&1=jZs=Bow~l4o4`AHiD2$HpL*BB1e1_ zTqo!(MZ~-1cSt=wS3=$0AC>a$iQa154oS#CKdd@hg2G&Umg88-QiSKV> zHlH?;lBh{lFI2Mz@ zR7<)^S>gIR&lZfyOX0|o%o~9PT@3oPzskiyC!d9W=R3Vky*(o@aUq={u=a!96A zQ9;E;&i8J13_PE_FT|3;y4imQ7R#;o88wX0czh4Hh-H$!s&DaO%A{G}{sua5A}iD6 z`dshVlxnbjNRm#PbujdgWr!;CL>0g&Q;czf!Zgw)el{f%|h zz_g5hiek|x`JJum|MG@9Aot%!C)*G=WFNcW8a!#=MtxCr>A89!#dyR_I^a&dqq?+g zRx|=>=W*;6V;X-7zo(ibFZESxZbnvA_Iy~JZAAnP?d5+|HpnF_)HhcgWl~>J!UCn8RSC&aZydKEvVEC*WA5UrWoF*d(5mkvlwkHisN9YV+07E4**HRr z`2*4~Tv0TH>SnutdQ`5-ONB#N7nA_QpzUoxQpVcg&G+_T%JltrCrAA3|oQ9*+ea8xEw*bplT{QAiI( z^u-slr&}&|wCU6?1yuAy(jm5x<4=a$DVMP}Q@ACWzihXE_&u@pumEElVRzTk&uMPV z=Vk{oEYma9W~+uFQYnn87ONlsqb_>#U(gN0JcfWPo&!KESLx*|?T}^|RM6mt*&Ii! zz%=R6$2EvdK7~{Cv!2C5!VMMgEf-*U!;s6-c2t$jYlNUQ>M6s0gx@nyEv`7c^_{N2 z9M`n+c(JIu#i7a`LIPHn?P_X6Bn~bt@eKY+lsKb0)8|!k&BXI(N#mLUsY@-@>%dqS z8wu1nzQ}I4ma(Q#l6u-y@R^no15WyF(^0$|;|{%KxC%32NOyF7<&6pBb*(6r{l&DR zfw%frIw01|OR6vQ^noDC?|4{mApTyPph~VR39fV5i)ZbL+}Ih)fv2-+{51>xGG7MjNas+ z-Rp_ap(Z6B8Ab25JnJCOeRDDxgo|?md(A91rdASOoVs8L=mHWxZDNyTp`%KUJ>_pE zOc)o@3%Ub3Ztq7Q#SAV{!Vvp;a0NBO>vwg6+(I*VZ@x=6Hq_@$2^s}1bv(Kaf=aB; z@A4EMfg_@Rc%-l<0wzChSIA*rtpurgIX#L99O~DdYOJn$iFhgMe{c&wqNz1=bx=_M zvM;|N{jr?b35U@)Z?B%KFuZADy8)EDV>HXOZF1Iz98CWh?>7I&XY~5p>L=`5QTK7x ztT7O0^oJBq6Mb%qTAphd*uA^Z z%qw3sl_72wk6W_JT@~GrDpNM-+cp2*J-k2u>Z|3Fw{5dAHoxB#7{+otjT>)3{X832 zWWQ=_(ROxH+&cK+%w4^Kl(rnz({kQrDP51xO#49DAvkdDaz?^Nmsde078>xEO;j8! zH(G3JsNo%ESz`vJ@^9d=jc1lIXPWtut-~jTQf}qPo+_5oBO)*s$ zb^tUzlYvv?Fu3QVbwk}^xhWg?5s6VXVeo<;!?+azh|L57Do}#R9&%<3LeJDUmJ}1~ zpU?ttV_m@`7akhzmlTqft?rDe=4qv9jhGx(u_f`ShnE(#OkWJ{bnw<9Q$HQ;{>EH2 z1LubLIFd5!(KdIL=VoG*58zfE-HTzmpRJLJwx_r)D~tz=oWQ(kmFa7t!Xqm%X_)!v zsj8S<^hP#ADAB`-;UO1fv&kof(JFji4o%`?MDNX2Yek(~W#*>#aIKy2t z9L$s;_n^;gViKT3MXH)`n4dB~u-8);F_xP4v;;oBR~~E;Z{Bx+K%+M8m^?$@bU1&b z_*hC#tAVBz)l2l9^>&unIPtXL2f8MC3xy!BW7M4Z|F8yB-~V5|!^blvK{$^~fnwqk z?y`cK#;dn6B*g9GR3ilwDy*{c{5n1{DyWMo&K13q*|b~_E49bAi-m@{y2@$Q@*sKy z(P)F8FavmshsJ^=S4tFj*^g95sk1%Zpy3Eq^uB@JaZ?yaFijLlSn`?b#SV4()m_w% zP6K%$XY+g>nk+=WI1}baKKGH${X;JWdU4hB+2cpw2QINkaGSC7Q0=D$)DdsHT)u*5 zsCzCBjw{>^eZ?R+xL6q!3iihng4wy7oeYdt=9s((`)>if7n+>eGsKHL=nTvfd_9kd zj^x{XDbyPfPzsmO`T3G5z>=U6KYK4b!?TEJzj>~cT#7~`m@Rd2b30Hvu&lg&o< z1`KDEBp$xh3oj=P@DrP>{~1CEG#*E}xF105VqORlWjW3N)pDWu)V@Wg#x999bBLIN zkxJ@j&`NMl!6=;DxX}!&Ke^x*^ESL#L~LiH|FsRCrQ`V)qs}WD z?`Me-O9}`ZW7Ad#Guz{3BK{27{B)Si2%eW5tE?1u6BYoR+`IIof=Uthr1=)R9s^FQ z^la{P#~&O*)S12R)E7&|E}Z@EltuB8C!AlZx$-qW%atp_d28R*mrgBkJ1$Sb0ql+s=a+i+TS+wMKNJG-F(pJ;XVNP@gHG%BWjv#S9sEzmLHm0%1 zMF@K8R51W)N}~P^VrAs* z9*A9Bt2lDKBPfZD$W$$ZLvF)ZveckhZ%S~=ki*D`;jiB#kXh1`Rnl_0{&H&R>Os9E zNQwW2{tI`;3(8X!)W?B=gwa8MDa@MTg>dFS)PXhP~?Lr+i`0 zjSbrqKV2r=)9?JiX7km!yt%^z1II``8}iGEDW*zKbxdl0Vm^dR4s2mnH#-=Z^k6yV zAT!G;*?$ZN!>jwbQnDWl{VEzd^-mF zCDq+xyj8vX3IkJYcx_?L(#S@|7NzmQR)r3QNgD{wE<;2GL&<)58EpDM*=gF+>Ba8! zG2=KFAnoL$u$r4bMZag2iA)ns;1YS1(=qH zwTBFi1!;aI11HlzQlr(DeRK2CbpTNU^(&?ESb#MIt&Ie#i<3d*OtZ)~M5HHBV^2cWg-^6^o`mf|&qoX%sS`S8L`_GFOn&W|$F@qD>N?Z* z#@{}kZ!MkhMIye{ObVtv43Io$e*V*PL&NJx^#w80N6wlY=|2yqwcX^5tk-Q0VCbm~ zy@5FsuxdWTD4H(f5aEzKM6*Q;cUzMI!|o#uafS3^$>k*Dozf}WRV*$LWE2)a%>~V; zp{RzaxGc+FxGUokYnZ5G_YNOS;naligV5hdZDH0 z%jB%-eA2zHv$LFk*)FZQBMSEU8iHaf2My;m>+g|9GDn9to0ohKhK zVu@NK>Q59pPO^RckL|+q=VyAB(&QS@wvfS)ne|r8Q44F~0B`C)=GoqtE>-Bs)J(KA zjto?MST%QDAoN<6br9zD%ADHei%U;q{0H@|@n1^~N{zgT>Y&i?xFui(47WI9vSoUt z=GPS1(Otm^&~|+}oU}NRzKHo9Q4rat8zI`m{f22nb7oy%p?BCfQs-iX{yk5Jw+q(m z1m^q37(Dl|q`iQ2@>GAX7s!%H_0_B}?D#fBQzconch5DwsjwumcCfB;)elEr!E19e z{RWC!aFFzfAJDHQ)x~Aa)^MgxaA9$3l9s+d$Vl4my>i{!iQj>Hr^F2-QCdRPc?qUy zS(al2G{4zY@qzSe-Q2|YmFkT@LWW_@VL!^4`WHFHqEP1fL$1SSf#cHNf*CV<%?3Ss z!>fpd@EZrp0<^eO8;JfGb9_*8wP)`>I$mr)ae-(9U9aOdIB*0@0Pof-X$FtUxa zqoF2ge^^0$fh5@3qa(_R|Afus6a*EKj0 z$Txm6O=t=pi7POAHU)U*kgG2i0f=-~2>p$|!5xyLjIge6WI582bI(AuuQU{M3{e+- zKQQiF+WNa!^&`C`)WPn@&2&i!@h{sqOFP?PnNeJmT0|BpYDrO|^29>P`Lb{OL*RWB z092mXO-4oLOa1Kex$p&?Psx*ww%Hi|{!TpNoqckC+3F}DjL!Tm{r|xo$ zydCD|TaPuMfnbl;lSkUi+Cn6K$>v3$%tuI!nOdLB(K5xy3u{iaUL_2kGiIJMEg@ zq~2!9sQn<20RA2=21-LDZ9U4S0WU?KlXEU`b>_#)u4njq59M9`=pLwEW_1XWs!Bu1pKg}*t)mtX; znsKE+V~Eq!4xzbSi9>MCOx0&RbE_WGYQDAqsn1$&#)w;}LbfocWz`dl%W*|G?}LJ= z*;fi<`+XYoWKxp!Ah`;@Dc~{K?B%Rbql5U$@w$EgMJB-uG@l5qHHrejIrE=qMSim6 zk#^>^$e315=0kb{&DrTxm&nts>D6ImzMkZ~lh=TI=l;$d5)Nz&#OOf_*7i-|L8rWa zLhXmdvQ;EkYlO_+L*JEQbgE2v1qBuqZ1_^&=1Y4BKWGEa}uUrc~-nAQnKWHru~|gmjkuXM_-I1mfM*jTdZdJxO<^5jPhb z8XF~Uj$r$hc{?I6tpo!ojHymb1-j#t#)i+%it7lDTU|<|jACC@25tF{rrCQRL%kie zVeW-Ug=VkI7HDX5@~_m9{*Ns)1l#!yvSn(&qN$c|WCIUA-!Y*tE3^*`^N_ zX*bt2zoR~{@z1?EEB~5D4k+7$x0&!Ag^H9{DI|FMeiIIJC|O3H%9Zb8T9Z=hcY3`t zGctGeJ33PDRnh%6?D}M&Doz@kLJI?lC4xCCGJ=mqtCp0s`N@=Pzn}4u(H)iozjq1! zpLK)nk6wr^#J4eYS`V6j4+K3aC$3X*9!q`<02TH|Ib!%jnEUa2rapDZVeEPXJ&B=a z0;6Vk4udkqXN$=~%8&!HN5Z44whm9nnG)B2s^YZo)fEDf^Bl4PKRR%Fq<&lPcGf-h zzE^vx&crmE^HkdduRGGigg^^ye)y9YGudC6sP0MrM^T_Imz>DSbppmkCUq%Sq-izc z3rbBU<6}xqQ*C6`a@hfl>K_;=ZRIsX?<_vA^P=N_kCvqC~1v)^2R3cw6b zQzPTUysOPJnk3)qX=3Pw5d6otuN;6(V`K~G4c-ano_<3b9E26SU7)B*U;f^fG4^b6 zBkkGL=JP5R^gptow&7*Fw47%tYXHJ;dG}DVbDPNnA_w9aFMvAfUH|Pw)Fppn<|C?F zR?ns#?Uqbzud8gQ4?)4iDOLZ6sw~=-fjUWdkuUTX|l`;CNK-B3~X1 zwcw|d)&6#Ib+s_nc`!Y1c2hbupeaQ1tB+H_2Wqt4$B{7HSO2o|GW7tkKy_^3>}a)G z>hDYy^e;)OuVzoG>U)Aabh7#pVFsXA=mUqI%(^+6cIoR{$d7Gm57}nwA@`4nHoZs!LRHulwp_GtQ#&@sXR3VK!pd@L6N5*R3K*S2H?d z-ux6(|7RP6Ju2*W0sW9dil^xdV{D5O~|DPT3!jCZTQ#mWblF8NoC@d&qQ-)PD z|8M+QxPhcxU%|q%>f|7+BhDH=HCHv(-}%_Hd|bbJ5mqSkmuw61D}JdVEYTNrn%0z*8b{Usonxiom9Fq-2ri}; zExNEcJ=vbsPQd;gqM1;*3{RE(7N8y6a$4666!>|id(|yTYbI;0{T_)T*B!~O_GGgL zEeb}A+^~!!+ui8wpLAK%3JXgzocl4Mq`VF^-29zUwIC{Z1~SXocOO>Eb}AYAHhZ0( zKxLSlP9^F9Ta{OlZ~Dz*@@%e;7ULfBEgTE|bN8KM@>;~DP7~e^Z9sB8_Fh5_O&lqi z240WNDfMGwatA#+2j*^H+B3gDlID#ost#D1WXZ0jf!3b=WvhbiF5Ov}8lB?bKAyY2 z60!YJnavNv9)*`BJ62x;{)jq4B%(qon_ke%^n&e&quxp?diSb_PHX&ui*yo)jb!pm zP0rwNw#OchilR8k&3%c{#AVw>rjB z;LxDFS8!xm`zopg`o)OJcd#FPi~_mCxh0qgK%MAA0ljMy?2H8VDK3PaArHt}(k_-o zx&%<1RJ(OzV%6={;QDt#oSs>EnX(;`oKx$qGWai}-oSHj?1NVNY8=29c`wtQ4iR=g zt5sh1%(ES-H4-0`S-Y6#7WBMewJ*&IVJGZcGHTRDLvXlj=Y?i3_~zWsgIfCjSaO)k z;G^9tlUKA_hG$;BaNkheAbKG~lpA{^lQCDY|wS^P!`Z4>eW)zz{_4#VNTk?`TdEK>Ee!R45jrcML zF=BaOwb_^DTw(h0=)J1eH|jP!xrW)o098DNS#}baLdM>yl^ZM8EkFtaAZF94;0fRO zzidXTQNV!PE;I_o(JI80qRzYg7p6)FB)l;s`43wku>^Kxs2O!HF{O2UPATIk%oohC z#wQN`BSSDppE1kT@xkSvYjcDf%By~7IaF8>D=aHp6>4*hLk7*vX&x&Fn^QFNwmh*h zJZ}MVy9)x4cvZ`gK%VW5S%-}8YUl*!0x*2NECMV-BL1mmGE>8bKNAC3Zqs|OtTzocoOh4cRRDR= ztnGMkAm}pT#oUw%Hz{x%C?A~E6V9JojXcS8TUh71-PwADh}qgr7GxUMQUTU7y=^eL z;7O18+*_tJFY=l8W|ewBGR(Zv8JD=TnkW9{>+^}o+mtG;{a;~bf(mG}5(z%ax?MH9 z+%u~(vx|u?{tJd)foa(Cg-ZRj^r6b$9o7?P0ZeFDIZ$SBDi%BkF31XD3@@7L^WsKr z3G?SjnQiR&h{M(c+WSHaebekx{2t4`(MV6npUNpsJu2hQ%* zCIUc)s|_Q9j{lx&`qg<ijV2eAXg)AufvBrmaVvGVW7J-8K(b-|>NjWf`C^7RS6- zP-Qvo^sU3u@M?P&R~W%Aay~6me4BMLVuW>>{syrGjsDBVt8V^(Zi}vxE^pOIwH6TN zY_UF}eJ)l6Gbs;4z{!aCei->3zWJl;=x%i^DerAAj9x3uvV3zi=&0(s#8<7PZYN}muD`t>z*E5=YA7~> z!-48D7>x@_82U+$p80e940-0P!T;i-otBJwiMqows*^jlFhrMoUVn+z2CB=ctI@N& z%<4l)=E+~z3Q(lhcAZWKZ7qg#`8}Ic;pJ6b>KG3RwnA(jU&J@*(U}({%8_`rNUFjY zXduDoFag*x-edAeTmT63QcS;=+Gu^(g}JV9NAsVE^n@px9jGYx1@e9pOwY9Qu4L>- zrrr3{Z(ITBwG69THTN^gD|91{y|98@2Ssy1Z94?s`NQroC_TA~#(v{y<&sUluyY<1 zoF|}IkOdBSafFsF1hEn3>u2Q~Xhuwa-u>t|6oiH(8(nwat|MIi#P{g-Df0Wzv}+HX zqjI5?2z0ZoZraMfifxp*`cJ<4h2V?&DQPbL_-X-`$HXgswVFuJ6te&i4#-iHZ%*oA zS(mC@;SQxuQ|kluieb(N?hF5&Yx%nJDTaYo-wBW|n40yH_YZ-^s}#2l_cr?cKlRnuu|2n+d{gvcmzufP_2=G7seLfY*C%(2T%##@gK42MIMn<7v#za4i*o@IBFdxXFJ*4G7g3e-pt$Cugu0IN#G0X#8* z=tqAn7J2)?=7jZ$e+$|CS2tHT;|H1nk|PmSoOG=+gIF{C;-0SSsaD;H|6^sng7_b6 zKqsclK#Lvh! zX@3VL12+2Xmb`Sz?7>22XAksdl#*2q-5vgk%*ORaZKwIa?W>SXY;Nq#K99gl{Q!2Wv;3J`RjIe&n#eWP~zrAgruH-44R) z4gv1+*PZI6ovEdzslHAu+hg{f|3jroGOzq(8ZSTr3I(x#Gh+k=veHNO$}~{VFf^v+!o9Um>1X73#!KcV zEzGi$n2jZy6ECwPddV6hC7yqtRM}Tokf*801Vi~j8?l?0vx;SoCqorplC*Ya>WcnD zkr6RW-6Eu`A@(OWRLdL7u&+BeenRu&x8MU!vq^Y%cIJ;v-XB9!gIz`LG6aKMrw>Epf4p50(Z6a;?Z>o!X#i_r;K0!_SMm?^}Y5-=ewu>Y->zRKji#LMrqF=Z7 ze{{EIeKqGYRe7TO&a-@r*`M-uVasK;`&Rr)HMj4jqQc`UyIILMk^{0#0YqEYE);0q zxc9f*@9-f5Y?+y=lxHTfRoko?Y9n@|^55f>6*E+CQ?w0Ki%_)Gm@M; zoar5u+*+?P%~*d#G|4jMMVL0(6l4{yao}wKiyPFLr>65F^VZz=+h}C)hQGJg-Flsw zZVX)o_DMRvICD6%F$%5pi1;1@yGx5cvMMOTNZ?fE;X-n()C{-3Y#Zr518du8b_>P2O}q zahgU3t{cW}e!Ms3hzu0Y_B9I(p$BL`%{e%#q@>p`mQRlbjwpD+Gzr-Hd&7MxaM#v5oifrFbyYCQVQO+9L6HWMrIcgnGpx_73!j-O=_Hh#NDzkjuCto<4FS5{z)_T6GkfGqe`Zj1PCU7em0IKw5= z^@dG^$XL0Bx4x^Gsj#K5lUiM-dFa|O>t9d}p-YxN#n510q+@)7;Ng)A)zK1{Ce*XD z)fHc`u4EhHVmjd$o}c3BsOl)~Sp4`Y(fyX$G-{5z=j!}Uzb{fYTJlina6?6nuREZjIZ6GppjN3rU1Q>TK^>2 zbvQyQ>?UpQ-#wV}FR5Wzs|vNQ>_6xJQ}ul{J&4HbojvaYERp=_US2p6Y%z7bSm)&o znq3f)I=bi`jZreV&K;Z7SZZ4c(H!@)%yGw#n)GZL0Fmg8AN{0cH0VqHM(RAa?mcnE zl+HzE*i5*_fs0y|XwL886qLYhSerxMU$!oh!TNBix6d3@vi|uY>Cy38hmV_UWqKhtEVKGEw*Tl-)WCPkq0V`0Ccp zBZ+Z}FQWy3mXG%DYNv+i8#wy2J~qP?X9f_LD01zH>y76*gIL#Yv?dJr^~ybHt$x`H ztDid*ZENgPECBCMxgD!suX^qKjrLA>p(KR68n` zt~p!;3v-rkisRX8E+S8S;q+)`ObqXYL%H1GJ4KsB%bLi5-JOSrU7*Tmyfe0n5xuSQM}O-6r!CfXdbGH~y6m=6)`Pm74>e2-LhMoF z>6@%K^L+}*TuVtt=|r?;C1$^Pv)szE4p@BGDqhUIw=*b{oq>oYuHAg=3MchC_xEZH zjYtdGh`nN4K(qPp@9uYnYyWBgdEy_*{$!?Dtg2f5@dv!)X&(KmxXQ5mxYo~{hd#Og z&@~)AXa4zhde|P?&3PHGaW?QHRI_tTzv^NlmcDXkQrjwlfwkQ=T4f0?xV;&Gn}+FO zy}&c!>Gm?!liihttJe?v3AEh7{IcSbbouyh4c+3T$WY(wXL8e%<%Qeq+sWBiQoo=2 z)9~0LMs36w=HPFKOJ0qi#DK@gmDCzNdxE>CN0;nUP1g$DJg00cXZN9#1m>k}GAELA zUkXqidIcu2$ALUS0`wTlgZ=@Y$_lc$&LaIfdBe8$FI#1{(YT&ExfBq0oxOHbH3_j2 z$4+uuJXVc)Rl${EF)~uM1c5kG4xY7WKg-(j*h!9U?ELdyu6rzPtZaV4{FG6K*<*`B z(SaU2noZ8s*3hq}1M_GQ@Rrh*4N5nG(V4(u4$-Srqb@EBYo1pJI@|wxi!ErKcvtk4 zhr>Gt=7eef!_q@--8u>vht%$jT!uu>Lj#ga$)6bX&w=l>4!yR~Gl!D=Otm^e5C>kA z?_t9J_Ssdx?$4yxdt5rY#i!>tMOQ@MU({ZQ4$?p4-eWYjh}Y~QQfni!U`ww1KlFIN z4Zks#jd^42UCE!av$^EjN$^so%jk8mID#pXbUBY?yKz1| z-;Rc|BbdhCWK=Bb;uB{%0&y>&EEy}ZUraf6-kFuDr^&wc_TDAKpVp=_x|H5T^Ioeg zI4*`@U2J-F%S_U>q(}P9ZVkiwQd%*r2T_#sqm)NdS=MEi)e0J;55cyj#3L>F2VT4B zTiE)=uI2ySekOi9-qaS2YMbMc(0%Iv#Q!Wo2@M_}i(Fj+T4}0u_T2}N0kU@XY|1WC zVTB{#i~FQg=?lfmGylq-E;N`9*VNqItvVVTYgDtdn;KA@>i@dr0@o@l+Vv83CP7(T zK==;>y2;^pw=IG2hlm*To2k7mUEOJd6s{epl;p=F#MnH_%el&pME^Ne95IjrWyq?S zm+-t{lyylCJb5@e^d}m#?JiUXt8cM2H^(2}seVj5`M<7e=Tx4WRKPafmUTZ#zj?$K zVO)5#^~5~0@)frPwkfO$P?((f{{gdlsCmQGP%`430Xy|#Rk8X|bgR(MRtc}>wDMWa zsNLUcqRPG#SA$ktuYLJiPuyJ*R`d?58{KHBYknh)F1jv=w@j!bNmb#q#)J7aa&j_8 z!unS*t>)$pEP28_ko8}D$pol$XGCbIIOzoMn6Bg)=mmo-t0Ql~4@rRuvK=kpE3epd z&#b)0uU_J@8wO7#AtXaFaStDYr5wTOds2QWS zL{(8FW)Qib>;65@pTFmvoSdBelanha*Y`8t@AqqRkfhDAu=i4guXrVdHtf|v4Y$kU ztjI198oaT0#eXop`fmf!9ZUsU?E0L^xYLQ!eC>R5Y4_pg;{#sydER{+R^cDJsG-IT zO!A^GPpz$AtF@Z^iJ#(K8>xVkb~T!RX%49z)&4klY)vMdzfcAEJu!#m>#7^@+t2>8 zTsU3*x*39{yUQ+=LIJ$sf0$F^J+?6$xPueETdV)l+-i=Pd+LYo6roYOYXhfTziV*( zQ7z3JoB1kzaxp8`E@v1D2NJX1e|E5!zBfLk2hOZGSEXuSDOp5CBLr9Nxo!F;dVysd z)8@=z%=N&;T$ElZgatw|f~-AZc^UHiZBeRiK*dx=WY-f*)3R%`)`0^W3MUw+js0Jp zNd0ug^D0*#z#F69j}UJ*33OMza0KnDs!RYfE0CU=-&K{~)KdiC&4D z1Gi6_=fVeSr94J%7p_dz42yPg*(39{s;kP?SKoy+)GzRe^f7y-JB#Qwb@|{U%Zyz0 zMCGdJd-sMibS3-DYANQkTcOg_VQd?QSQ9N*cx3K5y9nag%)DL1VQc2{N}cgpT7`&< zK>C{L9TkDnw_$Q={KFhADH+2^eNneODvpTLlLHsJ5In`1j2hlrxU!>^aQQPZU8`!7 zRrU`$;zGU)qHKzM7}OQ>b=Izwo> zE>xI;U`EDk)_?zDGA4b787EHHbx1;~A?{`Nc52(Gk3RIWM>=UXbH9@$QoU?yG48l6s#{rh?%=$g`nyA7wPdy!o6$G*kwbsha$Cm*MtSdsY6h5-`!!7CV zUE1&7GtyryZd0~S&Ui~?S<?j_@!H+@`W-1nx5R@jTuse44NPABs{rq~j z1-6D*&0MuBvVzjkYh5bgV@yqjn-7b4!xkuts@)PytR_*h%>6H_n@v+tc5lmEs;W4K z(u4TPThCak-N8ueezK`p35nLTHq_z4RwSIF8=uOHu*91M*T29-}mG)$NtC3skRH% z-VsKv?wW#Ag9C#5<9x1JD1Bc+mp&Pz)IUWW&5D0ASCXlTVMM*rC@xIr@=p~&xXvEq zb5UyTEk^%3Ssn@5ja1aYcBz`O3Zu5QG=g{S}0Jm5Od zyrg5;iHAxSXrzVhJq?rl?Mp>}cJ$-|!#-B2pnP@}%R}YUAA%lp7I8YoK`k58QT!+I+dK3(K^Z!Xd-Dknx{XU0;}chGKp5JfEcW_0BmNjwqWP9!D4N z<;y`cYX`_cTmt$SUoyWh9tbNqs|o-+8QFsU<=q<%!_uj%hnOQnVts)1(Oa^5itg*| zo(^_+j4}UR9m%Agc6(zI#q73tIW`w%O->QN?$30XQ7k&!*hbj|q$^gr4@LVKZYXeV zZioS5LdTd`+lMlI(|mr-dqBEy+2oe(=q*ppb96JiA>r|5Y2~@hqkRQt$ur$(VAOQw2$8@T}tYn zYuY_W{KuI53(>@BHqPIBai3=O9rzRS9J)6@gh`KTw03J(P+Gp}N|*fo2VQb}tRCz^ z`=fhC?Ixqanr)M--d=^B5jus^h8^tZyN66|)fI)~-0e?5%A0iq)vlTa2{B$@=d~`p znf=6ah4Umgak~gC>zF6LA%fIM(d*X?>;Oh`zl`Pw_`*P328WE6P?ZBrikg|h z<@TveAb;{*6??4ueFO_}sqN7XAsj-JWZikByw?2uma3wH`R$E8t$>sX^X0uABeDmC zyZ50kR9CkD#fyaMW``N^6M^-{_>CVM=f(oPg0OzZg}GgEZ|jzsbSUvB6{&t}ArM|U zD|5C1^T{Ed)eAhh^)F2rKSd_lekvfc7&Jt*kEUEA**LV6%w*w)g^$C&sTETOuN}}P zp-%eoHbbY4iweLn=WUgWJ8lj0=P6UcUuDof)l;j{eqz=gINIdvs2M|WsU?jlRqu`E zBtU?5Pyoy(0ea6b`ZdfDd~=zfs7R$BC$vJq5%yQw7+;SdSEYGiK^0G${dl=Mt>`6( zPM%lV_SF)G8N%7FeUM2X;5^Bb=xKRqBO)HwFoW`I5rYEJi>3M10gCTWms#{Hbhcf!5%D-?oJ*ee{6XK6EPEQwsx)s` z|H$)4jqCuyvxe!FqVu+(-ig-$Y!8jSbhKG5zwxHYCs#4Ni$KV-HZ3d|Bs4;@4ux(Pa=ov(cDb`W&e<=Cf6H@3q)wzkZanw%LXBv=rpC%Zjudy`k94&G(k~dZ~0k z8R$sfEH=uSfet{+$L9^CC#Jzyu+CvX8`6_Bo8867Mh-sHAoCsf&V^#|TVXLB*C+q_ zs;JTTW-i?zWl6`%ZBXQap=S+w~{TtLyIDOJI8!GCEYeQ%YX$M(HC3^b>Q zsDFC}`xWqm_qmM=E>T*%XC@KEPS=L*>)w~LIuNVS8Q2r^`mJw(Ps)t#uVfAS)Mr$| zrAxi@ul)%ct=v%3J7XmFnob4pz!`3<{D53yTX=*oRbLhg1`Pe#2m^>&;oI0I`0bi z;UXopY_;er@0z8%lo9y32FlZ%mA&+{OQwn!;6w79WtySyyGGJ&TDMG)!v?nufl|e= z1+{~a)zzK&ZB-$cYHrnmS_!l#8)I)2aSUVLQxqNV@UjInNX-r6Y3mH&_re!wU?)IW zT2`M!&2+o=o|k**jq_|;>PGauuH1Asl%-)0XCThE{)GZJh_?TFOku@#`HiX0wJ(Ra zal(-UH-21Jj^1V>j(|TXBPJr^s|qG|5D$eajy^gW`i;UIxjxQKIiDxJC%I-`cNA9i zjn0!i)$IOfe#mTwa(iz{tP^s(x7mpcQEq|yP?E3jYpSWZ_NK!O{5k)2gTff})U=77 zp;BgBliT#(2bs&)Xq7IQ)>6M)o$!dk^D36C>}Sl$`Sp&k3(Jhm8i2*cfItyT8|FkH zL=!l!ch8dnJJWnHFg=D6L#3Gv$|>T+MidGGA)l2S@N5pO4+d521 z@}&}ODy3HQ3!Q=fg$u4n8Mie(kFpn~H)H>dW8e_mv#;hxGjo!6 zYr04t9(6yeeei-@IEdw>S))wSnu_#76rt(Ef6z&hoEm+xQF28`$zVjDZAOD9=HuN7SY>_+O_3WnCCQ?o0S<= z=3DAl=KNX?9#~or*Uv89=yfUL=$&`sC~o-MFtNyF5+PRJSI%l^YQp#qxbQ(2aKsw1 zWAn}Ju&vXv10&s`ITV~BO8F$Kl*B za`tcNCq{q_mgF0k=|WmhEMb0jmzdB{B&MmworFNIot^S;NQYZ-2V@_`o#!8TUu&wb zBQ>H|)vOkx?pOrKep8p2l$)QSxp}XaR7qt_=8Z87n1)S7h8RR~fU7+9`Mi?k-UbAb zGp5JW965|b?I=@8DsdIT5_yLDBkisxRg0E`W_!oxOG)$A?pkNh+EZ2ynp37<{Aew7 zyQt^xFlgRWpUX97X}np{M<|oPahHr+#5A_bNK70^{De)9O3#9aVj+CMY)x(>?Fr zTGQ`1_GnUd?6%?#L|eRHU_-3Uul{^ zqTUyT@arSZXZM?W<$?Gw(Ad(|mnM$+j#u9Bb1s8` zRLooV)!ACOn(s%Qq*xccS^Ic{o9>rNGCEBz-gC_S`->`RXq1ub?7J;JXo|E?b`TrG!+>T!pH{s_&F7Mj+EHte_@N)$wW^(Y%*Wwc%p0tvEgkO*pe1 z%2%KV(b>RWI6dxUOcoxL?fh0VH;)#UnmpTiF*zWt^&Jk zu#*AfpD=C&_eu>9MV4$#bbJiBpJn^)*v1jog(ca5I{e%8#FDEd66R->UeJW8#|dYM zI=maH4D;!Y88%G&dVp6Ne332&S&GPUV&#y6=~(`4-Hi2_vQ%n7j!I_f1&`_}U=~r| zsTvK?$iw2684CX#IAV>YUQ`j#xZXtt%-%i;Ox>AwVv{>ul^Mz*p8h{avQc^b!9%8Y!pka7c} z3^KS^q}Li~3y8YTZ%gE>UyW!h?$Gsu5TB9j38-!D71B!n9McLWN(v3b-bT2Q+lvCa z39O4n0$Gen#NDGnNK$k@W1CuqO+#!6oHyVI#6{jRsB4t=Ety9sPe@CZ?6}piTcNx54UWaHw zKO1(wB0Y=}oJ+sXgQkXKi3UtRA>YEjg1^C-qPcENQw7Lz z1gJYgkCaJx+_>jKfv=i1SUfiq6?%hfW5)+@9@t<0!+ivuvx1b`g`j$@rm^L&_El@m zzC0KPE|wHH;5~A8RuRW)9+|uQyHSIHa4mh`_zdZr+uUB`#re&;S?D5=;?&N8wLr** z-TPmWH2+|&OSLFBX z-Tox@_Xuu(n5+(-JD=Tdd82~lPZ*6s2g97tXuHADhR{=kXu%mr#kb2#Q1+ud9_8HQ z*amKEAjm4E%4Qc7J@8h1PAek)xy>q3t2pIFTvm(jeXq3YES)~6x>?c;SuB!~bAW^} z$dcCzXfa^Q#AWs?%eb0~_2nh%BA<1!WXjnzJ6$D|6bJTiD+1NZAsKR}K%EG?+Ho_0 zyH7bko*lp2xqFeKLB>cfMka*YQ0(Gt^Us)Uz^^kj?vaM4v#SC|&YrgDRQo948ocB~ zOyzT@!79BCZ=0WgopdqCXFcS=SD-oi@+FD{7TivXv#{2oG*a0SNAK0 zBpvQ@1?Zk+_q`&Z9*)Q)3Ge)xGfaOt6IU_JXe#ksd?nfYIu(Ke<2 z&mrH=!dv&WSi=9j5-CrxC%;9X=>mM$nyCK#*vgGgBpfP_>=*<#RZ?-yzn4J7v(4kE z;4gh6v`i|%mbqA``lhnM-ko3C+K%SQ=v+sriH0r-1$&shIlGCMC&)gj#dlt)8WpELdts@+6J5zf^K3w_{r7@U}Q0GZszhJWIS zI!AT>xa~C}%PHu@qt2L(F%Ozz4oNZTFjK#sSW!bZ=&G7@HBT`|=S$p~sY315o_-9H zc}vAJVHWK2W?9eL{ItLI8!QWaZs53Td)3xARpTn0QEAUNMT{`9bJ{4 z2e0U9`5Ia`rpSAV53f6ict$8f(D)*+E>WV^Xv)gAXhyW{hzpY%PmcNxjO1 zNlfE32F};Agknlhqrj1f9_aw|#OM$N;QeZEq&M4gC8t-3dFe@&^$kl~=g$gv+Jj(W zJlK_dU{lf1+ho>6Zaxzr!?YTwq*)7^(CwuBE{Ls!-J)1v;o~d4|I*~%D_z20XRcS+ zJfDbEBD`gBVq4w*`n4Vg8A+L5tlr&#xrEU>d=&%k;tJc!rt6#{TWomsJpCEl1~ctp zY$JSI2L#k74uHaE?skD4#b-ipnckl4HN8$1QkLWL@dSN5y;{lXnDM00&cc?W1{f$I z&JEb9=f*wt+Q0I})%%}ZNOtg~)0HnDJCaL*{bN?1uA-@So|gL?^CG@&BnNZlI-xMX zt>A1x1?n<45U8sstzAHVsmz#5`#)LI25#nf+Mj&GXR73Q3zvL0gqkYVWQl#ozBdbT zPoe2PIjmP5^x;Hmg4O3i<&yY>s^jNNMGc>t7UCq_?ZxxP8pRn*rTuT|--o~6G|m?{ z-$RL69l>f316f1ecwODAU2l8UO^@ZU6i#dpb7k1sIj?H|2y)6uEcq5S)ux-lHQg@a zDLFh+5c0}(=7E8b zr!<}-1nB}KYM3;5I+kzg=kebfs?60TC1@dGSYM?s#c3T;f3QAyC1%bpyBu&hXm?z* zcD?#=Vi`g%EA77#Q*(JPGYUalHR{aQe}zv^#Uxhz%)j%#{f4-NlQTL|^NjCS!@kyH z6^}&LVQLA^&Zc||GTYxwp#{8QJO7NLx0H)WE&3|Uj zB>A&^F1UM6I2s){3hIZ;$?7n400EsaSJPh z#j?+4xr$D&v%ANP(tiD27TDC()D=5er}f@=&=Po+IZbA^L~ymDSIeg^UP25h3TKV$ z)xU}45K7GzyPdYCuP4^9Spj-P?E!x^__q9$8{fW@v=SM1le}(I+t5NTBNg==O`9!= zl5*xu9za-|Ac)xj?QcO>&yw+Bm;UTYB^O$&&deNhEq|;zT)qwC<@B?R7<{`UhfdWm z;lFLTgtWv4`3ft{*Zcdq|4B_vs}UZ`S^xa^>^4_ZRFN*7+}F>_;+afQ#VHBOCeU6j zWv#(Yu`{jv316`J*~`2`q*X#v@A8}wDbFHQ8t@RBPE+nV#q(QJWX3W;*C|qw<{6sJ zME#G&TizNyfkBD&rGth}dAbz(*!qWWIID$_yL=udRWMCUEe1(x{j5lZ>AGKfjq}cb z+vGDV*~}xuA^#Yg*SENDiE6e7I;#gI+pEWYMP10Xa!p(0OHEh>WGL})v22Q64?8OHhv>Dzpg+`m<94cD= zAiI2#!~Rw1pCWEMGrfZY`{^z;I%B|YAP7d)&e1{IY+)uwP7>KXJB-I~I=XrOOA~l> z@K?6ES@l$=f=5lM*RmDLI&~Ooh~01;_CeZt7-&u%*)n4fr*cEu;}u?LyL-InPk8h~ zWxYaX=ZBZhroozxhewfD>eTtXTU(}qIIm$z0V@acbrq_h#+kAAhG%M00eD5l?16us zEkJDyvRKM-OU0png}w{@Mg_el?)KL38nD>|5pXxZ5Pv88#|uz-i0simt(R_SyGUe& zDo!B+;ry?Y8YIS(4j<)jB+(J=P4TY2a}BjW+qCW;c_s<*F$7wrZB&LpBVG7B?#}y-ZEb})$qsuU-WqY{()j1#Bs5P$;nN0njF`(TGF}%P*|7!ssSX+suw(eXs>bs*vGt(Gtjtb&ohunO zNh(Pjkg}%z&Cq}8gK}_?GdghVY2&Q>o_aDyv4+CXXlKiwp0u?}y}lUc9C*e={o#UB z$rZ+%h2uYzM#S_-Jg2f-)UDE>!Ie-BJ?t$*S`Vhi6IQj`EJ%xpQYVY3ZaIsA7%rh_Zf+^+S8@37N*| zAHKx?Y8Ub)Ga$UV6|aMQnPuL?D{D@6uM)!ZFa%5H_J3665AoUF!_30vhGE@Dw;Jge z19}8rw|#i1`eP}n@tdye67IT^!=3Fg&n8?INA<8SE9e*sE2)?q045Eup_m zx^+liHbwXvF!Aj{d^{7NeqX)~c9H%_Wg=h4ix9v!0n*5V(@a zRih-1w^8>Rc~SAeaE*`-z)_~VS_y>HLH+nmvsiLDw5V6~N{usoQNjNvi>d#%NXD|6fDN{^w1mQ8-x?&=O|XL@w8{C(2bZpIU=BC@zye z;P>hbDdTf0lUQ<+T%#TTq}xAqP1)U8rfpS60-{3b-Z;0Z(6Uoe{oX z`!^-oWxNXONX{{p_5o6M%RElQTguBTS=PS?RZz4;MV3YpNt4P}qy zSC{>!t(+375|C{owY^u+#kV?d7~XqV#^c#n8vEtS3mOhq%9N2;#Y2l2j(IKqLUQL$1R>?ODSgPo$-Pngxp6_TpjB|Y*B0Bu!+Ii-=> z%4Yg#y$on*nD!@7rxYw>Z&iz1BcSmMvWN|6`*kZ7&3NPUP7z4t2s{?T@OWgG>>K8>ko{Jfjkok%_!3w3|n?D~E>j9WAJS)!N*%z9%=>&c9S? zs>9jY#jO3(Tn$>PJ7}OOnICKgtg6Yhsvd-_Hly}Nb9ZgH9>HKy5TrEBFEknNzh1n(QRev{2x5Yu|Y24g!t@fvZEF|ss8>8nQl%X&xh zvr$lqS}plZ@mx(g6ogDt{+9;zA1DRFmMgLP$T|4}jWa{kcb*mL;iTt`pN9p9$Ndgw z-A@B8(tjM;0+$%GvF0cgVkBZ%gw}fdbLdCEGp~a15`U1%Ez2e`%eR62xaTF5Lff>NNd@ATMw=IpWIQC&#(T z+Cn+M3iOTq8tyDFa&Md>5(+b0S<(-5m;9*hO!%;8ZOzTZ(dhLyfn__FIrp`l-S(r_ z3MJs_HqvZHS=Tz=b*80VXdX_-0q8wzKZ z{<#*m97$VdvK?Q`Ns)c0CZ-%_Mg>MmTOH-o?J2l%MfjHS>20#i*%QT11F|6KJ;Jcq zE+o4zXl*o+%0_wkw0mSpl_cGp#QP`6i6Y{d27%*Y&km(IU1c7yP`?wm$qpA|&+QVO z3?%S2>I&}OPiQ$_BuuPV5+?b%tK4?gJN_E{0-TYIo1W^vkji?5H@q;uR-W5$dsi|< z*@iL#2!=DMFq9+ALJViU(6>phl%Insr z>kPG(oD`o+9oVua>EC)0@5qwo$jXxWIz=<~L!y7Lf>pxrk8e*!6XegOLR5Oxxl_!< zZ-fdGrwgDp}M%Ihqy0RYtr4%dRs-odK`?hWi6 z`8mcTuWJ-bj_SWCV_Z0x%L&yhZfDvkqF%$|mp>@)ehYyCz;eK==hEWeBh3*|(aV;9 z3yp3FL}-^Xz-_Y$pvcM^H22WCMu_^5J~28DA&asN@Yagc8ebu)XI3pNTW(ra!oryT zEb!_kNMyx3>Zi%bA&nX0)0K)h&AN4P@oSR5keWtm+~}26sZw%>R1X36J890W!klgc zSMxsN_Zpp?=Pgrb{hUyaxrXvGWU!vnGK3HK_g~=w4hIK>;(04Y6186^Uf~X0cJY%Adj&cOZj!7HCZlh)w}YVr62La$)Q%z1M%3^py&xVQ|8$L+aYO{)~uaEnMr{3)&Ql*sQ<(Bz9kJ3_)UuTSno?*;g zM|FCe8nca(MzCMqKtv~;n%&!9^#|lbL#iEgq~mYc7`qE3K*jTCrUyYzV$ z(p=$({;XUNj-ewa3npM^3U4(zyvGVUdANJkRsHIIyrg3hEUP-M6h^oj$)`QFLR|Y@ zQwYULAXCI);G3`;<02{eZ6TrAkk5_Nhudtahess3c2T+l1eV-N>?l@011| z&3--~#fI!mY}KkG(e{A2{_wGm%QNWPG7lL~NwcY_Kb1Gq-6z!4(8dECt`ZjekI`|O!%s(TO_1}108C~-4h$2DsD*A6OmUXW-FR;6L{RUxUMV3;} zn(iouFNi}$_2Q0vg`>)hsyKi|kzIXL5wi$;bA8*yy-L!D|8%7nZ+Ut+!yc;&ZQM=7 zZ%33mTL+wBt&lP^hfHurlA-jMCN;w|AXQCQk8!s z^qG?yklSS<%4w6$neB`Li`JSVdCkR}Eq<*?Xx36v;MIcSEv}G^3gq&_w8L!nm()^g^-0MnENHdh!v{zjO6d4zpcq|eat^vN>?8i z2K)@87d8G~^Y^&`KndY`o91-=MUlv$q|%^Nj+G}&D{D%=rIw6*hJM&vp)^p^Sg$`E zO51M3n^9`??Tx(qUB|6} zFr*1;V{IK&uzWVuR^?xs^p7hO9@R8TbN6Kh{xRJ?)>2e#ysGvLKzE!qQn6K+e`mU9 z#GU@604?f=oPfmD?y$PdzF~T8?5)jzX^5q&o`m2NN0F!z@!)3^#TA(QtY7TDJ-MhR zKvzgbVHngi#=q0(TO%#s(_$g|907&klZ>` zF>?xhopYoxho&G*Lnc>_O!KVTRIAR)3=6?a-VFCr;kXP z>CC_Unp}Vk2<>f(GbLdFk_8#n!zV(5X(yy;JK?u#7|G@u>DUPgXFjEC%g)n@+ulDW ze2M?Ov7~jiP?ZxlltfyUuN!E;Dbni|m?G><|E2m46PHF~>gOhO_kYydy5Y`txU~%8A^8wFYe&}V`g6g(nDV%>edh2F z0C{vuW}6#1Gi)PeEwVvhV}S+VN&?-;HU4^xB^4JbEB3ZRq6JwbVdYyo;I690m9AtG zPCc{{fDYzP=qhn#HBUYxdQ)!Ha(ef4TRQE>H=8wfJG?$ei9zrvJDhu~$W$E~O|7fg zWqN-zKHg`wbi3b>>X~@$-n%Q`FA3aE{Nf0XCVT#&)uoBddO66fHW*40WRcc?yri#2 zn-StYm+6kJUY?%5Qg^P#jz0x~sW__qj4Cg&@Heh2b04ZMOO7PiU!#Z+{c1c)^%H;! zeeN(bstR4W_n;E|^JpeBEA2KWA1XW}W6rQ(cp3`9mhc(>&rx`;LjvR{yvHQ`;}`6{Q;gmtl1I81sZgXS2++0 zoOTCaf9l>sMR!fap~YCrx|E-u?HXanRC&K_aqWCLvf_JR0BwnCuUrzi$ZajD^1Lp1 zSc~ei?I1Pe?&P}n-AGi>g+N!{BR1o-dadzqVWuqXbxLcH4+if@QkB2q0gLZ?St{1_ z!$YA1bS0vAeb@+%(6pH79*Zc~5!@D=G>ileb@9gZ*-?ZNxnKnpmj?=C0m4n>qhl#x zwj$5sfpX}8FK^4H!l!uyZ)oG*(wr?x)8FmyQzwPNCWj|9Ws{N5_BC`Nu!^}2@v4x} zE#BE+Nz?<0)9QQn_5`=-j!SpG zLtlwa_x`qcE{@b_bkwgDSmjU+u?pZ(=bqJV6e{vAIdQD;-A!y!NF~v)7(~dOS*!VX zV|lk#ExqxhJR5VhO%sk`3}lbxo<;?tV0Er96w$$7+pOc0T~t2zM8Iq&k`2my?Kkgh zl$NNdR$Zn9VHe~lraNs_CLOu_Y9&CH{p0thA-Ni(YI;zo?}L^AN>&GZ>TQwV94Bjs zC}E>^USt^WOHJLF>xe;MBf+W9C--l7?#IIx$UlY z1j+|i?MO%pCH|bVvMKz$8j zetbI{C4FxY2tx;nMTotTchQYaWMdVbuDEV6H&rs14uq6TX-bN=Zo$Yi+lr3D@7@so zw?*+yJ9mJ}P0#t!m@1Sl+x>DKc?i!GrwTzr)kTO)#fdK#7?^{}2vhvlKQ;;6hIOs! zs@WkLRNcXrU%zTVvDvY?9aEx8W!h^bZFJjcC2^<0yXj2_Xm#=7ic&OfLf_hh8Y9mr z)82<~Y-4)XW}`T(Jq)Tf;_DWCmHNnSYF09cDUlZ+`^kPIBga&_OC%$eA&7N@{p`@U zA7$Q`jSDdp!Fq#f@hmL7Ct~u{lnxl0h!vJzFrm5lj;7bQDgyvh{U<~n z>|b?nRuokk*qrxwZ?|^e+&OGr2>HL0A*SE5Mb75&b4;5I5%Va& zX7&IcwZwvRm$y}rvXD>!8ndLB2ksoh01YK4@Vz+^e#MB zAA&YWF#yv;Yc+*T2Awl6e3oQ!hG#@G+~KQhv@h{Xx5w8YJMrg{94L=KLD6@rHRRK&2nJ z6^Y*SRcKULzDapfPJT1bslsn?4aUb8Z1R2HS+I%6{2=MFgPnNfURksEU@onO(b7)Z zg3&>2gL#Vf@7Zl>$E;QU*Uja@5XtrfB(il0KoIQUp!Dw)wl@Y-RDyqnfay*n=IjMG zfZqAkf^-{-$V5>9Bz8h?W*SR>%kx7X&;A-7zJ&|1rGsblCG$SOVCw(9qPElhh*HY4 zMBeP@Vox5TDUE6UXBP9y^pQZ$%7ql@VxarpJnHc4RO9%@JPtlaaRF+jh^5iWP(Uxw z-XUU>{XUS?-;cdK(_N_ja?ZJ{{SqN5$`^dWQWbu8FV$wE(pQ?p=FtFaZw6*{zFqx= zUK-3^Enf#%yRMeclN$)>8IvbP-`i5nvp1XnhL~T$nFiF{LG2)Uy5h5Ey`LOs1!7oP zTIR&dDE*tpSDY6#3O)QDuF@%=zN9f&vrl>K($2OliG6Z9(ohvVE9iHK(>xI*Tb!)- zWNlSrOBQZ_{xT^cG(Ru1)b-1ecBj}iFCu);R0ZUh2pl3ycI&He5939>hAGQ=Wg zy6GC;r0jBi^|Sh$W)dO~*1$T;UBc&hMKc{GaUdRNzK^sCShkH2JG*cbY~%2d;(&*r9^3is?*GF6IClM|x&mw;K}grE{Ah&z zO46-A%9SmQSVw|8-_X+;$r;3{R(qLiRv6{(T&2r1OZF$^Na)HaGe`bf+MkcyPMqVU z3bSgyo4sRDvrZFae96H$ep$83XQtg??un^~rK=DAu0C4lRfWKYqsU~Jo{wvriP_w& zo`&w+pQIi76{g;H=~YZ;el&>f;Iq+)G&kAaU`n1>)R|oxzkBOx)hj{`z3uY~zU?Pn z9YPILfH<}+Q31030MB_Vt@Ip28;eTldPVZFN>|n7@_mVGX&@kB)x&^&PcyFDq>}){ zyH=QVPvwgGw1%T+(o$OXTnXraZE0oQkLIF^C3n!hN!z zWm)GMYm$8l?O+?y6?BtLdI~S2n%21mrK$dBuW4M3x*+&u)mr0&*kv?=fc;*db9_d-cNm7-DhMRRdQyEK9Uy) zZ~sHMPqeT~Dd75qWEEpIu6ZaXo~|COqj)eH+op&l4|P%biBXNII)&tlM^hBVihg%l zYyDHZW|R%oe*^wDU-h;;akIao2Kj7@F)cg^Am(KM027b zgZt*O7i;Qh`m?@7q1@%hT&ujl#=kw?<$%s$pnh&n(%{eE>}VM>Rf1R)D`o^t3ClP^ zSBMoE(3qa_qBOj>n1xt_>&uNnV|yafIHp|VL1BSd&21%pbeX2o>28FoCUJMwzZd@V z>>KE^@Ao#_m89AJE(}$MG!ygJr}bRX0GBo2IcE^5%21^3E1zO5)LiNs^?TQRthh1C zqViP^@)x@q?wfo>fmsO~OIDhTcAmRX$}!8!jEq))M0-oVbkerB<5Ij}yTx&6<&5=NgjSLbEvtM*(8sRyz-&Q?B?W%{|#^v<(MaYrz+ zJ!!^_%l2CZD!v}fG$@Sw=e+0}a@yIFu1L6g$A!@*KDmz}`YQ~v#ti6x6Czqy_+ z%a)QZbcw5PWT@z*inT3ifNb2u$iMP~&GX%W7+w^=KW9?*hW=Ir>SJ1gZlX|xTKsPu z@~q9)DPU*8epZ|Q%)ylz24-vs`_Q7Cjb%p!lANOvv`7n0nB=}D{`+CBq8W*b4TRtD zQVkLc$BXM}=oyh4=v}0?|B7FA{?x837qDB2kg2 zJfzq2D$Me4t*=Oh`%pCc%5k~>N&dL%!zc^4B=O=Z>V|I7VRd^wCVf*S&|*9xkao;D zF<0iq8_ukxR+6@Wo?ehRd%Eeq^jL zHR!6v+ylHX)e%Xpc2U;RM^kBYZK75N^_jDFxgpFufwPJHKVPirc~2dir@1v}Q8H_i z_Z>zo-;I`pbyFT5)F9Vzz?ZcS4Ev`33K*Rc6;8se+1;hp2SOa*GG10x*m*|X{GQ!E zR;@iYsmpV)&MO~oXWp2fi1jQM9x}>ln0OHsR6)h^AAzaYM=L93DRAP$yLr;L$@~OW zx9fLbk}{*f_*=nFMxHU%>g>Z_7EIaOE3db|oo9C~IAid0O>a^HB-~v?Yb!X+40f|2 z1N^_p9Z7XRrXY*vT@z)$a^QN%wH=}MAW#|5AO7;&z?}pIoB!F^I1bI9SwN%&g)E~E zkFRyo*!F)g)l&9w6QNvJ0vT$AX8Rm$oV#5=b;tduL&WEU@YyEBH~*|KsPDmmV8^&n z@i8h_c3j{MZ&dVQvTqsreA}s8zWuZn@nxFMn`q z9j^XtaQR+=xXP@GIMwXLZkc~IpDY&k9_|5txttiTi+KWH$pv+Ws`j?r(}aGZD3Ep| zDE8GShM&v?8;E_8G`woo(rX&-(4x;Ongqm z$c)7rrxTwO&=e;+%+Xc!45w>^dFF#j%Q|Z}5DnLfGoF-q)9ed@a9%mYHD0_X@xH~I zUuN#>hmUPJ@roYk>EC!-_XW3hAU_H9{p2UU=wp>8;BZb$w@N}uf(6wgZ+}Kw4fgn4(YOL|0>&Gr?ZjEHDdp;D&NjZ`Po<0 z`04|JnDOtWq!tz*ryGg!t(KM+H@|=TWb%P7=T@w(GEjN%onMsfEz_K>kR$xXnL$g? zWgpx)ARzMK$G%O!a-Ru6HFI(cRYohbY!Yg3 zAElS~GiYRRB{gJEdnIt05Z1*ed~ejg4$@!Qb{MB;>| zY@=3$bBtZfBc&6{i#RT(K!U|*UEA65^MiePbM?igEoik^#9*dsdrI)42BmBf6KroU zBXMv>f93Vpy81dxx`sGscZRxFk#BEq7GAyc7Ww|pTM-?>LWui+Oyy4|HC9;hDl4Qj zt4m9|u+hLQnqA><_VzEEk~gmuqg3UEV_uOEd3OwB@`SJ!59>^g+n040R5$@?RCbM9cr~iK9MN1pcpS>9- zJ=&bAElTBE|0f0n`TGGpTxt6_;-!OA`n<6br~A0qblp`?+*0Mx-KsdkfC>O80H6&0 zRFS1>L~ur*ctIVH*`(?HKMGwwU!X3ZFVOxyehU*P!S97qx!ok+4!jpUjs59o@aCN? zjDOyd*}oe8Rm^88W*F&7rsa#ow*1{`AJZ5Zs9>;gkHZ`;9WN#9VYioWD;}Jq1M>b~ z=kUdFzME~+<@g+mJ}SP3R|Y#Zg4*2%LZp65N^mlH zX&soJ`5a&XKCdgM2;nKTwVHF2?(c88C8v?{d7Vj17c}0GQH)aAD<`L`Y~Z6}06c$A z-{>>Qn!lJTi)JDZT)Rx zpThjPeKmiUnjf(L0Ps(B+3`!_xl{iDA0H0>6nUfN!y8W!{7&*1aky>!T;qd=47-6S zq<)j(6q~^3QPY)T=(M_CRBZnM2&*198$~MFe7d|WqWf7*HE+G!J*){t+zit@Fur_C#Q8eg=JhV-8se$M{@AAB9+2o2VS;$MTG67&sL-5X;~ zr)u5^)$K0P9EJ$y8RYWcYiw<;gN#$J6*?86B%EhPq-49PL8ot)-y-N#of@=i(|oh1 zI&*}VNk&PgzG-}{f1gK<=6jp%4(d`o+rJ9vcQWl5Pd0m1mO_ip6uYqlCji&uR288l zwpAp*Bl_DkoT^sC&Q|802MZ@{73B-NF4uZ_Sk~}oyCa}vxlVm@1-41+jgs>+lnI9r;X8nt89bJL|MMfxWd zr(+7qLnX|r#@z0VXt2uje5beg zm*M&u)pn&ezmi*jho|ZCKXLy6;FxaOAMH2cJxfpdF1$r2i#{7_j`?((!uMYfJW25h z;8e&7a-JmkZ{fM&xf$DRFQ6#jYFCHscmk9jRhZ%}``@o%C|x&iXFM)Ct5)0Nrxu>} z)3vxb#*}4(jYsiP#KtkR($kE&wCl3BWBO>Xx<57w04M;U0)PqtC;*@WfC>O80H6YZ H3IPAvIjOmQ literal 0 HcmV?d00001 diff --git a/images/psb3.jpg b/images/psb3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..645f6864c45cd5fc1e18bd4e2f81f9d86695cc7d GIT binary patch literal 95651 zcmd3Nbx>SS@aN+09u^1|ERaBe5Zq<)#TO3{bb-Z!1PD%WmPLXFcXyZI1a~KB76Jr! zIKIEDy1IYwzw1|TYTj6Pb=S=MOi$0#!qWzT7$mPG4?sZy08pMEz|%5727rq4AN`l2 z{zvF&|D_n{=xFGe7?_y<^J3v(V`AZ8VPazAVdLQbN6$HYJY4+$KK>ize|JU2Ktsd8 z#lpn;pC-8L@b=amb{|nKaFD`Ct^x(gE?5+0~OQuik;X zKU%ugP5q;yrs0>7ha-A^ztD0C%*i`pmDRNfuHg_6{1lXsJN-O75Cwqx%>Do7kA{N! zp8(j;wL&BSR8$o7X91r1V_^IzF=bLMxj04xgWc<{&Wo_{id z@aoBvrzHSB+Vj99Xe0m$!0`?)IXgfjTly=;|Nj~M*mB&NaiLCHW5v_6f5xyAjwxRO z`_{FW>(GhR5HHA29vr?jn@2U@KWGj^XwBL27nLHFk36QdC$;XLOt`LT~J>Nj(W_okWeOq4;f z6BStu8n8r_t-F1}Dlt-xN>TU|fQl#vlk#h3@cCKRjh4jNH}%cElU|J)VVvnPLM*-~ zz*uM%R?Z8GJzI&$)&bga>T)--!jN$@{0{$)2%i%l&pmTf{JpSfOk=uJ*4XQbB*}9f z8Ri2M*OhzIjt>xh+a~}~Dn@%RK9%MCfCSZi4F4~D!T`7P4Qu+cth3^!u5%0NHl+V~ zr>KjEIQ^~96QJ?U{U3(Di!I-mMV`LM)9NuXThS+gFRea(q>Wzs)^*Pp`?Ek)M9ju$FxWMI!}Peb@dvoyQyalR7phP z4UiHlgmq-XC4$9Rtnc<;n0fPw;?J>;|ET<6aT0pHEd@^e-CB4}cfzTDGo|ZKLlu2x z<;`$iZ$lon<&v-12MP{HAbi9aLW26a4!yd4PGYWCprg4z*VVcu&Wa`W3}XA=Y&o+K z-J9Hc=W{i%Dm?*&1?x!cl!GQ$@ndc(Ka~5uH3e3(Vf`#rzquWP`){dJuJ=`L1#XO8 zJ=>CQj5DCA^beD%q{KbDDOEB=pKsKQ*^iNd{M zhmiFMG4nY?VQ}gCm+Hq?Rjq#967-a(U{TTY8Jo{$1*TXXS@u zzqfCIDm9ezVf0yX>TSi;`5OLI$uTtHgMWzB;INDW*@TC#shuvz*r7i^fKi(v&REiZ zoNs`s+esOJj@4d5v2bDF>LjiAA*t`vFaPel}qt#;`8vr}F1>fvvuL`Rgu=AV;>hEs36 z>Fum5nHp7bO_+fteRz#{{lDPMi#_i*o9ibt_g@1h2s48-hq(~`T~mvlkrD$eu+Ap{ zpj}LlhF0gzJ<>4u-;h#cus3;^s_)?Ke8#0eJMB?xy7B^}9o{{m`w9P0}oUV+jU!mV1><|Bghi6NKj` zfum`tUl#D;f2LhyjGWP?w+tw-RRi3xb!_4|c|F|b^mqMvNibE{jCriS zQU-mv;@gHP#K@KjAiU)&LnMg_y!sTjUYxXS%0B@JywNS4DL7SGOt)U0^e#t8w+Wr! zqZgq(CbF&HOx8$EB431fwST`JY;*2Mgib!|=T33BbL!cQ86PYAmA16sVEr6Wmy$RJ zB|N$lHd92+#3~}V#@tI!0Z(BS32+&A|J*w0#s9bnq#PCREWG-C^>2R|>6 z3A6`kJ!}KalLYud3-g(J5|mjnZv7Xuf7sOZE^hLlC3~g5xpUH+G}m~GH{E|(_>y8| z?+%IFq0}DD3_lgG;}g$m`}_0W$mGMTw=C}`)G~{>I*(b2PWXNNBkc$14=dd83fnFp z{$`yOL0QxTt+VfAi=O3UdE_>w-IRu?OL=>u*n$kSYN|4R#2>F@a#gIU`3c@8?qY1T zV1;*-B1?60j`<#7q1&{=a|Ien3|bb6u9*@&+5ERwR@y&mMvJqhL-h5z(z7BYU*Bk~ zM=CHJxFWuXyel|ON`4OXlY+r--cxm ziA=bZY1ZI)K}T^>R&SLNPvi4S;?&6Ia?9H(#y}7@r^$y0j%1f*pBdXi)PSCn;SX|O;v;_2 zt0-;&w!i9}AA=%^U({0wku|vx6-HQm!cV4Tkk(fE(9PdoxpZcFPB}>MeUR4kcPQ8S_IxsJTh=vF4m?SzbB1v`_ze97=4`E>+w-W7#lBPcNZwM;4< z`UYB~NM~|8O~l{j7rAxcmfU!9I|ky#S3;F}4ObeKdctqDE;AYh=()fwErryu_83++ z#AD)_E(Dz1A)(5n`8;pqCPbt=<8sP6UkvNp$zZTU#vbmsBF5cv|EW6ftr+?WO%DlD zv|5871pI5ILv^z1O)@B^mTsEyKfIW@$k0SJB`eJ39^7lZnrkt*@I7p`*R>ZIC0+rA z6Tc z6_&_X#%Olcr|%u{`@J5>ipst;reTnlIJdh`+S|(fJ1^PZI}*QOLFJ=|P?4!a_o59* zwxKn|I{W;W!|Pia6zb#DhDGaucrTgvdOXnDm)({pb?A>BvqmN8NmU2K^c5~G3HwyD z-kE=|NVS7=uap=dvHfw5>#e-Hi8bm)xeqh9FPFW@*p=Es7SrQ+KwrwDzn-a$uM9f< zo`@<@pbcSFt#IIAj|=^#+!ggP+UNuCcCNPv=Il@@h*OM2u%Wt|*HN&UsMJv-&d+o% zji)?6JWzV;%UJqlp|635yBbBertTVc-e;x#2gLBU!VojVSlz&l&9DNAUFOY2(t^6^ z3yo^AbV0IKWWPy=x$;Y?1!J?m8gJ8dF>nk#c&O&GVX7 zS)-rSPR15_rpS@V9Xi4&1nr-NXJ6zsJc!+W5|Sy_kbIelzQ^F50f}z*@c4~v)V(qL zdJStMYX6j$@Fi~J`M=@HP3Ki_YZFuNT*nELWUWs)JkJ+gtCJw)(!JA7f~0tDQj+?= z@l$`SZQA|ddele3Lt|(LbTXK&=snecc%TTsb zoxi_0cxQCz@NE)Y+t74ITcU`hQuj}I+rGVpYI5zrZ)PreK|RsX0o67xw+{8d#-qmA zG_7IXKl{>8fQ7P5)Q-ShQSrAI`8(7VAl4tDF-o`KQJO;NpW5%K5yN+C!p|E9I*SH1m>y;7R4OO( z*a2gS5^_#$N6ut0sI#2P6G zJ>*^>!e4e;L$ovR zxATnya^;pB!g17p=H+9txpSq*Z6`PMFB$1Nd**etC58QbPaCuz;quEO9a}4zBbvyV zO{iXQ#xnQ`FhsuP7-}iQsfFeRbTvpB1U20HC>=|2;=*3{oAku!T$KnU#(^WnbC${Z z8g_bd!Np{8IecP5<+rj7PTny1hE+~YO%7JOV6vDM#uj>Nio*7{Vcrcft`=!a;Tbpb zyJ8)<^^m~@ige=nfL*WhcjP@EoIFtBG~dpVi*tAxa7b6envMXcnK|ycgRu>v8y=hA zzEkWib3ucTApslUCelp_=1E&X{93|b8gJ=0h1}D;t3K&rFV==u3;WYm<%5WGv0;$U zW>k=)i>!aF-z#$UVUFKTf81^1>%Y`t=eZ0CtcqaT2(mh7zj_`6{a2co!H|MMs1m3r zj_hx0f^?^(hB7GWM~)D#*go);7{iRw#o^XA;HqE&R`JgIJxB5kE$AB!b-r37``N^T zeuBYkTO9hTFU@s6z6V0sAQtbAnnBU~x?5OU|HWk#m-x(YnyI{yA0z>1EIwd1 za2N+2Xg77k4Z6F|iJO%7Td1cUnRD!5zR=m`3fwlk%FP#{+o05|%d=pBD7l}Tnv0k+ z13zXfxe2h`SR@7%#4XW4y#U~$u73E0aufRYW^SZ*O1MM6ujCfoc9^q+=`D0Gw#cj4 z7n7jEo_ez6ul>RL{W3s0VkCXfsvX=rp|}BjzqJu%i<3 zT~tBKrq$azRf|sTE?bIg0iFF2r^}{2WU5VlK?K+&VWk&2+%7rI zbc>|)>;@k|eg%n~Krf>5!s$UQ%!r5Z_1zVTa?ZXXw;BeDGrF96%`@h6_O3r4a{o6* z;{@Itphbf%6L-8+&xF#Y(2r6t+@+aNjXE|qW`^=FP|~E$gnt{sQ_0*TjthC3a9%_DwYEb`yCh`HZx(5{7iz6TqtDc8tjTZBq`?Me8o?Uj$?(N!bR4rr0>K z+{qI=1WF84C?l7S{UueX(-XJ=O1t3m*;=ZxTlgLw20r@bS_j@~=+)J@*CGAAk#{#$ za9L~Vb{!+vkY-r3EjZg$$VS@;Bm_s+Z=fmw)G2?Z0i&R~WSBP(UL z;0HUcJYj*^uTyVGHfTWU@|US5x>A?L(1Dyi<>5%^4CS|I9#B}tN}Qyk7}CR#=504Z?^8o&8dBJlIGdV z;gjQZt;d8}F`++t(roW7dGV8}!Hlw6KGW?o7%~T6l^%5pQ&*5_%FqhS(D@Ud62ntk zv%KO>*Vr8c&U7{lm8qH1SVl3>oN&Zh;da<3Mn2jk@bt?^U8TRA9Jy%VW82UuR$Tk& z)yB_x)5jI269*1I*pokVOnIR#A#BDMrw*N%>@J1A0l9>jGcQ`e@K7r0FRp1r4z{+* zbR48er|C;JM;^66!=z~i#+NZYsV!-R+kaHCY#W<%GQZ)v8hq03KEqNPFA(o3t4Qyg zCh^v$trso&Ou4#J+^xVv?D9_YvD2P5419i(Gg(TGIcYh0Eca>Sg; z@xpZrPJ&`~TgYLHqiLB(a+Dbg9)24|S_VoWg(G<{a>wHKW&N11kK1jSz^%2^@>Ix~ z&m4EBO;dg|dfXOBlr2K8EPI_r-KCp*hAQrwkX!uz!OoRtJV~V(v6X$PlpL-zZUPPMI6Kjf>LsarY%TLN1bSW`zy z2D??yt+4~iO4dhb-m7xaIy*Y`VxG=r0t0^F+k$1wO8Qjsbu|oCek|=mh}D?m{?AVn zBdWA6Gi~LZbfT{!3j`MUM>J76Y;R{W?x#&WG4gAkT z$2xDcZ%K;kzHmhy{H5BeIxEK3%IH4MIx0o&o9q9$kU9UxSciU-p;`7 z)Ll(yT)Nh+`5<_;LkPaDlWAbeCNa%?Gt-ln8ytStofxZ8-|&6fo5I^=m6zof=Xzj5 z+-2|PWBr}xYP{ejoBZdGsHkcRy9|)(mh>6je7UABN$`%Kc0rPms7KNH8Y0av-O0eT zkX2=L@cjGskIbK_E&QrKalSj)sRvXi&zGls92GvAcFw8faddT5SU!+}Fs+nA%$ENi zF>$fk8G-$@VmHap-YG1-n2v`Y8`2Q60?NDEIBdnj2io7RmnFyP*hTZ6;JYN50Aob< z)*5FW3a%-07SU!dKk<~>9@u{Xqu@Em{G^}^-YQPnrs@I{d+Li{h)3JH2^lDtfV4r{ z>QlMzX$d;jI}To#x*%$D)mI)t!$jNWNllwhc|>Txdug;4|Vte3v|jdLWTmkTLfksolR9I~og@2InY zUmX(|V?){Ou&7_q2mU4&)hQlr{^Ba={&d4cVz2?BXi2ShNd%*D~UxhW?7DrdCXv0ECniBKpO*Hnc z$->{jT6ZlQy^jP^#x+L4kPEzt&s8~9zp009r`7f`m)%u56z|HW*gn=eCI88`)gQpq z*q(M9tf_D!F8rw|H3YW%r}VFX)?Y|=Hfi$RuHub?H&F=(NYa`WuZsmt$0lGCRiNAo zkB{zsv@_ZoV&vu@+pJLP<6PRv!dxm(_?@z1>TYc#E$!Ew-_UP?ULZ}!YGy$WI*fpj z7LuZfRf9CTBEAw!3Y87*1*z);-OdX(jPQ#mX6noyO?RGQ6u!#Bdm_#QV5AQ#ws6N) zobUKE)Eb7&ipz{xsS#tpB)RJIw!G)L46;1Ut?GG0v887+n{fC&a`QVqhMj+s8z=;q z!Zj0j4{I|S`o>Fjy%F}QXw0JVhq^drA#WQX4?P+%Q?{nPie)*hfFt&8g|F5e z0gMLfLbu814m#Uh6@=@$7 zh-PknU19W=&ax4WA6A<*XeI@3d6zht;m2^13#LrWPz~X3cC5c~$*O-(h-M}vj-Uj< zCTVSL2tV9`+1Sdt2!2?zkvmWo^01S_5t+l_n0NYA-)*PDUZ|17+I%!#_iMLi6%bGP zY2Ab^#Tn}-IGKUYyKsT2J~A*FRw>IJHsI$xs^+pGTfu*U8ktITMO>^cOorwvNq8ez zPIDO!)%f$yiyQPa5&S7o*|!t12*St3LN4aRpHf;D7{*1o)3Fv8Eke;D&@n9jv%K@V z3`1Vr@H|Ft{3i8!k^+NojOAxupiXg-%?Q;oouu2M7T7#E%u|=t2Yhs=mQGboHgvdd zR-S9qPykw@9u@(DgL!?^r;J?23Rr~RJ1#jB&}Hkmx&Gckm{?bm_!huxf6=bs;7PVP4nCh~Fy8h~QnthA_<6*UKSzw^ryN8Qa=%s67vvWWQi_} z*IGQBgT*X$+;8>$s}f)ZyN$5-zr)`tq~?2@D;x~OZSYDn@$~8X*ur@_yb=~efxzX) z?~=FpZ+2JXyOqlGTRmO>ElyLun4wx#;Moy2o|G09tTB>ei}J12I4U`>Ih!p76_(76 z)-78iB;hB$Au&ILltRl5fY~k4z;vx{`YB_EY229AZf6bF>N7^`oeS3^yM}|qRDzs^ zzXu*!&~MIbxbD5cM9Y~VeLJ<>^Cy6YLe+W&?wfi#rneeh{`9?5%Z{P*VxCO{cJl>P zC_F;(Fkid15P)xcNyQ#jl1YZRc`Q68b*1sJn#U@?a8_+IgypNN=AmN4j&RCo1ER^d zyFBMa?DvQk^6nyMAooZ4pOfE2#x@Eg={okz`7IV|%q?UqMIH(o~a(H@8uu=5x zuKXHx#}$Pj4}L>E?md^8X}l|2)55xz6dVGh+e&2FJJ6$&E-1AOGhbWLFkqWnzljkc z%I92=d!1Z)ELT4>mU%uei)6?A{pq4Y?MJ=|JOJS1aX0&M7lHm7)KJv2>F=TKT94I; z)cu60xAUTGSoFhlMH^>O0f`{84#4)Ya!w>i(5@+@%DiJW#esJl_KM}%VSs^Mjm8+k zzv7|PLx(@*^IGjp>(KBu=4@r~+2N&t&Ot@y^51DdW{xT7-^RdN#VD+d9(h>o?Xi47 zA(zx(l+sh9>$mN@pEv9JMz45Rb~olBM2h9}_*{XW0lZNL-Q*xY?pH9YYH(FUO_;=L zQTgs*Gk3YB6}LI=rP#j9PRWkgoP`qH7lRp1d|*Wjdbx<%$IYAS#hlPo(!y`R(Pt@B zLExfCrEN@Yt5VI-)YC|R{w)oEwq|*su^z)R;8-i|fV(`T;vIc)zuJtp(%o@c7uXO* zQ5RRidoFLPI}=BDN!l=C7iZA67mCA>cA!-8+ku6mPM2y>Llj@DHQ>F&YhtxY{lUhj z0}eBRW)3}O3Xvr$(V>52mSj9Iyx6yStU_q~KbAC>$j|V@uo?J>+IgbtrNtvA(9D@R z%HjnYtgupS$Qi~6G~23Gp(dLmbO*hWvH6tr#0h74u!c-Bf*C6wIOy&yRb$5d)kd*q ze{cLC{kby-`%+Gvl=wNzx@=wQFtNP3o$CaSi0e2|>#MBi9qImO{0H`iRf0Emgi^;5 z8ci`n^5-7p{3AaDIvlK7R3VG^O&hq1(o489U8fZ@501eG?n(yRmj!9JEd2W;s@p#4 z9>ozOWI~+HQqe=^O-NaVx5sxsrgt+t+Co^HqZlO#)x3%fVTH2xTU&v($60oUb_pDg z-cvEtkAH4;c!pz0Dq0)znLN+)S`!79#lq^*i<+>2TlH@j9YKByc~h}|a!R?3Bo^gY z<1Db$Az-d0w~GN^5bHwm1;mL{OQ1{`bu#NCDU66HuRv9^&vJkDZ0i*ka5dIjY^~m;^XIqqBkE6#TH%2Ta}~b>KqA)h%ougN`^8vn3laV3Kg8t8VdL%Gew>-s zE?QNDH`I9q%X3zb{z$1$Rc{34k6n!nISBv($s{Y2$?T8lws$jumn?L^L zh^D5*-^2y*T!9#koir|Ql;x|hK-%zLv*I&)>o`BKB>y@euU7UY7?JIFb0j{aHc-Js zxk96UJz2@L?iQ6MN=1&xi7^{u`C~E^RWL_ES?$Y@z>0&s@jm>xJO%3UUDR|-+duIh z1IDY${1?(G~+PkNf)iZ*-Aoa zO+Vt@Q?H>;fTWd|^u4ngIZR8A#n+3x6N%)fxraKlAsUv%Vbm+y&L~&KkEzv4AQC5R zLrzy(BQ~6ubG|BDxTkK#Kb0uOL#C6dubjdfWm!Y;69f7sAkaBu!7%%_3PZ;*D#q2* z6vH5F>SIHUDGE>DiCdGEqn1yW--{)+hGTZ+#Y3~{88^=p^g5aDa>~JnQAArVisFT* z72pP~uQ$@XU&vQep*`zf{8#5$%j&BGkavqEmdP zvwekGHxz34iA?X6_R%hj-=843S9#zck47V3Hl|g#^nx|SAKg=D$=f-vHy-lHCf>*8PuVj{$0w_0C`;jFS1ki95+5-vv?Fg0hH=rWlW|DVx~23BzQlPpi*>Um+ z16HzcKR@a)`_UuzMFm#tfPWg_XXq8&;Gw{DMG6^A>%ES(=9eumH_n&rm~rPc>06|c zJ^azBPk^HATHM`{9d_jfmc6fDWyh%mbGh=ZeN)`49gK1_!!ltwLR*J&>)sZuBe{G$ z|L78NI0)X()I(9$T}L4h2DMzd1(V3qO4zb3G>G(t4*cCR#i;k~pOVaFw@p$eo-I@NUBs9{a!71&evns z#oOj6*<%`)*}Q)2yyLUK%te8CwWkr1yJ2E9KdtOL)hBJhbw~)Y)Z?2g{|u8=xBbk- zNfLBp5o``etGA9-Oo`qxzBr1`d9~ z)Pm*O8|sHzYY_SKh+~`qKaN~&B-c!$SkZ3-J(znv@$F{OPTk!$;p`M-rOS0{I!3cR zc`aOdYSO@{G)Rp##IXmvTLUZ5wqpkkRGMFVe%7K?>zjIX4L79b-V!UBXoJu;se1GO zfzw9h#;TefaZ0F{%ddrCDXKbJ%()N6OxeObfx+3${{fE=p zSOkOl!%PMw^MFhJ}zGITBqix{7dh&4U5iR5yI=mN&^ z%3~2sF3JJM-QO|)HN)9x96LS>-Ovm@*o5oRBz=qUx(Q)tqXh!}eQ639BEI9eJ2E7| z6M<2>&&Qh;U)n2LNTdD@`DgZ>1wFN zM^!~b`lXD|j3p59u`HS!W`q^@^KH*Whak~!=2W=_O|#leg0u;}5xGYhHKyGL3Id-9 z;;did2;|I%)B){r^UN$`%N{(_g0qU3g*&381mL;I_8yG-){u4{{;e@H1XtsMRvKni zyXwr_v}Pkb&6NHNif!xWF|H6OJZgpUBx8Jr;zt@`IXyW@pFR*7}{*l;`!h zV^T@e!HA$9@mU+w*M#Ye;s(m@e&bY%-O{=JOZzwSYw}_xwQVxqkD(dvb}Q;ExK+3D zU)t3=6q0AerNefYbmZ1?%ankdmypTEL}(dVEjb=IJf2pY^4kFme zYemMUMB&eAK;KilME4*WJHx>L5P>))?~`=uV^H@fGn+6}#J@x2Cxk{V3%(PEudw(k z<-g~0)uU+zIv+tr;>yfk+(J7UtS;8o2BiN59Z42(h4B1j?&mddHCN*udKE9zm@Vf- z_1W>m_GLanN3g={*JP)UABFhg?~WO3LYHySPdcL>6Fo(pX{ow=cy)jFVJk8!Bq-Bo z{uK;jt&1x9%)joE)KvDe+>GnPQbK}0DDJy?JqFnY+fpt~+UvM_Bq`OKIUJm>E%H=5 zOUiW5OXjuk1Ybi!N{FPcSoatQbFx>3uo&!=WI+quO{?`KG>k>5k#fPJx~FLu&KDww z>s%}wd`eXR;eCjLR&-g6KYQNmSHcX21z_b?MP)mUK3Yb$!BWzGlEkF#rg5ynfze|v z>UqivhhX7jS_QzYXTx4wND*q(hh?BYCmdNgNf-BBZ9D$Zpb$OppGl-;c3`)8nr$s( zQaB6C-d*XG|8F;3^+bYioYZJ~YbOK$;m`3!J$t_oe5}RPQd>f|dIdy1yF~}5*;OeO ziG_EjJ~R^NeY2$9C9W=|_)tp|SREh$5BrSMa^85rq%RxWGlOQ!x3%WX6bwh_eXSQki)i1w`7>ms&p9(KG((|70icJje8e!uiTYOxc(Yu9|vguaT?p!=2 zC3BQU_a4g_<^#8*Pku^E>n2tLNCu0X zFw%kY{L(i;jz8`Pf+F~EX=M(~dxXYN3Kb4-dQjC*fs^VA0ZvJ@Udiv9-on8?6R985 zwsq{ZJt?j3L6MFjj>=&{vGw{(g#TC<7ZYAVG67#P*X$ZwmUad+!;?|t8K%)$aknFC zZl!nQ3~d@An=RUtHzS3Ce(R8t@`yym*@6V{tAlpdG-pH|DR1=G^v&$6QOBee_wDDv znH-_>RW=-neB}$}TE<>d^L{8dizS@1Zr^xK;qPuFwBhRwtAgWuhJ5pA*h$%oqo^HV zlAh}BLcQ-MMSI-WFj`y)t`9?T@wh%u@ziC3rLAmDWUyOsaU6h2j!j;RQvivTScP_+^dd49Y36x053D7>&u1{s!L5 zIY%u{3f;C1J0o1pzx+8|K8$%@;S2(&e7SZk=IN{}=<6=1G$FqYpaZkU$VRDa1U>Kl zHws6iLX}xxiR5?kMpj6#q^7>1s_gp$JHUqJ=iQ=cnz_tEV}Xp8FNd05ezc|MiTP7E zD_ZGJ;@j4#4Ov=S23G;aZ40yTmn)&Haww)>oLwaPf6%=% zsi|E{8hLLU`_sIu;e}NVID}Avp{SzVX6&0`OV%_|?3~(=am(g>(d*+3WK3RMoRnB> z=V=K|7V1)9w=d#Yk=Yxm{V-Nx;RVvllzcRxNE+8Gbp&pta8s|!V^_vxxX&kX)^BuPs{Ff+6%u> z+tBCP3Q;a+$tMUN4N7{=Ei=*vFdzbS!<4^dT~L0XLDR7n6LQG0#Z+;7eV@CJVK#HX zKaHei{4iHFoHO+C+nsv~71X12y};vFXaP2U`vUN>sg#mIHrwc!xANT!zHN-)TAH#V z^asVu@>=A0;$ut*HeS;4H^b}!OSVLAQ}0f1)s6YW2Z>akgK(CPC4Ub(c`2bj=f4%J zswuH@(Aj>j1bw$FX-3;s#ycO+PX;#Ln#55Q)=R}sBoJBygCD$X8n#0`QcbAj)2eh` zzMd4*J8nKo#&2v|R}PDzwi5Bo+YG~1`+72UpTW?{90_}?dRbR&@fayp$LU+uj9S`x zIdMX9si~+Xvv>9(1qK;3XJ<7BB8Yww@{^m6naR@Qle)u@1K(UZ37*sa%X`!`c4Zre zzAU@_qx{obBw>EfCs|mqAYU@$eO|)x?G$x~(JJmoVZB$=oQjr@pFIt;KC0KdSs`5) zggdo0R5p_u4y-y0-X}91@C1Tf zysJLTmb(95udU|RqJpV-EXxqmFrqB$O~lHRt#EN!j&Z`c!F`l;fy+9t2PuH$^%;=l zNwV^;i+63szziHh5YD4-=lb^+D^stspPhIsM|A29V|M>~;tKQRU>!`)L0@P~#iO6| zT72d*#776zj13!&(lxc>W`1O1`AHb*E?lsd%M|j@UxvvKL^7#Js-%&pb2R57v%KdY z>}Po5)gw=CvkC}p@q!LXua1VnA8rC&usV2EriRsQ-^rFnZ6%mgh!Hm-3)$4$_Axev zU1mJ|xx$t&igjFArCdbl3-CS*_~MX1WLJ{ zQpiHBvRGQ*IqTyEaNIH!j!1_swao2{@+kpJkymau!0ThV%oQKIG$VI5E`1FauE(1K zUu8Z~y#!?Rc2*iNVo@#IQ*B!8{iLg@H8{UDL9KMk4%7t>g+a45DFxX4o~*PQa%6(~I4l{gvR{ZSIrPhy7k8>yWT5v=^>X zR8dCyRe?<)X&}a#4{s%Mx4Xcc?w!5D-+2l~-XM6mu9S0(Z3j>!G#vi-dRy^25#EqB zv>^UfyRwk8aj>12X0{kQ^s)|KiNODqc~QPb@QA#_oi0eTQ7{4eJMH$lT=nQGnf;Oa zO-!4tS22Nz6illh2sWjLK?Opr*K!)|T~-mBpYnT~S-9Rb5pmw>WT8oq&AgvctR0A% zcK8b9dP#P1ta;Q_<94TH8_rXXBLvQn$JU$il>-Y5uwGHb6d@0X3DaXte2H4`Bb^=%b)I^t;GYHDR(;3TcgiNO#OYyYshd65VFD+$H`MSfZ z2a;VUz?#4s?M6y$4n?{#1qv1WB8c-Uu#uNW&PJ2EOX9cT^Pb{0PD2<~4+mH8H%*OZ z-j`gSnu;$^BKRf(IG298=U)JFa`MU6BNFZC_|8sNVv;UvToYMEBcl47+bx~|QsH&n zI6|P<4+5=ruwl~uh#P#w=_)*F>>QjZHFmXALy9g2+yq z^TgfZ55--R&xc-0XE+M0&Ai_Jlq`Z0dTiI+)-B#Zj>z`}`PF-mSZ&2CJBSx;7k~XB z1e#x&Hts**Tm!F!N{(c6bX^witU^UV7Ghz`M@vrt_8&=yE%9H!X$As8HTfug@7Y`a zJO^busj@4gIb&T^)-t0vBLkL^QrmJNeqcrrkwqYCjh2E?qio=hb-%k18mUZ~mx8ot zpPTaL4V7_quYbkWyEfrMCSjJ2@`Pd`9FXt$$C^WQB{g5j5ii%7Ux%{b`4=pwXdIvJ zeye4YwUt6vCjR&g&}^(IgctbTNBs$Vw~C*a@F++(cHsR$0la$6Rqo7fJYvWsZ0P#8-kD zLYOS3+p^COj^ncqegDG#bKbI6!sDuk%#Z@l$T`2;XyabXc{OW?t0=`vU+=PGMQ-8SSjAS<9;uYj4h0QpPxGT zEPjRH4MDkXd1 zQbu>nPGmI6A>7Pem_SK*sa~g~5>}O06i9ZNLvPz$0rF~=lO^BD@g$F*Z98`tYTw`D zVpRybywikMmD)p9QckSiy{mV0CKUgEELnZTZzWgvZ$R_ zvU}kNnTJAF+8j}4S#m`;=008usvzwI{+PQ2ytTac9Zb7#LIcTldi ziIL7_;gG@bED)*t28+`VE<=2XL!5!5fm`!JN{%36P=^-6V-!@$yIto^vGn`BuyErU zf>dD%@w2WU^3zU9ZMqw0=+PA7Djzn35>L5WZ|}NVp{SG}eSUjqZcA!itl)KIgau_< zV}h1Yf~rOFzF5iW3>CotIc#~4@yhnb82h@uAz5S}ALQeUzsTMF18(iHG@Q!k?zK|9 zs0w%jaFMSq!53g@Uze(K5FDJNuegYqb_$#gUR2iVv7RP1v9saPRo_l!rrY-}KiH5g zX!^r?;C%iN`{u!qFIF8uJl;QoH=N(e8gQQ+{wh}ff(6vo-d8tQcaAy$$@Y6H@hwbI zuBw-0z?$dtz4890?@>_hI}YlR8|Vl)aSGSgu{9o?=eIM?jV3US;H4%mM32=2P|L}#);nuReY+TlKvpGzo}0nTv$k#G28eN`JjJT-nnoc z1wQpq)S#OYG24WDIwGGBJXh7~P2I6nmp#O)Sz9wkiO~5qDB`64s=<_nL#FC%35#eG z=K9yG-?9C+GBk0QgN1c$t@!vu7P+Yk+#WI~dX4#}auAeaP{wehNZ!iTP*HkiuuF}%tCAZUGmV=Zs-uMOydXqD?-2O%FTk%ZUpDS#$cu_N`@-r`REDv zk}z4hn6s}X(%L`N6ey6kB_xV{&5cRc!orqSV$4Vx{Sc*i1Hg@Y6fbGqa5;9F{dyw@B5u-2ZVG}clLlNDT*E7Kp~*6F?md23U`@vHv}&pYp(Q~|CqFV%^sO`0I+gB>>Z=x+z1U+yX||NRn=4oWNIm=g4h3Glx5X%q zvRO%zEiN@@Q!dhVHP=YXn9P7$a&f~S;%(&@Mv7^@JEqxrGZv|lQ^;{x^#1@;?NaC(h2sr30~wvm1gS;A z^YK->bpxxlKJ0kGW!@Gu$fbH|R}1|3w%ASC2%Cl;VH%M~~$| zbn8pU(z5Os2atuekhqKGPJOZ5ezcizT|r=j>epdw2+gx?yN26oAxlnil+?eZ+S{O- zI_|~OU1`}aq9b8U80y{XI6mI~)dId-tm}0!+qZ~_b+NUCETu!9{QYW8WYd-_#s1rD zdfDl;mVk6LH#4_nsj{J_NYDnJ)%3orrF%R`+-2nKU$dUoj)&6S{RcWdVLl1=$A6G zIQFQW*}HUyP`D0mSV;8~oZ~gq)5g?cvxZ08dP9NM-2>7t@KO1{l`c#+7a=QYzTF~I1*V!yOsrwo z5_=D*HIKqLt*LY+d;6cIEl5;00%HYsQZ@H`;+&lCz?!f z7a%7mwJdNU!@X^zdH(=&{xn0#WyN|jf{L+}GbZ01>`V0vWbw9)xlJuH8;>6?IoN^DKJ)?h(w5Yx0s<5QN`c6%nrqZyPPPz| zRmmo?iv%IF@P$D{VObv3W6<10A4h%<`{eLw7cstiSeUTVqoHaC^Ce$pSEvudhQVXX zBE;EmZ~Emg8^LW{7|hp=am)v(MnJH-DSvM{XM$qwR5BKMLJmWpuemi{cf`7{{Vh&fIP~x z7E`HPp9qvGPh~+V?MR?UecO}mOJPUSJZ?=bjd7mSu87l+to=nVYC|%aOQ>+A-~Axl z`Kg0r42f47L{)DMXSt&j5tV|6ohlgbnqXxGLfnLU%Xk#~ z4AvKk_nVUpu`Sk>9zJ~(By-Iu3Xa=FoB#lz_+-T!QSILpX8^0n-5s{m6;b0OY0l%t z9P-~x9i?3DI8WA;FvAU_)JoEG+-8)x#AU`Vgp7oeD$d?Uq@svC=nn}ZO36Sf1cSy! zDY0JeklIoptpPr#B%i%F-y3C26*!HfY2?!rFqn@uw$Ui13Q!}TeAK%WgTR%I#o5!% zMSauOe~7j+nF)A)@W>xBPuuNJcRSi-S(PcrP`M6gErn-k`%?y#)RsGKfi?*%adLx2 zX;M+2YGr;@c@KO^l2o5qe5+pHddn_hleJg!(j@vyUZyh>G{$dk(wwb5sTQ&6_WOIc z>zfH7r#CCpUI`yyJJa@(mn1rf5t|BaNy?IuoR8M0AK1p=Kz{pkyEW-34^9i1`H$0@ z#Vgzg*Os_N3jH5k9M_zRby4xOx`-=I|gsar|_NjkRVp#3=&rr=?JAjezP&C|-+bCRT)=}yX6rTLn`Ym?A zLyeWPW6%v{eCd{`UGWKW9oj@=5;M`yS<@yU{I_5U{XYRy&$|)7q|WrsAu**Z!Ck7F2uvt2NZTJeqXZ zNz0ROdb8B)J@QuVP^nXH7Y5_8=)+&{o|pz3DkFsgk&*{F#coebdUYpOShVGt30pGb zL2S)RhSw74M=2Ta#|E@3!7blWb&te#j(zAf*oadt!0S0q@?Wi3EU^{`T(zxAu?(#*%& zRH;wyDPHUo?erB>=ox6c>G=2LO=>J)FolGGIO44RGk9iD1@}XUZM>Cd8;5Myn6i1Z z0Vjx)NE2JQ#7u;vYLmi&r`XFtZ5dGQ^{Cag*fS#Tj#Px6#P&SXi<06sAJI$1sAHV= zt#wwDQaP4o$a@b5FwX7|y&AWc!&?%PN%p3wH#n(p=R(zw;>8||+(`hGp!~Jk)7=#w zOp>NfSrxE${(b@Hnp7WBoJ)D*9qKVQ>VqR`aa(?X(Z97BX|VE3rvtbZx;pG6ipx(j zN~NU-YLo%`8u;o|qeA=k#|iCZ*Q;J5@J2_&Av>PimbvE?vpH zQXyL0TGMoG89NR~03P1dj!fAS<2KX?t9dM+npy@@TR(rVYT4VzMzxNn&>#3wv{_5g ztZym3a?FI`Z0Cg*k^FzHRX5IzCs6A2*?MOq8gU2?Fp__NB`W1XW4dsE!o59LS2&pN zqUpDuiowfos(p6k9iV3<@=ZS@*8a_*5!>48oF6_p0-g0{i$!W8jQ6OHh0##&ay=0wH7(Ta`Hm8ip7nfNw6>M$4ws1r9M)ya zS~ouOloV1=wR7&VLxzo&LAdT3q(D`%5npaQT>k*JLH;9(RiJcksJ&|k=ErTcM=XLI z>=Dn_kJXp`4`{T*oqM=H{*n2S9lggr>K(7T+j*M_I!{KrxDC3EqDI}T+xM)=@91dn zuJ!G<(SCZwxM_B4IRaW$xR21(a@(o39LTZ^>7h@P`=V3A2h{y(p2rFe&e-L;>wGS} zkXG!HesvM;n!&}p8HVoA-ddY&yf5YUAMvIt*(qg{8^w|wS8e)-QMMn7rf_5gV3lLv z?MV84s6<|7$44;J?NYJH+kz@pgX}@ z{l4bgI#Dh10?3=ur{?S;7IjUo=?_~ed#T;v}`J0Vm+%AITX3E zOoVJaocE=V#ch6=*^GilM|wLc(B90KoluVAKqt8rq%$Hr&817qO%U@TnP7o~Moykt zV|vlg@RLRv523N>iQ*r`0ZM z?cS8w;yXcKC#}W>K|zb)WxVdz+(;znIj@s#(-wl-JvBMA0Pn0@bx6FFHzg`TI7*VN zid8l~*V0z;N{fIVeW=459w0PGu}MX#E09y_gZWadnosG>b{deU0(K*SuKA@mYi!8( z#Hk8fjd%Rq8bK;#Kkx-#Rs4x}H@5MtTNAj4zEGvVnti1mK`txuh zO%P1`KR$?YES=w_G|!15JocV&q?1l_-${rR9CQBwW}4@rhhAsZe54XNCY3e0Z5i0? zxOWMztgy;>Y-5TtGtR|qCUZy%{{WL&wCIlV;lO=sKA#H5dL+et^=@>KM$ z3Q6GO=|`$cCMdK~z!Z>1D=s7?;VC2aL=(Fsqzl2xyFcHyS&?3cje~u-j)+`vZXR5s#{cTU~efZfI#2dLorM&PVbF12>Ir4kmM$2mKDR_`Tz?lID* z|Mop^Tf8Xnnwhf&x%RLTkkOotv*}CvK>`ESrJS3$zRF ziI1e@`Vose_c}PwImKA5+^zQYw;A~b=yBquAh0zeqalM&S-#)}( z@H5`6PMq8=cbIOG85;sQT915Jnw%VM%QnKT#Kr~Lw_%3tWnP%Z(y!N=Ry8yhSa;)G zB}qu!pnFtiE~YlQ4K)q4ly4vb?@qT1iz;E}*2_sQH}j4&T3y-btn~PoLGU%6)|TrF z^_b7Hsa!2=%aS%K64<~wC-kV4CL@SQhLBQ(uPMj3KJ=zUkKHYjv5atY&0f1CPw3#` zmPuXI5GJnzN|ZD0OCsJ%nDpYScOVc=LhP~9<4bWWDnCMareRgDdHxcLSnSg zkfOiMkb750O?|3MEX8#Yg5;RNnl~lIj^m0@Qh|vEMEF-Dxxu+8L%1Z>E395qaD>$KEq2Q*t(39dqC2QZXhV+xBmdzo<7vf5pj;fXS*z+w6C^%@OY_?xzdfpv%2Y)+cOrkhQj+N z2N)ky-kGe{>stDCCHs`%>+L9=r1C4jP3bOC$-UxP9QsduhKWjvagY*ZE9F~<8%NYs zvr;{6wn$TvuMWSI{{X&E8TP6o-tE@ucw*gcY1FvkAqpAe?^D$42^MQ>R?FR>y5j?C z)_dlcZGK)?WJ1Q#EV%0_6Jxg`5)|oaJR#miF>txpV z$C!xu?%SMyN>g;a+8MX4+k?$GHsv8W?^vOyzAd(m5t_i_o6;|+i#jVliz$5uKu-lp z2bz4;*XC~*SD9s$CfBeC{)hY6>}mmP)-aQATA{K6JACJXNmZz)310@;N|3RXgsa@u z)NJ`DIW{lDXGgD^mipeH)Ki&e1-=`vH66Tu`vZikqPejUZLZidnZ z5CO*{+uEOeJ@}inbgxY(No#v4S|lrKrxBg0R~XGi{A~1++j6uq)omL)*0+9i#9acgX~+(i^_xatgx)y>LpDRqKH6~=8_36V?fw*HzSgqJ z>G#bW((F+ixZ6_0>r+W3 zXFn*XtJ5Sk7lnm`x| z&U5}1HQDZLiJ`jSiAj=#EomxFbB}t>!wTUX!?-`9Y|8e3J;~LJxsq)i>}hdLS$Efx>^Ey%}{N%S$SGSs2Mk%^C5L9DOYz zSW{z;Xn^bQN>{4FPtcRtQziD3C4n!+HSx-7L#kNzG@4bi*89qEy0r1^X-R~_o>QCB zPJe*s6l$R`LPAyFzG*_l*4VJ1goH18cV$6+=uNpafNp{qkutC98)x_ zQ>{!pjy{0UL+C$yF}82qtf&%xpZCRjdHgC4q2DOYK3fCVg8Up${<+x?{{Vj?q00*(zT?b{IZQggO#l#=x%*S24=Wt@G}{6k zmfmp58hd$oMn%Ql0ZfIe|9jW)HnGeE{ z&}(o*zj`Lu0%ESlDQoz06^`PobN3b5W9U}HCNz{t4sq{CJlef;G&nY&;i6`c369C{q|Gi11;L>Z{ zh|L5t8zEbGH8^n%mI!3r5gl1dM-*&gr`j@$+le2S=~%IDOqB0%U=hJI;Tj7p$I1>s z?}~{jd=7*-6Ew@IZ+aUftBeX#r3A$-dIT?N+&$?>!xDtA8$cq8bLVurpURMq4ddeltB&>UVYeiP5)ssE7HynpZfZF4^Bq*s!N%>FGzFC&>AugaPB;Y4B zp_r1C3`Y`Bt-m(!aY|xZB{%c6^KInfs;p8%YKu&Dx6NExD0AUdh42%FVxBA(*RJ=d z%ugy)1z)_vzb`e0h0yHlOPP;yamIZ#=joAC>u!L1PAyORflMJeLxzsm|1!P~GlL+YOUTOABG#sn*z6AEhH~!&aB)%d zdAdP=(zV7uu|FeZ@=Y#RDVkJTLfB8hZ+tlr+)JzD(aQi=GO;VlJjY!7eN zraczvE$3S6Mn7poPyxSIRDym)kEiQahfyuoI|?0#Y=D=W+7jN}WRdSxjjFk2mGLPu zl7*#ZL${L!PB@@AN`^*$)Oz%~?-tc1ZDGceqTopF$Gu8m+^&AQVK-<>8&a@VquP&Z zj<9Tn7mi}cR(A4lA^ z%rrS6c~;^I(m*OXKgzuRvYE-{8r7A<2^&+>x4&mtBf_&Vg4o@H1<*>`N~K8MkQLkv z{Pm4*Bxiw|$4_c2Rq8vg##^aFeahP+qKVe5vZ$`dTTiJ@ z1bSqGdE%FKKT^-M*;942Y>vQA9@vb0-%503)LIK62=IsIwG?GYF#TmVpM3F}aYn3# z6s9zn6p%)DsPR;un(M?nn~$_@jXd;r{$;6S`qYn7bsI-d)9@uO=G!m4Fs9pZ9DS=i z?3!sJ9-SqU-G{6hETOm#rNt>jYO|4#dX!o2lc()l5|FZw%#@x*XvVSeU47~O)nBo_ zC0dztYwx`x|_X~|a!3kzD5an372x`*aO)%N13SEivskl7)*G2{=M=}Z=nG=8>dvXS%$g-^0IzkWcY*?N?5g@ek2%uZQiBHB5hsXzW=o3@u-3&1SO4 z2No+&97#4-TJqT=PQMxH_q3`sh5qrhqdNhr7sNW2%!irvgNbr7)d^__J8|vxHM2cL zvRm1lh*ybCq7u&%hs~7W@GC+5cX)_TNA5=EV>#(WSz-*QKiR1&$T|LA_06KGUo*7k zwxo?+>#tID2UD+lf1*~~o6M?IrMGdHje#U&;GV~vaaG@3`faE60gIxX)s01Y3G|GF zZD;a=5>&5xvmx}Wr=4`RNtJZ7%ePyU@R1hi!@C_Wt2?%zf6PzvssqOtOti;OZ#L^q z_UU?7n{F@>?j_<~TF(PG=Nz?8&Uh*lO<5<41bYT0Lnevs|*d(&aWczTk-DpQF(q<>0(nJ-P+;x1*C zPNA2XC9J0e3icJ$om-DNIkzkiHj7=ks0g}g=#7~TCkjy?#rCEPt-j+fYm#o`cc=+g z&dD@ho0lflr_pn2Qpz66k`>s}Yh~(H(qpQWNJb7xJ-*_lJ+CA|;z^OV?PaHw`rTPd zUL~~WxTTVAZ!)C%kanR%2i6A^yHVaOX4mjG`+C;$GrC#fNvQiWUwsJp$?nKN{v{4Y zURTE)lPSwQG0n*?NQ_yHF|?$Q$`gPn%`&+NyP?UlhR`rM`cqWvgjh}Gl&xU#+qFFC zn=4wC^s=>V&*myt2p?*S)po~%RkOh-8i3y27WUXv=?cL}PXvCoY~1>vXtMNK-5ntc zN<&0?PN#MbJ&CA{X7t}rtcYeRy;Z0Z6}KlfUhAD(an#Kg8j!7kxCUZ1$7D3I%eXjueOsLaWT*hCh$FK!e-qgjWj5YiH_k(H?L zT89FqSo6y%;|c_AIr`DIOFf}7N9`9ButzIw z_ooJ0O|o(q9o42ebYpja=R&f*-IVr(=;tf}yNd4$1#!vrx%WB$03lHOrO3-sZc4W; zPLdL?m5NO1SlVC-bmVgs1z-?g2U%(csVqtHPxicLOmdJo_@72u$~-$a|hC;I9WrA zQ3=5NQW$Tx+SLg_7ZiBjdsCFjEqcm*v5XvcqLXQ1$tjz>ZUZD$yq???Nu`mI=bw#m zQYOa;NbE zQ$H5?3vnZZ^r)4Qmk3$)mgc?zh*A}tlmpm(X)NgpW>2c~rDU8ROlK9Hj?*ULC*e~0 zU@2cR^Vn0nmdiz|Pr)?#mPaJ0d(}$0Vc;$Wk+<3pKKTh-WP-jvmFcJOv_)2vU_NBCbUI}0VnD2-!#$x;6Ro-U#E z3$vs&C{U^v1#_42MxjgcpudEV{cp1W0N0zYjaNE96f)AEDjh(q{{ZWCm;SunR(%(T z+O8a7Ocj}6V>kEj&aW4JptYFzXTByvEfR~CljhY+q6*wT~Q@@WyG z3}WZ1>HA&*~?d#x9(m%zubI_Lq$@nq8=IR`>paeVkWaX$nAY_KtuCM9?eB^zd{*C(mQ=~~fWbJX zdtYR26I<9ssK{DW1_<}Bh(pO*Ox7# z%|h%jmqJ((nr)v(Q2DlQNIvw8+g9sM1pK5pcr_=P3f`vEEw_`oDaPFQrWx<8D^ssB zq_UIBhtiQ_PI!pOq@j{Gsf)Hr3yk?HL!$>BhIpbZ_NQ(MDTc#nz{w;Gnn`?NckN#6 zsW)PXMX-k3C$a6Ce`eio3^v3$Cn!(*RGtZ@EY%zpi;UxhB3-I84SY%vz0aTqdXtIK0&s?)K-w)!r-WculIom zfHjC1qYdHfs6zidMbemIZziQ_au;ASoB=VE(Q!23$`;?hy=-qjHvc-2#TgYK@ zu;cH9@)3?wD<@^9_c%zhtu8RyN*3gW<7=Mz%|&P3U$n?>^(DZSC7=>gMmEy#*zMnJ zau|*llJlX>$yN>zy=Aj1IAELU2HVi^yU2#T?J3FHtfgP2HFYA{ZEH&|EVzI-Em=~P zkTajHSXyJJl3S5(w1l>wi^D=j{!&lglK6}1wZbjEJwK5J;$pfL>yP6d=~PN8SYfhj zwi9UaX|4J-(s06E2&%u)}Mh4}e@sNL=Am}epwLRAMZSUw=8j0C~OI_9Xm6o_A zM051Wue~dJ@soXtq0hcS{nkYTkz7tw6M}Im!0TMOD^5tmwPPsi%`3 z%YYsbKlGC}=u zkLOpmgYg{Qw@RgRFx-VBYl%X)2T0^9v|FoP2JtD;ney%sG~COSLbQ)rpl}98LPx(D zs^PyDx7`gfac(nTU`FL|@Jomz?MeM4r_wg&xJL<{VCeT*F1p)a#_^#g5bt;%$x)s*vqf|Tya9CohB zcu2S0b=`&&vaRp1mfHo%1ROXq&wA&rCH7k2k&5kQa7L_ki>A8IqOV-tg8pDQ`3*XR zobAtS*1T)~01<3yMwb>P>1vvhlrrPEApNVNUOxJDtXer1eRj4hp^mNN($N-f* zprRCiPrX!@?zi;|LB5pUFO&5RvgAL}VlC2>2|oEhQCkx?p#3q^(@S$7Me6oaavW9? z54A~jFM}-~s3NBQ)IUNZU3e)GcuOFAWmVSGTN<7qvR_c@+siduQ0hCsQLYi7=u4ED zWbmY=)fKdUgw>nj@1-4cv}#LJ*X3PWfSJI)w;UlQHL~l_UJ1G$(ymCm*llxm{{Xgb zVpJBd>r?KC_5T3DeyFodg>C9>zHHglde&^HlB9f%&-OU_8sp9uCyOFdy5nRs5Z<47 zt=I2cPLS#Z8LUlp!kGU68V||sj(w|DeAYBJt=IiDmnGTqpK>Zt=!I`i z+Z*&48nF&VTY_wuP5{)>Fs1jZXT-`Ju;}@=%ayI!YnLC=S`tVl2iX0%s%hO-+-;@} z@KRj>>yC%iT{?kz*Ls;Nwb`R4JN8Hb1+t)!265c+RZopQdD34OdO_PiMU`=lc+<%! zlOAd?hX~FH{#4PUZrwWR_Pm#*}IXuTDWOI6(lp?nn31Hgx8$d@WW7EleZ980>*Cl zyQyvp8*#;8?&h0hCu&|{q@PoE7tVH?lIf@ukhf*W!AiywtWmZtBN54Ny(#pU3bzy! z-TnPuyPj|6{BF){<;*@UIP;!>)1q*%XVrSxoklk+mZ#*%7l9ky&{U5g;Kk@Y#}4OQESR z!$uf!B=7o~PWqXNB`%=g4`OLs(O^oJ%M2hXSUAa~%v+=;ThGZY`fc!x`;C|8UYmal8~*?izZ7GozbXwt z2fnVdf7hC-$h050^CbzW??Y5}TnQ?buqY1Vl}@wWnUafY)rOP&b@I@}accMmBNVN* z?<+rAbY|)MMDB63zv+rnSv2Jbw`YpbZMD2NW43$JNTkEPCTko5aI~w~QRtm(kQTRz zLyh)HG?5b7epk-PNj#YY_^psp9^HhMp8ay0ZD8w#0@@{ z+g?KP2XWE-C(PKh}r{yJTakGqp+P>PRE=)ln58VUZUjG1U)qIqtglD0(EDqNA zvfN=$I`d;_=bAOUGA>S`P9;j%pmHdiG+_G*^$L@fWM-zCU6=wIvIbC`?xfh7M$U#v zjV{}DNm(jrqZm-9Nj{~4DlW$^H7PhwJ+n*EFHLHBg3A>uk0m^nE8GuyEib~iTb^e2 z;+`Os$5G^G+OzJoVv3T=Lmj%%{OP{2NJ=+xxaSolkrrjoV-RPjV=4XMCyZ2VqU#n~ zor<*~8+R0w*);2-l7-yVn|rR9?r`#4`k&US=RSegz~Ex5P(W_RwS_j7Wh5V%nzb}` zlbbro)L3xd4=EuoK7?=+Q5`*Ox7eF{YGapH+Wu4!O>C!yex&I5x~9&JXKoGKobnNFh&vNAEvRdLzXp#x9xC7OtU9 zy)H}lISFaFq;lBp+r4hHhQT5nl%~Xo(6;_r3P9RZ>=XB`2JypiupXqd64?ersfaf@ z89@4JBc9&XgGZ=#TF93il;rE3&eN@o*;dzEV6W9fsm>Mhla4E4JUVsvL21?<)%uPq z(6^FP6d>}IBzMR1s!K|>BdS`#T6RJfKhgIm;rZEtll|O(I+^rur`mi%xkHK`ebXsy zwp4;kIPR<(>_WviwnHO4*4$CE7XJVhJxR3b`TcK`rKLyGmgFcni1Ck*KO1NQ`S>-ZjO53T)H_GvZWZxQ6LZ3irnozW>;Cf2}Gjz@lKmyghYXUmBodM_-{uLfg&GYece9Ch zqf+h9M%{En%s;NZW9#C)JM`wp)}+(YpLH5iWcd4KJlb+VUVfIT_))#Wt zdL>$0Qg3ibT3W&$BP0BHrw=C22^ybH_=eMdF#6YKa@D4+5j`C_3B-C&x>6N|x`WRk z`-<6r9eRv)Lsie#{{XY%Mz%wf>#^y9pHB)WAbs&zHTP+2c&~$2lKoZI;l2)Xd41b; z_eZ>XTRL0HBg&Q|OKd0PDOO5J{^P}ZUFe39cSq=`wz(-lTWP`zX#*hF5j?&+GS7)G zFsnwkcE{*PfP_g@rqzU!jP1zn$Q9j*_f~CD_eGDqr6spW>;SH9dWyW6k7c!yYFH~? zw%zTTiOKp|r;xW9V2~6t5~|Rz5}HQgX@FqcSP$JFO2aLYkg|P+ZcewkH!o63X43~A zvcGuu*X!P^eP7XZ>J4pfx|!)JVD9wD_pdpugL=0pv%jFBQ&OCcYE08wlcUk5YEGr- z=H^_8-wp&mTu(f1rCJ-H9Zd0yAtk&XC>Phdo{VMwLL1ogcbspbX_X&+9;V`#_`bOw{Lv>CU?+Qc}V@Hk00{wmro zfpm{gXzq~4)OzB;sk0`l)%aNn!rH;&ypOEvH1nQoJNg=}jD5uqrFwnUcH_5kkENxy zM$pof4is_1ze)kq9lv}_5ou703~ zwDFXLpO^LRRbBS?tdpl4yxeTDt)dRpGG&~6+=3ID+RmUhDXa&m!Ebt37ebp)qi z+}dRhq9UDp((I)KlbWYrxWb*H;K{aIi?SY&Qc!!85j+SPBcL`?M*Dlpun<0Som#=VA(FB5F?nuL{%ezDBd*43&6_LjmF z2cl14ntWz+v8*qy>ROOfouHhOG3`+8Th!yIE-lBgM{u=`xlqO_GdC#%{T;?$QBlVH z93=hf^JxpMwwXTZo}|*66GzN)ELGg4O>=Y6mD#>~SKIZoN$ZA{GSw9jqO1m0K z(gC6G!S9cGP*&RgC!BN;3cbI+oZQpXG;X6^uU5lKnsAq4O^h?@HhTk#=SJ^&e#p~N zXF_mUpF$j1ADIG>yQOZi+*|Dr-KhTYCj*MKtlCb|FHg$W2o4WLcrB<5sC#kVpc?A# zyMp}~Wo$K)6om{CPL0W~Ny8CaAHPOIEEWgZSS!l+9(nes>t2PQ7W8D!b0tk=r6;-f zsJ4up@iOVW~XTc!4p^^vij5(S}JYZC?GWd^bU0MBfODN0iKW+nW4E zrA@CK{XOX{!Eup2Zp43U4lJmHPqzti<=tG}5BExN?I3U|G?(qrWqLP+tKn7K)9;^Z zyOU)XEGi^ap$)p14`-SARhk!YRQ{o7V1=G6onjwn$B;;M3AP!juf1C z?kXnb7lcyA)OZ_NE!_!pGFv3_4Fy98b8G0{2VzZNZZ^1519Kcwew#%oThXK=d_=8T zJbJb@uY3v?1b zp2KRZ)3@PDB>6^IPW=A>uDASu@6J?#(rOeaPynuTekgPm`B7hi@BOc`f7hF?jMqB< z02BH*c~f7B_SLpr{{ZjJRb*ZtaprtUY`g-JFt5*#YBtj2Ql51}Q*4p`%q!lSB0Soj z-s@xntPj?gw#y52E#{Cun@uS^41`ptf!x~u65hEpq9m=u@{lQ+^`RF8A)}Lw;+EQJHdYHo)dJ*ZldjDnxbQiWB8E6Z>zW*=ZZz0qLGtB#7jekg(<}+IKfXGRxzyZycD+N zB_Y0logO8#4mf?J7ZjoU#OJjwd-f!lC{s?B)Uoppcr>TA^l6OK>@Fl03KFY;^#D0I z6oN(BEy#JW!Uzc=q=Cq%D9W|PY&N@slzyC?({8P~STx0%+0HS#L#bB5^y9r+y54e% z&QWpTh1^gsa~x$wI5|)l?}|X<3?|yUbEjg~tS4`A_oQ}PtItUjBs;N6S;|kcPrW%p zxLTKR+dt;Yz(TNl)|A|NW_Y-%bUIq1$8Oe`@k6UxN6e$`Pb;;))vXRN`ABeKL>@&8 zb19b`w-x5vK^@P%KiDGMo40yW)R`YXF}j!JlYE*v+masDvLn}UsFI#;drT-e=Q~LH zQa7*nChhK8XD~~NcjZw~`uC|#%I@8{5*a!?vJy_&YCZm#`qVZ=B~Q4m=iJ&y&9gn~ z@NP{MmAHHoh!=$2rL|^tupMm)^&|ntK9wbG+vBaaps|A4%9fPlCZbv<B}fT9QKNw+FRx4)8mpdOWZyrweBQotE-k~5#BZAXV~ zIiYX&c3?kX5?pD&kz`}jSJt%4Lp>!(jdE&HOO9lyjQwi#>8Dd~_DjvVtu1j=GL-5{ z(d@80*E3reWH~lbCph5VeL}gRR%{S9=rgt`sa1YSdi*<_J`?~7xyWG(x=7cCM z2~WzQj>Fjh04m;nE7Vps?@gv$r9)dX1aicMjtV|rRn2I(Uv1r{#p*o8c7BEHp55l)!dcSp=!pLn;Es(-cN|D>Q^sAE9(5-LNPOi79 zG>nAJhb~IpFw(R>Zk6$6H&Y{ir$ZT_&~YCbd#f!eTbl z@yeG7um)6jcUS9H)#_zcts|r9)Ng}iYoq;B>4vm^P`TI@Ym)$ky$}L`rGbp&A6{x> z{ixAy$yLF`x~$6viq)4(V{OVFn`Kx4Cmd#=eQ%9z)7HzasmDDb8XDYjWD-&?z29XumGrIPB%N<#ktik)0M zdRIJhWxlm$x-lS^bz9_0eblr8B&ZSYDC-Lvdh;jOTy3s4jiF@YnrYE-9d&L!bIQR+ z8~6TH_dd{;QraN4T6CPKR}0BEV{$t7zZ_H(HRHrTgxi(jH(SNAuj$7ThF?J-t_h$jOY8R zr0aW=ZTejjQ*bBIbwHuT40a?B?yPc_Wzni0*rv@y>dnoIJ@Xf3RBYJlLIl&$4 zU9`&$!MvDrONt<1i>)RhT7wob(k{Cj4g+N(vI^fj*BhH%2S z42+!pzolrd$j>=Nr6sqaYqvNM^z)ny*ys)Uoj8@rA8KQ<Tyih1`%;8GRD;*!+<@SCnM8YKyrxT_xK0vEPc&dbR6u<&6^{88NvyIO${A)RI}RzQ zV5Ptn`PD~4oRlMDaKKNw0+u-yGLiz@0E3K^-jDr}v5l<(f-*)$X^i72;6&kps$`2> zZ7umu1m}VO0J5s|+4xbE%KV~iDq!S)ZEybo_4g~xZPvpUdGuXTM$?ir_9H*uE7PCh zN{X0XQI;6UNdY?2{oMBkbA%u0YFt`b7lw42g$fl=1#_$MLwcvmp7`4d$yTqj4*2Ke zoBseR=&f^`@kPF4`BC1T9mcb=b|3TPRb*Npapqn{u0v-Hx(Q3%flCn^)Q;BH4&tm} zoO4JKcu9F_ayo%i-!5rX{{W1V8uX-X!uR1LJbieij;$qVhTg+z(^aTU}vt zCMyi2WUXt!2B1=|>_&zW80`f-3MrjaF;Ew5K~QPLkgRc>)nlejay~kQmIqFt>buj| z2@v7GA=s&OdO=CbFg}>3n6JMnp*7SfFSl$`bt>rliH?b`hDYT}M;ZImx;_%y9W!S- zrG<^EY#;BXPAaa5l;b8mX(*-bG^x!n6!~{)J+b`hRZB_LTyw=yHmhcp)mJFOv+^rhtO09kJyu8Y5u^UzfEa>J;O^>ZajdO}FW0v5enO&JS~4Pn%I7w)UxEorv39vUucFx_DwDQO2esYbN%U3R+ZuYk6tOnMO(my&`(QjJsk zDNeg|gQ)IK7t-p~UPrhmBcJP7H2O!UwaJW?kd#wsyZj|z+*gQb@~)4i)|~lUNEj*k zzO~a`0`T~hF5fk2ExEO9p#0zx5BOIlx)j~f?x_h@9H-!Al@q)UGm+faNxC_ApM6l( zFs>?L*IP;@D+d_@uxnIz<(>ZkOtKGzY{iZ1P0iQY^!;B%oH*hRR7mYhG=7C~GTfN_ z0851JY~!8|DXXN`=dLz|yp%dzF6DcN=lUP(R&Ao{ELP<)eqbTxWieeN@~in*7I=Ie zsp+8W+$_^QH(kOTaxb^0prr(qZ%zQkXg`nbVRzBWzq6(0wDg&(Ei$)1EQFN={J++^ zHzp%CYa%Y1rbw8N+3Ix-HT)-O#^Ln$Irgqt_=AP1`qSd`PU*(2lHIf>fBI8QHUlXE zd$OO?8P8*kS4uK!5l^Fmbxp~mrG8M|GM%A13u67Gz>0w#3QK7p#-wf_PA(@Uf}glOY77cPjq?3be0I z8*_u5MK0ZAo9z-S4V9?QAQpg1e}HqESACTYvZq{UdP)rtqTPLRLoO_vWy=p*iO!nbU8Sd`-R$-U*WPYHTQe?ZPOy_H~DvOsVR0 zBp*xzz&_Pi>0b~NEHA3ttyYH{On{6NjiWv4(;AOXT~i+MVRa5gaR&~xcO)Ekl9L%o zj_B{gvs|rB>bYSZO+K17MIq`9-RR6n54M$!*+E(MqGevLudT2W&}5*K%|so#PF7oz z`SkP7EA7Wr{>+XO9irhaS2g;LshyFh7;gUnYEn}LOG9W_ z!qlAnr}}2SucXywFx~k$TFWB{Z4T)rvg0vJl@pjzJf89Ig5p@kKCoRuRPAFX;yoB25N zvN+^TWo5A~$!;ixC*>+%(>>|M#+N0B8*WQ#T2+ynLWhQXGI@7Tn+i#tk#*w0~%&Y>c(dnNWnsFq1LaT*JMyh&-Z>M29pIH!Frt2IuQ>f09!9H(25w>>@XAmM5M0F~@% zsto({-B7gJBQ4;|;1rakar~-b)qPJk#i~;l=-W+vJ7d#753xX>bH_BD(as4=2(COq zX{|{UTF$sLB0G=GP<3f&XK6m%Res$4U87Qq&FbH=w@;>0tYH5D-!*1xORbu~;;$FU zZc32w1(ddTU>~kCkLOSxr0OQM1QfIJ1yNaaD5YEwPq+6|>70C+B28e3++0KVN8J3| z@U5fUG~GF|>H5v9U`Rdv=}fnqYIu3FLI^t&LG45#n736b-11hXypj>=9PK~L>sw#A z!7a;yMWf;yTto&+y<&R~{jpB>#I~5~U`GwBw(NV+*0@(ILL)Ziq2)0U0;g7-QmjM9#d()IRB7}qhcZBi{8q8Y^hzXk8 zyJRU!+=7$s{HeNA=w)FmK?gV(`c!4)WtJ%**R=J@F?}|Xda7#ghETtPsAzWwr)^OxUiz&;Jq6bb0`NsyNNuBEFf0~5c?XIApr-Uf` ziYaeiCBj3u89tiv`4L}NE;RN=_SDh>@&kRpO8Dyvm6gK_Kk`igeN=R&9%Qy0$@vzc zoFAnlpC;!Gl(p%jD&!1%Qr9lO2F}S0oTP9zlg%V{Yu5w?DLV;0h^XZemeH|g8LWLlpE1Z9dHc}#aQQn<_0GrK{{YXM{{Skii`VxaW^PiNkdWgI0DW)Lo+CWWB%)L#g&#|4 zN&3@UHrD1e3YWL{x&BnW*zLoKgggoV018^;vsCuQj!Y^_T|!cpwqx@Y;8rS`Ze97d zooKBoMw{*K{w!JTQ@ymd6DCp?5L0fjl0Cmy9QjQPz)m@dM@Is4H;mBf2q)T6- z6^7WR=WkD2UoBc-sihC&S0K}~mZ)$_l!TGEWkcyr6QdPM3f$%u+wWD|5@ynd7^RI_ zsgRKKucIEx-u$(xBfU2_YGzi*jUa`nfH!a}>L9&qzM)f++LGA- z1Q0^L{8iIzq&bl0iBp!hQExyo+U}fSkEh;=fpRjWDY8uxro=W}j|+Uo;Jbi%9`!OD7~7GbV`Pa*Q6m}MiblHyu}!@mLV}W8QolET zDPEwNXJ+010Px`2l#()(lZt0%=Lra5hlbTUpb}K9WjW@R1?^8% znZmfwx$RNAZSCZ`a(7`^S^8Cl)duY8Qi_}y0Gx`8Y0G7a#udQ%mCBXJA6n?u_MF@6 zpTMQ-f{Q4W%e%o&FnH#kY!aN29I0`0$F(9ByJUt!W4;vHPs~TPJK62Xj>&Qq^neC- z6W{Gn`zu9qlUY7WlRYuWZ)-?b892>3SR=6@B{xCpGMpUey)@ofeaPu;7(LE zF(ED}aPAHBkZBhr(EX`Pl4EwgM7T8E8#4(*Xin89AY<>%L9cUOkugoCSqf3WKzmmP#eG;=k==M)dalpbgPfnq_(+ntuX}0+b%3ChW*bz)vi&3Nu*k< zB-RY|eEY0KVjJW*p^sD9L+OfJ(@XoaZY|nfxTT~t*)J7+KqvkcpHS_Vsu(k+(Yld5W=!t1iWp6BRR`2$h zu88<$*4Gxa<94Qy9#Y)_Nm5Qh@5ruU^!rn_{{VywBk(O@!kdBqh1*= zE=bjv7|CJQoN?5ppc*`ooZxZxuQTekD%VG&^k<$;;pwH}*MxXe?g~QFg0|Q@c8Z-{ zu1?8tu&4J$O7|tj44nIaekz;kzM`D;BwSexG+R*)rS#!S1B2eI8+F-p)T^oxwI^ZQ z9Uqkh4*vjut$A(lb`s?D(wq}*bwg^T&Ff;%G{n(!Qoi@?afi%9Qt`D zRd|ZGH)FjmZb2#9g{LVj@<=)N#%jOukK!)L(_Ko^^+nt;^Z86?){l{A*ko`&ooq*x z=ZG$k>WH!=Us{HpNhkMlr8u;m{BewZt8%MRWoHLjB%8xJ6QS&nOtB{3sGAvv*3_Xm z{Mo3!xzbZ)xThnsK?fd~$JU=X12-_a0>A#KCZo*Z$tUTEbsD5QA z`~B(9!?wMPpi=isb!&c{prW=jkeqvGKJ>q!vSfIL)GhUj=V@C>kAz#Iva#rc*ptsD zrTu>J_|^WdVZCXI$I%Q%ivv?Msrc0V*Azp*(MocD~TmZAd&4* z$?rRFNkLgs3HgW_#S^AsU5pl6yD2TWfwbiEO*>1BhH}!tDk=I`BV8B22XdI#7_1TL zlVdcrda64dJ;*et;^4LZgs8!4aX4s^+wVy(ag2hbxZ+c_SZ^bMYbH|sbRkN4r(JK5 z;TQmZrmbCZapc*#IE^}n*Cyk1VU=23Ly1vIk+9(-1n2MARUOu=%r@=bs;!|9IJX;d zgs0|F0O45vU*B5=e!V$9GNdy(#VIKO`YHt}R!6w|X0^k_)#6pZP)wB`(zg$y6q4F< zq@AZY$GuGzLENxn)XAv4GmpMLdf}*|bukv7*$y=84=G7k>5u{bzui?7>%NHA-7K4_ z^~2#8GN9WCN%s2j`c&h`W#jhk_V218TVzHsWt7VJzs-}Le@fQ5cXZ0qvn{b&%c&_R zapRw-`Pa~Nk!qBW8?CWvYCFFvDTW}wjZa$-dN@7H|-`Pdca#WO#3j zDYG1-nB5GocGs2ch?Sk%z@&u?Bpi&$GNgUO=3f9xm8k%h=OKzYQE8HK` zy;7P4H$T&pF7k#};_$YT4;VGD-8yC?NM&;F0$V^~C?`99^^aJ%_MIIwTg;&rV_o66 zi!mnz0qLA}?@~BPhc4SK?LgZwfX}8~LH_C@@v8H6N+CrFLt_Cb9qKiF*Hhb!`!~I= zwxwW&0B}Bnv+3%SPbS$nl2fAfFHCKEjf<`I=bx1slkiGpoGD-T#Y1&otWLeX+^>4Y ziKul8D2MADB||(9@TQ$#anjMGKz_|MAxc2YDj4VOL|iVnQ5DA~OGJi`AUrz{p!!oD zp9> zDI12>3Rt_$Hj<>U%9IpJCodIlv`vY(+)bu0tms)SOjYr={6)xF3N;JN>R>K1!C-nr`~Pw($9EL0{Hjpmn}UC5N>ZF( z$g{y5unoH<~XLgZspLWIfSJ+&IqGs&zRc6SR^*S#0olPs`B-pWM>!w zWD;B>G{`h6#f6cz5<_bxE` z%10diE7Or&FB0ollx0o{KR>kWtj;kLKFFa zGIK`yY)DvdYPO!#T(qrH77VSZU*sdPud&m$^aCt*_N6zIp|(FF{XY?H+|wC@yMN`$ zrFU&2(k{rACRu2pv(&6xnUl)~n;`kn?-~9IF5x{{TTo zG>6-UsP9`7-!+Y`{{Y#jQEeLuR(tzW;-*BKBE3M;k3AttEGNwshs)-Sp)Y>`DCDs9#caMVjFNd<($7PH>vjU7aCzW=nwurUkOk0k?yJ zO};*SocE=dHyKM|h;1b**_0I2Nou*qWLV_JaUcvOdCorc{{UpS&3-x((u&;1(YVuG zu_HVqI@n@vFQg$4yb6IC9qZ(UKBh~KzqL!@BOS#exm)GhE`gbVhZJ+3;Xi&T(KY40 z@Q%kWkTO)CVM>$S#pZ5Yk{0C6R-Z#Vv9pt(aZ%aL?|7}jf_oEEms4hT%+ZeV4&&xQ zKJ^@&>&SUQsQF3`6jYj&n}K=qxf@X?Y%*M7f}jpS2faybx`8lO&FR=_b>woE-A~G& z*XvQ&(DSzjb}3tTWoSnO6uRisMYhn}ia`D>s~D!F_90o457yeUeyDj%WF>_77e< z()y~?dXBN{MxNOSKIc8Fr@a=`7pEp#?+m^fazdMvAh(R9l;Dr(O>)8loVv@1oj;G%AE&2jjX3*lB zj}hD{EiXOyd;b70dV%;S@t>}IKI`}v+qK0mTAh-BxvE**#!e33af*%gZTGbvuDm^Q zi*YKKIZrn-ZdA3TtKDBpfZcSkc&-Eu#YX@*S|lXrzZL6h)5pYli?uepy{CJm_|1*g z>rJNbYw9#OC8+5{B`!!qlL<~fVryRdo6chh|~_qQp;1J7gc zT2JBI!lzR8HQvQHT5Fqw_J&Jpx0tRd0HS{{AJV#4qSTacE>^$_E` zmK1&Qocq_F)WvCUZ8NJ~u(H2$!!90*`40GEYo{%}A4Z)=a}DiOo1@ALD#v{H6)Wfu zkp7U-Q{TMx6Hu-c5i~g-*K1bM>F4q(W9C;MTH6l?I_O{eaxY1eiC(I*LRW&=#~J!n z#~V$0Sl zPUUy2Yv77&khp7~7T1)P+-&+xl9Vg!REJyc58P&6u8>gU4aT;U$vGq=oMx^)eRXC- z$dbeV06W7g2;dw8R0meCa%Vx7BCB|M8_97YLzA?Oe|=X?mukR^<-y0#8kVh7V)cyW ztyY~+>PQbwz*>|QfChQTf9YDgb3wDfNV!W1O27oPGxCnZirSwv2+4_k(GhPqhu=aV zy4vCHz(L)dfAg(CksaBW2@n{4Yh*9v4s)=5E9ts8DNwSH53g&^%TmR1g>|+xEz%Uz z1)w&ojsF1UNi_tYPb^v=3Bq=k$j?7q)K^MfugD0~h`>(lCBTZYt=bw!p|_8UTEngJ z`?PX@rD~j%Bgq^80EdJ`*^K;TB)r)!XK(;}(~Y5*CA#dr?uSVmTUv54{{RYdx@kQ_ zr(_|vt*phIE&H=?HxysJEGPph4f-Ea2xh)0M;V0xyz&Wc| zL2DBQ2!#8%S^T3P_VW#36fNh(hyRdsLb3pX2&!`vsS0kj+hp5~cHQtk+T zL?{bVnp(<9QoX9R)}tJnm7~qJ^D|Rw1r^(v!wbVoJZ-PNLt0{6BnRY@=|~?dxC8X2 z8*Rz9Bzld!q^Wr-+wDp9OSZIGmo8n&#mOr98X%F6)~=xJ>6xCQDY2D@q{c!-S*yy2 zWh|O-ipTDj{HJiGCzWofv(p=!C9vw$)_5T&pZ;{T!Z%@`lC4T)3iHNz0!~0xOW% z1<#c#?n$Gbl40#(WRNq0D6=Lz{{St?DlGp10M2>()IJd=F{4ZY(;h(yQgODHGY!~D zMEME|Q)A>LXyesimu=lu6*+2i$uN1Upyl5Yb&#mP(eQde28qUZ`&$q{-x<0Ppee0ax ziYO_5Q@8Y?NEy}^LGzFK`YMzAOIP<4UA{YMSUZRu z(ncb@v@M4nQj)X4aeJ{!n{wRG?q6hX9>C_5bb}fRan0yt4Lgl@#GbS6#1f1a*ImfkHHz&dsDR42zxTE4dHj%k1I97g?rMqisl3Xfhk+>&tH5>h@ z5v926FYaZfclR{aYj#x2qmtJ9smlKVb_%!^dSN)vEUL8**QCdG>`+iK*+eFl+n_A8 zT(=;opk!?x^vwIpZb{zpT8ZRhr#%()C2DpfPHQoqSQ|ahJk{HhmKj*vmP7smWzJi# z&Xj^sISM2CRh41rwV`$vH8PO3DMOOl#wt(OUV~{SC&rthE&-IvZ7Gz>hvZTBr?`z; z^frcPLOpzC*OcD!vUvyfs`(aik?@36mVQbpuAULC*0~Q!L}aTe3m8o}YI|k95*8R> z9mE0v_WIPJ`x55*lI7mFr79!@t2h-CxZPr=E7G!7qOVOU#b{HCud#Q*IdDg%sw`Wv zikRsNK>3M1sF#0c&P#$@TR`rra=Gc4llNU??=GwZw|76%leMMTX@cz8g-IZlHhYid zR958~HW7QbtiqJ!R>6$e%9rd#BDBbCyqDGiZD)dgs#wYy{g)s=0}$2IEH=%_LK}$E(xJ|BK(0rtNvd;$()uj6O9sd@ zsUp1yMMBcsiBZ5O9AlsE%|-f%+O;-~yXniK(H-mpagkJ3f$NQe9gF)rsC4Ya+zHy$L@7y5bKHvcjmA_bla&gpvr&V6 zIv;J&9XY((Ete~dx9s-+07=9?!oM&CWZ>5R>IHaH>kL~~t4~^57N+4PUjnI^cW@oH zeznS-2h?j;zh>2>t+t7ArbUW9QVGETWT)?u$MdUOq+Lp#r0=BOyf|HB+G8}PMa$AE z^%ef`73Ou7DarD5xSy^MCa$eJ=55fM zvr+Bu#d)S-lr4f6#Y67CJ$gvo zG(@yqUqNwTMh?cp8b4B@+O#WAY0jiB3LaxaT?XXsOeb@kn#Om7?;rY3?8df>r`x>g zOM*+!*ph+kFrNH-)_7A}o7~u~R)&o{aGxhtx^dJ-wVs=aJs0NPkt_Y0+Bpgz@TcF~ z3|i(kU1@F=)E z5*OTLRJQSDvP_C(HF9ycNCz9cpQT#Ow(*lZXDE_8r&A#67f}M*!rfYaRgIm8)}xn; zE%x{yf$47a&g?9VW9?1wH5jupx`Kk3ntIUc;x;n3F_kML z>s6)>tfa=PQ{j;%MO0Fy_v6%0XAU13E>y0>|Vruml>?7z_ko^DLv?xBe?U3TWeXycWyQDsY%?F$T$b< zOUh$D(M%~R3de5QrC9LGC4?ck7Do=AN7|CS+TCC&DLY4VipqVqb7ynw&p%rEa%HKu z=HM=AV5wl`C%!5dxTL3tfVSh>+X*X_o#*&-%@`KT?u57b6Tze}+pUaTu)r!%MpmM{ z=M>=`xWs^0fJQ(9t0a*gRfFrXA4v&iKPveI8X-|xW!;a0r4gD~r_~&khkjquk}MTS z4wV%r9r4<#OlOyYI+lg3r67&G0rjjKlK62cZLE#_j8T&Q844~1;QI@AEh5E;K?p9w)bpS)Z?6*RUhGg z2ycUh(wf21$_$A5#|@zUxT7tC=$oNW!yJ#bD1aMJDo7u#E*CdpJg3?Kl0KE1+-^+< z}^GA;`HgVm+L&pN|d9?G^TlYt+XMn*&qcEr6`@ezs zZi~aJIZ6QUQ;kNHwJ1l7y~SSDS@i)T$tg0VTO3=8Si<)325WYetmguz(tLvB)D89k^ZHb|6GX30jfZ3d=}eBQE3&rL8TehZ0qTn%v}9 zb!l=*CP8vDi3Ov$@_5e`CFzy$*mXop;u%t%ibA~-gN0z`u+#HUyU3Fk4r8ILha4M# zH7c=c{WeJwn`Aw|0ZBj@tX8)dk(D~)vRZw2>gJ2p-86?N!4a+lXde!pipcjrTBnz) zMc(AX8;XRfC{ThIfC_QGcK)=g zAg4UYmvm;@MA66Y{{Ry6EW|3@gRrBvX%VzsV?zd11g~oM6oJ9}Q-+X?yS4O3jWNKK zjICbSr+bB=<8<9^khL|O7T3o=T4mCTScy1mvN52ncVVfdT_?v-V4&@3U6WY6+&hey zq_+`HthiE8(8v`nn=*B&3u0JHAx#`9Tm!{7bj9?h46A}5q@fS|?)L|pOfO0}Wa2O2 zuQfYUp-EG1#ak%OJ{Ky+7!nd2tt6k04nl{~SytuaITF63? z6ySuXpPL`0X?@9aCQBkLoCKiYj`_u09$UJ`@1wfb^dvmuT9>sip=W{os=DaP+FCSd zuT@#e(_L(-H@hP*+oY>{9tsK z=ksw={VjEFVf2dwYlzC4?fpNUc&;OJUnix$&Gn{;e~2EFTzZQcwOMbCMN@ADnC~Pg zIswkn^v`eSTFcdrlR2SetE*}0d=njohHfy`92Yn^D^DG{&2E+26H!OT%V4?w=RcS4 zOt)(zdWnTIBh!6OASAZpHwB=a9zM9PoUP3Z49BNW%eba`J7Vc&(U_f1)6YhAwZ;p2 zDqF*i9Cj)1#b37H6{ynoG^0^;jzp_0W{RQAipVA2J7XQ`M@W1&^w&;anwb*O@P%s2 zjJBVVTzx*7tH(rmac2Jjsb7NK(j<6oAh^O^NGVAp**?|DpORC~PTX#`5y~olmw2$X zYP)myts|u+TiQxVTzBJoYH#)8tUjG}6IN@#nq27L4yA*a6`T*HNm%ea`IhzS=dL3Z z7ru5FU^bPb^c1gC^v9?AX2xu+#5sD?YU7eLgko7wB4Ww(>GpC4sdoKT}BB z)jE>jV@xS&eduX;mgj;~vnA`h;xFxUr#ijCg& zQrwb$B1(c%FxnB%6%f@o%lCnEXjXuyKP|zP{E%)1#zniB{#7qsT~0MSPNTgNo;mi+yc3 zsGUldS>A>02@M5($NAR%9-h6+D1COuF>Ivzi#mLZTN7ge@ay0eaHT7snEwEO^{Sfm zC8c6p@{~$k$RRxTHDvX6>oUn9n*-6yY_!NKDj4S#T-l_|zueN}>;Tdn+K{d?KDF#& zTzpFhnbk|nb4-?W#^LM3TAgiPqWdV0aZ=cpYl@#Y0+p?_4D2I0rd=k2#EB7@jthuR z06^lcUYlQZrH@Yi2j{g9vbp5MWF6m&E9fZq=g|{6*B_!jVeQGZM08tr% z4eLFoar}Sy5_v9AcnxdB0RFtIqRUat3j8n=&i}We8Es^~u zn=TR(+R{HNX}3}6cI<68F6`=EQ;5hT*wm${Y(uoS4oc2PVmpCReRCRemK;UTb3hN3 zXC{R=61GXWk$bB^vZk1CgWDAzL|0mn3Y{qcoaFYY4Z(&SSPX@vgygGt2AiFV^W=J% zT0!9{9GdD^HsG>llXweEcVe()Az?(Hl;?_aZRt{CQEHMZ}h`uAM!|} zZP%9o_-OG^oTnR=SMtLkve1p@ekJ6Ui~?{@Ii}m?@#y!4?Gd56puX#MTwqh2pNNSx zCHKRN3f-}>*iws&b}}Ee$P7IqaIH`0W9jo|cpoE&apWKGc!Mq`f5$5|V+EGHAH> zC*{isl+v~X#^KtW?heO^3^<7S%76q4rW)w0f?{~-j$}P0Xap2sezbgdVyS5G7%n6Wb=wz2cRtFx{gYw@%Qrb`iow+9j3N@K5tysb1 zgT)C@6@w@L03^+sGLOtPz5I6n z0G~NtXJV;~Q$|E*6jV4MeuRIA37++4UYfa)TvVLiyB?eJTOw+pMlS7i~!I=2E8_@Sv+ zWT76}?^!L5*$xp~ZIP$A(b@)6^KtJ^D!DxY)*(VeXVWKoh{qL|!$#8a0b$g=pUR?m z#bMYpqmKRQMdP{44UbLQV>uBwDGvgr45R}`-C^7eR$YLzlAcC?#-pND z#irXk{{VJ?4|1d*TI2*t&&m{P8+p2>^$FW`#iXrBUftw&A6lE=OevvAh@gN0!cTgxZvOxd#mRA) zd=h^+&o#eGhl4Hu0C34~x!bG{Nom-D?Wb<+WTYQ@X}4SkXl)?hyL7bHO9+S*FyN zJq%6b1GBBj5uJ~K;+CPb1mvo$zK!&X<#MsgeNn&j#C*sp`I4W0DTk+eS`&>XT)4`3 zwy;ozFXkjw)vLOWwK7U!M=*)7nVdX`bYL7NwsN6 zp}8#(9a-U7qUK4t$6=_;hJ`N}TACRo{pm)c*Y>N;&PB;LM7FmP&K1EGhKaW74OJ27 znsw;PZA$+DY)(iuk~5U7!#WPXD&S+fS{l?>wyj#C=n#h!@`N1iAAD0JOEkWnqI^Wo zT)QBDE)=VfGgh^?rxxuOZef%HRa2Lt{URBN?6IxF&^IF}+V&zU7$_pPw5 zEg0uhuYxPbN3dUj#Asb&MCs^mL{^yRI{-FV1e&UlD-nt zEF;p$Cj*T0O@w@JffJgCW)l$0O&mNzlsGBxUwVJkNu4s*QMIM1_ZIMUCC0v_QhiBq za6?j>+JlXuTX_beNuLdns8>Rz`VIP@5;!U+kNDR5;|bRCWZw6tj;nZL@c`dY^zgXe z+f=1rO4@0^l`B>V$I`b$ zq23~N^y_;sNYr76+-GW-3k#%{~pcMb1Q!q}&}snhM+B-kuq< zKyJ>Na8-$^R#1`dn%CQBTVS_qe%W`BRF@wLj^a<|%7!_sYo{9VYO;FLq&BRKHO@#F z`u>!U9?0@)s)sI7VrdJl+H5kJ4Ja+H>rGo)9@TlBY*pgfE$>xLZSU_@-jB7$pJZa; z2H+GOIe97WD%t7gptfn-YM+@eY;-4)T-&dVWx?K#nMSnO`KJ@A(KF$-3(u}PnINB` z#XP~#@MPNLCPa{?p8US5ITV5}zO-rtZns?#oDH8sD2w+|qS{_&*F9KThsw16Q%O^E z=%b%3q_&MkXSOXjdG`4UQk&ZE&{ApI-N#m@&A|bpFmS4c z^&4I@Y>JpDSlG1kps#AABV(R0XVqz-s>)&>sC9N6>CW2PON_M9B??lwBCCy2)W_r7 z62nC#E0Cajiel>Ky3@AwKRL^aSFw@upnHN-vB`U>gM zrfp{jmAb^93yS&F2E#tO97tBf-22s8s(PgkH@~tWm^TW(IF~nKC_ZNmH_vw^2gB`+Lr!j-7TtW8!qia8#xLY?^aJxdVi+$k4dk$ zm-5o0Ta>h@D+&Z8;QZCn!8exa_{5n=QgR+i{WEV}*{xnt)g>liR(n zEO!F;50yXe@;IrFS2cW1PpMU?CODk!EwV}c!6%bVdS>Ag71}-Fq#;R31!L>ZasAcm z>wC1>JiW1M@_#A#dOJo&ax5gS=mx>>d5c|I{Kv(5eNVP4M+w?)y zR-f2jNCqNL10PT6Md>>(m$@ypNQwl5p0Cp((ezrM#SODeg$6_e)e57j?puAeY$Xdj>`-Nv2)5>Wz>x6toevr5Pjd zQEYY%s(aT1MuyPh*By(z=p?ACdfOcF_o{Ne%ZQuTtIHiuho=xD&w~@lg#+C8@GK zWl15V467#;ZRtpjDM)QgT2a8Xk;q{q>rUv31cGnv0RoLM70M%`MJV5#VShS zJsZdp+viD6R`KK4kE`4|-oFJQYPj1w@0Bnwhr-nF(Y}mKsX-q=J3%M=eW^pHZTm zLZ`DW5OOKu39av!Vy%mf%7Zd`qE~gPHHo9y%M(fCkVFY=BY8r8(UJi z2A1j;W!jM)FeNgwakv#!b5C9&T&AW3mNt5B0F`4I=h~ENwjjchwWr)J6?~sJYQ=^( zb3SXCu37CuWMG2(h&#X>cB;{vbB|mXb$LqMzswJ6n%~+(@Y3V+30BN)KU#=LnJ7px zN>i|QDXsc6vW)kAqR3Xbs&uAO5<-Un8js#|!*=<#wbO+sp-l~koN=}g<`4W z+YCtC86G9-7>7%$MGEdx`sf zs+PXLG9&Lrg(vqpB%mL?OW4&z;GAM(A>1U8=eadq{B_COi|TSX0IZM)Y*wf&B9`X| z*DlUXY^7@2w#Ug#Y$oG6?3FFRQk8a5?@rA<9%RKuEd;CsxSrIXPfCF?_k!1jAD)9pz7$lD8L>G_%O4^tRV?-4&)(&~3bWyL+0R>lpT_@dPI0<>u3o zCmrensTW%bR8>h!{;41Z4%M=_yky6HO<|$eq_-H>JHk-f%nC08vZ#7RG_>oIoJ;dr#(9B728B!W6N8fyDuO%rk)u~Sr|C1 zy4XfiOKH>4>UKv4(rLcD&4Fi*FDKS*rR-73+@D~7t}68CPhDBJLsf?Nba*`|hhnYe zVLN;ApVGA^*JYQf?e9&~QdY}y73#V(xN-AfexzcFlhtiiZfxDP>`4*i$HZ$}NI}6$ zPXyz(YmYrVR9a~C6>B!d9bxGwh;0EL5+U4mt1(|u1JWzt)ui`X^tH;)uZF!c7-c8c zUh%a<>s*n0#4HQdve@R{KrS(e$o8 zzMBUuofWT@+-IYr`fscDg->=>n^1`mmVy9`=O`oTPS;MTs&rAmRV1|2Woa&~6^hWC zA5tS*ZA+7K2^TRAIwO!|DOni%q4^!2%Ah_-ghILT#P^&E@iR}!0{makB!)C$N0 zKT1obdPkzJ>uUDqp7bR(Bh+!^r{;8jI#1J^G^ph-Dk*HJ{_v=9O-=ryO;;A=;sl)?? zwTxs`gGhA3&uY23aDysPQ|Tw>RzU4mMUK}7BWQKRa0kvv#%r5qrVplN-Is`rF|^&H z-W1G8yBo$*2;>i?P(D8{kLhlcT->(YGyaNGEuwfSApZcBY>d`owrtf!Dh;9!<*2+U^ z{HLBjN^#JQ`e|BjBq^jTE|`e;ZYL{ahNND=m@-uAYorh$d(pYVr4DZM8->ctrqtky=f1F^^gdb=jL@d>_5l(REwnX^v0fK+-?hV za+0D>+->*GSJ#fDYF8klHRkB-64>yG zw^n+eZj+}XT6EkM6wF@NoJxLV{{YJ3nzc3VMwHT!-GW?O%0|=b4CG>%bk?pmr&A;$ zFBTSdwDLlNzgovp>L1&37jly5!=L&g*&m>yx+NK|NAHsvBwVG+%hLb~bLKo^nqH6$ zqRC#+uEbZ%yrdWXR7}cJcuh9HbZ54>m|G5Azl4dwpGYZ4Mg<(crfnH#g`=^C)VC3_aP~v-xxnn zYRaW!d@|X1BKofFb-3Q-pgeNoNEz-;GreiJ!*RFPr5u11PqjK-@3Gu**{EO#v&S4# zcCToY8`YTNvxB)HXY{AFCXrptYr6)P;@V1%LU_Qaz0llZ1R^4a{rMw4)hKf6r71~f z8dP)nmGq=HS1iG>^DY%kC;gaD0DIPk8<Kk($a&m2HDuZ+a}rr2wE{wx^I$1m);-NVL{elQOgy4Jvqe1* z;*v|P1Yma_^jtmh)A(4@Q{_8k&%Uy~k)Qfn>&(M$ z7@#PikO9sI+*hWb!p!J<%4)*k$2z|E{{UQFHVx;Jt^6Gtp+bc)s4JXbian_A`A^?f zEuT>bSXl<&Z2WtFAvn(^rlP;F! zsfHpHHlFImJ6qd_@lCk*B#z+IS|0d0PRHI>gV{$Err#OnoGN!9E0i44Fx%kNqLAZ0 zCABNUS|s}bX|m$nxU$gWiQct;v)$N=Tdq!k1s{R~e7#)x=9@)^SPTp4j)| zthwy0;@O|aMsmuftqBe&0CC(=<+dAiHq!F98U+ga54|Q9c4I##GsJ~9tSKb%{HUhV z6L2a+>Dn9GIp(3qX=tsFD0b2{pl{foD1s)OzrtLEcxi=Ld z6G%^T6noOElP$)YL(CTdJQ~X>xerrPKHI};kseZ{p#?l+7%IgtyEzT%t*ON)jz;6f zHMwY=Hf(3(p|HbeDjV==%4}BF`V%z?NBvl}m!u?;a-F>5nr>{hb_;c-Ze#=88fKb%A0q5=lEW)QbzQ{| zD&p8|GJikQ?@b@I;?H^HfZEW7VXfl?)bjIV)9%~mFtDVl)DeK5{8ec_6l-H9D)5)f z*l7E0&-m8IB-Tvsw-IoF<@o`*t^iv(LJ8uY8wS@ImLjr~f;SBJ6oA^%hFxh+^4Q!5 zx&F1B$O>{PN*a4`91^OcNj#JtW?kW1*$WCv7QX)gZ`PES}$ZEGxKMX1=YZ!u}cxKYBx}G!~%! zl+@X?p~q>dgL{V=1M5rkj8#C6Uo^Y!S-usid)-5Om9%m{TC6Wn5gGpgLFW`+2j$4^ zSKO$MPmEPRe6=M~VaQ5Osubx=w?A{81F z-k@Ko76wX_pS3H1+jE!dITazGpa$<_O`%g6lCsar($#{ceGMN9sw<8*&a?@RFleOmD8)oP$I~EjU#wi^Z+||4Y>M$N}5?Zf}6rkt6E9;S%Ke~Qcx5R z+-9li*9I()Ch-E|ww5qdhMXWP^{Zc|*9{NVy*^^<3u+eX(h}37xKQL0d-oZv_vlp7 zx;mz!lP!HI;m1c_Ag2ESZr2RB9syDsNzQ(m`eK}<^vcz5iq)CBtC@AumfceRReqe+ zXy-+`+0(0fFFH2tyX~>X6D62SJK0araZ>)4YwcGC+~t)oLb`n3qn7Dy?UxV^Pk;Cm zTwO+$*6?rB>f^hz!?Sc7Q$?P_ZQ7^?9zY(EC+7P5RONjRz9u?YkuitRzzR!5@}KUe zPMdgx({|EW)iyWx1BlpUoFDjAuM@7F64X%s3i9iaXQ3dr8w2;huQkWM8y~prE8Bq$ z(j6?-3VG*~846^p2Lpjt4wUI+I5I@ZcLtDzB>JG7Vw74nwwk-b^dL0!ZJmlo4iBwL z^sSfUZEJCxQsg1-%U>h;)*sYHGT_HKO+Hv&l()t+6wC-A*yUJ4unzCIt2;>O_mHxy zfI@qg0Y8_(rz9&07`M(3QFEb>p35Y4I_ z2*s#v5=w^Ck7`*O48KISsNm#rnt!qBbry%lBX9eo-mt&G_#`a}k+*7dn!!6G0kpyA zk{hdB_((+$6s54A-fm7n``02o$*147U|Qjrd@RGwJ9y3?alhf^8xM&?m4f2Wog1EmUG=> z$rVGBWT`V4kF*7Q)V9ZWn7E+}Qr1BHq;M&g!E%V}p8(^{ow&#qBTF{XgvNXYV~`DF zdsMKIZhHiol3z$457_6CN-g(Skl<+tC0r0ag(RGmMPt@mVUWGF8R^$rL=)T-q21Z63`zcB5ZU}{T^KBdV0#KC5h}pVp_^M?ywkpMBzm1$G;T zF`AC`0!vnw+ps#YqyRIspVqLcPR3nwM?bZ&qp44{l&!>$0>9%;Hw)X-9Qdc#lCOV% z(zDb`g2eOt9uQMO1JqaEnI!t9(i=jsJA>_8DqB;?K2Ne|1*u9>@ILw}dadS4akEkEfLk5BvP0c)=%J6a3;<3BZgY6)r2R3|At&3%^JZXghYpJjb0#^8mt z92X1#IY`Y?O_yB>rQomRP{k;W;$t_s5zo?s?yBaV?HI?vl_L{N(01ERR4XN!Z(8(zT&70u7ZLd=OiQn%E^T2jC5rH7TC zIGo@4S4iudzlv>6qsnIau_XThu9iOE^yE?Vf@8#wGbm#J0B`{_%vS#Z-YvKP0LqrY zY&Mj#^o_|#_wPxgPL83OGj<>MPkPO2juxe~@F6|$d(~u;_%!d2l?g z`&LpPy6O3_6s0NDMo}sB`Nn@-QYIY%pzKH1r4PzaVM(r6JDOi;Fz){VxuvF9bCTS< zwb9AGvaZ51!(&p5}_(?!1F`zkWt zZNQgZ&gCoLH0ZQa$hOA!Tf08BNV%<`pGbuvJ@b#!ptqZQw_QfIJ_wf3gSEmtAFWIE z4EGnhLvEF*B$5$O%ciTlNB!J8dz+N3DP*C4y78Jn>eIm_k)ehQVS?mCCZKGlW3ORUdsBN4|c89Vz5kh^qlAxw7=6tma?Lze!B)m9j$2nmFgCE%r~ zV2^rHW76v~Oq8K{C%7G{1X+kno~VwbMh0soki@thxxwv7 zlv)^m9lW^sSx6WFpk&gfTxsiRPpE`AP61J<-Je@bp2>?by`UeI;*`4~4%-`qlq}0} z(dnny^FzkNOkC!d1d+Wm-HsbBnT?R|D?nM~nqZpSh@87i@IEn@j!G5od+}Im{bd@- z1_?FxHkiO1r|;UJo+0{vt7KK*?dlU6ZR6{qr1F4A`H@>mZ_xIAMRm4l$Z(yJFLGWe zQgO6nCpAO$^#U%jyXojGt%#-NC23GN7~}kEx=G31w05E~RWnsvP0B-yTMKwJwcsg3 zgpo_yu-%sXawE(I(s7b0=TKQcvv$WL!js1R$-DNX^eQCn#& z9(!z?WS)F!*7gw^d~~aTr6`U#=A5*2omXgCyJ_XNgh){R(EcCOiuq!G-Fia*0Bi+? zAs9%{@}+TX&%sj;!<67{wG*`V`&O7+2=O6O%Qn}+pILO{%4)}SQkc89DJ9_QfoVfL z@K4h|)w}-y__6pc@i>o;>L!SK!F!H`hHsi}dld0L>Hv(_B6O|N>7(@`bw$4RrW{fI z;Vo_h`BwD!B=JpUlW~n~>NUngD|x_(bC`E(f0!h3Oz}~vmfUj86TZr4*|%0tBW)Lb z($8EvW7LcN-_%a$ePW+eA53$BTFuoD0Uc}T4fo-d0!7)wD5eZ4kce9e&vLRk71AFK z9Ynd=?~yE8e_Flpmv;kg%0r;zj^O6E3J*$QYfD_cE7pBF#nhIz#k!P&>Y6`J2Q|<2 zA4saSlSaKatw}bS#Ga0H)2Nz$@}@N`$nQMx%a9&G^w zPg+KHh`8FDiEm{JTUc70?xh3Tvea|jw8wD6i~v~q2NmSDH8zpjr)<_p^~QdtYHAeZ zWFf44schr{`r??iboX9K3v&wk4|-E|zD`6y?ZR+L?vw+~FgbTzxhV>0D0d1!Y9ptz zQp}BM#w&zSemC_DyAMV#bCib+XHr;Krf{I54iD*^Re#Z+3=7g-9A zbWMpaT&4PGjUcOPVm6eF1${Cz*b!eq`gca9S4WxkjcbBxCnmb-pzhbMuUmDYhb8-^ z;xPTHi*#Zex5!EP5VYsz?c8RnUopsU!s>;aMO^L4H&!f>)j7nRWyL2yuVL;hvJyNL zM(7*bhpPJS;~C4#(pQUHY71#CfKRBhM+9y5&*rWkc(T+}HLqGVPN2A5QzGUrZiv%8 za-dk<@}zqVcCSS^$~-gAX(u~o+bhdMcDSyUwJ8d5N(ozk?qk^f>Qx@i@hMDzm7rtu z3Ww?DEe0a%uk?fUnm$+oan#yH7uYK?oPw5FSvqT6UYEh7niur~hy zGo1ebby0UW=FGS*TAEVIvNtH@AbqLpQ)&xzYkLrqt;?@ z4$=}%PxPjyn&6x^5jx2#&{K1neR4}_BMhZKU-6^mO;pxHe4zzA41H@K+ViIrGdef! z(oPDKjMB#u9zs%p*azEfYHbmW2;o@}+S22azEvK;)>5s)+i^ieoS|m~1N|vtp_10r zcS+3>QqwZT$#ILjejp;>GVbAx9xTdRwsV_7g zEG0u6nkowkU4{<{A9Itsi%dCH*>>>?AL9 z`<%jl^&z&}Y`0{Ik)X7MqvhSaZdcrotuD6PAjgXE9-+dqwLo)4a=`xp9LUO%9Z--h z&jh-Lz)~~M6v;MYP@XPIYiiZqYpF9X>1cO_2GRTCtSEa5Vb;-@nK+^0u>@tj@w&9e zNE}$0*$D5}XAeuj@_IT5*7;+juwvNd%q+ER7O8ML6S*lqe+a z8UE^Podx-pmnFq@VP)N?0-3u4cWz@9(oMmY63WUJui!ra0Dsbok$1Q)rkG13a8TY# zagk47u_a8ru|3IP`b^-UjtwBX!g5{6Aqd;CVA!W@#dAz9%C zTr2HP*4Cc76vel)pfUo0PX>|=Gk0Z%rAtFWqCsruk^R*qfdt#_;$$hiT?x+Lsj16f z1H5=+16JF`w^8NR5R@c?l_s5Tw;NK_mr}F`LV5jYxeq-#V9Iq~rtg^KV2WqFM4fJM zOHH`QY^(TBZ`P&{aePM{6B`ThAC3aj30D9bnP~fEy57>$bXr!I#uAcqxAdy!6fa%& zRA!bE;s@?q2fyB}J1&fz&9Sy@=i;O&08-~AKYGomlCE48QEo#m<4-!|rAmbA3us>r zB#f$wV&a!y{jlR9UWWhxMhL4fMRY>*sHc2Bn_%50Y$ilDhbceKq}ofulqj*LYJR3( zmmPo<5dozC0JA^SnnTo9)-%bzsNt0HV$rE!u5_jb;H;-3BBdQA(av3Uq-GS_#B>yG z2{{AiA4+wD(|rjNYr1_`X+v^~n+R(prl*}I(_J>xdV}M?Zc2it*~s3E?<4D)T;6NS zEWNh!NatK*Y0juA`()&%RkLV$Dd9>^+!6ituf1^AakUPry27~WRmDn_wKXMVVPu@u z$06vlZ?_#`I@+mm9dxJmf=LQk6-{+sR-3=bmp%dsLrFfC=Lsl1xvJ=)i?<5ZPcgx* z8lk7-9gjGrrB0qe$sbHoTRaJjr`4G$3T&K&fyn)8ORAL9uoSh$+p%YAvG=Bqo7yf~ zj_D=24eel@C)DD-G%<|i;!81>40M7dOVrXmWbHswLugmOHEFkKw>KdveYNa6a#A=P z(;FQ>V^0K3V{?u;@JhY*^WLouH)C}+cQ2u&9f{gKL}v%KOPo6W*w zg~!8Z4aaPQxPH5HS8SgT*S5NUHh)z#-@{tq$}!nXXe)Pqa1=PsH)6MGqlx7htWa^} zbLhWcwdRe}EVHMz0^`eJ?^+BQ4iFw#Bnz!n^DTk}9OzgWt zBY-;toby}}dqlaXbu4AMtIgac0Z`!*LydpB4hL~tspWU#16TM|>nlA%>Nctf()UDq zR~XB020zfK_CMC2tc$iMIykP(ov_q8ef7puw%1Bayt)VYR95S!H14?5(sVaeEivT5 zeI>Sn(YbBsu>|(TI`qr0{TJ&No^JmD(|)1a?opmVKBRdmz*ckbik45b*`4&JNJAed z%elZ37xx6$9$B1r*p0D|8=}nx>VHH}hh29r-KA`APPW`r`pq>a?}6U*-CXgB6`rG-yWG4!(QIc3Pq{SM#DQ;!`sJ-DOGoo5Kx6vQxIP>PQ_iep zVI&Sm-j~Jb9=YoyO+>QYg|gqmWzKmS$Ui~#t|p$lwNg-uJp}bIuB@^%;a|fFd_(w^ zM_8okp(Pq&{6%?A9e@%6IPF~{>KBJJTy!IvgGI|`*>;T=_tIm!c9a3Y?VSGrDy_UP z^m5nHjRdV1)5j4t=iE>2Yt+YsUnlWx2k(#RMR=6)18;WT{*KUBS&@ysVm!xN-Lc{U z-GvP2oLAI6H&14pN}orB*J>5oj2y-DX7S6cx=Ccd^ovYe+h*e?*0vmxDbJn!kQ71B zy>Z$_x)svFF|@Yl$15ekm2M$QIZ?^`*5Y}i>I?5tI`?S)1gmRt@^6~dOy5Qdz_B{0D6A4 zmLNxMEi>{d7|Eo!i(;-&J~r0)Q*QjD~c^>Z+lDHGr$CKM%xyoMfg{em8o5UJ*l?+WtihX=-~+^N06#p zP5g_LallxPX5cX;Un%$POKp$Cv?)%tx8gB^udO%R68tzSZ(%F!NbO0(N^#(~T)`)d zn%PxxapbB=a6V6yY`Vu7!G#0w2o}c+NQb)f^JfBsil9R~XD%*5hj>KpZBAPVdONmD=u1r5xvY2|4e9$)@I8 zob|;Eax+Vegym`9jMDcmx_$L3Exy3ib&@}PmpRD&DHQ(W8j6ns`{bsae8*uaLefYn z`+HFgK4KJy8~~o=p7cviDpatwD=J9AQR6gB>q1fv4Wv z#~Ame(yWXrvm`opkEy7WSGbnx3_&}V`^v^pG82yf0OL}%2~0TKKBo4b#z;BEU360^ zjZ)%B?vs}Hf4z!NbYYg#poxVWhaeo2_o*DqJ5t~%G^HTtXvf#yD5o{J@T{4l9S1%hDss1=>~y9j&bfO z&8C`WIa_WP_j9(5v0UVjlLl7w*-C`mU8xJeQC2GnkkUl%R9|@%q+NVan8*RjChkBnb6<~dgO-zDckO45_TKIiHEE7M=$T4~07rEExb z!lE^u^kko;)rv%HoTrb1kF%rnC{U)53g-{vmTbG_HGM!JAMK@&lm7rtMRa<(!}z6? zN0iOVb z1GQ&yxxq_`jc#k^QLNTEJQs{N88aSGKtzsl?kVy#rJ_4W&`8I!sj5Z6G1v)l2R~|h zh~#Nd+gan~_Z_KQ+BH)dC6Kw+{{Y(a7dh*45xqNpRf=-7>FbMdm2Qf(w9(}%TK5q` zAEfMXe3``G7q-!)$Aol3;HkIa4bB}q|BC`Vu^_o|xJnD*&bNG}CH z>jfZ#&MF5LOSs2At2>rQbq{)c6V42}iN~ZGi^C}af*o6mK`BujXYWSAxaxSZ{U&3w zq%C0J(MXFepWR9T6%1|zu%`xLx|R@Qyj6lYHMTKIJg!WNQhf=gw|Z1^`Hlm`=j84B zQWQqJwy^YsCnWQeQYR(2racE*N_~mlOcL(MjWD;ja0iMMTlg)NoaAy#w=Rm=QAHCrWDvu&{n>9cj@Do`^p=SA+#yv zg?#G4Ncz_4>Gi+UKAEv}wN7PH1EI9Iw1U0g@$TIp5EEkM&rSI;mu}j%mz_iv1gp?N z*rD|prpGj8i%~*c==xnrQn9vEsmg&BU((LJOnS01=!WWkykBSPR%Y6?iY>t`0GAvX zQ?+4PFOanopxh)|_M1IEbOZ$nR8-Qtj@wB1F4XFi@gY`)TZI z&l*lwqHcFJEv39llmYyy$Gt!`3T^MdC5act+GPOcX7tMV@N@9cn*2t&zO_xTh|Q>0K>r z(%Oen>kFbNF?^^|Z>HBxbA!``+!5wWfkmUF| z53BBRP19WCK8|gwO>kUYR`Scg>bs0Bpq(-CHP$|zY}2-j_`O&{u_iUsCPK&2Dm|-YIw9i!06=ONT7GVs zTMstpru<1L11b6wo@=1wrOA#-@R?Hd<5%e26{;GsBF!cPw&#P4A`6OTqqOG*DLmH0 z!|@B%UlLb$US0ayu3Y_v9ywoO^1 zrk2~R7A$&l?1=J|;8G)of)b^&3+&sO<}Q zh9(tZ*vLJLg#Q4;H3ahy(RXbjdt<2962sO@(t&Hz`Hti6Pq44OQqlUKqSxs69bu*x zsOunaZ6^yS>yK)FuO-=N@zk{u&o8Z%@ zqun(v#wCV3%4t(v4XC%=0)4A$1?JPDw0*wOCLn3MWMrknt_zCC=Q!?v&b6zn3{L5W zyF|-frBYafCC8iib!9=k{JH*BjK zMx$kml$p`gt8Icwm#&GEdFz5^Y6#kne0x+`LAMN46a^>jJ?V$5iDuttV^6@iK9t6o zwH2vY^@ee{pXdGcBJgReQK|el>HR5sE;p%Rp>Et7h5_}t;2d}FMR8Ji#tj4LQ+Ymifv z)vi;v+4myk_MACrjuLagt`y_rlRElKoV)lK;@Vtwvkd`AWxtgP?Zr94)2_#4F&%(+ z9u9r!-J~jPQ1tc!97z1Fjt}0HSlRfw4aia)OD(zcAEhdGdrqtzq=XhdKKz(6U3s8A z2QiFyKWg|abGL`1Lv_WT$Zb60tt~5Sw7F`1W-5qr{lh8e7_4t_FEVz;utZcqq7s=Y zYuwgXYUq~?A`;^b!HUFb?7G{}4qH+=6iQ<6W%Nx7OQ_+pM+8-krF2H2i#gjqqe`b- z8ds?m#kG{EezcES=}9`C_P~+0Fpb2p%XlB%Q0DMg92MIZQyIYgf=auPbJ~t}6D^dc zTt`wCenLkTU`@4HnSGdc<_wgierFSm8pd9bUaKlIW|(2L;iT=tc%`X7fpX!M^A=Tv zsi#^>0*}kI@@SjxlYZF+GT1zR-=<K^Vhd7E3OPs>7`Vk;l2*B-VORu;x1M;$4T>9AWL4;24|eoa6hJ-5;M1gl zrX#5hww0?KQMWZkLx_x-KBL2upeTox>bMkMAc5G5g=D16^Nt>JH``TlRFx)L8bSiH z54opxTrPKJjj~fLvciAaxPUh({plRrV-l2)S<+582t3lbP~tHpGV7U6%wUtnF?3gc zRsz_PTAD-65~lu8GfMsTT_eynoH=g+?6GdnIT*fc{FqFdf*^#PZet=6#`=i zCS)N^TbowsDs=pSdjJpl*QTGs!rX?urtFB2IsV#TNc{}g4SAAGiA^`^1t_huQiGqi zf8k!4{{RZ3k2~cfVRAuHSN6{O30J-*xIf`p>S>gm6i$&)p+cT470xfkCed@sZv23M z^}@^l0AFspJ6z)YQt}&%u;z>8~dN}QA}L~-sZ zLpI=WLs6|MT&0w{rxUwj?ag6s)N!R136_+Q(fN3y9ffI|HH1aEZz*U3kb99yWyp;Q z#m2@KPc+C+X>uQ~eV@yC{DEYepJ5vluig`*3830s* z(QLK1Y+R_w1>~fipmsQ>h*Odcl`0`^PCV8K1k@h;sa}bE5F@gXh5rEQ7C5KXU!qD| zjXk+4K_H}#^%~SS2qHjJ%>tmWmyY#l=irR7Yfxg&9=gy9&vTwBObN0fZiq*yk}wCb zq;|WL4zyWir1GAA)a3#!RKAk670 zV0|Q)*j2lE>f|Z< zo)C;)Tn|*Trgw3?ahz7Y^t)0{&|2v)-J=4B8p2da_pO1^dPhy_JFH8p-fbJ4D?$=@ z1pC(uS4x}QdM!P$bnPx4mT5p@Nsivv+I0G>L#fHZ_Nc#6FD%(E!%W#UtC4oEF1m#L zr|->K_KN~^jk|nzaufme3b1ND)ydJX3`c=&ij}%kxlVz~zQor#>aCMeB}GOhOMBD$ zVX1B2WVpXreC56XG?Pi)H1|-OnGV3Fe`vP&47P-fXFLzqj_M|zyxi`wZ8rN#l9yTZ zoO6BvKU&X9+cXbF?Pyf2DsrU_?nL>OoaZ&Sdhv2Zah^r9Y!~Z$GVJ=DMGqyCnMql| zLTaaHr+Qw~Eq?&YuC2W0^`MeK=e1qh@8LDF;>M2S<;%NeZtnyvf$#cLc97|vx(CJE zAjk+2lYme0D>Zs7ijGCyw|@g2(o}aeqZ)bpX>K?GG{9_O2P5fG+h;>{74a7^MEtOS$!J5X$0To+GYB?yR$n% zSmgJ~0Dn67It3j?O9zK|;@%4n3ou&vKIV-1HyJ7Bak>XoqjNhPNiHynPIUTf~F>Rkt}B2Cp7_Y&DTfpPUV zB&dH0A6nSxI#B8eh`J_E`al@kc}e;KRbN%QFQvMTZgWO;4$=_oPw$AV;H2k_8m^+a zsN>{pXS;+;k>a~f^^c~uuASbZH*%h*3S~UCjln*|8jV^tk576NCD{E#g8YWwD*c&k zalG&PWYb?uJUYSY<^3|_DJymgQlz0dJJan^pC9+9Sn39zn6!T2#tKjzZC9|bJ*||q zT3K1z!#f%*OCPaU^;cUnc$Yr!ZMLEcBrU?0_Yy)$;9|9(RaqT!M6037r8I@Q%$1x3 zkPjcJ%isf^-22s^r)FDpExO%qZq(eF7bJ&?2Rl>$0O2CIcUR_2ByOI$>>(tryHR@^3~7PuBWWR%B$)m%W3UtTgX-kZ9ic4_N8X4!cxJ;4nH zeZJJsV!uc!^ltK;Y?S<|#bJ!xpJu7bI~adbwZwac<)*r2@d<_zw5?6yVSf0}wI|YA zHcNVbUZ}fV+;Qyx0I^zzRCDi4nw95f>eeJ!9C5!zy|0ikl0LuIpR|Ufg9x2DsF*Ii z`@5PUM+Tdgxyg~WgDpR2UE=1H$%2+#$=Z@TiW~6(YFwPiS@{9}A}eBb&r2uU^m7*pL=v>+N=f$pDx1}MW(C^l+5q9C@T_y1 zyRszX19CLOx7%WVt^Umo)^jH6;4bs9Dz(v;7)&Z<(in=LNul#+IQOG%v7+1? zPws+9>`BEnKc=2#gdw@B+MY&z^G>lWOBVF3IHGbePqkXhH%n-_rI6_smrKZKs{{CO zcr_!kSzAbL1~XxP%TW}9D^Vgt5#Doiqz$J%sQ9zhZNsu-E!MNjf&8@*Z#XEhnJs+| zSYik64YJ}CK187NQG1@FfQ9Tt1e~ih;~wJO#UVkp2FUpmqfJwnZ*juGLPFD?)a08i z=GaBVz`ca2h=G*>`IAl4%A?0q2>_I*^ZS~0Vmb**n@}86Mg8X3B`Y{2{{VGfHT;<8 zYij~MF2t*p^*QkhPSJn~?M}>w8huSIWosvuE44DiN5jZ6Lg8c_|&a`yx{r}Qbl$%H0RL-Us8vPi&)n|2V0xy)c%=rNpJ$x1L}3L=C`FfAs|GKjZ> zo~QA+A&E;9z{HjPq%iG$VpE_!Jy3FN3S0KQapgDjY8w5#-h{s*;KE^-)x|C!I_pjV zxB@nR!*9JxH?R?IaM>FbA!RMIEk(sJOX7y&ln@!jliU_8WH$)enIXGi{s(A@yg8h@ zec2%^`t1o00(|fCHRsEn_4IGjkWmNW7hoZl>%uqbL)FX%;+kY7mQQ2MR2vWT2(q@< z{B4c(&Yy&~KgBNyz+vN`YsM86i;+4?TFpUH-wX}xX3wy-^23)6 z^;T4srz0z&M$=Xt^#?2fQCZC~7u!5&ne(5Yob^0rqiv4Rn2Z`{bk@nPZK(d_=HTVB zs)bD#_|Ei~kH%1BpsxI4;feD{sdlBbx5By7;9L+Udav(cZms3m5(5Qp0){*kwBY3| zxYVUV7cGX99U9)bH65!@a!i(|wu*cPy*DoVK<1bs<)kTOvsB?Da+%6gP9G$=?q=P; z&INs%OhlB(zlbM}&vd{{`o!~O>nm_}>xv4`pjdUKN#RH5GJ0jiIj6O`v(Dfbd5j(a zQBEhy{eteg4t&wYzeC&dGG;swv5qqj#l`JbR777-b6<~;+0ar=q zr18kF1P|+Lo4zW&Vg9q7Xu-$v<>va0e#Xn=Q5`X!xi>Mde$xHiX5$Adt9&7lsw*mh zw5Z1~$HC!+#onPhhTK!C4lnh2j@O=*C&3um6PmQeyxC9 z;Nrde0Q(EAueARMD8O=p6eImFgWUSqGU!~Kdzj{;4DO(9mpX{)*szoM>YVCBwL`{f z-j6eZP~eRPl9LcU?voa>9wwl^#p5wu^Qyzr#*^D67qbr0>{*kTt#-^sWIw(yP* z(>D{XuLU!v=UjCJF^;NIj*eLVkaLqd5dW^4C457}BD7RyK|)Pi3;Hx-DSODV+?)6h zrm|S^wn)7U3t^4=P;FONzObfC60I7~d)qD^b!=uZxghN|nafc1{@|OEwaeBkeT$nL z3qmTO0_MJ|}RT0Yg zNoe4Dqtv14!suzl)YZV1W|8_gd{?k)%yK9zwxl0`0v5C{c17y<9wy?_&T&k5Yl$BV zr@kYn9GkxH`v^Z)3hgQIXfKv;Ecr1i+`Y&IA+5rs9cm-LV;T}&ISDa(seeh7J0a{- zdeK|rWXunfGPlYt*~0m8+X1C05mq4-fO<@)elxI7i7N{y)Cdw!{^hYE^c9&CKFV5R zDS8k#`$$~9B0gUtlI}sC7$607aSxk!Ul#X+pO*0vo8?PuXlai5Mn9uhc#L6t#CK&Q#%&uC%kl3Bu2c( z-jVuSSWZD2ta*`mJ|O~Omzwga+3ifjX0ch|8_!}EJz-@`ayXJNg|gM?WHFZU3a6WB z)6wBGvdbG&hTq$SpSn-OG&#m*tFmj^yf;Ix9HJEWy0eABaaN02w#!PIE$;~J zkx9|bWle#Nr~Tju%QNVK@{)_6!hKT6`2lvUP0?UaS!f=VG8tjQ zv?jU%Cn+J+%WP-CuRmVnItzCm`|GM-fVg`aJ@p{nJmSF<&7xu9t;|}Jny_|otf#vX zpe;M)A?NGs4>k7>%h&q{C?TnIqN?u<`5~_ufo;(-8haUwTO{nF%piR0 z4H;Hej3LvPqKvy|(VkALU;3l8?=@ngjTTPa%3yXMQ~6uijqqh z^Btx;8&2b9b@e+yX zB!+UY1vvLS`NPR`BDR5g?HZ9)L7ZEZgMx6qjnC@j+RIj`a6Hc!=nT|m=1qW7C8}I0 z(WMX;>bmSAeo5JEEBlxGUEZB3)SFo(W$G47Lx>vGw8Au$K?appucUDv6D!exj)Bw$ zYGK}^Bw}LxNB;nZiBhsITzy)?iM`vM`HDI3bTI*MjJ;+Oll_4|ljyy=SAe(e2&L6O z6qIIy8z&uh-zsCXPBiP%&X&m6xQWwm>W%?eP@|Q-WM!8ZH;gaWI%ea?lE2i%jU1QN z@NYzAaIl%*%fu#|Te@qCE+lYg`eSmq7@15u={HKM*nE1WwOTl!m|#Fl$kT>LF+PEm$oV--(EoMjrH!)Y*$E_l50MA2rO&JpF>pk?ahMlTZOjV|s8Cuxa6Z-5 zHQ3J><0dT_m1WnybK6xXLkOk{IK{Kbr@TNeeFh^H0{E?*>`!!+qCW2GCGTUE1S&tv zKYAHmwF(LTeypM_7x99wfnrP*SC=&Q&l^_E4T^7#gA`~nuO{+>!8f7I5sD@QWgyV; zVH}Lr{))UxEgW2(^9TB}YJ$>lcBKJ3nO{9qjo*jc6noh;*Irq(ZYH%QfAq{R-Qo}B z%Ryzyij8H4Jd@;l4Ae`7SMCjoYQIoO3Y>X7Sz{R&KWkkkBo3V5OZj%xPQGGAkn-de z?U|-gdH|jazn7d&*u&ZZ+Qj;?b=xbZWi9Oknwi@#)^Vq)T};#+k1{@s`~{;&zeUG? zfXiK$7#FE28&YNs0Bc50WHQ#RqOmH`V~bAsC7OLUhi0GUL?#40?(3fiFX_#zT%bEO zI2(z0)Yu1ZLhFmhw(k6_MO@_@!!${uxa+4n_|U@z+{}q}e+&C#9Uhr*Pav{*HLRvGm^EBJMNeR3aYtf$d5 zME?TBmGZYgNKljp*mBnRX*pe&ioJS!84ca5HGTVf^jI(D7tX#~Q}gdX)FqJ_xT;HB9g`IzEnDG0j8OjwQ9gzwa-kiYRw$z|Z0!pg%LxKq$KgUtYz??4 z`Zgf2k(0x---4(){y7G20(g>0R>CVv;SBpv6rzmp;{}Q~^cU@3Z)L^|jq?G&4!)m& zJf5&)x6AU3lDXDbivc-GmEt|$&f-8u@tQim^V%BV#`W8W!s?FYwbZYn*X4S2iVBCj z8!u}qFxU2Vr6$3;Uq(O8DBvou6D>v=6cBu(yASSE7Q#bKwhg*=u@K$fXN?ri)D}GP!SHLQC(xddF90=bS_qJ_cHEMZ@U%JEOUBtK0 zy@r=@pAVfJ79hopaajrjTF6>qTdxFrcpCfY zvcWp$Z=kk6epUCodOtpz!Ls)a9_pp`cr3V5_cL{Ef(=$mpK=djQijm4%6!3NYYte2;Rx?TUWQb#mKM}D2(AASS-@pZ}1 z%Nir^WcRf$t#O;YTVG7n_Ru;K(x4wlWrr^)gr%tiGYOb!PG2iw@|F4AA3{trPiEGp z#3rWrGX#waduMc+09U|qAX=WInIHC0n(6WGto&nbu#{LV`-N`iIZ?jV?ewwM&IH@s zLo9zZXuj&_Ln-#rc0f%N*;Q`+blKpx*Er3ZUhKP1=j$s?%kTNajnf6*W|~`mf3S8| z_9HlHYkKMa6mfZ{w^a2ib(;gr{Ky^n?d-&_!$9Kz^r=RoA|uM%gr)9tv^a*9ib(Z5 z!lsKoO>gR$@O}|7m0Pfct3nT#bxZ|aMdh0<91}eoa9YpZmZv?lVZ>%?*a|OB{8aRi zy=2u|O8&LKC>24TsyP54Ns#VBB!5PXEwVLdvCBr+0WU?58L$ZkDek`J@+%k1!I3R? zK8SFd5G|P~=X{MCuqW?I6}yu|^X*b!^VEgDv=;ehsa+xK9uI1x8AV#kwNjM5%;47F zouf;yS6NNjU>N;lcxgYkDIViBefCW4am1_aY)&~)L*9WN-m-MMwg{TIJonz4Z^qi& zSWP<1)~#~2Fb`;t69;u?>Yi%eVgd3fyamdb{P$I{Ta5gL zuvP}Pa!4e!_4D2=TdA|^n!0B+gi&51O>X(YR*d`G68vf~SuJwC$XDvZSvW@yjt~My z_YMnBEREC&CN!GUh#`R!eqOG7ewXtpO%6X&*~|T3-ha1Ttjtc;TgpMB)2kbH9{CC( ztp}B?&T6Qfsl>~FfV|nF3#4#x!C~&HQ_@!{<=u%Y{s}T z?*)O3g^ZoiyAL%KR=$4|7^@-$8}Nf)tip|!Vt;Kh#FWO@_~$6B_{U!2 z*bYqKWGg?=FxN=k8D@GzcpflLt?+=O}K7#q=R4r|A@&yQp z4d;iS7jNS#$Un_nB^0LkVp}3$VpspkbepkeWC1C6O!Lf0#m-VxvjcHQ?|g~nSrR#I z17x4nhtp5%{Dsa#HfF0-rPV=zJ7eGJ!&NoNe!eKp1fsA zJBLlY2qgsRGHgoNX&W_HPY=vxJl9DT?4|3L4wUtXp5qhMutGa|yq!(uZ-__Oe_|`$ z9g_)WU?3{u(Ra5Nz9IQ+!HUK~zD5BRf_ zo^@7xvZ75sh)M&6R6q7~;#*tflPqt_So_C0tOf()ChDqfW%i;j>&TG2>JULWmODi7C###qs6Y0o zAiWHg@}}-kGf^LO@xdy%I3q?Jv#@l;;w_>@&Jc5o7%>BEEv7(C71p1|f;@n16pMzD zFnj)fD;B?>oF=SG@x&~;PHs*6N>QZzQUK;?SLHT|dh2rQRF*l@Wh%Q=Dz`JJI%R4D z2M2pF_RB?U^J1^xo7vqpqsl7SSSUEFobCqe8CS=zTG*T8TC2l07+>;fa+qh{t)j#_$@c)p7Z&SD))l*O~m8_S(m zDU44tcoJg?HV3|SD2MP)`ZIL#6STbqQ{~K zBzwM3C8j@Ev}|}x{;>b+Y&&BeY_#=gm%3Cm{HKPotc+x&_#wu5iPIn>Hhu8CY0`2* zNnuEk{1rVZik>vxYLw+l{1ds=uhYHnf$hCMYEy?Jaz1RuPK)121e}Vvo5Bsj@ zdbGmCHxnjzVfK&eit8#EEnu>Pcf!OQxI#~|P1n@9l%QdWc!VO~itsJaB{^Hg;G|LZ zhEA7dh2b22mz*{(-l$I&#PBkU*_o4=deRLd7Mkv)vD%&n{Y4jjs4|BqRj) zbGgWGJXd9+`HzjZ-uk5j%IZnCO6D1k`Nq@2#^so{#%iScrPjrft4x*nkOX`*K6 z^8i1VhQu=xB*T~Da}u2v3C1SvLuC1M)t}E!BHNUv+NCWI9_SIA7rV@UWcK`S zDQIC-No-fwQ`P8Oka2j^Y`qHFj;YXnET9jEx>Q_a?sp+GR+hEd7Mf|1Abr<_IZ~kw z6(Zx(iGD)1qI0M_*q~s|_H|tq;`6n=*5xG!N56wGWWou`K!{Cq5h6Z#1Az)1_S-NN z_9I$wy-)dBIe3?(y8qm-DTuESN(L2kW%UcvAZG8zI3I%0e`JYD-Ed8BVEPXmhw?W< zK%R{2dJg|gh^T=(8zm266NgLWc~5{sg#1hr2S+nG=^IrMk4)2q&yAFm>PgcL&I4+^ zdOP0o8Xgmw0590({zkzdNz=`*mKW^|-WH5!H8|LsQR6FF76g@ClsF7Uk;Dz6fPwCo z2Wx{{ZW*71w~2B<*oUB?btOleEjhAc1K%_u`h7+H207J-#oD+(WDxgHA7A8GsZDV; zyzaC3`r}@AwRKMVg{*o)CfK3I{!2lK`5Ae4ntn$uMt67j6e-VQu_{O6dtcrKSTP$Q zB#)lr(VaN*uuZQHB)CYqEhUCjU5Zh1;-FCt%mf7du2HrDk&wmWc%^zhmjP$USeO%k zZ-A3nhF!qZ&ackLrdYR=Q>lgu8Q9+LcECYt_4-FI^<8)fQ(s5{?I{io4jyX$BGpJY z!WM`UUg3ol$vR~X{6@x!I9$@`I*aZCwWlhEYaHK{QAV$#Q#X$*Tt|XUZ^?gvH&G*X z%)K_!s!o5pZhbUl(c}X2f_fQ-XJw#)q53nYbdB!eq?dc8zN|T^uL~rsKvU+G`YgDv zVFtbSg-Fx;gdrWQM&lQ-L_;;zZHmKm&-yhc>4x{u=N9ds3CT_l z7V#Qka#q8^k@>vz75YZp;-sYr4=oYIfwH@@-_Bzc_SpP>RHu6NqbA1H z=7FwmC6wYFYDPF!*V_88zUJ517Sj`kDyyL|iLiL7xf;9Lt@miW;GZ3*iFt)|R3@Ry zY;JRHDJq{YWd3M2ln=KmdkuKa->7nar%oNEzGhM?u)`tp;2h1oRlF2U!%BVG1}n5H zgUyyaf^3cG+^F+FHrthN;x`?R=5JhmeB&jt%wqla-TSMk86j1%M(rVRx-F5Defyqj z%J7j2ChC6xy%{eaT9?0fajlgG;N;d!+O&_mLK_X&J)9{G^6Y;2`U%T^`^|4)&HZVoq5Xo6 zkI`W(_v#lEzoSDA<m56AR3mUe5nK1~uB!@Esh5qs+o5ew8G7qXN-u$`fm`>f#I(lsM zt>pO!xTxV=F`OE1tiSWqFqw_o?q&R7fSoJnAjiA?4-owjr=*)ulxGWH*_8Kj>jTAB zl05Eh#@dkNwRW^xT)w+5aXb2Pa$Cwl;?}xJ{5WKiSActxwHnz_fh{OCAdOceRA|U| zqQ9|JK3(ZylzPFWYGhQijCSKS(nEW>hjQYnS*##2@VixT+N{FzZ(QpP#33k?qE+ZW zz&GOMm<@qqt&9=Ym~g|qB7J$)FkM}m+{1a=0JtOVcSn9sA~E_VJ;yia718?H@tEJ< zM^oTkG<7b&Sa|E#$v2{8yzcm$NV$&sxO8#2C#3{F@3s{*dbKJ3Ou?k$+bUWxbddG~ zmg{Oo4qiK@uu560=rXEc=1#_;3T!*96*u{(SOL$x`PbiKw9OQPTjY$p`X1G6tUa^q z(2Mq?8o1=le@x91w{Y909Wiho-wkuesamzp1~~fpruj}j(y^bxT>mf(WsbJ%IL>y8 z$m$IqdG*5$R>^$Nd|TbFqO?+woDp{hyxqP(Z26mVxc$zXvZgtvTJT<&_3NU5;aVb8KT7xlB7!>XJd|`qz z4&uM5Bu}rYKh*zJ*#t@tA&7AwtOIu2^Kg$sywG&;o(^dGrh3l9X~0z$ENZ8J`@EQs zB!PD~vhgX&!0Kk$92;ruUBH5?mR9;X^sLhb@ep*k(TzY*Bp^~LJtjZo6vQTQDt-$=%>=zp|Nw@zekSH7^xlRm@cE%N;ws=^Ja6=r0B6vYtlXb2gon20<~`Yw!ghsd=u4&*2-q& zrf+(!2i>;5%TbJ*ZS>p?>LABOW@O>3NWocAL%haOJ}NvEcwStw{LOgUaCwHuFHR!U zmYVkrp0RuI?ny^vgS^A6r8`3paW|qU=uuqKX#7)Kq>#~BLfoyU)dL8rCG&ND^IEp# zA0X@>KmoDzpwT?W^XeZ!raJMy|Gw=aRbLk&OwTm2F>83wZ+zV^jz~6S@&af+}bIn%#62LM6!`M#pne@kZPyNC9!iW}bKL-{l8BOW2 zfDg$?&qDGj3!4M;izPgB1HTWB`Q4xeIc|7PB_;?2Fm*3;3IyzhY?}vPei`s$Z(Uq_ zTf!GMTa(Jaxve#0q0`^Sj=F0939B}q*QAwx;H$`96K%A2Wv>1dA8pVQ;b|xgnIbOLJ(g=ux+;B>~r7|2)#aA^i#3+59jq3(5nI)XhoQja zjs4)IhxCA}^kWH?p~kgjSBu;t!`G~|T|p}6#}5eKVb>9EbjEJ8sb{jIv;qRWdP)iq!mDP2|SAB8B7nib8l*IR>^-=>VR z_QcbS^3w+EPZ#^qZ`6l;ANi^IAplssZFd(%rY?7*JMQ{hG7 zuHYTQl(Bha-oje?LH2gJ^5W74A%Ve;9YS1KE`oM#;!w(q5KSrb4%;G#=R5)yXUOBd zOy8tc|LiB*1TUqqabq%aoKzVoe2$$nmBDZ@TwYbbsYapqDx~Sm;-h*r{-!c^quHNl zqV;vN{yB^%1MkaPZJOdI3VXpG&ixZU(=HryAQ@A@W#a17KdZ0^C;RKy>n*Pt8dp`h zjx}R8*4|-n52yrvPXy=2UZC`q!d|EE+{G=$H!RDiOmxv1{jRO+{Mq!mFXkLaLY%0L zTMUC1PTm3uMS1m@Na&^Rzvxvgr>V140CNlWlX)qt{*8vt*UZ@{)?yL^^hcV`UI;z9 zrE2Xf2IFh=(amsPA%aeOcvjs*Iau}3~ev5?kw*jVy=3iwd z+)G1v-mQ-oO4-mm)X0KKy$Xp{jm3j*`oGw&$G9(Ivd)7)WDR%ralcflHknxahF}*S z>)k!WRIbSTp~Hed6efB6dGBNWWZNZF+2L<+HY=Zjk)KgUWhtGgZ`}f8_Ol@xemGw( zB>qV_)`JvUD@3UyRQ8?8t^9ljX#GI{tfOL=b@*OIjirYhA*IUXgfd5abGAwOlNoEE z8h@N5V2_`?At6THpQY{o^iGs@nCg{j=R1p{Q_eW9k{LwC8$m zeXxZ@1N+kNwyHALSC|LK`gb6uTBk*$fq_4u@q^{;3ydvlBON0%F0;~-M-1UstzrR3 z;djOlk?4Z|`&Vfcj<)T_hF`ST?(kV3M}4s7#fz#h;_haIEFkHkw#KcMts^u>^Q%S= zHvI^TnKs?a- z#sclOY*^r5TjK+Z8_eGrXUXS4f|5zOwk5@!v3)voHKaZ$OpYGAUS$r=>I}8tU1oaP?v0HJbjl29MIVO8 zXrAH3*~+Cz{Ct3q>yC3iR+V53JpM->s2-KrKW2~P?ynro9RF@q*<%I3Bgpp*DZ`^c3J>$d`Q}BN}joJX?6vxJXw7149pEU}r z6QeYFQKGT>qE)Ru2)W)HVq`jo=+PwjAK`4HJV4rQjmMHyAL!-NyrkKM?HKKn$06e0vERb&r5l%!w z6cp_tB~*70z?itF{@fE<@Eb+s_tj_E!o*w27{R|~jEn6&s(AG4V`O|hC8UOgX>~4! zATSU#`RY2X-T261{70W5%4EWkxa@%QhZtY!rhA6LlK#G;$BNEMr|5=7>vlQ&8IIpPanBooMkz7 z$7uwz>LsxcpC9hj#~@W+QIe7{ys9gDQ zN?R%_;V$&zO}l%8$_FybCUP<_lOJ(K9~0_=kbZ6qsED_;9qlPZIN9750((M#=u72k zBK37FWeh$XAp)}o_3@OSiZDFiO_U$?RS8<7ct%Nil7OfyEHDk?dgi&qxKDuoG`_Ui8Ou6}aot;d<_|O$=}`sPB~evWmutVt z0|Iio+Ju>OtO!f?va2sTB=_v8VSH>39f}CxFGKjE9jxP7v;eSFB&qf7k=9hj6VJnu zj>7a>1@|QBOB~~yWLG7teYVRW(kMGtqmECNq=ToXflGG7bfBNXA)#l^g9DZ3@b%%} zKDyeEzy~!BAe_H}a-sn%`E8=Spczv~Q@LxN%58!hiA+_IRvh-5DAoN*XQgh&9PJD1 zgCtex_n>p^`K|hVk@fYvVCAr)5ud!lk(mdPB8WjryGS7QiO%K99 z{@^IaYVbkRtPEznyH{S>{_qp=gT>Z|*mPL25dtA7JYsNph6&f8VQf{rd~!TNQ?|N; zEEms02#A+1EVeAveTAx5z{1iNr48*R+kz500Ip+7wvHO8mpd49?C!3}01Z(tcYgbg zzv~)vi~E1;WhXwQOhEe4>p6fpUhqi)?M>Rv5CKZ!rr;6?!tp@t;qFuX#-L*h^t}6; z?;X*2ih*)0zNl97SR+N(AIRG!#IgX$_r<|;`r|q%xk;nC{X35q#G<0&K)pes4Z}yJ z{UZ9fh}blI@P}WO^2;hiKC^l~#SdagV~q>tV5EdmMf#lDzJC~ZF!>tdYi@Pvk(Dc6 z_&aAcnsf{%N7uMrgGbx0Z_y#b46NNM>em2|xWCl>Hm;AyM>P^KKkZ;+3XB{jaT4$R zkWh1?ztjUkRi!j3JaNvE74H017li)7`%~%0C9&vLJ-og;do1+wRr!NBx~^cc##^jf zH5Y%w3Ez zl&O|)ZEnJY3>B2ZxkK3!d4OEw;=6F`TBGNp#%Oi7dxlF@Iu@K~ldl+Pcw+t7%t`ub zcH5NdI6sT_G&@h*n@qK_{!uJRIP^Xe{mMtuaU+~vN|=|5Hv!?CzQtf-zzF`X`Jgl& z_gX?`QoR5|U!trVD}1oKRsXl`YyD+aH(>(&@>ON|^s$XG@wh@eNa++Y66)xWc8*^k zST~Vk5s_B-4husXj0N9(+w*M`D^-Wud)ycXOl$l2dNhZv<~FXf!vvAqZi(>~{2Ey; zfy++*Gh@Y~ls6;5hqX|SQmBPNV-}G!9W=LkcUzG7uG?@;l z`q*m#=7;LyD$jOd9t>^~u9S&h_4yT!PlyRGK~jowMXTVJtYJb)AVTFO9AiUcz-0zNhTfwen$Q$97p&o`FPv$+YUer??sX##MA9iwrKg zP_#yyL|00hIjiCjobd!n9mjfYp@Y|8M+${uvu;Zbr^5KUfGnF545NyXIn>-# zGA^XmSqES#Fob9{q4W3WVOdXt)0o*x$YOK&WX`h(nHi5J|8nPJEdsXtp9k|b$$&ya zFVcu(oObRu2~Y>Fp_&4vbfk10udeXdk zuZxaBi>^~B6Z(brx!NgC`^S8gFa#j#NI=9xh$)B50iM}}Q7Jc3U>EaP7 za+eE6&6?CKuNlnd%_8yam}u9ZV&nbn&wcoqwu$WDHr{!^vch4|igWqhO0Py>&&v}X z2G5tjAKk9q!M6m98Dolp-R{V&BFr%V0ZiKrA*UfF(GRQ}X8ctn+;Z(KNz=C?7QSbq z4bo>vr++V`5pkF+Dpm>0duahzK#r2L%hOx?$mMe5@9ibxJ1d1uGQ)y*k18G4+NJA5 z&cVT`$le;r1J?y6X`@vhZK6@W-5Fh_XqE5p%Bkh1+I5lgSfKS#hNH|d`TnCX=^lZ8U@`=)aCA|7X1&694axA|uem^Pg9s(iIHSK? zIR|Qt@x!8C1?U83q%J6F9lv~;2K_`q0av#8aVf9TOcw|mwr^+7DtxST(S7sbML4Db zuqVNP<X&ju(`k@Hg3 zKHS+ZcyTanIz57NUuX$QOjV}5py53f*Jw9C-G%*pG+MEedA;72yPcHtkd6|CwT{v^ z9|YWrHuvUr0M#a3?gIYK)gTIEk+~$7d<-Tud@r{hcN_|Vzwg^n-N|paLajh%z{QG$ zvokp=zk^B3KZSd9I^IOvK415b4N#6gQ|aHc486S$_;c$;h!y2sOc6nag7IEBLg>-{ zTQ#Y&M6^JPYl^DswCA~jQVd)1@!Wo+7$L#`@m1cU-Fg6cq|B;-{~Bid4+kuy%m7s; zOkUQF^Iz+(k$_ud++8|N@nZUsvJJnvz}mGaP!eOyEz$B1k^`(qie*8UsB(2riX0klpMw{znmahXStrBLy7u_y6N+^P~AxRk++lfC4RHT<&A? z>xU@*#lN3_I@jL6Z@*_VKLgMflX}Jm!a9lejTN7XCa6cdQKW9sv2kTS2}omllXy$&m|Jp-Su8yV0)-^f>jX-DJ%xt;nasUugXdV#ydN-(%SnPQ-7+l%U zU}4w+^9u%WF)GJ%7p`aJ`fOcM94n|UjN@IQw5+8-gIb;_)fCL|F``oC>CCx)s*C9s zYYC{uM+2GPTsKa5=pqP<(S*uDaAe}=B{y*iI+X)m?*MO*^$ns>6K;Hdso=dqEr znq}D;J>}5T5UJj<+CGtsVN9B}dU^G~Q}h4t^HuP;n*e|FnOh{qI0Y^p8(XR75=AN> zd*dpvdEZF~VxuQE<_6j;fG;vrk;xiscaN2k)%rIO9Wcgd6peVO7MkI)coxQO2d4w{ zLXRmH<&dn0Uj~m7U4t)2EhTA5v-*W{6Y9+P(AWQe-w3)v@;x1Zwf;5oCMUyMS?F4< zPjk+g%IHN!dh<6GMAu|$kDYinNOZP zC$QPdY}x&ezbWr++f+)XBDfOcp)dsR8I6L>cU%DGatWaoW+g96$+v!i;2nMa@>9;d z0ePkvMaqW96)`uT-d$-?$$UK&>x`d7X*=M%7{6_S%X1eW?7s}pHv*Yrne*Um&*O2Q zB>7J%^Or)go#UT+qD}`M-IY8~P7fxHISB(hHkf)brxt4XT;l-mm&Ys4Rz2ebA%vQ@ zAi>?p{QKe7e!e-G)-n$9FXCi}r;|bhM^}y-}@w$R9l0#rY>grLjKc;XM!lCg-Vt-dxxbIsqj~ddRhj`n=FnzgXa_XQ2 ze=+6Z6C`BUkwvIHQ&FKyS?I4v=K2JHM7^;9ka^m`ggWi>bI@__gcN>>#rR`9ai=Zb zI@NmAO#R2TYi0?SO)7ji9b-}PMJW=YB=qiY>PXSD8(nwGl8)9EX5%_BKtdtsK!V>W z#aaR{3Rwk$>NWQx@RfoHh7P7H(+w$;#7;I(=i}@3mNh6X9Ag%)s5W^qnjox@#o|-J zRg_ohMM@A-AX&iBUO3pm!BIiaT)%*Bsb!FPb=e%&S?m!`l1a$TvVW4cOF7#?yb8RS z3y;y?j+mv%TymV;=Fo!8Y9Xr0m-WK#Avg*kfY3e`Q|6J*Mxa1v=JRxRFtNx>6wPf} z%WtB{EZX(E?$yRqsY+PoK>gl|(7U}B9~DNzQSb{t!95l_y8c)2x}X5=PMF;RXGYY- zeU?MJ)gmS|$!#;%`rK(6^-Z6S*+m+G(lKGZfK=pd16ibSb`%ml#{rZ>;ZyBSa)P(t z$+E2I+ieY<_HrN|ndh_zyJ4jQ87mtkuW*~qbR)c$^-)=9Fru)Wyx7u4gd&qDxI#qh4PXG;m$^yXPiZv;~#=^eQ`ibS6E;uUtu~ zjfZ-ai5nlR8yRzi)kasBOU#WUn$3)v$IJTDPvrj7gA8&t>N~G-2z z<&a!woQtkCp$(64z4&eP!zbld+S}uvQ>jhawe>h%&v!`6&v3Esu6IZCb1&1r+>3xf z<3-8IR7b~=fIYG&+*}%|v7EHowD+yeY}p+*KU+rY_mjM0>@*t5cP(I??c}QX_KXU@ zUsO8l{R|*mOWaxMsY(z3b(qT$o^;qliZOYD-r?Hk1eWi$X+9IM61pF&2J$opeBnq_ z=34fqZo0~6dSo+xuXEbwDdvEvNk+#i#Zm?nD(C8N1Jos{nW~}~fsAiS4wE$B*PizM zDKGNF{&ka%%+Y{(Yk#s4JXxt<iscs6-ch!(75#WVrCIN6kUc>TFmTC7la7`Y8} ztI^BraXzOZhs7RL{*_WwctMuTydEf$)CaIv2a}#YV_$~^$%}PV@mis`U4w6DruQ;e zV;%c#_6S;T36hmp`}gFWWfA#oi4LXTJ@h5AWF_6Z$)~`DP*zF>2w7*p$WV?5C(z=) zSe$`R`46A5RciIL->YsB>%DHZCwS?i9h2+3^%e z1to;>Y_mO#ducajuL&CdcrjisY@0K#Nk7rZ>b2Y!HFxqtuNN4Ia05lqa>4QU^q!4a zCtcNDssw}ila-tA?%@Wl)_WaTesX7zb8XxR;a=Dk)vQB(mjk_tg8ujFWaj%qLau8v zv)h&1q)X$W^L$|$m>AbSv{-|3wenN;F5aP&f&C9>JZ2rRYU_RH6R!E4K!F&JCmsoF z`%-iG)>zNCHuC*wW>eeTr?U7e-N~9oLDx}KLN)n)o~1=8cR;5+mbVU=9z5R{3po{u z)7XJQ(p~pWVkLk{ksVwx#-M27PPFw*6=lY8w$!1)>iNLA^eN-^F2X;2UxIK}OvK5x zB)wv>QjL!ayE&_py=aNO6c4+Gw8P2OkYMWE0a-0+RHQCZXAriKl0pKfDVor%bCJZM zPm&}e3keT?hA;Sgo#-3|cK&8{{IGV%dnBlOx9;Dn=~XHE(aJ0R={0K+_2)^K^>8 z)L|0p$5*iDXI|%Yr}!Jig?i23V#l%;>u3t9ZPH#Ix=fur=dQeCWs$O+ab>wcB)=`M z?pC4v^){RAehsywNbVFm?X2I&wM6RRed5va#ucxW?_v=gBITfwjTrC?7(qj(Fs8};p1Sto$ zuu2j!fLK>pk%_#>l$ub6=L|IW=aLjq5oOo^ws{O47`A8kK>rjve#AyEc7tj{n+;ED z%#&`z2*t{(POE2EKz~}gE1M2}$5+cV8(b9S_;2GaImH*HCDu>3OzTZ0lVVyU zdD3FKdu&;9;l=XOg`XJ9-i3Uu=t}ciT^pl3NV{lW4MS0|lU5Jlmd5^yLQ*2TxqR`LGX?Z|~$|53rr198MOOeq(YQ!vAqR)dGF6m+71j6u5lK$1|DJ?OP=?81!<&h}H()rRj!VdtPCo4|PXR}UEBnRJ` zy$=+Y4Sy2L%@e&&Yco{0ITSonP@ZjylGAioRQJ?rv4YX`ZCgzWr~Kg(&$=Slg!k6v zrm9MVac>pGzdVU0WTXAS$sHSd>uAMFtLA-f)iKzxh9;@h=A(;KhqftoBKyhPR&sQL zIGL(XdsHhO0GZ=65XU$=i-N|r|{MyzmZ*B8=;I!^zUDNB>rK!3nnVGRO&ChS9_vKH% zh`KLRG=7@2-rv2N+!7-AYNjgTa~6k^Z`~ zf}M`BA`xSKr=GLdF+w@b6TF9pI`zKNJK|ir`291mG&L-i?fObcNoE&p-^t(M~*?#Sr5^vnOrtCjk<@L~#Lx zzmB|%b(`Lun@%~7B@TQ0uT(3`#qzUpx_lp8$z)(!PM;Yk`{3IvDtB{oa=WqgKjnRA zP*dN#ZV;5B^rCsPy(R|p$aH1AV}z4iu4Xj?>&IDU}#dMNDI9qNDIc(H{*?gXlD=G2iWYM4Kwx za&+t+qbVB1E>i}Qg<={oanx<5*)BK^nV$k~I^RsDPvq2Yp>wQ^X0OYACSd zAba35t>*j03w|Mabf$mfslBZ|ZaV=HZmuKF-05>seWJXqukz&9AzD`T?t$-^nWr*AIfMQo_!@DIUM_PkuQ!6m> z#K$3z9YfBF-;`^ya+oq{x%qhgdShfXfDfr(F8$i8K&+~sHd|V>cq`Sdi*oeH?{!}N zo|B|1*z?EYuEE)-!<|je_d6oXrN-t5XU1P9&Yg84u6lkhhW*{3`ptc6O6ohia-?Nn zbewlMxJf*TL$N`2xxU(7rt^|M1tom^yEq$_a#v_R9Kp#d3R9I}XWF{gae!R^*B1Uh zO+!qKAXYG66Jg%52|?dt{sEAA>neH{ zV3Qc;P3LwawDKnf(uwSSZf>?!6#zJp7cFJT@5^!->$T>#-}xZu+sSnQ>VwkpsTd~8 z43R~Kjz3Z^(P3df@$H<0^J0beVIJ!qYoC6Z_sHTZ?E6pe%%N8T4)vXJ>=1C`@$kb> z6?}v`X@HwDu-sW3CQyQZLusrX1kzn;?;b8Xm|wqXC9IU>ohUVScWTV>^E%`+E-pi1 z#setwP!>!WaX0rKc-ZI3Y=WCQUljzTcg9TseaR~q?z-L+KuSH}2owBU z*&muhZV&Kcm>%-^^|+GxvG0%w2 zeQdI`B@#9}5$>Dg?P>Kh@wD8(q*b!B|Ba#sID%CiD#bK9QOMhmtj#XOiqq_n)rlyfBGK)C3-SSKYynGMXdqd%{HLI z(R1rhQv>%3E*OQP4YL+qT&C{CS}eEQg-3+_2&+#Zuh4NW9*`}#PO;MlFWM$7cBZPS zurRqXzeLRp;9`$Z`%Qy~DfXrJI{mfHy;b=S;3b6A*)GW1=~snts}QiajTH3Yle+3F zaM(!Nl^@Tm^^Wy(T)*5;mEOFNoj7_^;CDAGu=f^vs};{iARe3ish%4c2<`wHtmak; zsv$*=eUEkzfGbj+q^MHUdxyGHAl>SQox|U5ZJ5|%8DK_IY#B!%k+O_(Vv3Wv%t7`B zy6n&R%C!E)^Ml8Q-iV2c`sVEVmY=uZD&LvB1D!{2cBcgu#X-i(;C`!zL27d?;a2o9DkFUCX*R-_bv(&2mq| z1`$)qgU0rR|4zPdF$n7NGwEWRh^=M1Elknpk{sm zQp4jnd^c1&df#tldZ?t2tH_KF?KjR>;As}&GC>Dozel@dviJGf$7-;;+Cyj|k6=_` zeD#-Xi0o+tZfP^Ue0G_PNDPpdmb?(eQ1R8gATzCUGDQnfQM=5jBO9p1~>)IV#aqv@CT6rKEh*xJSveO=zopI9Jk;m@OxL0FpRBH^2TpZZX2MzaqsV^et zmtM`{bmA^?=|30YJZPOJ2aY_>mT}7oBDMOHAXg%pqYHa)!mc`b_T-zQz*=_#Cm*me zlZP#Utp45uG2OZ>(4i)mQ~(W)xtbjjr}nN9D61R)$Vxgh2U9`LUm@H6&7ZTC-w7)g zQ;fd;z(oC}dUsyqr@Xoi)xcZJKq@~W9JTp+EFG{LpnOG)kt35449D<&-fHr8(1fWM zFWWW-hkfA_H!;KGLMKCxt8DD5#mq%=C}g=LhsKs4$lk9vYpXp;GOFs~*^x848#V@~ zZu}~;V*?NJ_R-JR?VDOObFRa(DZgR8-@jYy^{YFpl5~4K;5@?LIie$(QSK|^*|aU2 z9zL9?M$H7Dm<+aO+- zhJO7FgZw|y$Z&V=Gi^=>;uRP5fXDB2S9D9T(2f!P+($mgITw0j9V5{YF^9)lyPpQ* zdZx{Vr%D?X#xeY2Ki!JbMlDq-ON4x%83=A5?p@) zo5FY-o4*1&%)dIcS(`n*VL^=l!ZE#x=IXT7^na?@1L>Y8X5b^ykg^64X*Zn*>5nty z(bV0WC7-EllU7}~o%J?}Cwp3Vd z6KL=X0>T2Smw0@k7rIzw)S=7Nd@<^acj)u!_unBPHr2>M()t>zIjWZ?57|F0)eruZ z3#n$u(HCV!vJQ$$eF;w6&9L7M&Z?osTi0t)#uHP6)5=D$39!GjM(U}-zCTSXNOXRk z$zmdn73O_eQ4Ku@DE~f;QZOwI9}I^!^V-s6(e^-i%UekU+Dv{R@khF zv&`|v-}zPeBS`ONi{X(iW==Y9mErQB%S0*+o-~J(4uC43P|g?tQ%Ibv8r>I2l3WCq z%pmX_Te@(Nv+5oVuDBGbFMqEMWQqU0Z48=q609Ya{pV~oQ22VJz2Xopvo0{@r%+M; zOf{#7sS%dN(`&8D)`*e)la4#{l89;7XICF(ezR+pd!q8S1VOXq@s37$bsK8%lzj%s zVI^~@mzKF~QsR|=vA12FBo{8R@!KJ&jNR<2*)sLKllQKP4rltfCQ6DYK z5}4uL;>k^z`48M6j`!?LJs-smDLip)Iqv9B8owNzkLOT%?0v<8OgfADn~jBq&TZtJ zPyM*=FAA7+s{ zX1OPn!6=>R`O_tGF#s>yidntQ)Q@YzJAct1yHSWW$PGEd`EZEDX*rRpH?EzLJC-SACMy1LyXzjq}}FquC8dzSHSiymcAQd5js?v_X{<5>z6 zj3?3EbG5~{@TI%(I2PM6tx($8f5hzLtqyZL8}e$r8y`>gp)sJSaNuh!$>)60Gsp|Y zbL0pK)bD>%)ns0ejCwP#!K7HSJFTRwycN;Z1)m5_UMZ6b>h&TB+BXr{Mn$$ii;eOM zoblDau)(4K1|ezOGR*GLwOh^6QZgHkp`4^GYYqT5B3=WXn8JAF#g=n_f_f9=UoC5< zYF6D`u2-*;Qhjo%OY|HR~r6r~Q9F4r&ceQ^F=F9xg^{q1ZQ z)p3&La5cHU!v3qE+wk+Upor(gL-=}5fu!b#h+J!Icw@gtKVH4~I2@3~1mINaR2!*5 zKDv=>bDZV}_|rH11JJOzV8W*9j(K8-dJme1L!$>1*zYTZbi~%yl9$F0=&972K&Bd1 z2D^F%Z=C!&A1)hJwLX~468~^v<3AB2Q<(!Re zes*;njB`+J-uiWD>9gn3UKETlIKIGYVIGefG4l)yc$+^~Q_i;5lL(6pn})}Bb1(9> z)OU-1CAJ~`tYwLZADH9lCtl@o3Ctyzm1C)9`%x%Wx(4F#+i34`v-(ARTDRg+VOh_q zWGd21{?(E-AWx#7t0tEectp9?7>!FdeNV)c(eb~2zDO@#^hYh~k{Hi=U`&UN{S7G; zg6NrV!=zmF(~=D`4*vnHr>srkuBO#)@N2UZ%dO!>x98tMRFkQas8ZS&hYc#+P@&Er ztd{zEo+QU64W4*Myj$iflCMg7zwMZP&v1{*uh-*9%i=VQ0P?ql93_WR#FL3p$Ign( zUdw4`2VqqGjIc$Sb{@)EPV1$4Lw+2_$@FBhn6&vntic~Yp?2k;R!hEWtM=!6=X^H7 zxs^^`_-ejPhXjN!J))WmlfeJD8(EH7wCu$n>O+vUpWmJt|WphJI$vV-uIC8hJDSsOuy+8LTx4e9uw(i21aOIr3!fm*Rj; zY#O3#@U#MDBrSVtEYk}0b_Ut3&u|QYY1%a{Z0h%TaZD}#!C*q~J-RRG;jblYCVbii zc3L$leGyovleBtTc9~dm`fF|c9+C;C=F0*sh8Dj$B(2?bSk{@r29R=r-3972fd7G0DXZ#x1-6nnkK9a`1HAx@G$$=6R zYMfqaeW)dG$Doru#u#AQ>QS<{7N0~e)R$>-{n}Q)%IVSGgL*!VD-th%M)Ok7^#R_M zHsJ&5GG7g^^h>9cs5d85yMGQRZovrU)~o=H()D7+X9@$Y&q%%lM_f$hjusBHR$;yO zn+=B#X;%hr$9`6Nh_cW9URpS1%AT8FFd1=@qTscgByHfj4<44)e}8nBa`=U`rnZoK zh>S$| zyHllq>{H#Y0M3`a~BVcEP1$ey%P*=gE^IVdof#EfLZ7(-B<8|kZ9hHC*(FQgg z?StZkdf#w9b%GPu__0O}Y!Im6ALu93UL@vrT_P!04~>b9NI zH89Ln_4-!~i<&`Y%z1j}FdZHeyjevqbdj|$GJ4iu1IG~!*J$xV;CFb$u-uOr^Jhc2 zI~nJc8XHshl2zIBFd0AZ8;FAc0b#;*LwMbnXk1L~W8Ozma=*3?Az^97*N;o{l*fA6P*0336c($=7s^!HA3KTl;0eH=9%O#m- zjHI3+xA&uWHkI5q&2q*X&uPhv_m;Bbky77rbscRrHK=|HVCIK5Jt1vtHn|+d^qU){ zi^OqR8WF=(|F-e;)N^s=G+C>nrg&)b`t(!@R4}>3Wi826*W@`}VpbE0gm_^%ct+pF zX>T1F3brn7;Hb^oS`f`D@0Dkd)+Us>>AR`%b-xTk?5!0c@1*wpMFyc%oU2`{HVAl6CWyCt^Uk?0yNK7c#~W3Cbf$EQFFWHa9(aux@m>Js6Qkhgr zeUihlw7<8z-;~Tg2`b?eUoLNfLylKA8VCoZ1`2u}Yqx02ZG786dbm16H}l>r+g@^U ze`8aVGJyv0&?GaJ%HQNBdWlSxyl~0lK(D4G#JZdg2be9~mUh7%2p>wY(`%0qwx8yb z@*H~}cC9scz>_pgTbM6Yf+m#_4@WvOll$Vo8q5OmRNpAtv8e*jIb73o{{fJm2L(K4 zqHRB|=yi^P^Q?!%5N)>%_DCVBnLpe&tJ7Q#kOzmm(^(Jbm>GC2_^8Gkp^JUEi`Bs4LNxjrk zPCM3T0d||O?m(PCIgMO zA|rr0Q41mrI2N#J!a^Z(T{%cQ=dU?gknnw8Q;5a5jQ{ptc`8!J(c3i4H1&zgSAM~o zG@x4s6eh)u8ot@}HXE@-J)5))`Nh3k;-H~q3ChFY zqKXIHDSY)#7$ZwM4SNdn(3cFbozVF$xAXe#v9pr`{YL_4)i-QB9lc5b(G#8x>fh(e z{g2WB7`o%_hGU?$l4Ek9RQme+IJuYR%(6D7PHmU(EHa-|YVwT$_L21Sob8(iTR~uX^Tze_GaByns_L3Gf$`UCU9zl4rp#ex zNSvj~{&CiE|K!z3+_>YH^VVZTh& zW@^g2rJ`-|jOlEw*hqixnU)_t-@1eC+C^~kN8^X9?OiIbd|mFi^iKG@OEg!oNCBrU zxt{0KB9lcd6e&NUbYLP0NM&C1_4GT&`o=LGI7ZC+fRJ!UL(|QnINIS{vT``Gp#<9e zMA`KQw0mRx^~vpWMa;bC)AuvDJV<08;)}kr+8p^k(&Zc&M=mDAR$5Po{@yULwbRfC z=L=#HSbFFJUYb#L@#%dqO}*z}do#*aW2V+h z_syPH_%nn@X3q)^cFePXr*!1AEAeTO7v7EJTI69d&hR?1CB>U)=WQ$4_Af+;-WIOV zy;Xa=R{ZwyrX1)isF{IXGgi;si?r^i#fD!6ypq9vq!^U&cZ%1|GvS$vI%R&hB}jPC z?r$<1Zue*Y@rXol-@0Kr|FfazqkcO+&L8u;oOVmu&`NH~_z$nnSQ!9$H7jJb_E@dGrGF zzN@p-6X2UlB{5OKW(tDkc)rbGoM%3q(If|}5b3CLvY+lR=WNR}DE+BkCoZ}{q3zrz z=dSKzbSIJT4pS;mKLsLRmxg{B0vYM38mJi}sLv`4f1MA$&%3k9X0~y2Ejf5ynIzmqUgb(#rTGP2` z_q;e?mAuz!=l*wMc*m>-hy(w8U;e4(q>gll9L1xp#TS@6dPw*(S=<18=#^K?e1_A$ zUuMk_gE0%Nx$@tLy15q~4;b}i6z%bO zB3QXCD&zBMeD-@iX)(or59Z;I@@kSBvr56r02=$>dGc^0f=BnQ(gAC!3CCm8#_vmw z9degm-lR5Y*1;C5bl{);r)^@JfQU`ZfT?;c>ZrhlWaU7>)H{lHXEJ5xt1DG@G&EH7 z!G;(|P@H37X51(=0&Otl>QdtLa^6ovI?YITDAW<^!|Zo^eEJiU`i)7TgGib}rY#w- z^3KTrjSTxy{nlRo*14)k=+ZHv&JHm{q)EkqHr+z_8_Sr8`5U%JT$dXa5CMM5JD9(b z8JqBOYyi!zWUJy7I{(+*mwJaCk(A4#M~%tN2UU*RVB%qIqJhSW+qoqhR_;&PlN39I z@@T2)UFqTE9eyn&L+T=fO1E;jcW?x0{n;d|cyc8LZ3CG8idz0@%#DPMVU1_OvC?7L z>Uq)BPGY@54f;odRo2IlViQk^=io#l>HC%>oDu`BLQ80!4a2d!O3z4~`r0hi&A|Ez zI?Z4!BPM(9v}YVq)&wj;BuWJ|j(E zSa9#(Or&@Kkr|QJ3!2evi%*MPp$;Zmx&3%GN=SUuaKqyH{)qTs`t32nu{_FbM2Ejr z4=&*pW$*5BW|>j}jJ@ZYEc+W8q4Ps)mGGCQ%uXEDo%QnP$knz`Pn&K1sl{% zKrTL<)Xp!8%v5ZZPLD_ zk{y3m?vnpit)Zkk*hzmU?BJ~JCcyh8YMwFi6A;c7n({OyXr488a>n_gj57AI!4+Y# zWZb0LSJkn(utR%$&1KC2H&7pcsqavt?9FXmoP9>CZ3J7jg2KJ|GllRcSAJU??D>*l z7}rw^7DsKo6r+pggWDo$y$kQjHfE9U_hu_91wlu2l!>#({wjpi_QCpb4MxctpKaq; z4T>mH^Eae`4?bKLA#<0`Rm7?BXCWbN8;2pI)U19wPlC-M^wvwCEo z^wTL#!7x_}smyf1@c-pn{ZAbDy1=O0S@9NKs9d|c|jMUl=2&X746 z2Nn9Hl&)ywBS|Vwa-!OzcbGJ$Qcz}20)P5lNW0y4i=8N}28@pzUi2k)!KEPpN1b71 z%tx&(y+g|J?8v)cOs_LOSPuRw`q`+0dh^_b*>6JBekNnu{D zE%Nop;7nDNKuDL&uA#zsf15m3yv()q%#&+mmN2%3aIaMW%bY#o^0tLO<#~_yJL4xt zs@mW|u(lddDv*QfrOOaNy;M)JSjKvs>CJXSb$PlAzkoyYE2_1qDF3LKdNukt{ls#> zzL6(IGNRa}VC(|Dm{~UV4a(EyxdiR(sG2Shf{=vB=!qFQy&Ba21n>EO5q$k;Rm=aD zfc?iE_@rd|gOo=9vCLIGSgBpul>YU!L2hy`92~30UL(A&>7DxMyM5^Mr`&wyFLJj{ zCaAZ$2x!?^dOmgB+T!71+rm#ar1_k$KF}4a`J8>czK7W?hNd`n_L&ccY{uK!)EUq0 zQyGUl!?1|0VcBu59vB!(QCMUmPNl*N2|&tQXUwPHKMDiI%w;!42qaMceCnb!n>Sip zL`9-USM=c}@sC~}T{n}E)3*;3=*h&hL|!&xrt7({4r|0L)~*-;0(-@uE5T`Uug%u# zNO2(RUhVL5@_T%T!bHEO>UhadK23|yVB@*(lwTL&V}GR%kidGu!O$XFt8I<+jO({i zGDn-`!Ud0B`7eeWM+NXvK#3WlR?$>i#Qj&RG2iAzju0dW*c{c8nK!%3=ngu;$ybU! zks>baX*Thn_c#WeU(*^FE%SGWN&i_7h@B5LO3memU?dZ1ZLbffy2NGM59-q%xzbWL zFj#9voZx!W<(*5jOnUzzx=3`Uc0<*F^{SAw6U#A zCp^VlU7K~SiEx=FU!yl)3@c4U-zz_4c%^m8bM8_LGejtLuG3$VFPhn`tV9N@l9s9U zsYwGeH)AJind@4XMf5~Tx;{*LWYB{O>iTRs?)kU;8725lR@5Du8%+L|+`CVg;P|0Z zkA-n!*xJ_)U1Og9Ic(z|PC=PjvfE$z+|2vS#7|??mK5w4r?v1-dZ=cZ-5IAGnR`y7 zCP1}R&vgFWpi|Yk#Qg)Z9cWNwME?(9v0R-A0t(?#wB)0S*;eZ#Tqax!6#BQr@&9NP z|06*EpF59*-gog&8c?H>PRidS=L`<3z55G)n>pstmb^&4JWu;womyn_RTuaf)3Fk= z4=afKg$Yn}lbk^`h-%#n6XYSE(#pcNYQkf@wuh^o#{5w-U(~Z`RKqzNJ~WLq#H%|z zr3$7?3Qp=Jy3c7lcB^}ehPzCrMNQxwIG2>h&0&QL6MtcD!kzJJlrRU*LczI-aW5^g zQjQ89R$b6|>0IJDd~3MY2fVb0+B|(w`W7>lbD@Bx2zy?SX#~5}zu-*Hlcz1AC*1f8 z8NVYHanJqU`>6`ep6{5tQ50_8Iwu+7pCQobk+}BKSXU>_(Qasf#11tvMsgXy@}xqs zGK&tIvf&}-up+!Nj_=s+lT6~k69Fy_0pag1)7=x`0{!&(0f{{L&A%0cX`uU1}y?C zua{TAW{qQ{!}hC3oSKm{jRSCq)~*yB^O&0R-hO5luQbrP$|fIu?37m%L5}X~ zZpy0Ai2H&+;6w4?Ivc%}*-Blsx_#G-ZOiU@H!F||nu@v4u#uKTNrE^xNq9EP0SMtp z0rG+c-E+RI4Ef49m`b<4yh1-8S~gsIt{KI1T`JNTnNUP4%9zuvzGV!5Aq0fiQzeTg z-_u38h7+ulcP^e8SMf~LRL0D&*g3?+DQv4oCjSwS?zdA#^gG{FORjxaH5+Qua^Eu? z(pqF4&t`WNauORZdE?mF_d&QDhDZZ%-D=%-q?E-B@W0b@Cwcm2Zj^+i6Dn92J$hdP zqndtR-u6V;WkQxwIR9@jBlmdfbMJPyxA!~l+jrX3STs>3MTelx83XAFA2hP$8_J@e z{mqg?qNxkqT7#uIiAL-eKb)L4ZUOOfJCS1;>gaV?F9rucC$hFNcJu28%mZjOd5FLfkxA3pzg^Aup3>GsZ4c`Z+u-2_V=EYV%luTczb zBn<>*28L4hu9C@o-^ebd%<%@iWuTj;lPj=A%mmS$ytV=H0u?A@!tMIRdnNYBNNJ0% zJn*#^lKc~VzAsdQQ20>%a6|$7F^Tot*CEb#HyS32-ENMa!6vnytKT-$}QAd?~=lN;nbsFT&Yz4Qr@vliPee_*C@=#hXJP*@68wP>#{d@ oTDQ)@I$+s_=i6#M-sh}|-(}&xjsIWe1^;d+{r}%$`DgZj0pdbuBLDyZ literal 0 HcmV?d00001 diff --git a/pages/detail/detail.js b/pages/detail/detail.js index 862acdb..f0fe4a7 100644 --- a/pages/detail/detail.js +++ b/pages/detail/detail.js @@ -1,68 +1,87 @@ -// pages/detail/detail.js Page({ /** * 页面的初始数据 */ data: { - text:"" + text: 0, + detail:{ + isCollected:"已收藏", + title:"网球拍大甩卖", + description:'11成新网球拍', + OldPrice:"¥666", + NewPrice:"¥233", + wxid:"wxid_abcdefg", + contact:"23333" + } }, /** * 生命周期函数--监听页面加载 */ - onLoad: function (options) { + onLoad: function(options) { this.setData({ - text:options.id + text: options.id + }) + wx.request({ + url: '', + data: { + id: this.data.text + }, + success(res) { + this.setData({ + detail: res + }) + } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ - onReady: function () { + onReady: function() { }, /** * 生命周期函数--监听页面显示 */ - onShow: function () { + onShow: function() { }, /** * 生命周期函数--监听页面隐藏 */ - onHide: function () { + onHide: function() { }, /** * 生命周期函数--监听页面卸载 */ - onUnload: function () { + onUnload: function() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ - onPullDownRefresh: function () { + onPullDownRefresh: function() { }, /** * 页面上拉触底事件的处理函数 */ - onReachBottom: function () { + onReachBottom: function() { }, /** * 用户点击右上角分享 */ - onShareAppMessage: function () { + onShareAppMessage: function() { } }) \ No newline at end of file diff --git a/pages/detail/detail.wxml b/pages/detail/detail.wxml index df2876c..77517d1 100644 --- a/pages/detail/detail.wxml +++ b/pages/detail/detail.wxml @@ -1,13 +1,56 @@ + + + + 体育用品 + {{detail.title}} + {{detail.isCollected}} + + + + + + + + + + + 详细信息 + + + + + + + + + + + 具体描述 + {{detail.description}} + + + 入手价格 + {{detail.OldPrice}} + + + 售出价格 + {{detail.NewPrice}} + + + 发布ID + {{detail.wxid}} + + + 联系方式 + {{detail.contact}} + + + + 复制微信号 + + - - - 体育用品 - 网球拍大甩卖 - 说明文字 - - - {{text}}a \ No newline at end of file diff --git a/pages/detail/detail.wxss b/pages/detail/detail.wxss index dad1345..23fa66d 100644 --- a/pages/detail/detail.wxss +++ b/pages/detail/detail.wxss @@ -18,4 +18,8 @@ .title{ font-size:28rpx; font-weight: bold; +} + +.inline{ + display:inline-block;float:left; } \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js index a52ec14..b5a39c1 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -1,4 +1,3 @@ -//index.js const app = getApp() Page({ diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 8381de2..32880a6 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -1,4 +1,3 @@ - @@ -7,7 +6,7 @@ - + 商品列表 @@ -25,4 +24,4 @@ - + \ No newline at end of file diff --git a/pages/list/list.js b/pages/list/list.js index 770fcde..878d8de 100644 --- a/pages/list/list.js +++ b/pages/list/list.js @@ -1,9 +1,4 @@ -// pages/list/list.js Page({ - - /** - * 页面的初始数据 - */ data: { goods_list: [{ id:1, diff --git a/pages/list/list.wxml b/pages/list/list.wxml index 4421078..1b43a27 100644 --- a/pages/list/list.wxml +++ b/pages/list/list.wxml @@ -1,16 +1,15 @@ - - 商品列表 - - - - - - - {{item.title}} - {{item.description}} - - + 商品列表 + + + + - - \ No newline at end of file + + {{item.title}} + {{item.description}} + + + + + \ No newline at end of file diff --git a/pages/post/post.wxml b/pages/post/post.wxml index e35bfdb..9dba820 100644 --- a/pages/post/post.wxml +++ b/pages/post/post.wxml @@ -54,4 +54,4 @@ - + \ No newline at end of file diff --git a/project.config.json b/project.config.json index 08431bf..ce41d7d 100644 --- a/project.config.json +++ b/project.config.json @@ -1,6 +1,6 @@ { "setting": { - "urlCheck": true, + "urlCheck": false, "es6": true, "postcss": true, "minified": true, diff --git a/style/weui.wxss b/style/weui.wxss index 3d6cfac..abf7699 100644 --- a/style/weui.wxss +++ b/style/weui.wxss @@ -3,4 +3,1198 @@ * Copyright 2017 Tencent, Inc. * Licensed under the MIT license */ -page{line-height:1.6;font-family:-apple-system-font,Helvetica Neue,sans-serif}icon{vertical-align:middle}.weui-cells{position:relative;margin-top:1.17647059em;background-color:#fff;line-height:1.41176471;font-size:17px}.weui-cells:before{top:0;border-top:1rpx solid #d9d9d9}.weui-cells:after,.weui-cells:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#d9d9d9}.weui-cells:after{bottom:0;border-bottom:1rpx solid #d9d9d9}.weui-cells__title{margin-top:.77em;margin-bottom:.3em;padding-left:15px;padding-right:15px;color:#999;font-size:14px}.weui-cells_after-title{margin-top:0}.weui-cells__tips{margin-top:.3em;color:#999;padding-left:15px;padding-right:15px;font-size:14px}.weui-cell{padding:10px 15px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #d9d9d9;color:#d9d9d9;left:15px}.weui-cell:first-child:before{display:none}.weui-cell_active{background-color:#ececec}.weui-cell_primary{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.weui-cell__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-cell__ft{text-align:right;color:#999}.weui-cell_access{color:inherit}.weui-cell__ft_in-access{padding-right:13px;position:relative}.weui-cell__ft_in-access:after{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;margin-top:-4px;right:2px}.weui-cell_link{color:#586c94;font-size:14px}.weui-cell_link:active{background-color:#ececec}.weui-cell_link:first-child:before{display:block}.weui-icon-radio{margin-left:3.2px;margin-right:3.2px}.weui-icon-checkbox_circle,.weui-icon-checkbox_success{margin-left:4.6px;margin-right:4.6px}.weui-check__label:active{background-color:#ececec}.weui-check{position:absolute;left:-9999px}.weui-check__hd_in-checkbox{padding-right:.35em}.weui-cell__ft_in-radio{padding-left:.35em}.weui-cell_input{padding-top:0;padding-bottom:0}.weui-label{width:105px;word-wrap:break-word;word-break:break-all}.weui-input{height:2.58823529em;min-height:2.58823529em;line-height:2.58823529em}.weui-toptips{position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);top:0;left:0;right:0;padding:5px;font-size:14px;text-align:center;color:#fff;z-index:5000;word-wrap:break-word;word-break:break-all}.weui-toptips_warn{background-color:#e64340}.weui-textarea{display:block;width:100%}.weui-textarea-counter{color:#b2b2b2;text-align:right}.weui-cell_warn,.weui-textarea-counter_warn{color:#e64340}.weui-form-preview{position:relative;background-color:#fff}.weui-form-preview:before{top:0;border-top:1rpx solid #d9d9d9}.weui-form-preview:after,.weui-form-preview:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#d9d9d9}.weui-form-preview:after{bottom:0;border-bottom:1rpx solid #d9d9d9}.weui-form-preview__value{font-size:14px}.weui-form-preview__value_in-hd{font-size:26px}.weui-form-preview__hd{position:relative;padding:10px 15px;text-align:right;line-height:2.5em}.weui-form-preview__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid #d9d9d9;color:#d9d9d9;left:15px}.weui-form-preview__bd{padding:10px 15px;font-size:.9em;text-align:right;color:#999;line-height:2}.weui-form-preview__ft{position:relative;line-height:50px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-form-preview__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #d5d5d6;color:#d5d5d6}.weui-form-preview__item{overflow:hidden}.weui-form-preview__label{float:left;margin-right:1em;min-width:4em;color:#999;text-align:justify;text-align-last:justify}.weui-form-preview__value{display:block;overflow:hidden;word-break:normal;word-wrap:break-word}.weui-form-preview__btn{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#3cc51f;text-align:center}.weui-form-preview__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #d5d5d6;color:#d5d5d6}.weui-form-preview__btn:first-child:after{display:none}.weui-form-preview__btn_active{background-color:#eee}.weui-form-preview__btn_default{color:#999}.weui-form-preview__btn_primary{color:#0bb20c}.weui-cell_select{padding:0}.weui-select{position:relative;padding-left:15px;padding-right:30px;height:2.58823529em;min-height:2.58823529em;line-height:2.58823529em;border-right:1rpx solid #d9d9d9}.weui-select:before{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;right:15px;margin-top:-4px}.weui-select_in-select-after{padding-left:0}.weui-cell__bd_in-select-before,.weui-cell__hd_in-select-after{padding-left:15px}.weui-cell_vcode{padding-right:0}.weui-vcode-btn,.weui-vcode-img{margin-left:5px;height:2.58823529em;vertical-align:middle}.weui-vcode-btn{display:inline-block;padding:0 .6em 0 .7em;border-left:1px solid #e5e5e5;line-height:2.58823529em;font-size:17px;color:#3cc51f;white-space:nowrap}.weui-vcode-btn:active{color:#52a341}.weui-cell_switch{padding-top:6px;padding-bottom:6px}.weui-uploader__hd{display:-webkit-box;display:-webkit-flex;display:flex;padding-bottom:10px;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-uploader__title{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__info{color:#b2b2b2}.weui-uploader__bd{margin-bottom:-4px;margin-right:-9px;overflow:hidden}.weui-uploader__file{float:left;margin-right:9px;margin-bottom:9px}.weui-uploader__img{display:block;width:79px;height:79px}.weui-uploader__file_status{position:relative}.weui-uploader__file_status:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5)}.weui-uploader__file-content{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff}.weui-uploader__input-box{float:left;position:relative;margin-right:9px;margin-bottom:9px;width:77px;height:77px;border:1px solid #d9d9d9}.weui-uploader__input-box:after,.weui-uploader__input-box:before{content:" ";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#d9d9d9}.weui-uploader__input-box:before{width:2px;height:39.5px}.weui-uploader__input-box:after{width:39.5px;height:2px}.weui-uploader__input-box:active{border-color:#999}.weui-uploader__input-box:active:after,.weui-uploader__input-box:active:before{background-color:#999}.weui-uploader__input{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;opacity:0}.weui-article{padding:20px 15px;font-size:15px}.weui-article__section{margin-bottom:1.5em}.weui-article__h1{font-size:18px;font-weight:400;margin-bottom:.9em}.weui-article__h2{font-size:16px;font-weight:400;margin-bottom:.34em}.weui-article__h3{font-weight:400;font-size:15px;margin-bottom:.34em}.weui-article__p{margin:0 0 .8em}.weui-msg{padding-top:36px;text-align:center}.weui-msg__link{display:inline;color:#586c94}.weui-msg__icon-area{margin-bottom:30px}.weui-msg__text-area{margin-bottom:25px;padding:0 20px}.weui-msg__title{margin-bottom:5px;font-weight:400;font-size:20px}.weui-msg__desc{font-size:14px;color:#999}.weui-msg__opr-area{margin-bottom:25px}.weui-msg__extra-area{margin-bottom:15px;font-size:14px;color:#999}@media screen and (min-height:438px){.weui-msg__extra-area{position:fixed;left:0;bottom:0;width:100%;text-align:center}}.weui-flex{display:-webkit-box;display:-webkit-flex;display:flex}.weui-flex__item{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-btn{margin-top:15px}.weui-btn:first-child{margin-top:0}.weui-btn-area{margin:1.17647059em 15px .3em}.weui-agree{display:block;padding:.5em 15px;font-size:13px}.weui-agree__text{color:#999}.weui-agree__link{display:inline;color:#586c94}.weui-agree__checkbox{position:absolute;left:-9999px}.weui-agree__checkbox-icon{position:relative;top:2px;display:inline-block;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:11px;height:11px}.weui-agree__checkbox-icon-check{position:absolute;top:1px;left:1px}.weui-footer{color:#999;font-size:14px;text-align:center}.weui-footer_fixed-bottom{position:fixed;bottom:.52em;left:0;right:0}.weui-footer__links{font-size:0}.weui-footer__link{display:inline-block;vertical-align:top;margin:0 .62em;position:relative;font-size:14px;color:#586c94}.weui-footer__link:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #c7c7c7;color:#c7c7c7;left:-.65em;top:.36em;bottom:.36em}.weui-footer__link:first-child:before{display:none}.weui-footer__text{padding:0 .34em;font-size:12px}.weui-grids{border-top:1rpx solid #d9d9d9;border-left:1rpx solid #d9d9d9;overflow:hidden}.weui-grid{position:relative;float:left;padding:20px 10px;width:33.33333333%;box-sizing:border-box;border-right:1rpx solid #d9d9d9;border-bottom:1rpx solid #d9d9d9}.weui-grid_active{background-color:#ececec}.weui-grid__icon{display:block;width:28px;height:28px;margin:0 auto}.weui-grid__label{margin-top:5px;display:block;text-align:center;color:#000;font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.weui-loading{margin:0 5px;width:20px;height:20px;display:inline-block;vertical-align:middle;-webkit-animation:a 1s steps(12) infinite;animation:a 1s steps(12) infinite;background:transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat;background-size:100%}.weui-loading.weui-loading_transparent{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect xmlns='http://www.w3.org/2000/svg' width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.56)' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.5)' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.43)' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.38)' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.32)' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.28)' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.25)' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.2)' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.17)' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.14)' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.1)' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.03)' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E")}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.weui-badge{display:inline-block;padding:.15em .4em;min-width:8px;border-radius:18px;background-color:#e64340;color:#fff;line-height:1.2;text-align:center;font-size:12px;vertical-align:middle}.weui-badge_dot{padding:.4em;min-width:0}.weui-loadmore{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.weui-loadmore__tips{display:inline-block;vertical-align:middle}.weui-loadmore_line{border-top:1px solid #e5e5e5;margin-top:2.4em}.weui-loadmore__tips_in-line{position:relative;top:-.9em;padding:0 .55em;background-color:#fff;color:#999}.weui-loadmore__tips_in-dot{position:relative;padding:0 .16em;width:4px;height:1.6em}.weui-loadmore__tips_in-dot:before{content:" ";position:absolute;top:50%;left:50%;margin-top:-1px;margin-left:-2px;width:4px;height:4px;border-radius:50%;background-color:#e5e5e5}.weui-panel{background-color:#fff;margin-top:10px;position:relative;overflow:hidden}.weui-panel:first-child{margin-top:0}.weui-panel:before{top:0;border-top:1rpx solid #e5e5e5}.weui-panel:after,.weui-panel:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-panel:after{bottom:0;border-bottom:1rpx solid #e5e5e5}.weui-panel__hd{padding:14px 15px 10px;color:#999;font-size:13px;position:relative}.weui-panel__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid #e5e5e5;color:#e5e5e5;left:15px}.weui-media-box{padding:15px;position:relative}.weui-media-box:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #e5e5e5;color:#e5e5e5;left:15px}.weui-media-box:first-child:before{display:none}.weui-media-box__title{font-weight:400;font-size:17px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;word-wrap:break-word;word-break:break-all}.weui-media-box__desc{color:#999;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-media-box__info{margin-top:15px;padding-bottom:5px;font-size:13px;color:#cecece;line-height:1em;list-style:none;overflow:hidden}.weui-media-box__info__meta{float:left;padding-right:1em}.weui-media-box__info__meta_extra{padding-left:1em;border-left:1px solid #cecece}.weui-media-box__title_in-text{margin-bottom:8px}.weui-media-box_appmsg{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-media-box__thumb{width:100%;height:100%;vertical-align:top}.weui-media-box__hd_in-appmsg{margin-right:.8em;width:60px;height:60px;line-height:60px;text-align:center}.weui-media-box__bd_in-appmsg{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}.weui-media-box_small-appmsg{padding:0}.weui-cells_in-small-appmsg{margin-top:0}.weui-cells_in-small-appmsg:before{display:none}.weui-progress{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-progress__bar{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-progress__opr{margin-left:15px;font-size:0}.weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;z-index:500;top:0;width:100%;border-bottom:1rpx solid #ccc}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:13px 0;text-align:center;font-size:0}.weui-navbar__item.weui-bar__item_on{color:#1aad19}.weui-navbar__slider{position:absolute;content:" ";left:0;bottom:0;width:6em;height:3px;background-color:#1aad19;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-navbar__title{display:inline-block;font-size:15px;max-width:8em;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.weui-tab{position:relative;height:100%}.weui-tab__panel{box-sizing:border-box;height:100%;padding-top:50px;overflow:auto;-webkit-overflow-scrolling:touch}.weui-search-bar{position:relative;padding:8px 10px;display:-webkit-box;display:-webkit-flex;display:flex;box-sizing:border-box;background-color:#efeff4;border-top:1rpx solid #d7d6dc;border-bottom:1rpx solid #d7d6dc}.weui-icon-search{margin-right:8px;font-size:inherit}.weui-icon-search_in-box{position:absolute;left:10px;top:7px}.weui-search-bar__text{display:inline-block;font-size:14px;vertical-align:middle}.weui-search-bar__form{position:relative;-webkit-box-flex:1;-webkit-flex:auto;flex:auto;border-radius:5px;background:#fff;border:1rpx solid #e6e6ea}.weui-search-bar__box{position:relative;padding-left:30px;padding-right:30px;width:100%;box-sizing:border-box;z-index:1}.weui-search-bar__input{height:28px;line-height:28px;font-size:14px}.weui-icon-clear{position:absolute;top:0;right:0;padding:7px 8px;font-size:0}.weui-search-bar__label{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:3px;text-align:center;color:#9b9b9b;background:#fff;line-height:28px}.weui-search-bar__cancel-btn{margin-left:10px;line-height:28px;color:#09bb07;white-space:nowrap} \ No newline at end of file + +page { + line-height: 1.6; + font-family: -apple-system-font, Helvetica Neue, sans-serif; +} + +icon { + vertical-align: middle; +} + +.weui-cells { + position: relative; + margin-top: 1.17647059em; + background-color: #fff; + line-height: 1.41176471; + font-size: 17px; +} + +.weui-cells:before { + top: 0; + /**border-top: 1rpx solid #d9d9d9;**/ +} + +.weui-cells:after, .weui-cells:before { + content: " "; + position: absolute; + left: 0; + right: 0; + height: 1px; + color: #d9d9d9; +} + +.weui-cells:after { + bottom: 0; + /**border-bottom: 1rpx solid #d9d9d9;**/ +} + +.weui-cells__title { + margin-top: 0.77em; + margin-bottom: 0.3em; + padding-left: 15px; + padding-right: 15px; + color: #999; + font-size: 14px; +} + +.weui-cells_after-title { + margin-top: 0; +} + +.weui-cells__tips { + margin-top: 0.3em; + color: #999; + padding-left: 15px; + padding-right: 15px; + font-size: 14px; +} + +.weui-cell { + padding: 10px 15px; + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} + +.weui-cell:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #d9d9d9; + color: #d9d9d9; + left: 15px; +} + +.weui-cell:first-child:before { + display: none; +} + +.weui-cell_active { + background-color: #ececec; +} + +.weui-cell_primary { + -webkit-box-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} + +.weui-cell__bd { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; +} + +.weui-cell__ft { + text-align: right; + color: #999; +} + +.weui-cell_access { + color: inherit; +} + +.weui-cell__ft_in-access { + padding-right: 13px; + position: relative; +} + +.weui-cell__ft_in-access:after { + content: " "; + display: inline-block; + height: 6px; + width: 6px; + border-width: 2px 2px 0 0; + border-color: #c8c8cd; + border-style: solid; + -webkit-transform: matrix(0.71, 0.71, -.71, 0.71, 0, 0); + transform: matrix(0.71, 0.71, -.71, 0.71, 0, 0); + position: relative; + top: -2px; + position: absolute; + top: 50%; + margin-top: -4px; + right: 2px; +} + +.weui-cell_link { + color: #586c94; + font-size: 14px; +} + +.weui-cell_link:active { + background-color: #ececec; +} + +.weui-cell_link:first-child:before { + display: block; +} + +.weui-icon-radio { + margin-left: 3.2px; + margin-right: 3.2px; +} + +.weui-icon-checkbox_circle, .weui-icon-checkbox_success { + margin-left: 4.6px; + margin-right: 4.6px; +} + +.weui-check__label:active { + background-color: #ececec; +} + +.weui-check { + position: absolute; + left: -9999px; +} + +.weui-check__hd_in-checkbox { + padding-right: 0.35em; +} + +.weui-cell__ft_in-radio { + padding-left: 0.35em; +} + +.weui-cell_input { + padding-top: 0; + padding-bottom: 0; +} + +.weui-label { + width: 105px; + word-wrap: break-word; + word-break: break-all; +} + +.weui-input { + height: 2.58823529em; + min-height: 2.58823529em; + line-height: 2.58823529em; +} + +.weui-toptips { + position: fixed; + -webkit-transform: translateZ(0); + transform: translateZ(0); + top: 0; + left: 0; + right: 0; + padding: 5px; + font-size: 14px; + text-align: center; + color: #fff; + z-index: 5000; + word-wrap: break-word; + word-break: break-all; +} + +.weui-toptips_warn { + background-color: #e64340; +} + +.weui-textarea { + display: block; + width: 100%; +} + +.weui-textarea-counter { + color: #b2b2b2; + text-align: right; +} + +.weui-cell_warn, .weui-textarea-counter_warn { + color: #e64340; +} + +.weui-form-preview { + position: relative; + background-color: #fff; +} + +.weui-form-preview:before { + top: 0; + border-top: 1rpx solid #d9d9d9; +} + +.weui-form-preview:after, .weui-form-preview:before { + content: " "; + position: absolute; + left: 0; + right: 0; + height: 1px; + color: #d9d9d9; +} + +.weui-form-preview:after { + bottom: 0; + border-bottom: 1rpx solid #d9d9d9; +} + +.weui-form-preview__value { + font-size: 14px; +} + +.weui-form-preview__value_in-hd { + font-size: 26px; +} + +.weui-form-preview__hd { + position: relative; + padding: 10px 15px; + text-align: right; + line-height: 2.5em; +} + +.weui-form-preview__hd:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #d9d9d9; + color: #d9d9d9; + left: 15px; +} + +.weui-form-preview__bd { + padding: 10px 15px; + font-size: 0.9em; + text-align: right; + color: #999; + line-height: 2; +} + +.weui-form-preview__ft { + position: relative; + line-height: 50px; + display: -webkit-box; + display: -webkit-flex; + display: flex; +} + +.weui-form-preview__ft:after { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #d5d5d6; + color: #d5d5d6; +} + +.weui-form-preview__item { + overflow: hidden; +} + +.weui-form-preview__label { + float: left; + margin-right: 1em; + min-width: 4em; + color: #999; + text-align: justify; + text-align-last: justify; +} + +.weui-form-preview__value { + display: block; + overflow: hidden; + word-break: normal; + word-wrap: break-word; +} + +.weui-form-preview__btn { + position: relative; + display: block; + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + color: #3cc51f; + text-align: center; +} + +.weui-form-preview__btn:after { + content: " "; + position: absolute; + left: 0; + top: 0; + width: 1px; + bottom: 0; + border-left: 1rpx solid #d5d5d6; + color: #d5d5d6; +} + +.weui-form-preview__btn:first-child:after { + display: none; +} + +.weui-form-preview__btn_active { + background-color: #eee; +} + +.weui-form-preview__btn_default { + color: #999; +} + +.weui-form-preview__btn_primary { + color: #0bb20c; +} + +.weui-cell_select { + padding: 0; +} + +.weui-select { + position: relative; + padding-left: 15px; + padding-right: 30px; + height: 2.58823529em; + min-height: 2.58823529em; + line-height: 2.58823529em; + border-right: 1rpx solid #d9d9d9; +} + +.weui-select:before { + content: " "; + display: inline-block; + height: 6px; + width: 6px; + border-width: 2px 2px 0 0; + border-color: #c8c8cd; + border-style: solid; + -webkit-transform: matrix(0.71, 0.71, -.71, 0.71, 0, 0); + transform: matrix(0.71, 0.71, -.71, 0.71, 0, 0); + position: relative; + top: -2px; + position: absolute; + top: 50%; + right: 15px; + margin-top: -4px; +} + +.weui-select_in-select-after { + padding-left: 0; +} + +.weui-cell__bd_in-select-before, .weui-cell__hd_in-select-after { + padding-left: 15px; +} + +.weui-cell_vcode { + padding-right: 0; +} + +.weui-vcode-btn, .weui-vcode-img { + margin-left: 5px; + height: 2.58823529em; + vertical-align: middle; +} + +.weui-vcode-btn { + display: inline-block; + padding: 0 0.6em 0 0.7em; + border-left: 1px solid #e5e5e5; + line-height: 2.58823529em; + font-size: 17px; + color: #3cc51f; + white-space: nowrap; +} + +.weui-vcode-btn:active { + color: #52a341; +} + +.weui-cell_switch { + padding-top: 6px; + padding-bottom: 6px; +} + +.weui-uploader__hd { + display: -webkit-box; + display: -webkit-flex; + display: flex; + padding-bottom: 10px; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} + +.weui-uploader__title { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; +} + +.weui-uploader__info { + color: #b2b2b2; +} + +.weui-uploader__bd { + margin-bottom: -4px; + margin-right: -9px; + overflow: hidden; +} + +.weui-uploader__file { + float: left; + margin-right: 9px; + margin-bottom: 9px; +} + +.weui-uploader__img { + display: block; + width: 79px; + height: 79px; +} + +.weui-uploader__file_status { + position: relative; +} + +.weui-uploader__file_status:before { + content: " "; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.5); +} + +.weui-uploader__file-content { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + color: #fff; +} + +.weui-uploader__input-box { + float: left; + position: relative; + margin-right: 9px; + margin-bottom: 9px; + width: 77px; + height: 77px; + border: 1px solid #d9d9d9; +} + +.weui-uploader__input-box:after, .weui-uploader__input-box:before { + content: " "; + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + background-color: #d9d9d9; +} + +.weui-uploader__input-box:before { + width: 2px; + height: 39.5px; +} + +.weui-uploader__input-box:after { + width: 39.5px; + height: 2px; +} + +.weui-uploader__input-box:active { + border-color: #999; +} + +.weui-uploader__input-box:active:after, .weui-uploader__input-box:active:before { + background-color: #999; +} + +.weui-uploader__input { + position: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; +} + +.weui-article { + padding: 20px 15px; + font-size: 15px; +} + +.weui-article__section { + margin-bottom: 1.5em; +} + +.weui-article__h1 { + font-size: 18px; + font-weight: 400; + margin-bottom: 0.9em; +} + +.weui-article__h2 { + font-size: 16px; + font-weight: 400; + margin-bottom: 0.34em; +} + +.weui-article__h3 { + font-weight: 400; + font-size: 15px; + margin-bottom: 0.34em; +} + +.weui-article__p { + margin: 0 0 0.8em; +} + +.weui-msg { + padding-top: 36px; + text-align: center; +} + +.weui-msg__link { + display: inline; + color: #586c94; +} + +.weui-msg__icon-area { + margin-bottom: 30px; +} + +.weui-msg__text-area { + margin-bottom: 25px; + padding: 0 20px; +} + +.weui-msg__title { + margin-bottom: 5px; + font-weight: 400; + font-size: 20px; +} + +.weui-msg__desc { + font-size: 14px; + color: #999; +} + +.weui-msg__opr-area { + margin-bottom: 25px; +} + +.weui-msg__extra-area { + margin-bottom: 15px; + font-size: 14px; + color: #999; +} + +@media screen and (min-height:438px) { + .weui-msg__extra-area { + position: fixed; + left: 0; + bottom: 0; + width: 100%; + text-align: center; + } +} + +.weui-flex { + display: -webkit-box; + display: -webkit-flex; + display: flex; +} + +.weui-flex__item { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; +} + +.weui-btn { + margin-top: 15px; +} + +.weui-btn:first-child { + margin-top: 0; +} + +.weui-btn-area { + margin: 1.17647059em 15px 0.3em; +} + +.weui-agree { + display: block; + padding: 0.5em 15px; + font-size: 13px; +} + +.weui-agree__text { + color: #999; +} + +.weui-agree__link { + display: inline; + color: #586c94; +} + +.weui-agree__checkbox { + position: absolute; + left: -9999px; +} + +.weui-agree__checkbox-icon { + position: relative; + top: 2px; + display: inline-block; + border: 1px solid #d1d1d1; + background-color: #fff; + border-radius: 3px; + width: 11px; + height: 11px; +} + +.weui-agree__checkbox-icon-check { + position: absolute; + top: 1px; + left: 1px; +} + +.weui-footer { + color: #999; + font-size: 14px; + text-align: center; +} + +.weui-footer_fixed-bottom { + position: fixed; + bottom: 0.52em; + left: 0; + right: 0; +} + +.weui-footer__links { + font-size: 0; +} + +.weui-footer__link { + display: inline-block; + vertical-align: top; + margin: 0 0.62em; + position: relative; + font-size: 14px; + color: #586c94; +} + +.weui-footer__link:before { + content: " "; + position: absolute; + left: 0; + top: 0; + width: 1px; + bottom: 0; + border-left: 1rpx solid #c7c7c7; + color: #c7c7c7; + left: -.65em; + top: 0.36em; + bottom: 0.36em; +} + +.weui-footer__link:first-child:before { + display: none; +} + +.weui-footer__text { + padding: 0 0.34em; + font-size: 12px; +} + +.weui-grids { + border-top: 1rpx solid #d9d9d9; + border-left: 1rpx solid #d9d9d9; + overflow: hidden; +} + +.weui-grid { + position: relative; + float: left; + padding: 20px 10px; + width: 33.33333333%; + box-sizing: border-box; + border-right: 1rpx solid #d9d9d9; + border-bottom: 1rpx solid #d9d9d9; +} + +.weui-grid_active { + background-color: #ececec; +} + +.weui-grid__icon { + display: block; + width: 28px; + height: 28px; + margin: 0 auto; +} + +.weui-grid__label { + margin-top: 5px; + display: block; + text-align: center; + color: #000; + font-size: 14px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.weui-loading { + margin: 0 5px; + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + -webkit-animation: a 1s steps(12) infinite; + animation: a 1s steps(12) infinite; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat; + background-size: 100%; +} + +.weui-loading.weui-loading_transparent { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect xmlns='http://www.w3.org/2000/svg' width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.56)' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.5)' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.43)' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.38)' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.32)' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.28)' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.25)' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.2)' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.17)' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.14)' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.1)' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.03)' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E"); +} + +@-webkit-keyframes a { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} + +@keyframes a { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} + +.weui-badge { + display: inline-block; + padding: 0.15em 0.4em; + min-width: 8px; + border-radius: 18px; + background-color: #e64340; + color: #fff; + line-height: 1.2; + text-align: center; + font-size: 12px; + vertical-align: middle; +} + +.weui-badge_dot { + padding: 0.4em; + min-width: 0; +} + +.weui-loadmore { + width: 65%; + margin: 1.5em auto; + line-height: 1.6em; + font-size: 14px; + text-align: center; +} + +.weui-loadmore__tips { + display: inline-block; + vertical-align: middle; +} + +.weui-loadmore_line { + border-top: 1px solid #e5e5e5; + margin-top: 2.4em; +} + +.weui-loadmore__tips_in-line { + position: relative; + top: -.9em; + padding: 0 0.55em; + background-color: #fff; + color: #999; +} + +.weui-loadmore__tips_in-dot { + position: relative; + padding: 0 0.16em; + width: 4px; + height: 1.6em; +} + +.weui-loadmore__tips_in-dot:before { + content: " "; + position: absolute; + top: 50%; + left: 50%; + margin-top: -1px; + margin-left: -2px; + width: 4px; + height: 4px; + border-radius: 50%; + background-color: #e5e5e5; +} + +.weui-panel { + background-color: #fff; + margin-top: 10px; + position: relative; + overflow: hidden; +} + +.weui-panel:first-child { + margin-top: 0; +} + +.weui-panel:before { + top: 0; + border-top: 1rpx solid #e5e5e5; +} + +.weui-panel:after, .weui-panel:before { + content: " "; + position: absolute; + left: 0; + right: 0; + height: 1px; + color: #e5e5e5; +} + +.weui-panel:after { + bottom: 0; + border-bottom: 1rpx solid #e5e5e5; +} + +.weui-panel__hd { + padding: 14px 15px 10px; + color: #999; + font-size: 13px; + position: relative; +} + +.weui-panel__hd:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #e5e5e5; + color: #e5e5e5; + left: 15px; +} + +.weui-media-box { + padding: 15px; + position: relative; +} + +.weui-media-box:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #e5e5e5; + color: #e5e5e5; + left: 15px; +} + +.weui-media-box:first-child:before { + display: none; +} + +.weui-media-box__title { + font-weight: 400; + font-size: 17px; + width: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-wrap: normal; + word-wrap: break-word; + word-break: break-all; +} + +.weui-media-box__desc { + color: #999; + font-size: 13px; + line-height: 1.2; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} + +.weui-media-box__info { + margin-top: 15px; + padding-bottom: 5px; + font-size: 13px; + color: #cecece; + line-height: 1em; + list-style: none; + overflow: hidden; +} + +.weui-media-box__info__meta { + float: left; + padding-right: 1em; +} + +.weui-media-box__info__meta_extra { + padding-left: 1em; + border-left: 1px solid #cecece; +} + +.weui-media-box__title_in-text { + margin-bottom: 8px; +} + +.weui-media-box_appmsg { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} + +.weui-media-box__thumb { + width: 100%; + height: 100%; + vertical-align: top; +} + +.weui-media-box__hd_in-appmsg { + margin-right: 0.8em; + width: 60px; + height: 60px; + line-height: 60px; + text-align: center; +} + +.weui-media-box__bd_in-appmsg { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + min-width: 0; +} + +.weui-media-box_small-appmsg { + padding: 0; +} + +.weui-cells_in-small-appmsg { + margin-top: 0; +} + +.weui-cells_in-small-appmsg:before { + display: none; +} + +.weui-progress { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} + +.weui-progress__bar { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; +} + +.weui-progress__opr { + margin-left: 15px; + font-size: 0; +} + +.weui-navbar { + display: -webkit-box; + display: -webkit-flex; + display: flex; + position: absolute; + z-index: 500; + top: 0; + width: 100%; + border-bottom: 1rpx solid #ccc; +} + +.weui-navbar__item { + position: relative; + display: block; + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + padding: 13px 0; + text-align: center; + font-size: 0; +} + +.weui-navbar__item.weui-bar__item_on { + color: #1aad19; +} + +.weui-navbar__slider { + position: absolute; + content: " "; + left: 0; + bottom: 0; + width: 6em; + height: 3px; + background-color: #1aad19; + -webkit-transition: -webkit-transform 0.3s; + transition: -webkit-transform 0.3s; + transition: transform 0.3s; + transition: transform 0.3s, -webkit-transform 0.3s; +} + +.weui-navbar__title { + display: inline-block; + font-size: 15px; + max-width: 8em; + width: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-wrap: normal; +} + +.weui-tab { + position: relative; + height: 100%; +} + +.weui-tab__panel { + box-sizing: border-box; + height: 100%; + padding-top: 50px; + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +.weui-search-bar { + position: relative; + padding: 8px 10px; + display: -webkit-box; + display: -webkit-flex; + display: flex; + box-sizing: border-box; + background-color: #efeff4; + border-top: 1rpx solid #d7d6dc; + border-bottom: 1rpx solid #d7d6dc; +} + +.weui-icon-search { + margin-right: 8px; + font-size: inherit; +} + +.weui-icon-search_in-box { + position: absolute; + left: 10px; + top: 7px; +} + +.weui-search-bar__text { + display: inline-block; + font-size: 14px; + vertical-align: middle; +} + +.weui-search-bar__form { + position: relative; + -webkit-box-flex: 1; + -webkit-flex: auto; + flex: auto; + border-radius: 5px; + background: #fff; + border: 1rpx solid #e6e6ea; +} + +.weui-search-bar__box { + position: relative; + padding-left: 30px; + padding-right: 30px; + width: 100%; + box-sizing: border-box; + z-index: 1; +} + +.weui-search-bar__input { + height: 28px; + line-height: 28px; + font-size: 14px; +} + +.weui-icon-clear { + position: absolute; + top: 0; + right: 0; + padding: 7px 8px; + font-size: 0; +} + +.weui-search-bar__label { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + border-radius: 3px; + text-align: center; + color: #9b9b9b; + background: #fff; + line-height: 28px; +} + +.weui-search-bar__cancel-btn { + margin-left: 10px; + line-height: 28px; + color: #09bb07; + white-space: nowrap; +} From 438fc53fc6bd63d215ff4f07cb42bd8a6c3bf99d Mon Sep 17 00:00:00 2001 From: guo Date: Mon, 22 Oct 2018 16:19:45 +0800 Subject: [PATCH 03/25] =?UTF-8?q?=E4=B8=BB=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 12 ++-- pages/index/index.js | 85 ++++++++++++++++++++++++-- pages/index/index.wxml | 106 ++++++++++++++++++++++++++------- pages/navigater/navigater.js | 66 ++++++++++++++++++++ pages/navigater/navigater.json | 1 + pages/navigater/navigater.wxml | 27 +++++++++ pages/navigater/navigater.wxss | 61 +++++++++++++++++++ 7 files changed, 328 insertions(+), 30 deletions(-) create mode 100644 pages/navigater/navigater.js create mode 100644 pages/navigater/navigater.json create mode 100644 pages/navigater/navigater.wxml create mode 100644 pages/navigater/navigater.wxss diff --git a/app.json b/app.json index e3308e8..ff71fc7 100644 --- a/app.json +++ b/app.json @@ -1,14 +1,11 @@ { "pages": [ "pages/index/index", + "pages/navigater/navigater", + "pages/detail/detail", - - - "pages/list/list", - "pages/post/post" - ], "window": { "backgroundColor": "#0071BD", @@ -18,7 +15,10 @@ "navigationBarTextStyle": "white" }, "tabBar": { - "list": [ + "list": [{ + "pagePath": "pages/navigater/navigater", + "text": "开发版页面" + }, { "pagePath": "pages/index/index", "text": "主页" diff --git a/pages/index/index.js b/pages/index/index.js index b5a39c1..9fcf733 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -6,10 +6,66 @@ Page({ userInfo: {}, logged: false, takeSession: false, - requestResult: '' + requestResult: '', + inputShowed: false, + inputVal: "", + grids: [{ + id: 0, + title: '发布二手信息', + url: '/pages/post/post', + icon:'', + opentype:'switchTab' + }, + { + id: 1, + title: "商品列表", + url: "/pages/list/list", + icon:'', + opentype:'navigate' + }, { + id: 2, + title: '商品详细信息', + url: "/pages/detail/detail", + icon:'', + opentype: 'navigate' + }, + { + id: 3, + title: '电子设备', + url: "/pages/detail/detail", + icon: '', + opentype: 'navigate' + }, + { + id: 4, + title: '日用品', + url: "/pages/detail/detail", + icon: '', + opentype: 'navigate' + }, + { + id: 4, + title: '二手书', + url: "/pages/detail/detail", + icon: '', + opentype: 'navigate' + } + ], + carousel:[ + { + id:0, + img:'/images/psb2.jpeg', + url:'/pages/detail/detail' + }, + { + id: 1, + img: '/images/psb.webp', + url: '/pages/detail/detail' + } + ] }, - onLoad: function () { + onLoad: function() { // 获取用户信息 wx.getSetting({ @@ -29,7 +85,7 @@ Page({ }) }, - onGetUserInfo: function (e) { + onGetUserInfo: function(e) { if (!this.logged && e.detail.userInfo) { this.setData({ logged: true, @@ -38,5 +94,26 @@ Page({ }) } }, + showInput: function() { + this.setData({ + inputShowed: true + }); + }, + hideInput: function() { + this.setData({ + inputVal: "", + inputShowed: false + }); + }, + clearInput: function() { + this.setData({ + inputVal: "" + }); + }, + inputTyping: function(e) { + this.setData({ + inputVal: e.detail.value + }); + } -}) +}) \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 32880a6..236d08e 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -1,27 +1,93 @@ - - - - - 发布二手信息 - + + + + + + + + + + + + + - - - - 商品列表 + + + + 实时搜索文本 + - - - - - 商品详细信息 + + + 实时搜索文本 + + + + + 实时搜索文本 + + + + + 实时搜索文本 + + - - - Homepage is building... - + + + + + + + + + + + + + + + + + + + {{item.title}} + + + - \ No newline at end of file +商品列表 + + + + + + + 商品一 + 由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。 + + + + + + + + 商品二 + 由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。 + + + + + + 查看更多 + + + + \ No newline at end of file diff --git a/pages/navigater/navigater.js b/pages/navigater/navigater.js new file mode 100644 index 0000000..9dcbd27 --- /dev/null +++ b/pages/navigater/navigater.js @@ -0,0 +1,66 @@ +// pages/navigater/navigater.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/navigater/navigater.json b/pages/navigater/navigater.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/pages/navigater/navigater.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/pages/navigater/navigater.wxml b/pages/navigater/navigater.wxml new file mode 100644 index 0000000..91c5fcb --- /dev/null +++ b/pages/navigater/navigater.wxml @@ -0,0 +1,27 @@ + + + + + 发布二手信息 + + + + + + 商品列表 + + + + + + 商品详细信息 + + + + + + 主页 + + + + \ No newline at end of file diff --git a/pages/navigater/navigater.wxss b/pages/navigater/navigater.wxss new file mode 100644 index 0000000..446a469 --- /dev/null +++ b/pages/navigater/navigater.wxss @@ -0,0 +1,61 @@ +/**index.wxss**/ + +page { + background: #f6f6f6; + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +.userinfo, .uploader { + margin-top: 40rpx; + height: 140rpx; + width: 100%; + background: #fff; + border: 1px solid rgba(0, 0, 0, 0.1); + border-left: none; + border-right: none; + display: flex; + flex-direction: row; + align-items: center; + transition: all 300ms ease; +} + +.userinfo-avatar { + width: 100rpx; + height: 100rpx; + margin: 20rpx; + border-radius: 50%; + background-size: cover; + background-color: white; +} + +.userinfo-avatar:after { + border: none; +} + +.userinfo-nickname { + font-size: 32rpx; + color: #007aff; + background-color: white; + background-size: cover; +} + +.userinfo-nickname::after { + border: none; +} + +.uploader { + height: auto; + padding: 0 0 0 0rpx; + flex-direction: column; + align-items: flex-start; + box-sizing: border-box; +} + +.uploader-text { + width: 100%; + line-height: 52px; + font-size: 34rpx; + color: #007aff; +} From 077c772b87128da0c26d1eb4e30cb5342044cb7b Mon Sep 17 00:00:00 2001 From: guo Date: Fri, 9 Nov 2018 13:20:51 +0800 Subject: [PATCH 04/25] i --- app.json | 27 ++++-- dist/action-sheet/index.js | 47 ++++++++++ dist/action-sheet/index.json | 8 ++ dist/action-sheet/index.wxml | 23 +++++ dist/action-sheet/index.wxss | 1 + dist/alert/index.js | 37 ++++++++ dist/alert/index.json | 7 ++ dist/alert/index.wxml | 15 +++ dist/alert/index.wxss | 1 + dist/avatar/index.js | 20 ++++ dist/avatar/index.json | 3 + dist/avatar/index.wxml | 4 + dist/avatar/index.wxss | 1 + dist/badge/index.js | 29 ++++++ dist/badge/index.json | 3 + dist/badge/index.wxml | 5 + dist/badge/index.wxss | 1 + dist/base/index.js | 37 ++++++++ dist/button/index.js | 80 ++++++++++++++++ dist/button/index.json | 3 + dist/button/index.wxml | 20 ++++ dist/button/index.wxss | 1 + dist/card/index.js | 26 ++++++ dist/card/index.json | 3 + dist/card/index.wxml | 11 +++ dist/card/index.wxss | 1 + dist/cell-group/index.js | 33 +++++++ dist/cell-group/index.json | 3 + dist/cell-group/index.wxml | 3 + dist/cell/index.js | 86 ++++++++++++++++++ dist/cell/index.json | 3 + dist/cell/index.wxml | 16 ++++ dist/cell/index.wxss | 1 + dist/checkbox-group/index.js | 38 ++++++++ dist/checkbox-group/index.json | 7 ++ dist/checkbox-group/index.wxml | 3 + dist/checkbox-group/index.wxss | 0 dist/checkbox/index.js | 56 ++++++++++++ dist/checkbox/index.json | 7 ++ dist/checkbox/index.wxml | 8 ++ dist/checkbox/index.wxss | 1 + dist/col/index.js | 20 ++++ dist/col/index.json | 3 + dist/col/index.wxml | 1 + dist/col/index.wxss | 1 + dist/collapse-item/index.js | 47 ++++++++++ dist/collapse-item/index.json | 7 ++ dist/collapse-item/index.wxml | 11 +++ dist/collapse-item/index.wxss | 46 ++++++++++ dist/collapse/index.js | 31 +++++++ dist/collapse/index.json | 3 + dist/collapse/index.wxml | 4 + dist/collapse/index.wxss | 0 dist/count-down/index.js | 90 ++++++++++++++++++ dist/count-down/index.json | 4 + dist/count-down/index.wxml | 4 + dist/count-down/index.wxss | 0 dist/divider/index.js | 25 +++++ dist/divider/index.json | 3 + dist/divider/index.wxml | 19 ++++ dist/divider/index.wxss | 1 + dist/drawer/index.js | 33 +++++++ dist/drawer/index.json | 3 + dist/drawer/index.wxml | 6 ++ dist/drawer/index.wxss | 1 + dist/grid-icon/index.js | 10 ++ dist/grid-icon/index.json | 3 + dist/grid-icon/index.wxml | 1 + dist/grid-icon/index.wxss | 1 + dist/grid-item/index.js | 16 ++++ dist/grid-item/index.json | 3 + dist/grid-item/index.wxml | 1 + dist/grid-item/index.wxss | 1 + dist/grid-label/index.js | 10 ++ dist/grid-label/index.json | 3 + dist/grid-label/index.wxml | 1 + dist/grid-label/index.wxss | 1 + dist/grid/index.js | 50 ++++++++++ dist/grid/index.json | 3 + dist/grid/index.wxml | 1 + dist/grid/index.wxss | 1 + dist/icon/index.js | 22 +++++ dist/icon/index.json | 3 + dist/icon/index.wxml | 1 + dist/icon/index.wxss | 1 + dist/index-item/index.js | 32 +++++++ dist/index-item/index.json | 3 + dist/index-item/index.wxml | 11 +++ dist/index-item/index.wxss | 1 + dist/index/index.js | 158 ++++++++++++++++++++++++++++++++ dist/index/index.json | 3 + dist/index/index.wxml | 38 ++++++++ dist/index/index.wxss | 1 + dist/input-number/index.js | 101 +++++++++++++++++++++ dist/input-number/index.json | 3 + dist/input-number/index.wxml | 5 + dist/input-number/index.wxss | 1 + dist/input/index.js | 61 +++++++++++++ dist/input/index.json | 3 + dist/input/index.wxml | 31 +++++++ dist/input/index.wxss | 1 + dist/load-more/index.js | 14 +++ dist/load-more/index.json | 3 + dist/load-more/index.wxml | 8 ++ dist/load-more/index.wxss | 1 + dist/message/index.js | 45 +++++++++ dist/message/index.json | 3 + dist/message/index.wxml | 3 + dist/message/index.wxss | 1 + dist/modal/index.js | 54 +++++++++++ dist/modal/index.json | 9 ++ dist/modal/index.wxml | 40 ++++++++ dist/modal/index.wxss | 1 + dist/notice-bar/index.js | 112 +++++++++++++++++++++++ dist/notice-bar/index.json | 7 ++ dist/notice-bar/index.wxml | 9 ++ dist/notice-bar/index.wxss | 1 + dist/page/index.js | 42 +++++++++ dist/page/index.json | 7 ++ dist/page/index.wxml | 14 +++ dist/page/index.wxss | 1 + dist/panel/index.js | 19 ++++ dist/panel/index.json | 3 + dist/panel/index.wxml | 4 + dist/panel/index.wxss | 1 + dist/progress/index.js | 23 +++++ dist/progress/index.json | 3 + dist/progress/index.wxml | 10 ++ dist/progress/index.wxss | 1 + dist/radio-group/index.js | 38 ++++++++ dist/radio-group/index.json | 7 ++ dist/radio-group/index.wxml | 3 + dist/radio-group/index.wxss | 0 dist/radio/index.js | 56 ++++++++++++ dist/radio/index.json | 7 ++ dist/radio/index.wxml | 8 ++ dist/radio/index.wxss | 1 + dist/rate/index.js | 69 ++++++++++++++ dist/rate/index.json | 6 ++ dist/rate/index.wxml | 23 +++++ dist/rate/index.wxss | 1 + dist/row/index.js | 9 ++ dist/row/index.json | 3 + dist/row/index.wxml | 1 + dist/row/index.wxss | 1 + dist/slide/index.js | 15 +++ dist/slide/index.json | 8 ++ dist/slide/index.wxml | 4 + dist/slide/index.wxss | 0 dist/spin/index.js | 23 +++++ dist/spin/index.json | 3 + dist/spin/index.wxml | 6 ++ dist/spin/index.wxss | 1 + dist/step/index.js | 52 +++++++++++ dist/step/index.json | 7 ++ dist/step/index.wxml | 70 ++++++++++++++ dist/step/index.wxss | 1 + dist/steps/index.js | 50 ++++++++++ dist/steps/index.json | 3 + dist/steps/index.wxml | 3 + dist/steps/index.wxss | 1 + dist/sticky-item/index.js | 40 ++++++++ dist/sticky-item/index.json | 3 + dist/sticky-item/index.wxml | 10 ++ dist/sticky-item/index.wxss | 1 + dist/sticky/index.js | 63 +++++++++++++ dist/sticky/index.json | 3 + dist/sticky/index.wxml | 3 + dist/sticky/index.wxss | 0 dist/swipeout/index.js | 161 +++++++++++++++++++++++++++++++++ dist/swipeout/index.json | 7 ++ dist/swipeout/index.wxml | 39 ++++++++ dist/swipeout/index.wxss | 1 + dist/switch/index.js | 38 ++++++++ dist/switch/index.json | 3 + dist/switch/index.wxml | 26 ++++++ dist/switch/index.wxss | 1 + dist/tab-bar-item/index.js | 62 +++++++++++++ dist/tab-bar-item/index.json | 8 ++ dist/tab-bar-item/index.wxml | 10 ++ dist/tab-bar-item/index.wxss | 1 + dist/tab-bar/index.js | 66 ++++++++++++++ dist/tab-bar/index.json | 3 + dist/tab-bar/index.wxml | 6 ++ dist/tab-bar/index.wxss | 1 + dist/tab/index.js | 50 ++++++++++ dist/tab/index.json | 7 ++ dist/tab/index.wxml | 9 ++ dist/tab/index.wxss | 1 + dist/tabs/index.js | 56 ++++++++++++ dist/tabs/index.json | 3 + dist/tabs/index.wxml | 2 + dist/tabs/index.wxss | 1 + dist/tag/index.js | 42 +++++++++ dist/tag/index.json | 3 + dist/tag/index.wxml | 27 ++++++ dist/tag/index.wxss | 1 + dist/toast/index.js | 48 ++++++++++ dist/toast/index.json | 7 ++ dist/toast/index.wxml | 16 ++++ dist/toast/index.wxss | 1 + pages/favorite/favorite.js | 83 +++++++++++++++++ pages/favorite/favorite.json | 1 + pages/favorite/favorite.wxml | 15 +++ pages/favorite/favorite.wxss | 1 + pages/i/i.js | 66 ++++++++++++++ pages/i/i.json | 1 + pages/i/i.wxml | 50 ++++++++++ pages/i/i.wxss | 16 ++++ pages/index/index.js | 22 ++--- pages/index/index.wxml | 2 +- pages/issue/issue.js | 93 +++++++++++++++++++ pages/issue/issue.json | 1 + pages/issue/issue.wxml | 26 ++++++ pages/issue/issue.wxss | 11 +++ pages/list/list.js | 5 +- pages/navigater/navigater.wxml | 18 ++++ 217 files changed, 3768 insertions(+), 20 deletions(-) create mode 100644 dist/action-sheet/index.js create mode 100644 dist/action-sheet/index.json create mode 100644 dist/action-sheet/index.wxml create mode 100644 dist/action-sheet/index.wxss create mode 100644 dist/alert/index.js create mode 100644 dist/alert/index.json create mode 100644 dist/alert/index.wxml create mode 100644 dist/alert/index.wxss create mode 100644 dist/avatar/index.js create mode 100644 dist/avatar/index.json create mode 100644 dist/avatar/index.wxml create mode 100644 dist/avatar/index.wxss create mode 100644 dist/badge/index.js create mode 100644 dist/badge/index.json create mode 100644 dist/badge/index.wxml create mode 100644 dist/badge/index.wxss create mode 100644 dist/base/index.js create mode 100644 dist/button/index.js create mode 100644 dist/button/index.json create mode 100644 dist/button/index.wxml create mode 100644 dist/button/index.wxss create mode 100644 dist/card/index.js create mode 100644 dist/card/index.json create mode 100644 dist/card/index.wxml create mode 100644 dist/card/index.wxss create mode 100644 dist/cell-group/index.js create mode 100644 dist/cell-group/index.json create mode 100644 dist/cell-group/index.wxml create mode 100644 dist/cell/index.js create mode 100644 dist/cell/index.json create mode 100644 dist/cell/index.wxml create mode 100644 dist/cell/index.wxss create mode 100644 dist/checkbox-group/index.js create mode 100644 dist/checkbox-group/index.json create mode 100644 dist/checkbox-group/index.wxml create mode 100644 dist/checkbox-group/index.wxss create mode 100644 dist/checkbox/index.js create mode 100644 dist/checkbox/index.json create mode 100644 dist/checkbox/index.wxml create mode 100644 dist/checkbox/index.wxss create mode 100644 dist/col/index.js create mode 100644 dist/col/index.json create mode 100644 dist/col/index.wxml create mode 100644 dist/col/index.wxss create mode 100644 dist/collapse-item/index.js create mode 100644 dist/collapse-item/index.json create mode 100644 dist/collapse-item/index.wxml create mode 100644 dist/collapse-item/index.wxss create mode 100644 dist/collapse/index.js create mode 100644 dist/collapse/index.json create mode 100644 dist/collapse/index.wxml create mode 100644 dist/collapse/index.wxss create mode 100644 dist/count-down/index.js create mode 100644 dist/count-down/index.json create mode 100644 dist/count-down/index.wxml create mode 100644 dist/count-down/index.wxss create mode 100644 dist/divider/index.js create mode 100644 dist/divider/index.json create mode 100644 dist/divider/index.wxml create mode 100644 dist/divider/index.wxss create mode 100644 dist/drawer/index.js create mode 100644 dist/drawer/index.json create mode 100644 dist/drawer/index.wxml create mode 100644 dist/drawer/index.wxss create mode 100644 dist/grid-icon/index.js create mode 100644 dist/grid-icon/index.json create mode 100644 dist/grid-icon/index.wxml create mode 100644 dist/grid-icon/index.wxss create mode 100644 dist/grid-item/index.js create mode 100644 dist/grid-item/index.json create mode 100644 dist/grid-item/index.wxml create mode 100644 dist/grid-item/index.wxss create mode 100644 dist/grid-label/index.js create mode 100644 dist/grid-label/index.json create mode 100644 dist/grid-label/index.wxml create mode 100644 dist/grid-label/index.wxss create mode 100644 dist/grid/index.js create mode 100644 dist/grid/index.json create mode 100644 dist/grid/index.wxml create mode 100644 dist/grid/index.wxss create mode 100644 dist/icon/index.js create mode 100644 dist/icon/index.json create mode 100644 dist/icon/index.wxml create mode 100644 dist/icon/index.wxss create mode 100644 dist/index-item/index.js create mode 100644 dist/index-item/index.json create mode 100644 dist/index-item/index.wxml create mode 100644 dist/index-item/index.wxss create mode 100644 dist/index/index.js create mode 100644 dist/index/index.json create mode 100644 dist/index/index.wxml create mode 100644 dist/index/index.wxss create mode 100644 dist/input-number/index.js create mode 100644 dist/input-number/index.json create mode 100644 dist/input-number/index.wxml create mode 100644 dist/input-number/index.wxss create mode 100644 dist/input/index.js create mode 100644 dist/input/index.json create mode 100644 dist/input/index.wxml create mode 100644 dist/input/index.wxss create mode 100644 dist/load-more/index.js create mode 100644 dist/load-more/index.json create mode 100644 dist/load-more/index.wxml create mode 100644 dist/load-more/index.wxss create mode 100644 dist/message/index.js create mode 100644 dist/message/index.json create mode 100644 dist/message/index.wxml create mode 100644 dist/message/index.wxss create mode 100644 dist/modal/index.js create mode 100644 dist/modal/index.json create mode 100644 dist/modal/index.wxml create mode 100644 dist/modal/index.wxss create mode 100644 dist/notice-bar/index.js create mode 100644 dist/notice-bar/index.json create mode 100644 dist/notice-bar/index.wxml create mode 100644 dist/notice-bar/index.wxss create mode 100644 dist/page/index.js create mode 100644 dist/page/index.json create mode 100644 dist/page/index.wxml create mode 100644 dist/page/index.wxss create mode 100644 dist/panel/index.js create mode 100644 dist/panel/index.json create mode 100644 dist/panel/index.wxml create mode 100644 dist/panel/index.wxss create mode 100644 dist/progress/index.js create mode 100644 dist/progress/index.json create mode 100644 dist/progress/index.wxml create mode 100644 dist/progress/index.wxss create mode 100644 dist/radio-group/index.js create mode 100644 dist/radio-group/index.json create mode 100644 dist/radio-group/index.wxml create mode 100644 dist/radio-group/index.wxss create mode 100644 dist/radio/index.js create mode 100644 dist/radio/index.json create mode 100644 dist/radio/index.wxml create mode 100644 dist/radio/index.wxss create mode 100644 dist/rate/index.js create mode 100644 dist/rate/index.json create mode 100644 dist/rate/index.wxml create mode 100644 dist/rate/index.wxss create mode 100644 dist/row/index.js create mode 100644 dist/row/index.json create mode 100644 dist/row/index.wxml create mode 100644 dist/row/index.wxss create mode 100644 dist/slide/index.js create mode 100644 dist/slide/index.json create mode 100644 dist/slide/index.wxml create mode 100644 dist/slide/index.wxss create mode 100644 dist/spin/index.js create mode 100644 dist/spin/index.json create mode 100644 dist/spin/index.wxml create mode 100644 dist/spin/index.wxss create mode 100644 dist/step/index.js create mode 100644 dist/step/index.json create mode 100644 dist/step/index.wxml create mode 100644 dist/step/index.wxss create mode 100644 dist/steps/index.js create mode 100644 dist/steps/index.json create mode 100644 dist/steps/index.wxml create mode 100644 dist/steps/index.wxss create mode 100644 dist/sticky-item/index.js create mode 100644 dist/sticky-item/index.json create mode 100644 dist/sticky-item/index.wxml create mode 100644 dist/sticky-item/index.wxss create mode 100644 dist/sticky/index.js create mode 100644 dist/sticky/index.json create mode 100644 dist/sticky/index.wxml create mode 100644 dist/sticky/index.wxss create mode 100644 dist/swipeout/index.js create mode 100644 dist/swipeout/index.json create mode 100644 dist/swipeout/index.wxml create mode 100644 dist/swipeout/index.wxss create mode 100644 dist/switch/index.js create mode 100644 dist/switch/index.json create mode 100644 dist/switch/index.wxml create mode 100644 dist/switch/index.wxss create mode 100644 dist/tab-bar-item/index.js create mode 100644 dist/tab-bar-item/index.json create mode 100644 dist/tab-bar-item/index.wxml create mode 100644 dist/tab-bar-item/index.wxss create mode 100644 dist/tab-bar/index.js create mode 100644 dist/tab-bar/index.json create mode 100644 dist/tab-bar/index.wxml create mode 100644 dist/tab-bar/index.wxss create mode 100644 dist/tab/index.js create mode 100644 dist/tab/index.json create mode 100644 dist/tab/index.wxml create mode 100644 dist/tab/index.wxss create mode 100644 dist/tabs/index.js create mode 100644 dist/tabs/index.json create mode 100644 dist/tabs/index.wxml create mode 100644 dist/tabs/index.wxss create mode 100644 dist/tag/index.js create mode 100644 dist/tag/index.json create mode 100644 dist/tag/index.wxml create mode 100644 dist/tag/index.wxss create mode 100644 dist/toast/index.js create mode 100644 dist/toast/index.json create mode 100644 dist/toast/index.wxml create mode 100644 dist/toast/index.wxss create mode 100644 pages/favorite/favorite.js create mode 100644 pages/favorite/favorite.json create mode 100644 pages/favorite/favorite.wxml create mode 100644 pages/favorite/favorite.wxss create mode 100644 pages/i/i.js create mode 100644 pages/i/i.json create mode 100644 pages/i/i.wxml create mode 100644 pages/i/i.wxss create mode 100644 pages/issue/issue.js create mode 100644 pages/issue/issue.json create mode 100644 pages/issue/issue.wxml create mode 100644 pages/issue/issue.wxss diff --git a/app.json b/app.json index ff71fc7..e987b81 100644 --- a/app.json +++ b/app.json @@ -1,11 +1,14 @@ { "pages": [ - "pages/index/index", + "pages/i/i", "pages/navigater/navigater", - + "pages/index/index", "pages/detail/detail", "pages/list/list", - "pages/post/post" + "pages/post/post", + "pages/issue/issue", + "pages/favorite/favorite" + ], "window": { "backgroundColor": "#0071BD", @@ -15,10 +18,11 @@ "navigationBarTextStyle": "white" }, "tabBar": { - "list": [{ - "pagePath": "pages/navigater/navigater", - "text": "开发版页面" - }, + "list": [ + { + "pagePath": "pages/navigater/navigater", + "text": "开发版页面" + }, { "pagePath": "pages/index/index", "text": "主页" @@ -26,6 +30,10 @@ { "pagePath": "pages/post/post", "text": "发布" + }, + { + "pagePath":"pages/i/i", + "text":"我" } ], "color": "#cccccc", @@ -36,5 +44,10 @@ "connectSocket": 10000, "uploadFile": 10000, "downloadFile": 10000 + }, + "usingComponents": { + "i-collapse": "dist/collapse/index", + "i-collapse-item": "dist/collapse-item/index", + "i-button": "../../dist/button/index" } } \ No newline at end of file diff --git a/dist/action-sheet/index.js b/dist/action-sheet/index.js new file mode 100644 index 0000000..2db31aa --- /dev/null +++ b/dist/action-sheet/index.js @@ -0,0 +1,47 @@ +Component({ + externalClasses: ['i-class', 'i-class-mask', 'i-class-header'], + + options: { + multipleSlots: true + }, + + properties: { + visible: { + type: Boolean, + value: false + }, + maskClosable: { + type: Boolean, + value: true + }, + showCancel: { + type: Boolean, + value: false + }, + cancelText: { + type: String, + value: '取消' + }, + actions: { + type: Array, + value: [] + } + }, + + methods: { + handleClickMask () { + if (!this.data.maskClosable) return; + this.handleClickCancel(); + }, + + handleClickItem ({ currentTarget = {} }) { + const dataset = currentTarget.dataset || {}; + const { index } = dataset; + this.triggerEvent('click', { index }); + }, + + handleClickCancel () { + this.triggerEvent('cancel'); + } + } +}); diff --git a/dist/action-sheet/index.json b/dist/action-sheet/index.json new file mode 100644 index 0000000..6b1e67d --- /dev/null +++ b/dist/action-sheet/index.json @@ -0,0 +1,8 @@ +{ + "component": true, + "usingComponents": + { + "i-button": "../button/index", + "i-icon": "../icon/index" + } +} diff --git a/dist/action-sheet/index.wxml b/dist/action-sheet/index.wxml new file mode 100644 index 0000000..332f393 --- /dev/null +++ b/dist/action-sheet/index.wxml @@ -0,0 +1,23 @@ + + + + + + + + + {{ item.name }} + + + + + {{ cancelText }} + + diff --git a/dist/action-sheet/index.wxss b/dist/action-sheet/index.wxss new file mode 100644 index 0000000..05c6f04 --- /dev/null +++ b/dist/action-sheet/index.wxss @@ -0,0 +1 @@ +.i-as{position:fixed;width:100%;box-sizing:border-box;left:0;right:0;bottom:0;background:#f7f7f7;transform:translate3d(0,100%,0);transform-origin:center;transition:all .2s ease-in-out;z-index:900;visibility:hidden}.i-as-show{transform:translate3d(0,0,0);visibility:visible}.i-as-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:900;transition:all .2s ease-in-out;opacity:0;visibility:hidden}.i-as-mask-show{opacity:1;visibility:visible}.i-as-action-item{position:relative}.i-as-action-item::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-bottom-width:1px}.i-as-header{background:#fff;text-align:center;position:relative;font-size:12px;color:#80848f}.i-as-header::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-bottom-width:1px}.i-as-cancel{margin-top:6px}.i-as-btn-loading{display:inline-block;vertical-align:middle;margin-right:10px;width:12px;height:12px;background:0 0;border-radius:50%;border:2px solid #e5e5e5;border-color:#666 #e5e5e5 #e5e5e5 #e5e5e5;animation:btn-spin .6s linear;animation-iteration-count:infinite}.i-as-btn-text{display:inline-block;vertical-align:middle}.i-as-btn-icon{font-size:14px!important;margin-right:4px}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/dist/alert/index.js b/dist/alert/index.js new file mode 100644 index 0000000..461b67d --- /dev/null +++ b/dist/alert/index.js @@ -0,0 +1,37 @@ +Component({ + externalClasses: ['i-class'], + options: { + multipleSlots: true + }, + properties: { + //info, success, warning, error + type: { + type: String, + value: 'info' + }, + closable: { + type: Boolean, + value: false + }, + showIcon: { + type: Boolean, + default: false + }, + desc: { + type: Boolean, + default: false + }, + }, + data: { + closed: false + }, + methods: { + handleTap() { + this.setData({ + closed: !this.data.closed, + }); + this.triggerEvent('close'); + }, + + } +}); diff --git a/dist/alert/index.json b/dist/alert/index.json new file mode 100644 index 0000000..db3afc0 --- /dev/null +++ b/dist/alert/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-icon": "../icon/index" + } +} diff --git a/dist/alert/index.wxml b/dist/alert/index.wxml new file mode 100644 index 0000000..eebabde --- /dev/null +++ b/dist/alert/index.wxml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/dist/alert/index.wxss b/dist/alert/index.wxss new file mode 100644 index 0000000..0e61fce --- /dev/null +++ b/dist/alert/index.wxss @@ -0,0 +1 @@ +.i-alert{position:relative;margin:10px;padding:8px 48px 8px 16px;font-size:14px;border-radius:2px;color:#fff;background:#f7f7f7;color:#495060}.i-alert.i-alert-with-icon{padding:8px 48px 8px 38px}.i-alert-info{color:#fff;background:#2db7f5}.i-alert-success{color:#fff;background:#19be6b}.i-alert-warning{color:#fff;background:#f90}.i-alert-error{color:#fff;background:#ed3f14}.i-alert-icon{position:absolute;top:9px;left:16px;font-size:14px}.i-alert-desc{font-size:12px}.i-alert-with-desc{padding:16px;position:relative}.i-alert-with-desc.i-alert-with-icon{padding:16px 16px 16px 69px}.i-alert-with-desc .i-alert-icon{top:50%;left:24px;margin-top:-21px;font-size:28px}.i-alert-close{font-size:12px;position:absolute;right:16px;top:8px;overflow:hidden;cursor:pointer} \ No newline at end of file diff --git a/dist/avatar/index.js b/dist/avatar/index.js new file mode 100644 index 0000000..fae9476 --- /dev/null +++ b/dist/avatar/index.js @@ -0,0 +1,20 @@ +Component({ + externalClasses: ['i-class'], + + properties: { + // circle || square + shape: { + type: String, + value: 'circle' + }, + // small || large || default + size: { + type: String, + value: 'default' + }, + src: { + type: String, + value: '' + } + } +}); diff --git a/dist/avatar/index.json b/dist/avatar/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/avatar/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/avatar/index.wxml b/dist/avatar/index.wxml new file mode 100644 index 0000000..11730c6 --- /dev/null +++ b/dist/avatar/index.wxml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/dist/avatar/index.wxss b/dist/avatar/index.wxss new file mode 100644 index 0000000..8f6e636 --- /dev/null +++ b/dist/avatar/index.wxss @@ -0,0 +1 @@ +.i-avatar{display:inline-block;text-align:center;background:#ccc;color:#fff;white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;width:32px;height:32px;line-height:32px;border-radius:16px;font-size:18px}.i-avatar .ivu-avatar-string{line-height:32px}.i-avatar-large{width:40px;height:40px;line-height:40px;border-radius:20px;font-size:24px}.i-avatar-large .ivu-avatar-string{line-height:40px}.i-avatar-small{width:24px;height:24px;line-height:24px;border-radius:12px;font-size:14px}.i-avatar-small .ivu-avatar-string{line-height:24px}.i-avatar-image{background:0 0}.i-avatar-square{border-radius:4px}.i-avatar>image{width:100%;height:100%} \ No newline at end of file diff --git a/dist/badge/index.js b/dist/badge/index.js new file mode 100644 index 0000000..2b9fb30 --- /dev/null +++ b/dist/badge/index.js @@ -0,0 +1,29 @@ +Component({ + externalClasses: ['i-class', 'i-class-alone'], + + properties: { + count: { + type: Number, + value: 0, + observer: 'finalCount' + }, + overflowCount: { + type: Number, + value: 99 + }, + dot: { + type: Boolean, + value: false + }, + }, + data: { + finalCount: 0 + }, + methods: { + finalCount() { + this.setData({ + finalCount: parseInt(this.data.count) >= parseInt(this.data.overflowCount) ? `${this.data.overflowCount}+` : this.data.count + }); + }, + } +}); diff --git a/dist/badge/index.json b/dist/badge/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/badge/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/badge/index.wxml b/dist/badge/index.wxml new file mode 100644 index 0000000..372fd7f --- /dev/null +++ b/dist/badge/index.wxml @@ -0,0 +1,5 @@ + + + + {{ finalCount }} + diff --git a/dist/badge/index.wxss b/dist/badge/index.wxss new file mode 100644 index 0000000..281658f --- /dev/null +++ b/dist/badge/index.wxss @@ -0,0 +1 @@ +.i-badge{position:relative;display:inline-block;line-height:1;vertical-align:middle}.i-badge-count{position:absolute;transform:translateX(50%);top:-6px;right:0;height:18px;border-radius:9px;min-width:18px;background:#ed3f14;border:1px solid transparent;color:#fff;line-height:18px;text-align:center;padding:0 5px;font-size:12px;white-space:nowrap;transform-origin:-10% center;z-index:10;box-shadow:0 0 0 1px #fff;box-sizing:border-box;text-rendering:optimizeLegibility}.i-badge-count-alone{top:auto;display:block;position:relative;transform:translateX(0)}.i-badge-dot{position:absolute;transform:translateX(-50%);transform-origin:0 center;top:-4px;right:-8px;height:8px;width:8px;border-radius:100%;background:#ed3f14;z-index:10;box-shadow:0 0 0 1px #fff} \ No newline at end of file diff --git a/dist/base/index.js b/dist/base/index.js new file mode 100644 index 0000000..6cb977f --- /dev/null +++ b/dist/base/index.js @@ -0,0 +1,37 @@ +function getCtx (selector) { + const pages = getCurrentPages(); + const ctx = pages[pages.length - 1]; + + const componentCtx = ctx.selectComponent(selector); + + if (!componentCtx) { + console.error('无法找到对应的组件,请按文档说明使用组件'); + return null; + } + return componentCtx; +} + +function Toast(options) { + const { selector = '#toast' } = options; + const ctx = getCtx(selector); + + ctx.handleShow(options); +} + +Toast.hide = function (selector = '#toast') { + const ctx = getCtx(selector); + + ctx.handleHide(); +}; + +function Message(options) { + const { selector = '#message' } = options; + const ctx = getCtx(selector); + + ctx.handleShow(options); +} + +module.exports = { + $Toast: Toast, + $Message: Message +}; \ No newline at end of file diff --git a/dist/button/index.js b/dist/button/index.js new file mode 100644 index 0000000..f0e9b3e --- /dev/null +++ b/dist/button/index.js @@ -0,0 +1,80 @@ +Component({ + externalClasses: ['i-class'], + + properties: { + // default, primary, ghost, info, success, warning, error + type: { + type: String, + value: '', + }, + inline: { + type: Boolean, + value: false + }, + // default, large, small + size: { + type: String, + value: '', + }, + // circle, square + shape: { + type: String, + value: 'square' + }, + disabled: { + type: Boolean, + value: false, + }, + loading: { + type: Boolean, + value: false, + }, + long: { + type: Boolean, + value: false + }, + openType: String, + appParameter: String, + hoverStopPropagation: Boolean, + hoverStartTime: { + type: Number, + value: 20 + }, + hoverStayTime: { + type: Number, + value: 70 + }, + lang: { + type: String, + value: 'en' + }, + sessionFrom: { + type: String, + value: '' + }, + sendMessageTitle: String, + sendMessagePath: String, + sendMessageImg: String, + showMessageCard: Boolean + }, + + methods: { + handleTap () { + if (this.data.disabled) return false; + + this.triggerEvent('click'); + }, + bindgetuserinfo({ detail = {} } = {}) { + this.triggerEvent('getuserinfo', detail); + }, + bindcontact({ detail = {} } = {}) { + this.triggerEvent('contact', detail); + }, + bindgetphonenumber({ detail = {} } = {}) { + this.triggerEvent('getphonenumber', detail); + }, + binderror({ detail = {} } = {}) { + this.triggerEvent('error', detail); + } + } +}); diff --git a/dist/button/index.json b/dist/button/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/button/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/button/index.wxml b/dist/button/index.wxml new file mode 100644 index 0000000..e154eee --- /dev/null +++ b/dist/button/index.wxml @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/dist/button/index.wxss b/dist/button/index.wxss new file mode 100644 index 0000000..550bc81 --- /dev/null +++ b/dist/button/index.wxss @@ -0,0 +1 @@ +.i-btn{text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;white-space:nowrap;user-select:none;font-size:14px;border-radius:2px;border:0!important;position:relative;text-decoration:none;height:44px;line-height:44px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);color:#fff!important;background:#f7f7f7!important;color:#495060!important;margin:10px}.i-btn-hover{opacity:.9}.i-btn-long{border-radius:0;margin:0;box-shadow:none}.i-btn-large{height:48px;line-height:48px}.i-btn-small{height:40px;line-height:40px}.i-btn-primary{color:#fff!important;background:#2d8cf0!important}.i-btn-ghost{color:#fff!important;background:#fff!important;color:#495060!important}.i-btn-success{color:#fff!important;background:#19be6b!important}.i-btn-warning{color:#fff!important;background:#f90!important}.i-btn-error{color:#fff!important;background:#ed3f14!important}.i-btn-info{color:#fff!important;background:#2db7f5!important}.i-btn-circle{border-radius:44px}.i-btn-large.i-btn-circle{border-radius:48px}.i-btn-small.i-btn-circle{border-radius:40px}.i-btn-loading{opacity:.6}.i-btn-loading-inner{display:inline-block;margin-right:12px;vertical-align:middle;width:14px;height:14px;background:0 0;border-radius:50%;border:2px solid #fff;border-color:#fff #fff #fff transparent;animation:btn-spin .6s linear;animation-iteration-count:infinite}.i-btn-disabled{color:#bbbec4!important;background:#f7f7f7!important}.i-btn-inline{display:inline-block}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/dist/card/index.js b/dist/card/index.js new file mode 100644 index 0000000..20ad106 --- /dev/null +++ b/dist/card/index.js @@ -0,0 +1,26 @@ +Component({ + externalClasses: ['i-class'], + + options: { + multipleSlots: true + }, + + properties: { + full: { + type: Boolean, + value: false + }, + thumb: { + type: String, + value: '' + }, + title: { + type: String, + value: '' + }, + extra: { + type: String, + value: '' + } + } +}); diff --git a/dist/card/index.json b/dist/card/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/card/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/card/index.wxml b/dist/card/index.wxml new file mode 100644 index 0000000..4792293 --- /dev/null +++ b/dist/card/index.wxml @@ -0,0 +1,11 @@ + + + + + {{ title }} + + {{ extra }} + + + + diff --git a/dist/card/index.wxss b/dist/card/index.wxss new file mode 100644 index 0000000..fd8fad4 --- /dev/null +++ b/dist/card/index.wxss @@ -0,0 +1 @@ +.i-card{margin:0 16px;font-size:14px;overflow:hidden;position:relative;background:#fff;border:1rpx solid #dddee1;border-radius:5px}.i-card-full{margin:0;border-left:none;border-right:none;border-radius:0}.i-card-header{display:flex;padding:6px 16px;align-items:center}.i-card-header-content{flex:1;text-align:left}.i-card-header-thumb{display:inline-block;width:64px;height:64px;position:relative;margin-left:auto;margin-right:auto;overflow:hidden;background-size:cover;vertical-align:middle}.i-card-header-title{display:inline-block;vertical-align:middle;font-size:14px;color:#1c2438}.i-card-header-extra{flex:1;text-align:right;font-size:14px;color:#80848f}.i-card-body{position:relative;padding:6px 16px;color:#495060;font-size:14px}.i-card-body::before{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-top-width:1px}.i-card-footer{position:relative;padding:6px 16px;color:#80848f;font-size:12px} \ No newline at end of file diff --git a/dist/cell-group/index.js b/dist/cell-group/index.js new file mode 100644 index 0000000..ad36baa --- /dev/null +++ b/dist/cell-group/index.js @@ -0,0 +1,33 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../cell/index': { + type: 'child', + linked () { + this._updateIsLastCell(); + }, + linkChanged () { + this._updateIsLastCell(); + }, + unlinked () { + this._updateIsLastCell(); + } + } + }, + + methods: { + _updateIsLastCell() { + let cells = this.getRelationNodes('../cell/index'); + const len = cells.length; + + if (len > 0) { + let lastIndex = len - 1; + + cells.forEach((cell, index) => { + cell.updateIsLastCell(index === lastIndex); + }); + } + } + } +}); diff --git a/dist/cell-group/index.json b/dist/cell-group/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/cell-group/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/cell-group/index.wxml b/dist/cell-group/index.wxml new file mode 100644 index 0000000..1897919 --- /dev/null +++ b/dist/cell-group/index.wxml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/dist/cell/index.js b/dist/cell/index.js new file mode 100644 index 0000000..50e635c --- /dev/null +++ b/dist/cell/index.js @@ -0,0 +1,86 @@ +const warn = (msg, getValue) => { + console.warn(msg); + console.log('接受到的值为:', getValue); +}; + +Component({ + externalClasses: ['i-class'], + + options: { + multipleSlots: true + }, + + relations: { + '../cell-group/index': { + type: 'parent' + } + }, + + properties: { + // 左侧标题 + title: { + type: String + }, + // 标题下方的描述信息 + label: { + type: String + }, + // 右侧内容 + value: { + type: String + }, + // 只有点击 footer 区域才触发 tab 事件 + onlyTapFooter: { + type: Boolean + }, + // 是否展示右侧箭头并开启尝试以 url 跳转 + isLink: { + type: null, + value: '' + }, + // 链接类型,可选值为 navigateTo,redirectTo,switchTab,reLaunch + linkType: { + type: String, + value: 'navigateTo' + }, + url: { + type: String, + value: '' + } + }, + + data: { + isLastCell: true + }, + + methods: { + navigateTo () { + const { url } = this.data; + const type = typeof this.data.isLink; + + this.triggerEvent('click', {}); + + if (!this.data.isLink || !url || url === 'true' || url === 'false') return; + + if (type !== 'boolean' && type !== 'string') { + warn('isLink 属性值必须是一个字符串或布尔值', this.data.isLink); + return; + } + + if (['navigateTo', 'redirectTo', 'switchTab', 'reLaunch'].indexOf(this.data.linkType) === -1) { + warn('linkType 属性可选值为 navigateTo,redirectTo,switchTab,reLaunch', this.data.linkType); + return; + } + wx[this.data.linkType].call(wx, {url}); + }, + handleTap () { + if (!this.data.onlyTapFooter) { + this.navigateTo(); + } + }, + + updateIsLastCell (isLastCell) { + this.setData({ isLastCell }); + } + } +}); diff --git a/dist/cell/index.json b/dist/cell/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/cell/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/cell/index.wxml b/dist/cell/index.wxml new file mode 100644 index 0000000..c3683e3 --- /dev/null +++ b/dist/cell/index.wxml @@ -0,0 +1,16 @@ + + + + + + {{ title }} + {{ label }} + + + + {{ value }} + + + + + \ No newline at end of file diff --git a/dist/cell/index.wxss b/dist/cell/index.wxss new file mode 100644 index 0000000..e45ad75 --- /dev/null +++ b/dist/cell/index.wxss @@ -0,0 +1 @@ +.i-cell{position:relative;padding:12px 15px;display:flex;background:#fff;align-items:center;line-height:1.4;font-size:14px;overflow:hidden}.i-cell::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-bottom-width:1px;left:15px;right:0}.i-cell-last::after{display:none}.i-cell-icon{margin-right:5px}.i-cell-icon:empty{display:none}.i-cell-bd{flex:1}.i-cell-text{line-height:24px;font-size:14px}.i-cell-desc{line-height:1.2;font-size:12px;color:#80848f}.i-cell-ft{position:relative;text-align:right;color:#495060}.i-cell-access .i-cell-ft{padding-right:13px}.i-cell-access .i-cell-ft::after{content:" ";display:inline-block;width:6px;height:6px;position:absolute;top:50%;right:2px;border-width:2px 2px 0 0;border-color:#dddee1;border-style:solid;transform:translateY(-50%) matrix(.71,.71,-.71,.71,0,0)} \ No newline at end of file diff --git a/dist/checkbox-group/index.js b/dist/checkbox-group/index.js new file mode 100644 index 0000000..6465450 --- /dev/null +++ b/dist/checkbox-group/index.js @@ -0,0 +1,38 @@ +Component({ + externalClasses: ['i-class'], + relations: { + '../checkbox/index': { + type: 'child', + linked() { + this.changeCurrent(); + }, + linkChanged() { + this.changeCurrent(); + }, + unlinked() { + this.changeCurrent(); + } + } + }, + properties: { + current: { + type: Array, + value: [], + observer: 'changeCurrent' + }, + }, + methods: { + changeCurrent(val = this.data.current) { + let items = this.getRelationNodes('../checkbox/index'); + const len = items.length; + if (len > 0) { + items.forEach(item => { + item.changeCurrent(val.indexOf(item.data.value) !== -1); + }); + } + }, + emitEvent(current) { + this.triggerEvent('change', current); + } + } +}); diff --git a/dist/checkbox-group/index.json b/dist/checkbox-group/index.json new file mode 100644 index 0000000..edf138d --- /dev/null +++ b/dist/checkbox-group/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-cell-group": "../cell-group/index" + } +} diff --git a/dist/checkbox-group/index.wxml b/dist/checkbox-group/index.wxml new file mode 100644 index 0000000..6940180 --- /dev/null +++ b/dist/checkbox-group/index.wxml @@ -0,0 +1,3 @@ + + + diff --git a/dist/checkbox-group/index.wxss b/dist/checkbox-group/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/dist/checkbox/index.js b/dist/checkbox/index.js new file mode 100644 index 0000000..b383952 --- /dev/null +++ b/dist/checkbox/index.js @@ -0,0 +1,56 @@ +const prefixCls = 'i-checkbox'; + +Component({ + externalClasses: ['i-class'], + relations: { + '../checkbox-group/index': { + type: 'parent' + } + }, + properties: { + value: { + type: String, + value: '' + }, + checked: { + type: Boolean, + value: false + }, + disabled: { + type: Boolean, + value: false + }, + color: { + type: String, + value: '#2d8cf0' + }, + position: { + type: String, + value: 'left', //left right + observer: 'setPosition' + } + }, + data: { + checked: true, + positionCls: `${prefixCls}-checkbox-left`, + }, + attached() { + this.setPosition(); + }, + methods: { + changeCurrent(current) { + this.setData({ checked: current }); + }, + checkboxChange() { + if (this.data.disabled) return; + const item = { current: !this.data.checked, value: this.data.value }; + const parent = this.getRelationNodes('../checkbox-group/index')[0]; + parent ? parent.emitEvent(item) : this.triggerEvent('change', item); + }, + setPosition() { + this.setData({ + positionCls: this.data.position.indexOf('left') !== -1 ? `${prefixCls}-checkbox-left` : `${prefixCls}-checkbox-right`, + }); + } + } +}); diff --git a/dist/checkbox/index.json b/dist/checkbox/index.json new file mode 100644 index 0000000..e2ab49a --- /dev/null +++ b/dist/checkbox/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-cell": "../cell/index" + } +} diff --git a/dist/checkbox/index.wxml b/dist/checkbox/index.wxml new file mode 100644 index 0000000..214493f --- /dev/null +++ b/dist/checkbox/index.wxml @@ -0,0 +1,8 @@ + + + + + diff --git a/dist/checkbox/index.wxss b/dist/checkbox/index.wxss new file mode 100644 index 0000000..a07699f --- /dev/null +++ b/dist/checkbox/index.wxss @@ -0,0 +1 @@ +.i-checkbox-cell::after{display:block}.i-checkbox-checkbox-left{float:left}.i-checkbox-checkbox-right{float:right}.i-checkbox-radio{vertical-align:middle}.i-checkbox-title{display:inline-block;vertical-align:middle} \ No newline at end of file diff --git a/dist/col/index.js b/dist/col/index.js new file mode 100644 index 0000000..9b2d65d --- /dev/null +++ b/dist/col/index.js @@ -0,0 +1,20 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../row/index': { + type: 'parent' + } + }, + + properties: { + span: { + value: 0, + type: Number + }, + offset: { + value: 0, + type: Number + } + } +}); diff --git a/dist/col/index.json b/dist/col/index.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/dist/col/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/dist/col/index.wxml b/dist/col/index.wxml new file mode 100644 index 0000000..838a22b --- /dev/null +++ b/dist/col/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/col/index.wxss b/dist/col/index.wxss new file mode 100644 index 0000000..bdce125 --- /dev/null +++ b/dist/col/index.wxss @@ -0,0 +1 @@ +.i-col{float:left;box-sizing:border-box;width:0}.i-col-span-1{display:block;width:4.16666667%}.i-col-offset-1{margin-left:4.16666667%}.i-col-span-2{display:block;width:8.33333333%}.i-col-offset-2{margin-left:8.33333333%}.i-col-span-3{display:block;width:12.5%}.i-col-offset-3{margin-left:12.5%}.i-col-span-4{display:block;width:16.66666667%}.i-col-offset-4{margin-left:16.66666667%}.i-col-span-5{display:block;width:20.83333333%}.i-col-offset-5{margin-left:20.83333333%}.i-col-span-6{display:block;width:25%}.i-col-offset-6{margin-left:25%}.i-col-span-7{display:block;width:29.16666667%}.i-col-offset-7{margin-left:29.16666667%}.i-col-span-8{display:block;width:33.33333333%}.i-col-offset-8{margin-left:33.33333333%}.i-col-span-9{display:block;width:37.5%}.i-col-offset-9{margin-left:37.5%}.i-col-span-10{display:block;width:41.66666667%}.i-col-offset-10{margin-left:41.66666667%}.i-col-span-11{display:block;width:45.83333333%}.i-col-offset-11{margin-left:45.83333333%}.i-col-span-12{display:block;width:50%}.i-col-offset-12{margin-left:50%}.i-col-span-13{display:block;width:54.16666667%}.i-col-offset-13{margin-left:54.16666667%}.i-col-span-14{display:block;width:58.33333333%}.i-col-offset-14{margin-left:58.33333333%}.i-col-span-15{display:block;width:62.5%}.i-col-offset-15{margin-left:62.5%}.i-col-span-16{display:block;width:66.66666667%}.i-col-offset-16{margin-left:66.66666667%}.i-col-span-17{display:block;width:70.83333333%}.i-col-offset-17{margin-left:70.83333333%}.i-col-span-18{display:block;width:75%}.i-col-offset-18{margin-left:75%}.i-col-span-19{display:block;width:79.16666667%}.i-col-offset-19{margin-left:79.16666667%}.i-col-span-20{display:block;width:83.33333333%}.i-col-offset-20{margin-left:83.33333333%}.i-col-span-21{display:block;width:87.5%}.i-col-offset-21{margin-left:87.5%}.i-col-span-22{display:block;width:91.66666667%}.i-col-offset-22{margin-left:91.66666667%}.i-col-span-23{display:block;width:95.83333333%}.i-col-offset-23{margin-left:95.83333333%}.i-col-span-24{display:block;width:100%}.i-col-offset-24{margin-left:100%} \ No newline at end of file diff --git a/dist/collapse-item/index.js b/dist/collapse-item/index.js new file mode 100644 index 0000000..31a0b06 --- /dev/null +++ b/dist/collapse-item/index.js @@ -0,0 +1,47 @@ +Component({ + externalClasses: ['i-class-content', 'i-class-title', 'i-class'], + + relations: { + '../collapse/index': { + type: 'parent', + linked: function (target) { + const options = { + accordion: target.data.accordion + } + if (target.data.name === this.data.name) { + options.showContent = 'i-collapse-item-show-content'; + } + this.setData(options); + } + } + }, + + properties: { + title: String, + name: String, + category:String + }, + + data: { + showContent: '', + accordion: false + }, + + options: { + multipleSlots: true + }, + + methods: { + trigger(e) { + const data = this.data; + if (data.accordion) { + this.triggerEvent('collapse', {name: data.name}, {composed: true, bubbles: true}); + } else { + this.setData({ + showContent: data.showContent ? '' : 'i-collapse-item-show-content' + }); + } + }, + } +}); + diff --git a/dist/collapse-item/index.json b/dist/collapse-item/index.json new file mode 100644 index 0000000..54575da --- /dev/null +++ b/dist/collapse-item/index.json @@ -0,0 +1,7 @@ + +{ + "component": true, + "usingComponents": { + "i-icon": "../icon/index" + } +} diff --git a/dist/collapse-item/index.wxml b/dist/collapse-item/index.wxml new file mode 100644 index 0000000..a7c2dc6 --- /dev/null +++ b/dist/collapse-item/index.wxml @@ -0,0 +1,11 @@ + + + + + {{category}}{{title}} + + + + + + \ No newline at end of file diff --git a/dist/collapse-item/index.wxss b/dist/collapse-item/index.wxss new file mode 100644 index 0000000..d5c4231 --- /dev/null +++ b/dist/collapse-item/index.wxss @@ -0,0 +1,46 @@ +.i-collapse-item { + /**padding: 2px 8px;**/ + /**border-top: 1px solid #dddee1;**/ +} + +.i-collapse-item-title { + vertical-align: middle; + padding-left: 25rpx; +} + +.i-collapse-item-title-wrap { + /**padding: 2px 0 0;**/ +} + +.i-collapse-item-content { + padding: 6px; + padding-left: 35rpx; + display: none; +} + +.i-collapse-item-show-content { + display: block; +} + +.i-collapse-item-arrow { + transition: transform 0.2s ease-in-out; +} + +.i-collapse-item-arrow-show { + transition: transform 0.2s ease-in-out; + transform: rotate(90deg); +} + + .category { + width: 80px; + display: inline-block; + margin-right: 10px; + background: #1073ba; + border: 1px solid #1073ba !important; + border-radius: 6px !important; + font-size: 12px; + line-height: 2em; + color:white; + text-align: center; +} + diff --git a/dist/collapse/index.js b/dist/collapse/index.js new file mode 100644 index 0000000..acc1455 --- /dev/null +++ b/dist/collapse/index.js @@ -0,0 +1,31 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../collapse-item/index': { + type: 'child' + } + }, + properties: { + name: String, + accordion: Boolean + }, + methods: { + clickfn(e) { + const params = e.detail; + const allList = this.getRelationNodes('../collapse-item/index'); + allList.forEach((item) => { + if (params.name === item.data.name) { + item.setData({ + showContent: 'i-collapse-item-show-content' + }); + } else { + item.setData({ + showContent: '' + }); + } + }); + }, + } +}); + diff --git a/dist/collapse/index.json b/dist/collapse/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/collapse/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/collapse/index.wxml b/dist/collapse/index.wxml new file mode 100644 index 0000000..0f379f7 --- /dev/null +++ b/dist/collapse/index.wxml @@ -0,0 +1,4 @@ + + + + diff --git a/dist/collapse/index.wxss b/dist/collapse/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/dist/count-down/index.js b/dist/count-down/index.js new file mode 100644 index 0000000..f1da533 --- /dev/null +++ b/dist/count-down/index.js @@ -0,0 +1,90 @@ +Component({ + properties: { + target: Number, + showDay: Boolean, + callback: String, + format: Array, + clearTimer: Boolean + }, + externalClasses: ['countdown-class'], + data: { + time: '', + resultFormat: [], + changeFormat: false + }, + ready() { + this.getFormat(); + + }, + methods: { + getFormat() { + const data = this.data; + const len = data.format.length; + + if (!data.showDay) data.resultFormat.push(''); + + if (len >= 3) { + for (let i = 0; i < len; i++) { + if (data.resultFormat.length >= 4) break; + if (data.format[i]) { + data.resultFormat.push(data.format[i].toString()); + } + } + + if (data.resultFormat.length >= 4) data.changeFormat = true; + } + + this.getLastTime(); + }, + init() { + const self = this; + setTimeout(function () { + self.getLastTime.call(self); + }, 1000); + }, + getLastTime() { + const data = this.data; + const gapTime = Math.ceil((data.target - new Date().getTime()) / 1000); + let result = ''; + let time = '00:00:00'; + let day = '00'; + const format = data.resultFormat; + + if (gapTime > 0) { + day = this.formatNum(parseInt(gapTime / 86400)); + let lastTime = gapTime % 86400; + const hour = this.formatNum(parseInt(lastTime / 3600)); + lastTime = lastTime % 3600; + const minute = this.formatNum(parseInt(lastTime / 60)); + const second = this.formatNum(lastTime % 60); + + if (data.changeFormat) time = `${hour}${format[1]}${minute}${format[2]}${second}${format[3]}`; + else time = `${hour}:${minute}:${second}`; + + if (!data.clearTimer) this.init.call(this); + } else { + this.endfn(); + } + + if (data.showDay) { + if (data.changeFormat) { + result = `${day}${format[0]} ${time}`; + } else { + result = `${day}d ${time}`; + } + } else { + result = time; + } + this.setData({ + time: result + }); + + }, + formatNum(num) { + return num > 9 ? num : `0${num}`; + }, + endfn() { + this.triggerEvent('callback', {}); + } + } +}); diff --git a/dist/count-down/index.json b/dist/count-down/index.json new file mode 100644 index 0000000..74f1315 --- /dev/null +++ b/dist/count-down/index.json @@ -0,0 +1,4 @@ + +{ + "component": true +} diff --git a/dist/count-down/index.wxml b/dist/count-down/index.wxml new file mode 100644 index 0000000..e4bec57 --- /dev/null +++ b/dist/count-down/index.wxml @@ -0,0 +1,4 @@ + + {{time}} + + diff --git a/dist/count-down/index.wxss b/dist/count-down/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/dist/divider/index.js b/dist/divider/index.js new file mode 100644 index 0000000..6b0e448 --- /dev/null +++ b/dist/divider/index.js @@ -0,0 +1,25 @@ +Component({ + externalClasses: ['i-class'], + properties: { + content: { + type: String, + value: '' + }, + height : { + type: Number, + value: 48 + }, + color : { + type : String, + value : '#80848f' + }, + lineColor : { + type : String, + value : '#e9eaec' + }, + size : { + type: String, + value: 12 + } + } +}); diff --git a/dist/divider/index.json b/dist/divider/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/divider/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/divider/index.wxml b/dist/divider/index.wxml new file mode 100644 index 0000000..b7111d3 --- /dev/null +++ b/dist/divider/index.wxml @@ -0,0 +1,19 @@ + + + {{content}} + + + + + + + + module.exports = { + getStyle : function(color,size,height){ + var color = 'color:' + color +';'; + var size = 'font-size:' + size + 'px;'; + var height = 'height:' + height+'px;' + return color + size + height; + } + } + diff --git a/dist/divider/index.wxss b/dist/divider/index.wxss new file mode 100644 index 0000000..98827ab --- /dev/null +++ b/dist/divider/index.wxss @@ -0,0 +1 @@ +.i-divider{width:100%;text-align:center;font-size:12px;position:relative;display:flex;align-items:center;justify-content:center}.i-divider-line{position:absolute;left:0;width:100%;height:1rpx;background-color:#f7f7f7;top:50%}.i-divider-content{background:#fff;position:relative;z-index:1;display:inline-block;padding:0 10px} \ No newline at end of file diff --git a/dist/drawer/index.js b/dist/drawer/index.js new file mode 100644 index 0000000..adb248a --- /dev/null +++ b/dist/drawer/index.js @@ -0,0 +1,33 @@ +Component({ + externalClasses: ['i-class'], + properties: { + visible: { + type: Boolean, + value: false + }, + + mask: { + type: Boolean, + value: true + }, + + maskClosable: { + type: Boolean, + value: true + }, + + mode: { + type: String, + value: 'left' // left right + } + }, + data: {}, + methods: { + handleMaskClick() { + if (!this.data.maskClosable) { + return; + } + this.triggerEvent('close', {}); + } + } +}); diff --git a/dist/drawer/index.json b/dist/drawer/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/drawer/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/drawer/index.wxml b/dist/drawer/index.wxml new file mode 100644 index 0000000..67380d9 --- /dev/null +++ b/dist/drawer/index.wxml @@ -0,0 +1,6 @@ + + + + + + diff --git a/dist/drawer/index.wxss b/dist/drawer/index.wxss new file mode 100644 index 0000000..2824713 --- /dev/null +++ b/dist/drawer/index.wxss @@ -0,0 +1 @@ +.i-drawer{visibility:hidden}.i-drawer-show{visibility:visible}.i-drawer-show .i-drawer-mask{display:block;opacity:1}.i-drawer-show .i-drawer-container{opacity:1}.i-drawer-show.i-drawer-left .i-drawer-container,.i-drawer-show.i-drawer-right .i-drawer-container{transform:translate3d(0,-50%,0)}.i-drawer-mask{opacity:0;position:fixed;top:0;left:0;right:0;bottom:0;z-index:6;background:rgba(0,0,0,.6);transition:all .3s ease-in-out}.i-drawer-container{position:fixed;left:50%;top:50%;transform:translate3d(-50%,-50%,0);transform-origin:center;transition:all .3s ease-in-out;z-index:7;opacity:0}.i-drawer-left .i-drawer-container{left:0;top:50%;transform:translate3d(-100%,-50%,0)}.i-drawer-right .i-drawer-container{right:0;top:50%;left:auto;transform:translate3d(100%,-50%,0)} \ No newline at end of file diff --git a/dist/grid-icon/index.js b/dist/grid-icon/index.js new file mode 100644 index 0000000..5315185 --- /dev/null +++ b/dist/grid-icon/index.js @@ -0,0 +1,10 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../grid-item/index': { + type: 'parent' + } + }, + +}); diff --git a/dist/grid-icon/index.json b/dist/grid-icon/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/grid-icon/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/grid-icon/index.wxml b/dist/grid-icon/index.wxml new file mode 100644 index 0000000..b9f9025 --- /dev/null +++ b/dist/grid-icon/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/grid-icon/index.wxss b/dist/grid-icon/index.wxss new file mode 100644 index 0000000..88c58a7 --- /dev/null +++ b/dist/grid-icon/index.wxss @@ -0,0 +1 @@ +.i-grid-icon{display:block;width:28px;height:28px;margin:0 auto}.i-grid-icon image{width:100%;height:100%} \ No newline at end of file diff --git a/dist/grid-item/index.js b/dist/grid-item/index.js new file mode 100644 index 0000000..e492542 --- /dev/null +++ b/dist/grid-item/index.js @@ -0,0 +1,16 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../grid/index': { + type: 'parent' + }, + '../grid-icon/index': { + type: 'child' + } + }, + + data: { + width: '33.33%' + } +}); diff --git a/dist/grid-item/index.json b/dist/grid-item/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/grid-item/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/grid-item/index.wxml b/dist/grid-item/index.wxml new file mode 100644 index 0000000..8e133cd --- /dev/null +++ b/dist/grid-item/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/grid-item/index.wxss b/dist/grid-item/index.wxss new file mode 100644 index 0000000..ed0f395 --- /dev/null +++ b/dist/grid-item/index.wxss @@ -0,0 +1 @@ +.i-grid-item{position:relative;float:left;padding:20px 10px;width:33.33333333%;box-sizing:border-box;border-right:1rpx solid #e9eaec;border-bottom:1rpx solid #e9eaec} \ No newline at end of file diff --git a/dist/grid-label/index.js b/dist/grid-label/index.js new file mode 100644 index 0000000..5315185 --- /dev/null +++ b/dist/grid-label/index.js @@ -0,0 +1,10 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../grid-item/index': { + type: 'parent' + } + }, + +}); diff --git a/dist/grid-label/index.json b/dist/grid-label/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/grid-label/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/grid-label/index.wxml b/dist/grid-label/index.wxml new file mode 100644 index 0000000..7ab5a8a --- /dev/null +++ b/dist/grid-label/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/grid-label/index.wxss b/dist/grid-label/index.wxss new file mode 100644 index 0000000..d45a990 --- /dev/null +++ b/dist/grid-label/index.wxss @@ -0,0 +1 @@ +.i-grid-label{margin-top:5px;display:block;text-align:center;color:#1c2438;font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden} \ No newline at end of file diff --git a/dist/grid/index.js b/dist/grid/index.js new file mode 100644 index 0000000..f9c9c40 --- /dev/null +++ b/dist/grid/index.js @@ -0,0 +1,50 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../grid-item/index': { + type: 'child', + linked () { + this.setGridItemWidth(); + }, + linkChanged () { + this.setGridItemWidth(); + }, + unlinked () { + this.setGridItemWidth(); + } + } + }, + + methods: { + setGridItemWidth () { + const nodes = this.getRelationNodes('../grid-item/index'); + + // const len = nodes.length; + // if (len < 3) { + // nodes.forEach(item => { + // item.setData({ + // 'width': '33.33%' + // }); + // }); + // } else { + // const width = 100 / nodes.length; + // nodes.forEach(item => { + // item.setData({ + // 'width': width + '%' + // }); + // }); + // } + const width = 100 / nodes.length; + nodes.forEach(item => { + item.setData({ + 'width': width + '%' + }); + }); + } + }, + + ready () { + this.setGridItemWidth(); + } +}); diff --git a/dist/grid/index.json b/dist/grid/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/grid/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/grid/index.wxml b/dist/grid/index.wxml new file mode 100644 index 0000000..4c9143c --- /dev/null +++ b/dist/grid/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/grid/index.wxss b/dist/grid/index.wxss new file mode 100644 index 0000000..842fc98 --- /dev/null +++ b/dist/grid/index.wxss @@ -0,0 +1 @@ +.i-grid{border-top:1rpx solid #e9eaec;border-left:1rpx solid #e9eaec;overflow:hidden} \ No newline at end of file diff --git a/dist/icon/index.js b/dist/icon/index.js new file mode 100644 index 0000000..eb43ab9 --- /dev/null +++ b/dist/icon/index.js @@ -0,0 +1,22 @@ +Component({ + externalClasses: ['i-class'], + + properties: { + type: { + type: String, + value: '' + }, + custom: { + type: String, + value: '' + }, + size: { + type: Number, + value: 14 + }, + color: { + type: String, + value: '' + } + } +}); diff --git a/dist/icon/index.json b/dist/icon/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/icon/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/icon/index.wxml b/dist/icon/index.wxml new file mode 100644 index 0000000..d689bc5 --- /dev/null +++ b/dist/icon/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/icon/index.wxss b/dist/icon/index.wxss new file mode 100644 index 0000000..b18dcbb --- /dev/null +++ b/dist/icon/index.wxss @@ -0,0 +1 @@ +@font-face{font-family:iconfont;src:url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAADscAAsAAAAAdLQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAAQwAAAFZW7klYY21hcAAAAYAAAAORAAAI/nDS68xnbHlmAAAFFAAAL68AAF2IQcM2EGhlYWQAADTEAAAALwAAADYRc1XVaGhlYQAANPQAAAAcAAAAJAfeBAxobXR4AAA1EAAAABcAAAIsK+kAAGxvY2EAADUoAAABGAAAARhydooIbWF4cAAANkAAAAAfAAAAIAGeAKBuYW1lAAA2YAAAAUUAAAJtPlT+fXBvc3QAADeoAAADdAAABqJtuHD2eJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYKp6nMTf8b2CIYW5gaAAKM4LkANrfC9wAeJzF1Xd3VHUYxPHvJiG00HvvvfdOKKH33jsEu9gQBQU78h5RDupvVIpSLKAQ5+74D6+Azflk797sZu+553lmgE5Ao023Jmi4SM1H1C74bK1+vpFu9fNNtTa/7uKfBj9fKrfU3tFRP7pZbteP6h+sv6Nn/ajBn23yNzTT2ee6+v90p4Ue/msvetOHvvSjPwMYyCAGM4ShDGM4IxjJKEYzhrGMYzwTmMgkJjOFqUzz9cxgJrOYzRzmMo/5LGAhi1jMEpayjOWsYCWtrGI1a1hLG+tYzwY2sonNbGEr29jODnayi93sYS/72M8BDnKIwxzhKMc4zglOcorTnOEs52jnPK/wKq/xOm/wJm/xNhd4h3d5j/f5gIt8yCU+4mMuc4VP+JSrXOMzPucLvuQrvuYbrvMtN3xTmnlpj9rL++oXHy3Vr+br/7/yXfHdC19iuRnVlJXvoprQ8n1UU1puRTW95XZ4yig/hOeN8mN48ig/hWeQUqKa6qLwXFJ+jurqyi/hWaX8GtVMlzvh+aXcDU8y5V54pin3w9NN+S0855TfwxNPeRCefcrD8BZQHoX3gfI4vBmUP8I7QvkzvC2Uv8J7Q/k7vEGUJ+FdojwNbxXln/B+Uf4NbxrlWXjnKM/D20fpCO8h1W2qeCNRLbybqCG8pagxvK+oKby5qFN4h1FzeJtR5/Beoy5RJZG6hncddQtvPeoe3n/UEk4C1COcCahnOB1Qr3BOoN7hxEB9wtmB+oZTBPUL5wnqH04WNCCcMWhgOG3QoHDuoMHhBEJDwlmEhoZTCQ0L5xMaHk4qNCKcWWhkOL3QqHCOodHhRENjwtmGxoZTDo0L5x0aH04+NCGcgWhiOA3RpHAuosnhhERTwlmJpoZTE00L5yeaHk5SNCOcqWhmOF3RrHDOotnhxEVzwtmL5oZTGM0L5zGaH05mtCCc0WhhOK3RonBuo8XhBEdLwlmOloZTHS0L5ztaHk56tCKc+WhlOP1Ra7gH0KpwI6DV4W5Aa8ItgdaG+wK1hZsDrQt3CFofbhO0IdwraGO4YdCmcNegzeHWQVvC/YO2hpsIbQt3Etoebie0I9xTaGe4sdCucHeh3eEWQ3vCfYb2RpXL2hfuOLQ/3HboQLj30MFwA6JD4S5Eh8OtiI6E+xEdDTclOhbuTHQ83J7oRLhH0clwo6JT4W5Fp8Mti86E+xadDTcvOhfuYNQe3PgPppG6SwAAAHicnXwJnFxlle89391vrffW1rV1V3V1VaXT6e50V1dVSEh3ZSEhJAQSSAIJTBoigbCqLMEo0G5sKqIMLijYiCs/QXGGGYaRsXAW1Ke+GXFGcWRsH46KT+eh4sy8N9M375zv3lt9q5eIQvrudb9zzvd95/zP8l1BFoSTPxK/JPYIMWGVMCZsFc4VBFCGoD/M8lCsToywIUgU5UQqHharpWpRLfWPiBsh1a/Ek+ONiUpKUZUIhKEXasXxRnWEVaE+Mck2wHgyD5DOZs6zyjlLvBeMnmrvO+2z2Mch0VfKRSaH7R1rpuLjhZh2PGhZact6t6bIssaYFAnDNamkLuuGYn9CjmQSX+obZH0QTFczuy4MFbLWJXdOXJsvp3SAmRmIZQvhT0+ZGRP/vSWTjFlpNRrSejKh0kAcjv840BML5isvCfgf0EY8weaELXgyAqWxfkV1SB9vAvLSr4LSX5nA49rYeDJOZ9URmGh4N8MQ72XjdNpsNCcq4s7U+kJxfdJ+IRFIrc1XeqFixDKG/X0jE9OhmltVXZe1nx+bGUv19KRgjRFPG/Z3Cv39U3sP7u2DdTLLQZq9hW7a30+saxZyUNXxl/YLOr4FKrl15+Tt74yOJje01tPP6dbzhT0H90719xegKSuD44X1xBL14SvitFgQVKFPmBJ2CgcEoazUiv11s1ieGKslqKs2QmePPVMsl+rIk5KHzj4MqtkLqeIkNM0RgCL1bqlI/ZzyHYsFgPlngbXm2zNWzmrj320w32Yt72wmOwAwkGUtvrfPACFsWeGTfOs7rokivPigGKULUWcL7OLZrvNKbv72fBmgnGcn8mX7Enw7/pt1doIgdfhOC2VhXNiIvbocV4lifQRE7FAFWahMNGoq/hW9cyh2uBYLfiZYGwb+coH2gp98mJuf9phkrywi+uKLcxX7YYfKdpi2Fuy2S7kK4E140R2HLdYWcthP4w3sJUe+JtGcMLmca0UznmTUlNsovsYTotXi29zie4Ijk/8WZ3GMB4SUUBLOIpnQ+3BCYhtV/3GNtjjT8UpsBKo0qFFq1QqXGcoEd2HIQ8qZ2lOAI35mhhrs3tzTOcqpbzjHChWh0j+y/qzXMRgo7DymJPNMLSXZ6ZkBEXLQdsQy4+xazs6ekVab4djIacdWn5XpZ0d2HhvanjZXifrq9DvkRLqQvjU1hLwpi3irCZuEy7r5U1fir4gDotHETu4lfhJQdw4TyOMIyMj9JGxElVD9Q1kPz3+FqbL6+OHDj2uSal/BpkbXTgFMrR2dgk+gWPqIrWVlkmetLpm4Epp/5rhsMPl0STpdZoYMsWOjLYDWqLP7kDhkprevOrbzCFtOXD0kLhoLOM5m2LMorx5hQJhAWTkTgA9+eaJBWjpOyr6SqnlHEw0odqsCVvDNXvvbC/wXOuyzkXlv3jt7r6OnnfG/1zkDnFJZW3CfxD3pLqTxrZxG6tOq0EQqfT2X6urFBT2E07ZYX0QoFJbpI7/SITLZzGJSu+XPJxYNyjYTWovJFRin9w1sVggJKOTucVTGAeSMIfynxFNIPd7DJyah3piAm9mZjcYOgDObjTPhl1CtDr336NF71lQrYGjVwaF7Lr/8nqHVFQ0uOJOe2tFwdnfIW9eM72Zs9/iaLXJsxBTPHB3bydjOsdHtLD6y0M9Ek4kSHOV6MKkgPdVKo4n/kIZkvOkQhlQpSSSp2piQw9jbVWRgPJnyxj3SSrpyGO75zKffwxiI8McPz97HxCZ7rN1+DOlkj371q48yzf4qDDRILLhpNc5kHmdwXfhPQ8En4oqpRp4MBb+YkK1a8vlw5NsJpNz8XiTy3WhsFJXmQPZM2sx0uKTdAi9vE0EQ0ZoZQj/yUm2moAopqOPOMcMp1OxIba0x7lhudvKJLU/Y53wBWk/Y4QtY8wmrHrPPDejIwUB2VtKlTBy+EINvfgGfOvcJeurLF1wAP/xCjJ7KRSR5lvo4Bl+I16j5Dg0BIS5kiIJKfwSbSzWxF0cZCaoWq+qsKl73RLwW2zoM/7IlNv834aPj2NwDnx622xCAqTVsIzawZfhftsRr9qrQ5fWPkrEYx7v2b2FqVFgy9reT3UZtVvEmprrCcbmKymwKUQjvvmajRiMwriZT+H8exUPTeMkkniNTFG4vM0FoM/8qs8KRYCKIhj8bjlTGIZDNxDWJpa2fRFLswsVzZq5rzrg7S25Gswji1HjP6t5hVFq1yupUXAvoCc0Yt3pMeHHJfNIWyWCVsE5oCbuEq1fW6/7jFGqB9GJW0fg7g3qSg9A4YrpqqlJtkIJHxJdIpjhi5eqdXkNW73eIZ+8yesN+Z9tsjDfMWyCcDEdQAzyYyQZgfFcNAOUYCVtMTkV+YqWZxQrLSWuWCbbAFqsY+7yEEo2oHwtEIoHVRiRiTAa0eGp1pYay7ImrKNy0uU6KmD3WeDTj6aMZbhOHUWaO7eL2rIxaE9URqc4IyhJ1UgIhRQqRxTgpJAQbLLr1IGMHt/ItvEPTjuWNwVQ7NWjkj2laMpNNaBqb5kdM8J7D7dVsSzKbTW5hSn/SPjNVVBgdwVPJ/o7NmUP9WBXWCqcLQtOsYXs0cvuglobSAk2Luo2gNg1vUkaOLhqBuftGwJDakgEj9/moc+U17XTEk4ONxt5GY9DHzQ3w1JWiqkhX2mfCf25NELUk6DOdH8JTKOj7gX60t3HSxxnHT78Vb0UVEBHqfCSijiey8qRElf5RqMQc8pABpRdoFvbSGELmyB/C+1VOuNwkn4E/U0b1ocSd+3ziXKrH0sbVeuH+5yQ4fUJVNgT1Uni9Bmsuu+qS1UzZoGdjxnpJaZwO0nN2/0F6+hA+wv7HIfIPaANXPxeyrNDTlxrpmH6VDjdKz91/9jvGmLI+VDJC6/VAb19vzlDXkz+yXhLXvnP3/c9dc5AePogPbD9EHsZB3cpy3+E/Ob8BRNCbhbOFCxGT8vHT5GNJXOAWvYcV2RVdvO2yWYXl2WfCiUdE8ZETzrbDP5HTxb+le/zfiPLSr+Z+UX05SZzXeduJR9gtHTGgt4RvDC4jBvvRp0l0z4VRbvg62LmcWFyMvh3HMZ7oaGJGQNWhEmbodSJP403d4ZMVIE+vsV+yf2xkLNAhb7+kg4UOXA7vICPwHsjxO/ZLeIHu2D+2X6I2+aP42wXf9J3YD4N40qiM4mxA4faToqK/PpzZKM0U74JxFGYD7zaa4rVJs/BXSkjcF1kX2cfC8pcLZupuSYailAxkw4/KUeXR/LBcAFmCP0/VlRzoymP5/GOKDjmlnrpDiir4C02l4R8pFr6sRCVPpxAtPTgiBN46t4BNogvn8hRpzj72mqlkfx6JSNn3xEfj78mK4cj1DyUrxrbtRiX50NbXTv4fRYeTD51lGGc9lByOvj4l5WL33hvLSamUw5b8eD7/uHwqtly+prFPM4iGhViJDHkx4TMnQ1AnZVQXuUUpolJ6cSP0Z0A6REPmVdocAinTDxvnn8Yteoj9MLELdcqEo9InULfsgs+RpvkOrCH7JnbaJDxTRW1YLybQYpnljtFahgBqmG2bf5r+sJ1lSYD+n+3aBU9RQy1PtfnIIBXX4bnA53cR+9Kb1mgiYmPO1CaTMDbe5N4RamHCZA4ka+y4DWcW2zXWmLSyWWuyMbaLiY/AnHcXt7AfJ97kR7bv2ZlI7Nyz/SOTJx7xMJzTZg4987GlGiVpuY1apDuWU/xMWP+Qxm47fPg2pj20HukI/V2BqOh7LoRNInhsIH70UXLe1t/sx2fxF/teZcdIHdhz/YlEP/S9+cQj9iOEVPHfl33MdWzns0jhHpSN4wElCC9s9GBY3d1XcYsDutmgAe76SolyDcFylToygRCMMFrCNWf1EvHEpo1g0DgrGA+exQ/4ttVSQpbaaulpVW+1+HU4q4A9xuFFAU3ZYMEDGXQGrVAsFKPncBeq4V9LtUIKvkBN63SvNjvrWLVZMmjgP/HG3wxrC1G0xpdiTySKdS7gKg7EMMSTzd/BhOqMy2ZjBDl3Vbk7Yr2R68WV3BEstuZn1m0H2HYamzlt27YLT8Hcdx2JcFZcthYktSC4l44cCe7fsH5/6MiR0P4b9r+yIsNXk3gcyXIpuxJbEB+JQ+3MSQdzrkFLPynsfm3Ym3vI/CIKZxL8B0sg92fnCD/O0Zxd5sh+1PGNwyHTzHZ28MX5dlcEjQldYS935zmts2hQLPAfMC5u3ztcjE38SujPFJDfdcIm4SzhPBwNy+HnlcC2/xi8+K+65IAV0HVuLeLi/a9NFF27aXoLm1nEzsdOKY5FIUKyqyfnxGmcBjUeHXRDPF6Iq2Y6Wsnk3Vii+ZAap0BYo15zfeFCy9FCDh/ZGQct1upar0UurJnTzx0abbleUctRQaSQOckzDrC0Z2rDLGpxdzkaZtXV5zgP8Pnp0kf2YQP2SKlek/Gv/IfR2rKFVosJr53muXa73fq9yfZ0J9KdJasGDjZWKXw+hVpikjm6Mh7xAKSj1O9GhKUfOUKx7CNHOBjCHZ1UH3lBkl54hG+hpDv33WcRO3kPwwnvIdwKHV99htuaFEW4lsGuvGmVUIqrvlRCcAhiHATbJFh655Oi+OSdztZHStpYntwjeqvz+J1Psmd8VP2r7pC+8KjLhuvvU1/rQtCdh+gdjRWd3hVL9RT6RqWu2Yjzyg0H8znmO54DikDPrr7pK58ID8Xt9/qmm/k/l4TbneMWmyFtaU/D3MwNX4zEPMVMeOGh+NCD3bNH6tCrCJbQi/aDIiHVRI3o6IQR/cexErcrPgbEzZ8IWl+X/m4Fgr49R+TM+mhna74Y0p5Xf7poeuPtOR+1PiyXQIQh0MjrDD/HUCM9scUK+b/frWf1o3dQvzyIPXv5Ddiz2UWaCj70LsM4+k7qtY/q+uU3GvE0oqZFKrUL18UIszeXUaSiymGzEic/0QHF6BTNLVGO19xwuZ4xPqrj+Lr9qJE23o2NL6/87J/ceLmufwS9B9DfeVTX32Wk4z5ZBIVVNBcXslnxMk8oeAmG7pEFLxvopqylsWr/vQ7TYWu+DQXqG3vOR58Fx3Qd1vL8098bmWG6zWPWPtroZy4d16Fo4sLFSMfaCFNUpdRfrdQnmmONVCOVBIrkqp2rjdo4wk9+Ss/EGnQ7gj4lXkJQURvHedxElFifqFZK/XQtRRdR5bH9TEsGSpVyMRabGJ3Km1FIiEpDEQfPOOfY3efv+/w737xrG8DEyOqQYmxjqjymiVq+ddGW7Wdv3lrXBxNnb9l64KIHPn3t1Vcee/TmSw/XRfhHvXh+pbeQSlYv2rgBoCdpvyJL6wdWnbPn3tu/sGPbsQu2NHUl0Yeuhq5l6wDn7jm+eX+zkIS9F1x5+4GLr73qwU9f/rrxtQcUX+wdZRET+oQhHtXm8dYKQoUUd6En0VkqO6EFgpx1/3GX0vxq39ETR/sUpSetJncc2JFUe3oU+/3d0eppv/6MTmzYMBFMh5RgeWioHFBCPT+mXp3u3sD0Il0qd+nSNcJpwraV9WmsoqicoRGKx3KGGpUywUA3EJAs+k9W1LCZoMdVukdROKeqaj/lps1cJLCisrVbisNkUAmlg8R2ILNzCafTPDXm+NjsWcT7UfLpK2HsCZ2HNXgM+c/stuPBr7K/Z1BkoGXAPTCoQzyt27+0f4RTTYeGkV1kc6qnsjnkEquUYaapX11RCN8K96uh2+/QAZudNQIrsvvjYLAUuvlWmv7aB4yc7rfDEYpUoAocgQa3wNhyMt41jm6a5fzdcXtYK4VmAzP+IXPhB5DPjH7rzaGBQPBePQcPdg+OBZ5Ljt3y/CSeVavWnciqc8lNiSQV1cPKXWRQMDRsTCQZxxU0hrlPJuWucNGfn671EerAciAqpsfEsWQ+n+QXImObATaPjcr7/toZ/2zRYF6Yf1GkeJewD3vJHa6Lu6oX0BN1vV/RxVyOQ8OjyMSHwrOB3kVieAHttldfesWlqzdsBafTYOt/IRlwxYE1l9Rql6w5cAVIL5QcDrnKpKxJKBcxAyE87asYIRlmHL7fWigWC2vecY7T8+e8g52HzFz9WC2D/9UeuxoH+ysO144ESBZjrJQMqMwMlPml6ICV7mcveuDXiSlV0S7EeBalUeFununwgUZAjF93XSxTsGtZpx++iSbskg9/ODsG3NTSO1+FMXeMVbn/0INvMotqqrnM66AAj99887al7zwfdn3qU6GlL3Zw5Ml/F7eKDOdSP/YRDzHFVCWJJpyCTeh1KmjHkg5oo9ILeLkiRsPPv1qm7bQa++UGpsUTmv2eYCj2i42iHk+ocDz4rj8O97AMBO8Pp1imZEr5XwTihqjZxyIDonsMH4w4/oHTfhJPlm9RnFzaSixJrcDTpti7wpu9uXkJyi3Hc6+qFyNNKRR0cTKb1RKPlHoutepEWROkUEl7wof/gqQoBiTJyvPsxCNfR4MNtz5Lx/fRsfE1sLLWABx4+u107VlZjgZFFqOL8DW02kD5BjrQv34fz3EQfqE49695Lj2KyG6L8AaUfX+p/IckyWsOopgCZK+cRFcEkcYIcM3AUYczn7ynndGCKorA4TTA/Fd8afMZf9r83co1uypDbtp8Vf/5t6hoHcWBDDs9WVJZfv5fGRA7+Wo1T/t1O8GMrN2um0kSGEiZ6+o1uKkrh57vyqF/XBw007uHvRz68Fk90RFJH+q5racAkE7I7+gZ2g9citX8+fkqH807Tzs/PWRFSrLeH7uIWj0kMhYdFvk4duRZFfZ6FoELq99THj55OUUFJK8G1UzhgxU0n9URWEZYU9QNaD7Eaz15VLamk8llBPLlCWaJgRAEwwykqOETCKp9gEx/qvrvCzz35XtOL3Rx7fC8x4xErNq6o+IalclaYDHL0aAUTm9KGAFvfFOeVKdceLnYdAdMrOqOdErXyo756+DOVHISKmzGfnS/uL3R2C7+ag8K9lt6TLNnA3IkHUQtnWFKph/CgXREPgZvqm9nbHsdxuuXU8xg4x2y/BMtnVQ03T6e6gPoS8FduqYk0768bQi9gib3pT0f2izLopvrht9JnSi4QdAZQAXRnnG09tipCT3epDR48yb47Gc+Y++Hm3IDAzmo/06ihYWagjbqwMHuKFQT/S0Kw1HNg1pKUBYGGUimxlAvTQK73Img4OY36ySZBYuW3W8Vg0yW1ulaGJoUMIVmRPWqMbbdqaki/URUtTuTay37jgTgPD9hjS740m/gscKKMI4YiY0ATVRy7hBNIDUOJd1UlH1hIXG1/U37mzgnTgNDghdFg61jbMM6YzBl96cGjW6q7H/vkA/ftd8NN0hh6S5JUcW7pPDQnclcLtlNY9Q1bBQzOcltu4H9fAWv5UNlM8ajlwuH5TFXblQGVnNdH3Q4aH4RuVwF1RrNUq2KEm7WOXc1dDEoK9xL8KlGngYqK54kbtTNCfaFeC4Xx78/dfdwQE1H7dXRtCrP1pO9AL3JSSaKUrQHktENkqL8OhUFeOs/nFcRAZgZ3MeUrPVrRZE2RJNaPKSKbNLKKgzmILsqC92bkyScQPAuHCz27Tho2IhkyAnrNFEHMN+knif/sygFo7/SVCsJungaGglTC4ywpKWpcCLYwfNvRTk1hB3C64W3CHeSlqdwJnYh+lSUiDXdqK1fPjw274hnnEtgotIseSioWnF+V2x64k2YfplRVN8vM7mfyiYpOIxC9h2zdsAUfxYrBvolfSBeC9A8SXZEqEbTrgAjaVWx3ljrSciSqvVLciAX+Sm0N3Tk7pNoOuoJ1L43lAzhv3gOsu9eOPx8yIhFiiFNNZNwBenzjmgDmiPZaFgLKGHrsxAVJTWihYqyjBr1ioLTF/btHWknHFmrGsr6/lAykwzlsN+8A9SIJPs1bNqNMY8KG4TtwnnCYeEqdAlXqG9qvobrXp6IjtUVrqf8YaIWkd69efyU1xaO3r/MtYPz36FDtgb7y6traJ9it8zJTFd86Qj7EcqogJqvjhpHHG/UxslBbvLMYokqdJV4isc0xhuy51D4M0Vi3v4T+xU4WymVNp9QRLYBStnNk1vOGJTtx2IxiMTqMThPN2w7ns0OZrOJ0SnmwQy4x/4TiMBuJsGBj/yGok9M1ezH4rW4/auYBecflekXg9lZBA0uLml5+tqjuyunVl6OaviVH9ZcsTx58J8ONuHPfWcZUjw8T7kcwqr9bhRYjSedhiYBrR2bHdlbKOwdOXwby2agNzYRg0I6w25j7VKxWGIz09WzCvb3sd1VfTuq0zOdHFgbNekaR+OTESd9j0CQoB16b8s3hXL/sf1jK8YObh3cRvUg26gAw7pneQLghP0CDCTruTMOsUr/4GB/hR06IzcB46eia1oUBYssEeLiSrXSJH+zyV3bXoiVOFSP8IIS8rNJ6v5g3/WzgYymy4xJ0XRgNgSzX1ol6+keZWJPXenp0eVVn+yO+43fpIqBcESR25IU7pHU1xsFmLog2BPQQm98Y0gL9AQvKGftghvwmsuWF+I8RCdDCaaF06heBL2jilOkRlCfO/8VoPjg7yAZ5nbsQKIjEmOyrmWIaPsS1npm8JR0J47Vsq9X5VRYktqKHAkHRPUmo2CfhDm7wAq/gwGxE+PVhDivIHIxfynm+ffjyUR3MsJP8d1sW72+Df7vB7xw1MXsynPPvYpd2Z3D2lLfDrC9fsSe65RVzR7Bx9hV5x6h5LUXRmy5volLk4RIrkKZG4qSmx3SiiuRIzvBJsd1mmMt+0qXPPjAsnTZf+tmmqBlt+Ell8gVCLttoR5sIa/6rKAIQV7HXTTlZHMYxooJeXhJILg1PwOjpgmjVEdmt+32kmqyGbj9WcN49sTIN75x7ZIqOcE3T8M4ynD2V8ud98tO5jEhl0kBCLpmv897r/0+DZpOSzP4/wC05JftvS5Pj78s07Ws/NtXFWpF5rhqGtsICasRM2yinGg5wdGCZ/OLHZyQ7GNJDhI2gCd8dNtTjgNY5naeAiU8bouXx/mJWHgqNRjI5wODqadYS57/s3QRoJh+Rg6wKrMa1iALyM/wa7YVC0UhErZQa8Mu3FRDEbTOX3GulvlJ20rHG414Gr7dQixur0IsrkpnSsnkLkmlmonvZfpPBiND4eACsAqGhyJBfo0fcT/Y4VkTTCFP9WqdOjS1c9DPU7w8PQ7dEkAM7JcBAsQsNpP9G3cXSoXwXzyTgWcX8YoYeIFZmCbiPCI5nalMyiH7cBdrAD7muuJcVOO9TthKCK/SCXFRuMvxetCJF7k2d4oDm/UuP97R+l3lF6dfNzx0fKL+pqHha08fbABPtUNj8M4nxd589pLmwCA4WUUYLDWm87ne7ohma2gwkgPIR1YNzeGvpinzjxv4GD42/keDRs5Ibl8z7aQZp9dsS+KFwYvH73xyyynyexwh+LkTvQBFPEJalf5RgZ7zrx5biZ0fOISLoESZmWarpgchbbKoAuLs8hzAGYccSg9Hw3IuLfaYgIPS7BHTOTkSgduWpbnA42VRjhCKZtH0FxEsSUzN2S1otzsg64u2m7kFR/9AAWbsmVkv1LkkG9WpueH5KI1X+6NGqhdRHZnFJfWxPtjotLzw19Ws/a8diqZn8O4Mr9/3Nz3/8IJPRmtaoI3aMM0zchU3Q03qoFlxgL9z4joBdAyFiEkZaXrLryMletcAbr7tvBXvwJ/r3Ps28wN5TaetubChOx3duAd1cYrnKDuhtF7mj6RRKs71/J26Xzf4Bs86sbSf8wTvy04w7SojY7zg5Lh41O2+7+twL56/zEPoP/cCabBK17/PT57NDlCo6AUj44vJE/bH3ic94iRIuwLht3uJUITS9/mD3keJBnrbh7tGVnfeobRy3kF0V22RhFfMOeR9ra+cX3mUyCByBL7+xufTFNy6GVpTsmyCulMi4l8+trRcRAzat3BC3k4eoO94/qeOcX6z786buwpEYLbLu4DuVUXd62kWsA7OEUWICH28FmqsBCno5Um3iUZ5sdku2FcchLM/ac84Bcbw2UWJ28d3w9QHoOkWEj+8zLyUO22KHCeUhRGKcqcSqBP4YobS4tkp0zghalKTPHsWT8Kdv/kkrbC7x8jo9td2L0kf25eFYrFMzAo7VE7/5pP4jH3Fe3V8ekkG+Yf4ZCxrzbg0L2ALgf0tHoUFYZiJ5iRKhS+ArCBCWGN/pwWlKMwEg/ZMtHTvT382/wrbE7OC9veMPsP+bsD0fBN6R4Dn1jiu5Wm1V+k34Pwe3gergmZ8/vNxMwCDRp8/f0UVBsvh/K4pg5g+rXNMH+HwuCuHdeAmTQqEorJCAD4la9chgP/YIt0sdc2hDCHeFWfRsjh+xfn014Td01Efdl95Vk0iZL9O8yB7NBSQNITsC31xHOnL87oagl0NvqyIoG4pEacwjElDJdYglOVAEVO8NNgf/2REk6TA2r5qXYS41dMPM+mqskvS5l3AN81YOFo/GJTzJahVEz1D0aQ8b0NfGi6NDwwT6OTLHoUFG0Z09KGm2YaUiLRc0qyRyXUQRS2pqO7iWcRC5ZpZ8lFb5dTSxje6kWSxtktm9oy49QDjBWtMkTKqpEYNVXk+EJi/e3qafXwRK+g23+uO34LDEHzVfghd9hnQLzkjGjLNUHZfTo1ZATEUQhv1cZfJfiAuyZ92OXM57dKjcW6fec7d5K6OuGLOEv8VlslQthYKW+zpZZOR/lxkEed/szPmuBz5wIvxBKqvSZkKN0hD0kKNaifbKPAU44bVl1556Sqec1y35pIrpod4mvERnni0X+7SkS2eS1xTKPb38dwiuyuTyaZ5PlHi+cW/8BfkeKEZz56LgN7XZr4mPBlfKHytvaZS2fFqt5cSc7wUdAW4ozKtrFDt2VUmq1oXpmL2z11XCOyfx152fKO1CoLxtYiNZlVfoaceCumL6mSVzdqb5//RHUHDt2jQgweROxi7K9TBTugDtESqDCW7gNyWTV6uk4YELyyqL7EMr6ko1lcTC8I/xUZi//QKEv0KrftZ8O5w/5enrIJNJp19i0UOa9rh+V+xmSFyUIdavoIo8vbs+ArVr6FgMORWv0LHHo3wGFLCWy3UxJHYCeR7dRuO1nGGJFpqHOqd1RbjF1X3cTeeD7O1b5y8/zlJeu5+3JIdDneWeRT7+GCkx8J7qqudR3DbqRdy6ssQMZaxkVIvlHltsuud4F+KKoFStXoxgYixPsGE8unWT2Ib4RYWGWHiw29608MiG4wzJRaZhf23R2Im9OfyxXtZ7urKQ9c/IIoPXP9w4WgZNCNESTCwQsaCfpvmdRNJPiOLjmLj/gT+UbqzFl6JGl7v4tBzmX2v2QfsLRdd9BYGfab921ivfoPeC9uX0PdM8IzpM4LPRGJPlC4oPXzBTYzddMFDAxcOTIMZDpvnLkvx6np9tUdzV/1KWe/UeKGpRqjA/sz+HqwyaH1J26DilbR1AA1oTM/Edfu7Rtawv071Jd57xE3srbwuAE21N4J58B5fKzY0RBofe1LPWNo3aUbBcY0d18GwD/+jEc8E/k8gAH8ZyC7I8RJeS13kdSE+BMiXUbi1FEV3PwIxGlnFDhJ3Ss1pdDmFAYy2IxyykCp1Cs1kqk1z4Lhbk+avDOSDa9bZ4jTY5DsB57YvF5/llcCchkW5D48Qdxq4lUEdB4KG/3y77SH/DinDD9Ol6+1/559t0B3/oYUPLS6Sw59ysu3/4B+IMK53afSPx4JgohxHvWqVSsMtFkOTtNhpLJPld0YmjkS3Sky3ygYvp9LL1jmLceLfogPecpzfFjReoXKpaBGiVD8VLfBQkF8xXQLeirrBRicmV0BKDaSwwSseTeq/0iTIJdfiL9KSy9WIUVhuDglpQwN2uJXJ3d+MuHW5krAWXy05izQNNg47ZC1eOfng0lqwDr6k+pJreQ2e6sE9yl8pVZIxlbLw/4nc0hgnWHXyXUg1HVEWX6EsV62R6qWqRr7WNpVseCacMoUU4RrhR7wue6LKZn1LC58XrYCu5SLY8QpTe0uNqUBc0XpjsV5NiQemGqVelSk4fiI5TQ9YYiTCn4/2hETd/3xlpcfhXVsPARzauuUQY4cqgSBCq3R0IGIktd7UQFQ0jGgsFjUMMTqQ6tWSRmQgmlYYBAMTV9UCIWBivLcvbCT03mQ5ynTDtCzT0Fm0nOzVE0a0ZKZlBqFA7araAp5hwqBwq3CHcB/JVUxRZAnFVKk2Rhhi+Emx6q0VTKEnnkpyeY8AlzatTe+MDZVXO6AQw+CTcy9wMdMCpQUpO8VXI4D+iSNiebm1Q+Jp+bV5yRifsiZOn7Cmxg0Jz8Ph/Ghv18Xe0Xx4NUo5VrB4n1QumvCJeOKiCpdwrC/mdQcenuJBq+A8aL936XJU2CEVa6fl1iRS6XQqsSZ3Wq0obd6E19Znh51rw9n1eG3TFcEgmAXebdV6aKHXQvUq77SCCcFgjXdZtFiKYodVGqGF/go1Kry7iiajzpr4GjT2NJt7GifZoS3e8PBhgHEnj4RDn0psmzwo434oIJ4qqR3z7yz47KDhucrG6Ddl2WAvxiZ6O2uwGPvnzmnPkCWpP1K21ZxVYoVq/40MetKGfltPprMEyzBu9c7MqCbPjG9yF2Z1/DSikeKyGeFsjpmdru4cdBz32B/ChLOGzC47e/iku6bs9+Rt2l1Z9kN3D4fdA/utvy/Tnq4CHokmX1gdo0jmJCSd1RRdLskDnzfCYWO/RmWbkx8KlQKf8nsln2kbAMY0RauMbZ8KaSXYeYpY0upTeMGqm6tyQt2Uv1rRBV73oUlEG6DtJ8o+T4WzK7vA3/3UNoPibdNEZ5sqWh3+WZs5MUSOTjseUNF/Au5XRWDc2bO2FZ7/GAWJ2CVkUxeOHT5Zy31nhVb58eQlDpg4srgQlkRO8YQb++YEBYwtJ74IZt6yOkFHa+Eqt+5u7HLGynuxy5P0Q/dyx65fyL6CuGNM2El4i8qOUR/SxzhI7SVTzfFmp1w4mRqn6q8qOdZNJIUUZaniLpbn60RSySkiuGlW2P8O9ITlgFitMFaNoYqXVT3KNNU4qKgXXxlIBbSANCiKFTGoBXsC6hZJ3naNLGuJ4IdPOFZz31/Fw6ocRC+cnaUqiTQCwfO3btuHEFpNo4IBGa6/7bYbDsp6KqUMTTSGEf6mdGXb+XvP+BZjcuBufMW38E2fi+Kj8RTb0ufN2wsRoyaEIUQJuzscu/WCjhJfiVlxlFYI1GvJKUbhWh/TzXFn0YLLtLpNkraoASmcNlx2e4yl7N7XOqYHL52JBt9RUXKmn+0gch32uD542WUHkeWErLAFhtfUOMM9GmfYvnPDYe1bovGm/WLExzfaKtaK9iysLf4hejKDVHlmUnUMB7mq5xGaVPjHYXCzzpFnGRGU2JpGfG/PUpz1MA3ew3gK03Q6TSvjYtCaoxt0EqL4go1w06lq56HZKftZn77E4RZC7THofnehs5KzZoqJYr3cqSRbsk5l8RyfoyQDELqanj0pwOwxLc+HtnasC6r9/ZIZP81aboa5MN9m061WIWyZkcXLWF5dOvv9PpklrBGmuAZENNbRgJM8609eWJGcMpeJmsuE81kJt9SSL4irLNKR2Ay7peVldVtdjDyEhvwXwVgwbf3C6kE38VNtI0DakxlnfAohfRpGpt0gGmclNwClLNuUHQgZAfzVEP2mxxoKuv1ANVeyoKMWH/PWfYjFelGmr5JR0bTvu2SqMuQ8sPAZshJravlSXt8BAoq+PZMvnRRKecLIooCtS9IzgS0HtwTs//KyvC0qIUchC63WPjMNkDb34a23vS07MM/IgfSW80DBVxOWRurKOEdPc7+aphYrS78CVy4miur4ICSQPud7QdA/CKbr/443xdZMOXtSyJZnctRCjjl7e4BIb6+CHtgkSfN3oP9I+Rs4vsr+md3+m+DmizYHn5Ekdts+7Hl0Solcu88l8kfZgU2t1tsAWhHTjNg/hOJQvT4E/lhxlGfcebLPqVDgX+foMo9vMzL61bpFH9t4l89E/YeuX2WEnqP58/SlOvoNp1xPeIq1HYs/eLGiUXy75X3AYmVjePfTRNBzIeMq73sQDq8q/47KqBMbWcjYUg2fG7hZcKNdxeL4sPD//OBzbQhV/PGDF97MyKO+4xgpjmN3MWsOn2g7D+LuX6xw+sLjjB2/ME3UpK/6QOQAHewPf/Dq9ELNg8p9/TStVQUvs0wf2Pl9KXzAzSjjZvq1EMtalENu02b296Pbn4OhbzBMCJv4KgazWUwMgm9OdtS0M/y5jhapjNtbxaT6Tyh1Ot09RanZgpc/pWDxvzkA5YsuTilQknWmM0lJm3cyrnRyDer+5+klz1OwauHYj4cT6H0P8zqFRZQ7MRfZt4qs6TuOFbs+/oMT10czj7nY410Js4I9Ew6YSWgnzUCYTftopnWZLmELJKLRYvYbohkKF2Wi8N5OnOkyUaJsNBSdYKn3JZhRKDqQwJW6M2vPtz9/WVAvhe6Mxe6kj6dcBQcuvJGxGy/8ITXzwxseYOwB9rrLwiU9eJdVx2diGeNKdtMFF9xEo0V84PrrH/BkNctmeS68xOdPtd4Ec6yYhQpPAld9sZR6kzxMs7JQqIq9Pr179/w0s+BLZvQiVPi/dI1FDPeHokWA+fd5VaW5+fotdftLPIH+UT0w+TrnUa9jt04GrBhMx2Kd0lB3bs+yhzl1C/UmZaLN/RbDItpgLRWU5HJspxk9BMsRBG2gB1Zl36wZK9HQ0W8Pcr+K5z7KXrpRJCKcyVyXgUcWeQqZUWVu1rIsLxMMH7cfNZtR+7ORXB97rJD9gVf65YWDw99g52ez85/LrgVY28EmD/L1qQm3OsAr1OLL1hcSxTo0u5oOu62G+IH1J7aAxm5qSzcB8N9uu7ix3Q+T3czWzH8n2E0HrdGwxc1urFKI+eo25Sr3CqodT5GvDW+L915zzb0i37Ib37t6uKPAx/9o1ftpac2sdxu38+8dfv1kxwj05u/DwcnXFzltJmgULteKuG6ZNzeWe1mn/17P/oF/I+0uPnrQQyhWJ6rcV0QveAwRdMX9wBmV7eM/qs1OxZyQFfoepCnqE/TxU5yFpA+mWKPebIhOZTf/OJrjm/D4yzgPuuCkKdL9ktrPK23CTFXoa7iTbKJaEa8SNSWQtEUVgL4aKKqh8LmaKmkGnYuKogaqahBakigzSTFETZfh/mR4wP5IJCEqcEcioobkEXwY3qMFlICiSZImGZImMxHxoabi1InKjBn2D0RJSwZDIlMkURFVRZR0M5FOmLrE2HmSypQxSVLp56qkg8ikiKFqssQ0RZFA1+ynTENXpICKr01Eeq1IIaAkQm/Piiyo2xfRO4hcIhtpCMZ11dBNQw7KwYQk6RrdYxJTdTmQwhax4VRAXsDeb8A+SaKm4ysnoKhyiLRoQ5DP+7zKRhBTZf+HdUfnPzYFE7vrADXaTOyu4eacOtxgK3VIR5gZSYM4/xwLcxf317hll3+yMlGr+v+OP//8i5EMQCbyIvSyIZMmg9nBE4PsBaRuK9Wo8vKbIe8zXf4UVqqW4KU73d91oS96jfPwSUKR+geoqozlLw5Go8E9ezQzqeM2ZWp79tCVi/n1i6M9UX5gP/Jg3+6+B3urELPnK/Z8DKqwaSNEUpHdWsLUzj5bMxPabjwFfrGHPn3XQ6ewb10gsC6wrvDy3R/84N0vF9Z5NuV8tlaI4HxKTuKruL7gK/XEdKhkBO2vU7Lju3zdLsSeDqE5gZZhdFb3dt4xQe+I8di0s2Ye0Tj8VE/H8alBfAc0gkYpZP+IVZzPdvG0Sqikh+zvufNwN/s3RBMXCO/i85B/9ZM+iUWVR3zi1Sb5+pnmJBtxqtOcKUrPlSpVmmNiqlekxadikz4xVqXy8RGpWoq5CVbSxr4EK1kKf4K1k5NVSwl4SesLmaGwpscMSw0b6R4jqCqhb6gBxTDiMTUgqlZIDamxEA5uI9aTUHAWyQ8mkvnRQlDTRs954/vesDpeTls49yK6NZpKBeLRaEz59guBcDiwB8KJ8F7ypvby7ZnbtUhc275di0XU7dv5E+x/KZKiB3C+40SStJ4w4gZVM9WoEgzEdCkYDCg0f2Sc2kxRoyITxR/FzGRj81mryjtOLxey4b7y6kR69WA5Whg1TRV/HlLsz4XjoYQRChmJUDzcANxsVbHNrVvVcFzdijeh4ctDiSrOwbzzJWg3JeGUWJPK85ImpUkQ0TfmWtgJsdTpzI39VKrkLRdmgCKmnczEJqqMcDIobWj8x0zEBCg3ygBmpB2xYKA5AFZkhh11UOlAzh7IlstZ+EFu4Cg0V61qzp+An+7R81ZuoJy18jhbfMd2Wvj/bsvq2QB4nGNgZGBgAGK5Jo6aeH6brwzcLAwgcF2L4w2C/v+AhYFZAcjlYGACiQIA9LsIzwB4nGNgZGBgbvjfwBDDwgACQJKRARV0AwBHkQL0eJxjYWBgYH7JwMDCMIpHMX4MAFXfAxUAAAAAAAB2AOIBXgG6AegCVgLuA0ADmAPiBEgEigS+BUAF4AYoBogHAAeMB8QICgh2CLAI8AkqCX4J8Ap6CvILcAvADBwMYAy2DQ4NXA2cDeIOJg6sDwYPdg+aD+AQFBBsEO4REhFAEYARrhH8EqQTHhNmE8IUBhRaFO4VrBY+FpoW1hcAF0wXoBgAGEoYnBjUGQYZgBngGlAaqhrkGyQbYhuqG9YcFhx2HLAdAh0kHUAdeB3IHgweeh6yHwwfgh/4ID4gfCDWIPohICF0IcQiFCJwIxoj+iRMJMYk/CVGJXAlsCYoJqQm5CdGJ6gn+ChWKIgozCkWKXIp1CouKmoquir4KzIrdiuwK9gsoiz0LVgtei2cLmQuxHicY2BkYGDoZpjCwMkAAkxAzAWEDAz/wXwGACY2Aj8AeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicbVSHtqM2EPXdB9iA/eyXbHrvvfe66b33vhFCGK0FIpKw1+m9bT46QgI/n5z4HI/uvSrMaGY0OjHyv2T0/79zOIEDBAgRYYwJYiRIMcUMh5hjgSOch/NxEhfgQlyEi3EJLsVluBxX4EpchatxDa7FdbgeN+BG3ISbcQtuxW24HXfgTtyFu3EP7sV9uB8P4EE8hIfxCB7FY3gcT+BJnMJTeBrP4Fk8h+fxAl7ES3gZr+BVvIbX8QbexFt4G+/gXbyH9/EBPsRH+Bif4FN8hs/xBU7jSxBkoMjBUGCJEhxnsIJAhRoSDb6CgoZBizU2OIstvsY3+Bbf4Xv8gB/xE37GL/gVv+F3/IE/8Rf+xjn8M8LZmFDKtJZqOyHU8DU329kAThdciAOS5wv7V3ZVJuXKiemeMM2IUmTJ3MS4J2mm5EZ7LfI4zFSry8RZpx9lrea1PYUSlTtluq+klFRMEX+ExwkVknoPQgc7q9mcSiGYdVrWbi455jMqq6Y1TLmJycAWVEqV85oYpn1Ae8KUyraRtZ8Y92ROFbOThuhV/40dP0lbbaT1TzO15tQHPf+PmOZMMNNfiMeTXNK2YrWZDcBfQr6tScWp/3xPIpZzI9UB4yZhlTzD/SU4GNqdTMXO8trIwx1yi2YFY3lG+nubDCwuBFk6KehQYo0uBV+WZn4MfahFK4S28bI6XCp7HYmz/vDSxtgM2Z8MbGa/zpaKCC8PbNEB5crLb0j3hMmKbTNpEx8KkjGROOtWxYKv/PqgQ5aud3Rt6VATQYeCinARd8ZfYGXLyXo07Ue/sLJVFnfG0UUlMy5YU8peSPeEoJKKRbUta7mZyqIQw65xT0JpSqamDaemVf1UT4JGkG3cGX9sh/oajTxOG0X40CceW8lWqRmkDh8qljc2Z8yr8Y6OFStsH5apYjYa30SRx3awLtSh6vIY2I6qA83qfLpfpOOeJNqu9QkNHUx0SfpYQgenunXvRL/NEzvqxp4Z6Q03tDzSW21Ytef+dF+JjM2JVEHXMvGuj2YdElz7DZOBxYZXfa46tDCK1FqQXYune0JosX1YnPVb2jqX4ZrnTCbOemc2RNW89jU/7kmkGVG0TPzgXqWmzawH5VLK3Icb61L6y/FukOOXJurS0DZRWxdS5IeFfUBqyvuyj+1rU0nbt9vR6F8KbDL8') format('woff')}.i-icon{display:inline-block;font-family:iconfont;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.i-icon-accessory:before{content:"\e6dd"}.i-icon-activity:before{content:"\e6de"}.i-icon-activity_fill:before{content:"\e6df"}.i-icon-add:before{content:"\e6e0"}.i-icon-addressbook_fill:before{content:"\e6e2"}.i-icon-addressbook:before{content:"\e6e3"}.i-icon-barrage_fill:before{content:"\e6e4"}.i-icon-barrage:before{content:"\e6e5"}.i-icon-browse_fill:before{content:"\e6e6"}.i-icon-browse:before{content:"\e6e7"}.i-icon-brush:before{content:"\e6e8"}.i-icon-brush_fill:before{content:"\e6e9"}.i-icon-businesscard_fill:before{content:"\e6ea"}.i-icon-businesscard:before{content:"\e6eb"}.i-icon-camera_fill:before{content:"\e6ec"}.i-icon-camera:before{content:"\e6ed"}.i-icon-clock_fill:before{content:"\e6ee"}.i-icon-clock:before{content:"\e6ef"}.i-icon-close:before{content:"\e6f0"}.i-icon-collection_fill:before{content:"\e6f1"}.i-icon-collection:before{content:"\e6f2"}.i-icon-computer_fill:before{content:"\e6f3"}.i-icon-computer:before{content:"\e6f4"}.i-icon-coordinates_fill:before{content:"\e6f5"}.i-icon-coordinates:before{content:"\e6f6"}.i-icon-coupons_fill:before{content:"\e6f7"}.i-icon-coupons:before{content:"\e6f8"}.i-icon-createtask_fill:before{content:"\e6f9"}.i-icon-createtask:before{content:"\e6fa"}.i-icon-customerservice_fill:before{content:"\e6fb"}.i-icon-customerservice:before{content:"\e6fc"}.i-icon-delete_fill:before{content:"\e6fd"}.i-icon-delete:before{content:"\e6fe"}.i-icon-document:before{content:"\e6ff"}.i-icon-document_fill:before{content:"\e700"}.i-icon-dynamic_fill:before{content:"\e701"}.i-icon-dynamic:before{content:"\e702"}.i-icon-editor:before{content:"\e703"}.i-icon-eit:before{content:"\e704"}.i-icon-emoji_fill:before{content:"\e705"}.i-icon-emoji:before{content:"\e706"}.i-icon-enter:before{content:"\e707"}.i-icon-enterinto:before{content:"\e708"}.i-icon-enterinto_fill:before{content:"\e709"}.i-icon-feedback_fill:before{content:"\e70a"}.i-icon-feedback:before{content:"\e70b"}.i-icon-flag_fill:before{content:"\e70c"}.i-icon-flag:before{content:"\e70d"}.i-icon-flashlight:before{content:"\e70e"}.i-icon-flashlight_fill:before{content:"\e70f"}.i-icon-fullscreen:before{content:"\e710"}.i-icon-group:before{content:"\e711"}.i-icon-group_fill:before{content:"\e712"}.i-icon-homepage_fill:before{content:"\e713"}.i-icon-homepage:before{content:"\e714"}.i-icon-integral_fill:before{content:"\e715"}.i-icon-integral:before{content:"\e716"}.i-icon-interactive_fill:before{content:"\e717"}.i-icon-interactive:before{content:"\e718"}.i-icon-keyboard:before{content:"\e719"}.i-icon-label:before{content:"\e71a"}.i-icon-label_fill:before{content:"\e71b"}.i-icon-like_fill:before{content:"\e71c"}.i-icon-like:before{content:"\e71d"}.i-icon-live_fill:before{content:"\e71e"}.i-icon-live:before{content:"\e71f"}.i-icon-lock_fill:before{content:"\e720"}.i-icon-lock:before{content:"\e721"}.i-icon-mail:before{content:"\e722"}.i-icon-mail_fill:before{content:"\e723"}.i-icon-message:before{content:"\e724"}.i-icon-message_fill:before{content:"\e725"}.i-icon-mine:before{content:"\e726"}.i-icon-mine_fill:before{content:"\e727"}.i-icon-mobilephone_fill:before{content:"\e728"}.i-icon-mobilephone:before{content:"\e729"}.i-icon-more:before{content:"\e72a"}.i-icon-narrow:before{content:"\e72b"}.i-icon-offline_fill:before{content:"\e72c"}.i-icon-offline:before{content:"\e72d"}.i-icon-other:before{content:"\e72e"}.i-icon-picture_fill:before{content:"\e72f"}.i-icon-picture:before{content:"\e730"}.i-icon-play:before{content:"\e731"}.i-icon-play_fill:before{content:"\e732"}.i-icon-playon_fill:before{content:"\e733"}.i-icon-playon:before{content:"\e734"}.i-icon-praise_fill:before{content:"\e735"}.i-icon-praise:before{content:"\e736"}.i-icon-prompt_fill:before{content:"\e737"}.i-icon-prompt:before{content:"\e738"}.i-icon-redpacket_fill:before{content:"\e739"}.i-icon-redpacket:before{content:"\e73a"}.i-icon-refresh:before{content:"\e73b"}.i-icon-remind_fill:before{content:"\e73c"}.i-icon-remind:before{content:"\e73d"}.i-icon-return:before{content:"\e73e"}.i-icon-right:before{content:"\e73f"}.i-icon-scan:before{content:"\e740"}.i-icon-send:before{content:"\e741"}.i-icon-service_fill:before{content:"\e742"}.i-icon-service:before{content:"\e743"}.i-icon-setup_fill:before{content:"\e744"}.i-icon-setup:before{content:"\e745"}.i-icon-share_fill:before{content:"\e746"}.i-icon-share:before{content:"\e747"}.i-icon-success_fill:before{content:"\e748"}.i-icon-success:before{content:"\e749"}.i-icon-suspend:before{content:"\e74a"}.i-icon-switch:before{content:"\e74b"}.i-icon-systemprompt_fill:before{content:"\e74c"}.i-icon-systemprompt:before{content:"\e74d"}.i-icon-tailor:before{content:"\e74e"}.i-icon-task:before{content:"\e74f"}.i-icon-task_fill:before{content:"\e750"}.i-icon-tasklist_fill:before{content:"\e751"}.i-icon-tasklist:before{content:"\e752"}.i-icon-time_fill:before{content:"\e753"}.i-icon-time:before{content:"\e754"}.i-icon-translation_fill:before{content:"\e755"}.i-icon-translation:before{content:"\e756"}.i-icon-trash:before{content:"\e757"}.i-icon-trash_fill:before{content:"\e758"}.i-icon-undo:before{content:"\e759"}.i-icon-video:before{content:"\e75a"}.i-icon-video_fill:before{content:"\e75b"}.i-icon-warning_fill:before{content:"\e75c"}.i-icon-warning:before{content:"\e75d"}.i-icon-search:before{content:"\e75e"}.i-icon-searchfill:before{content:"\e75f"}.i-icon-publishgoods_fill:before{content:"\e760"}.i-icon-shop_fill:before{content:"\e761"}.i-icon-transaction_fill:before{content:"\e762"}.i-icon-packup:before{content:"\e763"}.i-icon-unfold:before{content:"\e764"}.i-icon-financial_fill:before{content:"\e765"}.i-icon-commodity:before{content:"\e766"} \ No newline at end of file diff --git a/dist/index-item/index.js b/dist/index-item/index.js new file mode 100644 index 0000000..ed818df --- /dev/null +++ b/dist/index-item/index.js @@ -0,0 +1,32 @@ +Component({ + externalClasses: ['i-class'], + properties : { + name : { + type : String, + value : '' + } + }, + relations : { + '../index/index' : { + type : 'parent' + } + }, + data : { + top : 0, + height : 0, + currentName : '' + }, + methods: { + updateDataChange() { + const className = '.i-index-item'; + const query = wx.createSelectorQuery().in(this); + query.select( className ).boundingClientRect((res)=>{ + this.setData({ + top : res.top, + height : res.height, + currentName : this.data.name + }) + }).exec() + } + } +}) \ No newline at end of file diff --git a/dist/index-item/index.json b/dist/index-item/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/index-item/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/index-item/index.wxml b/dist/index-item/index.wxml new file mode 100644 index 0000000..8986c8d --- /dev/null +++ b/dist/index-item/index.wxml @@ -0,0 +1,11 @@ + + {{name}} + + + + + + module.exports = { + + } + diff --git a/dist/index-item/index.wxss b/dist/index-item/index.wxss new file mode 100644 index 0000000..aeecf8d --- /dev/null +++ b/dist/index-item/index.wxss @@ -0,0 +1 @@ +.i-index-item-header{height:30px;line-height:30px;background:#eee;font-size:14px;padding-left:10px;width:100%;box-sizing:border-box}.i-index-item-content{font-size:14px} \ No newline at end of file diff --git a/dist/index/index.js b/dist/index/index.js new file mode 100644 index 0000000..c556f19 --- /dev/null +++ b/dist/index/index.js @@ -0,0 +1,158 @@ +Component({ + externalClasses: ['i-class'], + properties : { + height : { + type : String, + value : '300' + }, + itemHeight : { + type : Number, + value : 18 + } + }, + relations : { + '../index-item/index' : { + type : 'child', + linked(){ + this._updateDataChange(); + }, + linkChanged () { + this._updateDataChange(); + }, + unlinked () { + this._updateDataChange(); + } + } + }, + data : { + scrollTop : 0, + fixedData : [], + current : 0, + timer : null, + startTop : 0, + itemLength : 0, + currentName : '', + isTouches : false + }, + methods : { + loop(){}, + _updateDataChange( ){ + const indexItems = this.getRelationNodes('../index-item/index'); + const len = indexItems.length; + const fixedData = this.data.fixedData; + /* + * 使用函数节流限制重复去设置数组内容进而限制多次重复渲染 + * 暂时没有研究微信在渲染的时候是否会进行函数节流 + */ + if (len > 0) { + + if( this.data.timer ){ + clearTimeout( this.data.timer ) + this.setData({ + timer : null + }) + } + + this.data.timer = setTimeout(()=>{ + const data = []; + indexItems.forEach((item) => { + if( item.data.name && fixedData.indexOf( item.data.name ) === -1 ){ + data.push(item.data.name); + item.updateDataChange(); + } + }) + this.setData({ + fixedData : data, + itemLength : indexItems.length + }) + //组件加载完成之后重新设置顶部高度 + this.setTouchStartVal(); + },0); + this.setData({ + timer : this.data.timer + }) + + } + }, + handlerScroll(event){ + const detail = event.detail; + const scrollTop = detail.scrollTop; + const indexItems = this.getRelationNodes('../index-item/index'); + indexItems.forEach((item,index)=>{ + let data = item.data; + let offset = data.top + data.height; + if( scrollTop < offset && scrollTop >= data.top ){ + this.setData({ + current : index, + currentName : data.currentName + }) + } + }) + }, + getCurrentItem(index){ + const indexItems = this.getRelationNodes('../index-item/index'); + let result = {}; + result = indexItems[index].data; + result.total = indexItems.length; + return result; + }, + triggerCallback(options){ + this.triggerEvent('change',options) + }, + handlerFixedTap(event){ + const eindex = event.currentTarget.dataset.index; + const item = this.getCurrentItem(eindex); + this.setData({ + scrollTop : item.top, + currentName : item.currentName, + isTouches : true + }) + this.triggerCallback({ + index : eindex, + current : item.currentName + }) + }, + handlerTouchMove(event){ + const data = this.data; + const touches = event.touches[0] || {}; + const pageY = touches.pageY; + const rest = pageY - data.startTop; + let index = Math.ceil( rest/data.itemHeight ); + index = index >= data.itemLength ? data.itemLength -1 : index; + const movePosition = this.getCurrentItem(index); + + /* + * 当touch选中的元素和当前currentName不相等的时候才震动一下 + * 微信震动事件 + */ + if( movePosition.name !== this.data.currentName ){ + wx.vibrateShort(); + } + + this.setData({ + scrollTop : movePosition.top, + currentName : movePosition.name, + isTouches : true + }) + + this.triggerCallback({ + index : index, + current : movePosition.name + }) + }, + handlerTouchEnd(){ + this.setData({ + isTouches : false + }) + }, + setTouchStartVal(){ + const className = '.i-index-fixed'; + const query = wx.createSelectorQuery().in(this); + query.select( className ).boundingClientRect((res)=>{ + this.setData({ + startTop : res.top + }) + }).exec() + } + } +}) \ No newline at end of file diff --git a/dist/index/index.json b/dist/index/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/index/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/index/index.wxml b/dist/index/index.wxml new file mode 100644 index 0000000..f83d847 --- /dev/null +++ b/dist/index/index.wxml @@ -0,0 +1,38 @@ + + + + + + {{item}} + + + {{currentName}} + + + + module.exports = { + setScrollStyle : function(height){ + var units = ['%','px','rem','rpx','em','rem']; + var hasUnits = false; + for( var i = 0; i < units.length;i++ ){ + var u = units[i]; + if( height.indexOf( u ) > -1 ){ + hasUnits = true; + break; + } + } + return 'height:'+ ( hasUnits ? height : height+'px' ); + } + } + diff --git a/dist/index/index.wxss b/dist/index/index.wxss new file mode 100644 index 0000000..c0887c1 --- /dev/null +++ b/dist/index/index.wxss @@ -0,0 +1 @@ +.i-index{width:100%;height:100%}.i-index-line{position:absolute;left:0;width:100%;height:1rpx;background-color:#f7f7f7;top:50%}.i-index-content{background:#fff;position:relative;z-index:1;display:inline-block;padding:0 10px}.i-index-fixed{position:fixed;right:0;top:50%;z-index:10;padding-left:10px;transform:translateY(-50%)}.i-index-fixed-item{display:block;height:18px;line-height:18px;padding:0 5px;text-align:center;color:#2d8cf0;font-size:12px;border-radius:50%}.i-index-fixed-item-current{background:#2d8cf0;color:#fff}.i-index-tooltip{position:fixed;left:50%;top:50%;transform:translate3d(-50%,-50%,0);background:rgba(0,0,0,.7);color:#fff;font-size:24px;border-radius:50%;width:80px;height:80px;line-height:80px;text-align:center} \ No newline at end of file diff --git a/dist/input-number/index.js b/dist/input-number/index.js new file mode 100644 index 0000000..7a7d3f5 --- /dev/null +++ b/dist/input-number/index.js @@ -0,0 +1,101 @@ +function addNum (num1, num2) { + let sq1, sq2, m; + try { + sq1 = num1.toString().split('.')[1].length; + } + catch (e) { + sq1 = 0; + } + try { + sq2 = num2.toString().split('.')[1].length; + } + catch (e) { + sq2 = 0; + } + m = Math.pow(10, Math.max(sq1, sq2)); + return (Math.round(num1 * m) + Math.round(num2 * m)) / m; +} + +Component({ + externalClasses: ['i-class'], + + properties: { + // small || default || large + size: String, + value: { + type: Number, + value: 1 + }, + min: { + type: Number, + value: -Infinity + }, + max: { + type: Number, + value: Infinity + }, + step: { + type: Number, + value: 1 + } + }, + + + methods: { + handleChangeStep(e, type) { + const { dataset = {} } = e.currentTarget; + const { disabled } = dataset; + const { step } = this.data; + let { value } = this.data; + + if (disabled) return null; + + if (type === 'minus') { + value = addNum(value, -step); + } else if (type === 'plus') { + value = addNum(value, step); + } + + if (value < this.data.min || value > this.data.max) return null; + + this.handleEmit(value, type); + }, + + handleMinus(e) { + this.handleChangeStep(e, 'minus'); + }, + + handlePlus(e) { + this.handleChangeStep(e, 'plus'); + }, + + handleBlur(e) { + let { value } = e.detail; + const { min, max } = this.data; + + if (!value) { + setTimeout(() => { + this.handleEmit(value); + }, 16); + return; + } + + value = +value; + if (value > max) { + value = max; + } else if (value < min) { + value = min; + } + + this.handleEmit(value); + }, + handleEmit (value, type) { + const data = { + value: value + }; + if (type) data.type = type; + + this.triggerEvent('change', data); + } + } +}); diff --git a/dist/input-number/index.json b/dist/input-number/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/input-number/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/input-number/index.wxml b/dist/input-number/index.wxml new file mode 100644 index 0000000..b3503f4 --- /dev/null +++ b/dist/input-number/index.wxml @@ -0,0 +1,5 @@ + + - + + + + diff --git a/dist/input-number/index.wxss b/dist/input-number/index.wxss new file mode 100644 index 0000000..f696bb4 --- /dev/null +++ b/dist/input-number/index.wxss @@ -0,0 +1 @@ +.i-input-number{color:#495060}.i-input-number view{display:inline-block;line-height:20px;padding:5px 0;text-align:center;min-width:40px;box-sizing:border-box;vertical-align:middle;font-size:12px;border:1rpx solid #dddee1}.i-input-number-minus{border-right:none;border-radius:2px 0 0 2px}.i-input-number-plus{border-left:none;border-radius:0 2px 2px 0}.i-input-number-text{border:1rpx solid #dddee1;display:inline-block;text-align:center;vertical-align:middle;height:30px;width:40px;min-height:auto;font-size:12px;line-height:30px}.i-input-number-disabled{border-color:#dddee1;color:#bbbec4;background:#f7f7f7} \ No newline at end of file diff --git a/dist/input/index.js b/dist/input/index.js new file mode 100644 index 0000000..c9d4c41 --- /dev/null +++ b/dist/input/index.js @@ -0,0 +1,61 @@ +Component({ + behaviors: ['wx://form-field'], + + externalClasses: ['i-class'], + + properties: { + title: { + type: String + }, + // text || textarea || password || number + type: { + type: String, + value: 'text' + }, + disabled: { + type: Boolean, + value: false + }, + placeholder: { + type: String, + value: '' + }, + autofocus: { + type: Boolean, + value: false + }, + mode: { + type: String, + value: 'normal' + }, + right: { + type: Boolean, + value: false + }, + error: { + type: Boolean, + value: false + }, + maxlength: { + type: Number + } + }, + + methods: { + handleInputChange(event) { + const { detail = {} } = event; + const { value = '' } = detail; + this.setData({ value }); + + this.triggerEvent('change', event); + }, + + handleInputFocus(event) { + this.triggerEvent('focus', event); + }, + + handleInputBlur(event) { + this.triggerEvent('blur', event); + } + } +}); diff --git a/dist/input/index.json b/dist/input/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/input/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/input/index.wxml b/dist/input/index.wxml new file mode 100644 index 0000000..52b0ee3 --- /dev/null +++ b/dist/input/index.wxml @@ -0,0 +1,31 @@ + + {{ title }} + + + diff --git a/dist/input/index.wxss b/dist/input/index.wxss new file mode 100644 index 0000000..9e7e9c1 --- /dev/null +++ b/dist/input/index.wxss @@ -0,0 +1 @@ +.i-cell{position:relative;padding:12px 15px;display:flex;background:#fff;align-items:center;line-height:1.4;font-size:14px;overflow:hidden}.i-cell::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-bottom-width:1px;left:15px;right:0}.i-cell-last::after{display:none}.i-cell-icon{margin-right:5px}.i-cell-icon:empty{display:none}.i-cell-bd{flex:1}.i-cell-text{line-height:24px;font-size:14px}.i-cell-desc{line-height:1.2;font-size:12px;color:#80848f}.i-cell-ft{position:relative;text-align:right;color:#495060}.i-cell-access .i-cell-ft{padding-right:13px}.i-cell-access .i-cell-ft::after{content:" ";display:inline-block;width:6px;height:6px;position:absolute;top:50%;right:2px;border-width:2px 2px 0 0;border-color:#dddee1;border-style:solid;transform:translateY(-50%) matrix(.71,.71,-.71,.71,0,0)}.i-input{padding:7px 15px;color:#495060}.i-input-wrapped{margin:10px 15px;background-color:#fff}.i-input-wrapped::after{left:0;border-width:1px;border-radius:4px}.i-input-error{color:#ed3f14}.i-input-title{color:#495060;min-width:65px;padding-right:10px}.i-input-input{flex:1;line-height:1.6;padding:4px 0;min-height:22px;height:auto;font-size:14px}.i-input-placeholder{font-size:14px}.i-input-input-right{text-align:right}.i-input.i-input-wrapped::after{display:block}.i-input-wrapped.i-input-error::after{border-color:#ed3f14} \ No newline at end of file diff --git a/dist/load-more/index.js b/dist/load-more/index.js new file mode 100644 index 0000000..d0cd46c --- /dev/null +++ b/dist/load-more/index.js @@ -0,0 +1,14 @@ +Component({ + externalClasses: ['i-class'], + + properties: { + loading: { + type: Boolean, + value: true + }, + tip: { + type: String, + value: '' + } + }, +}); diff --git a/dist/load-more/index.json b/dist/load-more/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/load-more/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/load-more/index.wxml b/dist/load-more/index.wxml new file mode 100644 index 0000000..66571af --- /dev/null +++ b/dist/load-more/index.wxml @@ -0,0 +1,8 @@ + + + + {{ tip }} + 正在加载 + + + \ No newline at end of file diff --git a/dist/load-more/index.wxss b/dist/load-more/index.wxss new file mode 100644 index 0000000..ffe4026 --- /dev/null +++ b/dist/load-more/index.wxss @@ -0,0 +1 @@ +.i-load-more{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.i-load-more-loading{display:inline-block;margin-right:12px;vertical-align:middle;width:14px;height:14px;background:0 0;border-radius:50%;border:2px solid #e9eaec;border-color:#e9eaec #e9eaec #e9eaec #2d8cf0;animation:btn-spin .6s linear;animation-iteration-count:infinite}.i-load-more-tip{display:inline-block;vertical-align:middle;color:#495060}.i-load-more-line{border-top:1px solid #dddee1;display:flex;border-top:0}.i-load-more-line::before{position:relative;top:-1px;-webkit-box-flex:1;-webkit-flex:1;flex:1;content:'';border-top:1px solid #dddee1}.i-load-more-line::after{position:relative;top:-1px;-webkit-box-flex:1;-webkit-flex:1;flex:1;content:'';border-top:1px solid #dddee1}.i-load-more-line .i-load-more-tip{position:relative;top:-.9em;padding:0 .55em}.i-load-more-empty{width:4px;height:4px;border-radius:50%;background-color:#e5e5e5;display:inline-block;position:relative;vertical-align:0;top:-.16em}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/dist/message/index.js b/dist/message/index.js new file mode 100644 index 0000000..21a6d68 --- /dev/null +++ b/dist/message/index.js @@ -0,0 +1,45 @@ +const default_data = { + visible: false, + content: '', + duration: 2, + type: 'default', // default || success || warning || error +}; + +let timmer = null; + +Component({ + externalClasses: ['i-class'], + + data: { + ...default_data + }, + + methods: { + handleShow (options) { + const { type = 'default', duration = 2 } = options; + + this.setData({ + ...options, + type, + duration, + visible: true + }); + + const d = this.data.duration * 1000; + + if (timmer) clearTimeout(timmer); + if (d !== 0) { + timmer = setTimeout(() => { + this.handleHide(); + timmer = null; + }, d); + } + }, + + handleHide () { + this.setData({ + ...default_data + }); + } + } +}); \ No newline at end of file diff --git a/dist/message/index.json b/dist/message/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/message/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/message/index.wxml b/dist/message/index.wxml new file mode 100644 index 0000000..aecaad9 --- /dev/null +++ b/dist/message/index.wxml @@ -0,0 +1,3 @@ + + {{ content }} + \ No newline at end of file diff --git a/dist/message/index.wxss b/dist/message/index.wxss new file mode 100644 index 0000000..e6a79a6 --- /dev/null +++ b/dist/message/index.wxss @@ -0,0 +1 @@ +.i-message{display:block;width:100%;min-height:32px;line-height:2.3;position:fixed;top:0;left:0;right:0;background:#2d8cf0;color:#fff;text-align:center;font-size:14px;z-index:1010;opacity:0;-webkit-transform:translateZ(0) translateY(-100%);transition:all .4s ease-in-out}.i-message-show{-webkit-transform:translateZ(0) translateY(0);opacity:1}.i-message-default{background:#2d8cf0}.i-message-success{background:#19be6b}.i-message-warning{background:#f90}.i-message-error{background:#ed3f14} \ No newline at end of file diff --git a/dist/modal/index.js b/dist/modal/index.js new file mode 100644 index 0000000..ae178e5 --- /dev/null +++ b/dist/modal/index.js @@ -0,0 +1,54 @@ +Component({ + externalClasses: ['i-class', 'i-class-mask'], + + properties: { + visible: { + type: Boolean, + value: false + }, + title: { + type: String, + value: '' + }, + showOk: { + type: Boolean, + value: true + }, + showCancel: { + type: Boolean, + value: true + }, + okText: { + type: String, + value: '确定' + }, + cancelText: { + type: String, + value: '取消' + }, + // 按钮组,有此值时,不显示 ok 和 cancel 按钮 + actions: { + type: Array, + value: [] + }, + // horizontal || vertical + actionMode: { + type: String, + value: 'horizontal' + } + }, + + methods: { + handleClickItem ({ currentTarget = {} }) { + const dataset = currentTarget.dataset || {}; + const { index } = dataset; + this.triggerEvent('click', { index }); + }, + handleClickOk () { + this.triggerEvent('ok'); + }, + handleClickCancel () { + this.triggerEvent('cancel'); + } + } +}); diff --git a/dist/modal/index.json b/dist/modal/index.json new file mode 100644 index 0000000..50d034a --- /dev/null +++ b/dist/modal/index.json @@ -0,0 +1,9 @@ +{ + "component": true, + "usingComponents": { + "i-grid": "../grid/index", + "i-grid-item": "../grid-item/index", + "i-button": "../button/index", + "i-icon": "../icon/index" + } +} diff --git a/dist/modal/index.wxml b/dist/modal/index.wxml new file mode 100644 index 0000000..11bcbd4 --- /dev/null +++ b/dist/modal/index.wxml @@ -0,0 +1,40 @@ + + + + + {{ title }} + + + + + + + + + + + + + + + + + + + {{ cancelText }} + + + {{ okText }} + + + + + + + \ No newline at end of file diff --git a/dist/modal/index.wxss b/dist/modal/index.wxss new file mode 100644 index 0000000..d1c42fc --- /dev/null +++ b/dist/modal/index.wxss @@ -0,0 +1 @@ +.i-modal{position:fixed;overflow:auto;top:0;right:0;bottom:0;left:0;height:100%;z-index:1000;display:flex;outline:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;transform:translateZ(1px);opacity:0;visibility:hidden}.i-modal-show{visibility:visible;opacity:1}.i-modal-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:1000;transition:all .2s ease-in-out;opacity:0;visibility:hidden}.i-modal-mask-show{opacity:1;visibility:visible}.i-modal-main{width:270px;position:relative}.i-modal-content{border-radius:7px;padding-top:15px;position:relative;background-color:#fff;border:0;background-clip:padding-box;text-align:center;height:100%;overflow:hidden}.i-modal-body{max-height:100px;margin-bottom:15px;font-size:14px;color:#80848f;height:100%;line-height:1.5;overflow:auto}.i-modal-title{padding:6px 15px 15px;margin:0;font-size:18px;line-height:1;color:#1c2438;text-align:center}.i-modal-actions{margin:0 1px}.i-modal-action-vertical{position:relative}.i-modal-action-vertical:after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-top-width:1px}.i-modal-grid{border-radius:0 0 7px 7px;border-left:none}.i-modal-grid-item,.i-modal-grid-item-last{padding:0;border-bottom:none}.i-modal-grid-item-last{border-right:none}.i-modal-btn-ok{color:#2d8cf0!important}.i-modal-btn-loading{display:inline-block;vertical-align:middle;margin-right:10px;width:12px;height:12px;background:0 0;border-radius:50%;border:2px solid #e5e5e5;border-color:#666 #e5e5e5 #e5e5e5 #e5e5e5;animation:btn-spin .6s linear;animation-iteration-count:infinite}.i-modal-btn-text{display:inline-block;vertical-align:middle}.i-modal-btn-icon{font-size:14px!important;margin-right:4px}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/dist/notice-bar/index.js b/dist/notice-bar/index.js new file mode 100644 index 0000000..7043dbd --- /dev/null +++ b/dist/notice-bar/index.js @@ -0,0 +1,112 @@ +const VALID_MODE = ['closeable']; +const FONT_COLOR = '#f60'; +const BG_COLOR = '#fff7cc'; + +Component({ + externalClasses: ['i-class'], + + properties: { + closable: { + type: Boolean, + value: false + }, + icon: { + type: String, + value: '' + }, + loop: { + type: Boolean, + value: false + }, + // 背景颜色 + backgroundcolor: { + type: String, + value: '#fefcec' + }, + // 字体及图标颜色 + color: { + type: String, + value: '#f76a24' + }, + // 滚动速度 + speed: { + type: Number, + value: 1000 + } + }, + + data: { + show: true, + wrapWidth: 0, + width: 0, + duration: 0, + animation: null, + timer: null, + }, + detached() { + this.destroyTimer(); + }, + ready() { + if (this.data.loop) { + this.initAnimation(); + } + }, + + methods: { + initAnimation() { + wx.createSelectorQuery().in(this).select('.i-noticebar-content-wrap').boundingClientRect((wrapRect) => { + wx.createSelectorQuery().in(this).select('.i-noticebar-content').boundingClientRect((rect) => { + const duration = rect.width / 40 * this.data.speed; + const animation = wx.createAnimation({ + duration: duration, + timingFunction: "linear", + }); + this.setData({ + wrapWidth: wrapRect.width, + width: rect.width, + duration: duration, + animation: animation + }, () => { + this.startAnimation(); + }); + }).exec(); + + }).exec(); + }, + startAnimation() { + //reset + if (this.data.animation.option.transition.duration !== 0) { + this.data.animation.option.transition.duration = 0; + const resetAnimation = this.data.animation.translateX(this.data.wrapWidth).step(); + this.setData({ + animationData: resetAnimation.export() + }); + } + this.data.animation.option.transition.duration = this.data.duration; + const animationData = this.data.animation.translateX(-this.data.width).step(); + setTimeout(() => { + this.setData({ + animationData: animationData.export() + }); + }, 100); + const timer = setTimeout(() => { + this.startAnimation(); + }, this.data.duration); + this.setData({ + timer, + }); + }, + destroyTimer() { + if (this.data.timer) { + clearTimeout(this.data.timer); + } + }, + handleClose() { + this.destroyTimer(); + this.setData({ + show: false, + timer: null + }); + } + } +}); diff --git a/dist/notice-bar/index.json b/dist/notice-bar/index.json new file mode 100644 index 0000000..db3afc0 --- /dev/null +++ b/dist/notice-bar/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-icon": "../icon/index" + } +} diff --git a/dist/notice-bar/index.wxml b/dist/notice-bar/index.wxml new file mode 100644 index 0000000..5de1e11 --- /dev/null +++ b/dist/notice-bar/index.wxml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/dist/notice-bar/index.wxss b/dist/notice-bar/index.wxss new file mode 100644 index 0000000..9ea2aa7 --- /dev/null +++ b/dist/notice-bar/index.wxss @@ -0,0 +1 @@ +.i-noticebar{display:flex;height:72rpx;line-height:72rpx;font-size:14px;color:#f76a24;background-color:#fefcec;overflow:hidden}.i-noticebar-icon{display:flex;margin-left:30rpx;align-items:center}.i-noticebar-icon+view{margin-left:10rpx}.i-noticebar-operation{display:flex;margin-right:16rpx;align-items:center}.i-noticebar-content-wrap{position:relative;flex:1;margin:0 30rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.i-noticebar-content-wrap .i-noticebar-content{position:absolute;transition-duration:20s} \ No newline at end of file diff --git a/dist/page/index.js b/dist/page/index.js new file mode 100644 index 0000000..e0f44c5 --- /dev/null +++ b/dist/page/index.js @@ -0,0 +1,42 @@ +Component({ + externalClasses: ['i-class'], + + options: { + multipleSlots: true + }, + + properties: { + // button || number || pointer + mode: { + type: String, + value: 'button' + }, + current: { + type: Number, + value: 1 + }, + total: { + type: Number, + value: 0 + }, + // 是否隐藏数值 + simple: { + type: Boolean, + value: false + } + }, + + methods: { + handleChange (type) { + this.triggerEvent('change', { + type: type + }); + }, + handlePrev () { + this.handleChange('prev'); + }, + handleNext () { + this.handleChange('next'); + } + } +}); diff --git a/dist/page/index.json b/dist/page/index.json new file mode 100644 index 0000000..7b1a128 --- /dev/null +++ b/dist/page/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-button": "../button/index" + } +} diff --git a/dist/page/index.wxml b/dist/page/index.wxml new file mode 100644 index 0000000..a84d47b --- /dev/null +++ b/dist/page/index.wxml @@ -0,0 +1,14 @@ + + + + + + {{ current }}/{{total}} + + + + + + + + diff --git a/dist/page/index.wxss b/dist/page/index.wxss new file mode 100644 index 0000000..06c5c3b --- /dev/null +++ b/dist/page/index.wxss @@ -0,0 +1 @@ +.i-page{display:block;width:100%;height:44px;overflow:hidden;box-sizing:border-box;position:relative}.i-page-prev{position:absolute;left:10px;top:0}.i-page-next{position:absolute;right:10px;top:0}.i-page-number{width:100%;height:44px;line-height:44px;margin:0 auto;text-align:center}.i-page-number-current{display:inline;color:#2d8cf0}.i-page-pointer{width:100%;height:44px;line-height:44px;margin:0 auto;text-align:center}.i-page-pointer-dot{display:inline-block;width:8px;height:8px;margin:0 2px;border-radius:50%;background:#bbbec4}.i-page-pointer-dot.current{background:#80848f}.i-page-button{display:inline-block;margin:0} \ No newline at end of file diff --git a/dist/panel/index.js b/dist/panel/index.js new file mode 100644 index 0000000..b572da5 --- /dev/null +++ b/dist/panel/index.js @@ -0,0 +1,19 @@ +Component({ + externalClasses: ['i-class'], + + properties: { + title: { + type: String, + value: '' + }, + // 标题顶部距离 + hideTop: { + type: Boolean, + value: false + }, + hideBorder: { + type: Boolean, + value: false + } + } +}); diff --git a/dist/panel/index.json b/dist/panel/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/panel/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/panel/index.wxml b/dist/panel/index.wxml new file mode 100644 index 0000000..aa91c20 --- /dev/null +++ b/dist/panel/index.wxml @@ -0,0 +1,4 @@ + + {{ title }} + + diff --git a/dist/panel/index.wxss b/dist/panel/index.wxss new file mode 100644 index 0000000..edee3b8 --- /dev/null +++ b/dist/panel/index.wxss @@ -0,0 +1 @@ +.i-panel{position:relative;overflow:hidden}.i-panel-title{font-size:14px;line-height:1;color:#1c2438;padding:20px 16px 10px}.i-panel-title-hide-top{padding-top:0}.i-panel-content{position:relative;background:#fff;overflow:hidden}.i-panel-content::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-top-width:1px;border-bottom-width:1px}.i-panel-without-border::after{border:0 none} \ No newline at end of file diff --git a/dist/progress/index.js b/dist/progress/index.js new file mode 100644 index 0000000..b87b962 --- /dev/null +++ b/dist/progress/index.js @@ -0,0 +1,23 @@ +Component({ + externalClasses: ['i-class'], + + properties: { + percent: { + type: Number, + value: 0 + }, + // normal || active || wrong || success + status: { + type: String, + value: 'normal' + }, + strokeWidth: { + type: Number, + value: 10 + }, + hideInfo: { + type: Boolean, + value: false + } + } +}); diff --git a/dist/progress/index.json b/dist/progress/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/progress/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/progress/index.wxml b/dist/progress/index.wxml new file mode 100644 index 0000000..09b5abc --- /dev/null +++ b/dist/progress/index.wxml @@ -0,0 +1,10 @@ + + + + + + + + {{ percent }}% + + \ No newline at end of file diff --git a/dist/progress/index.wxss b/dist/progress/index.wxss new file mode 100644 index 0000000..21b9d9c --- /dev/null +++ b/dist/progress/index.wxss @@ -0,0 +1 @@ +.i-progress{display:inline-block;width:100%;font-size:12px;position:relative}.i-progress-outer{display:inline-block;width:100%;margin-right:0;padding-right:0;box-sizing:border-box}.i-progress-show-info .i-progress-outer{padding-right:55px;margin-right:-55px}.i-progress-inner{display:inline-block;width:100%;background-color:#f3f3f3;border-radius:100px;vertical-align:middle}.i-progress-bg{border-radius:100px;background-color:#2db7f5;transition:all .2s linear;position:relative}.i-progress-text{display:inline-block;margin-left:5px;text-align:left;font-size:1em;vertical-align:middle}.i-progress-active .i-progress-bg:before{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:10px;animation:i-progress-active 2s ease-in-out infinite}.i-progress-wrong .i-progress-bg{background-color:#ed3f14}.i-progress-wrong .i-progress-text{color:#ed3f14}.i-progress-success .i-progress-bg{background-color:#19be6b}.i-progress-success .i-progress-text{color:#19be6b}@keyframes i-progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}} \ No newline at end of file diff --git a/dist/radio-group/index.js b/dist/radio-group/index.js new file mode 100644 index 0000000..db76e41 --- /dev/null +++ b/dist/radio-group/index.js @@ -0,0 +1,38 @@ +Component({ + externalClasses: ['i-class'], + relations: { + '../radio/index': { + type: 'child', + linked() { + this.changeCurrent(); + }, + linkChanged() { + this.changeCurrent(); + }, + unlinked() { + this.changeCurrent(); + } + } + }, + properties: { + current: { + type: String, + value: '', + observer: 'changeCurrent' + }, + }, + methods: { + changeCurrent(val = this.data.current) { + let items = this.getRelationNodes('../radio/index'); + const len = items.length; + if (len > 0) { + items.forEach(item => { + item.changeCurrent(val === item.data.value); + }); + } + }, + emitEvent(current) { + this.triggerEvent('change', current); + } + } +}); diff --git a/dist/radio-group/index.json b/dist/radio-group/index.json new file mode 100644 index 0000000..edf138d --- /dev/null +++ b/dist/radio-group/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-cell-group": "../cell-group/index" + } +} diff --git a/dist/radio-group/index.wxml b/dist/radio-group/index.wxml new file mode 100644 index 0000000..6940180 --- /dev/null +++ b/dist/radio-group/index.wxml @@ -0,0 +1,3 @@ + + + diff --git a/dist/radio-group/index.wxss b/dist/radio-group/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/dist/radio/index.js b/dist/radio/index.js new file mode 100644 index 0000000..cb73db5 --- /dev/null +++ b/dist/radio/index.js @@ -0,0 +1,56 @@ +const prefixCls = 'i-radio'; + +Component({ + externalClasses: ['i-class'], + relations: { + '../radio-group/index': { + type: 'parent' + } + }, + properties: { + value: { + type: String, + value: '' + }, + checked: { + type: Boolean, + value: false + }, + disabled: { + type: Boolean, + value: false + }, + color: { + type: String, + value: '#2d8cf0' + }, + position: { + type: String, + value: 'left', //left right + observer: 'setPosition' + } + }, + data: { + checked: true, + positionCls: `${prefixCls}-radio-left`, + }, + attached() { + this.setPosition(); + }, + methods: { + changeCurrent(current) { + this.setData({ checked: current }); + }, + radioChange() { + if (this.data.disabled) return; + const item = { current: !this.data.checked, value: this.data.value }; + const parent = this.getRelationNodes('../radio-group/index')[0]; + parent ? parent.emitEvent(item) : this.triggerEvent('change', item); + }, + setPosition() { + this.setData({ + positionCls: this.data.position.indexOf('left') !== -1 ? `${prefixCls}-radio-left` : `${prefixCls}-radio-right`, + }); + } + } +}); diff --git a/dist/radio/index.json b/dist/radio/index.json new file mode 100644 index 0000000..e2ab49a --- /dev/null +++ b/dist/radio/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-cell": "../cell/index" + } +} diff --git a/dist/radio/index.wxml b/dist/radio/index.wxml new file mode 100644 index 0000000..1e20b79 --- /dev/null +++ b/dist/radio/index.wxml @@ -0,0 +1,8 @@ + + + + + diff --git a/dist/radio/index.wxss b/dist/radio/index.wxss new file mode 100644 index 0000000..c52b211 --- /dev/null +++ b/dist/radio/index.wxss @@ -0,0 +1 @@ +.i-radio-cell::after{display:block}.i-radio-radio-left{float:left}.i-radio-radio-right{float:right}.i-radio-radio{vertical-align:middle}.i-radio-title{display:inline-block;vertical-align:middle} \ No newline at end of file diff --git a/dist/rate/index.js b/dist/rate/index.js new file mode 100644 index 0000000..a7e374a --- /dev/null +++ b/dist/rate/index.js @@ -0,0 +1,69 @@ +Component({ + externalClasses: ['i-class'], + properties : { + count : { + type : Number, + value : 5 + }, + value : { + type : Number, + value : 0 + }, + disabled : { + type : Boolean, + value : false + }, + size : { + type : Number, + value : 20 + }, + name : { + type : String, + value : '' + } + }, + data : { + touchesStart : { + pageX : 0 + } + }, + methods : { + handleClick(e){ + const data = this.data; + if( data.disabled ){ + return; + } + const index = e.currentTarget.dataset.index; + this.triggerEvent('change',{ + index : index + 1 + }) + }, + handleTouchMove(e){ + const data = this.data; + if( data.disabled ){ + return; + } + if( !e.changedTouches[0] ){ + return; + } + const movePageX = e.changedTouches[0].pageX; + const space = movePageX - data.touchesStart.pageX; + + if( space <= 0 ){ + return; + } + let setIndex = Math.ceil( space/data.size ); + setIndex = setIndex > data.count ? data.count : setIndex ; + this.triggerEvent('change',{ + index : setIndex + }) + } + }, + ready(){ + const className = '.i-rate'; + var query = wx.createSelectorQuery().in(this) + query.select( className ).boundingClientRect((res)=>{ + this.data.touchesStart.pageX = res.left || 0; + }).exec() + } +}); diff --git a/dist/rate/index.json b/dist/rate/index.json new file mode 100644 index 0000000..687543c --- /dev/null +++ b/dist/rate/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents":{ + "i-icon": "../icon/index" + } +} diff --git a/dist/rate/index.wxml b/dist/rate/index.wxml new file mode 100644 index 0000000..d600660 --- /dev/null +++ b/dist/rate/index.wxml @@ -0,0 +1,23 @@ + + + + + + + + +var prefixCls = 'i-rate'; +module.exports = { + getCurrent : function( value,index ){ + if( index < value ){ + return prefixCls + '-current' + } + } +} + diff --git a/dist/rate/index.wxss b/dist/rate/index.wxss new file mode 100644 index 0000000..e889107 --- /dev/null +++ b/dist/rate/index.wxss @@ -0,0 +1 @@ +.i-rate{margin:0;padding:0;font-size:20px;display:inline-block;vertical-align:middle;font-weight:400;font-style:normal}.i-rate-hide-input{display:none}.i-rate-star{display:inline-block;color:#e9e9e9}.i-rate-current{color:#f5a623}.i-rate-text{display:inline-block;vertical-align:middle;margin-left:6px;font-size:14px} \ No newline at end of file diff --git a/dist/row/index.js b/dist/row/index.js new file mode 100644 index 0000000..3428387 --- /dev/null +++ b/dist/row/index.js @@ -0,0 +1,9 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../col/index': { + type: 'child' + } + } +}); diff --git a/dist/row/index.json b/dist/row/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/row/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/row/index.wxml b/dist/row/index.wxml new file mode 100644 index 0000000..fe8159e --- /dev/null +++ b/dist/row/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/row/index.wxss b/dist/row/index.wxss new file mode 100644 index 0000000..3b8b432 --- /dev/null +++ b/dist/row/index.wxss @@ -0,0 +1 @@ +.i-row:after{content:"";display:table;clear:both} \ No newline at end of file diff --git a/dist/slide/index.js b/dist/slide/index.js new file mode 100644 index 0000000..a397f4f --- /dev/null +++ b/dist/slide/index.js @@ -0,0 +1,15 @@ +Component({ + externalClasses: ['i-class'], + options: { + // 在组件定义时的选项中启用多slot支持 + multipleSlots: true + }, + methods : { + handleTap2(){ + console.log(event,1111111) + }, + handleTap3(){ + + } + } +}); diff --git a/dist/slide/index.json b/dist/slide/index.json new file mode 100644 index 0000000..6b1e67d --- /dev/null +++ b/dist/slide/index.json @@ -0,0 +1,8 @@ +{ + "component": true, + "usingComponents": + { + "i-button": "../button/index", + "i-icon": "../icon/index" + } +} diff --git a/dist/slide/index.wxml b/dist/slide/index.wxml new file mode 100644 index 0000000..a13c673 --- /dev/null +++ b/dist/slide/index.wxml @@ -0,0 +1,4 @@ + + 1111 + + \ No newline at end of file diff --git a/dist/slide/index.wxss b/dist/slide/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/dist/spin/index.js b/dist/spin/index.js new file mode 100644 index 0000000..3297f81 --- /dev/null +++ b/dist/spin/index.js @@ -0,0 +1,23 @@ +Component({ + externalClasses: ['i-class'], + + properties: { + // small || default || large + size: { + type: String, + value: 'default' + }, + fix: { + type: Boolean, + value: false + }, + fullscreen: { + type: Boolean, + value: false + }, + custom: { + type: Boolean, + value: false + } + } +}); diff --git a/dist/spin/index.json b/dist/spin/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/spin/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/spin/index.wxml b/dist/spin/index.wxml new file mode 100644 index 0000000..8c25439 --- /dev/null +++ b/dist/spin/index.wxml @@ -0,0 +1,6 @@ + +
+ +
+
+
diff --git a/dist/spin/index.wxss b/dist/spin/index.wxss new file mode 100644 index 0000000..8ed714a --- /dev/null +++ b/dist/spin/index.wxss @@ -0,0 +1 @@ +.i-spin{color:#2d8cf0;vertical-align:middle;text-align:center}.i-spin-dot{position:relative;display:block;border-radius:50%;background-color:#2d8cf0;width:20px;height:20px;animation:ani-spin-bounce 1s 0s ease-in-out infinite}.i-spin-large .i-spin-dot{width:32px;height:32px}.i-spin-small .i-spin-dot{width:12px;height:12px}.i-spin-fix{position:absolute;top:0;left:0;z-index:8;width:100%;height:100%;background-color:rgba(255,255,255,.9)}.i-spin-fullscreen{z-index:2010}.i-spin-fullscreen-wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.i-spin-fix .i-spin-main{position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.i-spin-fix .i-spin-dot{display:inline-block}.i-spin-show-text .i-spin-dot,.i-spin-text{display:none}.i-spin-show-text .i-spin-text{display:block;font-size:14px}@keyframes ani-spin-bounce{0%{transform:scale(0)}100%{transform:scale(1);opacity:0}} \ No newline at end of file diff --git a/dist/step/index.js b/dist/step/index.js new file mode 100644 index 0000000..06a81a2 --- /dev/null +++ b/dist/step/index.js @@ -0,0 +1,52 @@ +Component({ + externalClasses: ['i-class'], + properties : { + status : { + type : String, + //wait、process、finish、error + value : '' + }, + title : { + type : String, + value : '' + }, + content : { + type : String, + value : '' + }, + icon : { + type : String, + value : '' + } + }, + options: { + // 在组件定义时的选项中启用多slot支持 + multipleSlots: true + }, + relations : { + '../steps/index' : { + type : 'parent' + } + }, + data : { + //step length + len : 1, + //current in step index + index : 0, + //parent component select current index + current : 0, + //css direction + direction : 'horizontal' + }, + methods : { + updateDataChange( options ){ + this.setData({ + len : options.len, + index : options.index, + current : options.current, + direction : options.direction + }) + } + } + +}) \ No newline at end of file diff --git a/dist/step/index.json b/dist/step/index.json new file mode 100644 index 0000000..ffb5dee --- /dev/null +++ b/dist/step/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-icon": "../icon/index" + } +} diff --git a/dist/step/index.wxml b/dist/step/index.wxml new file mode 100644 index 0000000..63549dc --- /dev/null +++ b/dist/step/index.wxml @@ -0,0 +1,70 @@ + + + {{ index+1 }} + + + + + + + + {{title}} + + + + + + {{content}} + + + + + + + +var allStatus = ['wait','process','finish','error']; +module.exports = { + noIco : function( status,current,index,icon ){ + var aindex = allStatus.indexOf(status); + var noIcon = true; + if( index < current || icon !== '' ){ + noIcon = false; + } + return noIcon; + }, + getIcoClass : function( status,ico ){ + var class = ''; + if( status === 'error' ){ + class = 'close'; + }else{ + class = 'right'; + } + if( ico !== '' ){ + class = ico; + } + return class; + }, + getItemStyle : function(len,direction){ + if( direction === 'horizontal' ){ + return 'width :'+100/len + '%'; + }else{ + return 'width : 100%;'; + } + }, + getClass : function( status,current,index ) { + //wait、process、finish、error + var startClass = 'i-step-' + var classes = ''; + var cindex = allStatus.indexOf( status ); + if( cindex !== -1 ){ + classes = startClass + allStatus[cindex]; + } + if( index < current ){ + classes = startClass + 'finish'; + }else if( index === current ){ + classes = startClass + 'process'; + } + return classes; + } +} + \ No newline at end of file diff --git a/dist/step/index.wxss b/dist/step/index.wxss new file mode 100644 index 0000000..284b42a --- /dev/null +++ b/dist/step/index.wxss @@ -0,0 +1 @@ +.i-step-ico{width:24px;height:100%;border-radius:100%;background:#fff;position:relative;z-index:2;margin:0 auto;border:#dddee1 solid 1px}.i-step-ico-in{vertical-align:baseline}.i-step-line{position:absolute;left:50%;top:12px;width:100%;height:1px;background:#dddee1}.i-step-horizontal .i-step-ico::after{position:absolute;top:11px;left:23px;z-index:1;content:'';height:1px;background:#fff;width:10px}.i-step-horizontal .i-step-item-main{text-align:center}.i-step-horizontal .i-step-ico::before{position:absolute;top:11px;left:-11px;z-index:1;content:'';height:1px;background:#fff;width:10px}.i-step-ico{box-sizing:border-box;font-size:12px}.i-step-process .i-step-ico{border:#2d8cf0 solid 1px;color:#fff;background:#2d8cf0}.i-step-wait .i-step-ico{border:#e9eaec solid 1px;color:#e9eaec}.i-step-wait .i-step-line{background:#2d8cf0}.i-step-finish .i-step-ico{border:#2d8cf0 solid 1px;color:#2d8cf0}.i-step-finish .i-step-line{background:#2d8cf0}.i-step-error .i-step-ico{border:#ed3f14 solid 1px;color:#ed3f14}.i-step-error .i-step-line{background:#ed3f14}.i-step-item{font-size:12px;position:relative;display:inline-block;box-sizing:border-box;padding-left:10px;vertical-align:top}.i-step-item-ico{width:100%;height:24px;line-height:24px;text-align:center}.i-step-item-main{margin-top:10px;clear:both}.i-step-item-title{font-size:14px;font-weight:700;color:#1c2438}.i-step-item-content{font-size:12px;font-weight:700;margin-top:2px;color:#80848f}.i-step-vertical{padding-bottom:30px}.i-step-vertical .i-step-item-ico{width:24px;float:left}.i-step-vertical .i-step-item-main{margin-left:40px;margin-top:0;clear:inherit}.i-step-vertical .i-step-line{position:absolute;height:100%;top:0;left:10px;margin:0 0 0 12px;width:1px} \ No newline at end of file diff --git a/dist/steps/index.js b/dist/steps/index.js new file mode 100644 index 0000000..06bed88 --- /dev/null +++ b/dist/steps/index.js @@ -0,0 +1,50 @@ +Component({ + externalClasses: ['i-class'], + properties : { + current : { + type : Number, + value : -1, + observer : '_updateDataChange' + }, + status : { + type : String, + //wait、process、finish、error + value : '' + }, + direction : { + type : String, + //value has horizontal or vertical + value : 'horizontal' + } + }, + relations : { + '../step/index' : { + type : 'child', + linked(){ + this._updateDataChange(); + }, + linkChanged () { + this._updateDataChange(); + }, + unlinked () { + this._updateDataChange(); + } + } + }, + methods: { + _updateDataChange() { + let steps = this.getRelationNodes('../step/index'); + const len = steps.length; + if (len > 0) { + steps.forEach((step, index) => { + step.updateDataChange({ + len : len, + index : index, + current : this.data.current, + direction : this.data.direction + }); + }); + } + } + } +}) \ No newline at end of file diff --git a/dist/steps/index.json b/dist/steps/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/steps/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/steps/index.wxml b/dist/steps/index.wxml new file mode 100644 index 0000000..d9c7942 --- /dev/null +++ b/dist/steps/index.wxml @@ -0,0 +1,3 @@ + + + diff --git a/dist/steps/index.wxss b/dist/steps/index.wxss new file mode 100644 index 0000000..616ed04 --- /dev/null +++ b/dist/steps/index.wxss @@ -0,0 +1 @@ +.i-steps{width:100%} \ No newline at end of file diff --git a/dist/sticky-item/index.js b/dist/sticky-item/index.js new file mode 100644 index 0000000..4fc3dbe --- /dev/null +++ b/dist/sticky-item/index.js @@ -0,0 +1,40 @@ +Component({ + externalClasses: ['i-class'], + options: { + multipleSlots: true + }, + relations : { + '../sticky/index' : { + type : 'parent' + } + }, + data : { + top : 0, + height : 0, + isFixed : false, + index : -1, + }, + methods: { + updateScrollTopChange(scrollTop){ + const data = this.data; + const top = data.top; + const height = data.height; + this.setData({ + isFixed : ( scrollTop >= top && scrollTop < top + height ) ? true : false + }) + }, + updateDataChange(index) { + const className = '.i-sticky-item'; + const query = wx.createSelectorQuery().in(this); + query.select( className ).boundingClientRect((res)=>{ + if( res ){ + this.setData({ + top : res.top, + height : res.height, + index : index + }) + } + }).exec() + } + } +}) \ No newline at end of file diff --git a/dist/sticky-item/index.json b/dist/sticky-item/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/sticky-item/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/sticky-item/index.wxml b/dist/sticky-item/index.wxml new file mode 100644 index 0000000..613a5c0 --- /dev/null +++ b/dist/sticky-item/index.wxml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dist/sticky-item/index.wxss b/dist/sticky-item/index.wxss new file mode 100644 index 0000000..7328f0f --- /dev/null +++ b/dist/sticky-item/index.wxss @@ -0,0 +1 @@ +.i-sticky-item-header{background:#eee;font-size:14px;width:100%;height:32px;line-height:32px}.i-sticky-item-content{font-size:14px}.i-sticky-title{width:100%;padding:0 15px;box-sizing:border-box;background:#eee}.i-sticky-fixed .i-sticky-title{position:fixed;top:0} \ No newline at end of file diff --git a/dist/sticky/index.js b/dist/sticky/index.js new file mode 100644 index 0000000..546aa4c --- /dev/null +++ b/dist/sticky/index.js @@ -0,0 +1,63 @@ +Component({ + externalClasses: ['i-class'], + properties : { + scrollTop : { + type : Number, + observer(val){ + this._updateScrollTopChange(); + } + } + }, + relations : { + '../sticky-item/index' : { + type : 'child', + linked(){ + this._updateDataChange(); + }, + linkChanged () { + this._updateDataChange(); + }, + unlinked () { + this._updateDataChange(); + } + } + }, + data : { + timer : null, + itemLength : 0, + }, + methods : { + _updateScrollTopChange(){ + const stickies = this.getRelationNodes('../sticky-item/index'); + if( stickies.length > 0 ){ + stickies.forEach((item) => { + if( item ){ + item.updateScrollTopChange( this.data.scrollTop ); + } + }) + } + }, + _updateDataChange( ){ + const stickies = this.getRelationNodes('../sticky-item/index'); + if( stickies.length > 0 ){ + if( this.data.timer ){ + clearTimeout( this.data.timer ) + this.setData({ + timer : null + }) + } + this.data.timer = setTimeout(()=>{ + stickies.forEach((item,index) => { + if( item ){ + item.updateDataChange(index); + } + }) + },0) + this.setData({ + timer : this.data.timer + }) + } + } + } + +}) \ No newline at end of file diff --git a/dist/sticky/index.json b/dist/sticky/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/sticky/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/sticky/index.wxml b/dist/sticky/index.wxml new file mode 100644 index 0000000..aee0c63 --- /dev/null +++ b/dist/sticky/index.wxml @@ -0,0 +1,3 @@ + + + diff --git a/dist/sticky/index.wxss b/dist/sticky/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/dist/swipeout/index.js b/dist/swipeout/index.js new file mode 100644 index 0000000..b23748c --- /dev/null +++ b/dist/swipeout/index.js @@ -0,0 +1,161 @@ + /* +* touch事件判断方式 +* https://github.com/madrobby/zepto/blob/master/src/touch.js#files +*/ +function swipeDirection(x1, x2, y1, y2) { + return Math.abs(x1 - x2) >= + Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down') +} + +Component({ + externalClasses: ['i-class'], + properties: { + actions: { + value: [], + type: Array, + observer : '_updateButtonSize' + }, + unclosable : { + value : false, + type : Boolean + }, + toggle : { + value : false, + type : Boolean, + observer : 'closeButtonGroup' + }, + operateWidth : { + type : Number, + value : 160 + } + }, + options: { + // 在组件定义时的选项中启用多slot支持 + multipleSlots: true + }, + data : { + //touch start position + tStart : { + pageX : 0, + pageY : 0 + }, + //限制滑动距离 + limitMove : 0, + //element move position + position : { + pageX : 0, + pageY : 0 + } + }, + methods : { + //阻止事件冒泡 + loop(){}, + _updateButtonSize(){ + const actions = this.data.actions; + if( actions.length > 0 ){ + const query = wx.createSelectorQuery().in(this); + let limitMovePosition = 0; + actions.forEach(item => { + limitMovePosition += item.width || 0; + }); + this.data.limitMove = limitMovePosition; + /* + * 动态获取每个传进值的按钮尺寸不能正确获取,在安卓上少了6px + * 暂时实现需要在actions里面传递宽度 + * 需要后期调研 + */ + //query.selectAll('.i-swipeout-button-right-item').boundingClientRect((rects)=>{ + // if( rects ){ + // console.log(rects,1111111) + // rects.forEach(item => { + // limitMovePosition += item.width; + // }); + // this.data.limitMove = limitMovePosition; + // console.log(limitMovePosition,111111111) + // } + // }).exec() + }else{ + this.data.limitMove = this.data.operateWidth; + + } + }, + handlerTouchstart(event){ + const touches = event.touches ? event.touches[0] : {}; + const tStart = this.data.tStart; + if( touches ){ + for( let i in tStart ){ + if( touches[i] ){ + tStart[i] = touches[i]; + } + } + } + }, + swipper(touches){ + const data = this.data; + const start = data.tStart; + const spacing = { + pageX : touches.pageX - start.pageX, + pageY : touches.pageY - start.pageY + } + if( data.limitMove < Math.abs( spacing.pageX ) ){ + spacing.pageX = -data.limitMove; + + } + this.setData({ + 'position' : spacing + }) + }, + handlerTouchmove(event){ + const start = this.data.tStart; + const touches = event.touches ? event.touches[0] : {}; + if( touches ){ + const direction = swipeDirection( start.pageX,touches.pageX,start.pageY,touches.pageY ); + if( direction === 'Left' ){ + this.swipper( touches ); + } + } + }, + handlerTouchend(event){ + const start = this.data.tStart; + const touches = event.changedTouches ? event.changedTouches[0] : {}; + if( touches ){ + const direction = swipeDirection( start.pageX,touches.pageX,start.pageY,touches.pageY ); + const spacing = { + pageX : touches.pageX - start.pageX, + pageY : touches.pageY - start.pageY + } + if( Math.abs( spacing.pageX ) >= 40 && direction === "Left" ){ + spacing.pageX = spacing.pageX < 0 ? - this.data.limitMove : this.data.limitMove; + }else{ + spacing.pageX = 0; + } + this.setData({ + 'position' : spacing + }) + } + }, + handlerButton(event){ + if( !this.data.unclosable ){ + this.closeButtonGroup(); + } + const dataset = event.currentTarget.dataset; + this.triggerEvent('change',{ + index : dataset.index + }) + }, + closeButtonGroup(){ + this.setData({ + 'position' : {pageX : 0,pageY : 0} + }) + }, + //控制自定义组件 + handlerParentButton(event){ + if( !this.data.unclosable ){ + this.closeButtonGroup(); + } + } + }, + ready(){ + this._updateButtonSize(); + } +}); diff --git a/dist/swipeout/index.json b/dist/swipeout/index.json new file mode 100644 index 0000000..c63f9a6 --- /dev/null +++ b/dist/swipeout/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "i-cell": "../cell/index", + "i-icon": "../icon/index" + } +} \ No newline at end of file diff --git a/dist/swipeout/index.wxml b/dist/swipeout/index.wxml new file mode 100644 index 0000000..f588015 --- /dev/null +++ b/dist/swipeout/index.wxml @@ -0,0 +1,39 @@ + + + + + + + + + + {{item.name}} + + + + + + + + + module.exports = { + setStyle : function( item ){ + var defaults = '#f7f7f7'; + return 'background:' + ( item.background ? item.background : defaults ) +';' + 'color:'+ item.color; + }, + setPosition : function( position ){ + return 'transform:translate(' + position.pageX + 'px,0);'; + } + } + \ No newline at end of file diff --git a/dist/swipeout/index.wxss b/dist/swipeout/index.wxss new file mode 100644 index 0000000..597cffc --- /dev/null +++ b/dist/swipeout/index.wxss @@ -0,0 +1 @@ +.i-swipeout-wrap{border-bottom:#dddee1 solid 1px;background:#fff;position:relative;overflow:hidden}.i-swipeout-item{width:100%;padding:15px 20px;box-sizing:border-box;transition:transform .2s ease;font-size:14px}.i-swipeout-content{white-space:nowrap;overflow:hidden}.i-swipeout-button-right-group{position:absolute;right:-100%;top:0;height:100%;z-index:1;width:100%}.i-swipeout-button-right-item{height:100%;float:left;white-space:nowrap;box-sizing:border-box;display:flex;align-items:center;justify-content:center} \ No newline at end of file diff --git a/dist/switch/index.js b/dist/switch/index.js new file mode 100644 index 0000000..5ebccfa --- /dev/null +++ b/dist/switch/index.js @@ -0,0 +1,38 @@ +Component({ + externalClasses: ['i-class'], + properties : { + value : { + type : Boolean, + value : false + }, + //large small default + size : { + type : String, + value : 'default' + }, + // is or not disable + disabled : { + type : Boolean, + value : false + }, + // hidden inut name + name : { + type : String, + value : '' + } + }, + options: { + // 在组件定义时的选项中启用多slot支持 + multipleSlots: true + }, + methods : { + toggle(){ + if( this.data.disabled ) return; + const data = this.data; + const value = data.value ? false : true; + this.triggerEvent('change',{ + value : value + }) + } + } +}); diff --git a/dist/switch/index.json b/dist/switch/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/switch/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/switch/index.wxml b/dist/switch/index.wxml new file mode 100644 index 0000000..a180254 --- /dev/null +++ b/dist/switch/index.wxml @@ -0,0 +1,26 @@ + + + + + + + + + + +var sizes = ['large', 'default']; +var prefixCls = 'i-switch'; +module.exports = { + setSize : function( size ){ + var index = sizes.indexOf( size ); + return prefixCls + ( index > -1 ? ( '-'+size ) : 'default' ) + }, + setCurrent : function( value,disabled ){ + var className = value && !disabled ? prefixCls + '-checked' : ''; + if( disabled ){ + className += ' ' + prefixCls + '-disabled'; + } + return className; + } +} + \ No newline at end of file diff --git a/dist/switch/index.wxss b/dist/switch/index.wxss new file mode 100644 index 0000000..128fea6 --- /dev/null +++ b/dist/switch/index.wxss @@ -0,0 +1 @@ +.i-switch{display:inline-block;width:48px;height:24px;line-height:24px;border-radius:24px;vertical-align:middle;border:1px solid #ccc;background-color:#ccc;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s ease-in-out}.i-switch-hide-input{display:none;opacity:0}.i-switch-inner{color:#fff;font-size:12px;position:absolute;left:25px;vertical-align:middle}.i-switch-inner .i-icon{width:12px;height:12px;text-align:center;vertical-align:middle}.i-switch:after{content:'';width:22px;height:22px;border-radius:22px;background-color:#fff;position:absolute;left:1px;top:1px;cursor:pointer;transition:left .2s ease-in-out,width .2s ease-in-out}.i-switch-checked:after{left:8px}.i-switch-large{width:60px}.i-switch-large.i-switch-checked:after{left:37px}.i-switch-checked:after{left:25px}.i-switch-checked{border-color:#2d8cf0;background-color:#2d8cf0}.i-switch-checked .i-switch-inner{left:8px}.i-switch-checked:after{left:25px}.i-switch-disabled{background:#f3f3f3;border-color:#f3f3f3}.i-switch-disabled:after{background:#ccc;cursor:not-allowed}.i-switch-disabled .i-switch-inner{color:#ccc} \ No newline at end of file diff --git a/dist/tab-bar-item/index.js b/dist/tab-bar-item/index.js new file mode 100644 index 0000000..0c24c1a --- /dev/null +++ b/dist/tab-bar-item/index.js @@ -0,0 +1,62 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../tab-bar/index': { + type: 'parent' + } + }, + + properties: { + icon: { + type: String, + value: '' + }, + currentIcon: { + type: String, + value: '' + }, + img: { + type: String, + value: '' + }, + currentImg: { + type: String, + value: '' + }, + key: { + type: String, + value: '' + }, + title: { + type: String, + value: '' + }, + dot: { + type: Boolean, + value: false + }, + count: { + type: Number, + value: 0 + } + }, + + data: { + current: false, + currentColor: '' + }, + + methods: { + changeCurrent (current) { + this.setData({ current }); + }, + changeCurrentColor (currentColor) { + this.setData({ currentColor }); + }, + handleClickItem () { + const parent = this.getRelationNodes('../tab-bar/index')[0]; + parent.emitEvent(this.data.key); + } + } +}); diff --git a/dist/tab-bar-item/index.json b/dist/tab-bar-item/index.json new file mode 100644 index 0000000..918aaf8 --- /dev/null +++ b/dist/tab-bar-item/index.json @@ -0,0 +1,8 @@ +{ + "component": true, + "usingComponents": + { + "i-badge": "../badge/index", + "i-icon": "../icon/index" + } +} diff --git a/dist/tab-bar-item/index.wxml b/dist/tab-bar-item/index.wxml new file mode 100644 index 0000000..7153909 --- /dev/null +++ b/dist/tab-bar-item/index.wxml @@ -0,0 +1,10 @@ + + + + + + {{ title }} + {{ title }} + + + \ No newline at end of file diff --git a/dist/tab-bar-item/index.wxss b/dist/tab-bar-item/index.wxss new file mode 100644 index 0000000..0f8a9c8 --- /dev/null +++ b/dist/tab-bar-item/index.wxss @@ -0,0 +1 @@ +.i-tab-bar-item{flex:1;display:flex;width:100%;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;text-align:center}.i-tab-bar-item-icon{display:flex;-webkit-box-pack:center;justify-content:center;box-sizing:border-box;color:#80848f}.i-tab-bar-item-icon-current{color:#2d8cf0}.i-tab-bar-item-img{display:flex;-webkit-box-pack:center;justify-content:center;box-sizing:border-box;width:22px;height:22px}.i-tab-bar-item-title{font-size:10px;margin:3px 0 0;line-height:1;text-align:center;box-sizing:border-box;color:#80848f}.i-tab-bar-item-title-current{color:#2d8cf0}.i-tab-bar-item-img{display:flex;-webkit-box-pack:center;justify-content:center;box-sizing:border-box;color:#80848f} \ No newline at end of file diff --git a/dist/tab-bar/index.js b/dist/tab-bar/index.js new file mode 100644 index 0000000..ca02fe4 --- /dev/null +++ b/dist/tab-bar/index.js @@ -0,0 +1,66 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../tab-bar-item/index': { + type: 'child', + linked () { + this.changeCurrent(); + }, + linkChanged () { + this.changeCurrent(); + }, + unlinked () { + this.changeCurrent(); + } + } + }, + + properties: { + current: { + type: String, + value: '', + observer: 'changeCurrent' + }, + color: { + type: String, + value: '' + }, + fixed: { + type: Boolean, + value: false + } + }, + + data: { + list: [] + }, + + methods: { + changeCurrent (val = this.data.current) { + let items = this.getRelationNodes('../tab-bar-item/index'); + const len = items.length; + + if (len > 0) { + const list = []; + items.forEach(item => { + item.changeCurrent(item.data.key === val); + item.changeCurrentColor(this.data.color); + list.push({ + key: item.data.key + }); + }); + this.setData({ + list: list + }); + } + }, + emitEvent (key) { + this.triggerEvent('change', { key }); + }, + handleClickItem (e) { + const key = e.currentTarget.dataset.key; + this.emitEvent(key); + } + } +}); diff --git a/dist/tab-bar/index.json b/dist/tab-bar/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/tab-bar/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/tab-bar/index.wxml b/dist/tab-bar/index.wxml new file mode 100644 index 0000000..9dbfbea --- /dev/null +++ b/dist/tab-bar/index.wxml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/dist/tab-bar/index.wxss b/dist/tab-bar/index.wxss new file mode 100644 index 0000000..5c6fd9c --- /dev/null +++ b/dist/tab-bar/index.wxss @@ -0,0 +1 @@ +.i-tab-bar{display:flex;width:100%;height:50px;box-sizing:border-box;position:relative;justify-content:space-around;align-items:center;-webkit-box-align:center;background:#fff}.i-tab-bar::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-top-width:1px}.i-tab-bar-fixed{position:fixed;bottom:0;z-index:2}.i-tab-bar-list{position:absolute;top:0;bottom:0;left:0;right:0}.i-tab-bar-layer{display:block;float:left;height:100%} \ No newline at end of file diff --git a/dist/tab/index.js b/dist/tab/index.js new file mode 100644 index 0000000..c8d3079 --- /dev/null +++ b/dist/tab/index.js @@ -0,0 +1,50 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../tabs/index': { + type: 'parent' + } + }, + + properties: { + key: { + type: String, + value: '' + }, + title: { + type: String, + value: '' + }, + dot: { + type: Boolean, + value: false + }, + count: { + type: Number, + value: 0 + } + }, + + data: { + current: false, + currentColor: '', + scroll: false + }, + + methods: { + changeCurrent (current) { + this.setData({ current }); + }, + changeCurrentColor (currentColor) { + this.setData({ currentColor }); + }, + changeScroll (scroll) { + this.setData({ scroll }); + }, + handleClickItem () { + const parent = this.getRelationNodes('../tabs/index')[0]; + parent.emitEvent(this.data.key); + } + } +}); diff --git a/dist/tab/index.json b/dist/tab/index.json new file mode 100644 index 0000000..eb6877d --- /dev/null +++ b/dist/tab/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-badge": "../badge/index" + } +} diff --git a/dist/tab/index.wxml b/dist/tab/index.wxml new file mode 100644 index 0000000..29d3955 --- /dev/null +++ b/dist/tab/index.wxml @@ -0,0 +1,9 @@ + + + + {{ title }} + {{ title }} + + + + \ No newline at end of file diff --git a/dist/tab/index.wxss b/dist/tab/index.wxss new file mode 100644 index 0000000..135637b --- /dev/null +++ b/dist/tab/index.wxss @@ -0,0 +1 @@ +.i-tabs-tab{flex:1;display:flex;width:100%;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;text-align:center;position:relative}.i-tabs-tab-bar{display:block;width:100%;height:2px;background:0 0;position:absolute;bottom:0;left:0;background:#2d8cf0}.i-tabs-tab-title{font-size:14px;text-align:center;box-sizing:border-box;color:#80848f}.i-tabs-tab-title-current{color:#2d8cf0}.i-tabs-tab-scroll{display:inline-block;width:60px} \ No newline at end of file diff --git a/dist/tabs/index.js b/dist/tabs/index.js new file mode 100644 index 0000000..b9d0326 --- /dev/null +++ b/dist/tabs/index.js @@ -0,0 +1,56 @@ +Component({ + externalClasses: ['i-class'], + + relations: { + '../tab/index': { + type: 'child', + linked () { + this.changeCurrent(); + }, + linkChanged () { + this.changeCurrent(); + }, + unlinked () { + this.changeCurrent(); + } + } + }, + + properties: { + current: { + type: String, + value: '', + observer: 'changeCurrent' + }, + color: { + type: String, + value: '' + }, + scroll: { + type: Boolean, + value: false + }, + fixed: { + type: Boolean, + value: false + } + }, + + methods: { + changeCurrent (val = this.data.current) { + let items = this.getRelationNodes('../tab/index'); + const len = items.length; + + if (len > 0) { + items.forEach(item => { + item.changeScroll(this.data.scroll); + item.changeCurrent(item.data.key === val); + item.changeCurrentColor(this.data.color); + }); + } + }, + emitEvent (key) { + this.triggerEvent('change', { key }); + } + } +}); diff --git a/dist/tabs/index.json b/dist/tabs/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/dist/tabs/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/dist/tabs/index.wxml b/dist/tabs/index.wxml new file mode 100644 index 0000000..b61d51b --- /dev/null +++ b/dist/tabs/index.wxml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/dist/tabs/index.wxss b/dist/tabs/index.wxss new file mode 100644 index 0000000..985fb18 --- /dev/null +++ b/dist/tabs/index.wxss @@ -0,0 +1 @@ +.i-tabs{display:flex;width:100%;height:42px;line-height:42px;box-sizing:border-box;position:relative;justify-content:space-around;align-items:center;-webkit-box-align:center;background:#fff}.i-tabs::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-bottom-width:1px}.i-tabs-scroll{display:block;overflow-x:auto;white-space:nowrap}.i-tabs-fixed{position:fixed;top:0;z-index:2} \ No newline at end of file diff --git a/dist/tag/index.js b/dist/tag/index.js new file mode 100644 index 0000000..338440a --- /dev/null +++ b/dist/tag/index.js @@ -0,0 +1,42 @@ +Component({ + externalClasses: ['i-class'], + properties : { + //slot name + name : { + type : String, + value : '' + }, + //can click or not click + checkable : { + type : Boolean, + value : false + }, + //is current choose + checked : { + type : Boolean, + value : true + }, + //background and color setting + color : { + type : String, + value : 'default' + }, + //control fill or not + type : { + type : String, + value : 'dot' + } + }, + methods : { + tapTag(){ + const data = this.data; + if( data.checkable ){ + const checked = data.checked ? false : true; + this.triggerEvent('change',{ + name : data.name || '', + checked : checked + }); + } + } + } +}) \ No newline at end of file diff --git a/dist/tag/index.json b/dist/tag/index.json new file mode 100644 index 0000000..1dd6c7f --- /dev/null +++ b/dist/tag/index.json @@ -0,0 +1,3 @@ +{ + "component" : true +} \ No newline at end of file diff --git a/dist/tag/index.wxml b/dist/tag/index.wxml new file mode 100644 index 0000000..ed2c675 --- /dev/null +++ b/dist/tag/index.wxml @@ -0,0 +1,27 @@ + + + + +module.exports = { + getClass : function(color,type,checked,checkable) { + var initColorList = ['blue', 'green', 'red', 'yellow', 'default']; + var theme = ''; + var className = 'i-tag-'; + if( initColorList.indexOf( color ) > -1 ){ + theme = className + color; + } + if( type === 'border' ){ + theme = className+color+'-border'; + } + if( checkable && checked ){ + theme = className+color+'-checked'; + }else if( checkable && !checked ){ + theme = ( type === 'border' ? className + color +'-border' : className+'none' ); + } + + return theme; + } +} + \ No newline at end of file diff --git a/dist/tag/index.wxss b/dist/tag/index.wxss new file mode 100644 index 0000000..e19f976 --- /dev/null +++ b/dist/tag/index.wxss @@ -0,0 +1 @@ +.i-tag{display:inline-block;height:18px;line-height:18px;padding:0 4px;border-radius:2px;background:#fff;font-size:11px;vertical-align:middle;border:1rpx solid #dddee1}.i-tag-none{border-color:#fff}.i-tag-default{border-color:#dddee1;background:#e9eaec}.i-tag-red{background:#ed3f14;color:#fff}.i-tag-red-border{color:#ed3f14;background:#fff;border-color:#ed3f14}.i-tag-red-checked{background:#ed3f14;color:#fff;border-color:#ed3f14}.i-tag-green{background:#19be6b;color:#fff;border-color:#19be6b}.i-tag-green-border{color:#19be6b;background:#fff;border-color:#19be6b}.i-tag-green-checked{background:#19be6b;color:#fff;border-color:#19be6b}.i-tag-blue{background:#2d8cf0;color:#fff;border-color:#2d8cf0}.i-tag-blue-border{color:#2d8cf0;background:#fff;border-color:#2d8cf0}.i-tag-blue-checked{background:#2d8cf0;color:#fff;border-color:#2d8cf0}.i-tag-yellow{background:#f90;color:#fff;border-color:#f90}.i-tag-yellow-border{color:#f90;background:#fff;border-color:#f90}.i-tag-yellow-checked{background:#f90;color:#fff;border-color:#f90}.i-tag-default-checked{background:#e9eaec;color:#495060;border-color:#e9eaec} \ No newline at end of file diff --git a/dist/toast/index.js b/dist/toast/index.js new file mode 100644 index 0000000..6493111 --- /dev/null +++ b/dist/toast/index.js @@ -0,0 +1,48 @@ +const default_data = { + visible: false, + content: '', + icon: '', + image: '', + duration: 2, + mask: true, + type: 'default', // default || success || warning || error || loading +}; + +let timmer = null; + +Component({ + externalClasses: ['i-class'], + + data: { + ...default_data + }, + + methods: { + handleShow (options) { + const { type = 'default', duration = 2 } = options; + + this.setData({ + ...options, + type, + duration, + visible: true + }); + + const d = this.data.duration * 1000; + + if (timmer) clearTimeout(timmer); + if (d !== 0) { + timmer = setTimeout(() => { + this.handleHide(); + timmer = null; + }, d); + } + }, + + handleHide () { + this.setData({ + ...default_data + }); + } + } +}); diff --git a/dist/toast/index.json b/dist/toast/index.json new file mode 100644 index 0000000..31309b1 --- /dev/null +++ b/dist/toast/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": + { + "i-icon": "../icon/index" + } +} diff --git a/dist/toast/index.wxml b/dist/toast/index.wxml new file mode 100644 index 0000000..ca5f732 --- /dev/null +++ b/dist/toast/index.wxml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + {{ content }} + \ No newline at end of file diff --git a/dist/toast/index.wxss b/dist/toast/index.wxss new file mode 100644 index 0000000..5b3bd7f --- /dev/null +++ b/dist/toast/index.wxss @@ -0,0 +1 @@ +.i-toast{position:fixed;top:35%;left:50%;transform:translate3d(-50%,-50%,0);background:rgba(0,0,0,.7);color:#fff;font-size:14px;line-height:1.5em;margin:0 auto;box-sizing:border-box;padding:10px 18px;text-align:center;border-radius:4px;z-index:1010}.i-toast-mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1010}.i-toast-icon{font-size:38px!important;margin-bottom:6px}.i-toast-image{max-width:100px;max-height:100px}.i-toast-loading{display:inline-block;vertical-align:middle;width:28px;height:28px;background:0 0;border-radius:50%;border:2px solid #fff;border-color:#fff #fff #fff #2d8cf0;animation:btn-spin .8s linear;animation-iteration-count:infinite}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/pages/favorite/favorite.js b/pages/favorite/favorite.js new file mode 100644 index 0000000..5d567e6 --- /dev/null +++ b/pages/favorite/favorite.js @@ -0,0 +1,83 @@ +// pages/favorite/favorite.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + goods_list: [{ + id: 1, + title: "小风车", + description: "转呀转呀转", + pic: "/images/upload.png" + }, { + id: 2, + title: "大蟑螂", + description: "交通工具", + pic: "/images/upload.png" + }, + { + id: 3, + title: "二手书", + description: "流通的二手书", + pic: "/images/upload.png" + } + ] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/favorite/favorite.json b/pages/favorite/favorite.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/pages/favorite/favorite.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/pages/favorite/favorite.wxml b/pages/favorite/favorite.wxml new file mode 100644 index 0000000..412c287 --- /dev/null +++ b/pages/favorite/favorite.wxml @@ -0,0 +1,15 @@ + + 我的收藏 + + + + + + + {{item.title}} + {{item.description}} + + + + + \ No newline at end of file diff --git a/pages/favorite/favorite.wxss b/pages/favorite/favorite.wxss new file mode 100644 index 0000000..73d3d0f --- /dev/null +++ b/pages/favorite/favorite.wxss @@ -0,0 +1 @@ +/* pages/favorite/favorite.wxss */ \ No newline at end of file diff --git a/pages/i/i.js b/pages/i/i.js new file mode 100644 index 0000000..eeba91d --- /dev/null +++ b/pages/i/i.js @@ -0,0 +1,66 @@ +// pages/i/i.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/i/i.json b/pages/i/i.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/pages/i/i.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/pages/i/i.wxml b/pages/i/i.wxml new file mode 100644 index 0000000..2f2914c --- /dev/null +++ b/pages/i/i.wxml @@ -0,0 +1,50 @@ + + +
+ 占位 + + + 这里是昵称 +
+ + + + + + + + + + + 我的发布 + + + + + + + + + + + + + + + + + + 我的收藏 + + + + + + + + + + + 一个待定的button + +
\ No newline at end of file diff --git a/pages/i/i.wxss b/pages/i/i.wxss new file mode 100644 index 0000000..78271a8 --- /dev/null +++ b/pages/i/i.wxss @@ -0,0 +1,16 @@ +/* pages/i/i.wxss */ +.col{ + background:white; + line-height: 70rpx; +} +.weui-grid__icon_i{ + display: block; + width: 154rpx; + height: 154rpx; + border-radius: 50%; + margin: 0 auto; +} +.weui-grid__label_i{ + color:white; + text-align: center; +} diff --git a/pages/index/index.js b/pages/index/index.js index 9fcf733..5d8ef61 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -13,20 +13,20 @@ Page({ id: 0, title: '发布二手信息', url: '/pages/post/post', - icon:'', - opentype:'switchTab' + icon: '', + opentype: 'switchTab' }, { id: 1, title: "商品列表", url: "/pages/list/list", - icon:'', - opentype:'navigate' + icon: '', + opentype: 'navigate' }, { id: 2, title: '商品详细信息', url: "/pages/detail/detail", - icon:'', + icon: '', opentype: 'navigate' }, { @@ -51,18 +51,18 @@ Page({ opentype: 'navigate' } ], - carousel:[ - { - id:0, - img:'/images/psb2.jpeg', - url:'/pages/detail/detail' + carousel: [{ + id: 0, + img: '/images/psb2.jpeg', + url: '/pages/detail/detail' }, { id: 1, img: '/images/psb.webp', url: '/pages/detail/detail' } - ] + ], + scroll_left: 0 }, onLoad: function() { diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 236d08e..f27c616 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -45,7 +45,7 @@ - + diff --git a/pages/issue/issue.js b/pages/issue/issue.js new file mode 100644 index 0000000..149ed66 --- /dev/null +++ b/pages/issue/issue.js @@ -0,0 +1,93 @@ +// pages/issue/issue.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + goods_list: [{ + id: 1, + title: "小风车", + description: "转呀转呀转", + pic: "/images/upload.png", + status:1//active or denied + }, { + id: 2, + title: "大蟑螂", + description: "交通工具", + pic: "/images/upload.png", + status:1 + }, + { + id: 3, + title: "二手书", + description: "流通的二手书", + pic: "/images/upload.png", + status:1 + }, + { + id: 4, + title: "小黄书😼", + description: "小黄车使用手册", + pic: "/images/upload.png", + status: 0 + } + ] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/issue/issue.json b/pages/issue/issue.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/pages/issue/issue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/pages/issue/issue.wxml b/pages/issue/issue.wxml new file mode 100644 index 0000000..c76569a --- /dev/null +++ b/pages/issue/issue.wxml @@ -0,0 +1,26 @@ + + 我的发布 + + + + + + + {{item.status?"[已通过]":"[未过审]"}}{{item.title}} + {{item.description}} + + + + + + + + + + + + {{item.description}} + + + + diff --git a/pages/issue/issue.wxss b/pages/issue/issue.wxss new file mode 100644 index 0000000..837d61c --- /dev/null +++ b/pages/issue/issue.wxss @@ -0,0 +1,11 @@ +/* pages/issue/issue.wxss */ +.issue_title{ + margin-top:20rpx; + background:white; + line-height: 80rpx; +} +.issue_img{ + display: inline-block; + height: 100rpx; + width: 100rpx; +} \ No newline at end of file diff --git a/pages/list/list.js b/pages/list/list.js index 878d8de..5111512 100644 --- a/pages/list/list.js +++ b/pages/list/list.js @@ -1,5 +1,6 @@ Page({ data: { + option:'',//决定进入某个分类列表或收藏列表 goods_list: [{ id:1, title: "小风车", @@ -24,7 +25,9 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad: function(options) { - + this.setData({ + option: options.id + }) }, /** diff --git a/pages/navigater/navigater.wxml b/pages/navigater/navigater.wxml index 91c5fcb..a811f6a 100644 --- a/pages/navigater/navigater.wxml +++ b/pages/navigater/navigater.wxml @@ -24,4 +24,22 @@
+ + + 我的发布 + + + + + + 我的收藏 + + + + + + + + +
\ No newline at end of file From 761cc3a787f4ae73742967d701b3562f2a95b37f Mon Sep 17 00:00:00 2001 From: guo Date: Sun, 11 Nov 2018 22:37:49 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E5=A4=A7=E4=BD=93=E8=BF=99=E6=A0=B7?= =?UTF-8?q?=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 17 +++- dist/card/index.wxml | 5 +- dist/card/index.wxss | 109 +++++++++++++++++++- dist/collapse-item/index.js | 3 +- dist/collapse-item/index.wxml | 6 +- dist/collapse-item/index.wxss | 8 +- dist/icon/index.js | 4 + dist/icon/index.wxml | 2 +- dist/tab-bar-item/index.js | 8 ++ dist/tab-bar-item/index.wxml | 5 +- images/{psb.webp => psb.jpg} | Bin images/s1.jpg | Bin 0 -> 682387 bytes pages/i/i.js | 29 +++++- pages/i/i.wxml | 42 +++++--- pages/i/i.wxss | 13 +++ pages/index/index.js | 10 +- pages/index/index.wxml | 184 ++++++++++++++++++++++++---------- pages/index/index.wxss | 22 ++++ pages/issue/issue.wxml | 3 +- pages/list/list.wxml | 4 +- pages/list/list.wxss | 5 +- pages/post/post.wxml | 2 +- 22 files changed, 388 insertions(+), 93 deletions(-) rename images/{psb.webp => psb.jpg} (100%) create mode 100644 images/s1.jpg diff --git a/app.json b/app.json index e987b81..bb40b7c 100644 --- a/app.json +++ b/app.json @@ -1,8 +1,9 @@ { "pages": [ + "pages/index/index", "pages/i/i", "pages/navigater/navigater", - "pages/index/index", + "pages/detail/detail", "pages/list/list", "pages/post/post", @@ -48,6 +49,18 @@ "usingComponents": { "i-collapse": "dist/collapse/index", "i-collapse-item": "dist/collapse-item/index", - "i-button": "../../dist/button/index" + "i-button": "../../dist/button/index", + "i-row": "../../dist/row/index", + "i-col": "../../dist/col/index", + "i-grid": "../../dist/grid/index", + "i-grid-item": "../../dist/grid-item/index", + "i-grid-icon": "../../dist/grid-icon/index", + "i-grid-label": "../../dist/grid-label/index", + "i-alert": "../../dist/alert/index", + "i-icon": "../../dist/icon/index", + "i-load-more": "../../dist/load-more/index", + "i-tab-bar": "../../dist/tab-bar/index", + "i-tab-bar-item": "../../dist/tab-bar-item/index", + "i-card": "../../dist/card/index" } } \ No newline at end of file diff --git a/dist/card/index.wxml b/dist/card/index.wxml index 4792293..d25ca1f 100644 --- a/dist/card/index.wxml +++ b/dist/card/index.wxml @@ -1,10 +1,9 @@ - - {{ title }} - + {{ title }} {{ extra }} + 体育用品 diff --git a/dist/card/index.wxss b/dist/card/index.wxss index fd8fad4..de6c306 100644 --- a/dist/card/index.wxss +++ b/dist/card/index.wxss @@ -1 +1,108 @@ -.i-card{margin:0 16px;font-size:14px;overflow:hidden;position:relative;background:#fff;border:1rpx solid #dddee1;border-radius:5px}.i-card-full{margin:0;border-left:none;border-right:none;border-radius:0}.i-card-header{display:flex;padding:6px 16px;align-items:center}.i-card-header-content{flex:1;text-align:left}.i-card-header-thumb{display:inline-block;width:64px;height:64px;position:relative;margin-left:auto;margin-right:auto;overflow:hidden;background-size:cover;vertical-align:middle}.i-card-header-title{display:inline-block;vertical-align:middle;font-size:14px;color:#1c2438}.i-card-header-extra{flex:1;text-align:right;font-size:14px;color:#80848f}.i-card-body{position:relative;padding:6px 16px;color:#495060;font-size:14px}.i-card-body::before{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-top-width:1px}.i-card-footer{position:relative;padding:6px 16px;color:#80848f;font-size:12px} \ No newline at end of file +.i-card { + margin: 0 16px; + font-size: 14px; + overflow: hidden; + position: relative; + background: #fff; + border: 1rpx solid #dddee1; + border-radius: 5px; +} + +.i-card-full { + margin: 0; + border-left: none; + border-right: none; + border-radius: 0; +} + +.i-card-header { + display: flex; + padding: 6px 16px; + align-items: center; + +} + +.i-card-header-content { + flex: 0; + text-align: left; + display: inline-flex; + align-items: center; + justify-content: flex-start; + flex-wrap: nowrap; +} + +.i-card-header-thumb { + display: inline-block; + width: 64px; + height: 64px; + position: relative; + margin-left: auto; + margin-right: auto; + overflow: hidden; + background-size: cover; + vertical-align: middle; +} + +.i-card-header-title { + display: inline-block; + vertical-align: middle; + font-size: 14px; + color: #1c2438; +} + +.i-card-header-extra { + flex: 1; + text-align: right; + font-size: 14px; + color: #80848f; + +} + +.i-card-body { + position: relative; + padding: 6px 16px; + color: #495060; + font-size: 14px; +} + +.i-card-body::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 200%; + height: 200%; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; + box-sizing: border-box; + border: 0 solid #e9eaec; + border-top-width: 1px; +} + +.i-card-footer { + position: relative; + padding: 6px 16px; + color: #80848f; + font-size: 12px; +} + +.badge { + background: #1073ba; + border-radius: 15rpx; + color: white; + font-size: 22rpx; + margin-right: 10rpx; + width:110rpx; + text-align: center; + height: 60rpx; + display: flex; + justify-content: center; + align-items: center; + margin-top:0rpx; +} + +.titlet{ + white-space:nowrap; + margin:0rpx 10rpx; +} \ No newline at end of file diff --git a/dist/collapse-item/index.js b/dist/collapse-item/index.js index 31a0b06..0f40083 100644 --- a/dist/collapse-item/index.js +++ b/dist/collapse-item/index.js @@ -19,7 +19,8 @@ Component({ properties: { title: String, name: String, - category:String + category:String, + icontype:String }, data: { diff --git a/dist/collapse-item/index.wxml b/dist/collapse-item/index.wxml index a7c2dc6..aaef2b1 100644 --- a/dist/collapse-item/index.wxml +++ b/dist/collapse-item/index.wxml @@ -1,9 +1,9 @@ - - {{category}}{{title}} - + + {{category}}{{title}} + diff --git a/dist/collapse-item/index.wxss b/dist/collapse-item/index.wxss index d5c4231..db7c59e 100644 --- a/dist/collapse-item/index.wxss +++ b/dist/collapse-item/index.wxss @@ -4,7 +4,7 @@ } .i-collapse-item-title { - vertical-align: middle; + vertical-align: baseline; padding-left: 25rpx; } @@ -33,14 +33,16 @@ .category { width: 80px; - display: inline-block; + vertical-align: middle; margin-right: 10px; background: #1073ba; border: 1px solid #1073ba !important; border-radius: 6px !important; - font-size: 12px; + font-size: 24rpx; line-height: 2em; color:white; text-align: center; + margin-bottom: 15rpx; + margin-top: 15rpx; } diff --git a/dist/icon/index.js b/dist/icon/index.js index eb43ab9..d8874be 100644 --- a/dist/icon/index.js +++ b/dist/icon/index.js @@ -17,6 +17,10 @@ Component({ color: { type: String, value: '' + }, + scale:{ + type:Number, + value:'1' } } }); diff --git a/dist/icon/index.wxml b/dist/icon/index.wxml index d689bc5..264f9eb 100644 --- a/dist/icon/index.wxml +++ b/dist/icon/index.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/dist/tab-bar-item/index.js b/dist/tab-bar-item/index.js index 0c24c1a..532dd04 100644 --- a/dist/tab-bar-item/index.js +++ b/dist/tab-bar-item/index.js @@ -39,6 +39,14 @@ Component({ count: { type: Number, value: 0 + }, + icsize:{ + type:Number, + value:22 + }, + scale:{ + type:Number, + value:1 } }, diff --git a/dist/tab-bar-item/index.wxml b/dist/tab-bar-item/index.wxml index 7153909..d58eb44 100644 --- a/dist/tab-bar-item/index.wxml +++ b/dist/tab-bar-item/index.wxml @@ -1,10 +1,11 @@ - - + + {{ title }} {{ title }} + absolute \ No newline at end of file diff --git a/images/psb.webp b/images/psb.jpg similarity index 100% rename from images/psb.webp rename to images/psb.jpg diff --git a/images/s1.jpg b/images/s1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..909e646e2ecf6423d7599a2bdb3dacd08f72f4e5 GIT binary patch literal 682387 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 K_`C=A -
+ 占位 这里是昵称 -
+
- + - + - - - 我的发布 - + + + 我的发布 + @@ -26,15 +26,15 @@ - + - + - + - - 我的收藏 + + 我的收藏 @@ -43,8 +43,20 @@ +  + 近期发布 + + + + + + + {{item.description}} + + + + - 一个待定的button - \ No newline at end of file + \ No newline at end of file diff --git a/pages/i/i.wxss b/pages/i/i.wxss index 78271a8..ded1435 100644 --- a/pages/i/i.wxss +++ b/pages/i/i.wxss @@ -9,8 +9,21 @@ height: 154rpx; border-radius: 50%; margin: 0 auto; + font-size: 36rpx; } .weui-grid__label_i{ color:white; text-align: center; } + +.issue_title{ + margin-top:20rpx; + background:white; + line-height:70rpx; + font-size: 28rpx; +} +.issue_img{ + display: inline-block; + height: 100rpx; + width: 100rpx; +} \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js index 5d8ef61..ea4344b 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -2,6 +2,7 @@ const app = getApp() Page({ data: { + current: 'homepage', avatarUrl: './user-unlogin.png', userInfo: {}, logged: false, @@ -53,17 +54,22 @@ Page({ ], carousel: [{ id: 0, - img: '/images/psb2.jpeg', + img: '/images/s1.jpg', url: '/pages/detail/detail' }, { id: 1, - img: '/images/psb.webp', + img: '/images/psb2.jpeg', url: '/pages/detail/detail' } ], scroll_left: 0 }, + handleChange({ detail }) { + this.setData({ + current: detail.key + }); + }, onLoad: function() { diff --git a/pages/index/index.wxml b/pages/index/index.wxml index f27c616..6bd2b0f 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -15,28 +15,6 @@ - - - - 实时搜索文本 - - - - - 实时搜索文本 - - - - - 实时搜索文本 - - - - - 实时搜索文本 - - - @@ -45,14 +23,93 @@ - - - - - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 热门推荐 + + + 转呀转呀转 + 233人看过 + + + + 舔呀舔呀舔 + 233人看过 + + \ No newline at end of file diff --git a/pages/index/index.wxss b/pages/index/index.wxss index 446a469..238c294 100644 --- a/pages/index/index.wxss +++ b/pages/index/index.wxss @@ -59,3 +59,25 @@ page { font-size: 34rpx; color: #007aff; } + +.col-class{ + background: red; + line-height: 90rpx; + padding: 20rpx; +} + +.gridicon{ + background: blue; + width: 100%; + height: 100% + +} + +.badge { + background: #1073ba; + border-radius: 15rpx; + color: white; + font-size: 22rpx; + padding: 10rpx; + margin-right: 10rpx; +} \ No newline at end of file diff --git a/pages/issue/issue.wxml b/pages/issue/issue.wxml index c76569a..b9e7dae 100644 --- a/pages/issue/issue.wxml +++ b/pages/issue/issue.wxml @@ -14,7 +14,7 @@ - + \ No newline at end of file diff --git a/pages/list/list.wxml b/pages/list/list.wxml index 1b43a27..b798442 100644 --- a/pages/list/list.wxml +++ b/pages/list/list.wxml @@ -12,4 +12,6 @@
-
\ No newline at end of file +
+ + \ No newline at end of file diff --git a/pages/list/list.wxss b/pages/list/list.wxss index 601ce69..0c53352 100644 --- a/pages/list/list.wxss +++ b/pages/list/list.wxss @@ -1 +1,4 @@ -/* pages/list/list.wxss */ \ No newline at end of file +/* pages/list/list.wxss */ +.loadmore{ + +} \ No newline at end of file diff --git a/pages/post/post.wxml b/pages/post/post.wxml index 9dba820..e35bfdb 100644 --- a/pages/post/post.wxml +++ b/pages/post/post.wxml @@ -54,4 +54,4 @@ - \ No newline at end of file + From 69511835b1173f9bb64bd3d12aa50cf6cf5a215b Mon Sep 17 00:00:00 2001 From: guo Date: Thu, 22 Nov 2018 16:06:30 +0800 Subject: [PATCH 06/25] 7 --- app.json | 56 ++- app.wxss | 4 +- changed/button/index.js | 52 +++ changed/button/index.json | 6 + changed/button/index.wxml | 26 ++ changed/button/index.wxss | 149 +++++++ changed/checkbox/index.js | 94 +++++ changed/checkbox/index.json | 6 + changed/checkbox/index.wxml | 16 + changed/checkbox/index.wxss | 1 + dist/button/index.wxss | 122 +++++- dist/divider/index.wxss | 27 +- images/d.jpg | Bin 0 -> 23752 bytes images/s.jpg | Bin 0 -> 4846 bytes images/timg.jpeg | Bin 0 -> 15371 bytes .../vant-weapp/action-sheet/index.js | 40 ++ .../vant-weapp/action-sheet/index.json | 8 + .../vant-weapp/action-sheet/index.wxml | 40 ++ .../vant-weapp/action-sheet/index.wxss | 1 + miniprogram_npm/vant-weapp/area/index.js | 198 +++++++++ miniprogram_npm/vant-weapp/area/index.json | 6 + miniprogram_npm/vant-weapp/area/index.wxml | 34 ++ miniprogram_npm/vant-weapp/area/index.wxss | 1 + .../vant-weapp/badge-group/index.js | 55 +++ .../vant-weapp/badge-group/index.json | 3 + .../vant-weapp/badge-group/index.wxml | 3 + .../vant-weapp/badge-group/index.wxss | 1 + miniprogram_npm/vant-weapp/badge/index.js | 25 ++ miniprogram_npm/vant-weapp/badge/index.json | 3 + miniprogram_npm/vant-weapp/badge/index.wxml | 4 + miniprogram_npm/vant-weapp/badge/index.wxss | 1 + miniprogram_npm/vant-weapp/button/index.js | 52 +++ miniprogram_npm/vant-weapp/button/index.json | 6 + miniprogram_npm/vant-weapp/button/index.wxml | 26 ++ miniprogram_npm/vant-weapp/button/index.wxss | 1 + miniprogram_npm/vant-weapp/card/index.js | 31 ++ miniprogram_npm/vant-weapp/card/index.json | 6 + miniprogram_npm/vant-weapp/card/index.wxml | 41 ++ miniprogram_npm/vant-weapp/card/index.wxss | 1 + .../vant-weapp/cell-group/index.js | 9 + .../vant-weapp/cell-group/index.json | 3 + .../vant-weapp/cell-group/index.wxml | 3 + .../vant-weapp/cell-group/index.wxss | 1 + miniprogram_npm/vant-weapp/cell/index.js | 48 +++ miniprogram_npm/vant-weapp/cell/index.json | 6 + miniprogram_npm/vant-weapp/cell/index.wxml | 39 ++ miniprogram_npm/vant-weapp/cell/index.wxss | 123 ++++++ .../vant-weapp/checkbox-group/index.js | 40 ++ .../vant-weapp/checkbox-group/index.json | 6 + .../vant-weapp/checkbox-group/index.wxml | 1 + .../vant-weapp/checkbox-group/index.wxss | 1 + miniprogram_npm/vant-weapp/checkbox/index.js | 94 +++++ .../vant-weapp/checkbox/index.json | 6 + .../vant-weapp/checkbox/index.wxml | 16 + .../vant-weapp/checkbox/index.wxss | 1 + miniprogram_npm/vant-weapp/col/index.js | 37 ++ miniprogram_npm/vant-weapp/col/index.json | 3 + miniprogram_npm/vant-weapp/col/index.wxml | 6 + miniprogram_npm/vant-weapp/col/index.wxss | 1 + .../vant-weapp/common/class-names.js | 29 ++ miniprogram_npm/vant-weapp/common/color.js | 3 + .../vant-weapp/common/component.js | 59 +++ miniprogram_npm/vant-weapp/common/index.wxss | 1 + .../vant-weapp/common/style/clearfix.wxss | 1 + .../vant-weapp/common/style/ellipsis.wxss | 1 + .../vant-weapp/common/style/hairline.wxss | 1 + .../common/style/mixins/clearfix.wxss | 0 .../common/style/mixins/ellipsis.wxss | 0 .../common/style/mixins/hairline.wxss | 0 .../vant-weapp/common/style/var.wxss | 0 miniprogram_npm/vant-weapp/common/utils.js | 14 + .../vant-weapp/datetime-picker/index.js | 394 ++++++++++++++++++ .../vant-weapp/datetime-picker/index.json | 6 + .../vant-weapp/datetime-picker/index.wxml | 34 ++ .../vant-weapp/datetime-picker/index.wxss | 1 + miniprogram_npm/vant-weapp/dialog/dialog.js | 70 ++++ miniprogram_npm/vant-weapp/dialog/index.js | 92 ++++ miniprogram_npm/vant-weapp/dialog/index.json | 7 + miniprogram_npm/vant-weapp/dialog/index.wxml | 53 +++ miniprogram_npm/vant-weapp/dialog/index.wxss | 1 + miniprogram_npm/vant-weapp/field/index.js | 112 +++++ miniprogram_npm/vant-weapp/field/index.json | 7 + miniprogram_npm/vant-weapp/field/index.wxml | 74 ++++ miniprogram_npm/vant-weapp/field/index.wxss | 1 + .../vant-weapp/goods-action-button/index.js | 22 + .../vant-weapp/goods-action-button/index.json | 6 + .../vant-weapp/goods-action-button/index.wxml | 25 ++ .../vant-weapp/goods-action-button/index.wxss | 1 + .../vant-weapp/goods-action-icon/index.js | 18 + .../vant-weapp/goods-action-icon/index.json | 7 + .../vant-weapp/goods-action-icon/index.wxml | 32 ++ .../vant-weapp/goods-action-icon/index.wxss | 1 + .../vant-weapp/goods-action/index.js | 2 + .../vant-weapp/goods-action/index.json | 3 + .../vant-weapp/goods-action/index.wxml | 3 + .../vant-weapp/goods-action/index.wxss | 1 + miniprogram_npm/vant-weapp/icon/index.js | 19 + miniprogram_npm/vant-weapp/icon/index.json | 3 + miniprogram_npm/vant-weapp/icon/index.wxml | 7 + miniprogram_npm/vant-weapp/icon/index.wxss | 1 + miniprogram_npm/vant-weapp/loading/index.js | 17 + miniprogram_npm/vant-weapp/loading/index.json | 3 + miniprogram_npm/vant-weapp/loading/index.wxml | 16 + miniprogram_npm/vant-weapp/loading/index.wxss | 1 + miniprogram_npm/vant-weapp/mixins/basic.js | 24 ++ miniprogram_npm/vant-weapp/mixins/button.js | 15 + miniprogram_npm/vant-weapp/mixins/link.js | 24 ++ .../vant-weapp/mixins/observer/behavior.js | 41 ++ .../vant-weapp/mixins/observer/index.js | 38 ++ .../vant-weapp/mixins/observer/props.js | 32 ++ .../vant-weapp/mixins/open-type.js | 22 + miniprogram_npm/vant-weapp/mixins/touch.js | 21 + .../vant-weapp/mixins/transition.js | 51 +++ miniprogram_npm/vant-weapp/nav-bar/index.js | 23 + miniprogram_npm/vant-weapp/nav-bar/index.json | 6 + miniprogram_npm/vant-weapp/nav-bar/index.wxml | 24 ++ miniprogram_npm/vant-weapp/nav-bar/index.wxss | 1 + .../vant-weapp/notice-bar/index.js | 160 +++++++ .../vant-weapp/notice-bar/index.json | 6 + .../vant-weapp/notice-bar/index.wxml | 31 ++ .../vant-weapp/notice-bar/index.wxss | 1 + miniprogram_npm/vant-weapp/notify/index.js | 42 ++ miniprogram_npm/vant-weapp/notify/index.json | 6 + miniprogram_npm/vant-weapp/notify/index.wxml | 8 + miniprogram_npm/vant-weapp/notify/index.wxss | 1 + miniprogram_npm/vant-weapp/notify/notify.js | 28 ++ miniprogram_npm/vant-weapp/overlay/index.js | 19 + miniprogram_npm/vant-weapp/overlay/index.json | 6 + miniprogram_npm/vant-weapp/overlay/index.wxml | 7 + miniprogram_npm/vant-weapp/overlay/index.wxss | 1 + miniprogram_npm/vant-weapp/panel/index.js | 10 + miniprogram_npm/vant-weapp/panel/index.json | 6 + miniprogram_npm/vant-weapp/panel/index.wxml | 19 + miniprogram_npm/vant-weapp/panel/index.wxss | 1 + miniprogram_npm/vant-weapp/popup/index.js | 35 ++ miniprogram_npm/vant-weapp/popup/index.json | 6 + miniprogram_npm/vant-weapp/popup/index.wxml | 16 + miniprogram_npm/vant-weapp/popup/index.wxss | 1 + miniprogram_npm/vant-weapp/progress/index.js | 67 +++ .../vant-weapp/progress/index.json | 3 + .../vant-weapp/progress/index.wxml | 14 + .../vant-weapp/progress/index.wxss | 1 + .../vant-weapp/radio-group/index.js | 39 ++ .../vant-weapp/radio-group/index.json | 6 + .../vant-weapp/radio-group/index.wxml | 1 + .../vant-weapp/radio-group/index.wxss | 1 + miniprogram_npm/vant-weapp/radio/index.js | 44 ++ miniprogram_npm/vant-weapp/radio/index.json | 6 + miniprogram_npm/vant-weapp/radio/index.wxml | 16 + miniprogram_npm/vant-weapp/radio/index.wxss | 1 + miniprogram_npm/vant-weapp/row/index.js | 38 ++ miniprogram_npm/vant-weapp/row/index.json | 3 + miniprogram_npm/vant-weapp/row/index.wxml | 3 + miniprogram_npm/vant-weapp/row/index.wxss | 1 + miniprogram_npm/vant-weapp/search/index.js | 48 +++ miniprogram_npm/vant-weapp/search/index.json | 7 + miniprogram_npm/vant-weapp/search/index.wxml | 31 ++ miniprogram_npm/vant-weapp/search/index.wxss | 1 + miniprogram_npm/vant-weapp/slider/index.js | 86 ++++ miniprogram_npm/vant-weapp/slider/index.json | 3 + miniprogram_npm/vant-weapp/slider/index.wxml | 11 + miniprogram_npm/vant-weapp/slider/index.wxss | 1 + miniprogram_npm/vant-weapp/stepper/index.js | 79 ++++ miniprogram_npm/vant-weapp/stepper/index.json | 3 + miniprogram_npm/vant-weapp/stepper/index.wxml | 18 + miniprogram_npm/vant-weapp/stepper/index.wxss | 1 + miniprogram_npm/vant-weapp/steps/index.js | 48 +++ miniprogram_npm/vant-weapp/steps/index.json | 6 + miniprogram_npm/vant-weapp/steps/index.wxml | 20 + miniprogram_npm/vant-weapp/steps/index.wxss | 1 + .../vant-weapp/submit-bar/index.js | 38 ++ .../vant-weapp/submit-bar/index.json | 6 + .../vant-weapp/submit-bar/index.wxml | 31 ++ .../vant-weapp/submit-bar/index.wxss | 1 + .../vant-weapp/swipe-cell/index.js | 142 +++++++ .../vant-weapp/swipe-cell/index.json | 3 + .../vant-weapp/swipe-cell/index.wxml | 22 + .../vant-weapp/swipe-cell/index.wxss | 1 + .../vant-weapp/switch-cell/index.js | 32 ++ .../vant-weapp/switch-cell/index.json | 7 + .../vant-weapp/switch-cell/index.wxml | 15 + .../vant-weapp/switch-cell/index.wxss | 1 + miniprogram_npm/vant-weapp/switch/index.js | 49 +++ miniprogram_npm/vant-weapp/switch/index.json | 6 + miniprogram_npm/vant-weapp/switch/index.wxml | 9 + miniprogram_npm/vant-weapp/switch/index.wxss | 1 + miniprogram_npm/vant-weapp/tab/index.js | 31 ++ miniprogram_npm/vant-weapp/tab/index.json | 3 + miniprogram_npm/vant-weapp/tab/index.wxml | 7 + .../vant-weapp/tabbar-item/index.js | 33 ++ .../vant-weapp/tabbar-item/index.json | 6 + .../vant-weapp/tabbar-item/index.wxml | 16 + .../vant-weapp/tabbar-item/index.wxss | 1 + miniprogram_npm/vant-weapp/tabbar/index.js | 73 ++++ miniprogram_npm/vant-weapp/tabbar/index.json | 3 + miniprogram_npm/vant-weapp/tabbar/index.wxml | 6 + miniprogram_npm/vant-weapp/tabbar/index.wxss | 1 + miniprogram_npm/vant-weapp/tabs/index.js | 173 ++++++++ miniprogram_npm/vant-weapp/tabs/index.json | 3 + miniprogram_npm/vant-weapp/tabs/index.wxml | 26 ++ miniprogram_npm/vant-weapp/tabs/index.wxss | 1 + miniprogram_npm/vant-weapp/tag/index.js | 35 ++ miniprogram_npm/vant-weapp/tag/index.json | 3 + miniprogram_npm/vant-weapp/tag/index.wxml | 3 + miniprogram_npm/vant-weapp/tag/index.wxss | 1 + miniprogram_npm/vant-weapp/toast/index.js | 34 ++ miniprogram_npm/vant-weapp/toast/index.json | 9 + miniprogram_npm/vant-weapp/toast/index.wxml | 31 ++ miniprogram_npm/vant-weapp/toast/index.wxss | 1 + miniprogram_npm/vant-weapp/toast/toast.js | 90 ++++ .../vant-weapp/transition/index.js | 11 + .../vant-weapp/transition/index.json | 3 + .../vant-weapp/transition/index.wxml | 8 + .../vant-weapp/transition/index.wxss | 1 + .../vant-weapp/tree-select/index.js | 69 +++ .../vant-weapp/tree-select/index.json | 6 + .../vant-weapp/tree-select/index.wxml | 36 ++ .../vant-weapp/tree-select/index.wxss | 1 + package-lock.json | 13 + pages/about/about.js | 66 +++ pages/about/about.json | 1 + pages/about/about.wxml | 11 + pages/about/about.wxss | 1 + pages/detail/detail.js | 16 +- pages/detail/detail.wxml | 130 ++++-- pages/detail/detail.wxss | 117 +++++- pages/favorite/favorite.js | 25 +- pages/favorite/favorite.wxml | 66 ++- pages/favorite/favorite.wxss | 17 +- pages/i/i.wxml | 31 +- pages/index/index.js | 102 ++--- pages/index/index.wxml | 185 ++------ pages/index/index.wxss | 35 +- pages/issue/issue.js | 37 +- pages/issue/issue.wxml | 48 +++ pages/issue/issue.wxss | 17 + pages/navigater/navigater.wxml | 11 +- pages/post/post.js | 60 ++- pages/post/post.wxml | 92 +++- pages/post/post.wxss | 18 + style/index.wxss | 75 ++++ style/weui.wxss | 2 +- 242 files changed, 6019 insertions(+), 325 deletions(-) create mode 100644 changed/button/index.js create mode 100644 changed/button/index.json create mode 100644 changed/button/index.wxml create mode 100644 changed/button/index.wxss create mode 100644 changed/checkbox/index.js create mode 100644 changed/checkbox/index.json create mode 100644 changed/checkbox/index.wxml create mode 100644 changed/checkbox/index.wxss create mode 100644 images/d.jpg create mode 100644 images/s.jpg create mode 100644 images/timg.jpeg create mode 100644 miniprogram_npm/vant-weapp/action-sheet/index.js create mode 100644 miniprogram_npm/vant-weapp/action-sheet/index.json create mode 100644 miniprogram_npm/vant-weapp/action-sheet/index.wxml create mode 100644 miniprogram_npm/vant-weapp/action-sheet/index.wxss create mode 100644 miniprogram_npm/vant-weapp/area/index.js create mode 100644 miniprogram_npm/vant-weapp/area/index.json create mode 100644 miniprogram_npm/vant-weapp/area/index.wxml create mode 100644 miniprogram_npm/vant-weapp/area/index.wxss create mode 100644 miniprogram_npm/vant-weapp/badge-group/index.js create mode 100644 miniprogram_npm/vant-weapp/badge-group/index.json create mode 100644 miniprogram_npm/vant-weapp/badge-group/index.wxml create mode 100644 miniprogram_npm/vant-weapp/badge-group/index.wxss create mode 100644 miniprogram_npm/vant-weapp/badge/index.js create mode 100644 miniprogram_npm/vant-weapp/badge/index.json create mode 100644 miniprogram_npm/vant-weapp/badge/index.wxml create mode 100644 miniprogram_npm/vant-weapp/badge/index.wxss create mode 100644 miniprogram_npm/vant-weapp/button/index.js create mode 100644 miniprogram_npm/vant-weapp/button/index.json create mode 100644 miniprogram_npm/vant-weapp/button/index.wxml create mode 100644 miniprogram_npm/vant-weapp/button/index.wxss create mode 100644 miniprogram_npm/vant-weapp/card/index.js create mode 100644 miniprogram_npm/vant-weapp/card/index.json create mode 100644 miniprogram_npm/vant-weapp/card/index.wxml create mode 100644 miniprogram_npm/vant-weapp/card/index.wxss create mode 100644 miniprogram_npm/vant-weapp/cell-group/index.js create mode 100644 miniprogram_npm/vant-weapp/cell-group/index.json create mode 100644 miniprogram_npm/vant-weapp/cell-group/index.wxml create mode 100644 miniprogram_npm/vant-weapp/cell-group/index.wxss create mode 100644 miniprogram_npm/vant-weapp/cell/index.js create mode 100644 miniprogram_npm/vant-weapp/cell/index.json create mode 100644 miniprogram_npm/vant-weapp/cell/index.wxml create mode 100644 miniprogram_npm/vant-weapp/cell/index.wxss create mode 100644 miniprogram_npm/vant-weapp/checkbox-group/index.js create mode 100644 miniprogram_npm/vant-weapp/checkbox-group/index.json create mode 100644 miniprogram_npm/vant-weapp/checkbox-group/index.wxml create mode 100644 miniprogram_npm/vant-weapp/checkbox-group/index.wxss create mode 100644 miniprogram_npm/vant-weapp/checkbox/index.js create mode 100644 miniprogram_npm/vant-weapp/checkbox/index.json create mode 100644 miniprogram_npm/vant-weapp/checkbox/index.wxml create mode 100644 miniprogram_npm/vant-weapp/checkbox/index.wxss create mode 100644 miniprogram_npm/vant-weapp/col/index.js create mode 100644 miniprogram_npm/vant-weapp/col/index.json create mode 100644 miniprogram_npm/vant-weapp/col/index.wxml create mode 100644 miniprogram_npm/vant-weapp/col/index.wxss create mode 100644 miniprogram_npm/vant-weapp/common/class-names.js create mode 100644 miniprogram_npm/vant-weapp/common/color.js create mode 100644 miniprogram_npm/vant-weapp/common/component.js create mode 100644 miniprogram_npm/vant-weapp/common/index.wxss create mode 100644 miniprogram_npm/vant-weapp/common/style/clearfix.wxss create mode 100644 miniprogram_npm/vant-weapp/common/style/ellipsis.wxss create mode 100644 miniprogram_npm/vant-weapp/common/style/hairline.wxss create mode 100644 miniprogram_npm/vant-weapp/common/style/mixins/clearfix.wxss create mode 100644 miniprogram_npm/vant-weapp/common/style/mixins/ellipsis.wxss create mode 100644 miniprogram_npm/vant-weapp/common/style/mixins/hairline.wxss create mode 100644 miniprogram_npm/vant-weapp/common/style/var.wxss create mode 100644 miniprogram_npm/vant-weapp/common/utils.js create mode 100644 miniprogram_npm/vant-weapp/datetime-picker/index.js create mode 100644 miniprogram_npm/vant-weapp/datetime-picker/index.json create mode 100644 miniprogram_npm/vant-weapp/datetime-picker/index.wxml create mode 100644 miniprogram_npm/vant-weapp/datetime-picker/index.wxss create mode 100644 miniprogram_npm/vant-weapp/dialog/dialog.js create mode 100644 miniprogram_npm/vant-weapp/dialog/index.js create mode 100644 miniprogram_npm/vant-weapp/dialog/index.json create mode 100644 miniprogram_npm/vant-weapp/dialog/index.wxml create mode 100644 miniprogram_npm/vant-weapp/dialog/index.wxss create mode 100644 miniprogram_npm/vant-weapp/field/index.js create mode 100644 miniprogram_npm/vant-weapp/field/index.json create mode 100644 miniprogram_npm/vant-weapp/field/index.wxml create mode 100644 miniprogram_npm/vant-weapp/field/index.wxss create mode 100644 miniprogram_npm/vant-weapp/goods-action-button/index.js create mode 100644 miniprogram_npm/vant-weapp/goods-action-button/index.json create mode 100644 miniprogram_npm/vant-weapp/goods-action-button/index.wxml create mode 100644 miniprogram_npm/vant-weapp/goods-action-button/index.wxss create mode 100644 miniprogram_npm/vant-weapp/goods-action-icon/index.js create mode 100644 miniprogram_npm/vant-weapp/goods-action-icon/index.json create mode 100644 miniprogram_npm/vant-weapp/goods-action-icon/index.wxml create mode 100644 miniprogram_npm/vant-weapp/goods-action-icon/index.wxss create mode 100644 miniprogram_npm/vant-weapp/goods-action/index.js create mode 100644 miniprogram_npm/vant-weapp/goods-action/index.json create mode 100644 miniprogram_npm/vant-weapp/goods-action/index.wxml create mode 100644 miniprogram_npm/vant-weapp/goods-action/index.wxss create mode 100644 miniprogram_npm/vant-weapp/icon/index.js create mode 100644 miniprogram_npm/vant-weapp/icon/index.json create mode 100644 miniprogram_npm/vant-weapp/icon/index.wxml create mode 100644 miniprogram_npm/vant-weapp/icon/index.wxss create mode 100644 miniprogram_npm/vant-weapp/loading/index.js create mode 100644 miniprogram_npm/vant-weapp/loading/index.json create mode 100644 miniprogram_npm/vant-weapp/loading/index.wxml create mode 100644 miniprogram_npm/vant-weapp/loading/index.wxss create mode 100644 miniprogram_npm/vant-weapp/mixins/basic.js create mode 100644 miniprogram_npm/vant-weapp/mixins/button.js create mode 100644 miniprogram_npm/vant-weapp/mixins/link.js create mode 100644 miniprogram_npm/vant-weapp/mixins/observer/behavior.js create mode 100644 miniprogram_npm/vant-weapp/mixins/observer/index.js create mode 100644 miniprogram_npm/vant-weapp/mixins/observer/props.js create mode 100644 miniprogram_npm/vant-weapp/mixins/open-type.js create mode 100644 miniprogram_npm/vant-weapp/mixins/touch.js create mode 100644 miniprogram_npm/vant-weapp/mixins/transition.js create mode 100644 miniprogram_npm/vant-weapp/nav-bar/index.js create mode 100644 miniprogram_npm/vant-weapp/nav-bar/index.json create mode 100644 miniprogram_npm/vant-weapp/nav-bar/index.wxml create mode 100644 miniprogram_npm/vant-weapp/nav-bar/index.wxss create mode 100644 miniprogram_npm/vant-weapp/notice-bar/index.js create mode 100644 miniprogram_npm/vant-weapp/notice-bar/index.json create mode 100644 miniprogram_npm/vant-weapp/notice-bar/index.wxml create mode 100644 miniprogram_npm/vant-weapp/notice-bar/index.wxss create mode 100644 miniprogram_npm/vant-weapp/notify/index.js create mode 100644 miniprogram_npm/vant-weapp/notify/index.json create mode 100644 miniprogram_npm/vant-weapp/notify/index.wxml create mode 100644 miniprogram_npm/vant-weapp/notify/index.wxss create mode 100644 miniprogram_npm/vant-weapp/notify/notify.js create mode 100644 miniprogram_npm/vant-weapp/overlay/index.js create mode 100644 miniprogram_npm/vant-weapp/overlay/index.json create mode 100644 miniprogram_npm/vant-weapp/overlay/index.wxml create mode 100644 miniprogram_npm/vant-weapp/overlay/index.wxss create mode 100644 miniprogram_npm/vant-weapp/panel/index.js create mode 100644 miniprogram_npm/vant-weapp/panel/index.json create mode 100644 miniprogram_npm/vant-weapp/panel/index.wxml create mode 100644 miniprogram_npm/vant-weapp/panel/index.wxss create mode 100644 miniprogram_npm/vant-weapp/popup/index.js create mode 100644 miniprogram_npm/vant-weapp/popup/index.json create mode 100644 miniprogram_npm/vant-weapp/popup/index.wxml create mode 100644 miniprogram_npm/vant-weapp/popup/index.wxss create mode 100644 miniprogram_npm/vant-weapp/progress/index.js create mode 100644 miniprogram_npm/vant-weapp/progress/index.json create mode 100644 miniprogram_npm/vant-weapp/progress/index.wxml create mode 100644 miniprogram_npm/vant-weapp/progress/index.wxss create mode 100644 miniprogram_npm/vant-weapp/radio-group/index.js create mode 100644 miniprogram_npm/vant-weapp/radio-group/index.json create mode 100644 miniprogram_npm/vant-weapp/radio-group/index.wxml create mode 100644 miniprogram_npm/vant-weapp/radio-group/index.wxss create mode 100644 miniprogram_npm/vant-weapp/radio/index.js create mode 100644 miniprogram_npm/vant-weapp/radio/index.json create mode 100644 miniprogram_npm/vant-weapp/radio/index.wxml create mode 100644 miniprogram_npm/vant-weapp/radio/index.wxss create mode 100644 miniprogram_npm/vant-weapp/row/index.js create mode 100644 miniprogram_npm/vant-weapp/row/index.json create mode 100644 miniprogram_npm/vant-weapp/row/index.wxml create mode 100644 miniprogram_npm/vant-weapp/row/index.wxss create mode 100644 miniprogram_npm/vant-weapp/search/index.js create mode 100644 miniprogram_npm/vant-weapp/search/index.json create mode 100644 miniprogram_npm/vant-weapp/search/index.wxml create mode 100644 miniprogram_npm/vant-weapp/search/index.wxss create mode 100644 miniprogram_npm/vant-weapp/slider/index.js create mode 100644 miniprogram_npm/vant-weapp/slider/index.json create mode 100644 miniprogram_npm/vant-weapp/slider/index.wxml create mode 100644 miniprogram_npm/vant-weapp/slider/index.wxss create mode 100644 miniprogram_npm/vant-weapp/stepper/index.js create mode 100644 miniprogram_npm/vant-weapp/stepper/index.json create mode 100644 miniprogram_npm/vant-weapp/stepper/index.wxml create mode 100644 miniprogram_npm/vant-weapp/stepper/index.wxss create mode 100644 miniprogram_npm/vant-weapp/steps/index.js create mode 100644 miniprogram_npm/vant-weapp/steps/index.json create mode 100644 miniprogram_npm/vant-weapp/steps/index.wxml create mode 100644 miniprogram_npm/vant-weapp/steps/index.wxss create mode 100644 miniprogram_npm/vant-weapp/submit-bar/index.js create mode 100644 miniprogram_npm/vant-weapp/submit-bar/index.json create mode 100644 miniprogram_npm/vant-weapp/submit-bar/index.wxml create mode 100644 miniprogram_npm/vant-weapp/submit-bar/index.wxss create mode 100644 miniprogram_npm/vant-weapp/swipe-cell/index.js create mode 100644 miniprogram_npm/vant-weapp/swipe-cell/index.json create mode 100644 miniprogram_npm/vant-weapp/swipe-cell/index.wxml create mode 100644 miniprogram_npm/vant-weapp/swipe-cell/index.wxss create mode 100644 miniprogram_npm/vant-weapp/switch-cell/index.js create mode 100644 miniprogram_npm/vant-weapp/switch-cell/index.json create mode 100644 miniprogram_npm/vant-weapp/switch-cell/index.wxml create mode 100644 miniprogram_npm/vant-weapp/switch-cell/index.wxss create mode 100644 miniprogram_npm/vant-weapp/switch/index.js create mode 100644 miniprogram_npm/vant-weapp/switch/index.json create mode 100644 miniprogram_npm/vant-weapp/switch/index.wxml create mode 100644 miniprogram_npm/vant-weapp/switch/index.wxss create mode 100644 miniprogram_npm/vant-weapp/tab/index.js create mode 100644 miniprogram_npm/vant-weapp/tab/index.json create mode 100644 miniprogram_npm/vant-weapp/tab/index.wxml create mode 100644 miniprogram_npm/vant-weapp/tabbar-item/index.js create mode 100644 miniprogram_npm/vant-weapp/tabbar-item/index.json create mode 100644 miniprogram_npm/vant-weapp/tabbar-item/index.wxml create mode 100644 miniprogram_npm/vant-weapp/tabbar-item/index.wxss create mode 100644 miniprogram_npm/vant-weapp/tabbar/index.js create mode 100644 miniprogram_npm/vant-weapp/tabbar/index.json create mode 100644 miniprogram_npm/vant-weapp/tabbar/index.wxml create mode 100644 miniprogram_npm/vant-weapp/tabbar/index.wxss create mode 100644 miniprogram_npm/vant-weapp/tabs/index.js create mode 100644 miniprogram_npm/vant-weapp/tabs/index.json create mode 100644 miniprogram_npm/vant-weapp/tabs/index.wxml create mode 100644 miniprogram_npm/vant-weapp/tabs/index.wxss create mode 100644 miniprogram_npm/vant-weapp/tag/index.js create mode 100644 miniprogram_npm/vant-weapp/tag/index.json create mode 100644 miniprogram_npm/vant-weapp/tag/index.wxml create mode 100644 miniprogram_npm/vant-weapp/tag/index.wxss create mode 100644 miniprogram_npm/vant-weapp/toast/index.js create mode 100644 miniprogram_npm/vant-weapp/toast/index.json create mode 100644 miniprogram_npm/vant-weapp/toast/index.wxml create mode 100644 miniprogram_npm/vant-weapp/toast/index.wxss create mode 100644 miniprogram_npm/vant-weapp/toast/toast.js create mode 100644 miniprogram_npm/vant-weapp/transition/index.js create mode 100644 miniprogram_npm/vant-weapp/transition/index.json create mode 100644 miniprogram_npm/vant-weapp/transition/index.wxml create mode 100644 miniprogram_npm/vant-weapp/transition/index.wxss create mode 100644 miniprogram_npm/vant-weapp/tree-select/index.js create mode 100644 miniprogram_npm/vant-weapp/tree-select/index.json create mode 100644 miniprogram_npm/vant-weapp/tree-select/index.wxml create mode 100644 miniprogram_npm/vant-weapp/tree-select/index.wxss create mode 100644 package-lock.json create mode 100644 pages/about/about.js create mode 100644 pages/about/about.json create mode 100644 pages/about/about.wxml create mode 100644 pages/about/about.wxss create mode 100644 style/index.wxss diff --git a/app.json b/app.json index bb40b7c..f6634fc 100644 --- a/app.json +++ b/app.json @@ -1,15 +1,19 @@ { "pages": [ "pages/index/index", + "pages/issue/issue", + "pages/post/post", + + "pages/detail/detail", + "pages/i/i", "pages/navigater/navigater", - "pages/detail/detail", "pages/list/list", - "pages/post/post", - "pages/issue/issue", - "pages/favorite/favorite" + + "pages/favorite/favorite", + "pages/about/about" ], "window": { "backgroundColor": "#0071BD", @@ -33,8 +37,8 @@ "text": "发布" }, { - "pagePath":"pages/i/i", - "text":"我" + "pagePath": "pages/i/i", + "text": "我" } ], "color": "#cccccc", @@ -52,15 +56,35 @@ "i-button": "../../dist/button/index", "i-row": "../../dist/row/index", "i-col": "../../dist/col/index", - "i-grid": "../../dist/grid/index", - "i-grid-item": "../../dist/grid-item/index", - "i-grid-icon": "../../dist/grid-icon/index", - "i-grid-label": "../../dist/grid-label/index", - "i-alert": "../../dist/alert/index", - "i-icon": "../../dist/icon/index", - "i-load-more": "../../dist/load-more/index", - "i-tab-bar": "../../dist/tab-bar/index", - "i-tab-bar-item": "../../dist/tab-bar-item/index", - "i-card": "../../dist/card/index" + "i-grid": "../../dist/grid/index", + "i-grid-item": "../../dist/grid-item/index", + "i-grid-icon": "../../dist/grid-icon/index", + "i-grid-label": "../../dist/grid-label/index", + "i-alert": "../../dist/alert/index", + "i-icon": "../dist/icon/index", + "i-load-more": "../../dist/load-more/index", + "i-tab-bar": "../../dist/tab-bar/index", + "i-tab-bar-item": "../../dist/tab-bar-item/index", + "i-card": "../../dist/card/index", + "i-divider": "/dist/divider/index", + "van-button": "/changed/button/index", + "van-search": "/vant-weapp/search/index", + "van-tab": "/vant-weapp/tab/index", + "van-tabs": "/vant-weapp/tabs/index", + "van-panel": "/vant-weapp/panel/index", + "van-cell": "/vant-weapp/cell/index", + "van-cell-group": "/vant-weapp/cell-group/index", + "van-slider": "/vant-weapp/slider/index", + "van-progress": "/vant-weapp/progress/index", + "van-checkbox": "/vant-weapp/checkbox/index", + "van-checkbox-group": "/vant-weapp/checkbox-group/index", + "van-search": "/vant-weapp/search/index", + "van-tag": "/vant-weapp/tag/index", + "van-goods-action": "/vant-weapp/goods-action/index", + "van-goods-action-icon": "/vant-weapp/goods-action-icon/index", + "van-goods-action-button": "/vant-weapp/goods-action-button/index", + "van-field": "/vant-weapp/field/index", + "van-popup": "/vant-weapp/popup/index", + "van-submit-bar": "/vant-weapp/submit-bar/index" } } \ No newline at end of file diff --git a/app.wxss b/app.wxss index 0bf63b7..2ba2b6e 100644 --- a/app.wxss +++ b/app.wxss @@ -1,5 +1,6 @@ @import "style/weui.wxss"; - +@import "style/index.wxss"; +@import "miniprogram_npm/vant-weapp/button/index.wxss"; .container { display: flex; flex-direction: column; @@ -12,3 +13,4 @@ page { font-size: 16px; font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif; } + diff --git a/changed/button/index.js b/changed/button/index.js new file mode 100644 index 0000000..6a732f9 --- /dev/null +++ b/changed/button/index.js @@ -0,0 +1,52 @@ +import { VantComponent } from '../../miniprogram_npm/vant-weapp/common/component'; +import { button } from '../../miniprogram_npm/vant-weapp/mixins/button'; +import { openType } from '../../miniprogram_npm/vant-weapp/mixins/open-type'; +VantComponent({ + classes: ['loading-class'], + mixins: [button, openType], + props: { + plain: Boolean, + block: Boolean, + round: Boolean, + square: Boolean, + loading: Boolean, + disabled: Boolean, + type: { + type: String, + value: 'default' + }, + size: { + type: String, + value: 'normal' + } + }, + computed: { + classes: function classes() { + var _this$data = this.data, + type = _this$data.type, + size = _this$data.size, + block = _this$data.block, + plain = _this$data.plain, + round = _this$data.round, + square = _this$data.square, + loading = _this$data.loading, + disabled = _this$data.disabled; + return this.classNames('custom-class', 'van-button', "van-button--" + type, "van-button--" + size, { + 'van-button--block': block, + 'van-button--round': round, + 'van-button--plain': plain, + 'van-button--square': square, + 'van-button--loading': loading, + 'van-button--disabled': disabled, + 'van-button--unclickable': disabled || loading + }); + } + }, + methods: { + onClick: function onClick() { + if (!this.data.disabled && !this.data.loading) { + this.$emit('click'); + } + } + } +}); \ No newline at end of file diff --git a/changed/button/index.json b/changed/button/index.json new file mode 100644 index 0000000..19a3d92 --- /dev/null +++ b/changed/button/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-loading": "/miniprogram_npm/vant-weapp/loading/index" + } +} \ No newline at end of file diff --git a/changed/button/index.wxml b/changed/button/index.wxml new file mode 100644 index 0000000..32c2b36 --- /dev/null +++ b/changed/button/index.wxml @@ -0,0 +1,26 @@ + diff --git a/changed/button/index.wxss b/changed/button/index.wxss new file mode 100644 index 0000000..196e351 --- /dev/null +++ b/changed/button/index.wxss @@ -0,0 +1,149 @@ +.van-button { + position: relative; + padding: 0; + display: inline-block; + height: 44px; + line-height: 42px; + border-radius: 2px; + box-sizing: border-box; + font-size: 16px; + text-align: center; + vertical-align: middle; + -webkit-appearance: none; + -webkit-text-size-adjust: 100%; +} + +.van-button::after { + content: " "; + position: absolute; + top: 50%; + left: 50%; + opacity: 0; + width: 100%; + height: 100%; + border: inherit; + border-color: #000; + background-color: #000; + border-radius: inherit; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +.van-button:active::after { + opacity: 0.15; +} + +.van-button--unclickable::after { + display: none; +} + +.van-button--default { + color: #333; + background-color: #fff; + border: 1px solid #eee; +} + +.van-button--primary { + color: #fff; + background-color: #4b0; + border: 1px solid #4b0; +} + +.van-button--danger { + color: #fff; + background-color: #1173bc; + border: 1px solid #1173bc; +} + +.van-button--share { + color: #fff; + background-color: #1173bc; + border: 1px solid #1173bc; +} + +.van-button--co { + color: #fff; + background-color: #ffa500; + border: 1px solid #ffa500; +} + +.van-button--white { + color: #2b2b2b; + background-color: #fff; + border: 1px solid #fff; +} + +.van-button--warning { + color: #fff; + background-color: #ff976a; + border: 1px solid #ff976a; +} + +.van-button--plain { + background-color: #fff; +} + +.van-button--plain.van-button--primary { + color: #4b0; +} + +.van-button--plain.van-button--danger { + color: #f44; +} + +.van-button--plain.van-button--warning { + color: #ff976a; +} + +.van-button--large { + width: 100%; + height: 50px; + line-height: 48px; +} + +.van-button--normal { + padding: 0 15px; + font-size: 14px; +} + +.van-button--long { + padding: 0 65px; + font-size: 16px; +} + +.van-button--small { + height: 30px; + padding: 0 8px; + min-width: 60px; + font-size: 12px; + line-height: 28px; +} + +.van-button--mini { + display: inline-block; + width: 50px; + height: 22px; + line-height: 20px; + font-size: 10px; +} + +.van-button--mini+.van-button--mini { + margin-left: 5px; +} + +.van-button--block { + width: 100%; + display: block; +} + +.van-button--round { + border-radius: 10em; +} + +.van-button--square { + border-radius: 0; +} + +.van-button--disabled { + opacity: 0.5; +} diff --git a/changed/checkbox/index.js b/changed/checkbox/index.js new file mode 100644 index 0000000..7c69671 --- /dev/null +++ b/changed/checkbox/index.js @@ -0,0 +1,94 @@ +import { VantComponent } from '../../miniprogram_npm/vant-weapp/common/component'; +VantComponent({ + field: true, + relation: { + name: 'checkbox-group', + type: 'ancestor' + }, + classes: ['icon-class', 'label-class'], + props: { + value: null, + disabled: Boolean, + useIconSlot: Boolean, + checkedColor: String, + labelPosition: String, + labelDisabled: Boolean, + shape: { + type: String, + value: 'round' + } + }, + computed: { + iconClass: function iconClass() { + var _this$data = this.data, + disabled = _this$data.disabled, + value = _this$data.value, + shape = _this$data.shape; + return this.classNames('van-checkbox__icon', "van-checkbox__icon--" + shape, { + 'van-checkbox__icon--disabled': disabled, + 'van-checkbox__icon--checked': value + }); + }, + iconStyle: function iconStyle() { + var _this$data2 = this.data, + value = _this$data2.value, + disabled = _this$data2.disabled, + checkedColor = _this$data2.checkedColor; + + if (checkedColor && value && !disabled) { + return "border-color: " + checkedColor + "; background-color: " + checkedColor; + } + + return ''; + } + }, + methods: { + emitChange: function emitChange(value) { + var parent = this.getRelationNodes('../checkbox-group/index')[0]; + + if (parent) { + this.setParentValue(parent, value); + } else { + this.$emit('input', value); + this.$emit('change', value); + } + }, + toggle: function toggle() { + if (!this.data.disabled) { + this.emitChange(!this.data.value); + } + }, + onClickLabel: function onClickLabel() { + if (!this.data.disabled && !this.data.labelDisabled) { + this.emitChange(!this.data.value); + } + }, + setParentValue: function setParentValue(parent, value) { + var parentValue = parent.data.value.slice(); + var name = this.data.name; + + if (value) { + if (parent.data.max && parentValue.length >= parent.data.max) { + return; + } + /* istanbul ignore else */ + + + if (parentValue.indexOf(name) === -1) { + parentValue.push(name); + parent.$emit('input', parentValue); + parent.$emit('change', parentValue); + } + } else { + var index = parentValue.indexOf(name); + /* istanbul ignore else */ + + if (index !== -1) { + parentValue.splice(index, 1); + parent.$emit('input', parentValue); + parent.$emit('change', parentValue); + } + } + } + } +}); \ No newline at end of file diff --git a/changed/checkbox/index.json b/changed/checkbox/index.json new file mode 100644 index 0000000..c59ebd3 --- /dev/null +++ b/changed/checkbox/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-icon": "/miniprogram_npm/vant-weapp/icon/index" + } +} diff --git a/changed/checkbox/index.wxml b/changed/checkbox/index.wxml new file mode 100644 index 0000000..6d57590 --- /dev/null +++ b/changed/checkbox/index.wxml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/changed/checkbox/index.wxss b/changed/checkbox/index.wxss new file mode 100644 index 0000000..45f395e --- /dev/null +++ b/changed/checkbox/index.wxss @@ -0,0 +1 @@ +@import '../../miniprogram_npm/vant-weapp/common/index.wxss';.van-checkbox{overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox__icon-wrap,.van-checkbox__label{display:inline-block;line-height:20px;vertical-align:middle}.van-checkbox__icon{box-sizing:border-box;display:block;width:20px;height:20px;border:1px solid #e5e5e5;color:transparent;font-size:12px;text-align:center;transition:.2s}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{color:#fff;border-color:#1989fa;background-color:#1989fa}.van-checkbox__icon--disabled{border-color:#eee;background-color:currentColor;color:#f8f8f8}.van-checkbox__icon--disabled.van-checkbox__icon--checked{border-color:#eee;background-color:#eee}.van-checkbox__label{margin-left:10px}.van-checkbox__label--left{margin:0 10px 0 0;float:left}.van-checkbox__label:empty{margin:0} \ No newline at end of file diff --git a/dist/button/index.wxss b/dist/button/index.wxss index 550bc81..5779f52 100644 --- a/dist/button/index.wxss +++ b/dist/button/index.wxss @@ -1 +1,121 @@ -.i-btn{text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;white-space:nowrap;user-select:none;font-size:14px;border-radius:2px;border:0!important;position:relative;text-decoration:none;height:44px;line-height:44px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);color:#fff!important;background:#f7f7f7!important;color:#495060!important;margin:10px}.i-btn-hover{opacity:.9}.i-btn-long{border-radius:0;margin:0;box-shadow:none}.i-btn-large{height:48px;line-height:48px}.i-btn-small{height:40px;line-height:40px}.i-btn-primary{color:#fff!important;background:#2d8cf0!important}.i-btn-ghost{color:#fff!important;background:#fff!important;color:#495060!important}.i-btn-success{color:#fff!important;background:#19be6b!important}.i-btn-warning{color:#fff!important;background:#f90!important}.i-btn-error{color:#fff!important;background:#ed3f14!important}.i-btn-info{color:#fff!important;background:#2db7f5!important}.i-btn-circle{border-radius:44px}.i-btn-large.i-btn-circle{border-radius:48px}.i-btn-small.i-btn-circle{border-radius:40px}.i-btn-loading{opacity:.6}.i-btn-loading-inner{display:inline-block;margin-right:12px;vertical-align:middle;width:14px;height:14px;background:0 0;border-radius:50%;border:2px solid #fff;border-color:#fff #fff #fff transparent;animation:btn-spin .6s linear;animation-iteration-count:infinite}.i-btn-disabled{color:#bbbec4!important;background:#f7f7f7!important}.i-btn-inline{display:inline-block}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file +.i-btn { + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + white-space: nowrap; + user-select: none; + font-size: 14px; + border-radius: 2px; + border: 0 !important; + position: relative; + text-decoration: none; + height: 44px; + line-height: 44px; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); + color: #fff; + background: #f7f7f7 ; + color: #495060 ; + margin: 10px; +} + +.i-btn-hover { + opacity: 0.9; +} + +.i-btn-long { + border-radius: 0; + margin: 0; + box-shadow: none; +} + +.i-btn-large { + height: 48px; + line-height: 48px; +} + +.i-btn-small { + height: 40px; + line-height: 40px; +} + +.i-btn-primary { + color: #fff !important; + background: #2d8cf0 !important; +} + +.i-btn-ghost { + color: #fff !important; + background: #fff !important; + color: #495060 !important; +} + +.i-btn-success { + color: #fff !important; + background: #19be6b !important; +} + +.i-btn-warning { + color: #fff !important; + background: #f90 !important; +} + +.i-btn-error { + color: #fff !important; + background: #ed3f14 !important; +} + +.i-btn-info { + color: #fff !important; + background: #2db7f5 !important; +} + +.i-btn-circle { + border-radius: 44px; +} + +.i-btn-large.i-btn-circle { + border-radius: 48px; +} + +.i-btn-small.i-btn-circle { + border-radius: 40px; +} + +.i-btn-loading { + opacity: 0.6; +} + +.i-btn-loading-inner { + display: inline-block; + margin-right: 12px; + vertical-align: middle; + width: 14px; + height: 14px; + background: 0 0; + border-radius: 50%; + border: 2px solid #fff; + border-color: #fff #fff #fff transparent; + animation: btn-spin 0.6s linear; + animation-iteration-count: infinite; +} + +.i-btn-disabled { + color: #bbbec4 !important; + background: #f7f7f7 !important; +} + +.i-btn-inline { + display: inline-block; +} + +@keyframes btn-spin { + 0% { + transform: rotate(0); + } + + 100% { + transform: rotate(360deg); + } +} diff --git a/dist/divider/index.wxss b/dist/divider/index.wxss index 98827ab..9e75245 100644 --- a/dist/divider/index.wxss +++ b/dist/divider/index.wxss @@ -1 +1,26 @@ -.i-divider{width:100%;text-align:center;font-size:12px;position:relative;display:flex;align-items:center;justify-content:center}.i-divider-line{position:absolute;left:0;width:100%;height:1rpx;background-color:#f7f7f7;top:50%}.i-divider-content{background:#fff;position:relative;z-index:1;display:inline-block;padding:0 10px} \ No newline at end of file +.i-divider { + width: 100%; + text-align: center; + font-size: 12px; + position: relative; + display: flex; + align-items: center; + justify-content: center; +} + +.i-divider-line { + position: absolute; + left: 0; + width: 100%; + height: 1rpx; + background-color: #f7f7f7; + top: 50%; +} + +.i-divider-content { + background: #fff; + position: relative; + z-index: 1; + display: inline-block; + padding: 0 10px; +} diff --git a/images/d.jpg b/images/d.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e56277fc3fa828b2db9d587fe8005e8a7893b94 GIT binary patch literal 23752 zcmeHv2{@H&_xEF#q1}K=v5RC*WQbxLLa1aWQ<;a5P%`b1WSc?~Vw>l&3>hM`MCKtG zA~TsX+rxKnopU-m@BbaX@0{;k-*>&b9?x}eJNC1lwSMcjerw$iz7PKy+NUU|AO{f< zK@bu62jM?KG7u#>IR!ZxB?Se=o;{RQG<38y)YLRb4jhEhF)_lKnHY~9JAU#s`*9W? z)?>#wL^yfQ@CynG!r4W|&k0;OeO6F_@JopH?Ab#@O>>x*_OQT-VHI2s)%L}cXN~T7?V(~gbodA(+bMPq zPA)+qVUcs9Vlo$H<>W6ZD5|MzXliNeTsJl`H8Z!cv~qBCx_i(0zKi!mpGUrr{ZOG{ zPs5)@Jdcb@NK8sjNli=7c=@WJu&DTTNojRWZC!ms?b8V!B2ib zN`>O4{XrH1Pf9xJkof$nJ*;O{7wL`ev{Nyh6dYk&B3#<$U0K)IaB`B<+V@ zxReObHuN1aNNCyq6z#+u{|*m*wEP&A#dL2?Sv=v51fS0_Gksa26>Wc{iq`0cZc5ID z_wS;6t%xw+G4QnYm@%Dbg|2?eikS=rlduun%lf$KlU9F|z?(ILeJjoetN9 z-t-5xzk7sbL`w0+P-9&}>Em*u+$N%J>NLa<7ed+!V@TtadISD0z@@+&o&v1M z!)sokQ>$X&537!@-t%mEP&tlgxJ_fDf=-%vvoxZM2hli>d#V$aMScPs_MW58mClex z@Zqg@_P4*Zk-^)#`zn~H_)pWQiQ>K~cyAFYhetK=}aVi>8LeO9?lIFp*0wy8hB#DL3*zHqW_` zNh?orPo4W3=X1A##-aihNA(PSBB4o3hj|ao+v(k_;;XL@<5o&qvcbSOD9ard^pX2JTaE?m2zu@smhrTbxs_EQ1`%hpj;6DlhvLZ;7jDYi5@@A33CA!Q+rLbqx(B z;s7cqx)wU4A}LwAYu8j{=^( - diff --git a/dist/spin/index.wxss b/dist/spin/index.wxss deleted file mode 100644 index 8ed714a..0000000 --- a/dist/spin/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-spin{color:#2d8cf0;vertical-align:middle;text-align:center}.i-spin-dot{position:relative;display:block;border-radius:50%;background-color:#2d8cf0;width:20px;height:20px;animation:ani-spin-bounce 1s 0s ease-in-out infinite}.i-spin-large .i-spin-dot{width:32px;height:32px}.i-spin-small .i-spin-dot{width:12px;height:12px}.i-spin-fix{position:absolute;top:0;left:0;z-index:8;width:100%;height:100%;background-color:rgba(255,255,255,.9)}.i-spin-fullscreen{z-index:2010}.i-spin-fullscreen-wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.i-spin-fix .i-spin-main{position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.i-spin-fix .i-spin-dot{display:inline-block}.i-spin-show-text .i-spin-dot,.i-spin-text{display:none}.i-spin-show-text .i-spin-text{display:block;font-size:14px}@keyframes ani-spin-bounce{0%{transform:scale(0)}100%{transform:scale(1);opacity:0}} \ No newline at end of file diff --git a/dist/step/index.js b/dist/step/index.js deleted file mode 100644 index 06a81a2..0000000 --- a/dist/step/index.js +++ /dev/null @@ -1,52 +0,0 @@ -Component({ - externalClasses: ['i-class'], - properties : { - status : { - type : String, - //wait、process、finish、error - value : '' - }, - title : { - type : String, - value : '' - }, - content : { - type : String, - value : '' - }, - icon : { - type : String, - value : '' - } - }, - options: { - // 在组件定义时的选项中启用多slot支持 - multipleSlots: true - }, - relations : { - '../steps/index' : { - type : 'parent' - } - }, - data : { - //step length - len : 1, - //current in step index - index : 0, - //parent component select current index - current : 0, - //css direction - direction : 'horizontal' - }, - methods : { - updateDataChange( options ){ - this.setData({ - len : options.len, - index : options.index, - current : options.current, - direction : options.direction - }) - } - } - -}) \ No newline at end of file diff --git a/dist/step/index.json b/dist/step/index.json deleted file mode 100644 index ffb5dee..0000000 --- a/dist/step/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-icon": "../icon/index" - } -} diff --git a/dist/step/index.wxml b/dist/step/index.wxml deleted file mode 100644 index 63549dc..0000000 --- a/dist/step/index.wxml +++ /dev/null @@ -1,70 +0,0 @@ - - - {{ index+1 }} - - - - - - - - {{title}} - - - - - - {{content}} - - - - - - - -var allStatus = ['wait','process','finish','error']; -module.exports = { - noIco : function( status,current,index,icon ){ - var aindex = allStatus.indexOf(status); - var noIcon = true; - if( index < current || icon !== '' ){ - noIcon = false; - } - return noIcon; - }, - getIcoClass : function( status,ico ){ - var class = ''; - if( status === 'error' ){ - class = 'close'; - }else{ - class = 'right'; - } - if( ico !== '' ){ - class = ico; - } - return class; - }, - getItemStyle : function(len,direction){ - if( direction === 'horizontal' ){ - return 'width :'+100/len + '%'; - }else{ - return 'width : 100%;'; - } - }, - getClass : function( status,current,index ) { - //wait、process、finish、error - var startClass = 'i-step-' - var classes = ''; - var cindex = allStatus.indexOf( status ); - if( cindex !== -1 ){ - classes = startClass + allStatus[cindex]; - } - if( index < current ){ - classes = startClass + 'finish'; - }else if( index === current ){ - classes = startClass + 'process'; - } - return classes; - } -} - \ No newline at end of file diff --git a/dist/step/index.wxss b/dist/step/index.wxss deleted file mode 100644 index 284b42a..0000000 --- a/dist/step/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-step-ico{width:24px;height:100%;border-radius:100%;background:#fff;position:relative;z-index:2;margin:0 auto;border:#dddee1 solid 1px}.i-step-ico-in{vertical-align:baseline}.i-step-line{position:absolute;left:50%;top:12px;width:100%;height:1px;background:#dddee1}.i-step-horizontal .i-step-ico::after{position:absolute;top:11px;left:23px;z-index:1;content:'';height:1px;background:#fff;width:10px}.i-step-horizontal .i-step-item-main{text-align:center}.i-step-horizontal .i-step-ico::before{position:absolute;top:11px;left:-11px;z-index:1;content:'';height:1px;background:#fff;width:10px}.i-step-ico{box-sizing:border-box;font-size:12px}.i-step-process .i-step-ico{border:#2d8cf0 solid 1px;color:#fff;background:#2d8cf0}.i-step-wait .i-step-ico{border:#e9eaec solid 1px;color:#e9eaec}.i-step-wait .i-step-line{background:#2d8cf0}.i-step-finish .i-step-ico{border:#2d8cf0 solid 1px;color:#2d8cf0}.i-step-finish .i-step-line{background:#2d8cf0}.i-step-error .i-step-ico{border:#ed3f14 solid 1px;color:#ed3f14}.i-step-error .i-step-line{background:#ed3f14}.i-step-item{font-size:12px;position:relative;display:inline-block;box-sizing:border-box;padding-left:10px;vertical-align:top}.i-step-item-ico{width:100%;height:24px;line-height:24px;text-align:center}.i-step-item-main{margin-top:10px;clear:both}.i-step-item-title{font-size:14px;font-weight:700;color:#1c2438}.i-step-item-content{font-size:12px;font-weight:700;margin-top:2px;color:#80848f}.i-step-vertical{padding-bottom:30px}.i-step-vertical .i-step-item-ico{width:24px;float:left}.i-step-vertical .i-step-item-main{margin-left:40px;margin-top:0;clear:inherit}.i-step-vertical .i-step-line{position:absolute;height:100%;top:0;left:10px;margin:0 0 0 12px;width:1px} \ No newline at end of file diff --git a/dist/steps/index.js b/dist/steps/index.js deleted file mode 100644 index 06bed88..0000000 --- a/dist/steps/index.js +++ /dev/null @@ -1,50 +0,0 @@ -Component({ - externalClasses: ['i-class'], - properties : { - current : { - type : Number, - value : -1, - observer : '_updateDataChange' - }, - status : { - type : String, - //wait、process、finish、error - value : '' - }, - direction : { - type : String, - //value has horizontal or vertical - value : 'horizontal' - } - }, - relations : { - '../step/index' : { - type : 'child', - linked(){ - this._updateDataChange(); - }, - linkChanged () { - this._updateDataChange(); - }, - unlinked () { - this._updateDataChange(); - } - } - }, - methods: { - _updateDataChange() { - let steps = this.getRelationNodes('../step/index'); - const len = steps.length; - if (len > 0) { - steps.forEach((step, index) => { - step.updateDataChange({ - len : len, - index : index, - current : this.data.current, - direction : this.data.direction - }); - }); - } - } - } -}) \ No newline at end of file diff --git a/dist/steps/index.json b/dist/steps/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/steps/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/steps/index.wxml b/dist/steps/index.wxml deleted file mode 100644 index d9c7942..0000000 --- a/dist/steps/index.wxml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/dist/steps/index.wxss b/dist/steps/index.wxss deleted file mode 100644 index 616ed04..0000000 --- a/dist/steps/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-steps{width:100%} \ No newline at end of file diff --git a/dist/sticky-item/index.js b/dist/sticky-item/index.js deleted file mode 100644 index 4fc3dbe..0000000 --- a/dist/sticky-item/index.js +++ /dev/null @@ -1,40 +0,0 @@ -Component({ - externalClasses: ['i-class'], - options: { - multipleSlots: true - }, - relations : { - '../sticky/index' : { - type : 'parent' - } - }, - data : { - top : 0, - height : 0, - isFixed : false, - index : -1, - }, - methods: { - updateScrollTopChange(scrollTop){ - const data = this.data; - const top = data.top; - const height = data.height; - this.setData({ - isFixed : ( scrollTop >= top && scrollTop < top + height ) ? true : false - }) - }, - updateDataChange(index) { - const className = '.i-sticky-item'; - const query = wx.createSelectorQuery().in(this); - query.select( className ).boundingClientRect((res)=>{ - if( res ){ - this.setData({ - top : res.top, - height : res.height, - index : index - }) - } - }).exec() - } - } -}) \ No newline at end of file diff --git a/dist/sticky-item/index.json b/dist/sticky-item/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/sticky-item/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/sticky-item/index.wxml b/dist/sticky-item/index.wxml deleted file mode 100644 index 613a5c0..0000000 --- a/dist/sticky-item/index.wxml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dist/sticky-item/index.wxss b/dist/sticky-item/index.wxss deleted file mode 100644 index 7328f0f..0000000 --- a/dist/sticky-item/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-sticky-item-header{background:#eee;font-size:14px;width:100%;height:32px;line-height:32px}.i-sticky-item-content{font-size:14px}.i-sticky-title{width:100%;padding:0 15px;box-sizing:border-box;background:#eee}.i-sticky-fixed .i-sticky-title{position:fixed;top:0} \ No newline at end of file diff --git a/dist/sticky/index.js b/dist/sticky/index.js deleted file mode 100644 index 546aa4c..0000000 --- a/dist/sticky/index.js +++ /dev/null @@ -1,63 +0,0 @@ -Component({ - externalClasses: ['i-class'], - properties : { - scrollTop : { - type : Number, - observer(val){ - this._updateScrollTopChange(); - } - } - }, - relations : { - '../sticky-item/index' : { - type : 'child', - linked(){ - this._updateDataChange(); - }, - linkChanged () { - this._updateDataChange(); - }, - unlinked () { - this._updateDataChange(); - } - } - }, - data : { - timer : null, - itemLength : 0, - }, - methods : { - _updateScrollTopChange(){ - const stickies = this.getRelationNodes('../sticky-item/index'); - if( stickies.length > 0 ){ - stickies.forEach((item) => { - if( item ){ - item.updateScrollTopChange( this.data.scrollTop ); - } - }) - } - }, - _updateDataChange( ){ - const stickies = this.getRelationNodes('../sticky-item/index'); - if( stickies.length > 0 ){ - if( this.data.timer ){ - clearTimeout( this.data.timer ) - this.setData({ - timer : null - }) - } - this.data.timer = setTimeout(()=>{ - stickies.forEach((item,index) => { - if( item ){ - item.updateDataChange(index); - } - }) - },0) - this.setData({ - timer : this.data.timer - }) - } - } - } - -}) \ No newline at end of file diff --git a/dist/sticky/index.json b/dist/sticky/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/sticky/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/sticky/index.wxml b/dist/sticky/index.wxml deleted file mode 100644 index aee0c63..0000000 --- a/dist/sticky/index.wxml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/dist/sticky/index.wxss b/dist/sticky/index.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/dist/swipeout/index.js b/dist/swipeout/index.js deleted file mode 100644 index b23748c..0000000 --- a/dist/swipeout/index.js +++ /dev/null @@ -1,161 +0,0 @@ - /* -* touch事件判断方式 -* https://github.com/madrobby/zepto/blob/master/src/touch.js#files -*/ -function swipeDirection(x1, x2, y1, y2) { - return Math.abs(x1 - x2) >= - Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down') -} - -Component({ - externalClasses: ['i-class'], - properties: { - actions: { - value: [], - type: Array, - observer : '_updateButtonSize' - }, - unclosable : { - value : false, - type : Boolean - }, - toggle : { - value : false, - type : Boolean, - observer : 'closeButtonGroup' - }, - operateWidth : { - type : Number, - value : 160 - } - }, - options: { - // 在组件定义时的选项中启用多slot支持 - multipleSlots: true - }, - data : { - //touch start position - tStart : { - pageX : 0, - pageY : 0 - }, - //限制滑动距离 - limitMove : 0, - //element move position - position : { - pageX : 0, - pageY : 0 - } - }, - methods : { - //阻止事件冒泡 - loop(){}, - _updateButtonSize(){ - const actions = this.data.actions; - if( actions.length > 0 ){ - const query = wx.createSelectorQuery().in(this); - let limitMovePosition = 0; - actions.forEach(item => { - limitMovePosition += item.width || 0; - }); - this.data.limitMove = limitMovePosition; - /* - * 动态获取每个传进值的按钮尺寸不能正确获取,在安卓上少了6px - * 暂时实现需要在actions里面传递宽度 - * 需要后期调研 - */ - //query.selectAll('.i-swipeout-button-right-item').boundingClientRect((rects)=>{ - // if( rects ){ - // console.log(rects,1111111) - // rects.forEach(item => { - // limitMovePosition += item.width; - // }); - // this.data.limitMove = limitMovePosition; - // console.log(limitMovePosition,111111111) - // } - // }).exec() - }else{ - this.data.limitMove = this.data.operateWidth; - - } - }, - handlerTouchstart(event){ - const touches = event.touches ? event.touches[0] : {}; - const tStart = this.data.tStart; - if( touches ){ - for( let i in tStart ){ - if( touches[i] ){ - tStart[i] = touches[i]; - } - } - } - }, - swipper(touches){ - const data = this.data; - const start = data.tStart; - const spacing = { - pageX : touches.pageX - start.pageX, - pageY : touches.pageY - start.pageY - } - if( data.limitMove < Math.abs( spacing.pageX ) ){ - spacing.pageX = -data.limitMove; - - } - this.setData({ - 'position' : spacing - }) - }, - handlerTouchmove(event){ - const start = this.data.tStart; - const touches = event.touches ? event.touches[0] : {}; - if( touches ){ - const direction = swipeDirection( start.pageX,touches.pageX,start.pageY,touches.pageY ); - if( direction === 'Left' ){ - this.swipper( touches ); - } - } - }, - handlerTouchend(event){ - const start = this.data.tStart; - const touches = event.changedTouches ? event.changedTouches[0] : {}; - if( touches ){ - const direction = swipeDirection( start.pageX,touches.pageX,start.pageY,touches.pageY ); - const spacing = { - pageX : touches.pageX - start.pageX, - pageY : touches.pageY - start.pageY - } - if( Math.abs( spacing.pageX ) >= 40 && direction === "Left" ){ - spacing.pageX = spacing.pageX < 0 ? - this.data.limitMove : this.data.limitMove; - }else{ - spacing.pageX = 0; - } - this.setData({ - 'position' : spacing - }) - } - }, - handlerButton(event){ - if( !this.data.unclosable ){ - this.closeButtonGroup(); - } - const dataset = event.currentTarget.dataset; - this.triggerEvent('change',{ - index : dataset.index - }) - }, - closeButtonGroup(){ - this.setData({ - 'position' : {pageX : 0,pageY : 0} - }) - }, - //控制自定义组件 - handlerParentButton(event){ - if( !this.data.unclosable ){ - this.closeButtonGroup(); - } - } - }, - ready(){ - this._updateButtonSize(); - } -}); diff --git a/dist/swipeout/index.json b/dist/swipeout/index.json deleted file mode 100644 index c63f9a6..0000000 --- a/dist/swipeout/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": { - "i-cell": "../cell/index", - "i-icon": "../icon/index" - } -} \ No newline at end of file diff --git a/dist/swipeout/index.wxml b/dist/swipeout/index.wxml deleted file mode 100644 index f588015..0000000 --- a/dist/swipeout/index.wxml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - {{item.name}} - - - - - - - - - module.exports = { - setStyle : function( item ){ - var defaults = '#f7f7f7'; - return 'background:' + ( item.background ? item.background : defaults ) +';' + 'color:'+ item.color; - }, - setPosition : function( position ){ - return 'transform:translate(' + position.pageX + 'px,0);'; - } - } - \ No newline at end of file diff --git a/dist/swipeout/index.wxss b/dist/swipeout/index.wxss deleted file mode 100644 index 597cffc..0000000 --- a/dist/swipeout/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-swipeout-wrap{border-bottom:#dddee1 solid 1px;background:#fff;position:relative;overflow:hidden}.i-swipeout-item{width:100%;padding:15px 20px;box-sizing:border-box;transition:transform .2s ease;font-size:14px}.i-swipeout-content{white-space:nowrap;overflow:hidden}.i-swipeout-button-right-group{position:absolute;right:-100%;top:0;height:100%;z-index:1;width:100%}.i-swipeout-button-right-item{height:100%;float:left;white-space:nowrap;box-sizing:border-box;display:flex;align-items:center;justify-content:center} \ No newline at end of file diff --git a/dist/switch/index.js b/dist/switch/index.js deleted file mode 100644 index 5ebccfa..0000000 --- a/dist/switch/index.js +++ /dev/null @@ -1,38 +0,0 @@ -Component({ - externalClasses: ['i-class'], - properties : { - value : { - type : Boolean, - value : false - }, - //large small default - size : { - type : String, - value : 'default' - }, - // is or not disable - disabled : { - type : Boolean, - value : false - }, - // hidden inut name - name : { - type : String, - value : '' - } - }, - options: { - // 在组件定义时的选项中启用多slot支持 - multipleSlots: true - }, - methods : { - toggle(){ - if( this.data.disabled ) return; - const data = this.data; - const value = data.value ? false : true; - this.triggerEvent('change',{ - value : value - }) - } - } -}); diff --git a/dist/switch/index.json b/dist/switch/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/switch/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/switch/index.wxml b/dist/switch/index.wxml deleted file mode 100644 index a180254..0000000 --- a/dist/switch/index.wxml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - -var sizes = ['large', 'default']; -var prefixCls = 'i-switch'; -module.exports = { - setSize : function( size ){ - var index = sizes.indexOf( size ); - return prefixCls + ( index > -1 ? ( '-'+size ) : 'default' ) - }, - setCurrent : function( value,disabled ){ - var className = value && !disabled ? prefixCls + '-checked' : ''; - if( disabled ){ - className += ' ' + prefixCls + '-disabled'; - } - return className; - } -} - \ No newline at end of file diff --git a/dist/switch/index.wxss b/dist/switch/index.wxss deleted file mode 100644 index 128fea6..0000000 --- a/dist/switch/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-switch{display:inline-block;width:48px;height:24px;line-height:24px;border-radius:24px;vertical-align:middle;border:1px solid #ccc;background-color:#ccc;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s ease-in-out}.i-switch-hide-input{display:none;opacity:0}.i-switch-inner{color:#fff;font-size:12px;position:absolute;left:25px;vertical-align:middle}.i-switch-inner .i-icon{width:12px;height:12px;text-align:center;vertical-align:middle}.i-switch:after{content:'';width:22px;height:22px;border-radius:22px;background-color:#fff;position:absolute;left:1px;top:1px;cursor:pointer;transition:left .2s ease-in-out,width .2s ease-in-out}.i-switch-checked:after{left:8px}.i-switch-large{width:60px}.i-switch-large.i-switch-checked:after{left:37px}.i-switch-checked:after{left:25px}.i-switch-checked{border-color:#2d8cf0;background-color:#2d8cf0}.i-switch-checked .i-switch-inner{left:8px}.i-switch-checked:after{left:25px}.i-switch-disabled{background:#f3f3f3;border-color:#f3f3f3}.i-switch-disabled:after{background:#ccc;cursor:not-allowed}.i-switch-disabled .i-switch-inner{color:#ccc} \ No newline at end of file diff --git a/dist/tab-bar-item/index.js b/dist/tab-bar-item/index.js deleted file mode 100644 index 532dd04..0000000 --- a/dist/tab-bar-item/index.js +++ /dev/null @@ -1,70 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - relations: { - '../tab-bar/index': { - type: 'parent' - } - }, - - properties: { - icon: { - type: String, - value: '' - }, - currentIcon: { - type: String, - value: '' - }, - img: { - type: String, - value: '' - }, - currentImg: { - type: String, - value: '' - }, - key: { - type: String, - value: '' - }, - title: { - type: String, - value: '' - }, - dot: { - type: Boolean, - value: false - }, - count: { - type: Number, - value: 0 - }, - icsize:{ - type:Number, - value:22 - }, - scale:{ - type:Number, - value:1 - } - }, - - data: { - current: false, - currentColor: '' - }, - - methods: { - changeCurrent (current) { - this.setData({ current }); - }, - changeCurrentColor (currentColor) { - this.setData({ currentColor }); - }, - handleClickItem () { - const parent = this.getRelationNodes('../tab-bar/index')[0]; - parent.emitEvent(this.data.key); - } - } -}); diff --git a/dist/tab-bar-item/index.json b/dist/tab-bar-item/index.json deleted file mode 100644 index 918aaf8..0000000 --- a/dist/tab-bar-item/index.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-badge": "../badge/index", - "i-icon": "../icon/index" - } -} diff --git a/dist/tab-bar-item/index.wxml b/dist/tab-bar-item/index.wxml deleted file mode 100644 index d58eb44..0000000 --- a/dist/tab-bar-item/index.wxml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - {{ title }} - {{ title }} - - absolute - - \ No newline at end of file diff --git a/dist/tab-bar-item/index.wxss b/dist/tab-bar-item/index.wxss deleted file mode 100644 index 0f8a9c8..0000000 --- a/dist/tab-bar-item/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-tab-bar-item{flex:1;display:flex;width:100%;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;text-align:center}.i-tab-bar-item-icon{display:flex;-webkit-box-pack:center;justify-content:center;box-sizing:border-box;color:#80848f}.i-tab-bar-item-icon-current{color:#2d8cf0}.i-tab-bar-item-img{display:flex;-webkit-box-pack:center;justify-content:center;box-sizing:border-box;width:22px;height:22px}.i-tab-bar-item-title{font-size:10px;margin:3px 0 0;line-height:1;text-align:center;box-sizing:border-box;color:#80848f}.i-tab-bar-item-title-current{color:#2d8cf0}.i-tab-bar-item-img{display:flex;-webkit-box-pack:center;justify-content:center;box-sizing:border-box;color:#80848f} \ No newline at end of file diff --git a/dist/tab-bar/index.js b/dist/tab-bar/index.js deleted file mode 100644 index ca02fe4..0000000 --- a/dist/tab-bar/index.js +++ /dev/null @@ -1,66 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - relations: { - '../tab-bar-item/index': { - type: 'child', - linked () { - this.changeCurrent(); - }, - linkChanged () { - this.changeCurrent(); - }, - unlinked () { - this.changeCurrent(); - } - } - }, - - properties: { - current: { - type: String, - value: '', - observer: 'changeCurrent' - }, - color: { - type: String, - value: '' - }, - fixed: { - type: Boolean, - value: false - } - }, - - data: { - list: [] - }, - - methods: { - changeCurrent (val = this.data.current) { - let items = this.getRelationNodes('../tab-bar-item/index'); - const len = items.length; - - if (len > 0) { - const list = []; - items.forEach(item => { - item.changeCurrent(item.data.key === val); - item.changeCurrentColor(this.data.color); - list.push({ - key: item.data.key - }); - }); - this.setData({ - list: list - }); - } - }, - emitEvent (key) { - this.triggerEvent('change', { key }); - }, - handleClickItem (e) { - const key = e.currentTarget.dataset.key; - this.emitEvent(key); - } - } -}); diff --git a/dist/tab-bar/index.json b/dist/tab-bar/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/tab-bar/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/tab-bar/index.wxml b/dist/tab-bar/index.wxml deleted file mode 100644 index 9dbfbea..0000000 --- a/dist/tab-bar/index.wxml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/dist/tab-bar/index.wxss b/dist/tab-bar/index.wxss deleted file mode 100644 index 5c6fd9c..0000000 --- a/dist/tab-bar/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-tab-bar{display:flex;width:100%;height:50px;box-sizing:border-box;position:relative;justify-content:space-around;align-items:center;-webkit-box-align:center;background:#fff}.i-tab-bar::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-top-width:1px}.i-tab-bar-fixed{position:fixed;bottom:0;z-index:2}.i-tab-bar-list{position:absolute;top:0;bottom:0;left:0;right:0}.i-tab-bar-layer{display:block;float:left;height:100%} \ No newline at end of file diff --git a/dist/tab/index.js b/dist/tab/index.js deleted file mode 100644 index c8d3079..0000000 --- a/dist/tab/index.js +++ /dev/null @@ -1,50 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - relations: { - '../tabs/index': { - type: 'parent' - } - }, - - properties: { - key: { - type: String, - value: '' - }, - title: { - type: String, - value: '' - }, - dot: { - type: Boolean, - value: false - }, - count: { - type: Number, - value: 0 - } - }, - - data: { - current: false, - currentColor: '', - scroll: false - }, - - methods: { - changeCurrent (current) { - this.setData({ current }); - }, - changeCurrentColor (currentColor) { - this.setData({ currentColor }); - }, - changeScroll (scroll) { - this.setData({ scroll }); - }, - handleClickItem () { - const parent = this.getRelationNodes('../tabs/index')[0]; - parent.emitEvent(this.data.key); - } - } -}); diff --git a/dist/tab/index.json b/dist/tab/index.json deleted file mode 100644 index eb6877d..0000000 --- a/dist/tab/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-badge": "../badge/index" - } -} diff --git a/dist/tab/index.wxml b/dist/tab/index.wxml deleted file mode 100644 index 29d3955..0000000 --- a/dist/tab/index.wxml +++ /dev/null @@ -1,9 +0,0 @@ - - - - {{ title }} - {{ title }} - - - - \ No newline at end of file diff --git a/dist/tab/index.wxss b/dist/tab/index.wxss deleted file mode 100644 index 135637b..0000000 --- a/dist/tab/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-tabs-tab{flex:1;display:flex;width:100%;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;text-align:center;position:relative}.i-tabs-tab-bar{display:block;width:100%;height:2px;background:0 0;position:absolute;bottom:0;left:0;background:#2d8cf0}.i-tabs-tab-title{font-size:14px;text-align:center;box-sizing:border-box;color:#80848f}.i-tabs-tab-title-current{color:#2d8cf0}.i-tabs-tab-scroll{display:inline-block;width:60px} \ No newline at end of file diff --git a/dist/tabs/index.js b/dist/tabs/index.js deleted file mode 100644 index b9d0326..0000000 --- a/dist/tabs/index.js +++ /dev/null @@ -1,56 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - relations: { - '../tab/index': { - type: 'child', - linked () { - this.changeCurrent(); - }, - linkChanged () { - this.changeCurrent(); - }, - unlinked () { - this.changeCurrent(); - } - } - }, - - properties: { - current: { - type: String, - value: '', - observer: 'changeCurrent' - }, - color: { - type: String, - value: '' - }, - scroll: { - type: Boolean, - value: false - }, - fixed: { - type: Boolean, - value: false - } - }, - - methods: { - changeCurrent (val = this.data.current) { - let items = this.getRelationNodes('../tab/index'); - const len = items.length; - - if (len > 0) { - items.forEach(item => { - item.changeScroll(this.data.scroll); - item.changeCurrent(item.data.key === val); - item.changeCurrentColor(this.data.color); - }); - } - }, - emitEvent (key) { - this.triggerEvent('change', { key }); - } - } -}); diff --git a/dist/tabs/index.json b/dist/tabs/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/tabs/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/tabs/index.wxml b/dist/tabs/index.wxml deleted file mode 100644 index b61d51b..0000000 --- a/dist/tabs/index.wxml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/dist/tabs/index.wxss b/dist/tabs/index.wxss deleted file mode 100644 index 985fb18..0000000 --- a/dist/tabs/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-tabs{display:flex;width:100%;height:42px;line-height:42px;box-sizing:border-box;position:relative;justify-content:space-around;align-items:center;-webkit-box-align:center;background:#fff}.i-tabs::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-bottom-width:1px}.i-tabs-scroll{display:block;overflow-x:auto;white-space:nowrap}.i-tabs-fixed{position:fixed;top:0;z-index:2} \ No newline at end of file diff --git a/dist/tag/index.js b/dist/tag/index.js deleted file mode 100644 index 338440a..0000000 --- a/dist/tag/index.js +++ /dev/null @@ -1,42 +0,0 @@ -Component({ - externalClasses: ['i-class'], - properties : { - //slot name - name : { - type : String, - value : '' - }, - //can click or not click - checkable : { - type : Boolean, - value : false - }, - //is current choose - checked : { - type : Boolean, - value : true - }, - //background and color setting - color : { - type : String, - value : 'default' - }, - //control fill or not - type : { - type : String, - value : 'dot' - } - }, - methods : { - tapTag(){ - const data = this.data; - if( data.checkable ){ - const checked = data.checked ? false : true; - this.triggerEvent('change',{ - name : data.name || '', - checked : checked - }); - } - } - } -}) \ No newline at end of file diff --git a/dist/tag/index.json b/dist/tag/index.json deleted file mode 100644 index 1dd6c7f..0000000 --- a/dist/tag/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component" : true -} \ No newline at end of file diff --git a/dist/tag/index.wxml b/dist/tag/index.wxml deleted file mode 100644 index ed2c675..0000000 --- a/dist/tag/index.wxml +++ /dev/null @@ -1,27 +0,0 @@ - - - - -module.exports = { - getClass : function(color,type,checked,checkable) { - var initColorList = ['blue', 'green', 'red', 'yellow', 'default']; - var theme = ''; - var className = 'i-tag-'; - if( initColorList.indexOf( color ) > -1 ){ - theme = className + color; - } - if( type === 'border' ){ - theme = className+color+'-border'; - } - if( checkable && checked ){ - theme = className+color+'-checked'; - }else if( checkable && !checked ){ - theme = ( type === 'border' ? className + color +'-border' : className+'none' ); - } - - return theme; - } -} - \ No newline at end of file diff --git a/dist/tag/index.wxss b/dist/tag/index.wxss deleted file mode 100644 index e19f976..0000000 --- a/dist/tag/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-tag{display:inline-block;height:18px;line-height:18px;padding:0 4px;border-radius:2px;background:#fff;font-size:11px;vertical-align:middle;border:1rpx solid #dddee1}.i-tag-none{border-color:#fff}.i-tag-default{border-color:#dddee1;background:#e9eaec}.i-tag-red{background:#ed3f14;color:#fff}.i-tag-red-border{color:#ed3f14;background:#fff;border-color:#ed3f14}.i-tag-red-checked{background:#ed3f14;color:#fff;border-color:#ed3f14}.i-tag-green{background:#19be6b;color:#fff;border-color:#19be6b}.i-tag-green-border{color:#19be6b;background:#fff;border-color:#19be6b}.i-tag-green-checked{background:#19be6b;color:#fff;border-color:#19be6b}.i-tag-blue{background:#2d8cf0;color:#fff;border-color:#2d8cf0}.i-tag-blue-border{color:#2d8cf0;background:#fff;border-color:#2d8cf0}.i-tag-blue-checked{background:#2d8cf0;color:#fff;border-color:#2d8cf0}.i-tag-yellow{background:#f90;color:#fff;border-color:#f90}.i-tag-yellow-border{color:#f90;background:#fff;border-color:#f90}.i-tag-yellow-checked{background:#f90;color:#fff;border-color:#f90}.i-tag-default-checked{background:#e9eaec;color:#495060;border-color:#e9eaec} \ No newline at end of file diff --git a/dist/toast/index.js b/dist/toast/index.js deleted file mode 100644 index 6493111..0000000 --- a/dist/toast/index.js +++ /dev/null @@ -1,48 +0,0 @@ -const default_data = { - visible: false, - content: '', - icon: '', - image: '', - duration: 2, - mask: true, - type: 'default', // default || success || warning || error || loading -}; - -let timmer = null; - -Component({ - externalClasses: ['i-class'], - - data: { - ...default_data - }, - - methods: { - handleShow (options) { - const { type = 'default', duration = 2 } = options; - - this.setData({ - ...options, - type, - duration, - visible: true - }); - - const d = this.data.duration * 1000; - - if (timmer) clearTimeout(timmer); - if (d !== 0) { - timmer = setTimeout(() => { - this.handleHide(); - timmer = null; - }, d); - } - }, - - handleHide () { - this.setData({ - ...default_data - }); - } - } -}); diff --git a/dist/toast/index.json b/dist/toast/index.json deleted file mode 100644 index 31309b1..0000000 --- a/dist/toast/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-icon": "../icon/index" - } -} diff --git a/dist/toast/index.wxml b/dist/toast/index.wxml deleted file mode 100644 index ca5f732..0000000 --- a/dist/toast/index.wxml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - {{ content }} - \ No newline at end of file diff --git a/dist/toast/index.wxss b/dist/toast/index.wxss deleted file mode 100644 index 5b3bd7f..0000000 --- a/dist/toast/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-toast{position:fixed;top:35%;left:50%;transform:translate3d(-50%,-50%,0);background:rgba(0,0,0,.7);color:#fff;font-size:14px;line-height:1.5em;margin:0 auto;box-sizing:border-box;padding:10px 18px;text-align:center;border-radius:4px;z-index:1010}.i-toast-mask{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1010}.i-toast-icon{font-size:38px!important;margin-bottom:6px}.i-toast-image{max-width:100px;max-height:100px}.i-toast-loading{display:inline-block;vertical-align:middle;width:28px;height:28px;background:0 0;border-radius:50%;border:2px solid #fff;border-color:#fff #fff #fff #2d8cf0;animation:btn-spin .8s linear;animation-iteration-count:infinite}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/pages/about/about.js b/pages/about/about.js index 33d4897..0520273 100644 --- a/pages/about/about.js +++ b/pages/about/about.js @@ -1,66 +1,2 @@ -// pages/about/about.js Page({ - - /** - * 页面的初始数据 - */ - data: { - - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - - } }) \ No newline at end of file diff --git a/pages/about/about.wxml b/pages/about/about.wxml index 2c81b33..44cbfa7 100644 --- a/pages/about/about.wxml +++ b/pages/about/about.wxml @@ -1,11 +1,7 @@ - - - + 华工集市 Copyright© 华南理工大学学生会版权所有 如有任何建议 欢迎在华南理工大学学生会微信公众号后台留言反馈 让我们共同建设更好的华工集市平台 - - - + \ No newline at end of file diff --git a/pages/about/about.wxss b/pages/about/about.wxss index 0d61e08..2729acf 100644 --- a/pages/about/about.wxss +++ b/pages/about/about.wxss @@ -1 +1,12 @@ -/* pages/about/about.wxss */ \ No newline at end of file +page { + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; +} + +text { + text-align:center; + color:#6e6e6e; + font-size:0.8em +} \ No newline at end of file diff --git a/pages/detail/detail.js b/pages/detail/detail.js index 2496428..d20406a 100644 --- a/pages/detail/detail.js +++ b/pages/detail/detail.js @@ -1,8 +1,4 @@ Page({ - - /** - * 页面的初始数据 - */ data: { text: 0, detail:{ @@ -27,10 +23,6 @@ Page({ } ] }, - - /** - * 生命周期函数--监听页面加载 - */ onLoad: function(options) { this.setData({ text: options.id @@ -47,53 +39,4 @@ Page({ } }) }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function() { - - } }) \ No newline at end of file diff --git a/pages/i/i.js b/pages/i/i.js index 90a16d1..72b5fe5 100644 --- a/pages/i/i.js +++ b/pages/i/i.js @@ -1,93 +1,5 @@ -// pages/i/i.js Page({ - - /** - * 页面的初始数据 - */ data: { - goods_list: [{ - id: 1, - title: "小风车", - description: "转呀转呀转", - pic: "/images/upload.png", - status: 1//active or denied - }, { - id: 2, - title: "大蟑螂", - description: "交通工具", - pic: "/images/upload.png", - status: 1 - }, - { - id: 3, - title: "二手书", - description: "流通的二手书", - pic: "/images/upload.png", - status: 1 - }, - { - id: 4, - title: "小黄书😼", - description: "小黄车使用手册", - pic: "/images/upload.png", - status: 0 - } - ] - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - - } }) \ No newline at end of file diff --git a/pages/i/i.wxml b/pages/i/i.wxml index b54c1e0..1a07f57 100644 --- a/pages/i/i.wxml +++ b/pages/i/i.wxml @@ -1,67 +1,10 @@ - - - - 占位 - - - 这里是昵称 - - - - - - - - - - - - 我的发布 - - - - - - - - - - - - - - - - - - 我的收藏 - - - - - - - - - - - - - - - - - 关于我们 - - - - - - - - -  - - - - \ No newline at end of file + + + + + + + + + + \ No newline at end of file diff --git a/pages/i/i.wxss b/pages/i/i.wxss index ded1435..e97f5f6 100644 --- a/pages/i/i.wxss +++ b/pages/i/i.wxss @@ -1,29 +1,20 @@ -/* pages/i/i.wxss */ -.col{ - background:white; - line-height: 70rpx; +.header { + height: 300rpx; + background:#0071bd; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; } -.weui-grid__icon_i{ - display: block; - width: 154rpx; - height: 154rpx; + +.header .avatar { + width: 160rpx; + height: 160rpx; border-radius: 50%; - margin: 0 auto; - font-size: 36rpx; -} -.weui-grid__label_i{ - color:white; - text-align: center; + display: block; + overflow: hidden; } -.issue_title{ - margin-top:20rpx; - background:white; - line-height:70rpx; - font-size: 28rpx; -} -.issue_img{ - display: inline-block; - height: 100rpx; - width: 100rpx; +.header .nick-name { + color: white; } \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js index 9366b91..15bc6c5 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -1,13 +1,9 @@ import { getAllGoodsInCategory } from "../../api.js"; -import { area, sellOrBuy } from "../../i18n.js"; const app = getApp(); Page({ data: { - i18n: { - area, sellOrBuy - }, active: 0, carousel: [{ id: 0, diff --git a/pages/index/index.json b/pages/index/index.json index 9e26dfe..5bfc611 100644 --- a/pages/index/index.json +++ b/pages/index/index.json @@ -1 +1,5 @@ -{} \ No newline at end of file +{ + "usingComponents": { + "selling-goods-list": "/components/sellingGoodsList/sellingGoodsList" + } +} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 1f4a6ce..f3f546e 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -12,20 +12,4 @@ - - [{{i18n.sellOrBuy[item.currentDescription.active]}}] {{item.currentDescription.title}} - - - - - {{item.currentDescription.detail}} - - - ¥{{item.currentDescription.sellingPrice}} - - - {{i18n.area[item.currentDescription.area]}} - - 1分钟前 - - \ No newline at end of file + \ No newline at end of file diff --git a/pages/index/index.wxss b/pages/index/index.wxss index 79899b7..e69de29 100644 --- a/pages/index/index.wxss +++ b/pages/index/index.wxss @@ -1,38 +0,0 @@ -.photo-list { - display: flex; - flex-direction: row; -} - -.photo-list image { - margin: 1px; - height: 230rpx; - width: 230rpx; -} - -.item { - padding: 0 10px; - margin: 5px 0; - background: #fff -} - -.item-footer { - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: baseline; -} - -.price { - color:#1173bc; - font-size: 1.4em; -} - -.area { - display: flex; - flex-direction: row; - align-items: center; -} - -.time { - color: #ccc; -} \ No newline at end of file diff --git a/pages/list/list.js b/pages/list/list.js deleted file mode 100644 index 5111512..0000000 --- a/pages/list/list.js +++ /dev/null @@ -1,81 +0,0 @@ -Page({ - data: { - option:'',//决定进入某个分类列表或收藏列表 - goods_list: [{ - id:1, - title: "小风车", - description: "转呀转呀转", - pic: "/images/upload.png" - }, { - id:2, - title: "大蟑螂", - description: "交通工具", - pic: "/images/upload.png" - }, - { - id:3, - title: "二手书", - description: "流通的二手书", - pic: "/images/upload.png" - } - ] - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function(options) { - this.setData({ - option: options.id - }) - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function() { - - } -}) \ No newline at end of file diff --git a/pages/list/list.wxml b/pages/list/list.wxml deleted file mode 100644 index b798442..0000000 --- a/pages/list/list.wxml +++ /dev/null @@ -1,17 +0,0 @@ - - 商品列表 - - - - - - - {{item.title}} - {{item.description}} - - - - - - - \ No newline at end of file diff --git a/pages/list/list.wxss b/pages/list/list.wxss deleted file mode 100644 index 0c53352..0000000 --- a/pages/list/list.wxss +++ /dev/null @@ -1,4 +0,0 @@ -/* pages/list/list.wxss */ -.loadmore{ - -} \ No newline at end of file diff --git a/pages/navigater/navigater.js b/pages/navigater/navigater.js deleted file mode 100644 index 9dcbd27..0000000 --- a/pages/navigater/navigater.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/navigater/navigater.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - - } -}) \ No newline at end of file diff --git a/pages/navigater/navigater.json b/pages/navigater/navigater.json deleted file mode 100644 index 9e26dfe..0000000 --- a/pages/navigater/navigater.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/pages/navigator/navigator.js b/pages/navigator/navigator.js new file mode 100644 index 0000000..72b5fe5 --- /dev/null +++ b/pages/navigator/navigator.js @@ -0,0 +1,5 @@ +Page({ + data: { + + }, +}) \ No newline at end of file diff --git a/pages/list/list.json b/pages/navigator/navigator.json similarity index 100% rename from pages/list/list.json rename to pages/navigator/navigator.json diff --git a/pages/navigater/navigater.wxml b/pages/navigator/navigator.wxml similarity index 100% rename from pages/navigater/navigater.wxml rename to pages/navigator/navigator.wxml diff --git a/pages/navigater/navigater.wxss b/pages/navigator/navigator.wxss similarity index 98% rename from pages/navigater/navigater.wxss rename to pages/navigator/navigator.wxss index 446a469..d0c171c 100644 --- a/pages/navigater/navigater.wxss +++ b/pages/navigator/navigator.wxss @@ -1,5 +1,3 @@ -/**index.wxss**/ - page { background: #f6f6f6; display: flex; From 24ab3cadbc470da111e18a5862e2f2d4cde00fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E7=8E=AE=E6=96=87?= Date: Fri, 1 Mar 2019 00:18:36 +0800 Subject: [PATCH 15/25] Remove vant-weapp from git repository Added package.json. Now we can use npm to intall vant-weapp --- .gitignore | 2 + app.json | 34 +- app.wxss | 6 +- .../vant-weapp/action-sheet/index.js | 40 - .../vant-weapp/action-sheet/index.json | 8 - .../vant-weapp/action-sheet/index.wxml | 40 - .../vant-weapp/action-sheet/index.wxss | 1 - miniprogram_npm/vant-weapp/area/index.js | 198 --- miniprogram_npm/vant-weapp/area/index.json | 6 - miniprogram_npm/vant-weapp/area/index.wxml | 34 - miniprogram_npm/vant-weapp/area/index.wxss | 1 - .../vant-weapp/badge-group/index.js | 55 - .../vant-weapp/badge-group/index.json | 3 - .../vant-weapp/badge-group/index.wxml | 3 - .../vant-weapp/badge-group/index.wxss | 1 - miniprogram_npm/vant-weapp/badge/index.js | 25 - miniprogram_npm/vant-weapp/badge/index.json | 3 - miniprogram_npm/vant-weapp/badge/index.wxml | 4 - miniprogram_npm/vant-weapp/badge/index.wxss | 1 - miniprogram_npm/vant-weapp/button/index.js | 52 - miniprogram_npm/vant-weapp/button/index.json | 6 - miniprogram_npm/vant-weapp/button/index.wxml | 26 - miniprogram_npm/vant-weapp/button/index.wxss | 1 - miniprogram_npm/vant-weapp/card/index.js | 31 - miniprogram_npm/vant-weapp/card/index.json | 6 - miniprogram_npm/vant-weapp/card/index.wxml | 41 - miniprogram_npm/vant-weapp/card/index.wxss | 1 - .../vant-weapp/cell-group/index.js | 9 - .../vant-weapp/cell-group/index.json | 3 - .../vant-weapp/cell-group/index.wxml | 3 - .../vant-weapp/cell-group/index.wxss | 1 - miniprogram_npm/vant-weapp/cell/index.js | 48 - miniprogram_npm/vant-weapp/cell/index.json | 6 - miniprogram_npm/vant-weapp/cell/index.wxml | 39 - miniprogram_npm/vant-weapp/cell/index.wxss | 123 -- .../vant-weapp/checkbox-group/index.js | 40 - .../vant-weapp/checkbox-group/index.json | 6 - .../vant-weapp/checkbox-group/index.wxml | 1 - .../vant-weapp/checkbox-group/index.wxss | 1 - miniprogram_npm/vant-weapp/checkbox/index.js | 94 -- .../vant-weapp/checkbox/index.json | 6 - .../vant-weapp/checkbox/index.wxml | 16 - .../vant-weapp/checkbox/index.wxss | 1 - miniprogram_npm/vant-weapp/col/index.js | 37 - miniprogram_npm/vant-weapp/col/index.json | 3 - miniprogram_npm/vant-weapp/col/index.wxml | 6 - miniprogram_npm/vant-weapp/col/index.wxss | 1 - .../vant-weapp/common/class-names.js | 29 - miniprogram_npm/vant-weapp/common/color.js | 3 - .../vant-weapp/common/component.js | 59 - miniprogram_npm/vant-weapp/common/index.wxss | 1 - .../vant-weapp/common/style/clearfix.wxss | 1 - .../vant-weapp/common/style/ellipsis.wxss | 1 - .../vant-weapp/common/style/hairline.wxss | 1 - .../common/style/mixins/clearfix.wxss | 0 .../common/style/mixins/ellipsis.wxss | 0 .../common/style/mixins/hairline.wxss | 0 .../vant-weapp/common/style/var.wxss | 0 miniprogram_npm/vant-weapp/common/utils.js | 14 - .../vant-weapp/datetime-picker/index.js | 394 ------ .../vant-weapp/datetime-picker/index.json | 6 - .../vant-weapp/datetime-picker/index.wxml | 34 - .../vant-weapp/datetime-picker/index.wxss | 1 - miniprogram_npm/vant-weapp/dialog/dialog.js | 70 - miniprogram_npm/vant-weapp/dialog/index.js | 92 -- miniprogram_npm/vant-weapp/dialog/index.json | 7 - miniprogram_npm/vant-weapp/dialog/index.wxml | 53 - miniprogram_npm/vant-weapp/dialog/index.wxss | 1 - miniprogram_npm/vant-weapp/field/index.js | 112 -- miniprogram_npm/vant-weapp/field/index.json | 7 - miniprogram_npm/vant-weapp/field/index.wxml | 74 - miniprogram_npm/vant-weapp/field/index.wxss | 1 - .../vant-weapp/goods-action-button/index.js | 22 - .../vant-weapp/goods-action-button/index.json | 6 - .../vant-weapp/goods-action-button/index.wxml | 25 - .../vant-weapp/goods-action-button/index.wxss | 1 - .../vant-weapp/goods-action-icon/index.js | 18 - .../vant-weapp/goods-action-icon/index.json | 7 - .../vant-weapp/goods-action-icon/index.wxml | 32 - .../vant-weapp/goods-action-icon/index.wxss | 1 - .../vant-weapp/goods-action/index.js | 2 - .../vant-weapp/goods-action/index.json | 3 - .../vant-weapp/goods-action/index.wxml | 3 - .../vant-weapp/goods-action/index.wxss | 1 - miniprogram_npm/vant-weapp/icon/index.js | 19 - miniprogram_npm/vant-weapp/icon/index.json | 3 - miniprogram_npm/vant-weapp/icon/index.wxml | 7 - miniprogram_npm/vant-weapp/icon/index.wxss | 1 - miniprogram_npm/vant-weapp/loading/index.js | 17 - miniprogram_npm/vant-weapp/loading/index.json | 3 - miniprogram_npm/vant-weapp/loading/index.wxml | 16 - miniprogram_npm/vant-weapp/loading/index.wxss | 1 - miniprogram_npm/vant-weapp/mixins/basic.js | 24 - miniprogram_npm/vant-weapp/mixins/button.js | 15 - miniprogram_npm/vant-weapp/mixins/link.js | 24 - .../vant-weapp/mixins/observer/behavior.js | 41 - .../vant-weapp/mixins/observer/index.js | 38 - .../vant-weapp/mixins/observer/props.js | 32 - .../vant-weapp/mixins/open-type.js | 22 - miniprogram_npm/vant-weapp/mixins/touch.js | 21 - .../vant-weapp/mixins/transition.js | 51 - miniprogram_npm/vant-weapp/nav-bar/index.js | 23 - miniprogram_npm/vant-weapp/nav-bar/index.json | 6 - miniprogram_npm/vant-weapp/nav-bar/index.wxml | 24 - miniprogram_npm/vant-weapp/nav-bar/index.wxss | 1 - .../vant-weapp/notice-bar/index.js | 160 --- .../vant-weapp/notice-bar/index.json | 6 - .../vant-weapp/notice-bar/index.wxml | 31 - .../vant-weapp/notice-bar/index.wxss | 1 - miniprogram_npm/vant-weapp/notify/index.js | 42 - miniprogram_npm/vant-weapp/notify/index.json | 6 - miniprogram_npm/vant-weapp/notify/index.wxml | 8 - miniprogram_npm/vant-weapp/notify/index.wxss | 1 - miniprogram_npm/vant-weapp/notify/notify.js | 28 - miniprogram_npm/vant-weapp/overlay/index.js | 19 - miniprogram_npm/vant-weapp/overlay/index.json | 6 - miniprogram_npm/vant-weapp/overlay/index.wxml | 7 - miniprogram_npm/vant-weapp/overlay/index.wxss | 1 - miniprogram_npm/vant-weapp/panel/index.js | 10 - miniprogram_npm/vant-weapp/panel/index.json | 6 - miniprogram_npm/vant-weapp/panel/index.wxml | 19 - miniprogram_npm/vant-weapp/panel/index.wxss | 1 - miniprogram_npm/vant-weapp/popup/index.js | 35 - miniprogram_npm/vant-weapp/popup/index.json | 6 - miniprogram_npm/vant-weapp/popup/index.wxml | 16 - miniprogram_npm/vant-weapp/popup/index.wxss | 1 - miniprogram_npm/vant-weapp/progress/index.js | 67 - .../vant-weapp/progress/index.json | 3 - .../vant-weapp/progress/index.wxml | 14 - .../vant-weapp/progress/index.wxss | 1 - .../vant-weapp/radio-group/index.js | 39 - .../vant-weapp/radio-group/index.json | 6 - .../vant-weapp/radio-group/index.wxml | 1 - .../vant-weapp/radio-group/index.wxss | 1 - miniprogram_npm/vant-weapp/radio/index.js | 44 - miniprogram_npm/vant-weapp/radio/index.json | 6 - miniprogram_npm/vant-weapp/radio/index.wxml | 16 - miniprogram_npm/vant-weapp/radio/index.wxss | 1 - miniprogram_npm/vant-weapp/row/index.js | 38 - miniprogram_npm/vant-weapp/row/index.json | 3 - miniprogram_npm/vant-weapp/row/index.wxml | 3 - miniprogram_npm/vant-weapp/row/index.wxss | 1 - miniprogram_npm/vant-weapp/search/index.js | 48 - miniprogram_npm/vant-weapp/search/index.json | 7 - miniprogram_npm/vant-weapp/search/index.wxml | 31 - miniprogram_npm/vant-weapp/search/index.wxss | 1 - miniprogram_npm/vant-weapp/slider/index.js | 86 -- miniprogram_npm/vant-weapp/slider/index.json | 3 - miniprogram_npm/vant-weapp/slider/index.wxml | 11 - miniprogram_npm/vant-weapp/slider/index.wxss | 1 - miniprogram_npm/vant-weapp/stepper/index.js | 79 -- miniprogram_npm/vant-weapp/stepper/index.json | 3 - miniprogram_npm/vant-weapp/stepper/index.wxml | 18 - miniprogram_npm/vant-weapp/stepper/index.wxss | 1 - miniprogram_npm/vant-weapp/steps/index.js | 48 - miniprogram_npm/vant-weapp/steps/index.json | 6 - miniprogram_npm/vant-weapp/steps/index.wxml | 20 - miniprogram_npm/vant-weapp/steps/index.wxss | 1 - .../vant-weapp/submit-bar/index.js | 38 - .../vant-weapp/submit-bar/index.json | 6 - .../vant-weapp/submit-bar/index.wxml | 31 - .../vant-weapp/submit-bar/index.wxss | 1 - .../vant-weapp/swipe-cell/index.js | 142 -- .../vant-weapp/swipe-cell/index.json | 3 - .../vant-weapp/swipe-cell/index.wxml | 22 - .../vant-weapp/swipe-cell/index.wxss | 1 - .../vant-weapp/switch-cell/index.js | 32 - .../vant-weapp/switch-cell/index.json | 7 - .../vant-weapp/switch-cell/index.wxml | 15 - .../vant-weapp/switch-cell/index.wxss | 1 - miniprogram_npm/vant-weapp/switch/index.js | 49 - miniprogram_npm/vant-weapp/switch/index.json | 6 - miniprogram_npm/vant-weapp/switch/index.wxml | 9 - miniprogram_npm/vant-weapp/switch/index.wxss | 1 - miniprogram_npm/vant-weapp/tab/index.js | 31 - miniprogram_npm/vant-weapp/tab/index.json | 3 - miniprogram_npm/vant-weapp/tab/index.wxml | 7 - .../vant-weapp/tabbar-item/index.js | 33 - .../vant-weapp/tabbar-item/index.json | 6 - .../vant-weapp/tabbar-item/index.wxml | 16 - .../vant-weapp/tabbar-item/index.wxss | 1 - miniprogram_npm/vant-weapp/tabbar/index.js | 73 - miniprogram_npm/vant-weapp/tabbar/index.json | 3 - miniprogram_npm/vant-weapp/tabbar/index.wxml | 6 - miniprogram_npm/vant-weapp/tabbar/index.wxss | 1 - miniprogram_npm/vant-weapp/tabs/index.js | 173 --- miniprogram_npm/vant-weapp/tabs/index.json | 3 - miniprogram_npm/vant-weapp/tabs/index.wxml | 26 - miniprogram_npm/vant-weapp/tabs/index.wxss | 1 - miniprogram_npm/vant-weapp/tag/index.js | 35 - miniprogram_npm/vant-weapp/tag/index.json | 3 - miniprogram_npm/vant-weapp/tag/index.wxml | 3 - miniprogram_npm/vant-weapp/tag/index.wxss | 1 - miniprogram_npm/vant-weapp/toast/index.js | 34 - miniprogram_npm/vant-weapp/toast/index.json | 9 - miniprogram_npm/vant-weapp/toast/index.wxml | 31 - miniprogram_npm/vant-weapp/toast/index.wxss | 1 - miniprogram_npm/vant-weapp/toast/toast.js | 90 -- .../vant-weapp/transition/index.js | 11 - .../vant-weapp/transition/index.json | 3 - .../vant-weapp/transition/index.wxml | 8 - .../vant-weapp/transition/index.wxss | 1 - .../vant-weapp/tree-select/index.js | 69 - .../vant-weapp/tree-select/index.json | 6 - .../vant-weapp/tree-select/index.wxml | 36 - .../vant-weapp/tree-select/index.wxss | 1 - package-lock.json | 10 +- package.json | 17 + style/index.wxss | 75 -- style/weui.wxss | 1200 ----------------- 210 files changed, 43 insertions(+), 5910 deletions(-) delete mode 100644 miniprogram_npm/vant-weapp/action-sheet/index.js delete mode 100644 miniprogram_npm/vant-weapp/action-sheet/index.json delete mode 100644 miniprogram_npm/vant-weapp/action-sheet/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/action-sheet/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/area/index.js delete mode 100644 miniprogram_npm/vant-weapp/area/index.json delete mode 100644 miniprogram_npm/vant-weapp/area/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/area/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/badge-group/index.js delete mode 100644 miniprogram_npm/vant-weapp/badge-group/index.json delete mode 100644 miniprogram_npm/vant-weapp/badge-group/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/badge-group/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/badge/index.js delete mode 100644 miniprogram_npm/vant-weapp/badge/index.json delete mode 100644 miniprogram_npm/vant-weapp/badge/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/badge/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/button/index.js delete mode 100644 miniprogram_npm/vant-weapp/button/index.json delete mode 100644 miniprogram_npm/vant-weapp/button/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/button/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/card/index.js delete mode 100644 miniprogram_npm/vant-weapp/card/index.json delete mode 100644 miniprogram_npm/vant-weapp/card/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/card/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/cell-group/index.js delete mode 100644 miniprogram_npm/vant-weapp/cell-group/index.json delete mode 100644 miniprogram_npm/vant-weapp/cell-group/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/cell-group/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/cell/index.js delete mode 100644 miniprogram_npm/vant-weapp/cell/index.json delete mode 100644 miniprogram_npm/vant-weapp/cell/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/cell/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/checkbox-group/index.js delete mode 100644 miniprogram_npm/vant-weapp/checkbox-group/index.json delete mode 100644 miniprogram_npm/vant-weapp/checkbox-group/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/checkbox-group/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/checkbox/index.js delete mode 100644 miniprogram_npm/vant-weapp/checkbox/index.json delete mode 100644 miniprogram_npm/vant-weapp/checkbox/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/checkbox/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/col/index.js delete mode 100644 miniprogram_npm/vant-weapp/col/index.json delete mode 100644 miniprogram_npm/vant-weapp/col/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/col/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/class-names.js delete mode 100644 miniprogram_npm/vant-weapp/common/color.js delete mode 100644 miniprogram_npm/vant-weapp/common/component.js delete mode 100644 miniprogram_npm/vant-weapp/common/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/style/clearfix.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/style/ellipsis.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/style/hairline.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/style/mixins/clearfix.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/style/mixins/ellipsis.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/style/mixins/hairline.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/style/var.wxss delete mode 100644 miniprogram_npm/vant-weapp/common/utils.js delete mode 100644 miniprogram_npm/vant-weapp/datetime-picker/index.js delete mode 100644 miniprogram_npm/vant-weapp/datetime-picker/index.json delete mode 100644 miniprogram_npm/vant-weapp/datetime-picker/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/datetime-picker/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/dialog/dialog.js delete mode 100644 miniprogram_npm/vant-weapp/dialog/index.js delete mode 100644 miniprogram_npm/vant-weapp/dialog/index.json delete mode 100644 miniprogram_npm/vant-weapp/dialog/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/dialog/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/field/index.js delete mode 100644 miniprogram_npm/vant-weapp/field/index.json delete mode 100644 miniprogram_npm/vant-weapp/field/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/field/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/goods-action-button/index.js delete mode 100644 miniprogram_npm/vant-weapp/goods-action-button/index.json delete mode 100644 miniprogram_npm/vant-weapp/goods-action-button/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/goods-action-button/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/goods-action-icon/index.js delete mode 100644 miniprogram_npm/vant-weapp/goods-action-icon/index.json delete mode 100644 miniprogram_npm/vant-weapp/goods-action-icon/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/goods-action-icon/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/goods-action/index.js delete mode 100644 miniprogram_npm/vant-weapp/goods-action/index.json delete mode 100644 miniprogram_npm/vant-weapp/goods-action/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/goods-action/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/icon/index.js delete mode 100644 miniprogram_npm/vant-weapp/icon/index.json delete mode 100644 miniprogram_npm/vant-weapp/icon/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/icon/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/loading/index.js delete mode 100644 miniprogram_npm/vant-weapp/loading/index.json delete mode 100644 miniprogram_npm/vant-weapp/loading/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/loading/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/mixins/basic.js delete mode 100644 miniprogram_npm/vant-weapp/mixins/button.js delete mode 100644 miniprogram_npm/vant-weapp/mixins/link.js delete mode 100644 miniprogram_npm/vant-weapp/mixins/observer/behavior.js delete mode 100644 miniprogram_npm/vant-weapp/mixins/observer/index.js delete mode 100644 miniprogram_npm/vant-weapp/mixins/observer/props.js delete mode 100644 miniprogram_npm/vant-weapp/mixins/open-type.js delete mode 100644 miniprogram_npm/vant-weapp/mixins/touch.js delete mode 100644 miniprogram_npm/vant-weapp/mixins/transition.js delete mode 100644 miniprogram_npm/vant-weapp/nav-bar/index.js delete mode 100644 miniprogram_npm/vant-weapp/nav-bar/index.json delete mode 100644 miniprogram_npm/vant-weapp/nav-bar/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/nav-bar/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/notice-bar/index.js delete mode 100644 miniprogram_npm/vant-weapp/notice-bar/index.json delete mode 100644 miniprogram_npm/vant-weapp/notice-bar/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/notice-bar/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/notify/index.js delete mode 100644 miniprogram_npm/vant-weapp/notify/index.json delete mode 100644 miniprogram_npm/vant-weapp/notify/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/notify/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/notify/notify.js delete mode 100644 miniprogram_npm/vant-weapp/overlay/index.js delete mode 100644 miniprogram_npm/vant-weapp/overlay/index.json delete mode 100644 miniprogram_npm/vant-weapp/overlay/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/overlay/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/panel/index.js delete mode 100644 miniprogram_npm/vant-weapp/panel/index.json delete mode 100644 miniprogram_npm/vant-weapp/panel/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/panel/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/popup/index.js delete mode 100644 miniprogram_npm/vant-weapp/popup/index.json delete mode 100644 miniprogram_npm/vant-weapp/popup/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/popup/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/progress/index.js delete mode 100644 miniprogram_npm/vant-weapp/progress/index.json delete mode 100644 miniprogram_npm/vant-weapp/progress/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/progress/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/radio-group/index.js delete mode 100644 miniprogram_npm/vant-weapp/radio-group/index.json delete mode 100644 miniprogram_npm/vant-weapp/radio-group/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/radio-group/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/radio/index.js delete mode 100644 miniprogram_npm/vant-weapp/radio/index.json delete mode 100644 miniprogram_npm/vant-weapp/radio/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/radio/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/row/index.js delete mode 100644 miniprogram_npm/vant-weapp/row/index.json delete mode 100644 miniprogram_npm/vant-weapp/row/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/row/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/search/index.js delete mode 100644 miniprogram_npm/vant-weapp/search/index.json delete mode 100644 miniprogram_npm/vant-weapp/search/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/search/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/slider/index.js delete mode 100644 miniprogram_npm/vant-weapp/slider/index.json delete mode 100644 miniprogram_npm/vant-weapp/slider/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/slider/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/stepper/index.js delete mode 100644 miniprogram_npm/vant-weapp/stepper/index.json delete mode 100644 miniprogram_npm/vant-weapp/stepper/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/stepper/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/steps/index.js delete mode 100644 miniprogram_npm/vant-weapp/steps/index.json delete mode 100644 miniprogram_npm/vant-weapp/steps/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/steps/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/submit-bar/index.js delete mode 100644 miniprogram_npm/vant-weapp/submit-bar/index.json delete mode 100644 miniprogram_npm/vant-weapp/submit-bar/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/submit-bar/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/swipe-cell/index.js delete mode 100644 miniprogram_npm/vant-weapp/swipe-cell/index.json delete mode 100644 miniprogram_npm/vant-weapp/swipe-cell/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/swipe-cell/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/switch-cell/index.js delete mode 100644 miniprogram_npm/vant-weapp/switch-cell/index.json delete mode 100644 miniprogram_npm/vant-weapp/switch-cell/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/switch-cell/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/switch/index.js delete mode 100644 miniprogram_npm/vant-weapp/switch/index.json delete mode 100644 miniprogram_npm/vant-weapp/switch/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/switch/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/tab/index.js delete mode 100644 miniprogram_npm/vant-weapp/tab/index.json delete mode 100644 miniprogram_npm/vant-weapp/tab/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/tabbar-item/index.js delete mode 100644 miniprogram_npm/vant-weapp/tabbar-item/index.json delete mode 100644 miniprogram_npm/vant-weapp/tabbar-item/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/tabbar-item/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/tabbar/index.js delete mode 100644 miniprogram_npm/vant-weapp/tabbar/index.json delete mode 100644 miniprogram_npm/vant-weapp/tabbar/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/tabbar/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/tabs/index.js delete mode 100644 miniprogram_npm/vant-weapp/tabs/index.json delete mode 100644 miniprogram_npm/vant-weapp/tabs/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/tabs/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/tag/index.js delete mode 100644 miniprogram_npm/vant-weapp/tag/index.json delete mode 100644 miniprogram_npm/vant-weapp/tag/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/tag/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/toast/index.js delete mode 100644 miniprogram_npm/vant-weapp/toast/index.json delete mode 100644 miniprogram_npm/vant-weapp/toast/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/toast/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/toast/toast.js delete mode 100644 miniprogram_npm/vant-weapp/transition/index.js delete mode 100644 miniprogram_npm/vant-weapp/transition/index.json delete mode 100644 miniprogram_npm/vant-weapp/transition/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/transition/index.wxss delete mode 100644 miniprogram_npm/vant-weapp/tree-select/index.js delete mode 100644 miniprogram_npm/vant-weapp/tree-select/index.json delete mode 100644 miniprogram_npm/vant-weapp/tree-select/index.wxml delete mode 100644 miniprogram_npm/vant-weapp/tree-select/index.wxss create mode 100644 package.json delete mode 100644 style/index.wxss delete mode 100644 style/weui.wxss diff --git a/.gitignore b/.gitignore index 14ea590..4196004 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ $RECYCLE.BIN/ # Node.js node_modules/ + +miniprogram_npm/ diff --git a/app.json b/app.json index 79b6475..1e783ac 100644 --- a/app.json +++ b/app.json @@ -47,22 +47,22 @@ "downloadFile": 10000 }, "usingComponents": { - "van-button": "/vant-weapp/button/index", - "van-icon": "/vant-weapp/icon/index", - "van-tab": "/vant-weapp/tab/index", - "van-tabs": "/vant-weapp/tabs/index", - "van-panel": "/vant-weapp/panel/index", - "van-cell": "/vant-weapp/cell/index", - "van-cell-group": "/vant-weapp/cell-group/index", - "van-slider": "/vant-weapp/slider/index", - "van-progress": "/vant-weapp/progress/index", - "van-checkbox": "/vant-weapp/checkbox/index", - "van-checkbox-group": "/vant-weapp/checkbox-group/index", - "van-radio": "/vant-weapp/radio/index", - "van-radio-group": "/vant-weapp/radio-group/index", - "van-search": "/vant-weapp/search/index", - "van-tag": "/vant-weapp/tag/index", - "van-field": "/vant-weapp/field/index", - "van-popup": "/vant-weapp/popup/index" + "van-button": "vant-weapp/button", + "van-icon": "vant-weapp/icon", + "van-tab": "vant-weapp/tab", + "van-tabs": "vant-weapp/tabs", + "van-panel": "vant-weapp/panel", + "van-cell": "vant-weapp/cell", + "van-cell-group": "vant-weapp/cell-group", + "van-slider": "vant-weapp/slider", + "van-progress": "vant-weapp/progress", + "van-checkbox": "vant-weapp/checkbox", + "van-checkbox-group": "vant-weapp/checkbox-group", + "van-radio": "vant-weapp/radio", + "van-radio-group": "vant-weapp/radio-group", + "van-search": "vant-weapp/search", + "van-tag": "vant-weapp/tag", + "van-field": "vant-weapp/field", + "van-popup": "vant-weapp/popup" } } \ No newline at end of file diff --git a/app.wxss b/app.wxss index 2ba2b6e..6607c3a 100644 --- a/app.wxss +++ b/app.wxss @@ -1,6 +1,5 @@ -@import "style/weui.wxss"; -@import "style/index.wxss"; -@import "miniprogram_npm/vant-weapp/button/index.wxss"; +@import "miniprogram_npm/vant-weapp/common/index.wxss"; + .container { display: flex; flex-direction: column; @@ -13,4 +12,3 @@ page { font-size: 16px; font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif; } - diff --git a/miniprogram_npm/vant-weapp/action-sheet/index.js b/miniprogram_npm/vant-weapp/action-sheet/index.js deleted file mode 100644 index 2f1d455..0000000 --- a/miniprogram_npm/vant-weapp/action-sheet/index.js +++ /dev/null @@ -1,40 +0,0 @@ -import { VantComponent } from '../common/component'; -VantComponent({ - props: { - show: Boolean, - title: String, - cancelText: String, - zIndex: { - type: Number, - value: 100 - }, - actions: { - type: Array, - value: [] - }, - overlay: { - type: Boolean, - value: true - }, - closeOnClickOverlay: { - type: Boolean, - value: true - } - }, - methods: { - onSelect: function onSelect(event) { - var index = event.currentTarget.dataset.index; - var item = this.data.actions[index]; - - if (item && !item.disabled && !item.loading) { - this.$emit('select', item); - } - }, - onCancel: function onCancel() { - this.$emit('cancel'); - }, - onClose: function onClose() { - this.$emit('close'); - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/action-sheet/index.json b/miniprogram_npm/vant-weapp/action-sheet/index.json deleted file mode 100644 index 19bf989..0000000 --- a/miniprogram_npm/vant-weapp/action-sheet/index.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-icon": "../icon/index", - "van-popup": "../popup/index", - "van-loading": "../loading/index" - } -} diff --git a/miniprogram_npm/vant-weapp/action-sheet/index.wxml b/miniprogram_npm/vant-weapp/action-sheet/index.wxml deleted file mode 100644 index 5bfe879..0000000 --- a/miniprogram_npm/vant-weapp/action-sheet/index.wxml +++ /dev/null @@ -1,40 +0,0 @@ - - - {{ title }} - - - - - {{ cancelText }} - - - diff --git a/miniprogram_npm/vant-weapp/action-sheet/index.wxss b/miniprogram_npm/vant-weapp/action-sheet/index.wxss deleted file mode 100644 index 92fed00..0000000 --- a/miniprogram_npm/vant-weapp/action-sheet/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-action-sheet{max-height:90%!important;color:#333}.van-action-sheet__cancel,.van-action-sheet__item{height:50px;font-size:16px;line-height:50px;text-align:center;background-color:#fff}.van-action-sheet__cancel:active,.van-action-sheet__item:active{background-color:#e8e8e8}.van-action-sheet__cancel{height:60px}.van-action-sheet__cancel::before{display:block;content:' ';height:10px;background-color:#f8f8f8}.van-action-sheet__item--disabled{color:#c9c9c9}.van-action-sheet__item--disabled:active{background-color:#fff}.van-action-sheet__subname{margin-left:5px;font-size:12px;color:#666}.van-action-sheet__header{font-size:16px;font-weight:500;line-height:44px;text-align:center}.van-action-sheet__close{position:absolute!important;top:0;right:0;padding:0 15px;font-size:18px!important;line-height:inherit!important;color:#999} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/area/index.js b/miniprogram_npm/vant-weapp/area/index.js deleted file mode 100644 index d14bef9..0000000 --- a/miniprogram_npm/vant-weapp/area/index.js +++ /dev/null @@ -1,198 +0,0 @@ -import { VantComponent } from '../common/component'; -VantComponent({ - props: { - title: String, - value: String, - loading: Boolean, - itemHeight: { - type: Number, - value: 44 - }, - visibleItemCount: { - type: Number, - value: 5 - }, - columnsNum: { - type: [String, Number], - value: 3 - }, - areaList: { - type: Object, - value: {} - } - }, - data: { - pickerValue: [0, 0, 0], - columns: [] - }, - computed: { - displayColumns: function displayColumns() { - var _this$data = this.data, - _this$data$columns = _this$data.columns, - columns = _this$data$columns === void 0 ? [] : _this$data$columns, - columnsNum = _this$data.columnsNum; - return columns.slice(0, +columnsNum); - } - }, - watch: { - value: function value(_value) { - this.code = _value; - this.setValues(); - }, - areaList: 'setValues' - }, - methods: { - onCancel: function onCancel() { - this.$emit('cancel', { - values: this.getValues(), - indexs: this.getIndexs(), - detail: this.getDetail() - }); - }, - onConfirm: function onConfirm() { - this.$emit('confirm', { - values: this.getValues(), - indexs: this.getIndexs(), - detail: this.getDetail() - }); - }, - onChange: function onChange(event) { - var value = event.detail.value; - var _this$data2 = this.data, - pickerValue = _this$data2.pickerValue, - displayColumns = _this$data2.displayColumns; - var index = pickerValue.findIndex(function (item, index) { - return item !== value[index]; - }); - var values = displayColumns[index]; - - if (index < 0 || value[index] < 0 || !values[value[index]]) { - return; - } - - this.code = values[value[index]].code; - this.setValues(); - this.$emit('change', { - picker: this, - values: this.getValues(), - index: index - }); - }, - getList: function getList(type, code) { - var result = []; - - if (type !== 'province' && !code) { - return result; - } - - var list = this.data.areaList && this.data.areaList[type + "_list"] || {}; - result = Object.keys(list).map(function (code) { - return { - code: code, - name: list[code] - }; - }); - - if (code) { - // oversea code - if (code[0] === '9' && type === 'city') { - code = '9'; - } - - result = result.filter(function (item) { - return item.code.indexOf(code) === 0; - }); - } - - return result; - }, - getIndex: function getIndex(type, code) { - var compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6; - var list = this.getList(type, code.slice(0, compareNum - 2)); // oversea code - - if (code[0] === '9' && type === 'province') { - compareNum = 1; - } - - code = code.slice(0, compareNum); - - for (var i = 0; i < list.length; i++) { - if (list[i].code.slice(0, compareNum) === code) { - return i; - } - } - - return 0; - }, - setValues: function setValues() { - var code = this.code || this.data.areaList && Object.keys(this.data.areaList.county_list || {})[0] || ''; - var province = this.getList('province'); - var city = this.getList('city', code.slice(0, 2)); - this.setData({ - 'columns[0]': province, - 'columns[1]': city - }); - - if (city.length && code.slice(2, 4) === '00') { - code = city[0].code; - } - - this.setData({ - 'columns[2]': this.getList('county', code.slice(0, 4)), - pickerValue: [this.getIndex('province', code), this.getIndex('city', code), this.getIndex('county', code)] - }); - }, - getValues: function getValues() { - var _this$data3 = this.data, - _this$data3$displayCo = _this$data3.displayColumns, - displayColumns = _this$data3$displayCo === void 0 ? [] : _this$data3$displayCo, - _this$data3$pickerVal = _this$data3.pickerValue, - pickerValue = _this$data3$pickerVal === void 0 ? [] : _this$data3$pickerVal; - return displayColumns.map(function (option, index) { - return option[pickerValue[index]]; - }).filter(function (value) { - return !!value; - }); - }, - getIndexs: function getIndexs() { - var _this$data4 = this.data, - pickerValue = _this$data4.pickerValue, - columnsNum = _this$data4.columnsNum; - return pickerValue.slice(0, columnsNum); - }, - getDetail: function getDetail() { - var values = this.getValues(); - var area = { - code: '', - country: '', - province: '', - city: '', - county: '' - }; - - if (!values.length) { - return area; - } - - var names = values.map(function (item) { - return item.name; - }); - area.code = values[values.length - 1].code; - - if (area.code[0] === '9') { - area.country = names[1] || ''; - area.province = names[2] || ''; - } else { - area.province = names[0] || ''; - area.city = names[1] || ''; - area.county = names[2] || ''; - } - - return area; - }, - reset: function reset() { - this.code = ''; - this.setValues(); - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/area/index.json b/miniprogram_npm/vant-weapp/area/index.json deleted file mode 100644 index 01077f5..0000000 --- a/miniprogram_npm/vant-weapp/area/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-loading": "../loading/index" - } -} diff --git a/miniprogram_npm/vant-weapp/area/index.wxml b/miniprogram_npm/vant-weapp/area/index.wxml deleted file mode 100644 index cf40170..0000000 --- a/miniprogram_npm/vant-weapp/area/index.wxml +++ /dev/null @@ -1,34 +0,0 @@ - - - 取消 - {{ title }} - 确定 - - - - - - - - - {{ item.name }} - - - diff --git a/miniprogram_npm/vant-weapp/area/index.wxss b/miniprogram_npm/vant-weapp/area/index.wxss deleted file mode 100644 index 1616412..0000000 --- a/miniprogram_npm/vant-weapp/area/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-picker{-webkit-text-size-adjust:100%;position:relative;overflow:hidden;background-color:#fff;-webkit-user-select:none;user-select:none}.van-picker__toolbar{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;height:44px;line-height:44px}.van-picker__cancel,.van-picker__confirm{color:#1989fa;padding:0 15px;font-size:14px}.van-picker__cancel:active,.van-picker__confirm:active{background-color:#e8e8e8}.van-picker__title{max-width:50%;font-size:16px;font-weight:500;text-align:center}.van-picker__columns{position:relative}.van-picker__loading{display:-webkit-flex;display:flex;z-index:4;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background-color:rgba(255,255,255,.9)}.van-picker-column{-webkit-flex:1;flex:1;overflow:hidden;font-size:16px;text-align:center}.van-picker-column__item{padding:0 5px;color:#999}.van-picker-column__item--selected{font-weight:500;color:#333}.van-picker-column__item--disabled{opacity:.3} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/badge-group/index.js b/miniprogram_npm/vant-weapp/badge-group/index.js deleted file mode 100644 index 5a0ae70..0000000 --- a/miniprogram_npm/vant-weapp/badge-group/index.js +++ /dev/null @@ -1,55 +0,0 @@ -import { VantComponent } from '../common/component'; -import { isNumber } from '../common/utils'; -VantComponent({ - relation: { - name: 'badge', - type: 'descendant', - linked: function linked(target) { - this.badges.push(target); - this.setActive(); - }, - unlinked: function unlinked(target) { - this.badges = this.badges.filter(function (item) { - return item !== target; - }); - this.setActive(); - } - }, - props: { - active: { - type: Number, - value: 0 - } - }, - watch: { - active: 'setActive' - }, - beforeCreate: function beforeCreate() { - this.badges = []; - this.currentActive = -1; - }, - methods: { - setActive: function setActive(badge) { - var active = this.data.active; - var badges = this.badges; - - if (badge && !isNumber(badge)) { - active = badges.indexOf(badge); - } - - if (active === this.currentActive) { - return; - } - - if (this.currentActive !== -1 && badges[this.currentActive]) { - this.$emit('change', active); - badges[this.currentActive].setActive(false); - } - - if (badges[active]) { - badges[active].setActive(true); - this.currentActive = active; - } - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/badge-group/index.json b/miniprogram_npm/vant-weapp/badge-group/index.json deleted file mode 100644 index 467ce29..0000000 --- a/miniprogram_npm/vant-weapp/badge-group/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/miniprogram_npm/vant-weapp/badge-group/index.wxml b/miniprogram_npm/vant-weapp/badge-group/index.wxml deleted file mode 100644 index 04a0c8f..0000000 --- a/miniprogram_npm/vant-weapp/badge-group/index.wxml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/miniprogram_npm/vant-weapp/badge-group/index.wxss b/miniprogram_npm/vant-weapp/badge-group/index.wxss deleted file mode 100644 index 5149eab..0000000 --- a/miniprogram_npm/vant-weapp/badge-group/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-badge-group{width:85px} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/badge/index.js b/miniprogram_npm/vant-weapp/badge/index.js deleted file mode 100644 index 512370a..0000000 --- a/miniprogram_npm/vant-weapp/badge/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import { VantComponent } from '../common/component'; -VantComponent({ - relation: { - type: 'ancestor', - name: 'badge-group' - }, - props: { - info: Number, - title: String - }, - methods: { - onClick: function onClick() { - var group = this.getRelationNodes('../badge-group/index')[0]; - - if (group) { - group.setActive(this); - } - }, - setActive: function setActive(active) { - this.setData({ - active: active - }); - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/badge/index.json b/miniprogram_npm/vant-weapp/badge/index.json deleted file mode 100644 index 467ce29..0000000 --- a/miniprogram_npm/vant-weapp/badge/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/miniprogram_npm/vant-weapp/badge/index.wxml b/miniprogram_npm/vant-weapp/badge/index.wxml deleted file mode 100644 index 3e55ca3..0000000 --- a/miniprogram_npm/vant-weapp/badge/index.wxml +++ /dev/null @@ -1,4 +0,0 @@ - - {{ info }} - {{ title }} - diff --git a/miniprogram_npm/vant-weapp/badge/index.wxss b/miniprogram_npm/vant-weapp/badge/index.wxss deleted file mode 100644 index 1069532..0000000 --- a/miniprogram_npm/vant-weapp/badge/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-badge{display:block;overflow:hidden;font-size:14px;line-height:1.4;-webkit-user-select:none;user-select:none;color:#666;word-break:break-all;box-sizing:border-box;padding:20px 12px 20px 9px;background-color:#f8f8f8;border-left:3px solid transparent}.van-badge:active{background-color:#e8e8e8}.van-badge::after{border-bottom-width:1px}.van-badge--active{font-weight:700;color:#333;border-color:#f44}.van-badge--active::after{border-right-width:1px}.van-badge--active,.van-badge--active:active{background-color:#fff}.van-badge__info{position:absolute;top:4px;right:2px;color:#fff;font-size:12px;font-weight:500;-webkit-transform:scale(.8);transform:scale(.8);text-align:center;box-sizing:border-box;padding:0 6px;min-width:18px;line-height:18px;border-radius:9px;background-color:#f44} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/button/index.js b/miniprogram_npm/vant-weapp/button/index.js deleted file mode 100644 index 8a426c6..0000000 --- a/miniprogram_npm/vant-weapp/button/index.js +++ /dev/null @@ -1,52 +0,0 @@ -import { VantComponent } from '../common/component'; -import { button } from '../mixins/button'; -import { openType } from '../mixins/open-type'; -VantComponent({ - classes: ['loading-class'], - mixins: [button, openType], - props: { - plain: Boolean, - block: Boolean, - round: Boolean, - square: Boolean, - loading: Boolean, - disabled: Boolean, - type: { - type: String, - value: 'default' - }, - size: { - type: String, - value: 'normal' - } - }, - computed: { - classes: function classes() { - var _this$data = this.data, - type = _this$data.type, - size = _this$data.size, - block = _this$data.block, - plain = _this$data.plain, - round = _this$data.round, - square = _this$data.square, - loading = _this$data.loading, - disabled = _this$data.disabled; - return this.classNames('custom-class', 'van-button', "van-button--" + type, "van-button--" + size, { - 'van-button--block': block, - 'van-button--round': round, - 'van-button--plain': plain, - 'van-button--square': square, - 'van-button--loading': loading, - 'van-button--disabled': disabled, - 'van-button--unclickable': disabled || loading - }); - } - }, - methods: { - onClick: function onClick() { - if (!this.data.disabled && !this.data.loading) { - this.$emit('click'); - } - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/button/index.json b/miniprogram_npm/vant-weapp/button/index.json deleted file mode 100644 index cae2170..0000000 --- a/miniprogram_npm/vant-weapp/button/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-loading": "../loading/index" - } -} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/button/index.wxml b/miniprogram_npm/vant-weapp/button/index.wxml deleted file mode 100644 index 32c2b36..0000000 --- a/miniprogram_npm/vant-weapp/button/index.wxml +++ /dev/null @@ -1,26 +0,0 @@ - diff --git a/miniprogram_npm/vant-weapp/button/index.wxss b/miniprogram_npm/vant-weapp/button/index.wxss deleted file mode 100644 index 10d9a3e..0000000 --- a/miniprogram_npm/vant-weapp/button/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-button{position:relative;padding:0;display:inline-block;height:44px;line-height:42px;border-radius:2px;box-sizing:border-box;font-size:16px;text-align:center;vertical-align:middle;-webkit-appearance:none;-webkit-text-size-adjust:100%}.van-button::after{content:" ";position:absolute;top:50%;left:50%;opacity:0;width:100%;height:100%;border:inherit;border-color:#000;background-color:#000;border-radius:inherit;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.van-button:active::after{opacity:.15}.van-button--unclickable::after{display:none}.van-button--default{color:#333;background-color:#fff;border:1px solid #eee}.van-button--primary{color:#fff;background-color:#4b0;border:1px solid #4b0}.van-button--danger{color:#fff;background-color:#f44;border:1px solid #f44}.van-button--warning{color:#fff;background-color:#ff976a;border:1px solid #ff976a}.van-button--plain{background-color:#fff}.van-button--plain.van-button--primary{color:#4b0}.van-button--plain.van-button--danger{color:#f44}.van-button--plain.van-button--warning{color:#ff976a}.van-button--large{width:100%;height:50px;line-height:48px}.van-button--normal{padding:0 15px;font-size:14px}.van-button--small{height:30px;padding:0 8px;min-width:60px;font-size:12px;line-height:28px}.van-button--mini{display:inline-block;width:50px;height:22px;line-height:20px;font-size:10px}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{width:100%;display:block}.van-button--round{border-radius:10em}.van-button--square{border-radius:0}.van-button--disabled{opacity:.5} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/card/index.js b/miniprogram_npm/vant-weapp/card/index.js deleted file mode 100644 index 8174f9f..0000000 --- a/miniprogram_npm/vant-weapp/card/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import { link } from '../mixins/link'; -import { VantComponent } from '../common/component'; -VantComponent({ - classes: ['num-class', 'desc-class', 'thumb-class', 'title-class', 'price-class', 'origin-price-class'], - mixins: [link], - props: { - tag: String, - num: String, - desc: String, - thumb: String, - title: String, - price: String, - centered: Boolean, - lazyLoad: Boolean, - thumbLink: String, - originPrice: String, - thumbMode: { - type: String, - value: 'scaleToFill' - }, - currency: { - type: String, - value: '¥' - } - }, - methods: { - onClickThumb: function onClickThumb() { - this.jumpLink('thumbLink'); - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/card/index.json b/miniprogram_npm/vant-weapp/card/index.json deleted file mode 100644 index e917407..0000000 --- a/miniprogram_npm/vant-weapp/card/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-tag": "../tag/index" - } -} diff --git a/miniprogram_npm/vant-weapp/card/index.wxml b/miniprogram_npm/vant-weapp/card/index.wxml deleted file mode 100644 index a586951..0000000 --- a/miniprogram_npm/vant-weapp/card/index.wxml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - {{ tag }} - - - - - - {{ title }} - - - {{ desc }} - - - - - - {{ currency }} {{ price }} - {{ currency }} {{ originPrice }} - x {{ num }} - - - - - - - diff --git a/miniprogram_npm/vant-weapp/card/index.wxss b/miniprogram_npm/vant-weapp/card/index.wxss deleted file mode 100644 index 02d047a..0000000 --- a/miniprogram_npm/vant-weapp/card/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-card{box-sizing:border-box;position:relative;height:100px;font-size:12px;color:#333;padding:5px 15px 5px 115px;background:#fafafa}.van-card--center{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-card__thumb{position:absolute;top:5px;left:15px;width:90px;height:90px}.van-card__img{width:100%;height:100%}.van-card,.van-card__content{display:-webkit-flex;display:flex}.van-card__content{width:100%}.van-card__desc,.van-card__title{line-height:20px;word-break:break-all}.van-card__title{max-height:40px}.van-card__desc{max-height:20px;color:#666}.van-card__left{-webkit-flex:1;flex:1;min-width:0}.van-card__right{-webkit-flex:none;flex:none;padding-left:10px;line-height:20px;text-align:right}.van-card__origin-price{color:#666;text-decoration:line-through}.van-card__num{color:#666}.van-card__tag{position:absolute;top:2px;left:0}.van-card__footer{position:absolute;right:15px;bottom:5px}.van-card__footer .van-button{margin-left:5px} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell-group/index.js b/miniprogram_npm/vant-weapp/cell-group/index.js deleted file mode 100644 index a9e114c..0000000 --- a/miniprogram_npm/vant-weapp/cell-group/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import { VantComponent } from '../common/component'; -VantComponent({ - props: { - border: { - type: Boolean, - value: true - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell-group/index.json b/miniprogram_npm/vant-weapp/cell-group/index.json deleted file mode 100644 index 32640e0..0000000 --- a/miniprogram_npm/vant-weapp/cell-group/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell-group/index.wxml b/miniprogram_npm/vant-weapp/cell-group/index.wxml deleted file mode 100644 index 4ed34ac..0000000 --- a/miniprogram_npm/vant-weapp/cell-group/index.wxml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/miniprogram_npm/vant-weapp/cell-group/index.wxss b/miniprogram_npm/vant-weapp/cell-group/index.wxss deleted file mode 100644 index 99694d6..0000000 --- a/miniprogram_npm/vant-weapp/cell-group/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss'; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell/index.js b/miniprogram_npm/vant-weapp/cell/index.js deleted file mode 100644 index c2332fe..0000000 --- a/miniprogram_npm/vant-weapp/cell/index.js +++ /dev/null @@ -1,48 +0,0 @@ -import { link } from '../mixins/link'; -import { VantComponent } from '../common/component'; -VantComponent({ - classes: ['title-class', 'label-class', 'value-class'], - mixins: [link], - props: { - title: null, - value: null, - icon: String, - label: String, - center: Boolean, - isLink: Boolean, - required: Boolean, - clickable: Boolean, - titleWidth: String, - customStyle: String, - arrowDirection: String, - border: { - type: Boolean, - value: true - } - }, - computed: { - cellClass: function cellClass() { - var data = this.data; - return this.classNames('custom-class', 'van-cell', { - 'van-cell--center': data.center, - 'van-cell--required': data.required, - 'van-cell--borderless': !data.border, - 'van-cell--clickable': data.isLink || data.clickable - }); - }, - titleStyle: function titleStyle() { - var titleWidth = this.data.titleWidth; - return titleWidth ? "max-width: " + titleWidth + ";min-width: " + titleWidth : ''; - }, - iconWrapClass: function iconWrapClass() { - var prefix = 'van-cell__right-icon-wrap'; - return this.classNames(prefix, prefix + "--" + this.data.arrowDirection); - } - }, - methods: { - onClick: function onClick(event) { - this.$emit('click', event.detail); - this.jumpLink(); - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell/index.json b/miniprogram_npm/vant-weapp/cell/index.json deleted file mode 100644 index a9ab393..0000000 --- a/miniprogram_npm/vant-weapp/cell/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-icon": "../icon/index" - } -} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell/index.wxml b/miniprogram_npm/vant-weapp/cell/index.wxml deleted file mode 100644 index 17f0662..0000000 --- a/miniprogram_npm/vant-weapp/cell/index.wxml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - {{ title }} - {{ label }} - - - - - - {{ value }} - - - - - - - - diff --git a/miniprogram_npm/vant-weapp/cell/index.wxss b/miniprogram_npm/vant-weapp/cell/index.wxss deleted file mode 100644 index be8fd7c..0000000 --- a/miniprogram_npm/vant-weapp/cell/index.wxss +++ /dev/null @@ -1,123 +0,0 @@ -@import '../common/index.wxss'; - -.van-cell { - width: 100%; - display: -webkit-flex; - display: flex; - padding: 10px 15px; - box-sizing: border-box; - line-height: 24px; - position: relative; - background-color: #fff; - color: #333; - font-size: 14px; -} - -.van-cell::after { - content: ' '; - position: absolute; - pointer-events: none; - box-sizing: border-box; - -webkit-transform-origin: center; - transform-origin: center; - top: auto; - left: 15px; - right: 0; - bottom: 0; - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); - border-bottom: 1px solid #eee; -} - -.van-cell--borderless::after { - display: none; -} - -.van-cell-group { - background-color: #fff; -} - -.van-cell__label { - font-size: 12px; - line-height: 1.2; - color: #666; -} - -.van-cell__title, .van-cell__value { - -webkit-flex: 1; - flex: 1; -} - -.van-cell__title:empty, .van-cell__value:empty { - display: none; -} - -.van-cell__value { - overflow: hidden; - text-align: right; - vertical-align: middle; -} - -.van-cell__left-icon-wrap, .van-cell__right-icon-wrap { - display: -webkit-flex; - display: flex; - -webkit-align-items: center; - align-items: center; - height: 24px; -} - -.van-cell__left-icon-wrap { - margin-right: 5px; -} - -.van-cell__right-icon-wrap { - margin-left: 5px; -} - -.van-cell__right-icon-wrap--left { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); -} - -.van-cell__right-icon-wrap--up { - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); -} - -.van-cell__right-icon-wrap--down { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} - -.van-cell__left-icon { - font-size: 16px !important; - line-height: 24px; - vertical-align: middle; -} - -.van-cell__right-icon { - color: #999; - font-size: 12px !important; - line-height: 24px; -} - -.van-cell--clickable:active { - background-color: #e8e8e8; -} - -.van-cell--required { - overflow: visible; -} - -.van-cell--required::before { - content: '*'; - position: absolute; - left: 7px; - font-size: 14px; - color: #f44; -} - -.van-cell--center { - -webkit-align-items: center; - align-items: center; -} diff --git a/miniprogram_npm/vant-weapp/checkbox-group/index.js b/miniprogram_npm/vant-weapp/checkbox-group/index.js deleted file mode 100644 index 31030eb..0000000 --- a/miniprogram_npm/vant-weapp/checkbox-group/index.js +++ /dev/null @@ -1,40 +0,0 @@ -import { VantComponent } from '../common/component'; -VantComponent({ - field: true, - relation: { - name: 'checkbox', - type: 'descendant', - linked: function linked(target) { - var _this$data = this.data, - value = _this$data.value, - disabled = _this$data.disabled; - target.setData({ - value: value.indexOf(target.data.name) !== -1, - disabled: disabled || target.data.disabled - }); - } - }, - props: { - value: Array, - disabled: Boolean, - max: Number - }, - watch: { - value: function value(_value) { - var children = this.getRelationNodes('../checkbox/index'); - children.forEach(function (child) { - child.setData({ - value: _value.indexOf(child.data.name) !== -1 - }); - }); - }, - disabled: function disabled(_disabled) { - var children = this.getRelationNodes('../checkbox/index'); - children.forEach(function (child) { - child.setData({ - disabled: _disabled || child.data.disabled - }); - }); - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/checkbox-group/index.json b/miniprogram_npm/vant-weapp/checkbox-group/index.json deleted file mode 100644 index 0a336c0..0000000 --- a/miniprogram_npm/vant-weapp/checkbox-group/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-icon": "../icon/index" - } -} diff --git a/miniprogram_npm/vant-weapp/checkbox-group/index.wxml b/miniprogram_npm/vant-weapp/checkbox-group/index.wxml deleted file mode 100644 index 4fa864c..0000000 --- a/miniprogram_npm/vant-weapp/checkbox-group/index.wxml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/miniprogram_npm/vant-weapp/checkbox-group/index.wxss b/miniprogram_npm/vant-weapp/checkbox-group/index.wxss deleted file mode 100644 index 99694d6..0000000 --- a/miniprogram_npm/vant-weapp/checkbox-group/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss'; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/checkbox/index.js b/miniprogram_npm/vant-weapp/checkbox/index.js deleted file mode 100644 index e4ca564..0000000 --- a/miniprogram_npm/vant-weapp/checkbox/index.js +++ /dev/null @@ -1,94 +0,0 @@ -import { VantComponent } from '../common/component'; -VantComponent({ - field: true, - relation: { - name: 'checkbox-group', - type: 'ancestor' - }, - classes: ['icon-class', 'label-class'], - props: { - value: null, - disabled: Boolean, - useIconSlot: Boolean, - checkedColor: String, - labelPosition: String, - labelDisabled: Boolean, - shape: { - type: String, - value: 'round' - } - }, - computed: { - iconClass: function iconClass() { - var _this$data = this.data, - disabled = _this$data.disabled, - value = _this$data.value, - shape = _this$data.shape; - return this.classNames('van-checkbox__icon', "van-checkbox__icon--" + shape, { - 'van-checkbox__icon--disabled': disabled, - 'van-checkbox__icon--checked': value - }); - }, - iconStyle: function iconStyle() { - var _this$data2 = this.data, - value = _this$data2.value, - disabled = _this$data2.disabled, - checkedColor = _this$data2.checkedColor; - - if (checkedColor && value && !disabled) { - return "border-color: " + checkedColor + "; background-color: " + checkedColor; - } - - return ''; - } - }, - methods: { - emitChange: function emitChange(value) { - var parent = this.getRelationNodes('../checkbox-group/index')[0]; - - if (parent) { - this.setParentValue(parent, value); - } else { - this.$emit('input', value); - this.$emit('change', value); - } - }, - toggle: function toggle() { - if (!this.data.disabled) { - this.emitChange(!this.data.value); - } - }, - onClickLabel: function onClickLabel() { - if (!this.data.disabled && !this.data.labelDisabled) { - this.emitChange(!this.data.value); - } - }, - setParentValue: function setParentValue(parent, value) { - var parentValue = parent.data.value.slice(); - var name = this.data.name; - - if (value) { - if (parent.data.max && parentValue.length >= parent.data.max) { - return; - } - /* istanbul ignore else */ - - - if (parentValue.indexOf(name) === -1) { - parentValue.push(name); - parent.$emit('input', parentValue); - parent.$emit('change', parentValue); - } - } else { - var index = parentValue.indexOf(name); - /* istanbul ignore else */ - - if (index !== -1) { - parentValue.splice(index, 1); - parent.$emit('input', parentValue); - parent.$emit('change', parentValue); - } - } - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/checkbox/index.json b/miniprogram_npm/vant-weapp/checkbox/index.json deleted file mode 100644 index 0a336c0..0000000 --- a/miniprogram_npm/vant-weapp/checkbox/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-icon": "../icon/index" - } -} diff --git a/miniprogram_npm/vant-weapp/checkbox/index.wxml b/miniprogram_npm/vant-weapp/checkbox/index.wxml deleted file mode 100644 index 2804381..0000000 --- a/miniprogram_npm/vant-weapp/checkbox/index.wxml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - diff --git a/miniprogram_npm/vant-weapp/checkbox/index.wxss b/miniprogram_npm/vant-weapp/checkbox/index.wxss deleted file mode 100644 index 5182e73..0000000 --- a/miniprogram_npm/vant-weapp/checkbox/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-checkbox{overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox__icon-wrap,.van-checkbox__label{display:inline-block;line-height:20px;vertical-align:middle}.van-checkbox__icon{box-sizing:border-box;display:block;width:20px;height:20px;border:1px solid #e5e5e5;color:transparent;font-size:12px;text-align:center;transition:.2s}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{color:#fff;border-color:#1989fa;background-color:#1989fa}.van-checkbox__icon--disabled{border-color:#eee;background-color:currentColor;color:#f8f8f8}.van-checkbox__icon--disabled.van-checkbox__icon--checked{border-color:#eee;background-color:#eee}.van-checkbox__label{margin-left:10px}.van-checkbox__label--left{margin:0 10px 0 0;float:left}.van-checkbox__label:empty{margin:0} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/col/index.js b/miniprogram_npm/vant-weapp/col/index.js deleted file mode 100644 index 9ab79f3..0000000 --- a/miniprogram_npm/vant-weapp/col/index.js +++ /dev/null @@ -1,37 +0,0 @@ -import { VantComponent } from '../common/component'; -VantComponent({ - relation: { - name: 'row', - type: 'ancestor' - }, - props: { - span: Number, - offset: Number - }, - data: { - style: '' - }, - computed: { - classes: function classes() { - var _this$data = this.data, - span = _this$data.span, - offset = _this$data.offset; - return this.classNames('custom-class', 'van-col', { - ["van-col--" + span]: span, - ["van-col--offset-" + offset]: offset - }); - } - }, - methods: { - setGutter: function setGutter(gutter) { - var padding = gutter / 2 + "px"; - var style = gutter ? "padding-left: " + padding + "; padding-right: " + padding + ";" : ''; - - if (style !== this.data.style) { - this.setData({ - style: style - }); - } - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/col/index.json b/miniprogram_npm/vant-weapp/col/index.json deleted file mode 100644 index 467ce29..0000000 --- a/miniprogram_npm/vant-weapp/col/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/miniprogram_npm/vant-weapp/col/index.wxml b/miniprogram_npm/vant-weapp/col/index.wxml deleted file mode 100644 index f4cbabf..0000000 --- a/miniprogram_npm/vant-weapp/col/index.wxml +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/miniprogram_npm/vant-weapp/col/index.wxss b/miniprogram_npm/vant-weapp/col/index.wxss deleted file mode 100644 index 44c896a..0000000 --- a/miniprogram_npm/vant-weapp/col/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-col{float:left;box-sizing:border-box}.van-col--1{width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{width:100%}.van-col--offset-24{margin-left:100%} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/class-names.js b/miniprogram_npm/vant-weapp/common/class-names.js deleted file mode 100644 index 7e1d050..0000000 --- a/miniprogram_npm/vant-weapp/common/class-names.js +++ /dev/null @@ -1,29 +0,0 @@ -var hasOwn = {}.hasOwnProperty; -export function classNames() { - var classes = []; - - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (!arg) continue; - var argType = typeof arg; - - if (argType === 'string' || argType === 'number') { - classes.push(arg); - } else if (Array.isArray(arg) && arg.length) { - var inner = classNames.apply(null, arg); - - if (inner) { - classes.push(inner); - } - } else if (argType === 'object') { - for (var key in arg) { - if (hasOwn.call(arg, key) && arg[key]) { - classes.push(key); - } - } - } - } - - return classes.join(' '); -} -; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/color.js b/miniprogram_npm/vant-weapp/common/color.js deleted file mode 100644 index ad9fbe1..0000000 --- a/miniprogram_npm/vant-weapp/common/color.js +++ /dev/null @@ -1,3 +0,0 @@ -export var RED = '#f44'; -export var BLUE = '#1989fa'; -export var GREEN = '#4b0'; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/component.js b/miniprogram_npm/vant-weapp/common/component.js deleted file mode 100644 index 0bae29c..0000000 --- a/miniprogram_npm/vant-weapp/common/component.js +++ /dev/null @@ -1,59 +0,0 @@ -import { basic } from '../mixins/basic'; -import { observe } from '../mixins/observer/index'; - -function mapKeys(source, target, map) { - Object.keys(map).forEach(function (key) { - if (source[key]) { - target[map[key]] = source[key]; - } - }); -} - -function VantComponent(vantOptions) { - if (vantOptions === void 0) { - vantOptions = {}; - } - - var options = {}; - mapKeys(vantOptions, options, { - data: 'data', - props: 'properties', - mixins: 'behaviors', - methods: 'methods', - beforeCreate: 'created', - created: 'attached', - mounted: 'ready', - relations: 'relations', - destroyed: 'detached', - classes: 'externalClasses' - }); - var _vantOptions = vantOptions, - relation = _vantOptions.relation; - - if (relation) { - options.relations = Object.assign(options.relations || {}, { - ["../" + relation.name + "/index"]: relation - }); - } // add default externalClasses - - - options.externalClasses = options.externalClasses || []; - options.externalClasses.push('custom-class'); // add default behaviors - - options.behaviors = options.behaviors || []; - options.behaviors.push(basic); // map field to form-field behavior - - if (vantOptions.field) { - options.behaviors.push('wx://form-field'); - } // add default options - - - options.options = { - multipleSlots: true, - addGlobalClass: true - }; - observe(vantOptions, options); - Component(options); -} - -export { VantComponent }; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/index.wxss b/miniprogram_npm/vant-weapp/common/index.wxss deleted file mode 100644 index 474d28b..0000000 --- a/miniprogram_npm/vant-weapp/common/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.van-clearfix::after{content:'';display:table;clear:both}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom::after,.van-hairline--left::after,.van-hairline--right::after,.van-hairline--surround::after,.van-hairline--top-bottom::after,.van-hairline--top::after,.van-hairline::after{content:' ';position:absolute;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;top:-50%;left:-50%;right:-50%;bottom:-50%;-webkit-transform:scale(.5);transform:scale(.5);border:0 solid #eee}.van-hairline--top::after{border-top-width:1px}.van-hairline--left::after{border-left-width:1px}.van-hairline--right::after{border-right-width:1px}.van-hairline--bottom::after{border-bottom-width:1px}.van-hairline--top-bottom::after{border-width:1px 0}.van-hairline--surround::after{border-width:1px} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/style/clearfix.wxss b/miniprogram_npm/vant-weapp/common/style/clearfix.wxss deleted file mode 100644 index df65a0a..0000000 --- a/miniprogram_npm/vant-weapp/common/style/clearfix.wxss +++ /dev/null @@ -1 +0,0 @@ -.van-clearfix::after{content:'';display:table;clear:both} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/style/ellipsis.wxss b/miniprogram_npm/vant-weapp/common/style/ellipsis.wxss deleted file mode 100644 index 94eba8e..0000000 --- a/miniprogram_npm/vant-weapp/common/style/ellipsis.wxss +++ /dev/null @@ -1 +0,0 @@ -.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/style/hairline.wxss b/miniprogram_npm/vant-weapp/common/style/hairline.wxss deleted file mode 100644 index 0988a6a..0000000 --- a/miniprogram_npm/vant-weapp/common/style/hairline.wxss +++ /dev/null @@ -1 +0,0 @@ -.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom::after,.van-hairline--left::after,.van-hairline--right::after,.van-hairline--surround::after,.van-hairline--top-bottom::after,.van-hairline--top::after,.van-hairline::after{content:' ';position:absolute;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;top:-50%;left:-50%;right:-50%;bottom:-50%;-webkit-transform:scale(.5);transform:scale(.5);border:0 solid #eee}.van-hairline--top::after{border-top-width:1px}.van-hairline--left::after{border-left-width:1px}.van-hairline--right::after{border-right-width:1px}.van-hairline--bottom::after{border-bottom-width:1px}.van-hairline--top-bottom::after{border-width:1px 0}.van-hairline--surround::after{border-width:1px} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/style/mixins/clearfix.wxss b/miniprogram_npm/vant-weapp/common/style/mixins/clearfix.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/miniprogram_npm/vant-weapp/common/style/mixins/ellipsis.wxss b/miniprogram_npm/vant-weapp/common/style/mixins/ellipsis.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/miniprogram_npm/vant-weapp/common/style/mixins/hairline.wxss b/miniprogram_npm/vant-weapp/common/style/mixins/hairline.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/miniprogram_npm/vant-weapp/common/style/var.wxss b/miniprogram_npm/vant-weapp/common/style/var.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/miniprogram_npm/vant-weapp/common/utils.js b/miniprogram_npm/vant-weapp/common/utils.js deleted file mode 100644 index 47f27a5..0000000 --- a/miniprogram_npm/vant-weapp/common/utils.js +++ /dev/null @@ -1,14 +0,0 @@ -function isDef(value) { - return value !== undefined && value !== null; -} - -function isObj(x) { - var type = typeof x; - return x !== null && (type === 'object' || type === 'function'); -} - -function isNumber(value) { - return /^\d+$/.test(value); -} - -export { isObj, isDef, isNumber }; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/datetime-picker/index.js b/miniprogram_npm/vant-weapp/datetime-picker/index.js deleted file mode 100644 index 2b478e8..0000000 --- a/miniprogram_npm/vant-weapp/datetime-picker/index.js +++ /dev/null @@ -1,394 +0,0 @@ -import { VantComponent } from '../common/component'; -var currentYear = new Date().getFullYear(); - -var isValidDate = function isValidDate(date) { - return !isNaN(new Date(date).getTime()); -}; - -function range(num, min, max) { - return Math.min(Math.max(num, min), max); -} - -VantComponent({ - props: { - value: null, - title: String, - loading: Boolean, - itemHeight: { - type: Number, - value: 44 - }, - visibleItemCount: { - type: Number, - value: 5 - }, - confirmButtonText: { - type: String, - value: '确认' - }, - cancelButtonText: { - type: String, - value: '取消' - }, - type: { - type: String, - value: 'datetime' - }, - showToolbar: { - type: Boolean, - value: true - }, - minDate: { - type: Number, - value: new Date(currentYear - 10, 0, 1).getTime() - }, - maxDate: { - type: Number, - value: new Date(currentYear + 10, 11, 31).getTime() - }, - minHour: { - type: Number, - value: 0 - }, - maxHour: { - type: Number, - value: 23 - }, - minMinute: { - type: Number, - value: 0 - }, - maxMinute: { - type: Number, - value: 59 - } - }, - data: { - pickerValue: [], - innerValue: Date.now() - }, - computed: { - columns: function columns() { - var _this = this; - - var results = this.getRanges().map(function (_ref) { - var type = _ref.type, - range = _ref.range; - - var values = _this.times(range[1] - range[0] + 1, function (index) { - var value = range[0] + index; - value = type === 'year' ? "" + value : _this.pad(value); - return value; - }); - - return values; - }); - return results; - } - }, - watch: { - value: function value(val) { - var _this2 = this; - - var data = this.data; - val = this.correctValue(val); - var isEqual = val === data.innerValue; - - if (!isEqual) { - this.setData({ - innerValue: val - }, function () { - _this2.updateColumnValue(val); - - _this2.$emit('input', val); - }); - } - } - }, - methods: { - getRanges: function getRanges() { - var data = this.data; - - if (data.type === 'time') { - return [{ - type: 'hour', - range: [data.minHour, data.maxHour] - }, { - type: 'minute', - range: [data.minMinute, data.maxMinute] - }]; - } - - var _this$getBoundary = this.getBoundary('max', data.innerValue), - maxYear = _this$getBoundary.maxYear, - maxDate = _this$getBoundary.maxDate, - maxMonth = _this$getBoundary.maxMonth, - maxHour = _this$getBoundary.maxHour, - maxMinute = _this$getBoundary.maxMinute; - - var _this$getBoundary2 = this.getBoundary('min', data.innerValue), - minYear = _this$getBoundary2.minYear, - minDate = _this$getBoundary2.minDate, - minMonth = _this$getBoundary2.minMonth, - minHour = _this$getBoundary2.minHour, - minMinute = _this$getBoundary2.minMinute; - - var result = [{ - type: 'year', - range: [minYear, maxYear] - }, { - type: 'month', - range: [minMonth, maxMonth] - }, { - type: 'day', - range: [minDate, maxDate] - }, { - type: 'hour', - range: [minHour, maxHour] - }, { - type: 'minute', - range: [minMinute, maxMinute] - }]; - if (data.type === 'date') result.splice(3, 2); - if (data.type === 'year-month') result.splice(2, 3); - return result; - }, - pad: function pad(val) { - return ("00" + val).slice(-2); - }, - correctValue: function correctValue(value) { - var data = this.data, - pad = this.pad; // validate value - - var isDateType = data.type !== 'time'; - - if (isDateType && !isValidDate(value)) { - value = data.minDate; - } else if (!isDateType && !value) { - var _minHour = data.minHour; - value = pad(_minHour) + ":00"; - } // time type - - - if (!isDateType) { - var _value$split = value.split(':'), - hour = _value$split[0], - minute = _value$split[1]; - - hour = pad(range(hour, data.minHour, data.maxHour)); - minute = pad(range(minute, data.minMinute, data.maxMinute)); - return hour + ":" + minute; - } // date type - - - var _this$getBoundary3 = this.getBoundary('max', value), - maxYear = _this$getBoundary3.maxYear, - maxDate = _this$getBoundary3.maxDate, - maxMonth = _this$getBoundary3.maxMonth, - maxHour = _this$getBoundary3.maxHour, - maxMinute = _this$getBoundary3.maxMinute; - - var _this$getBoundary4 = this.getBoundary('min', value), - minYear = _this$getBoundary4.minYear, - minDate = _this$getBoundary4.minDate, - minMonth = _this$getBoundary4.minMonth, - minHour = _this$getBoundary4.minHour, - minMinute = _this$getBoundary4.minMinute; - - var minDay = new Date(minYear, minMonth - 1, minDate, minHour, minMinute); - var maxDay = new Date(maxYear, maxMonth - 1, maxDate, maxHour, maxMinute); - value = Math.max(value, minDay.getTime()); - value = Math.min(value, maxDay.getTime()); - return value; - }, - times: function times(n, iteratee) { - var index = -1; - var result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - - return result; - }, - getBoundary: function getBoundary(type, innerValue) { - var value = new Date(innerValue); - var boundary = new Date(this.data[type + "Date"]); - var year = boundary.getFullYear(); - var month = 1; - var date = 1; - var hour = 0; - var minute = 0; - - if (type === 'max') { - month = 12; - date = this.getMonthEndDay(value.getFullYear(), value.getMonth() + 1); - hour = 23; - minute = 59; - } - - if (value.getFullYear() === year) { - month = boundary.getMonth() + 1; - - if (value.getMonth() + 1 === month) { - date = boundary.getDate(); - - if (value.getDate() === date) { - hour = boundary.getHours(); - - if (value.getHours() === hour) { - minute = boundary.getMinutes(); - } - } - } - } - - return { - [type + "Year"]: year, - [type + "Month"]: month, - [type + "Date"]: date, - [type + "Hour"]: hour, - [type + "Minute"]: minute - }; - }, - getTrueValue: function getTrueValue(formattedValue) { - if (!formattedValue) return; - - while (isNaN(parseInt(formattedValue, 10))) { - formattedValue = formattedValue.slice(1); - } - - return parseInt(formattedValue, 10); - }, - getMonthEndDay: function getMonthEndDay(year, month) { - return 32 - new Date(year, month - 1, 32).getDate(); - }, - onCancel: function onCancel() { - this.$emit('cancel'); - }, - onConfirm: function onConfirm() { - this.$emit('confirm', this.data.innerValue); - }, - onChange: function onChange(event) { - var _this3 = this; - - var data = this.data; - var pickerValue = event.detail.value; - var values = pickerValue.map(function (value, index) { - return data.columns[index][value]; - }); - var value; - - if (data.type === 'time') { - value = values.join(':'); - } else { - var year = this.getTrueValue(values[0]); - var month = this.getTrueValue(values[1]); - var maxDate = this.getMonthEndDay(year, month); - var date = this.getTrueValue(values[2]); - - if (data.type === 'year-month') { - date = 1; - } - - date = date > maxDate ? maxDate : date; - var hour = 0; - var minute = 0; - - if (data.type === 'datetime') { - hour = this.getTrueValue(values[3]); - minute = this.getTrueValue(values[4]); - } - - value = new Date(year, month - 1, date, hour, minute); - } - - value = this.correctValue(value); - this.setData({ - innerValue: value - }, function () { - _this3.updateColumnValue(value); - - _this3.$emit('input', value); - - _this3.$emit('change', _this3); - }); - }, - getColumnValue: function getColumnValue(index) { - return this.getValues()[index]; - }, - setColumnValue: function setColumnValue(index, value) { - var _this$data = this.data, - pickerValue = _this$data.pickerValue, - columns = _this$data.columns; - pickerValue[index] = columns[index].indexOf(value); - this.setData({ - pickerValue: pickerValue - }); - }, - getColumnValues: function getColumnValues(index) { - return this.data.columns[index]; - }, - setColumnValues: function setColumnValues(index, values) { - var columns = this.data.columns; - columns[index] = values; - this.setData({ - columns: columns - }); - }, - getValues: function getValues() { - var _this$data2 = this.data, - pickerValue = _this$data2.pickerValue, - columns = _this$data2.columns; - return pickerValue.map(function (value, index) { - return columns[index][value]; - }); - }, - setValues: function setValues(values) { - var columns = this.data.columns; - this.setData({ - pickerValue: values.map(function (value, index) { - return columns[index].indexOf(value); - }) - }); - }, - updateColumnValue: function updateColumnValue(value) { - var values = []; - var pad = this.pad, - data = this.data; - var columns = data.columns; - - if (data.type === 'time') { - var currentValue = value.split(':'); - values = [columns[0].indexOf(currentValue[0]), columns[1].indexOf(currentValue[1])]; - } else { - var date = new Date(value); - values = [columns[0].indexOf("" + date.getFullYear()), columns[1].indexOf(pad(date.getMonth() + 1))]; - - if (data.type === 'date') { - values.push(columns[2].indexOf(pad(date.getDate()))); - } - - if (data.type === 'datetime') { - values.push(columns[2].indexOf(pad(date.getDate())), columns[3].indexOf(pad(date.getHours())), columns[4].indexOf(pad(date.getMinutes()))); - } - } - - this.setData({ - pickerValue: values - }); - } - }, - created: function created() { - var _this4 = this; - - var innerValue = this.correctValue(this.data.value); - this.setData({ - innerValue: innerValue - }, function () { - _this4.updateColumnValue(innerValue); - - _this4.$emit('input', innerValue); - }); - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/datetime-picker/index.json b/miniprogram_npm/vant-weapp/datetime-picker/index.json deleted file mode 100644 index 01077f5..0000000 --- a/miniprogram_npm/vant-weapp/datetime-picker/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-loading": "../loading/index" - } -} diff --git a/miniprogram_npm/vant-weapp/datetime-picker/index.wxml b/miniprogram_npm/vant-weapp/datetime-picker/index.wxml deleted file mode 100644 index fef4bec..0000000 --- a/miniprogram_npm/vant-weapp/datetime-picker/index.wxml +++ /dev/null @@ -1,34 +0,0 @@ - - - {{ cancelButtonText }} - {{ title }} - {{ confirmButtonText }} - - - - - - - - - {{ item }} - - - diff --git a/miniprogram_npm/vant-weapp/datetime-picker/index.wxss b/miniprogram_npm/vant-weapp/datetime-picker/index.wxss deleted file mode 100644 index 1616412..0000000 --- a/miniprogram_npm/vant-weapp/datetime-picker/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-picker{-webkit-text-size-adjust:100%;position:relative;overflow:hidden;background-color:#fff;-webkit-user-select:none;user-select:none}.van-picker__toolbar{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;height:44px;line-height:44px}.van-picker__cancel,.van-picker__confirm{color:#1989fa;padding:0 15px;font-size:14px}.van-picker__cancel:active,.van-picker__confirm:active{background-color:#e8e8e8}.van-picker__title{max-width:50%;font-size:16px;font-weight:500;text-align:center}.van-picker__columns{position:relative}.van-picker__loading{display:-webkit-flex;display:flex;z-index:4;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background-color:rgba(255,255,255,.9)}.van-picker-column{-webkit-flex:1;flex:1;overflow:hidden;font-size:16px;text-align:center}.van-picker-column__item{padding:0 5px;color:#999}.van-picker-column__item--selected{font-weight:500;color:#333}.van-picker-column__item--disabled{opacity:.3} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/dialog/dialog.js b/miniprogram_npm/vant-weapp/dialog/dialog.js deleted file mode 100644 index 8801d1d..0000000 --- a/miniprogram_npm/vant-weapp/dialog/dialog.js +++ /dev/null @@ -1,70 +0,0 @@ -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - -var queue = []; - -var Dialog = function Dialog(options) { - return new Promise(function (resolve, reject) { - var pages = getCurrentPages(); - var ctx = pages[pages.length - 1]; - var dialog = ctx.selectComponent(options.selector); - delete options.selector; - - if (dialog) { - dialog.setData(_extends({ - onCancel: reject, - onConfirm: resolve - }, options)); - queue.push(dialog); - } - }); -}; - -Dialog.defaultOptions = { - show: true, - title: '', - message: '', - zIndex: 100, - overlay: true, - asyncClose: false, - selector: '#van-dialog', - confirmButtonText: '确认', - cancelButtonText: '取消', - showConfirmButton: true, - showCancelButton: false, - closeOnClickOverlay: false, - confirmButtonOpenType: '' -}; - -Dialog.alert = function (options) { - return Dialog(_extends({}, Dialog.currentOptions, options)); -}; - -Dialog.confirm = function (options) { - return Dialog(_extends({}, Dialog.currentOptions, { - showCancelButton: true - }, options)); -}; - -Dialog.close = function () { - queue.forEach(function (dialog) { - dialog.close(); - }); - queue = []; -}; - -Dialog.stopLoading = function () { - queue.forEach(function (dialog) { - dialog.stopLoading(); - }); -}; - -Dialog.setDefaultOptions = function (options) { - Object.assign(Dialog.currentOptions, options); -}; - -Dialog.resetDefaultOptions = function () { - Dialog.currentOptions = _extends({}, Dialog.defaultOptions); -}; - -Dialog.resetDefaultOptions(); -export default Dialog; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/dialog/index.js b/miniprogram_npm/vant-weapp/dialog/index.js deleted file mode 100644 index ff4eef8..0000000 --- a/miniprogram_npm/vant-weapp/dialog/index.js +++ /dev/null @@ -1,92 +0,0 @@ -import { VantComponent } from '../common/component'; -import { openType } from '../mixins/open-type'; -VantComponent({ - mixins: [openType], - props: { - show: Boolean, - title: String, - message: String, - useSlot: Boolean, - asyncClose: Boolean, - showCancelButton: Boolean, - closeOnClickOverlay: Boolean, - confirmButtonOpenType: String, - zIndex: { - type: Number, - value: 100 - }, - confirmButtonText: { - type: String, - value: '确认' - }, - cancelButtonText: { - type: String, - value: '取消' - }, - showConfirmButton: { - type: Boolean, - value: true - }, - overlay: { - type: Boolean, - value: true - } - }, - data: { - loading: { - confirm: false, - cancel: false - } - }, - watch: { - show: function show(_show) { - !_show && this.stopLoading(); - } - }, - methods: { - onConfirm: function onConfirm() { - this.handleAction('confirm'); - }, - onCancel: function onCancel() { - this.handleAction('cancel'); - }, - onClickOverlay: function onClickOverlay() { - this.onClose('overlay'); - }, - handleAction: function handleAction(action) { - if (this.data.asyncClose) { - this.setData({ - ["loading." + action]: true - }); - } - - this.onClose(action); - }, - close: function close() { - this.setData({ - show: false - }); - }, - stopLoading: function stopLoading() { - this.setData({ - loading: { - confirm: false, - cancel: false - } - }); - }, - onClose: function onClose(action) { - if (!this.data.asyncClose) { - this.close(); - } - - this.$emit('close', action); - this.$emit(action); - var callback = this.data[action === 'confirm' ? 'onConfirm' : 'onCancel']; - - if (callback) { - callback(this); - } - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/dialog/index.json b/miniprogram_npm/vant-weapp/dialog/index.json deleted file mode 100644 index e2ee09a..0000000 --- a/miniprogram_npm/vant-weapp/dialog/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-popup": "../popup/index", - "van-button": "../button/index" - } -} diff --git a/miniprogram_npm/vant-weapp/dialog/index.wxml b/miniprogram_npm/vant-weapp/dialog/index.wxml deleted file mode 100644 index 4058786..0000000 --- a/miniprogram_npm/vant-weapp/dialog/index.wxml +++ /dev/null @@ -1,53 +0,0 @@ - - - {{ title }} - - - - - {{ message }} - - - - - {{ cancelButtonText }} - - - {{ confirmButtonText }} - - - diff --git a/miniprogram_npm/vant-weapp/dialog/index.wxss b/miniprogram_npm/vant-weapp/dialog/index.wxss deleted file mode 100644 index a7c4818..0000000 --- a/miniprogram_npm/vant-weapp/dialog/index.wxss +++ /dev/null @@ -1 +0,0 @@ -@import '../common/index.wxss';.van-dialog{width:85%;font-size:16px;overflow:hidden;border-radius:4px;background-color:#fff}.van-dialog__header{font-weight:500;padding-top:25px;text-align:center}.van-dialog__header--isolated{padding:25px 0}.van-dialog__message{padding:25px;font-size:14px;line-height:1.5}.van-dialog__message--has-title{padding-top:12px;color:#666}.van-dialog__footer{display:-webkit-flex;display:flex}.van-dialog__button{-webkit-flex:1;flex:1}.van-dialog__cancel,.van-dialog__confirm{border:0!important}.van-dialog__confirm,.van-dialog__confirm:active{color:#1989fa!important}.van-dialog-bounce-enter{opacity:0;-webkit-transform:translate3d(-50%,-50%,0) scale(.7);transform:translate3d(-50%,-50%,0) scale(.7)}.van-dialog-bounce-leave-active{opacity:0;-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9)} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/field/index.js b/miniprogram_npm/vant-weapp/field/index.js deleted file mode 100644 index f9328a0..0000000 --- a/miniprogram_npm/vant-weapp/field/index.js +++ /dev/null @@ -1,112 +0,0 @@ -import { VantComponent } from '../common/component'; -VantComponent({ - field: true, - classes: ['input-class'], - props: { - icon: String, - label: String, - error: Boolean, - focus: Boolean, - center: Boolean, - isLink: Boolean, - leftIcon: String, - disabled: Boolean, - autosize: Boolean, - readonly: Boolean, - required: Boolean, - iconClass: String, - clearable: Boolean, - inputAlign: String, - customClass: String, - confirmType: String, - errorMessage: String, - placeholder: String, - customStyle: String, - useIconSlot: Boolean, - useButtonSlot: Boolean, - placeholderStyle: String, - cursorSpacing: { - type: Number, - value: 50 - }, - maxlength: { - type: Number, - value: -1 - }, - type: { - type: String, - value: 'text' - }, - border: { - type: Boolean, - value: true - }, - titleWidth: { - type: String, - value: '90px' - } - }, - data: { - showClear: false - }, - computed: { - inputClass: function inputClass() { - var data = this.data; - return this.classNames('input-class', 'van-field__input', { - 'van-field--error': data.error, - 'van-field__textarea': data.type === 'textarea', - 'van-field__input--disabled': data.disabled, - ["van-field__input--" + data.inputAlign]: data.inputAlign - }); - } - }, - beforeCreate: function beforeCreate() { - this.focused = false; - }, - methods: { - onInput: function onInput(event) { - var _ref = event.detail || {}, - _ref$value = _ref.value, - value = _ref$value === void 0 ? '' : _ref$value; - - this.$emit('input', value); - this.$emit('change', value); - this.setData({ - value: value, - showClear: this.getShowClear(value) - }); - }, - onFocus: function onFocus() { - this.$emit('focus'); - this.focused = true; - this.setData({ - showClear: this.getShowClear() - }); - }, - onBlur: function onBlur() { - this.focused = false; - this.$emit('blur'); - this.setData({ - showClear: this.getShowClear() - }); - }, - onClickIcon: function onClickIcon() { - this.$emit('click-icon'); - }, - getShowClear: function getShowClear(value) { - value = value === undefined ? this.data.value : value; - return this.data.clearable && this.focused && value && !this.data.readonly; - }, - onClear: function onClear() { - this.setData({ - value: '', - showClear: this.getShowClear('') - }); - this.$emit('input', ''); - this.$emit('change', ''); - }, - onConfirm: function onConfirm() { - this.$emit('confirm', this.data.value); - } - } -}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/field/index.json b/miniprogram_npm/vant-weapp/field/index.json deleted file mode 100644 index 8809c46..0000000 --- a/miniprogram_npm/vant-weapp/field/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": { - "van-cell": "../cell/index", - "van-icon": "../icon/index" - } -} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/field/index.wxml b/miniprogram_npm/vant-weapp/field/index.wxml deleted file mode 100644 index e94c6a3..0000000 --- a/miniprogram_npm/vant-weapp/field/index.wxml +++ /dev/null @@ -1,74 +0,0 @@ - - - -

0Zj)P>Y1s%9v5+oNAnIdVmPGP-kWc7{FYrcwzg| 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 G*#7{@?-Zy2 literal 0 HcmV?d00001 diff --git a/images/timg.jpeg b/images/timg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6e703232605c482dfced65174eeca34c9096f923 GIT binary patch literal 15371 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 YY*Y%P`Md&PY5Ze~{{PnoeH;0I04=IqZvX%Q literal 0 HcmV?d00001 diff --git a/miniprogram_npm/vant-weapp/action-sheet/index.js b/miniprogram_npm/vant-weapp/action-sheet/index.js new file mode 100644 index 0000000..2f1d455 --- /dev/null +++ b/miniprogram_npm/vant-weapp/action-sheet/index.js @@ -0,0 +1,40 @@ +import { VantComponent } from '../common/component'; +VantComponent({ + props: { + show: Boolean, + title: String, + cancelText: String, + zIndex: { + type: Number, + value: 100 + }, + actions: { + type: Array, + value: [] + }, + overlay: { + type: Boolean, + value: true + }, + closeOnClickOverlay: { + type: Boolean, + value: true + } + }, + methods: { + onSelect: function onSelect(event) { + var index = event.currentTarget.dataset.index; + var item = this.data.actions[index]; + + if (item && !item.disabled && !item.loading) { + this.$emit('select', item); + } + }, + onCancel: function onCancel() { + this.$emit('cancel'); + }, + onClose: function onClose() { + this.$emit('close'); + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/action-sheet/index.json b/miniprogram_npm/vant-weapp/action-sheet/index.json new file mode 100644 index 0000000..19bf989 --- /dev/null +++ b/miniprogram_npm/vant-weapp/action-sheet/index.json @@ -0,0 +1,8 @@ +{ + "component": true, + "usingComponents": { + "van-icon": "../icon/index", + "van-popup": "../popup/index", + "van-loading": "../loading/index" + } +} diff --git a/miniprogram_npm/vant-weapp/action-sheet/index.wxml b/miniprogram_npm/vant-weapp/action-sheet/index.wxml new file mode 100644 index 0000000..5bfe879 --- /dev/null +++ b/miniprogram_npm/vant-weapp/action-sheet/index.wxml @@ -0,0 +1,40 @@ + + + {{ title }} + + + + + {{ cancelText }} + + + diff --git a/miniprogram_npm/vant-weapp/action-sheet/index.wxss b/miniprogram_npm/vant-weapp/action-sheet/index.wxss new file mode 100644 index 0000000..92fed00 --- /dev/null +++ b/miniprogram_npm/vant-weapp/action-sheet/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-action-sheet{max-height:90%!important;color:#333}.van-action-sheet__cancel,.van-action-sheet__item{height:50px;font-size:16px;line-height:50px;text-align:center;background-color:#fff}.van-action-sheet__cancel:active,.van-action-sheet__item:active{background-color:#e8e8e8}.van-action-sheet__cancel{height:60px}.van-action-sheet__cancel::before{display:block;content:' ';height:10px;background-color:#f8f8f8}.van-action-sheet__item--disabled{color:#c9c9c9}.van-action-sheet__item--disabled:active{background-color:#fff}.van-action-sheet__subname{margin-left:5px;font-size:12px;color:#666}.van-action-sheet__header{font-size:16px;font-weight:500;line-height:44px;text-align:center}.van-action-sheet__close{position:absolute!important;top:0;right:0;padding:0 15px;font-size:18px!important;line-height:inherit!important;color:#999} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/area/index.js b/miniprogram_npm/vant-weapp/area/index.js new file mode 100644 index 0000000..d14bef9 --- /dev/null +++ b/miniprogram_npm/vant-weapp/area/index.js @@ -0,0 +1,198 @@ +import { VantComponent } from '../common/component'; +VantComponent({ + props: { + title: String, + value: String, + loading: Boolean, + itemHeight: { + type: Number, + value: 44 + }, + visibleItemCount: { + type: Number, + value: 5 + }, + columnsNum: { + type: [String, Number], + value: 3 + }, + areaList: { + type: Object, + value: {} + } + }, + data: { + pickerValue: [0, 0, 0], + columns: [] + }, + computed: { + displayColumns: function displayColumns() { + var _this$data = this.data, + _this$data$columns = _this$data.columns, + columns = _this$data$columns === void 0 ? [] : _this$data$columns, + columnsNum = _this$data.columnsNum; + return columns.slice(0, +columnsNum); + } + }, + watch: { + value: function value(_value) { + this.code = _value; + this.setValues(); + }, + areaList: 'setValues' + }, + methods: { + onCancel: function onCancel() { + this.$emit('cancel', { + values: this.getValues(), + indexs: this.getIndexs(), + detail: this.getDetail() + }); + }, + onConfirm: function onConfirm() { + this.$emit('confirm', { + values: this.getValues(), + indexs: this.getIndexs(), + detail: this.getDetail() + }); + }, + onChange: function onChange(event) { + var value = event.detail.value; + var _this$data2 = this.data, + pickerValue = _this$data2.pickerValue, + displayColumns = _this$data2.displayColumns; + var index = pickerValue.findIndex(function (item, index) { + return item !== value[index]; + }); + var values = displayColumns[index]; + + if (index < 0 || value[index] < 0 || !values[value[index]]) { + return; + } + + this.code = values[value[index]].code; + this.setValues(); + this.$emit('change', { + picker: this, + values: this.getValues(), + index: index + }); + }, + getList: function getList(type, code) { + var result = []; + + if (type !== 'province' && !code) { + return result; + } + + var list = this.data.areaList && this.data.areaList[type + "_list"] || {}; + result = Object.keys(list).map(function (code) { + return { + code: code, + name: list[code] + }; + }); + + if (code) { + // oversea code + if (code[0] === '9' && type === 'city') { + code = '9'; + } + + result = result.filter(function (item) { + return item.code.indexOf(code) === 0; + }); + } + + return result; + }, + getIndex: function getIndex(type, code) { + var compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6; + var list = this.getList(type, code.slice(0, compareNum - 2)); // oversea code + + if (code[0] === '9' && type === 'province') { + compareNum = 1; + } + + code = code.slice(0, compareNum); + + for (var i = 0; i < list.length; i++) { + if (list[i].code.slice(0, compareNum) === code) { + return i; + } + } + + return 0; + }, + setValues: function setValues() { + var code = this.code || this.data.areaList && Object.keys(this.data.areaList.county_list || {})[0] || ''; + var province = this.getList('province'); + var city = this.getList('city', code.slice(0, 2)); + this.setData({ + 'columns[0]': province, + 'columns[1]': city + }); + + if (city.length && code.slice(2, 4) === '00') { + code = city[0].code; + } + + this.setData({ + 'columns[2]': this.getList('county', code.slice(0, 4)), + pickerValue: [this.getIndex('province', code), this.getIndex('city', code), this.getIndex('county', code)] + }); + }, + getValues: function getValues() { + var _this$data3 = this.data, + _this$data3$displayCo = _this$data3.displayColumns, + displayColumns = _this$data3$displayCo === void 0 ? [] : _this$data3$displayCo, + _this$data3$pickerVal = _this$data3.pickerValue, + pickerValue = _this$data3$pickerVal === void 0 ? [] : _this$data3$pickerVal; + return displayColumns.map(function (option, index) { + return option[pickerValue[index]]; + }).filter(function (value) { + return !!value; + }); + }, + getIndexs: function getIndexs() { + var _this$data4 = this.data, + pickerValue = _this$data4.pickerValue, + columnsNum = _this$data4.columnsNum; + return pickerValue.slice(0, columnsNum); + }, + getDetail: function getDetail() { + var values = this.getValues(); + var area = { + code: '', + country: '', + province: '', + city: '', + county: '' + }; + + if (!values.length) { + return area; + } + + var names = values.map(function (item) { + return item.name; + }); + area.code = values[values.length - 1].code; + + if (area.code[0] === '9') { + area.country = names[1] || ''; + area.province = names[2] || ''; + } else { + area.province = names[0] || ''; + area.city = names[1] || ''; + area.county = names[2] || ''; + } + + return area; + }, + reset: function reset() { + this.code = ''; + this.setValues(); + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/area/index.json b/miniprogram_npm/vant-weapp/area/index.json new file mode 100644 index 0000000..01077f5 --- /dev/null +++ b/miniprogram_npm/vant-weapp/area/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-loading": "../loading/index" + } +} diff --git a/miniprogram_npm/vant-weapp/area/index.wxml b/miniprogram_npm/vant-weapp/area/index.wxml new file mode 100644 index 0000000..cf40170 --- /dev/null +++ b/miniprogram_npm/vant-weapp/area/index.wxml @@ -0,0 +1,34 @@ + + + 取消 + {{ title }} + 确定 + + + + + + + + + {{ item.name }} + + + diff --git a/miniprogram_npm/vant-weapp/area/index.wxss b/miniprogram_npm/vant-weapp/area/index.wxss new file mode 100644 index 0000000..1616412 --- /dev/null +++ b/miniprogram_npm/vant-weapp/area/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-picker{-webkit-text-size-adjust:100%;position:relative;overflow:hidden;background-color:#fff;-webkit-user-select:none;user-select:none}.van-picker__toolbar{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;height:44px;line-height:44px}.van-picker__cancel,.van-picker__confirm{color:#1989fa;padding:0 15px;font-size:14px}.van-picker__cancel:active,.van-picker__confirm:active{background-color:#e8e8e8}.van-picker__title{max-width:50%;font-size:16px;font-weight:500;text-align:center}.van-picker__columns{position:relative}.van-picker__loading{display:-webkit-flex;display:flex;z-index:4;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background-color:rgba(255,255,255,.9)}.van-picker-column{-webkit-flex:1;flex:1;overflow:hidden;font-size:16px;text-align:center}.van-picker-column__item{padding:0 5px;color:#999}.van-picker-column__item--selected{font-weight:500;color:#333}.van-picker-column__item--disabled{opacity:.3} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/badge-group/index.js b/miniprogram_npm/vant-weapp/badge-group/index.js new file mode 100644 index 0000000..5a0ae70 --- /dev/null +++ b/miniprogram_npm/vant-weapp/badge-group/index.js @@ -0,0 +1,55 @@ +import { VantComponent } from '../common/component'; +import { isNumber } from '../common/utils'; +VantComponent({ + relation: { + name: 'badge', + type: 'descendant', + linked: function linked(target) { + this.badges.push(target); + this.setActive(); + }, + unlinked: function unlinked(target) { + this.badges = this.badges.filter(function (item) { + return item !== target; + }); + this.setActive(); + } + }, + props: { + active: { + type: Number, + value: 0 + } + }, + watch: { + active: 'setActive' + }, + beforeCreate: function beforeCreate() { + this.badges = []; + this.currentActive = -1; + }, + methods: { + setActive: function setActive(badge) { + var active = this.data.active; + var badges = this.badges; + + if (badge && !isNumber(badge)) { + active = badges.indexOf(badge); + } + + if (active === this.currentActive) { + return; + } + + if (this.currentActive !== -1 && badges[this.currentActive]) { + this.$emit('change', active); + badges[this.currentActive].setActive(false); + } + + if (badges[active]) { + badges[active].setActive(true); + this.currentActive = active; + } + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/badge-group/index.json b/miniprogram_npm/vant-weapp/badge-group/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/miniprogram_npm/vant-weapp/badge-group/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/miniprogram_npm/vant-weapp/badge-group/index.wxml b/miniprogram_npm/vant-weapp/badge-group/index.wxml new file mode 100644 index 0000000..04a0c8f --- /dev/null +++ b/miniprogram_npm/vant-weapp/badge-group/index.wxml @@ -0,0 +1,3 @@ + + + diff --git a/miniprogram_npm/vant-weapp/badge-group/index.wxss b/miniprogram_npm/vant-weapp/badge-group/index.wxss new file mode 100644 index 0000000..5149eab --- /dev/null +++ b/miniprogram_npm/vant-weapp/badge-group/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-badge-group{width:85px} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/badge/index.js b/miniprogram_npm/vant-weapp/badge/index.js new file mode 100644 index 0000000..512370a --- /dev/null +++ b/miniprogram_npm/vant-weapp/badge/index.js @@ -0,0 +1,25 @@ +import { VantComponent } from '../common/component'; +VantComponent({ + relation: { + type: 'ancestor', + name: 'badge-group' + }, + props: { + info: Number, + title: String + }, + methods: { + onClick: function onClick() { + var group = this.getRelationNodes('../badge-group/index')[0]; + + if (group) { + group.setActive(this); + } + }, + setActive: function setActive(active) { + this.setData({ + active: active + }); + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/badge/index.json b/miniprogram_npm/vant-weapp/badge/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/miniprogram_npm/vant-weapp/badge/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/miniprogram_npm/vant-weapp/badge/index.wxml b/miniprogram_npm/vant-weapp/badge/index.wxml new file mode 100644 index 0000000..3e55ca3 --- /dev/null +++ b/miniprogram_npm/vant-weapp/badge/index.wxml @@ -0,0 +1,4 @@ + + {{ info }} + {{ title }} + diff --git a/miniprogram_npm/vant-weapp/badge/index.wxss b/miniprogram_npm/vant-weapp/badge/index.wxss new file mode 100644 index 0000000..1069532 --- /dev/null +++ b/miniprogram_npm/vant-weapp/badge/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-badge{display:block;overflow:hidden;font-size:14px;line-height:1.4;-webkit-user-select:none;user-select:none;color:#666;word-break:break-all;box-sizing:border-box;padding:20px 12px 20px 9px;background-color:#f8f8f8;border-left:3px solid transparent}.van-badge:active{background-color:#e8e8e8}.van-badge::after{border-bottom-width:1px}.van-badge--active{font-weight:700;color:#333;border-color:#f44}.van-badge--active::after{border-right-width:1px}.van-badge--active,.van-badge--active:active{background-color:#fff}.van-badge__info{position:absolute;top:4px;right:2px;color:#fff;font-size:12px;font-weight:500;-webkit-transform:scale(.8);transform:scale(.8);text-align:center;box-sizing:border-box;padding:0 6px;min-width:18px;line-height:18px;border-radius:9px;background-color:#f44} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/button/index.js b/miniprogram_npm/vant-weapp/button/index.js new file mode 100644 index 0000000..8a426c6 --- /dev/null +++ b/miniprogram_npm/vant-weapp/button/index.js @@ -0,0 +1,52 @@ +import { VantComponent } from '../common/component'; +import { button } from '../mixins/button'; +import { openType } from '../mixins/open-type'; +VantComponent({ + classes: ['loading-class'], + mixins: [button, openType], + props: { + plain: Boolean, + block: Boolean, + round: Boolean, + square: Boolean, + loading: Boolean, + disabled: Boolean, + type: { + type: String, + value: 'default' + }, + size: { + type: String, + value: 'normal' + } + }, + computed: { + classes: function classes() { + var _this$data = this.data, + type = _this$data.type, + size = _this$data.size, + block = _this$data.block, + plain = _this$data.plain, + round = _this$data.round, + square = _this$data.square, + loading = _this$data.loading, + disabled = _this$data.disabled; + return this.classNames('custom-class', 'van-button', "van-button--" + type, "van-button--" + size, { + 'van-button--block': block, + 'van-button--round': round, + 'van-button--plain': plain, + 'van-button--square': square, + 'van-button--loading': loading, + 'van-button--disabled': disabled, + 'van-button--unclickable': disabled || loading + }); + } + }, + methods: { + onClick: function onClick() { + if (!this.data.disabled && !this.data.loading) { + this.$emit('click'); + } + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/button/index.json b/miniprogram_npm/vant-weapp/button/index.json new file mode 100644 index 0000000..cae2170 --- /dev/null +++ b/miniprogram_npm/vant-weapp/button/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-loading": "../loading/index" + } +} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/button/index.wxml b/miniprogram_npm/vant-weapp/button/index.wxml new file mode 100644 index 0000000..32c2b36 --- /dev/null +++ b/miniprogram_npm/vant-weapp/button/index.wxml @@ -0,0 +1,26 @@ + diff --git a/miniprogram_npm/vant-weapp/button/index.wxss b/miniprogram_npm/vant-weapp/button/index.wxss new file mode 100644 index 0000000..10d9a3e --- /dev/null +++ b/miniprogram_npm/vant-weapp/button/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-button{position:relative;padding:0;display:inline-block;height:44px;line-height:42px;border-radius:2px;box-sizing:border-box;font-size:16px;text-align:center;vertical-align:middle;-webkit-appearance:none;-webkit-text-size-adjust:100%}.van-button::after{content:" ";position:absolute;top:50%;left:50%;opacity:0;width:100%;height:100%;border:inherit;border-color:#000;background-color:#000;border-radius:inherit;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.van-button:active::after{opacity:.15}.van-button--unclickable::after{display:none}.van-button--default{color:#333;background-color:#fff;border:1px solid #eee}.van-button--primary{color:#fff;background-color:#4b0;border:1px solid #4b0}.van-button--danger{color:#fff;background-color:#f44;border:1px solid #f44}.van-button--warning{color:#fff;background-color:#ff976a;border:1px solid #ff976a}.van-button--plain{background-color:#fff}.van-button--plain.van-button--primary{color:#4b0}.van-button--plain.van-button--danger{color:#f44}.van-button--plain.van-button--warning{color:#ff976a}.van-button--large{width:100%;height:50px;line-height:48px}.van-button--normal{padding:0 15px;font-size:14px}.van-button--small{height:30px;padding:0 8px;min-width:60px;font-size:12px;line-height:28px}.van-button--mini{display:inline-block;width:50px;height:22px;line-height:20px;font-size:10px}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{width:100%;display:block}.van-button--round{border-radius:10em}.van-button--square{border-radius:0}.van-button--disabled{opacity:.5} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/card/index.js b/miniprogram_npm/vant-weapp/card/index.js new file mode 100644 index 0000000..8174f9f --- /dev/null +++ b/miniprogram_npm/vant-weapp/card/index.js @@ -0,0 +1,31 @@ +import { link } from '../mixins/link'; +import { VantComponent } from '../common/component'; +VantComponent({ + classes: ['num-class', 'desc-class', 'thumb-class', 'title-class', 'price-class', 'origin-price-class'], + mixins: [link], + props: { + tag: String, + num: String, + desc: String, + thumb: String, + title: String, + price: String, + centered: Boolean, + lazyLoad: Boolean, + thumbLink: String, + originPrice: String, + thumbMode: { + type: String, + value: 'scaleToFill' + }, + currency: { + type: String, + value: '¥' + } + }, + methods: { + onClickThumb: function onClickThumb() { + this.jumpLink('thumbLink'); + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/card/index.json b/miniprogram_npm/vant-weapp/card/index.json new file mode 100644 index 0000000..e917407 --- /dev/null +++ b/miniprogram_npm/vant-weapp/card/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-tag": "../tag/index" + } +} diff --git a/miniprogram_npm/vant-weapp/card/index.wxml b/miniprogram_npm/vant-weapp/card/index.wxml new file mode 100644 index 0000000..a586951 --- /dev/null +++ b/miniprogram_npm/vant-weapp/card/index.wxml @@ -0,0 +1,41 @@ + + + + + + {{ tag }} + + + + + + {{ title }} + + + {{ desc }} + + + + + + {{ currency }} {{ price }} + {{ currency }} {{ originPrice }} + x {{ num }} + + + + + + + diff --git a/miniprogram_npm/vant-weapp/card/index.wxss b/miniprogram_npm/vant-weapp/card/index.wxss new file mode 100644 index 0000000..02d047a --- /dev/null +++ b/miniprogram_npm/vant-weapp/card/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-card{box-sizing:border-box;position:relative;height:100px;font-size:12px;color:#333;padding:5px 15px 5px 115px;background:#fafafa}.van-card--center{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-card__thumb{position:absolute;top:5px;left:15px;width:90px;height:90px}.van-card__img{width:100%;height:100%}.van-card,.van-card__content{display:-webkit-flex;display:flex}.van-card__content{width:100%}.van-card__desc,.van-card__title{line-height:20px;word-break:break-all}.van-card__title{max-height:40px}.van-card__desc{max-height:20px;color:#666}.van-card__left{-webkit-flex:1;flex:1;min-width:0}.van-card__right{-webkit-flex:none;flex:none;padding-left:10px;line-height:20px;text-align:right}.van-card__origin-price{color:#666;text-decoration:line-through}.van-card__num{color:#666}.van-card__tag{position:absolute;top:2px;left:0}.van-card__footer{position:absolute;right:15px;bottom:5px}.van-card__footer .van-button{margin-left:5px} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell-group/index.js b/miniprogram_npm/vant-weapp/cell-group/index.js new file mode 100644 index 0000000..a9e114c --- /dev/null +++ b/miniprogram_npm/vant-weapp/cell-group/index.js @@ -0,0 +1,9 @@ +import { VantComponent } from '../common/component'; +VantComponent({ + props: { + border: { + type: Boolean, + value: true + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell-group/index.json b/miniprogram_npm/vant-weapp/cell-group/index.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/miniprogram_npm/vant-weapp/cell-group/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell-group/index.wxml b/miniprogram_npm/vant-weapp/cell-group/index.wxml new file mode 100644 index 0000000..4ed34ac --- /dev/null +++ b/miniprogram_npm/vant-weapp/cell-group/index.wxml @@ -0,0 +1,3 @@ + + + diff --git a/miniprogram_npm/vant-weapp/cell-group/index.wxss b/miniprogram_npm/vant-weapp/cell-group/index.wxss new file mode 100644 index 0000000..99694d6 --- /dev/null +++ b/miniprogram_npm/vant-weapp/cell-group/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss'; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell/index.js b/miniprogram_npm/vant-weapp/cell/index.js new file mode 100644 index 0000000..c2332fe --- /dev/null +++ b/miniprogram_npm/vant-weapp/cell/index.js @@ -0,0 +1,48 @@ +import { link } from '../mixins/link'; +import { VantComponent } from '../common/component'; +VantComponent({ + classes: ['title-class', 'label-class', 'value-class'], + mixins: [link], + props: { + title: null, + value: null, + icon: String, + label: String, + center: Boolean, + isLink: Boolean, + required: Boolean, + clickable: Boolean, + titleWidth: String, + customStyle: String, + arrowDirection: String, + border: { + type: Boolean, + value: true + } + }, + computed: { + cellClass: function cellClass() { + var data = this.data; + return this.classNames('custom-class', 'van-cell', { + 'van-cell--center': data.center, + 'van-cell--required': data.required, + 'van-cell--borderless': !data.border, + 'van-cell--clickable': data.isLink || data.clickable + }); + }, + titleStyle: function titleStyle() { + var titleWidth = this.data.titleWidth; + return titleWidth ? "max-width: " + titleWidth + ";min-width: " + titleWidth : ''; + }, + iconWrapClass: function iconWrapClass() { + var prefix = 'van-cell__right-icon-wrap'; + return this.classNames(prefix, prefix + "--" + this.data.arrowDirection); + } + }, + methods: { + onClick: function onClick(event) { + this.$emit('click', event.detail); + this.jumpLink(); + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell/index.json b/miniprogram_npm/vant-weapp/cell/index.json new file mode 100644 index 0000000..a9ab393 --- /dev/null +++ b/miniprogram_npm/vant-weapp/cell/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-icon": "../icon/index" + } +} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/cell/index.wxml b/miniprogram_npm/vant-weapp/cell/index.wxml new file mode 100644 index 0000000..17f0662 --- /dev/null +++ b/miniprogram_npm/vant-weapp/cell/index.wxml @@ -0,0 +1,39 @@ + + + + + + + {{ title }} + {{ label }} + + + + + + {{ value }} + + + + + + + + diff --git a/miniprogram_npm/vant-weapp/cell/index.wxss b/miniprogram_npm/vant-weapp/cell/index.wxss new file mode 100644 index 0000000..be8fd7c --- /dev/null +++ b/miniprogram_npm/vant-weapp/cell/index.wxss @@ -0,0 +1,123 @@ +@import '../common/index.wxss'; + +.van-cell { + width: 100%; + display: -webkit-flex; + display: flex; + padding: 10px 15px; + box-sizing: border-box; + line-height: 24px; + position: relative; + background-color: #fff; + color: #333; + font-size: 14px; +} + +.van-cell::after { + content: ' '; + position: absolute; + pointer-events: none; + box-sizing: border-box; + -webkit-transform-origin: center; + transform-origin: center; + top: auto; + left: 15px; + right: 0; + bottom: 0; + -webkit-transform: scaleY(0.5); + transform: scaleY(0.5); + border-bottom: 1px solid #eee; +} + +.van-cell--borderless::after { + display: none; +} + +.van-cell-group { + background-color: #fff; +} + +.van-cell__label { + font-size: 12px; + line-height: 1.2; + color: #666; +} + +.van-cell__title, .van-cell__value { + -webkit-flex: 1; + flex: 1; +} + +.van-cell__title:empty, .van-cell__value:empty { + display: none; +} + +.van-cell__value { + overflow: hidden; + text-align: right; + vertical-align: middle; +} + +.van-cell__left-icon-wrap, .van-cell__right-icon-wrap { + display: -webkit-flex; + display: flex; + -webkit-align-items: center; + align-items: center; + height: 24px; +} + +.van-cell__left-icon-wrap { + margin-right: 5px; +} + +.van-cell__right-icon-wrap { + margin-left: 5px; +} + +.van-cell__right-icon-wrap--left { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +.van-cell__right-icon-wrap--up { + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); +} + +.van-cell__right-icon-wrap--down { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.van-cell__left-icon { + font-size: 16px !important; + line-height: 24px; + vertical-align: middle; +} + +.van-cell__right-icon { + color: #999; + font-size: 12px !important; + line-height: 24px; +} + +.van-cell--clickable:active { + background-color: #e8e8e8; +} + +.van-cell--required { + overflow: visible; +} + +.van-cell--required::before { + content: '*'; + position: absolute; + left: 7px; + font-size: 14px; + color: #f44; +} + +.van-cell--center { + -webkit-align-items: center; + align-items: center; +} diff --git a/miniprogram_npm/vant-weapp/checkbox-group/index.js b/miniprogram_npm/vant-weapp/checkbox-group/index.js new file mode 100644 index 0000000..31030eb --- /dev/null +++ b/miniprogram_npm/vant-weapp/checkbox-group/index.js @@ -0,0 +1,40 @@ +import { VantComponent } from '../common/component'; +VantComponent({ + field: true, + relation: { + name: 'checkbox', + type: 'descendant', + linked: function linked(target) { + var _this$data = this.data, + value = _this$data.value, + disabled = _this$data.disabled; + target.setData({ + value: value.indexOf(target.data.name) !== -1, + disabled: disabled || target.data.disabled + }); + } + }, + props: { + value: Array, + disabled: Boolean, + max: Number + }, + watch: { + value: function value(_value) { + var children = this.getRelationNodes('../checkbox/index'); + children.forEach(function (child) { + child.setData({ + value: _value.indexOf(child.data.name) !== -1 + }); + }); + }, + disabled: function disabled(_disabled) { + var children = this.getRelationNodes('../checkbox/index'); + children.forEach(function (child) { + child.setData({ + disabled: _disabled || child.data.disabled + }); + }); + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/checkbox-group/index.json b/miniprogram_npm/vant-weapp/checkbox-group/index.json new file mode 100644 index 0000000..0a336c0 --- /dev/null +++ b/miniprogram_npm/vant-weapp/checkbox-group/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-icon": "../icon/index" + } +} diff --git a/miniprogram_npm/vant-weapp/checkbox-group/index.wxml b/miniprogram_npm/vant-weapp/checkbox-group/index.wxml new file mode 100644 index 0000000..4fa864c --- /dev/null +++ b/miniprogram_npm/vant-weapp/checkbox-group/index.wxml @@ -0,0 +1 @@ + diff --git a/miniprogram_npm/vant-weapp/checkbox-group/index.wxss b/miniprogram_npm/vant-weapp/checkbox-group/index.wxss new file mode 100644 index 0000000..99694d6 --- /dev/null +++ b/miniprogram_npm/vant-weapp/checkbox-group/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss'; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/checkbox/index.js b/miniprogram_npm/vant-weapp/checkbox/index.js new file mode 100644 index 0000000..e4ca564 --- /dev/null +++ b/miniprogram_npm/vant-weapp/checkbox/index.js @@ -0,0 +1,94 @@ +import { VantComponent } from '../common/component'; +VantComponent({ + field: true, + relation: { + name: 'checkbox-group', + type: 'ancestor' + }, + classes: ['icon-class', 'label-class'], + props: { + value: null, + disabled: Boolean, + useIconSlot: Boolean, + checkedColor: String, + labelPosition: String, + labelDisabled: Boolean, + shape: { + type: String, + value: 'round' + } + }, + computed: { + iconClass: function iconClass() { + var _this$data = this.data, + disabled = _this$data.disabled, + value = _this$data.value, + shape = _this$data.shape; + return this.classNames('van-checkbox__icon', "van-checkbox__icon--" + shape, { + 'van-checkbox__icon--disabled': disabled, + 'van-checkbox__icon--checked': value + }); + }, + iconStyle: function iconStyle() { + var _this$data2 = this.data, + value = _this$data2.value, + disabled = _this$data2.disabled, + checkedColor = _this$data2.checkedColor; + + if (checkedColor && value && !disabled) { + return "border-color: " + checkedColor + "; background-color: " + checkedColor; + } + + return ''; + } + }, + methods: { + emitChange: function emitChange(value) { + var parent = this.getRelationNodes('../checkbox-group/index')[0]; + + if (parent) { + this.setParentValue(parent, value); + } else { + this.$emit('input', value); + this.$emit('change', value); + } + }, + toggle: function toggle() { + if (!this.data.disabled) { + this.emitChange(!this.data.value); + } + }, + onClickLabel: function onClickLabel() { + if (!this.data.disabled && !this.data.labelDisabled) { + this.emitChange(!this.data.value); + } + }, + setParentValue: function setParentValue(parent, value) { + var parentValue = parent.data.value.slice(); + var name = this.data.name; + + if (value) { + if (parent.data.max && parentValue.length >= parent.data.max) { + return; + } + /* istanbul ignore else */ + + + if (parentValue.indexOf(name) === -1) { + parentValue.push(name); + parent.$emit('input', parentValue); + parent.$emit('change', parentValue); + } + } else { + var index = parentValue.indexOf(name); + /* istanbul ignore else */ + + if (index !== -1) { + parentValue.splice(index, 1); + parent.$emit('input', parentValue); + parent.$emit('change', parentValue); + } + } + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/checkbox/index.json b/miniprogram_npm/vant-weapp/checkbox/index.json new file mode 100644 index 0000000..0a336c0 --- /dev/null +++ b/miniprogram_npm/vant-weapp/checkbox/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-icon": "../icon/index" + } +} diff --git a/miniprogram_npm/vant-weapp/checkbox/index.wxml b/miniprogram_npm/vant-weapp/checkbox/index.wxml new file mode 100644 index 0000000..2804381 --- /dev/null +++ b/miniprogram_npm/vant-weapp/checkbox/index.wxml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/miniprogram_npm/vant-weapp/checkbox/index.wxss b/miniprogram_npm/vant-weapp/checkbox/index.wxss new file mode 100644 index 0000000..5182e73 --- /dev/null +++ b/miniprogram_npm/vant-weapp/checkbox/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-checkbox{overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox__icon-wrap,.van-checkbox__label{display:inline-block;line-height:20px;vertical-align:middle}.van-checkbox__icon{box-sizing:border-box;display:block;width:20px;height:20px;border:1px solid #e5e5e5;color:transparent;font-size:12px;text-align:center;transition:.2s}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{color:#fff;border-color:#1989fa;background-color:#1989fa}.van-checkbox__icon--disabled{border-color:#eee;background-color:currentColor;color:#f8f8f8}.van-checkbox__icon--disabled.van-checkbox__icon--checked{border-color:#eee;background-color:#eee}.van-checkbox__label{margin-left:10px}.van-checkbox__label--left{margin:0 10px 0 0;float:left}.van-checkbox__label:empty{margin:0} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/col/index.js b/miniprogram_npm/vant-weapp/col/index.js new file mode 100644 index 0000000..9ab79f3 --- /dev/null +++ b/miniprogram_npm/vant-weapp/col/index.js @@ -0,0 +1,37 @@ +import { VantComponent } from '../common/component'; +VantComponent({ + relation: { + name: 'row', + type: 'ancestor' + }, + props: { + span: Number, + offset: Number + }, + data: { + style: '' + }, + computed: { + classes: function classes() { + var _this$data = this.data, + span = _this$data.span, + offset = _this$data.offset; + return this.classNames('custom-class', 'van-col', { + ["van-col--" + span]: span, + ["van-col--offset-" + offset]: offset + }); + } + }, + methods: { + setGutter: function setGutter(gutter) { + var padding = gutter / 2 + "px"; + var style = gutter ? "padding-left: " + padding + "; padding-right: " + padding + ";" : ''; + + if (style !== this.data.style) { + this.setData({ + style: style + }); + } + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/col/index.json b/miniprogram_npm/vant-weapp/col/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/miniprogram_npm/vant-weapp/col/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/miniprogram_npm/vant-weapp/col/index.wxml b/miniprogram_npm/vant-weapp/col/index.wxml new file mode 100644 index 0000000..f4cbabf --- /dev/null +++ b/miniprogram_npm/vant-weapp/col/index.wxml @@ -0,0 +1,6 @@ + + + diff --git a/miniprogram_npm/vant-weapp/col/index.wxss b/miniprogram_npm/vant-weapp/col/index.wxss new file mode 100644 index 0000000..44c896a --- /dev/null +++ b/miniprogram_npm/vant-weapp/col/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-col{float:left;box-sizing:border-box}.van-col--1{width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{width:100%}.van-col--offset-24{margin-left:100%} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/class-names.js b/miniprogram_npm/vant-weapp/common/class-names.js new file mode 100644 index 0000000..7e1d050 --- /dev/null +++ b/miniprogram_npm/vant-weapp/common/class-names.js @@ -0,0 +1,29 @@ +var hasOwn = {}.hasOwnProperty; +export function classNames() { + var classes = []; + + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + if (!arg) continue; + var argType = typeof arg; + + if (argType === 'string' || argType === 'number') { + classes.push(arg); + } else if (Array.isArray(arg) && arg.length) { + var inner = classNames.apply(null, arg); + + if (inner) { + classes.push(inner); + } + } else if (argType === 'object') { + for (var key in arg) { + if (hasOwn.call(arg, key) && arg[key]) { + classes.push(key); + } + } + } + } + + return classes.join(' '); +} +; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/color.js b/miniprogram_npm/vant-weapp/common/color.js new file mode 100644 index 0000000..ad9fbe1 --- /dev/null +++ b/miniprogram_npm/vant-weapp/common/color.js @@ -0,0 +1,3 @@ +export var RED = '#f44'; +export var BLUE = '#1989fa'; +export var GREEN = '#4b0'; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/component.js b/miniprogram_npm/vant-weapp/common/component.js new file mode 100644 index 0000000..0bae29c --- /dev/null +++ b/miniprogram_npm/vant-weapp/common/component.js @@ -0,0 +1,59 @@ +import { basic } from '../mixins/basic'; +import { observe } from '../mixins/observer/index'; + +function mapKeys(source, target, map) { + Object.keys(map).forEach(function (key) { + if (source[key]) { + target[map[key]] = source[key]; + } + }); +} + +function VantComponent(vantOptions) { + if (vantOptions === void 0) { + vantOptions = {}; + } + + var options = {}; + mapKeys(vantOptions, options, { + data: 'data', + props: 'properties', + mixins: 'behaviors', + methods: 'methods', + beforeCreate: 'created', + created: 'attached', + mounted: 'ready', + relations: 'relations', + destroyed: 'detached', + classes: 'externalClasses' + }); + var _vantOptions = vantOptions, + relation = _vantOptions.relation; + + if (relation) { + options.relations = Object.assign(options.relations || {}, { + ["../" + relation.name + "/index"]: relation + }); + } // add default externalClasses + + + options.externalClasses = options.externalClasses || []; + options.externalClasses.push('custom-class'); // add default behaviors + + options.behaviors = options.behaviors || []; + options.behaviors.push(basic); // map field to form-field behavior + + if (vantOptions.field) { + options.behaviors.push('wx://form-field'); + } // add default options + + + options.options = { + multipleSlots: true, + addGlobalClass: true + }; + observe(vantOptions, options); + Component(options); +} + +export { VantComponent }; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/index.wxss b/miniprogram_npm/vant-weapp/common/index.wxss new file mode 100644 index 0000000..474d28b --- /dev/null +++ b/miniprogram_npm/vant-weapp/common/index.wxss @@ -0,0 +1 @@ +.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.van-clearfix::after{content:'';display:table;clear:both}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom::after,.van-hairline--left::after,.van-hairline--right::after,.van-hairline--surround::after,.van-hairline--top-bottom::after,.van-hairline--top::after,.van-hairline::after{content:' ';position:absolute;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;top:-50%;left:-50%;right:-50%;bottom:-50%;-webkit-transform:scale(.5);transform:scale(.5);border:0 solid #eee}.van-hairline--top::after{border-top-width:1px}.van-hairline--left::after{border-left-width:1px}.van-hairline--right::after{border-right-width:1px}.van-hairline--bottom::after{border-bottom-width:1px}.van-hairline--top-bottom::after{border-width:1px 0}.van-hairline--surround::after{border-width:1px} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/style/clearfix.wxss b/miniprogram_npm/vant-weapp/common/style/clearfix.wxss new file mode 100644 index 0000000..df65a0a --- /dev/null +++ b/miniprogram_npm/vant-weapp/common/style/clearfix.wxss @@ -0,0 +1 @@ +.van-clearfix::after{content:'';display:table;clear:both} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/style/ellipsis.wxss b/miniprogram_npm/vant-weapp/common/style/ellipsis.wxss new file mode 100644 index 0000000..94eba8e --- /dev/null +++ b/miniprogram_npm/vant-weapp/common/style/ellipsis.wxss @@ -0,0 +1 @@ +.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/style/hairline.wxss b/miniprogram_npm/vant-weapp/common/style/hairline.wxss new file mode 100644 index 0000000..0988a6a --- /dev/null +++ b/miniprogram_npm/vant-weapp/common/style/hairline.wxss @@ -0,0 +1 @@ +.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom::after,.van-hairline--left::after,.van-hairline--right::after,.van-hairline--surround::after,.van-hairline--top-bottom::after,.van-hairline--top::after,.van-hairline::after{content:' ';position:absolute;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;top:-50%;left:-50%;right:-50%;bottom:-50%;-webkit-transform:scale(.5);transform:scale(.5);border:0 solid #eee}.van-hairline--top::after{border-top-width:1px}.van-hairline--left::after{border-left-width:1px}.van-hairline--right::after{border-right-width:1px}.van-hairline--bottom::after{border-bottom-width:1px}.van-hairline--top-bottom::after{border-width:1px 0}.van-hairline--surround::after{border-width:1px} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/common/style/mixins/clearfix.wxss b/miniprogram_npm/vant-weapp/common/style/mixins/clearfix.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram_npm/vant-weapp/common/style/mixins/ellipsis.wxss b/miniprogram_npm/vant-weapp/common/style/mixins/ellipsis.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram_npm/vant-weapp/common/style/mixins/hairline.wxss b/miniprogram_npm/vant-weapp/common/style/mixins/hairline.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram_npm/vant-weapp/common/style/var.wxss b/miniprogram_npm/vant-weapp/common/style/var.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram_npm/vant-weapp/common/utils.js b/miniprogram_npm/vant-weapp/common/utils.js new file mode 100644 index 0000000..47f27a5 --- /dev/null +++ b/miniprogram_npm/vant-weapp/common/utils.js @@ -0,0 +1,14 @@ +function isDef(value) { + return value !== undefined && value !== null; +} + +function isObj(x) { + var type = typeof x; + return x !== null && (type === 'object' || type === 'function'); +} + +function isNumber(value) { + return /^\d+$/.test(value); +} + +export { isObj, isDef, isNumber }; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/datetime-picker/index.js b/miniprogram_npm/vant-weapp/datetime-picker/index.js new file mode 100644 index 0000000..2b478e8 --- /dev/null +++ b/miniprogram_npm/vant-weapp/datetime-picker/index.js @@ -0,0 +1,394 @@ +import { VantComponent } from '../common/component'; +var currentYear = new Date().getFullYear(); + +var isValidDate = function isValidDate(date) { + return !isNaN(new Date(date).getTime()); +}; + +function range(num, min, max) { + return Math.min(Math.max(num, min), max); +} + +VantComponent({ + props: { + value: null, + title: String, + loading: Boolean, + itemHeight: { + type: Number, + value: 44 + }, + visibleItemCount: { + type: Number, + value: 5 + }, + confirmButtonText: { + type: String, + value: '确认' + }, + cancelButtonText: { + type: String, + value: '取消' + }, + type: { + type: String, + value: 'datetime' + }, + showToolbar: { + type: Boolean, + value: true + }, + minDate: { + type: Number, + value: new Date(currentYear - 10, 0, 1).getTime() + }, + maxDate: { + type: Number, + value: new Date(currentYear + 10, 11, 31).getTime() + }, + minHour: { + type: Number, + value: 0 + }, + maxHour: { + type: Number, + value: 23 + }, + minMinute: { + type: Number, + value: 0 + }, + maxMinute: { + type: Number, + value: 59 + } + }, + data: { + pickerValue: [], + innerValue: Date.now() + }, + computed: { + columns: function columns() { + var _this = this; + + var results = this.getRanges().map(function (_ref) { + var type = _ref.type, + range = _ref.range; + + var values = _this.times(range[1] - range[0] + 1, function (index) { + var value = range[0] + index; + value = type === 'year' ? "" + value : _this.pad(value); + return value; + }); + + return values; + }); + return results; + } + }, + watch: { + value: function value(val) { + var _this2 = this; + + var data = this.data; + val = this.correctValue(val); + var isEqual = val === data.innerValue; + + if (!isEqual) { + this.setData({ + innerValue: val + }, function () { + _this2.updateColumnValue(val); + + _this2.$emit('input', val); + }); + } + } + }, + methods: { + getRanges: function getRanges() { + var data = this.data; + + if (data.type === 'time') { + return [{ + type: 'hour', + range: [data.minHour, data.maxHour] + }, { + type: 'minute', + range: [data.minMinute, data.maxMinute] + }]; + } + + var _this$getBoundary = this.getBoundary('max', data.innerValue), + maxYear = _this$getBoundary.maxYear, + maxDate = _this$getBoundary.maxDate, + maxMonth = _this$getBoundary.maxMonth, + maxHour = _this$getBoundary.maxHour, + maxMinute = _this$getBoundary.maxMinute; + + var _this$getBoundary2 = this.getBoundary('min', data.innerValue), + minYear = _this$getBoundary2.minYear, + minDate = _this$getBoundary2.minDate, + minMonth = _this$getBoundary2.minMonth, + minHour = _this$getBoundary2.minHour, + minMinute = _this$getBoundary2.minMinute; + + var result = [{ + type: 'year', + range: [minYear, maxYear] + }, { + type: 'month', + range: [minMonth, maxMonth] + }, { + type: 'day', + range: [minDate, maxDate] + }, { + type: 'hour', + range: [minHour, maxHour] + }, { + type: 'minute', + range: [minMinute, maxMinute] + }]; + if (data.type === 'date') result.splice(3, 2); + if (data.type === 'year-month') result.splice(2, 3); + return result; + }, + pad: function pad(val) { + return ("00" + val).slice(-2); + }, + correctValue: function correctValue(value) { + var data = this.data, + pad = this.pad; // validate value + + var isDateType = data.type !== 'time'; + + if (isDateType && !isValidDate(value)) { + value = data.minDate; + } else if (!isDateType && !value) { + var _minHour = data.minHour; + value = pad(_minHour) + ":00"; + } // time type + + + if (!isDateType) { + var _value$split = value.split(':'), + hour = _value$split[0], + minute = _value$split[1]; + + hour = pad(range(hour, data.minHour, data.maxHour)); + minute = pad(range(minute, data.minMinute, data.maxMinute)); + return hour + ":" + minute; + } // date type + + + var _this$getBoundary3 = this.getBoundary('max', value), + maxYear = _this$getBoundary3.maxYear, + maxDate = _this$getBoundary3.maxDate, + maxMonth = _this$getBoundary3.maxMonth, + maxHour = _this$getBoundary3.maxHour, + maxMinute = _this$getBoundary3.maxMinute; + + var _this$getBoundary4 = this.getBoundary('min', value), + minYear = _this$getBoundary4.minYear, + minDate = _this$getBoundary4.minDate, + minMonth = _this$getBoundary4.minMonth, + minHour = _this$getBoundary4.minHour, + minMinute = _this$getBoundary4.minMinute; + + var minDay = new Date(minYear, minMonth - 1, minDate, minHour, minMinute); + var maxDay = new Date(maxYear, maxMonth - 1, maxDate, maxHour, maxMinute); + value = Math.max(value, minDay.getTime()); + value = Math.min(value, maxDay.getTime()); + return value; + }, + times: function times(n, iteratee) { + var index = -1; + var result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + + return result; + }, + getBoundary: function getBoundary(type, innerValue) { + var value = new Date(innerValue); + var boundary = new Date(this.data[type + "Date"]); + var year = boundary.getFullYear(); + var month = 1; + var date = 1; + var hour = 0; + var minute = 0; + + if (type === 'max') { + month = 12; + date = this.getMonthEndDay(value.getFullYear(), value.getMonth() + 1); + hour = 23; + minute = 59; + } + + if (value.getFullYear() === year) { + month = boundary.getMonth() + 1; + + if (value.getMonth() + 1 === month) { + date = boundary.getDate(); + + if (value.getDate() === date) { + hour = boundary.getHours(); + + if (value.getHours() === hour) { + minute = boundary.getMinutes(); + } + } + } + } + + return { + [type + "Year"]: year, + [type + "Month"]: month, + [type + "Date"]: date, + [type + "Hour"]: hour, + [type + "Minute"]: minute + }; + }, + getTrueValue: function getTrueValue(formattedValue) { + if (!formattedValue) return; + + while (isNaN(parseInt(formattedValue, 10))) { + formattedValue = formattedValue.slice(1); + } + + return parseInt(formattedValue, 10); + }, + getMonthEndDay: function getMonthEndDay(year, month) { + return 32 - new Date(year, month - 1, 32).getDate(); + }, + onCancel: function onCancel() { + this.$emit('cancel'); + }, + onConfirm: function onConfirm() { + this.$emit('confirm', this.data.innerValue); + }, + onChange: function onChange(event) { + var _this3 = this; + + var data = this.data; + var pickerValue = event.detail.value; + var values = pickerValue.map(function (value, index) { + return data.columns[index][value]; + }); + var value; + + if (data.type === 'time') { + value = values.join(':'); + } else { + var year = this.getTrueValue(values[0]); + var month = this.getTrueValue(values[1]); + var maxDate = this.getMonthEndDay(year, month); + var date = this.getTrueValue(values[2]); + + if (data.type === 'year-month') { + date = 1; + } + + date = date > maxDate ? maxDate : date; + var hour = 0; + var minute = 0; + + if (data.type === 'datetime') { + hour = this.getTrueValue(values[3]); + minute = this.getTrueValue(values[4]); + } + + value = new Date(year, month - 1, date, hour, minute); + } + + value = this.correctValue(value); + this.setData({ + innerValue: value + }, function () { + _this3.updateColumnValue(value); + + _this3.$emit('input', value); + + _this3.$emit('change', _this3); + }); + }, + getColumnValue: function getColumnValue(index) { + return this.getValues()[index]; + }, + setColumnValue: function setColumnValue(index, value) { + var _this$data = this.data, + pickerValue = _this$data.pickerValue, + columns = _this$data.columns; + pickerValue[index] = columns[index].indexOf(value); + this.setData({ + pickerValue: pickerValue + }); + }, + getColumnValues: function getColumnValues(index) { + return this.data.columns[index]; + }, + setColumnValues: function setColumnValues(index, values) { + var columns = this.data.columns; + columns[index] = values; + this.setData({ + columns: columns + }); + }, + getValues: function getValues() { + var _this$data2 = this.data, + pickerValue = _this$data2.pickerValue, + columns = _this$data2.columns; + return pickerValue.map(function (value, index) { + return columns[index][value]; + }); + }, + setValues: function setValues(values) { + var columns = this.data.columns; + this.setData({ + pickerValue: values.map(function (value, index) { + return columns[index].indexOf(value); + }) + }); + }, + updateColumnValue: function updateColumnValue(value) { + var values = []; + var pad = this.pad, + data = this.data; + var columns = data.columns; + + if (data.type === 'time') { + var currentValue = value.split(':'); + values = [columns[0].indexOf(currentValue[0]), columns[1].indexOf(currentValue[1])]; + } else { + var date = new Date(value); + values = [columns[0].indexOf("" + date.getFullYear()), columns[1].indexOf(pad(date.getMonth() + 1))]; + + if (data.type === 'date') { + values.push(columns[2].indexOf(pad(date.getDate()))); + } + + if (data.type === 'datetime') { + values.push(columns[2].indexOf(pad(date.getDate())), columns[3].indexOf(pad(date.getHours())), columns[4].indexOf(pad(date.getMinutes()))); + } + } + + this.setData({ + pickerValue: values + }); + } + }, + created: function created() { + var _this4 = this; + + var innerValue = this.correctValue(this.data.value); + this.setData({ + innerValue: innerValue + }, function () { + _this4.updateColumnValue(innerValue); + + _this4.$emit('input', innerValue); + }); + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/datetime-picker/index.json b/miniprogram_npm/vant-weapp/datetime-picker/index.json new file mode 100644 index 0000000..01077f5 --- /dev/null +++ b/miniprogram_npm/vant-weapp/datetime-picker/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "van-loading": "../loading/index" + } +} diff --git a/miniprogram_npm/vant-weapp/datetime-picker/index.wxml b/miniprogram_npm/vant-weapp/datetime-picker/index.wxml new file mode 100644 index 0000000..fef4bec --- /dev/null +++ b/miniprogram_npm/vant-weapp/datetime-picker/index.wxml @@ -0,0 +1,34 @@ + + + {{ cancelButtonText }} + {{ title }} + {{ confirmButtonText }} + + + + + + + + + {{ item }} + + + diff --git a/miniprogram_npm/vant-weapp/datetime-picker/index.wxss b/miniprogram_npm/vant-weapp/datetime-picker/index.wxss new file mode 100644 index 0000000..1616412 --- /dev/null +++ b/miniprogram_npm/vant-weapp/datetime-picker/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-picker{-webkit-text-size-adjust:100%;position:relative;overflow:hidden;background-color:#fff;-webkit-user-select:none;user-select:none}.van-picker__toolbar{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;height:44px;line-height:44px}.van-picker__cancel,.van-picker__confirm{color:#1989fa;padding:0 15px;font-size:14px}.van-picker__cancel:active,.van-picker__confirm:active{background-color:#e8e8e8}.van-picker__title{max-width:50%;font-size:16px;font-weight:500;text-align:center}.van-picker__columns{position:relative}.van-picker__loading{display:-webkit-flex;display:flex;z-index:4;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background-color:rgba(255,255,255,.9)}.van-picker-column{-webkit-flex:1;flex:1;overflow:hidden;font-size:16px;text-align:center}.van-picker-column__item{padding:0 5px;color:#999}.van-picker-column__item--selected{font-weight:500;color:#333}.van-picker-column__item--disabled{opacity:.3} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/dialog/dialog.js b/miniprogram_npm/vant-weapp/dialog/dialog.js new file mode 100644 index 0000000..8801d1d --- /dev/null +++ b/miniprogram_npm/vant-weapp/dialog/dialog.js @@ -0,0 +1,70 @@ +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var queue = []; + +var Dialog = function Dialog(options) { + return new Promise(function (resolve, reject) { + var pages = getCurrentPages(); + var ctx = pages[pages.length - 1]; + var dialog = ctx.selectComponent(options.selector); + delete options.selector; + + if (dialog) { + dialog.setData(_extends({ + onCancel: reject, + onConfirm: resolve + }, options)); + queue.push(dialog); + } + }); +}; + +Dialog.defaultOptions = { + show: true, + title: '', + message: '', + zIndex: 100, + overlay: true, + asyncClose: false, + selector: '#van-dialog', + confirmButtonText: '确认', + cancelButtonText: '取消', + showConfirmButton: true, + showCancelButton: false, + closeOnClickOverlay: false, + confirmButtonOpenType: '' +}; + +Dialog.alert = function (options) { + return Dialog(_extends({}, Dialog.currentOptions, options)); +}; + +Dialog.confirm = function (options) { + return Dialog(_extends({}, Dialog.currentOptions, { + showCancelButton: true + }, options)); +}; + +Dialog.close = function () { + queue.forEach(function (dialog) { + dialog.close(); + }); + queue = []; +}; + +Dialog.stopLoading = function () { + queue.forEach(function (dialog) { + dialog.stopLoading(); + }); +}; + +Dialog.setDefaultOptions = function (options) { + Object.assign(Dialog.currentOptions, options); +}; + +Dialog.resetDefaultOptions = function () { + Dialog.currentOptions = _extends({}, Dialog.defaultOptions); +}; + +Dialog.resetDefaultOptions(); +export default Dialog; \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/dialog/index.js b/miniprogram_npm/vant-weapp/dialog/index.js new file mode 100644 index 0000000..ff4eef8 --- /dev/null +++ b/miniprogram_npm/vant-weapp/dialog/index.js @@ -0,0 +1,92 @@ +import { VantComponent } from '../common/component'; +import { openType } from '../mixins/open-type'; +VantComponent({ + mixins: [openType], + props: { + show: Boolean, + title: String, + message: String, + useSlot: Boolean, + asyncClose: Boolean, + showCancelButton: Boolean, + closeOnClickOverlay: Boolean, + confirmButtonOpenType: String, + zIndex: { + type: Number, + value: 100 + }, + confirmButtonText: { + type: String, + value: '确认' + }, + cancelButtonText: { + type: String, + value: '取消' + }, + showConfirmButton: { + type: Boolean, + value: true + }, + overlay: { + type: Boolean, + value: true + } + }, + data: { + loading: { + confirm: false, + cancel: false + } + }, + watch: { + show: function show(_show) { + !_show && this.stopLoading(); + } + }, + methods: { + onConfirm: function onConfirm() { + this.handleAction('confirm'); + }, + onCancel: function onCancel() { + this.handleAction('cancel'); + }, + onClickOverlay: function onClickOverlay() { + this.onClose('overlay'); + }, + handleAction: function handleAction(action) { + if (this.data.asyncClose) { + this.setData({ + ["loading." + action]: true + }); + } + + this.onClose(action); + }, + close: function close() { + this.setData({ + show: false + }); + }, + stopLoading: function stopLoading() { + this.setData({ + loading: { + confirm: false, + cancel: false + } + }); + }, + onClose: function onClose(action) { + if (!this.data.asyncClose) { + this.close(); + } + + this.$emit('close', action); + this.$emit(action); + var callback = this.data[action === 'confirm' ? 'onConfirm' : 'onCancel']; + + if (callback) { + callback(this); + } + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/dialog/index.json b/miniprogram_npm/vant-weapp/dialog/index.json new file mode 100644 index 0000000..e2ee09a --- /dev/null +++ b/miniprogram_npm/vant-weapp/dialog/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "van-popup": "../popup/index", + "van-button": "../button/index" + } +} diff --git a/miniprogram_npm/vant-weapp/dialog/index.wxml b/miniprogram_npm/vant-weapp/dialog/index.wxml new file mode 100644 index 0000000..4058786 --- /dev/null +++ b/miniprogram_npm/vant-weapp/dialog/index.wxml @@ -0,0 +1,53 @@ + + + {{ title }} + + + + + {{ message }} + + + + + {{ cancelButtonText }} + + + {{ confirmButtonText }} + + + diff --git a/miniprogram_npm/vant-weapp/dialog/index.wxss b/miniprogram_npm/vant-weapp/dialog/index.wxss new file mode 100644 index 0000000..a7c4818 --- /dev/null +++ b/miniprogram_npm/vant-weapp/dialog/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-dialog{width:85%;font-size:16px;overflow:hidden;border-radius:4px;background-color:#fff}.van-dialog__header{font-weight:500;padding-top:25px;text-align:center}.van-dialog__header--isolated{padding:25px 0}.van-dialog__message{padding:25px;font-size:14px;line-height:1.5}.van-dialog__message--has-title{padding-top:12px;color:#666}.van-dialog__footer{display:-webkit-flex;display:flex}.van-dialog__button{-webkit-flex:1;flex:1}.van-dialog__cancel,.van-dialog__confirm{border:0!important}.van-dialog__confirm,.van-dialog__confirm:active{color:#1989fa!important}.van-dialog-bounce-enter{opacity:0;-webkit-transform:translate3d(-50%,-50%,0) scale(.7);transform:translate3d(-50%,-50%,0) scale(.7)}.van-dialog-bounce-leave-active{opacity:0;-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9)} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/field/index.js b/miniprogram_npm/vant-weapp/field/index.js new file mode 100644 index 0000000..f9328a0 --- /dev/null +++ b/miniprogram_npm/vant-weapp/field/index.js @@ -0,0 +1,112 @@ +import { VantComponent } from '../common/component'; +VantComponent({ + field: true, + classes: ['input-class'], + props: { + icon: String, + label: String, + error: Boolean, + focus: Boolean, + center: Boolean, + isLink: Boolean, + leftIcon: String, + disabled: Boolean, + autosize: Boolean, + readonly: Boolean, + required: Boolean, + iconClass: String, + clearable: Boolean, + inputAlign: String, + customClass: String, + confirmType: String, + errorMessage: String, + placeholder: String, + customStyle: String, + useIconSlot: Boolean, + useButtonSlot: Boolean, + placeholderStyle: String, + cursorSpacing: { + type: Number, + value: 50 + }, + maxlength: { + type: Number, + value: -1 + }, + type: { + type: String, + value: 'text' + }, + border: { + type: Boolean, + value: true + }, + titleWidth: { + type: String, + value: '90px' + } + }, + data: { + showClear: false + }, + computed: { + inputClass: function inputClass() { + var data = this.data; + return this.classNames('input-class', 'van-field__input', { + 'van-field--error': data.error, + 'van-field__textarea': data.type === 'textarea', + 'van-field__input--disabled': data.disabled, + ["van-field__input--" + data.inputAlign]: data.inputAlign + }); + } + }, + beforeCreate: function beforeCreate() { + this.focused = false; + }, + methods: { + onInput: function onInput(event) { + var _ref = event.detail || {}, + _ref$value = _ref.value, + value = _ref$value === void 0 ? '' : _ref$value; + + this.$emit('input', value); + this.$emit('change', value); + this.setData({ + value: value, + showClear: this.getShowClear(value) + }); + }, + onFocus: function onFocus() { + this.$emit('focus'); + this.focused = true; + this.setData({ + showClear: this.getShowClear() + }); + }, + onBlur: function onBlur() { + this.focused = false; + this.$emit('blur'); + this.setData({ + showClear: this.getShowClear() + }); + }, + onClickIcon: function onClickIcon() { + this.$emit('click-icon'); + }, + getShowClear: function getShowClear(value) { + value = value === undefined ? this.data.value : value; + return this.data.clearable && this.focused && value && !this.data.readonly; + }, + onClear: function onClear() { + this.setData({ + value: '', + showClear: this.getShowClear('') + }); + this.$emit('input', ''); + this.$emit('change', ''); + }, + onConfirm: function onConfirm() { + this.$emit('confirm', this.data.value); + } + } +}); \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/field/index.json b/miniprogram_npm/vant-weapp/field/index.json new file mode 100644 index 0000000..8809c46 --- /dev/null +++ b/miniprogram_npm/vant-weapp/field/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "van-cell": "../cell/index", + "van-icon": "../icon/index" + } +} \ No newline at end of file diff --git a/miniprogram_npm/vant-weapp/field/index.wxml b/miniprogram_npm/vant-weapp/field/index.wxml new file mode 100644 index 0000000..e94c6a3 --- /dev/null +++ b/miniprogram_npm/vant-weapp/field/index.wxml @@ -0,0 +1,74 @@ + + + + - - diff --git a/dist/input/index.wxss b/dist/input/index.wxss deleted file mode 100644 index 9e7e9c1..0000000 --- a/dist/input/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-cell{position:relative;padding:12px 15px;display:flex;background:#fff;align-items:center;line-height:1.4;font-size:14px;overflow:hidden}.i-cell::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-bottom-width:1px;left:15px;right:0}.i-cell-last::after{display:none}.i-cell-icon{margin-right:5px}.i-cell-icon:empty{display:none}.i-cell-bd{flex:1}.i-cell-text{line-height:24px;font-size:14px}.i-cell-desc{line-height:1.2;font-size:12px;color:#80848f}.i-cell-ft{position:relative;text-align:right;color:#495060}.i-cell-access .i-cell-ft{padding-right:13px}.i-cell-access .i-cell-ft::after{content:" ";display:inline-block;width:6px;height:6px;position:absolute;top:50%;right:2px;border-width:2px 2px 0 0;border-color:#dddee1;border-style:solid;transform:translateY(-50%) matrix(.71,.71,-.71,.71,0,0)}.i-input{padding:7px 15px;color:#495060}.i-input-wrapped{margin:10px 15px;background-color:#fff}.i-input-wrapped::after{left:0;border-width:1px;border-radius:4px}.i-input-error{color:#ed3f14}.i-input-title{color:#495060;min-width:65px;padding-right:10px}.i-input-input{flex:1;line-height:1.6;padding:4px 0;min-height:22px;height:auto;font-size:14px}.i-input-placeholder{font-size:14px}.i-input-input-right{text-align:right}.i-input.i-input-wrapped::after{display:block}.i-input-wrapped.i-input-error::after{border-color:#ed3f14} \ No newline at end of file diff --git a/dist/load-more/index.js b/dist/load-more/index.js deleted file mode 100644 index d0cd46c..0000000 --- a/dist/load-more/index.js +++ /dev/null @@ -1,14 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - properties: { - loading: { - type: Boolean, - value: true - }, - tip: { - type: String, - value: '' - } - }, -}); diff --git a/dist/load-more/index.json b/dist/load-more/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/load-more/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/load-more/index.wxml b/dist/load-more/index.wxml deleted file mode 100644 index 66571af..0000000 --- a/dist/load-more/index.wxml +++ /dev/null @@ -1,8 +0,0 @@ - - - - {{ tip }} - 正在加载 - - - \ No newline at end of file diff --git a/dist/load-more/index.wxss b/dist/load-more/index.wxss deleted file mode 100644 index ffe4026..0000000 --- a/dist/load-more/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-load-more{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.i-load-more-loading{display:inline-block;margin-right:12px;vertical-align:middle;width:14px;height:14px;background:0 0;border-radius:50%;border:2px solid #e9eaec;border-color:#e9eaec #e9eaec #e9eaec #2d8cf0;animation:btn-spin .6s linear;animation-iteration-count:infinite}.i-load-more-tip{display:inline-block;vertical-align:middle;color:#495060}.i-load-more-line{border-top:1px solid #dddee1;display:flex;border-top:0}.i-load-more-line::before{position:relative;top:-1px;-webkit-box-flex:1;-webkit-flex:1;flex:1;content:'';border-top:1px solid #dddee1}.i-load-more-line::after{position:relative;top:-1px;-webkit-box-flex:1;-webkit-flex:1;flex:1;content:'';border-top:1px solid #dddee1}.i-load-more-line .i-load-more-tip{position:relative;top:-.9em;padding:0 .55em}.i-load-more-empty{width:4px;height:4px;border-radius:50%;background-color:#e5e5e5;display:inline-block;position:relative;vertical-align:0;top:-.16em}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/dist/message/index.js b/dist/message/index.js deleted file mode 100644 index 21a6d68..0000000 --- a/dist/message/index.js +++ /dev/null @@ -1,45 +0,0 @@ -const default_data = { - visible: false, - content: '', - duration: 2, - type: 'default', // default || success || warning || error -}; - -let timmer = null; - -Component({ - externalClasses: ['i-class'], - - data: { - ...default_data - }, - - methods: { - handleShow (options) { - const { type = 'default', duration = 2 } = options; - - this.setData({ - ...options, - type, - duration, - visible: true - }); - - const d = this.data.duration * 1000; - - if (timmer) clearTimeout(timmer); - if (d !== 0) { - timmer = setTimeout(() => { - this.handleHide(); - timmer = null; - }, d); - } - }, - - handleHide () { - this.setData({ - ...default_data - }); - } - } -}); \ No newline at end of file diff --git a/dist/message/index.json b/dist/message/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/message/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/message/index.wxml b/dist/message/index.wxml deleted file mode 100644 index aecaad9..0000000 --- a/dist/message/index.wxml +++ /dev/null @@ -1,3 +0,0 @@ - - {{ content }} - \ No newline at end of file diff --git a/dist/message/index.wxss b/dist/message/index.wxss deleted file mode 100644 index e6a79a6..0000000 --- a/dist/message/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-message{display:block;width:100%;min-height:32px;line-height:2.3;position:fixed;top:0;left:0;right:0;background:#2d8cf0;color:#fff;text-align:center;font-size:14px;z-index:1010;opacity:0;-webkit-transform:translateZ(0) translateY(-100%);transition:all .4s ease-in-out}.i-message-show{-webkit-transform:translateZ(0) translateY(0);opacity:1}.i-message-default{background:#2d8cf0}.i-message-success{background:#19be6b}.i-message-warning{background:#f90}.i-message-error{background:#ed3f14} \ No newline at end of file diff --git a/dist/modal/index.js b/dist/modal/index.js deleted file mode 100644 index ae178e5..0000000 --- a/dist/modal/index.js +++ /dev/null @@ -1,54 +0,0 @@ -Component({ - externalClasses: ['i-class', 'i-class-mask'], - - properties: { - visible: { - type: Boolean, - value: false - }, - title: { - type: String, - value: '' - }, - showOk: { - type: Boolean, - value: true - }, - showCancel: { - type: Boolean, - value: true - }, - okText: { - type: String, - value: '确定' - }, - cancelText: { - type: String, - value: '取消' - }, - // 按钮组,有此值时,不显示 ok 和 cancel 按钮 - actions: { - type: Array, - value: [] - }, - // horizontal || vertical - actionMode: { - type: String, - value: 'horizontal' - } - }, - - methods: { - handleClickItem ({ currentTarget = {} }) { - const dataset = currentTarget.dataset || {}; - const { index } = dataset; - this.triggerEvent('click', { index }); - }, - handleClickOk () { - this.triggerEvent('ok'); - }, - handleClickCancel () { - this.triggerEvent('cancel'); - } - } -}); diff --git a/dist/modal/index.json b/dist/modal/index.json deleted file mode 100644 index 50d034a..0000000 --- a/dist/modal/index.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "component": true, - "usingComponents": { - "i-grid": "../grid/index", - "i-grid-item": "../grid-item/index", - "i-button": "../button/index", - "i-icon": "../icon/index" - } -} diff --git a/dist/modal/index.wxml b/dist/modal/index.wxml deleted file mode 100644 index 11bcbd4..0000000 --- a/dist/modal/index.wxml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - {{ title }} - - - - - - - - - - - - - - - - - - - {{ cancelText }} - - - {{ okText }} - - - - - - - \ No newline at end of file diff --git a/dist/modal/index.wxss b/dist/modal/index.wxss deleted file mode 100644 index d1c42fc..0000000 --- a/dist/modal/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-modal{position:fixed;overflow:auto;top:0;right:0;bottom:0;left:0;height:100%;z-index:1000;display:flex;outline:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;transform:translateZ(1px);opacity:0;visibility:hidden}.i-modal-show{visibility:visible;opacity:1}.i-modal-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:1000;transition:all .2s ease-in-out;opacity:0;visibility:hidden}.i-modal-mask-show{opacity:1;visibility:visible}.i-modal-main{width:270px;position:relative}.i-modal-content{border-radius:7px;padding-top:15px;position:relative;background-color:#fff;border:0;background-clip:padding-box;text-align:center;height:100%;overflow:hidden}.i-modal-body{max-height:100px;margin-bottom:15px;font-size:14px;color:#80848f;height:100%;line-height:1.5;overflow:auto}.i-modal-title{padding:6px 15px 15px;margin:0;font-size:18px;line-height:1;color:#1c2438;text-align:center}.i-modal-actions{margin:0 1px}.i-modal-action-vertical{position:relative}.i-modal-action-vertical:after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-top-width:1px}.i-modal-grid{border-radius:0 0 7px 7px;border-left:none}.i-modal-grid-item,.i-modal-grid-item-last{padding:0;border-bottom:none}.i-modal-grid-item-last{border-right:none}.i-modal-btn-ok{color:#2d8cf0!important}.i-modal-btn-loading{display:inline-block;vertical-align:middle;margin-right:10px;width:12px;height:12px;background:0 0;border-radius:50%;border:2px solid #e5e5e5;border-color:#666 #e5e5e5 #e5e5e5 #e5e5e5;animation:btn-spin .6s linear;animation-iteration-count:infinite}.i-modal-btn-text{display:inline-block;vertical-align:middle}.i-modal-btn-icon{font-size:14px!important;margin-right:4px}@keyframes btn-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/dist/notice-bar/index.js b/dist/notice-bar/index.js deleted file mode 100644 index 7043dbd..0000000 --- a/dist/notice-bar/index.js +++ /dev/null @@ -1,112 +0,0 @@ -const VALID_MODE = ['closeable']; -const FONT_COLOR = '#f60'; -const BG_COLOR = '#fff7cc'; - -Component({ - externalClasses: ['i-class'], - - properties: { - closable: { - type: Boolean, - value: false - }, - icon: { - type: String, - value: '' - }, - loop: { - type: Boolean, - value: false - }, - // 背景颜色 - backgroundcolor: { - type: String, - value: '#fefcec' - }, - // 字体及图标颜色 - color: { - type: String, - value: '#f76a24' - }, - // 滚动速度 - speed: { - type: Number, - value: 1000 - } - }, - - data: { - show: true, - wrapWidth: 0, - width: 0, - duration: 0, - animation: null, - timer: null, - }, - detached() { - this.destroyTimer(); - }, - ready() { - if (this.data.loop) { - this.initAnimation(); - } - }, - - methods: { - initAnimation() { - wx.createSelectorQuery().in(this).select('.i-noticebar-content-wrap').boundingClientRect((wrapRect) => { - wx.createSelectorQuery().in(this).select('.i-noticebar-content').boundingClientRect((rect) => { - const duration = rect.width / 40 * this.data.speed; - const animation = wx.createAnimation({ - duration: duration, - timingFunction: "linear", - }); - this.setData({ - wrapWidth: wrapRect.width, - width: rect.width, - duration: duration, - animation: animation - }, () => { - this.startAnimation(); - }); - }).exec(); - - }).exec(); - }, - startAnimation() { - //reset - if (this.data.animation.option.transition.duration !== 0) { - this.data.animation.option.transition.duration = 0; - const resetAnimation = this.data.animation.translateX(this.data.wrapWidth).step(); - this.setData({ - animationData: resetAnimation.export() - }); - } - this.data.animation.option.transition.duration = this.data.duration; - const animationData = this.data.animation.translateX(-this.data.width).step(); - setTimeout(() => { - this.setData({ - animationData: animationData.export() - }); - }, 100); - const timer = setTimeout(() => { - this.startAnimation(); - }, this.data.duration); - this.setData({ - timer, - }); - }, - destroyTimer() { - if (this.data.timer) { - clearTimeout(this.data.timer); - } - }, - handleClose() { - this.destroyTimer(); - this.setData({ - show: false, - timer: null - }); - } - } -}); diff --git a/dist/notice-bar/index.json b/dist/notice-bar/index.json deleted file mode 100644 index db3afc0..0000000 --- a/dist/notice-bar/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-icon": "../icon/index" - } -} diff --git a/dist/notice-bar/index.wxml b/dist/notice-bar/index.wxml deleted file mode 100644 index 5de1e11..0000000 --- a/dist/notice-bar/index.wxml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dist/notice-bar/index.wxss b/dist/notice-bar/index.wxss deleted file mode 100644 index 9ea2aa7..0000000 --- a/dist/notice-bar/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-noticebar{display:flex;height:72rpx;line-height:72rpx;font-size:14px;color:#f76a24;background-color:#fefcec;overflow:hidden}.i-noticebar-icon{display:flex;margin-left:30rpx;align-items:center}.i-noticebar-icon+view{margin-left:10rpx}.i-noticebar-operation{display:flex;margin-right:16rpx;align-items:center}.i-noticebar-content-wrap{position:relative;flex:1;margin:0 30rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.i-noticebar-content-wrap .i-noticebar-content{position:absolute;transition-duration:20s} \ No newline at end of file diff --git a/dist/page/index.js b/dist/page/index.js deleted file mode 100644 index e0f44c5..0000000 --- a/dist/page/index.js +++ /dev/null @@ -1,42 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - options: { - multipleSlots: true - }, - - properties: { - // button || number || pointer - mode: { - type: String, - value: 'button' - }, - current: { - type: Number, - value: 1 - }, - total: { - type: Number, - value: 0 - }, - // 是否隐藏数值 - simple: { - type: Boolean, - value: false - } - }, - - methods: { - handleChange (type) { - this.triggerEvent('change', { - type: type - }); - }, - handlePrev () { - this.handleChange('prev'); - }, - handleNext () { - this.handleChange('next'); - } - } -}); diff --git a/dist/page/index.json b/dist/page/index.json deleted file mode 100644 index 7b1a128..0000000 --- a/dist/page/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-button": "../button/index" - } -} diff --git a/dist/page/index.wxml b/dist/page/index.wxml deleted file mode 100644 index a84d47b..0000000 --- a/dist/page/index.wxml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - {{ current }}/{{total}} - - - - - - - - diff --git a/dist/page/index.wxss b/dist/page/index.wxss deleted file mode 100644 index 06c5c3b..0000000 --- a/dist/page/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-page{display:block;width:100%;height:44px;overflow:hidden;box-sizing:border-box;position:relative}.i-page-prev{position:absolute;left:10px;top:0}.i-page-next{position:absolute;right:10px;top:0}.i-page-number{width:100%;height:44px;line-height:44px;margin:0 auto;text-align:center}.i-page-number-current{display:inline;color:#2d8cf0}.i-page-pointer{width:100%;height:44px;line-height:44px;margin:0 auto;text-align:center}.i-page-pointer-dot{display:inline-block;width:8px;height:8px;margin:0 2px;border-radius:50%;background:#bbbec4}.i-page-pointer-dot.current{background:#80848f}.i-page-button{display:inline-block;margin:0} \ No newline at end of file diff --git a/dist/panel/index.js b/dist/panel/index.js deleted file mode 100644 index b572da5..0000000 --- a/dist/panel/index.js +++ /dev/null @@ -1,19 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - properties: { - title: { - type: String, - value: '' - }, - // 标题顶部距离 - hideTop: { - type: Boolean, - value: false - }, - hideBorder: { - type: Boolean, - value: false - } - } -}); diff --git a/dist/panel/index.json b/dist/panel/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/panel/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/panel/index.wxml b/dist/panel/index.wxml deleted file mode 100644 index aa91c20..0000000 --- a/dist/panel/index.wxml +++ /dev/null @@ -1,4 +0,0 @@ - - {{ title }} - - diff --git a/dist/panel/index.wxss b/dist/panel/index.wxss deleted file mode 100644 index edee3b8..0000000 --- a/dist/panel/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-panel{position:relative;overflow:hidden}.i-panel-title{font-size:14px;line-height:1;color:#1c2438;padding:20px 16px 10px}.i-panel-title-hide-top{padding-top:0}.i-panel-content{position:relative;background:#fff;overflow:hidden}.i-panel-content::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e9eaec;border-top-width:1px;border-bottom-width:1px}.i-panel-without-border::after{border:0 none} \ No newline at end of file diff --git a/dist/progress/index.js b/dist/progress/index.js deleted file mode 100644 index b87b962..0000000 --- a/dist/progress/index.js +++ /dev/null @@ -1,23 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - properties: { - percent: { - type: Number, - value: 0 - }, - // normal || active || wrong || success - status: { - type: String, - value: 'normal' - }, - strokeWidth: { - type: Number, - value: 10 - }, - hideInfo: { - type: Boolean, - value: false - } - } -}); diff --git a/dist/progress/index.json b/dist/progress/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/progress/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/progress/index.wxml b/dist/progress/index.wxml deleted file mode 100644 index 09b5abc..0000000 --- a/dist/progress/index.wxml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - {{ percent }}% - - \ No newline at end of file diff --git a/dist/progress/index.wxss b/dist/progress/index.wxss deleted file mode 100644 index 21b9d9c..0000000 --- a/dist/progress/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-progress{display:inline-block;width:100%;font-size:12px;position:relative}.i-progress-outer{display:inline-block;width:100%;margin-right:0;padding-right:0;box-sizing:border-box}.i-progress-show-info .i-progress-outer{padding-right:55px;margin-right:-55px}.i-progress-inner{display:inline-block;width:100%;background-color:#f3f3f3;border-radius:100px;vertical-align:middle}.i-progress-bg{border-radius:100px;background-color:#2db7f5;transition:all .2s linear;position:relative}.i-progress-text{display:inline-block;margin-left:5px;text-align:left;font-size:1em;vertical-align:middle}.i-progress-active .i-progress-bg:before{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:10px;animation:i-progress-active 2s ease-in-out infinite}.i-progress-wrong .i-progress-bg{background-color:#ed3f14}.i-progress-wrong .i-progress-text{color:#ed3f14}.i-progress-success .i-progress-bg{background-color:#19be6b}.i-progress-success .i-progress-text{color:#19be6b}@keyframes i-progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}} \ No newline at end of file diff --git a/dist/radio-group/index.js b/dist/radio-group/index.js deleted file mode 100644 index db76e41..0000000 --- a/dist/radio-group/index.js +++ /dev/null @@ -1,38 +0,0 @@ -Component({ - externalClasses: ['i-class'], - relations: { - '../radio/index': { - type: 'child', - linked() { - this.changeCurrent(); - }, - linkChanged() { - this.changeCurrent(); - }, - unlinked() { - this.changeCurrent(); - } - } - }, - properties: { - current: { - type: String, - value: '', - observer: 'changeCurrent' - }, - }, - methods: { - changeCurrent(val = this.data.current) { - let items = this.getRelationNodes('../radio/index'); - const len = items.length; - if (len > 0) { - items.forEach(item => { - item.changeCurrent(val === item.data.value); - }); - } - }, - emitEvent(current) { - this.triggerEvent('change', current); - } - } -}); diff --git a/dist/radio-group/index.json b/dist/radio-group/index.json deleted file mode 100644 index edf138d..0000000 --- a/dist/radio-group/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-cell-group": "../cell-group/index" - } -} diff --git a/dist/radio-group/index.wxml b/dist/radio-group/index.wxml deleted file mode 100644 index 6940180..0000000 --- a/dist/radio-group/index.wxml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/dist/radio-group/index.wxss b/dist/radio-group/index.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/dist/radio/index.js b/dist/radio/index.js deleted file mode 100644 index cb73db5..0000000 --- a/dist/radio/index.js +++ /dev/null @@ -1,56 +0,0 @@ -const prefixCls = 'i-radio'; - -Component({ - externalClasses: ['i-class'], - relations: { - '../radio-group/index': { - type: 'parent' - } - }, - properties: { - value: { - type: String, - value: '' - }, - checked: { - type: Boolean, - value: false - }, - disabled: { - type: Boolean, - value: false - }, - color: { - type: String, - value: '#2d8cf0' - }, - position: { - type: String, - value: 'left', //left right - observer: 'setPosition' - } - }, - data: { - checked: true, - positionCls: `${prefixCls}-radio-left`, - }, - attached() { - this.setPosition(); - }, - methods: { - changeCurrent(current) { - this.setData({ checked: current }); - }, - radioChange() { - if (this.data.disabled) return; - const item = { current: !this.data.checked, value: this.data.value }; - const parent = this.getRelationNodes('../radio-group/index')[0]; - parent ? parent.emitEvent(item) : this.triggerEvent('change', item); - }, - setPosition() { - this.setData({ - positionCls: this.data.position.indexOf('left') !== -1 ? `${prefixCls}-radio-left` : `${prefixCls}-radio-right`, - }); - } - } -}); diff --git a/dist/radio/index.json b/dist/radio/index.json deleted file mode 100644 index e2ab49a..0000000 --- a/dist/radio/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-cell": "../cell/index" - } -} diff --git a/dist/radio/index.wxml b/dist/radio/index.wxml deleted file mode 100644 index 1e20b79..0000000 --- a/dist/radio/index.wxml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/dist/radio/index.wxss b/dist/radio/index.wxss deleted file mode 100644 index c52b211..0000000 --- a/dist/radio/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-radio-cell::after{display:block}.i-radio-radio-left{float:left}.i-radio-radio-right{float:right}.i-radio-radio{vertical-align:middle}.i-radio-title{display:inline-block;vertical-align:middle} \ No newline at end of file diff --git a/dist/rate/index.js b/dist/rate/index.js deleted file mode 100644 index a7e374a..0000000 --- a/dist/rate/index.js +++ /dev/null @@ -1,69 +0,0 @@ -Component({ - externalClasses: ['i-class'], - properties : { - count : { - type : Number, - value : 5 - }, - value : { - type : Number, - value : 0 - }, - disabled : { - type : Boolean, - value : false - }, - size : { - type : Number, - value : 20 - }, - name : { - type : String, - value : '' - } - }, - data : { - touchesStart : { - pageX : 0 - } - }, - methods : { - handleClick(e){ - const data = this.data; - if( data.disabled ){ - return; - } - const index = e.currentTarget.dataset.index; - this.triggerEvent('change',{ - index : index + 1 - }) - }, - handleTouchMove(e){ - const data = this.data; - if( data.disabled ){ - return; - } - if( !e.changedTouches[0] ){ - return; - } - const movePageX = e.changedTouches[0].pageX; - const space = movePageX - data.touchesStart.pageX; - - if( space <= 0 ){ - return; - } - let setIndex = Math.ceil( space/data.size ); - setIndex = setIndex > data.count ? data.count : setIndex ; - this.triggerEvent('change',{ - index : setIndex - }) - } - }, - ready(){ - const className = '.i-rate'; - var query = wx.createSelectorQuery().in(this) - query.select( className ).boundingClientRect((res)=>{ - this.data.touchesStart.pageX = res.left || 0; - }).exec() - } -}); diff --git a/dist/rate/index.json b/dist/rate/index.json deleted file mode 100644 index 687543c..0000000 --- a/dist/rate/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents":{ - "i-icon": "../icon/index" - } -} diff --git a/dist/rate/index.wxml b/dist/rate/index.wxml deleted file mode 100644 index d600660..0000000 --- a/dist/rate/index.wxml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - -var prefixCls = 'i-rate'; -module.exports = { - getCurrent : function( value,index ){ - if( index < value ){ - return prefixCls + '-current' - } - } -} - diff --git a/dist/rate/index.wxss b/dist/rate/index.wxss deleted file mode 100644 index e889107..0000000 --- a/dist/rate/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-rate{margin:0;padding:0;font-size:20px;display:inline-block;vertical-align:middle;font-weight:400;font-style:normal}.i-rate-hide-input{display:none}.i-rate-star{display:inline-block;color:#e9e9e9}.i-rate-current{color:#f5a623}.i-rate-text{display:inline-block;vertical-align:middle;margin-left:6px;font-size:14px} \ No newline at end of file diff --git a/dist/row/index.js b/dist/row/index.js deleted file mode 100644 index 3428387..0000000 --- a/dist/row/index.js +++ /dev/null @@ -1,9 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - relations: { - '../col/index': { - type: 'child' - } - } -}); diff --git a/dist/row/index.json b/dist/row/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/row/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/row/index.wxml b/dist/row/index.wxml deleted file mode 100644 index fe8159e..0000000 --- a/dist/row/index.wxml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/dist/row/index.wxss b/dist/row/index.wxss deleted file mode 100644 index 3b8b432..0000000 --- a/dist/row/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.i-row:after{content:"";display:table;clear:both} \ No newline at end of file diff --git a/dist/slide/index.js b/dist/slide/index.js deleted file mode 100644 index a397f4f..0000000 --- a/dist/slide/index.js +++ /dev/null @@ -1,15 +0,0 @@ -Component({ - externalClasses: ['i-class'], - options: { - // 在组件定义时的选项中启用多slot支持 - multipleSlots: true - }, - methods : { - handleTap2(){ - console.log(event,1111111) - }, - handleTap3(){ - - } - } -}); diff --git a/dist/slide/index.json b/dist/slide/index.json deleted file mode 100644 index 6b1e67d..0000000 --- a/dist/slide/index.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "component": true, - "usingComponents": - { - "i-button": "../button/index", - "i-icon": "../icon/index" - } -} diff --git a/dist/slide/index.wxml b/dist/slide/index.wxml deleted file mode 100644 index a13c673..0000000 --- a/dist/slide/index.wxml +++ /dev/null @@ -1,4 +0,0 @@ - - 1111 - - \ No newline at end of file diff --git a/dist/slide/index.wxss b/dist/slide/index.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/dist/spin/index.js b/dist/spin/index.js deleted file mode 100644 index 3297f81..0000000 --- a/dist/spin/index.js +++ /dev/null @@ -1,23 +0,0 @@ -Component({ - externalClasses: ['i-class'], - - properties: { - // small || default || large - size: { - type: String, - value: 'default' - }, - fix: { - type: Boolean, - value: false - }, - fullscreen: { - type: Boolean, - value: false - }, - custom: { - type: Boolean, - value: false - } - } -}); diff --git a/dist/spin/index.json b/dist/spin/index.json deleted file mode 100644 index 467ce29..0000000 --- a/dist/spin/index.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/dist/spin/index.wxml b/dist/spin/index.wxml deleted file mode 100644 index 8c25439..0000000 --- a/dist/spin/index.wxml +++ /dev/null @@ -1,6 +0,0 @@ - -