From 757a8dcc5d17df707e8fd05dde596094d17921d2 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 8 May 2024 11:11:28 -0300 Subject: [PATCH 001/310] chore: Add Prettier and ESLint configurations --- .eslintignore | 3 + .eslintrc | 7 + .gitignore | 77 + .prettierrc | 1 + assets/fonts/NeoSansPro-Regular.otf | Bin 0 -> 95484 bytes assets/fonts/NeoSansStd-Regular.ttf | Bin 0 -> 62540 bytes assets/fonts/Oxygen-Regular.ttf | Bin 0 -> 46440 bytes assets/fonts/Roboto-Regular.ttf | Bin 0 -> 171272 bytes assets/fonts/neo-sans-std-medium.OTF | Bin 0 -> 71048 bytes assets/fonts/neo-sans-std.otf | Bin 0 -> 69340 bytes gulpfile.js | 34 + manifest.json | 13 +- package.json | 50 + pull_request_template.md | 26 + react/.eslintrc | 3 + react/package.json | 84 + react/tsconfig.json | 25 + react/typings/alltypes.d.ts | 1 + react/typings/css.d.ts | 4 + react/typings/global.d.ts | 7 + react/typings/graphql.d.ts | 6 + react/typings/order-form.ts | 102 + react/typings/storefront.d.ts | 15 + react/typings/vtex.css-handles.ts | 1 + react/typings/vtex.render-runtime.d.ts | 38 + react/typings/vtex.styleguide.d.ts | 9 + react/yarn.lock | 5900 +++++++++++++++++++++++ store/blocks/default.jsonc | 36 - store/blocks/footer.jsonc | 26 - store/blocks/header.jsonc | 79 - store/blocks/home.jsonc | 15 - store/blocks/product.jsonc | 7 - store/blocks/search.jsonc | 7 - store/interfaces.json | 7 + styles/configs/font-faces.css | 65 + styles/configs/style.json | 812 ++-- styles/css/vtex.store-components.css | 0 styles/iconpacks/iconpack.svg | 344 ++ yarn.lock | 6110 ++++++++++++++++++++++++ 39 files changed, 13310 insertions(+), 604 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 assets/fonts/NeoSansPro-Regular.otf create mode 100644 assets/fonts/NeoSansStd-Regular.ttf create mode 100644 assets/fonts/Oxygen-Regular.ttf create mode 100644 assets/fonts/Roboto-Regular.ttf create mode 100644 assets/fonts/neo-sans-std-medium.OTF create mode 100644 assets/fonts/neo-sans-std.otf create mode 100644 gulpfile.js create mode 100644 package.json create mode 100644 pull_request_template.md create mode 100644 react/.eslintrc create mode 100644 react/package.json create mode 100644 react/tsconfig.json create mode 100644 react/typings/alltypes.d.ts create mode 100644 react/typings/css.d.ts create mode 100644 react/typings/global.d.ts create mode 100644 react/typings/graphql.d.ts create mode 100644 react/typings/order-form.ts create mode 100644 react/typings/storefront.d.ts create mode 100644 react/typings/vtex.css-handles.ts create mode 100644 react/typings/vtex.render-runtime.d.ts create mode 100644 react/typings/vtex.styleguide.d.ts create mode 100644 react/yarn.lock delete mode 100644 store/blocks/default.jsonc delete mode 100644 store/blocks/footer.jsonc delete mode 100644 store/blocks/header.jsonc delete mode 100644 store/blocks/home.jsonc delete mode 100644 store/blocks/product.jsonc delete mode 100644 store/blocks/search.jsonc create mode 100644 store/interfaces.json create mode 100644 styles/configs/font-faces.css delete mode 100644 styles/css/vtex.store-components.css create mode 100644 styles/iconpacks/iconpack.svg create mode 100644 yarn.lock diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..f3dbc7f7 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +node_modules/ +coverage/ +*.snap.ts \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..9713dfdd --- /dev/null +++ b/.eslintrc @@ -0,0 +1,7 @@ +{ + "extends": "vtex", + "root": true, + "env": { + "node": true + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..38d1a36f --- /dev/null +++ b/.gitignore @@ -0,0 +1,77 @@ +*node_modules +node_modules + +# para arquivos sass e scss + +storefront/styles/css +**/*.sass-cache/ +**/*.css.map + +# Para arquivos de desenvolvimnto +public/ +src\arquivos\sass\lib\_sprite.scss + +# gulp +dist/ +.temp/ + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.vscode/ + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +.scannerwork diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..320bc0c1 --- /dev/null +++ b/.prettierrc @@ -0,0 +1 @@ +"@vtex/prettier-config" \ No newline at end of file diff --git a/assets/fonts/NeoSansPro-Regular.otf b/assets/fonts/NeoSansPro-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..c1c338ac07692523f3f58a1fed9bf5f72f586e65 GIT binary patch literal 95484 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

oXxtpn1#@oB2sU2?QToG?VxwMQ!`Vtl9=w~ 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/NeoSansStd-Regular.ttf b/assets/fonts/NeoSansStd-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a2485248bb8fdaa0a87a9dda23a88fed84e39ce8 GIT binary patch literal 62540 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� zOg5~TxI7g$eJI#h4huZ;3=(Mf+F(M-p$7(BH`|s0YF=$_~2)U_vD-587eR2kkK4pUA@~ z3jEgsC3HhWUY36azY_i7EXv9Geh5#05_~!WmT>Ldryxv2QN24rT4lA>{bAA??z<~M zS=}|Fl3=ep3tvPXDnEMUx5KYaM~Uh&a; z>#e=FE*0gpPSk;~7limC=p~|4MF?b)=|SJ!v8}3Ja74wtX2tgH;OzBPzJ~U?zn*!H zQMgapJqCjm0~XmivfSX`YgnSfTL=DIpvn&|mwFMR3!I62uP3ozE;;I|x9!-zeZ?BH zvaGVPqqeTS;a+t3gGPvry@z8Yz0u!KFEK1z+_@NasPtKjIyhehR|>0Klh9r3Zfy@B zx=1m$b-L*X_FTX4%BmgdE)MA2oR{B#@`M!=9!Z>M2@VD|Ygz;1hV{!v>)j5`vbM5f zZ{GOE2M2o*zggW-T;R=EUtjXo?hdQgnr1b6vpi`F>KcZ=Y?k1?P-4>DDW2MNM7_|K zIMjU_yJ?coC=fs4`Uwwwsk|NoFle)%=1B2&HI6!+qmFXPx{Z&pZ60rx+iH=tz5%+L z^K-|TT~h4ZO$xjo{$trO7LGU6^(XLkReub1O^{46g3x4NkV(-$iBSOx6+ zF@^L+jbgI-t4t<(UQ&|(Je;4i1$=N^CQksipuNFk)k3%QIeDZSToNe*5zKPJ+@{xF zdZ}!vGie{VLu+j|>d!sTV5~7~Z+ln+uKeFWhf1xZ^lysRWO?i{i%F}z=l_%|pFHMX zL*GMP@XK;rgCimwYO8Dv;3a5t)FS4F>gjv*=GdN*!c4bQYKh6uGZ`%LX{IkzhtI4z zLu;{}rLk54`C4}B$&n_#)(9U~YFSQvE`6S9?KXeEhdysb-5mG#pl-~+;94PU4=(<> z@uAX@2zWuz2h9&?AoqYeevyMe$JUD*(qmKN8r zQpnMQ{5Wq`mNzaRnlX%&n!$UDDr0Nn%8TwBtPyrXT=spw&iMGw%6qcm2NSr44Fq{B z;^6`NBQ#8IhwDf-nebuc_J+(&9#|Tb!~ z0uIcArj~?OS4>KR810NSPgIa=Kob^`FBa-0QLu!OS>X)S0)6Fbk#oTF#5lu8kEfxZ zO==u&4Ve9@RHMR^#!NC#AVYJ|o`VxSR(3V_F>pH}oD8LUup*P6rn4MgcNLVFlpMv> zzj!f3E-p$6xDC->dG^_r?ZSqTCCGJ?vc`7yX#eQhHX$6AOR}&jlw136RfMmD=O@Il zH`Um_YV-MkLe;esRJp?tgw%7O9ridk#baFl)9r@jatC^J>`Q(9CfTYTt?sLMiQB8c zNu!M}yWN_lvsW}<<;azd&F7zmEG#9*ZtU6!_aB~I$PG^D=sd#6yB;4gT-1XISb1iu4o)SOE)S=q4$Injj68Xy$X8u7 ztSDOC%0sE%Az7QC)yc|WQEg4}u&n6t{M_~p?HyyRL6L`xs%wkzl)o&Gq@)Zh+5{QN zH$#PWH3dVmO%tzG22<6-C&*ZP`xs(y=vR0pSvAH4)%5R3m2_oKAQ!ITnyQf^ig)>4%==-KUy;g}_zN zkBR>GWN||)Q#H>#F_rW~?%Et&=5(=bmC{H{Uh}U0s?^k7=Wggh=7#6Yl##ley6ubW z6BAeE)URmN>zD6HPM7UDEww2YjWyS9sH@H{%UW18Tw7L|-n?XmS!2z!Qzfr7wK%P* zba{Pqe%@7CC7Hf#IetMyd6Od!x+&U%xn8secB+WWg9AmfIky~jPr-V#6q8xT$KB!* zAF`QUA#4-bY?g;YSFlM-F=OK~_Bb-@ZODcv#HRCdjCdUZI?kHpNKml^RUF(^^&_yy zp7ek8#1qtX#m(>BbkjRlYg$#?$VgjRw$&_^XRchCS6fT9UrIHb!5Zk(lM7Pa_^yR3;bao6{1sW;a4Gd%m-Yx#Q({IBi9pm`zqp z|A@G(h{^)B=h8Nw=l?wV$$%a|NX0MovhI;b zbn@g|jMo+94UuaA=U~9*s;8lR116ai1d9Ck!@+og{bNqwuOh|3j`!xDv!;Orc^N$6 ze=&E$F8mIJa9gLmvJ@Sx(t4>+_|RCI$}TVnh1G%{2LH7Y(;rG-ddEc9tQoM&rZ)g;C4qFltHO)=~kT?^g?5e3^Lgax|R-wFv`D?jZ1tq#o3ivYqMt8e1)B#QkoEFNGwRv*kcrf zLCIfPogN$OF4jAoX01WsF^4Xs>8KNSywFvIB3tHBb(2gX4!H7++W3e{1?~bB^ZtgC zm)_fw>9aX2GP2VbB#znbW4^Q;R~=O(yR|g`>v?(fiAK0`Ee?m0oMwzkx4G=qa#FlP z9S*b3aJpQT5Ra4t^ym3(C+$;xw9y&qv`=%oMPI4cjG0U=MoFX5oMV-Bnu9_o;Py1P zr69{xA7-REEi|BLYs%TXeV|mBQo^okSl9|h6)vWHyDlN|Sw3#q)BMx_aC@VLKFKcu zU%^B@D*(MA<0GI4!)p&<_$N;AcVa@hLTZktUvs+I091{d z%q_;O2u$(1DltFz$7lnhrq0QEovKWzxUk7?7&N(bMx8-Uk`3&Jc%3uBAZ6HO#{scUkIos(iZ|M5xkzJwVbnX;W;h!-t_kNR#w^G)6_hj04qKKhX0G2901rh$e+RRw_r~w&85a zgLHwuTyGg(WHyxRHS0{K#b(o5%}mg7bd8RxQjbK~9$Sr3Hz}9S*zABJO5_o7Gg5yGuNUZXV!vS5(DTS)6f@ zt_GR&aFqsc2+&~tT&;+X)X|1H0;HDo7n~4u7)p`T5@379kH9yyMH z_8rt!XNB>XwIg+PBgW+Xq$JFZn?ARcLD9v}zQli%4F2Mr_*6=V49O3AcZ4dV&dw7P zPoUF)qad!DqOz87$|O<%WJyXlG;i3t<-I_Dt7nkDWia|*r(#x%|J|bAV@ChM?MQaD zm|(<>wW#^7U+%F~nBEJeQBo}(vHKtAIzin;YasVjjG9mgcc$#qDbp2a&PF{H7{@|4 znlUwXix|fm%u^D&j>z4^It^JopE?jF=YEHf3t+lzQjt%M@e=SmduGcn{R%W&OE3dr zmQ+*rhX{@*a%buL;J;rGE~HKi9Y^Icv%yst&?JS@JqujYt_a2#30K1x##g{&AL4(r zftNiE_nQSu_WEQ7h`tp$*1+M70*CO3&A)d;EKrEyXg)F<*pS52I9p}|+&>*BVH1Bx z3!X*)3!iUP)K)dn!{isvrgcUVn+PC@)Y`rX(!v;QgSKUxvFynt6fS#pB*BEsel>zT z2%C5nWoL`B5kH?E?r1UySFvxJP7l|FR!o+05E4`?eOKTJv4APH&EAdSYKOyaG1WsR zoMqvPPZM1fRIa-rz6kR>kn@f_b8yLU z=KCgozbTymP8$UirK#aGct|R|h0IKqe}Sp4knVz&)5|HGH+in?+$`=PnTNEWHHml4 zRB3N_1f>0J3BI?@DDWjU?-#Vg^L{}+z*VH>88AGfdGDl5;9ZfrC5=uCX1|FX2lK9P z@_?9BUwNeJIHf*mL*&>9*7vYzU;Z5JiykDCsx|4$4d&rR77Uk=YB;5K_EPkC5qZ^E zcZcH_>&H!xUuaSDqK?P}Y&Mk`LaN^sxTLZfNdP*Z3ge9d8o(^i>7fi{`UGvFDPHeM z=qj6*DNg~6eJ~v>hF@hXd5*r#+SR-TPy@$LMC^wr612+U!wB5)@Xz530#7cuK>1L7h2N+@##b_bBI7Id2`(VZ62NN?fY+qJFU@1b zJR-%pi3mdlM81gXh|m+{mYgXDOiV^ac@~dFvI9~_?qvsew!_mfkr%|KX(0u^u=uJ7!FZ6>i z^2nx45P7RQ*H*=Yjy~DY@1*f7SC962+LFdr(K}w39>!DyCZ-3qNv~Key^WYvBXOrA zV)vgiEAkcL1&4GFB$7ZA2s_{du~?BTz#}krK3r52M2v7g6OdVtY;q*IjB>KJe`KgT zgKG&H9c_o(TOAdS{aZJjSyxcG@TFZlBxcVs(w0S*>JE`u&|YpjFto()bi3(a&N^%T zdQlqAe9)e8fikndaz{wg^wt91!0Y>2DI_KuSZ7XE`)X*xbUi zB+?zh%%QJvwJ9r_wt(e8&@l#Dlm}rJL_m?D)K)`@I?Z*QkXWc%0FE*jR4^oOQmw6|Zl zQ_>z=+^>D@dwD)MD}_E&3g47EUjlMH;4R=9CRD0$))5+^W;#sqOie$7Vo89hs9ve* zrc;cESqbtlkk|QV@MS*VL1@3iA2<7qhbioM#u*T=MRMX9x>bbT#fKwOrxz?lO$Of( zCM+@LASn7LdjAXo1>SLS2Luqn-A|5<#`vQ_EdO%ICHf0)ncS`NNwUdTc2*+lDW0kU}!|^;F zSd(EYnS~~%z{VP8qXm`UzXu+m(n94d)G#|Um<*!I)T8q_rvMiSO-6gGxs9@dT#Ed{ zvygKU&wW|&9!=73V=OY%Wbl&hBkXDsvUg8@wg8>WG0##^0n= zU&tC|&6{*Q-K>u{x5=^Il6Q{bFo%Vt6$B5wjI;!Toh}+ z6LKr^xR6y4tz|~&bb@+R?G4k}CZIF$b%Vf*L)IoYkn0)Lv(TJY9#eoaW<@rf2aJg? zWmR+0)-CmzFCrt{jLA%`I<2hq2iFu@Hny)vr)#8U{c_sDG5<0q*fpCC>;9-NFhnOl z0j!^>^NzWKARLb9=7_2}156ar4EHCxUPrlXY}IJ>@&KPH+=MG;P?Rf}ZNIGsq2yR}_WwDnfQY>}hUObMGbu5Dfk3)Dy%kxc=#tZa`Bn z&u>3`@bb$K9&RtV?4p_}t9SX=_>a^`2HjWjczY+JX^2DCz+a{c!P@VUGIR}Of( zBi7M|(Glu&sP@5WH8V9}j!D0+X@H+=A~5TV23!inCyt8v1m;O`9yI&fGFeetQ?xjl zEn+c!NM(-DMZaJ}_gRyfY9@ZkmBq;lE9c{XN?&bCs`45*%U0h{h=@I2$9HqwqL z1T%F$E9fFKXp7EcM(Yf4&OXuAISrs-w=++EWj~t?EMJFjALjgh%I7_)tJ?FWC^_@x z+Kt3TB2*zUyefT8K2ZW|lw)0c!OK{>hIxGHDcbl;?ONu#wA6KpH^UxyR(hU83l@1^ zyyNS5$ljE^*2JtIS)~kz|C)=ml2P2#aU08!jX%Nz#Eo2-FEI+dVaC@?F00XLd=q?$ zo5^Mq%5tEr^}(`K)iIh~te*yZl4df3FwVcoyd118#J1Bls2B4QsM`WpIvl%@EO4fl zR;pZTjdtxhYcUtvLNztLH5zKkFfzZUrKhJwW42}H=4OJsP*^SJkT-=-Wy&0iH-jdK z99Y(4L`-8~WHDPoz3`XITp|bOI0dsTsW-yE&HfbW!RGZ1OjOZa_+JzGTo5i5gDV($ zc;Yp~vQMRaSyMO7F(wrrZfda@%XK=cS?aM{+bk&_roCU04C^X0vJJ9cs9!)rpUOg~yx=@1V<^yY?}MN`z5F0u-N4 z>Sp;d54yGbv;8-nt=GCAjEOmL#l@dpe8qtnx7&TXSuf?^vFz8sUUo;mq&J`LcBi^B z8lPQu$iEPJ*w!^QFVe`;Qkd*UPJgkFbbZYbshaSaTOvxxi;=uCKohKG{AkW4FL zwoKFJOpY~3lGf!~SaA!Mrf$&lEoxaqd z(-}(jI!-6p|Li1fqfOY?Na!dWi+puE%*bkU`hNjUixy&`N?EK$Z%}EAzr!|7_YT|S zJarG=VS~}{@V!E?4m0121Y>J5gMA8K(p}5~J{{uHbl2(&R?bb-2vQ(zT#*KnGrB^0tQ9+nWnj2Y|i4pQ$4Gjw3I8_ z$(yvW=fx&1cTTre%j)P&TacSFb+djUMI6d8NA)k)ktkYpL z3nw1k z{zf`vvptfP&){nO z8Nz6<;g>aHjc9gT$XZ=1l6#Nx?~baOzg1$jXby(hzk{!j(FwZ4>};%ffw4EuIvHYw zg6!0l48o!7NegBKV5g6ZWicYw&6r{F48DZMZ#`HZBR{Z$hKH}9(aApwB9_r85X)#_ z**iSv^ImU&;e|So6A?&BY0ylv zrv*7cE+PnyrBGy-*q18_OrK8?WVx=^;o@bBd|E7JgM|ddlG7=gtg5c|j54vNdw$Pp zdYWpdvexQH3F zekGQFXIO9RZ}c{abL?!i!h@;q0&ZCcrXrkMP-R>gmjJIaMpE-V8YsO%F~%**>}qPT z>WzwFZQGR{&$s0i+YH&Axk){3Efzye($L7(GPBuk)(=wqs^wi(S3P)aO|sF+*RXscbE)Z1Jcu*0K;Lqlko5#&rol1{fjRU_BY8HFfkYh-1Gvpdd ztMoYr>*(SgOZ~(4QN8T7uD97>4jSnSgW>(gZ2#?iiEy3&Zk+ZwsG)ImpT&PSXCgzE zIIB?S(5K%2Yq~OY8_-iT7IJoqb@)@<9t3uMF``EVi}1)5nTWNzS+jpp%aYzT*~$4k zmY#Xlm1iIP*8bMT>+0x&ry5)8ovmHBANbO(w=X}|&~Oa=NS&Yj4EQvkW4)Y@Y?W8f zHN!eMZs)%W!JJc-yT8bc-6`|0-+WkTLtR5mH#Bp8Cc-FoV61F;D&HLSCm~m(*Uw842>wBjol>bL~T3 z{P4=AkZ4$T0Tp`;>7DrOjsc*~&VGlI68?b@FpKK(-M1oXKMvrfydH=HVUIM~nBPeVPtZZdQT-^7FTXDBm^`y~T_AT;}urz#Z;%&GOf=lt^9n8%|U-8YfMEJ zt3O*BGgBCSkoDx7*o}HE`md1h5i4xJEY8~tr9kn#=p>1YszQe6To>T-37azrS(U_a z0{~dVQC(kAT7xdrm+a79Eq9itHRC$Tq3zUIys^4;uf?Lz_34IR%q!OpX)MWcy3|yQ zg>L(8d1XRwLq$s5D;0r@xb&iu*!B&p;)`iw*|l-$g(Y!aty3VI#;JCA2k z?2V&NBnho@7sFLPXuRqydpEt#n3* zVozcai=Y#a8thT!gd1B7{8yjOnIS8zZ>!67LD|DD*NZLcgO-gh*STf)xv19mI^3$S zV*q>$2j9i$NpY>>iTA}j@I?gH_y=}G*hQWHuFesR%(lPm0{#RZ}7yRqOV}pvJ?z!&ZEgn`a8B4E5@bcp8GCEhl;2OCOyjKB8Y*< zeARkSDcVPW=Q$eVbj2L?c&>F6+OMrMZZYVwBbLFm$!fB0GSPDjZzFFM^g^&|QErsX9Hx z*PIZ8v#-T23ep~R7loTLlA>1Z@98+R6YHf;yS2h)iP_UFI3o6W-TLJSh zS))=MS7I^a6|lsFfI?pYg<`{p=^GPXc}y4zp=QDTuP%M4ZVDmx9(b##V_Oh*wRu-Z zHt((IZ3*5DZXKa+P|z7}M_?<7==M&xeSzN`vCl*t96dLq&1=zOw?KN>zr!VG=d5G}MJB@_uU@>4^0<(}4&UoT`wFPt8QrO( zm15Tkenkr$*zQ2Aa*U6r@XiAX!IlNjkvmeTEfkwmh)dVGp~M65QQpTFp}m}{|M_m5 zw6TGhd>P*RKqB+*(9jMD;hhoK{a>gv7601MW(m6BHVSAWZ?AMZ+RJm({{fnw+}jxV zEPX2B&d7%5OQ?bF<0Dw*m$fVtFqdi@w^x? zb4_A;x|$3wXX%l>(&s~_%X>tg$)! zH=MnjUfi=XB{Mezl^B)Gy!zq=aaxw0Q&gT|b);D|E`-o18JVbMdf)}~X~Ql;H8T}; zb9)^puDS6$=&NA>xS|esG}9m1GrSag&TMWR?)Ei2$uIt)=sHAYM zecKk7#+qukv~;?QyB%rH_7Y1&wbh6aqu1L!{${K^zeK0=e;@Pg(Dr`pF=m6T618!oL)B72c7dkj-pL0gnwplPI!J9t z4vhCWt=hr0$3}PUm-PwEL6@Nm{$MM*;_8&0XF0Ui46EfjYj>SNrnJv)&$qq2cDJe* z^YwdD5xYzcWNL)x9&$wkcWJ<|MVh?D-M^Rzbpgk2;5ZhY9~qNExijfOX1LkhtpK_J3dzo4YBux!OZx1oEWp&9>ZV`D>O<3N|8 zYvAXbw{PF-1%9ZT{DtrM=+}+dD{k^;I z?!4!o&dxK>?A*u4DQpY!9=(C;Whi~RwXZ_51L{>Qdxg)k7I85XbXI01Hwq!6fMdjY1)vRfK z!~)2n)v6Cpx1urdnu#`Mp=_+p7UrX~g<5FVjB%4gGekjn8xl}Y32>PZ;#vWs6;noZ zs&}(e&@d+}RfVA??QP9n-944r4x6>nQSMF6YUpd~$xBMl=((h=XK--s@&UcZ;x=m} zU4>6y)uhq1D1|kJXjd9=mWy_QV%5Cv$)S=CgguN34|{0L2z$ixAckxT1u-P}sXnLW zfLDzJa@>UYg8-b{@EB%u#5HO8oN=gm1?2b`;4%MG7>75hIK=)yz!v9F0Rd2{I)php zsPKt^iV(etGoz5YX2T)IJ@y$WMJ!Z|d(P-*8Ta&q$bpYFlCW<5FQ7BdIPNc-JnpAo zw;tpE|JnT&Fz(Uzdf-rud+s-zeeLvV$31;!+JP^4Y9{(O3+1cpG6u-#9~}GixtRt( z#y;vP0Ue34F9`OZ9Q*W_vk|UnTN-eei?(6>$E%S6F404w(x~xI*G`UNV*CT<@=zWC zmpT7Gjeq*Yd;-ks_(v9IDSP){HvZYl+0aPImWev@F7|7N>mGh?H|9z3E$T&x;F>lg ztwbuktjp2U1Wk!i*{*|vrD!y}fN}8O9DKwB|CsBd^3K3q#IUhJpEgOsWCBLIwb3Dn%H%6Ns-+fk9jICtGwfzi(=yC1z=j7 z-}1VX*$3D+C>5;T#;|h7)1OM`qi|K%@91qIoK1q{(o-X30$7r0!&^$3-p zc#x~d&4h?LJ?=D)RX6ooA5P1x&9zz!eKkF;4UNsUscG%>cXp{TM`w0eB|~#hX;Wus zQ+_rU8B_7qOg6H=!B&N*RV*8U@FX8~VojN#*mRErX#A(PM7}6|B68}GdxzxQPMcmX zK%by2?Eg)hvG@1~1Y1R_nInOs#`So^#$V#uc;7^jTKtyY%r4;8iHI%$cjy%%8-ZO?fMR?pjkjAqHhb1snQP3y_uPzL58MJ1zE@KBzZrzz|~PDw7T z4&(V-O_?v<>ZnXz5Svw9x3wbOVk^yv^Q7lkn&=hzd3t7XnsqjpGbS~yv|qNub~L2M z#41q4d3^@d_uuSUwY~uL6w)lNBJg2Z#;Hnp6S&mkMw9!$Ep~T)rktv`+DdH67N5=L zGg!QKI$&l}O3@Fop1jp+EwyRP)i$U7hfWiE9yI%}^na*4Df5f+B>KQ4o=Ryu6?Z>c{Gu9bY-PfA6^~X-{9z;L_HC`S?9VypSCW z#Ib@=YhiLlq$tc7)rU}p@CgUH;c-01<7?q0g_#4sY82m~WZ8p3-Qamj?5$G-cR5c+ zZUsJgtgsLnyFrU}KH+LU1u;52&C*3cemWRwo??oKMXT#yJU1hRCgnUHoFC*L98MLl zfjQX$yL#RUAa0f}wzr=?A{g59K05jz83PRAO2qoRc$Rw@if~#(=xTDTl4}){`!)1n zIy6dHF%uYlfM8ZwIci zM-t5sTx*Df?h0IMNfrHD;97^d^CN+4nT$$#fomg4mR<;4n@F8zQ{dV{Dzy%HjH!mN zg0dHfdX2g8qt5)3|!0PX|^eFZ6poS z*8LM1eJ9yP4v^hsGucE=11w(5S}exDa$NP{+Z{Oe;upKfIG%Ko z?PL_c+>Ga&kc-Qo>>%sGAH3KhYZWuq?MD_umQPfO^$2aZUHj0Z9)XyV4 zWuz9Z8$fXbxKaxZ7O56k5M4$|VR1!SZQnruKrQOxRiUPWP|5QuW4afY2;}Sm(m1lc zlRz9q>%5{nRKSbzZLR3E-FPeb+d?#_3eS1hY!&#~OE#jR+fe41D6bNC6x40OW#U-^1ckUkNPYcVcYPXMW9pAZkW8t>VVGk5tUi@CY-vWZ+17Qz-vl-v+#V7BRJ)CGm^tE}9chtLg_vnW4?W4Q5dUtM| ziGW9UZ18R$J>VT1_wF9ww0Y0o@!jJayqkA;*N^YsJBss`eY-dB*|2&2Ui8KuRKbVe zUJSGvn4LxBO!2P}?U_6XH;WbqhhQP#+=(ar^}Ty{)f5$-dFGjg+XF*tvpS***YDi^ zPnKUKpxX|bDiVFg>2(uu!*LpXvKG&HAB<((2F|Q9Jbk z4l@X~V*!nb<|2qnTXZ^p-3KE{mno#pFkvu>V{6H@O`NdA-~$e<$CU2V{-QlAGjr@(uY8XDhnNx8)yY zwfst6aoy!^Stoy#Kgc1uSAHVT%d_%R2ImsFg|4z0`adU|()+z|IU zSMH9-I(PzB$>HuqHv((ZNu0Dl1=I7XZZx*8F`R85>&{@~^jYp~SK-F-yF%x%0*5)+ zoy&>#^I2iOfZqd|z)JNbH`#HL%}sOD-3&L=&2ksI*=~-T>n?Kh+{JFbTi_PDOWY!N zsk@BD>c#S;Jmo6g71=B6YDSMfZ*=HiP|);O^`jbBuBd9Lsc$H1TGmiim5dhD*QFx% z!k8~sn1A|tp@04t^Xii2M*^rpt0)es=6>kQ5ZAkv@=4#BCGoH zE4o!*9zB;?c)2~VBySn_a_%d0mycRn-&9-G*qE<1j6QAbsLI-={8d#A^`ok5nm{g3 zso{ejl`xWDUB9v+83wJWd}Ga*qwsDS>)u4D5Dn(N<#WES| z;i;L77a1+nqKaQKTBvkP#(H=vrs5v6WW2~In2hElm9MI-T!I{F%2SlW9#)wgE_qj^ zf=g4u)R4=oNu}1Nf>))2siB+KkVQMAyA6U7*e)iyk9?8&+~(lZE&%EW}V#w34 z5Z3uV#*Dv*@Ef=ov;2F656b(5KR_Zmm(7eFW4@k2c&3{}dfe($87)ZVdGdj{+RCOn z>dg~3clOjFx=#cQ6m}%XTT5}x%@6b1N%%_U5t+55vaw3$FJ;8YWz`LpOJr$n&6g@= zxjh?d=^FB79u4xgRLrn}kQ;qG-0xnH;^-6pr)z2Xw?p!*Q(TTiI)GP=%((hXT#hQuG` zhDvugL9RibS0JlTAU08&knJVN?P0_w$x7sWFJ$;|-kOZW?~OD+k?<5`e;?%f2*Ojr zr7yUQBs>j$pdYgSB*N3t3`&vuClj85j?f?Ze+o3Jb>nzm>&}z78!x>Kk2sL~7}PjW z`x?Z!n=JhdUYxaqQiB$EQ?W=Zthk%Tz6^yFchfO#E1WnZW1vBaQ}1|Rv-C!@(ALF) zFww&R!Xys^2$MYwAWZQvfH2j=0Kzm60|?VS3?R(#FrZy;Uo+G!3)@ivH4Pe692mBU zUx^A^)EgQq1>;cfxUfaaOW&e?P|vrh6x#U~^@nnvZrSMCY7^{*Zq0AR;quXZXG;Ol zkC#GtSRq4b^$axb7-OP$Mon#eJ1uJhrL(M7p{D*=w6vyPzK%?qJ*6rleNnYU)e0#c z1K#lrG{qpVE8flohuYiei3&T!Uol9*Zu>=&ks`dCW$hMgcWx5@`FyD);A(pdDVjM}i4 zvShikWI5)@C^syZpp=J8C@iNTUrs~5z65z;IdJjqAT27F#4kZgR4&4gv}CymzXbJ0 z1RGLy9SotVtbz_W-Giv@mq=@;n*!#Ug ze~|e~5lvT$c;DwMMS8ZXEfa74Xb=XlQUUJJ#QUY8Uv9qAOw*NS-uL-Rv+L~re%^;B z7KbL@A8fwTOyf#3@B4hES^G90vKj}lZsIZWerXslH(xQ*bj8T~K3_3vU*r2>jpp-) z_e(>++FJB&BXiQtFl@r7odR zI%_DB_L0;@wuMqxrCg|uB&DvVh0>l<$FzcDT7gO*uQeRg3fgKyrUisjU-gvFUMo1J z?;fqbdrYtTbJMGijftZj6UQ`DT}Al+H{0tTwP=q*DXY5P-ra|_%gCC29BZ!?=!kxG zaSE%;&emCTB&K!-H=D1^$uiB&BCdIkm}8w^Z5a8~u9lY3>|Qt*JH#~BQRd5KSlacS z=}ymCPnH>2=hdI;bnRubjK_kb{!CXuol~*p$4JA%L&-v()7?y-lih_pXNC}Cwz`RR zfw=y+>};Mx*@bZpI|){{wya}w2yN?>?Gf(J&|MU|ha$2%%no-=s6`}?n#Q!VALW_- z$SfvTRyC+)iKR=s$Kz|5NTx>$pO^Z#7%>!;p&}`4|vD!QL96yWMZ(5UrpF47YBP}LGY|B z47SLP0c{}n032BzY@nV8sOJINbQYy6g1!8I(joag|G3~D!p1nVi(Iv0E$ z5cfl)iNTx1-vHB#gWc5k9`)^Z*};C7!=1~W$DPkzz+K2)#66RHHuoIr(0X5|-URi$ zo`iCU*g+^(47PKFx1ixxXt>q#cT##6sXL5EK3(bEVpM;c=YkMJ<>y4JVT*9EUNdi`)3V1S=O?TWgYuq9%4U_ z?u^krGLN$prbx$G*&6M?eIGBq%U17%-$B|PycIO_PL25Bs7QX`!V?@lVrdc9&p36n(8N)L?J$ z8uQ^1UCgs~F?VtWYl1aCez<4w^x;Z;bUyPZ7rka@@KW%+FBiOnL=!(tAZzSG)(A6s zn=9CHB)th}TH8KmX9-@2s-&kf*U@voAN)6M-x1sq<)|NQ@l+wSKX@7UOz=#4e%FMN zAD`N#V+2_o()rT?YjodBzil@MFjs8XUVWq&{r-UOE5U8SZJnz{`)&J~qI2(du2iOW z0`myliJrg}_FD^EJQ?yhF^)`n`dC*!gLgC42It;OpK%x)%s7@>@X(>;R^g>(b3f`cN&8Zo#H3mmo z_eZ^FbM(64hr!*!cegX_3EB^CKT=FJqTnS#OmX1olZe_HHAa#^eA?? z{HR=K{NNz{zq#X*otN52^3d$s^~Bb7A1=Rj>CVK^g<9z*?cdQky#37HzFg;1 zlC=HE?=RK@x#-_rI9@uBpD%edI#_F1pZwZTYj_>SqObmr%5-&J@K{&ZNZ&wL>bTa! z<#+scrd<7Y$dsN+J6wLMWM@O4D$E$`-Q93%7t($2J#bl^Fezp=dnm3O>*bv5;Njo-QfQNT&diH>w%5n z$KZTFZXoA^9{}fdSP2GllJ-$>ThE!?a&|y(;JFbuQl7+>$y2zIoEQETG<*g(kW<3X zLZ#<$Cvax?dFtP6zt6FQbGj#SQgszos_jWjEtx598%9<7IDbnVX=7a&)+zrTUz4G~YOyW4z2aUgj7tbLAb}P)_Y- z%NWjP=g8?U*X7C?*h2H%;nHFl#$V-nMg z>3Js4BrnyxsEK(oJyG`V|2uQq8^sA_xTAn)dgY&pInvm5khYcM##D8GU$AqkB_%ny$1LMC9;dtIb{2f1R)PyO8 zt+sY1WP?PAZf|AP;DJFoO$rHFGldYb$Ebl*#t2vZ)9`mMz{idrIBMv~s5SWeAmF9h zW2(kaAR?}iBcO@Iju|&}jFoJz2YS2U?*&947@N37Y6mDi@jIiFC=ue5(@b_#g56{< z7t`IT!Z7z{sokBY%f%^x-{tv*J}zG&1`^?Bxn0f*|HgR1^bpfRz>yN&~4Y zD(^(_L#~?nRpUdhvU?wh6t|U@mbwD`{ryAyLoALsIV3qVJu@veEL7)+vsgukn6ay4 zc20*5IoZ3K7G$>_QP8!rtNiuK>fz$1l?2o;6aNrg@;7|6ZSzhfgMtuQltfBNz5pHx zVvn}sH++!GKA`#hGNG+YT_%Z5s$SCTWFQbtx}an#ripfZ(PyojVw9QqCjLSHqnOzj zdtM*U4arYFOQJ|!axm{i1fEwfL@!XCgejv!aUk{g56B7j6TmI`#-ISvUuI)PitvxsO_^xnH?qUBYTb(pKU-W3fw;gA<+5TPO zO{wk-W#TNQfSzPuv*^;9bdxfiec^LVT|ZANX{v5Ji6u^wLfX1q5*27Yd!)@E>vTdG z6?I}Z7)c^hH$N%}v_MZO4azZ4olY!Z<28$}r26KtP?O0PYBKtRPk#Zh>WmWDM?OBXq4C}woXKRWV|)p3QjZ`0|WFj@u&X5fyp$L zEu|wa(U>X4>9BmMnHlMnrcu#*AtOE0=DU(8Z#s1D!v2Hjo}#7?Cr|!x@||!oYESj0 z32Tm@SiR=R(bc_&3_d%gT=?mOBL}bilXkx{ZpYa1+wi4?%TL|zAb;@D!M&INvG2gg zRlCNGU$dcV{7#5QGR$*B9*fnCCCQ{2DRYIU*0)DkEoNf~@fXDKFaZpjop*xEGA05E zlncSCFt%043|aPo3s%T7S5U(S4VpDd)3-YUPXQ0ifKRVY6S7Tgs;%&rh7Uh~;JQJ2*$1SeaJG>w=-%{E7( zP(e*w6=m_XN9U{+deU#{N@cWC=PM=s!V~m);K^5hq_=%|*wcXw54T!?hlUDzN2WQ0 zp`*9g&fPq1vEtrJ%|g!~71!wt^v$p67j(T+2|Oi2d+`tXCt@bCt{9UsBsd71CkjB- z0>qIZJ{&VK3*bXB!6t`=*>pO+C^{_(S+Xe1i>DQ-%9?=Z8%LH$zV^(vKa>rrbZCP7 zlQMME;i3@5Wz06x5z5AXG{5NZCb|_*EGLgjqBIFJ&@S(U4O`9%Wed#%!Cnk@k@JZx z2Mf?Ykq{z+oLlRvEDQPgNN8R9B$v}hojIA>t#*^cWY4gh(uA3Gp)z%eGM=tnBD}p= zDWXRg(}Q^CDCJvPPQE36#Nmq7VPF)36+d#l>juS!U;T(*D3;BVEo7xxb>b*7#wfkq zq`&fQ%%6|D8oZ+X#8$8;{ZZ%)+eRcYAn^fMw8gh%*sVS3FZ9QC>u}d>*b7TZHDpC^ zRSE{OI}4a@4J2M0q2@C)|BUUXn$H+qtv><6tN;j6=wSmjh=Iv+9NRd|44`s$#}2bP zbOH}iQ+K%DbUS04^w6@K&n?Uy^Nw=u z*dgWSWy!N!`Tq2i%C)_FX~dJKsRaW`z-ZorEfzo`T{gWAW(;3nCVsdD#z#ogz$H3; zMz%;(cAgx%);Oq1XZgzQdUD-1jSlFO!e9(i(i>a%8pa(-8oL?>0*xs^CkjMhYM9G0 z4AN`l!8F0Akt8z0Q4a=Knv-T`W@V)(I^y)sOglt#u%xGU{aBkIrwKa#*F5rDN1kQOu$|tyZJd+&Wt6~H_rX^d~l=1)7CaoT5SO(!#y`RB`IWrD=d~u za$PD)^{F6A*ePs)vLbY!GuOBw0*I7neOIBs09?-ISW@V&-OSG>6KWW&6P)4TcC z^H1$Ca%6`F%J+khWjEbG!^b{1W9iK0JC$#29a7d+ZCIE)s%?FfKsV5!xTgJFx0*Lu zJGSWX_~oaabuMjv`6ja#D`E4D!Fu{b{5W0l0k8{1nk`cayM;=mC-~31v}TjpWa47L z!G!=;IgL`gH0bez?!LmB3+I$wN+34jcx440|ETz8bpzo?H{>pv3J$M_XGD|XE~7*x z8Wm|0MahWC6@4>H2_7t!V43B7Y$=&r8A1VAz{~_x9pHHwfK_064R=P9=uk(Z!=yLC zptK8m=(RfFf8vPqPHbW~%}tDS~DWBMwq>#)=7|+5jSC@PH%|sTU~b zwAbk3hg{?8*hooSY;bZGtd&ElhzKUw&u@=L*@C(0kA^yS8{b?M?> z-co5$y1LKVMJt~?#rEG2?7#Q1DmoJHvV(fccj*E5F52&W*~Bz%*|rfHAEby+!1y!l4;;%SSvDBr!e>c}Z-K6-HFq8w zxbfvx&s`Bdv~Qg>ea)KbleY@bPO7+>lXJ6T5?lSASm8DpXBftr>S_dQQo@``m^(ot zCES+AEON1hxue8hH!7m`!gBJ7%9A=hRJ-0mbrvSYR2wT(Xz<7fb7}Zj6E9A0J7`Ms z>jee>5-ekHY+b+M*uf1uHVHke-e3484a}Q&ynNO5$C_0S93-r5N#9v={K_JEl0y~wn!?{iTUa=9qR zRY7bGMfd=>)RK{A74fz9?YG|+XI{HjJ>tdqmo{ssHUPWHR}gRm}4FEU%7#XR6bQ)nY`2#Df>ky`;$0hCdoIgVacdVTC{{d;o84*+vd#veY-6hc=*x$waez6Q=0Pd3Fe~8GgEg!zD%-6 zd$KC;L>#CNbomLQA*sFqQ#Bjb8UFP1{#mMmB>G{7D3L{MM;W%7t_YK(FCcn7M6$ua zXD!%(5hfEqk@)2?Tll|1L$|bTosj5AhvRV?PF$bgtumnD;*z;rK7Vo5ZhcHh zaMjR#%5LSx>&o*dX&H_G^JT}g%D2TU(5oie(Rb^neV^3u~{q!6ERDPwcw(fZ5)t`>igEWR(^f9ReTW{E+{HavCtA*#> zZ!cT-==5ckOP38_d+gchtezb^TBBcD`ue}HbH{kTl|GWcfI*SzN{hsviwb}}6bO37 zY^J;r&J{%yGyc353MCP?kRX3Q5>2CJOb<7_>j-e1ZQzo4W|wnDK*UJQI`HEp*X*|z z9DXupgK|Lm{b=t&Ptd@Xx~^Z<8#Lm`ej5Jzn9(Z+W3@1Y z@@PJT7E*`FOO*~xm_`Q{%N`E~G$vDUARM(=V!fJ+x>Fx!>DL?tuN0sPJ?r$Ddv5QxM-9X}8 zb-^PN@H59$^{^Quz!75@nXF+0Qc==AN5u@i`w?NVdppp%|72d@SkJd|8rG~XY42(i zfTaqAtr8APJ_hS2WkViFqO4+PQ4*{kbFDPfosww8C2dx|gmr0MZkDU7hTV%rbHoK} z+u8&>$b_h1+9BoV<7JQ2!f!m!w|VM?MIS8cNF%6u+ivAC9sP6GcVT1Spke#JpuJw1 zuxe!4zRwpZ-zevE=>ARazAX_d;Hw$OXBN=_jGS2$O!dLu);v|8-_1r2lbeOe)8x3L z)!!UFDn=d^PP@CvuVPN8scAte< zU1o3H!RjixJ>nfXft+7mHB6G_WZV2PCW5P0> z{Oaw0Fpusy?A8&u*T|$A;@HfSV@?gUsYHhG*bz)zP8Wu5Bu2P4p*kbX1gC{jhln43 zSoBoPRGKI1_k00kR{8j#K0#^GM~WS)Y^+`?zj~)!+H$*@IE@Y(dgp76VmTX64PnuW z0OrfyGY3|aRht86n3X@rCS+hqvtM$PRKGpXi$a=yx3s+d`}?Z*1OJ5fG$&OYfHi_V zlE0O|#6Ah0>LiTe58cLP_w%8p>>QTmLM{vlOTHprj_t#J*vZMi^?5Er~D?p zPG{nom2?@xoQ*s&aw0qjex4+9*&xhm`BDS6!sV-_XHyi!zwmz-zJ6 zBfvdI5lVwGmg{{Y2h`-L5LuD11O=93Gr-(5(Oud$=bXiVxg}i*nor2 zn#m~r-1xJs>^8Nh=KYt9P1iNAez|7;l%&SgInGcsIm%AOqpT>5?( z>o9MBVBY)@K}mNtv17)#zXh7bVrW3hHC{jt(h{oU6^;yvIV3OucNki8y_YKS7(t?g zIz$*Bjs$R!J++R^{2+LTHrlQ}r5!GATzyEW_u899w%j4g?Hz~+^`2ck4Bg#5_e0V?fttB3$qQbK(@W0CEl6$q=~!iBRTYgm{gm?Ee@-dib^B!;t%ux4XCy`b z@mBLDD-xRDK~AI{k|tmMJ2w?$&||*aVlV1hoC;PRWu63c%)Kf_-H0rfX|)S8jw#Kg zmP#`@<2lRM}p$*tUQzoOha z_Ux-KT$Ep}c6pSqu%##r{+!pJeeN~!IXuC02lRc8C-69$A7muWW>TLEIV2;Y@gRyJ zBbj*>X3MmgrNr~@Yp2~e&eL31qmY5yAnKX{d(S8LRI{WtSA7>?*{iNb2vQ7;7#Z4L%L}s9ki|#hU6)w;=K*&x@AH9o zAkhky3{eD0T>B|_e5orCqX;B{CbQWDfo#X{)&Ct>!)KK?XXt1;`bEg2v1gQ)&nTOf zg%Ff_>9ad_>Gthr(kFLVfD&?&Nbm63<@!i|kUlb-HCc=~Rv#g~^QtmLDSevWR-CWX zN9fA)O1!YaJrXw0i|!Lbq1(k)&I8l( zm7oj4Pr?V)i`=J#&f-i^$>It9fXTpYD;OdeAspXYQ5dkCn&ejFp9W$;435P=GbrO* zL_B+n@$hE9uKuUkShrZ(w`I&bYW&{~$W*gRU=|e{JJswn zp@-6fzKlpoxblha*8JPyz>w~FNp#BRa3jySz@_F|lVS?+8PB*_Fmdk+CEMJGU}h@tST#T5jYnB9zgW2T^qF${;VNaJvRlX(cUBJ+zI8M9%2nPKfAPSPAvRYi z{w6e6vsx)>tp=$XQ7rJ&VZSj+ns>tb-vJ?70mvSj@BoZ{NYw^vc%cp%Fx*}QcA;X1fObhBgKD0C zKQ!Bn;Xy%^1SJP0*Gr78V=df+ zSLZ$*c5gbkCsYg&2TmAM7&u<2-{gsZx|5hDT@URvSayRQ;>hZ=u@Q_tv_NAF56Lr= zUO@g{5JH(}BqH2cds6=bh|iJzek2I6sF>7w#KeS!1XB_NpTTAgjthy?Nhsq8^5cG= z)o4%6hP#LH^Vq!rTO-k_cbKwFq58~BVeZaDv}3pF9UU!J_E~#*#PAQ+k2>AbwCaG= z{Ji+VCzqA3ZKrN7oAvahW$Tr_k1NWCe%&_9Kl>{i77i#H$k?(kcy0lBE)0>@5CgPx zD3Zd06%y5}omp`VH^VS~=HvLntq;1uqpcW>#T3NS;D|xPeU;-#h8dAcrlGyjNjS1X z|DTi}D7F4ryfY!kGiPmf6~8iXjFze1b!FYHgR`rn556i69n{SIbbMi#2v@l*eWcl_4^AerI=wwzj6)2G zWThgXr?c8w5`ZnlvmUZ1SZMpx56bt{|D!j5pzaXy!j5CdBM*olp4t9b^$WBy_4CkH zqH^O#pey*odwmy`gLmREloxbC1dHx!WkKjG6f#!GMx>FpVvE3yPzyIgxvoISnCpK^ z%tkf*0|8*ARu%w4(AuizgB@8}8EmVAS%k*J@~NNl$AMG9dxfn>+YSsUl^0K0pEjd9 zO?+!~aFfdyL*^k%UOBFtu^#Ma8zGCi$vN`fOYJkXypITvBrrpUP=mdC<(b&zO>$17!I zFwRMVZ<3AhO_(i1b%%v!#j`s(;`3$}wI7?C78ah~x$0ubo5izwq(>QA?wHnZ=cs%~ ziwVz6tK98+Odpj}H2(3Ct6Gkjo8PT)(a4tR#bYP5Xg;p8TdI5drtqw`BZqex*t4v4 z<;uN)JYF&rnv-_4ci^nRhfn5-Rons{pT=k7y3u5rtFh1UbUBV0K%RC_J?7O zFe{Hj$QkMrI!EQru1F6{cQ&gZiK;aIxCSHU_KDwQ2#$?uo{}WJz#py6p&4^%B=ud1 zA;AF>n=xiuak&$m1Eb!X;esh|wwah&g;}#ge`PXrki{w1?AL|sOX$eUN>h6MU8QOo z=B)baa$U5(KOLo{BJ>hHTtP7iS>w4WFr8##erO0}GSYg?lGCz5q>u$0kRhfdI1oF? zL`{-fLBQ6j4*WXoX?k|og8gD(Xkvylwx6LQ^vDO&LjOCb+I26eXAcNmfPzujb%<*m zz^-XTiqF=M)ifX5GpGpy(-i1n=}N&lekdAI>miZHVIQ!oGK7&Vht^z#`oMfNB8?Iq zW^1A~(O_XLlmg#e-v*McIxhaT*&V{s=}2xZD@XP_ZdlUx4p}-h{TMv z=ojC6%Z-)cqmv@IOvpQfFb~fkvcXxn7Q;RuC{)yf(orrOi0AT2Q+3`estXZD!s0C` zLNH=gRnl3+#pqA5%dM?n9Q*9q15_G5ea?|ce<^o+x4|EL>h3PAZ?t^wjKOV7 z+$e};dhCYO15_akSyP|E%nDEiDGv}|lG=&|zvpu%+s`0vz=N`?hsbxS%rd+Lk(o4j ztA?Zd_a4}HXzvj*Pq}sL8g#7rhwo^h5clGD-@fwtwVN+`lozS%4s>iw`Qov#x*F%5r6-(6RlLM@ygnQ5pLAR~YpGjJiG_ zHM9Io{`ZWUqQZw#rV1dW)W9xNUw4oCejuwC2&3jw>8??$h`cb&^0S6gg1l~=HICJ9 z8T7Y{K_wsx?lqa z1^OFc${MMWr7+a6H`6BS?iZ#vOwgsoEkAyME;BYeAr1$>ZdpKuEZkgX@ncjcFYng_JaU(CD#&gS*mDoaHB8-I1 z>}0t{pOI<{W2Lw{9sO|3GcBwKcK@Ouwz+8abo$QerygyxbfE08Jk8A@Obr^%5ca$|{?QbN{$zh|-Zn0{-s(X@&3 zPM5y+(fY}uJ5C7eMhD-KJTu(OW|kZ0TNxe0J=esqq+Aj~hO5pa%6a&zX_7{D7Fm(^ zJr`8xFzWsbJWzK(FxcXyClB*38_WoHtBKzu zS!7cyOVTWjEl|4_sNI7~$rC>fiEG(q*D0m9lcZOnO6kz+` zR0*!QK-gUNfQFJHv0;VoYJV|@g^pi@vkoGU_ zYMkNUGa0yZu&5MdOAy!}E$@M|Q*W49qqHJ3-O1YWG%{OdhG> zT9qgGc-}^hli9s7C$XDb5Sq9@!-~Hvw3#J#oIk(%BCzHu*MvEkntIH7OyKGpwxpUC zV53BqNtU^_9wfU=F(#YIjFQp>1b?k4>*02IMryVne#=BbD8!Ch-a}vMI_ko{kOn2~ zV$VY{U_e(*ssXBMi&ws9hOu#%Nh6c)-6lvkVll? z`z&Z)XX8LTopw~l&?~xRP}D$;tpqUP$O?ja{{`A*@TXd$%4ls}`h>5Nk#=0OMwk3Y zdwkv>W88=_I=F=l2?vuBBa{V^)f-4M#4`}F^df>)7-6_6jFrt|d@SspfnW&pGi*>D zqSb1Y;WgnxCVjtuX+h<=gMJYy1U)b~~oGG5&yes`bJi$0gggzi)zLGqvT+Ve5$HVExPCq<$;_7N0QE2jUP1(kWpU65tV2{JI!gTg^s?m7lpBVK z?S`NgkB_T*OpA~677V9}(aQQSP%@V-qVa-9r36R+10_lQCypJG)NgnH4gad7ZKj;9 zTzKSweC2FF_sK5*>a77Crt}OvbSP-=AL}Y#**4Tr9V!k8{pIN4Z}CVhrPM(F9Qm4# zu69h-LUPeC`28Yw3yKz?SJg~7oKixNXkw{wusAZ|YG?=v9JCg2jha9c;BfjhDpLh4 zYm=FVUohnv8L0V$zbOmn-q_N0$%$VSozIQk zxPIJ)4(E!xpKX6({JKqJ&gGsj68n0{nKMXXE0-3Hd!p0vvVJEzpPV><`REg!Pn4A% z?{so32#LUI^gygUj8%@Xy-KqU6qzD;2|`cgY2jC*YpR&FxgdwaR{@mN^cV%8YzK0g zO+5Z%nX?T3AL8>_bnFqOl%^{CX&+_Z4rM1DsO+MRl|iS(1YwWcJmc&P2Zc=_DC)*UHA^!E!O-Rt2>AydxmUED@y6d-k{MsL&074UneG<) zr`)aBo><|zDpu*TNGfSfzHwOsG2Wc4_~;OHDM78MWwR_H!yFFoLR**->vKfZF1QC= zgg1hSF^fSz;3A8?<(;rR_@a6z8|*{xWci*4Tx55;pt!Nk39s_uWa3kn?t#(aNO6WU zqXUJVYI$cSZ+n2B#u9@pFNiWvd;>#eFouJskYM>`vDPZ~hlo0?6}`K3&ONbv(4)O% zleB2g*CW^L+E9|a;hX248ozGa^ril>G40bbk8IjBVotMFb(4Fx%XW1WV@ej)Yc!#F z+R6Y!q$8q#M5{&FJ)5^)Got6Jl;TZm_O#gArMOdgLYyrwEUe9j#T|O5g_l&swW!x1 zIxM;$Tcb(RH^L^F)%fdK#(SwYJ262bz_%=bd0CJpxcO@DgM`{)Fb~N{ zhp!D+0gS~X#9$@ezLJe^+?X}_tJgR6D%tSbmy>6G`_`sj)nD$Teg{i?Kd$_?Z@XuI zY480I{1=^BCwjlF{7eHsdSXt?hRZt@FX&eP?8$bU#GviUZ_mun$ysoL25jF({hywn z$;}iIL%=%A&^&!9n9s*ds0ivFn zBwQ+Whcwg`5S`8PJ*nO&{8{dlP%GZ0_B~p4Ih{+4GgXk)sM=4G2h}Z4eiTmoSD9bP@;ZK|ibYby6Fp zHh72p7xXFp6iO3TDgU8Cx9V@o%A$>DD{e|Q(D9AvI)}1USsb7BUVgszJDapo2qAP4 zn_>Tv+J!uVj)m_hSX(I^+B{!yvY$)5ElPI8%hbFIL8`U;M~{2~R#bAKZ0e z+ETl#aliT-X2!;*{Et#a^lROxUsL7nN0fo$yUI_M>r9a)#fRE{(IOL09XTO?E>6;w zf)i0m$1GVS!|{W=KNJ=QlRjz>rPZDxPI5Qbl}?+6-8Dv>Dts>gfF&>!X3uaqpOt8$ zE<{*a$(fn8$+9??V9bnFRrPmO+p4O%=70AjCFjo0oh|G3j2pLStnxIK&Yhb(`)RH} z!R{{UES??0s%()dgUaAGHMAYk^HdtmM`;Xe>?eeGOY#b2L{=ERh9J~Iup$VrIcG|n zBwkYb(ml$6CCWg$WAUn0V%REW5Z$qg?qZvGp|DgKt_va21kr<#U}idk%iv!i!^a9F zH1pR&UE%RbYJo&Xw#;*inq$PvjO{{&Qa7*pn1(H^ZJLj4+PTi0;vsV#sbyVVsNq>U zxw!QLSKl@d)pfVhNNw#3vW*Bv{ zw?-9u9&%VHVlgFE-xC)lbz`C<(S9C+d}kbu;~6*~RbB&$MaERN%t%WG;dDUv;*6w8 z*#lShAHTV3UP)Gd_tqr?%NjR0)=pksT#?#p@tAqpt_@Sy4XY?FYTKpl>^ZGkvYDDK zeI;ahYatlNprezJyJ{gE79mTyFzzW`If5JWaZiwEkhoJ90bW541Pjb6+lC+^A&Ns; zQJXpt0V@dzG?JN|tW8Tc!DVBKHoKK=Bhc?pX?C77b^GlZa;NM zi+O*(sZ0O!O-9{Dp$TUCcg)g%+_0%?!j?yA@W%)C{_~%Q_JWRb=*@M|n_xibP2~M4 z^d^PgL`Mq$E`%xX&PJ`M=MmwE^2st9to*)2NK!_|)2Vc#LmA-x4Lfxj^x$v00L+mM zr#sXob6iF?Q!J{0%0Vh~bC!*?KA$-F&OHOD-VctnUM@C(#gUQI>7;!4&q(t6`v>}C z0-O(kg_f86b&~fU4vEGfR)rA}ZbAhw^Y$!(*1Ok&I^gKBRz(|*k%04*X3X*}k92XQ zGL253($9Z{XHj*?K`b0ME-625f4|Y2gX`7p;v81L6urw@LsOBz^#F0GGKEf`I>2xEog;Hg(({X2_qo^vqPSVl;#3IfA$!Iy zI6{ZhM$O!f*jzVweGqu>s|l|Qd0afNV$zuj?Il%nb8DlMJ(Y0q;bPd;`+GLCVGozEVB^T%v3%Wfaa1eo`=jfEXU_J-TB>Fy`dKb*pdtvAh za{Djw6dIj$1PPOG)W##7sJZl8Pk`rrSgmZM_T`;c!&oFvQPOc3jCo>pGuwvA@ z9@E9bb}*B%r_Eps$W!KgI&o1%#eXr(7M4kOINRJz%79b-)Nu8ZfoHV?e_Mq9g;e9qB0 zf6v;fFzVXvpOI6XBm8adNe#`Y)qgvzoD}P&4i@+D#?{EBU~-y_~IA_rzSjCz^QY%(o|acZWK!X!~P(G}Q~^+oLKBpI2c5 zpVt}~?>hTn=n%T?FY&1Koa6NP@Z3X>x<~i(xz}KPb59}N&xn=icMm{^Es{sD9`IeY zA8b^ttW<6(w<>9ja&-jG;4zO-uF|l9w3+hiK-z(J>aV;)oA*~(b@3QaxcsedJ8Xwo zWR6<6ng;nJvK42K4M&BJ4Q3;%8Uq6a(vsO+EwH9M>V<{XLSZ=Ir=BC(2@6a{w3)Yb zs9|V+{slS;oD?FNAM`?LSQ^&WNPn9-;KX^>^)hp0>Ab#skMmBL@k8mNt^?f4Z&M}- z?Ubx8-C*j8*OPzfNr(PU(f$(quav93mEE^^PfVoTFq}2WTvWd6BsIFT!@?UrW?{W~ z=YY0ntN9uBg57V5=IFxd_RUy~vHS=dMG0COJuNKZmp#TizGS-LEIBq6DVv=RCySnUup8-9L%p?;z9 zcC#av9kO6&?Hmrfh$yz5HDR)*6imfz+U4*Y%Ht zy!`L?f6yzB;VF~wh?VFx$z*4M)WeJ;pQa_YgHR*}8GzzduHY%jNP}_?4+|xkG!usb z@M=#4e_`}ysf|P^c5@(`#)3}hU(>V37=#DyS)w>_RQiBk)1te#jvSPgvT&gC&A~6e zdiEP*qN7cN9$|?y`d4;r)NJ^|9?Bu(`r*A(`*dm6-qN&H^Gs__y)KPQhAA)J`9cc& z_w6Tl)oa_Ve&guWps2j2-3mr$mn|twT#p&%Rp7cZV6qZ)w4+&RvU{ntTq<;7}Kw0f#;VR7~!1fm)bD8_ql#e zlQL?PK&d`88S1iKFcOHl?FAH)!)jxV=?PdV#15fF zOIRn99s*ad56$sMDqD~W0)kMJruLq*5LOZ~h{TY`7WZ%5!CFiH270Tnwf*m+SMMe?$S*%?YiCL)b*Rznh8sC*s?aRzuuTP=Y z1>!PN6|6j&=~scbB5>T^c*(m zxi;~wKN>OPa9GAOV+XJASwDB25)!m-bFU*g>07Q}n%Vz1p(4ir@Xj~fLjodkQx`00QNXlt zUnQT_%rk3?eC@dgj_=^xqt~=u!7IGgUEG)LzfL{~?=Ds$)LlHD@8TL5?=JSiz}DL0 z`3pSS9^KFPsD`Izk9r2e)@lrDV7Ge$Ii6eh(X$Bhu~gR&a%WN;lPNV28Z{nfjZr`_ zORMvPv3TCVlWwZic#1hS8Xhk-&=4h_Yf_mm9ku)o$Z?m6dE5}P7MR&M7nsPeWe)EGiZVtlwQq=B&k${N(R z09L5(Jv=8xaHiT4oiG)gX|@EL-pmf7RC7p34+(v?oX*`bYWoundn_2Yc23d1lv~OF zy7~E9YESv;kN)LtX1zRf>MOI`Y30JjU4FKlr=3)fk86K!)$6+Fwec$Ko%%(F=NB!Ccr&jj>gOh0HCKwJ0C?1P7(!`FV z#?M4SZ+Wkg`J>0rK!NY@656Fz=e?1H@qzDxYIBh?*%{nOHZtM0EIls^xl z;@2S_kGT2D?^Wm-^hAIA3fx$56R!tUrBqKQU3%TeCn|)>CzYH}YGAy4;)4O7tmk}E z1LKu;97f}Toty_W7%vZi8eX}^+;lF!fTa8{D9 zRyh_D0&cnHt+75JN#ga>W>!~i_FD^U}fA(AYYmPOGzCoY|zu`2ny%VGC!bv17+r-DDPTa!)~)nw2Eg5or9ugL6Jx z^xhap=MkHF|M*$k$~Fy5F|H}yNA2jG*md3>_d4BTTHk%~BHiHGS$c5em^MqZdQF

dtl|pdj3%E0K#XrDt9!EsK$=Upgqdb(9lW4qQ;IoX)r3De=!)c+Vg5{Jf2s* zc$9K>$_!wJiz&olszr@KqedwcKV$lt4j25fqMRB~36EC#Nb_E9a__|#C81tV2{KPy zpz&Z+&Vx0&-OKMjJn*J0+?%SwGex7)iwE|1f3~w~uy}Wbip35pE9r+c7cezga%*Fe zcX60F&ue$#c};_;ae^onta(84!I1gGoc&@`={Dwr3 zWb&~q(B>~7k&tZ+5yY0ND33$wBa#_h0r~lHQ4U80?g;Am4X6)RQ_ZZ5>Ayj$$!sQl z5+8(<&4q@T$x+G7kTRQCF9A%J2pSQPRXZD})ideQ*$d;d-&8!RG%exMv<8n?nsPj{DoxLFX#!*l)gDdV2P{{KDuLB^ zcWEXEAVH&-{E$>(X1?04$+iMl;99$;zqehpQ4RFneVY%t13qeYHtXEXZk^rQm2-dp zW+00I{V)BS6ek7#A9^@xz0oi3`#&{u`n{n9(Vv;NW|BHiDtv3$PhwcoA|j>OvLcawJK(4JF!XiJ12YhJ}EX~-=%5Fhcrpac6XAd z4gVGYhTlPl2Sh0me}F8GAvn(_CQu-Hv=Qh80X65~OPsw0qV#&MKhzFyG!rCR;#ii} z=oiWk15!mBtKZ;3I~Kh|+#P`h8hNm+>>v$QZm#+L;J$&L!1DKAg-=kD;zen?P={c|8 z<9Qq~V;}`#6)Cp~lYAuIn-d!HZB zjI50Hc0_|uSL5upPgF_ZiRY4_A?Ud)8|x`W*YsXhmnh#eT|x(YVSKvesCzv-Z;i|D zr${;o=ZoYeQiFBI+;xCUryI25KDrQ4I6J9u!ufIoeLq#fH^F{+rmuEX5FolJ%=^xqqc)@6azI6`j;g(bGTOA1Y5@Rb`%d zjg1tZ;aYCFH}a0cXSuVk=|7mvLmuFHx&fnLtE0}w2F9NZk9$2k1&)uSDIW*JbN5JR zv)*g$f~sM$8V-IvR-FkZeK*NpavQjb^gC=|A0?94vIiw%6V*15 zLBGua(icziQPNkNb6}awu}l#ltKr2kEZ7m4=?}rBK?MC>K{!JbvXP)^g!iLkPoVCs zD?$x{g3DyJ;OHPz20Mc; zO^GOlx<`1mT(-L6LMy)FzD%cY#aA&cr}=7Ixv%Dng?av{S#frX9$)dV`HC|qXqWi3*2U_p~cG=@YIl<f7q{p7z!y#P=>v{M)d%zx*9Q!X%I99oPsO8JexGuE;KSq72P&S&G47G* zKNbapGf%BRoNqxFeP2reD^wLDZ zZK{uQBO{s-B<;{J*S%K^{0hs<+WdTN}n zWh|I#w8`xeFcsQdc1 z?(yv}(Lw*YLQ7syejleiq5L}f!ebNK(j4{ZU?wn54*3Jb-nnGmq7j=SwBO7FYCvA=>G~@lL7dzpga}uU!k;|Ky;lLgI}u_ zSt!nGnCwi5XyjAXWkG5CF>iZT_@zqgizU%hdm&$=E5h`#2XL8IRRoLRmPG(xQu1a z0hcyD8M_V=6sJ*g33{4KP==?r1YPf5&rTa)5M&33U|4EH_-KKQP3JPUh8C}kT?TRU zA!tdYL+diHxP}t1ghl*NnyUYq+X<)W3czG~siiA4na0l*(6mMaKBAsp7~hDzFo@pu zU{9)n@I6V%XQx`?NmFS*o&)qf$>YrdRv=G^6ATy(xx!&;@OWW-6hm)(Oqbt9@$!2p z#<(9sjb0hT&Zp$mgnJZV$?}a!(Xd1-h3pIh#Bir}{}vFeB12urZ#4)#_@OPgCx?>t zd<}e9sCNx;k^$aX(Fsoq5x$rD!T#~#k@{(P)JhVyDySFtpPG7~<@KM`%!8IUI?4Sf zEgw+hKdIF(s=g#oaec|~aIVqxrJ7aXac5%Y`qGERr!Q4%%D{W&v^&?AK5D%FlSYlI zFCXXn(uc>VFF77R#>2ztFY;N;poT{{C!f_uu4Y2s=P>!a7DB^=4rN{ofnBH4!}TuR z$Mvock5BKac(~pr3fH?nJgVMhc$7kRswkc{931#_4L$Un=VvcH;6R-Bz+lKXo?BQg z4G&;$X)u^l{il4@hX`uDSaa`c`BojijV_Jt8Q4E-xpjm0?P%Pi?Fdk$)dumH1FJEr zsSWaSk2k}EeKmsZtD5}I-B@@P5_y|fA!%4@s*u!^E>*cjcXPRgHdoC8^2)6u$gOVL zE|1{5ob?;rEw`{6rG9!f!nmBrzH0DzV_zJP7J-*|?5hTkH}<9CQDcLz@qJT+$2)Q_ zJ=nu8Hu4%QeB`jbqm?btU+Q&bDF>ozHv+jlQd7*th-}(h|9?Oz0 za6BEocziI&JW29urfEn+(an7#cukB3#b55oKhMAG^EL43=W!n@zs84R@SY_7BPt%8 z56XNiSoA6$eWr@%uFqEiKXM;NPEj1lm@s4$r%L~xE~(Noo?_j0r^DhwZZ3g>8qPwwGp5uS=g&t%IeGLp*{mZ<}t zS~h(tGF<0j(iD) zyf|n9ZysPBX88|ot@d+jH2bU8>|ngNKno*gHCCLLmKqH?iX7pzJX}L!W^{~}2k1w3>bA-^v2B!2oK0;XoxrN;V(wNtkMh5#hK^MelYX05ve zjr5*F4iR=uzUzp?7omA7rK`e|x(cWj;8xE`2LFm0Ne=;E`WMYT1E9tT#*$%1mZ<{y1*N`*$6c^LFoEc;N$Gh4LD0s?5N> zvt^4gNoPguu#Nf}sSuQPu$zmRE67jOVTY~@6v)6l?93T{*q1=s@`J|w4eZr{>?mP= z?hH-=4%sjvZ$j6Jn`O)5Y3)08YCm-eA7G@q@o6;Gjr8AyhS6;Dh z?XdE7^y=I`eO;}4Z>?CrzM_271~$Eulrnl5b(SHlS{czbG?3yOI{`>2hqA{XdH6wS zAz+d1CIRSHLswV`&U&P&SyuKG6f38(ax|LPtguVB9-}UfJDsJxXP+2bRghe~v;*3wyQ5#rhSMk2FG}j^7}`2z#$;#yw5&nh8#f*lKcOrI3RytM=Xb*Ey5`U% z{Pa)t4b3(S1f1D3NK3%i{PT^1Wa#FJUBQwYbk-$P8ADE642-MY z1L%5Bcg)vcclWamw7TE^RRI4<31&00%kzh9lm;Mg*36ZO7?3Ukha9mJzi>((-tx){ zEm#nYpOEJ(f5*(lkZ7~n;s`VO;Y2Bv10VwAWhxWib?C^ns1>=g@vLAl$EBtfI4im- zBkGo|udr+9UQ zW-U^xP2;t$`RUvGR?yp(^cWoqx!2wYGgR|Wp#M>sqGqUF91m=)d+@-nlIm%ACU88k zt2CHec*Lt3J<~WIX#0Ec#DQgA(C0IH$X@P!u#+oPnkQ=X9LJoF(CB%V<7w=J@s4X1 zU=GN;7#`s*?lly8VSIH7YoT#9JoE&|gY9|`J^W-&6%XCZ@f3Mse0bCdLI$719kfi- zPb$r28qGYOq2USVc$kLbFg`qb(9>3%pAt?_jrZ>z7eB{Px0uh*T5_Vco;ra?K^Nj5 zyvfgCDYq5sa9`+Q-XyF9(v}uI*qhYw@Qja`$t~g1uy?AWO;B z98_n52+>YwVeh~uIH}HMz?5mZS|)DhES}g0Sgt7bK*s|7_6Wy^bMIIrHUPlX@Bn0%htTPSRUZ6zX*a9y?u7tnkB2nJc!X2@`Fhe; zr68o1PEk+aL*ki_3O_)bs(aYL9`Kq;iUHd3Mb9pp*juT;a7sUQsNUycyuzOUkI!Qh z$~4P@vYm?_@AKG_yPt-65zg{?(UZTgtGqa8_1?YUw;lfn4e zgMn9b2N_(zkApVVo>+Xx32W*zP^XRbC3_Bk)^_D>oUQf`+K@kwHc&2)rbCy|SC`ZN z%I@V#vn9$_Jb4M-DSU#rv;`3U#%wib8BAR9ar_gddl_ z_R``dmtJPvk9U5{<@}xB7HG=3T2>4C6nmt=Ptpr`aW~9WcAyo{UEOm3xT|_9}7j8^!gc(({$yPMr-S4Z$f3PLf7)P$6_swZ5C6<)7lvZ$BIdq_+fyh?1vxgQ4{zJk(TDsl)`F+Y7K^>MS8waqv!q91&k|uo|MH3f{VRqJ*}ebZp2zk+UcGnu zw(TocJ-SQI+z!qM`0w+uF$ z7zP;CII!Z+AD3VIa+#2;jH2u43Wfn%OiDu3QG2&M%c1fka>8`J;>-vuRx~8k@t3AuxA6Y>b z1dx3V{|JAt<|1NuW3bDD|0gi3gg-2_jU`Q##gs85S1lRiZ<}gGgSPk%hN*+#PRkj8 zJ;_a*<~+#tpASv?m>`B|vZ6!hf^FrJ*k#utnY;6w-`FUE7;`re$6 zH`+8-Wpg?<5yfe-IuP^1piKOHdA&E&kHV}Vb;2O9@b>n(i~0Bj`H*HwVJYT>xELua zAUH6{6cZQ{*bRm~GSlfFlqoZv_PBSMea5DsM)a0Va102{)In8XS?JWj8eTIixGA{$ z!S@y%oWV8ic;;P+PYUcf39j+6-W^wcY-3tRZ+?io?_k5;h2#4A@x_y+fY5O>7oT{1 z#Dtd?eD>DN(2AVNW4A3HFn#~n(mC6o#iwtcjp6ND{8fP}34!I5KtJq7i?z>Wke6mj znP3UbV~|J~{v^y@^mt^p^V`wRYco3Z{C&=Avz;B9(;c<^Q|%98B1b*{WJjbhe^UEJ zfwowirTk5_YMY_I5|MX|0VAo%8)npCT#EOsQc^99XJ8gE1}kBMDhNgs)wKm-oYimB ze(reh%B8Q*Y1ld;`M$5$otVn)-Puww<@regk?W7YU|+4dZ*zTzalP}(mA1z6m3t@e z=M1}KFPr~QT=>tMpW?K;>Q=5gyX?_}gem&1;zg)45j)U%9VDa2WLpi>fOH(J+yLcB z!P~htM&jq(n8;mxW1rA5ckYcBMvvB@yRFVH(!_vHI;;#988r=*uiF4XdI>e0* zP2SIMYfk@6eUu94HnCOH4&AS9g@nYIHBmnCzq7L* zwiXH}J>Gu3{T!84tc(%w)wZFQ+Ez3tl^fW+AwD*^dywce%Q;|;v-L4Z<^SY7pl!Rh zOIRDV(AF{iRUZ3MVD_6+yH2>y!eNyuiFv6jUaOBRBY8Wu12-s z4ccopu0@dQl1J^j<6CAPy}SPXxlPZEII(%*`x7S|yXVW*hVG~xZX?|eQ4#KLpa|A36 ze~y}ITLXxGnn3I;)V(|Y&y#6nk_MOUXD*b}CEmpu^GD_O%$i)@r?;AvE(%F|$v(O*moqQ#rQJRZfwyMx_p zI#FO81z&9Fv3YLZqCxuP(D-nvr(Z#3R9(;e@0tF>+_DGyOb&l^Zoh@Y%Eu)XR2u60 ze3QSda?ZdOE?io6e6IoVw>b~mb5e6TSd7B}LJf?>{FY~SMCy^Xu5>-fvYS@WGYbll*_oF+YQ z6kiT-e!tTB;S%SEAzb7VE@dT2as%@c6EzaPmXRcT>9E8B9EKGfTqMh4VEb%gU5BsW z*Pg>I*~0y84EOV+&gPEwt5zZP0;INKLnOhK8r?8z2S^r7>HBb^t-Zh?Y;2##|Gak9 zDnWVFDONfowr~rPwo>^}jM63}WdKUX-acwtYP2j~D})6Fb5I!^-zWEC4lFDcE%?!R z`F`#>=g{fSN=}~I#2sqt$z54-#yK$G8Lug8KiU4FkR)K>gM+*>%~0&*6VHYh42|uM zSr~EQq|NgJ@xJfp1&awxhbcBXU2wj-k25!fIs&kg?wT3Qv6$#6Lqw0TkXt67VEbQ8 ztfrT<$4V}=T9@s8Ncey`wFGEi@vwWdA7@0D{eF@V`1fDz{nK^-AM6L@-Ux_?7G=U= zEn|^PVtEC$Zzp}wqRnpfdaogvC`6_QfbbAZDMs}%Pf@i)z!;hGK&r^Vz;I(MdY>@L zqE0Brn*pYtqPuBOQB)qCU96orxO1lvTeWmjdC2(K%!G(QObVT_2fH7?yl0PaYF_V! zTWX@0dIv*6%&aU}`3aHCd;(w!>s@*NBE6v4s z^=x7ClVeGiggEzHLYf`x3o4{~Q^z*Rs}Ib!k)FWDqgvObaS!d&H0nN>P$Ob#LSf$o zDa;=Rv2wwCb9^tvTudUMNDnnE*t=J@JDx|@3!d0&%{A>f?K|3Ubv3#dbyvMoy~@3s zy&lpB>EF}e@E-2H&HED{jgQ%9h0pUoZ~9#D4faj-ZS;NI_e;MRzeRo@c1!Cvyxa0_ zd;L@WC-|@Qcldwg|3iRZKw7|{fQG=Rz#W1A3K|pidN3cnA^6Y1mqXG*ri45h>Kj@a zx-%>??1`}NyH|97wELy-Ug6c@tHY0kf7c_s$G9GQdi>PmC+q+=qUVbdJtHPWY>cdr zT-IxiA=WV5FvqYi>QK}vNsw}-d!&=ncSgyWYaC^~&-j+{o9No;f0=fh+Dz}8&X~S8 zIb#B1qGOiFY>wF-b13G6n9pN=#CUU1Y)tID*wwLHWB10s5&L26*KyjornseXo8orG zwZ*-Uh0%A%FN|Lkzb$@W{E_&N60#BoCDbG|B`i(Yl&~w|V8XG4PZQ@SKA8AK;){uI zCZ0?@Z%#6AH}5yUW&YUwck@q{ot6WZw=JhE|82Qu)muZY@zyNsAZv}a$-30K$@;YQ zp!HZ%ucQx>&Ln-GRzwcXpKk9qF@0Cn#W_V^|W=`gi z%n6yZGM8s=&U_~G<;*{2ewO(|rqdQ+i?(IhN^MoPskVD<>ugWi4%ptcePa8@c0J1{ zt5;TXR{yLKSrfC4WPOzNx2&t#e0I0&p4oBPY1w(%1G7hG*JU?n-=FW+vdx}5G)`(4P ztoSJ#k99+nHSe*zxo6oD-j3}>?HH*a&ML)8Y!Y{!P3NCtqq!g1QsEFwL;UIdY!)ll zuraVGFa;y=jpE~Mp}3z-79-h2aXZ|#YWz*SmbHjm;6Kh*h>x*3f}NG?!q^NA_MXvb z**=Xon~4$red2svf$$$>vos&FeS9Qq^a<40`sMAKweAuY{fvrb=>qQ6RI^e#> zYWaU4{VSl=Q5Go<1|4*YqAg{?qLD=jPP{ueuo3(h7=?=B%J{F@1o0cpRd>@~9Ex%p z*$8n7%M@p@9zqCLh@S6Sj5y5GrLws~JZSwbX!$2LT{yrRbrPE^#xYqK3j7b?d+iO_ zPrVE)rb{qZWWjg4Q?SE1lFjC;*&<;DEL&b?leFb*5v}zv)80NyaoUvn;rwpzTiJHxusja2J5) zL2$o<8v=RpA|4PO#6s34tY(lG9&vML&ceL7N}KqKJP) z!`ofr9ntf4S9h2-=kD!&1{24W>1m6B%P(|OVU};m!z{uH>&yxdQsI)Zk~`{B>H>k zc)Lq&Q*9TqY>oaNwuW=EW!yE4&Rk=Qg*3KIh+wOPbij?QOlV`%gnIU%<^#6WOF_LG z*#dqFyBE4E7ka2he3ebnh2VW~2>LsRjeu-FjQUoHM_92gm_5M1%6j8p+iLMy$k`6o zfNOy`k5y_CpmPgYi1=6h_u%lt%5?U^z}h`ZtMZB0HP_pY-dnB%y-iNo!fn78KZez^ zkK?=B+V(el8lW1^WJ(?QkH!}p>;9X^SWpd{wMsv8`2M?Fh zhTx8xz!fkUQ=FCb}Mt0;Yyieac+06b2d1~JI6W8JLK~- z&QCdCc|P;J>3qcb;IEahA3oQ7Zq~V(=VqL1JXe2i?750_rmw#LYW~^B&OUN>?b(OU zt~|T!?A)`}XA95ffA*Pn_w76cMgN};nOS71c9K=*EYd_tJ~B)eIg};5oD{bmSpb|`$V}ndA&;{IfZ}}ig9FEl{86eX|W^9u&P>wNNOa4 z`V!Q)Hlh~84iPdlS67>4Hms_ly4ou9776)?v368JQ#7nf)|d)qt*J1=XsnjGTB|Hr zOsJ1E(V?j;l<3I;7|~BO0xXhRq!wi7NYTW$46mvk7GbZbt}<2QS;2@ZJcyv$yNj~Q zqDA&X-a1^2t|D1iG`vdoDl#7c(Ti#e<*S2QO;*|4;$VJ7qpBQ!enrT%P}ZBP2^l`N z(2a+~8?eI%H<=4FNvH_wh8SXOVGAgR9K8~aCZzSi;E9?Zd8p5-QNJ?Os;pLCTGvSj z2Zqc{#WGhUv%CZNqYIK*Wgk>WQ!=uO$$q9nsTR2&?1s%4F}JF)rPkpsn&m0xh-hHt zi-Yi(r6My9?m|u?=X3&p?#Y#z1nc9~4*z%T^GEk9LouP?)K-Ru+pOqi7t=>{32_QSC&NEEL%%Lg@J-dj#OxYP11Fv!h@r zIa8_K7GXj@rNlXXk(w8>aAk!O(8%EdIn1&KEkZ+Skq)X2EuV779V#utWUTJY5sXVB zeDFe%HF0iyOu0ZaSq+x;XdjYPY68j3;J;N)QPD@ucsF&}$f_hM7s}TqQErN$_?zU5 zMPpvX{{BtQd!^TA1SZ*V{NH^TctzPXTKIRSC_s3CnVven!Ip(5#NLCg9Deqd*k9F4@ID7(G@ zMpJeKR8n>XR8e*WWU722sr9gtBoeJ#N0%1BN!!=HVdJpl$L-pN=v{1N=raCF~CR?M!30&bd%=8DTi!CtDqbR7(qD@Fp_d0 zAfISn0?tXLctLrnTy2q)ZdPOrdE_)i9;-s>fNE4$Avgn`aTYoGX6*6gQDaX~A&OnA zLKM|*kyCC)ts{>bwO)lN>O>Wys0|i5^=8ybxmFs*2IXoX@&47VDcmx9$*sxOXw=r6duWZmr$r>v62wGNHC z;NrF}jq5Vo@-HUr~t3)yTog-ymkkY+~qxa(O0+%$~Fr{Zn_JQ|~Evsn{j zH^J8*J8;?AbT&tgJk*Q~=3=fe z1@O6``GBHOCwEi94Z0-OS+iTq_0+}=4%(3)$y=Q&5yXFwL=!bj(MpEHwWDs?aH(xIqgL50 z8Rs0-gxcIpgv~*TREI{mGY~o%&+kI|!T+Z;?ynNiJHLKlQV#z6`>X$!ece%L42|QS z!L^&)LomXUkLEJ1h~R*{v%W*W?(Fn?t*3sjmhx3NW;%B@vwh*_fi zfP1NO8TT^fBJLG{Dek+hT=@(91C>i^=yzC%f;|rLP5y}HD(jB(-#(Ndl+DUV$_u~{ z|JS-6%2cJ6{K`d?#uThWB=^=s`P$`IPTv|%KIN2pzku%`Ut&cIg{-DK+*e(0*ZZwG zDBmjIb$$9vSoyeX7$|nzp@KA%yXdLsP@Ys4Da}fuvQ0VZimjZ0wEf0G z7!!tcbmjs|TvxtRuDZfI@5F^WKft%2?mRZiC(2&9vlNi^@0HcA*e==ry>v>4as_#J z;lS_4zNGw1S?r3T&?x=y9?Fl()teM_Q}Xu`&@M7}dMMuj%T2EKY~_9i>R-eT{t_t;hT6Ta<+a;aQ7H-a0* zjpoMS+pC?cgH}sNZDOF!FklZ~JWc^MOMq5O!l^+GlQEYm4X1#(>F5b&;1p2fOz2@7 zPCaU#1r3~ylWaicqR&}^(+`*ofc`GW=?{#CVqOwqvojV3QYZg>npgwfiny^zX|vV&M@Hq z7IJt8CkGn5hdb!N0zipi76@vD;*MD+SQuE&VMZ7zGlB`A4t6&Mg+^o4aST>;27*%K zFdf~_*)bcZ4m1k_o%#bKf8ZQ|(-*h|0#6qm<6x(k$DGPU+=*(uN-tiem!MKgR4JuF zUo8ieC3@-5hbjg&OF=I^-b@2Q$6DjoGI9rduJ@jCK%QL`%@-)3(kt&5uPvUdTyXnK?# z1$+!AkAD}ipvq3*e(rrdUhHo_UzyU&=hv^@wUZ6MT8Lbb#Cep{ zCr)7IE;zxfoX~UQx$zh^BpwJ{3)ccJuEhjpSAW7Aw6-xp?K6Z-p4~8wg{VCTjBrr9 xL%&1qD>P1-3=Sf|({rGwm|=x0T6G1$-7qFeeUZB`Q-H^Rp53_9Y(cDo`Cs>A#k>Fj literal 0 HcmV?d00001 diff --git a/assets/fonts/Roboto-Regular.ttf b/assets/fonts/Roboto-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2b6392ffe8712b9c5450733320cd220d6c0f4bce GIT binary patch literal 171272 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/neo-sans-std-medium.OTF b/assets/fonts/neo-sans-std-medium.OTF new file mode 100644 index 0000000000000000000000000000000000000000..2f528df22ea991dacae09e7a2d5a5407d684f8d4 GIT binary patch literal 71048 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 z%0D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 F{{vV5p^X3l literal 0 HcmV?d00001 diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 00000000..12472c5b --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,34 @@ +const gulp = require('gulp') +const sass = require('gulp-sass')(require('sass')) +const cleanCSS = require('gulp-clean-css') + +function reactMount() { + return ( + gulp + .src('./react/styles/scss/*.scss') + .pipe(sass()) + // .pipe(cleanCSS({compatibility: 'ie8'})) + .pipe(gulp.dest('./react/styles/css')) + ) +} + +function mount() { + return ( + gulp + .src('./styles/scss/*.scss') + .pipe(sass()) + // .pipe(cleanCSS({compatibility: 'ie8'})) + .pipe(gulp.dest('./styles/css')) + ) +} + +function watch() { + gulp.watch('./react/styles/scss/*.scss', reactMount) + gulp.watch('./styles/scss/*.scss', mount) + // gulp.watch(cleanCSS({compatibility: 'ie8'})); + gulp.watch('./styles/scss/**/*.scss', mount) +} + +exports.watch = watch +exports.mount = mount +exports.mount = reactMount diff --git a/manifest.json b/manifest.json index 78cd80e4..5b48347d 100644 --- a/manifest.json +++ b/manifest.json @@ -1,11 +1,13 @@ { - "vendor": "vtex", - "name": "minimumtheme", - "version": "0.1.1", + "vendor": "roland", + "name": "store-theme", + "version": "0.0.1", "builders": { "styles": "2.x", "store": "0.x", - "docs": "0.x" + "docs": "0.x", + "assets": "0.x", + "react": "3.x" }, "scripts": { "postreleasy": "vtex publish --verbose" @@ -44,7 +46,8 @@ "vtex.iframe": "0.x", "vtex.breadcrumb": "1.x", "vtex.sticky-layout": "0.x", - "vtex.add-to-cart-button": "0.x" + "vtex.add-to-cart-button": "0.x", + "vtex.list-context": "0.x" }, "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema" } diff --git a/package.json b/package.json new file mode 100644 index 00000000..6256ae85 --- /dev/null +++ b/package.json @@ -0,0 +1,50 @@ +{ + "name": "liz-store", + "private": true, + "license": "UNLICENSED", + "scripts": { + "lint": "eslint --ext js,jsx,ts,tsx .", + "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"", + "build": "gulp mount && gulp watch" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{ts,js,tsx,jsx}": [ + "eslint --fix", + "prettier --write" + ], + "*.{json,graphql,gql}": [ + "prettier --write" + ] + }, + "devDependencies": { + "@types/node": "^12.12.21", + "@vtex/prettier-config": "^0.3.6", + "babel-eslint": "^10.1.0", + "commitizen": "^4.2.4", + "eslint": "^7.16.0", + "eslint-config-vtex": "^12.9.3", + "eslint-config-vtex-react": "^6.7.0", + "gulp": "^4.0.2", + "gulp-clean-css": "^4.3.0", + "gulp-sass": "^5.1.0", + "husky": "^4.3.6", + "lint-staged": "^10.5.3", + "prettier": "^2.2.1", + "sass": "^1.53.0", + "typescript": "^3.7.5" + }, + "dependencies": { + "date-fns": "^2.29.3", + "formik": "^2.2.9", + "react-input-mask": "^2.0.4", + "react-markdown": "^8.0.3", + "react-slick": "^0.29.0", + "yup": "^1.0.0" + }, + "version": "0.0.0" +} diff --git a/pull_request_template.md b/pull_request_template.md new file mode 100644 index 00000000..d7c72a52 --- /dev/null +++ b/pull_request_template.md @@ -0,0 +1,26 @@ +#### What is the type of problem? + +- [ ] Fix +- [ ] Feature +- [ ] Release +- [ ] Docs + +#### What problem is being solved? + +Footer had broken social networks, with this fix you can see the improvement. + +#### Briefly explain where to validate: + +[WorkSpace](https://liz.myvtex.com) + +#### Screenshot: + +![Image](https://picsum.photos/300/100) + +#### Vídeo + + + +#### Task + +[Task]() diff --git a/react/.eslintrc b/react/.eslintrc new file mode 100644 index 00000000..7a61ae8b --- /dev/null +++ b/react/.eslintrc @@ -0,0 +1,3 @@ +{ + "extends": "vtex-react/io" +} \ No newline at end of file diff --git a/react/package.json b/react/package.json new file mode 100644 index 00000000..c704e9b1 --- /dev/null +++ b/react/package.json @@ -0,0 +1,84 @@ +{ + "name": "react", + "version": "1.0.0", + "scripts": { + "test": "vtex-test-tools test" + }, + "dependencies": { + "@types/react-input-mask": "^3.0.0", + "@types/react-modal": "^3.16.3", + "@types/react-slick": "^0.23.8", + "@vtex/css-handles": "^1.0.0", + "axios": "^0.21.1", + "cep-promise": "^4.1.0", + "classnames": "^2.2.6", + "email-validator": "^2.0.4", + "final-form": "^4.20.2", + "formik": "^2.2.9", + "moment": "^2.29.1", + "ramda": "^0.26.1", + "react": "^16.12.0", + "react-apollo": "^3.1.3", + "react-debounce-input": "^3.2.5", + "react-dom": "^16.12.0", + "react-input-mask": "^2.0.4", + "react-intl": "^3.12.0", + "react-modal": "^3.16.1", + "react-rating-stars-component": "^2.2.0", + "react-router-dom": "^6.21.1", + "react-slick": "^0.28.1", + "slick-carousel": "^1.8.1", + "yup": "^0.32.9" + }, + "devDependencies": { + "@apollo/react-testing": "^3.1.3", + "@types/classnames": "^2.2.7", + "@types/jest": "^24.0.18", + "@types/node": "^12.7.5", + "@types/prop-types": "^15.7.0", + "@types/ramda": "^0.26.5", + "@types/react": "^16.9.31", + "@types/yup": "^0.29.11", + "@vtex/test-tools": "^3.3.2", + "@vtex/tsconfig": "^0.4.4", + "apollo-cache-inmemory": "^1.6.5", + "apollo-client": "^2.5.1", + "graphql": "^14.6.0", + "typescript": "3.9.7", + "vtex.add-to-cart-button": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button", + "vtex.breadcrumb": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb", + "vtex.carousel": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.carousel@2.12.1/public/@types/vtex.carousel", + "vtex.flex-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.flex-layout@0.21.3/public/@types/vtex.flex-layout", + "vtex.iframe": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.iframe@0.8.0/public/@types/vtex.iframe", + "vtex.locale-switcher": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.locale-switcher@0.5.6/public/@types/vtex.locale-switcher", + "vtex.login": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.login@2.59.0/public/@types/vtex.login", + "vtex.menu": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.menu@2.35.1/public/@types/vtex.menu", + "vtex.minicart": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.minicart@2.67.1/public/@types/vtex.minicart", + "vtex.my-account": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.my-account@1.27.1/public/@types/vtex.my-account", + "vtex.order-placed": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-placed@2.17.2/public/@types/vtex.order-placed", + "vtex.product-details": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-details@1.22.0/public/@types/vtex.product-details", + "vtex.product-identifier": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-identifier@0.5.0/public/@types/vtex.product-identifier", + "vtex.product-kit": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-kit@1.10.2/public/_types/react", + "vtex.product-quantity": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-quantity@1.9.0/public/@types/vtex.product-quantity", + "vtex.product-review-interfaces": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-review-interfaces@1.0.2/public/_types/react", + "vtex.product-specification-badges": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-specification-badges@0.3.0/public/@types/vtex.product-specification-badges", + "vtex.product-summary": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-summary@2.89.0/public/@types/vtex.product-summary", + "vtex.render-runtime": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.render-runtime@8.134.2/public/@types/vtex.render-runtime", + "vtex.responsive-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.responsive-layout@0.1.4/public/@types/vtex.responsive-layout", + "vtex.rich-text": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.rich-text@0.16.0/public/@types/vtex.rich-text", + "vtex.search-result": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.search-result@3.132.1/public/@types/vtex.search-result", + "vtex.shelf": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.shelf@1.48.0/public/@types/vtex.shelf", + "vtex.slider": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.slider@0.8.3/public/@types/vtex.slider", + "vtex.slider-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.slider-layout@0.24.4/public/@types/vtex.slider-layout", + "vtex.stack-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.stack-layout@0.1.1/public/@types/vtex.stack-layout", + "vtex.sticky-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.sticky-layout@0.3.4/public/@types/vtex.sticky-layout", + "vtex.store": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store@2.135.0/public/@types/vtex.store", + "vtex.store-components": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-components@3.172.2/public/@types/vtex.store-components", + "vtex.store-drawer": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-drawer@0.17.1/public/@types/vtex.store-drawer", + "vtex.store-footer": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-footer@2.27.0/public/@types/vtex.store-footer", + "vtex.store-header": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-header@2.29.0/public/@types/vtex.store-header", + "vtex.styleguide": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.146.9/public/@types/vtex.styleguide", + "vtex.tab-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.tab-layout@0.4.6/public/@types/vtex.tab-layout", + "vtex.telemarketing": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.telemarketing@2.12.1/public/@types/vtex.telemarketing" + } +} diff --git a/react/tsconfig.json b/react/tsconfig.json new file mode 100644 index 00000000..c2085e4f --- /dev/null +++ b/react/tsconfig.json @@ -0,0 +1,25 @@ +{ + "extends": "@vtex/tsconfig", + "compilerOptions": { + "jsx": "react", + "noEmitOnError": false, + "typeRoots": [ + "node_modules/@types" + ], + "types": [ + "node", + "jest" + ], + "lib": [ + "DOM" + ], + "module": "esnext", + "moduleResolution": "node", + "target": "es2017" + }, + "include": [ + "./typings/*.d.ts", + "./**/*.tsx", + "./**/*.ts" + ] +} \ No newline at end of file diff --git a/react/typings/alltypes.d.ts b/react/typings/alltypes.d.ts new file mode 100644 index 00000000..fb824e4d --- /dev/null +++ b/react/typings/alltypes.d.ts @@ -0,0 +1 @@ +declare module "react-rating-stars-component"; diff --git a/react/typings/css.d.ts b/react/typings/css.d.ts new file mode 100644 index 00000000..c5862b62 --- /dev/null +++ b/react/typings/css.d.ts @@ -0,0 +1,4 @@ +declare module "*.css" { + const css: any; + export default css; +} diff --git a/react/typings/global.d.ts b/react/typings/global.d.ts new file mode 100644 index 00000000..17b41651 --- /dev/null +++ b/react/typings/global.d.ts @@ -0,0 +1,7 @@ +export interface TimeSplit { + hours: string + minutes: string + seconds: string +} + +type GenericObject = Record diff --git a/react/typings/graphql.d.ts b/react/typings/graphql.d.ts new file mode 100644 index 00000000..84017d38 --- /dev/null +++ b/react/typings/graphql.d.ts @@ -0,0 +1,6 @@ +declare module "*.graphql" { + import { DocumentNode } from "graphql"; + + const value: DocumentNode; + export default value; +} diff --git a/react/typings/order-form.ts b/react/typings/order-form.ts new file mode 100644 index 00000000..93e0fd73 --- /dev/null +++ b/react/typings/order-form.ts @@ -0,0 +1,102 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +interface OrderFormContext { + orderForm: OrderForm; + loading: boolean; + setOrderForm: (orderForm: OrderForm) => void; +} + +interface OrderFormItem { + additionalInfo: ItemAdditionalInfo; + availability: string; + detailUrl: string; + id: string; + imageUrl: string; + listPrice: number; + measurementUnit: string; + name: string; + price: number; + productId: string; + quantity: number; + sellingPrice: number; + skuName: string; + skuSpecifications: SKUSpecification[]; + uniqueId: string; + productCategories: Record; + productCategoryIds: string; + productRefId: string; + refId: string; + parentItemIndex: number | null; +} + +interface ItemAdditionalInfo { + brandName: string; +} + +interface SKUSpecification { + fieldName: string; + fieldValues: string[]; +} + +interface OrderForm { + id: string; + items: OrderFormItem[]; + marketingData: MarketingData; + totalizers: Totalizer[]; + value: number; + messages: OrderFormMessages; + shipping: OrderFormShipping; +} + +interface MarketingData { + coupon: string; +} + +interface Totalizer { + id: string; + name: string; + value: number; +} + +interface OrderFormMessages { + couponMessages: Message[]; + generalMessages: Message[]; +} + +interface Message { + code: string; + status: string; + text: string; +} + +interface OrderFormAddres { + postalCode: string; +} + +interface OrderFormShipping { + selectedAddress: OrderFormAddres; + deliveryOptions: Array; + pickupOptions: Array; +} + +interface OrderFormDelivery { + id: string; + price: number; + estimate: string; +} + +interface OrderFormPickup { + id: string; + address: AddressPickup; + estimate: string; + friendlyName: string; +} + +interface AddressPickup { + addressId: string; + city: string; + neighborhood: string; + number: string; + postalCode: string; + state: string; + street: string; +} diff --git a/react/typings/storefront.d.ts b/react/typings/storefront.d.ts new file mode 100644 index 00000000..4689dc63 --- /dev/null +++ b/react/typings/storefront.d.ts @@ -0,0 +1,15 @@ +import { FunctionComponent } from "react"; + +declare global { + interface StorefrontFunctionComponent

+ extends FunctionComponent

{ + getSchema?(props: P): GenericObject + schema?: GenericObject + } + + interface StorefrontComponent

+ extends Component { + getSchema?(props: P): GenericObject + schema: GenericObject + } +} diff --git a/react/typings/vtex.css-handles.ts b/react/typings/vtex.css-handles.ts new file mode 100644 index 00000000..4f191a00 --- /dev/null +++ b/react/typings/vtex.css-handles.ts @@ -0,0 +1 @@ +declare module "vtex.css-handles" diff --git a/react/typings/vtex.render-runtime.d.ts b/react/typings/vtex.render-runtime.d.ts new file mode 100644 index 00000000..bfb1e97a --- /dev/null +++ b/react/typings/vtex.render-runtime.d.ts @@ -0,0 +1,38 @@ +/* Typings for `render-runtime` */ +declare module "vtex.render-runtime" { + import { ComponentType, ReactElement, ReactType } from "react"; + + export interface NavigationOptions { + page: string + params?: any + } + + export interface RenderContextProps { + runtime: { + navigate: (options: NavigationOptions) => void + } + } + + interface ExtensionPointProps { + id: string + [key: string]: any + } + + export const ExtensionPoint: ComponentType; + + interface ChildBlockProps { + id: string + } + + export const ChildBlock: ComponentType; + export const useChildBlock = () => GenericObject; + + export const Helmet: ReactElement; + export const Link: ReactType; + export const NoSSR: ReactElement; + export const RenderContextConsumer: ReactElement; + export const canUseDOM: boolean; + export const withRuntimeContext: ( + Component: ComponentType + ) => ComponentType; +} diff --git a/react/typings/vtex.styleguide.d.ts b/react/typings/vtex.styleguide.d.ts new file mode 100644 index 00000000..6f1f00a9 --- /dev/null +++ b/react/typings/vtex.styleguide.d.ts @@ -0,0 +1,9 @@ +declare module "vtex.styleguide" { + import { ComponentType } from "react"; + + export const Input: ComponentType; + + interface InputProps { + [key: string]: any + } +} diff --git a/react/yarn.lock b/react/yarn.lock new file mode 100644 index 00000000..4a0d8546 --- /dev/null +++ b/react/yarn.lock @@ -0,0 +1,5900 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@adobe/css-tools@^4.0.1": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" + integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@apollo/react-common@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@apollo/react-common/-/react-common-3.1.4.tgz#ec13c985be23ea8e799c9ea18e696eccc97be345" + integrity sha512-X5Kyro73bthWSCBJUC5XYQqMnG0dLWuDZmVkzog9dynovhfiVCV4kPSdgSIkqnb++cwCzOVuQ4rDKVwo2XRzQA== + dependencies: + ts-invariant "^0.4.4" + tslib "^1.10.0" + +"@apollo/react-components@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@apollo/react-components/-/react-components-3.1.5.tgz#040d2f35ce4947747efe16f76d59dcbd797ffdaf" + integrity sha512-c82VyUuE9VBnJB7bnX+3dmwpIPMhyjMwyoSLyQWPHxz8jK4ak30XszJtqFf4eC4hwvvLYa+Ou6X73Q8V8e2/jg== + dependencies: + "@apollo/react-common" "^3.1.4" + "@apollo/react-hooks" "^3.1.5" + prop-types "^15.7.2" + ts-invariant "^0.4.4" + tslib "^1.10.0" + +"@apollo/react-hoc@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@apollo/react-hoc/-/react-hoc-3.1.5.tgz#6552d2fb4aafc59fdc8f4e353358b98b89cfab6f" + integrity sha512-jlZ2pvEnRevLa54H563BU0/xrYSgWQ72GksarxUzCHQW85nmn9wQln0kLBX7Ua7SBt9WgiuYQXQVechaaCulfQ== + dependencies: + "@apollo/react-common" "^3.1.4" + "@apollo/react-components" "^3.1.5" + hoist-non-react-statics "^3.3.0" + ts-invariant "^0.4.4" + tslib "^1.10.0" + +"@apollo/react-hooks@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@apollo/react-hooks/-/react-hooks-3.1.5.tgz#7e710be52461255ae7fc0b3b9c2ece64299c10e6" + integrity sha512-y0CJ393DLxIIkksRup4nt+vSjxalbZBXnnXxYbviq/woj+zKa431zy0yT4LqyRKpFy9ahMIwxBnBwfwIoupqLQ== + dependencies: + "@apollo/react-common" "^3.1.4" + "@wry/equality" "^0.1.9" + ts-invariant "^0.4.4" + tslib "^1.10.0" + +"@apollo/react-ssr@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@apollo/react-ssr/-/react-ssr-3.1.5.tgz#53703cd493afcde567acc6d5512cab03dafce6de" + integrity sha512-wuLPkKlctNn3u8EU8rlECyktpOUCeekFfb0KhIKknpGY6Lza2Qu0bThx7D9MIbVEzhKadNNrzLcpk0Y8/5UuWg== + dependencies: + "@apollo/react-common" "^3.1.4" + "@apollo/react-hooks" "^3.1.5" + tslib "^1.10.0" + +"@apollo/react-testing@^3.1.3": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@apollo/react-testing/-/react-testing-3.1.4.tgz#f2e1b9b65a0bd773facf54db4fdb5995d162a72a" + integrity sha512-1eKjN36UfIAnBVmfLbl12vQ/eCjTqYdaU95chGIQzT2uHd5BnasJu0z+MwXBrEs57A9WY9mFvLZxdjzQJXaacA== + dependencies: + "@apollo/react-common" "^3.1.4" + fast-json-stable-stringify "^2.0.0" + tslib "^1.10.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" + integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== + +"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.7.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz#7d19da92c7e0cd8d11c09af2ce1b8e7512a6e723" + integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.24.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.23.0", "@babel/helper-member-expression-to-functions@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz#5981e131d5c7003c7d1fa1ad49e86c9b097ec475" + integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + +"@babel/helper-module-transforms@^7.23.3", "@babel/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1" + integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5", "@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + +"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz#335f934c0962e2c1ed1fb9d79e06a56115067c09" + integrity sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw== + dependencies: + "@babel/helper-function-name" "^7.23.0" + "@babel/template" "^7.24.0" + "@babel/types" "^7.24.5" + +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + +"@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz#4c3685eb9cd790bcad2843900fe0250c91ccf895" + integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf" + integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3" + integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988" + integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-proposal-class-properties@^7.10.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" + integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-attributes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093" + integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.24.1", "@babel/plugin-syntax-typescript@^7.3.3": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" + integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-async-generator-functions@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89" + integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4" + integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== + dependencies: + "@babel/helper-module-imports" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380" + integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-block-scoping@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz#89574191397f85661d6f748d4b89ee4d9ee69a2a" + integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-class-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29" + integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-class-static-block@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz#1a4653c0cf8ac46441ec406dece6e9bc590356a4" + integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz#05e04a09df49a46348299a0e24bfd7e901129339" + integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-split-export-declaration" "^7.24.5" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7" + integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/template" "^7.24.0" + +"@babel/plugin-transform-destructuring@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz#80843ee6a520f7362686d1a97a7b53544ede453c" + integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-dotall-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13" + integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-duplicate-keys@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88" + integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-dynamic-import@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd" + integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4" + integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-export-namespace-from@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd" + integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" + integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361" + integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-json-strings@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7" + integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096" + integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-logical-assignment-operators@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40" + integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489" + integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-amd@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39" + integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-commonjs@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9" + integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e" + integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef" + integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34" + integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" + integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8" + integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz#f91bbcb092ff957c54b4091c86bda8372f0b10ef" + integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.24.5" + +"@babel/plugin-transform-object-super@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520" + integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" + +"@babel/plugin-transform-optional-catch-binding@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da" + integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz#a6334bebd7f9dd3df37447880d0bd64b778e600f" + integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz#5c3b23f3a6b8fed090f9b98f2926896d3153cc62" + integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-private-methods@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a" + integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-private-property-in-object@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz#f5d1fcad36e30c960134cb479f1ca98a5b06eda5" + integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825" + integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-display-name@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz#554e3e1a25d181f040cf698b93fd289a03bfdcdb" + integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" + +"@babel/plugin-transform-react-pure-annotations@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz#c86bce22a53956331210d268e49a0ff06e392470" + integrity sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-regenerator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c" + integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1" + integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-runtime@^7.11.0": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz#dc58ad4a31810a890550365cc922e1ff5acb5d7f" + integrity sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ== + dependencies: + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-plugin-utils" "^7.24.0" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.1" + babel-plugin-polyfill-regenerator "^0.6.1" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" + integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391" + integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9" + integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-template-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" + integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-typeof-symbol@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz#703cace5ef74155fb5eecab63cbfc39bdd25fe12" + integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-typescript@^7.24.1": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz#bcba979e462120dc06a75bd34c473a04781931b8" + integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-typescript" "^7.24.1" + +"@babel/plugin-transform-unicode-escapes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4" + integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-property-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e" + integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385" + integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-sets-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f" + integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/preset-env@^7.11.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.5.tgz#6a9ac90bd5a5a9dae502af60dfc58c190551bbcd" + integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== + dependencies: + "@babel/compat-data" "^7.24.4" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.24.1" + "@babel/plugin-syntax-import-attributes" "^7.24.1" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.24.1" + "@babel/plugin-transform-async-generator-functions" "^7.24.3" + "@babel/plugin-transform-async-to-generator" "^7.24.1" + "@babel/plugin-transform-block-scoped-functions" "^7.24.1" + "@babel/plugin-transform-block-scoping" "^7.24.5" + "@babel/plugin-transform-class-properties" "^7.24.1" + "@babel/plugin-transform-class-static-block" "^7.24.4" + "@babel/plugin-transform-classes" "^7.24.5" + "@babel/plugin-transform-computed-properties" "^7.24.1" + "@babel/plugin-transform-destructuring" "^7.24.5" + "@babel/plugin-transform-dotall-regex" "^7.24.1" + "@babel/plugin-transform-duplicate-keys" "^7.24.1" + "@babel/plugin-transform-dynamic-import" "^7.24.1" + "@babel/plugin-transform-exponentiation-operator" "^7.24.1" + "@babel/plugin-transform-export-namespace-from" "^7.24.1" + "@babel/plugin-transform-for-of" "^7.24.1" + "@babel/plugin-transform-function-name" "^7.24.1" + "@babel/plugin-transform-json-strings" "^7.24.1" + "@babel/plugin-transform-literals" "^7.24.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" + "@babel/plugin-transform-member-expression-literals" "^7.24.1" + "@babel/plugin-transform-modules-amd" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-modules-systemjs" "^7.24.1" + "@babel/plugin-transform-modules-umd" "^7.24.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.24.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" + "@babel/plugin-transform-numeric-separator" "^7.24.1" + "@babel/plugin-transform-object-rest-spread" "^7.24.5" + "@babel/plugin-transform-object-super" "^7.24.1" + "@babel/plugin-transform-optional-catch-binding" "^7.24.1" + "@babel/plugin-transform-optional-chaining" "^7.24.5" + "@babel/plugin-transform-parameters" "^7.24.5" + "@babel/plugin-transform-private-methods" "^7.24.1" + "@babel/plugin-transform-private-property-in-object" "^7.24.5" + "@babel/plugin-transform-property-literals" "^7.24.1" + "@babel/plugin-transform-regenerator" "^7.24.1" + "@babel/plugin-transform-reserved-words" "^7.24.1" + "@babel/plugin-transform-shorthand-properties" "^7.24.1" + "@babel/plugin-transform-spread" "^7.24.1" + "@babel/plugin-transform-sticky-regex" "^7.24.1" + "@babel/plugin-transform-template-literals" "^7.24.1" + "@babel/plugin-transform-typeof-symbol" "^7.24.5" + "@babel/plugin-transform-unicode-escapes" "^7.24.1" + "@babel/plugin-transform-unicode-property-regex" "^7.24.1" + "@babel/plugin-transform-unicode-regex" "^7.24.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.10.4": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.1.tgz#2450c2ac5cc498ef6101a6ca5474de251e33aa95" + integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-transform-react-display-name" "^7.24.1" + "@babel/plugin-transform-react-jsx" "^7.23.4" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.24.1" + +"@babel/preset-typescript@^7.10.4": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" + integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-typescript" "^7.24.1" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime-corejs3@^7.10.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.24.5.tgz#d2a5f46a088caf8f3899ad095054f83b0a686194" + integrity sha512-GWO0mgzNMLWaSYM4z4NVIuY0Cd1fl8cPnuetuddu5w/qGuvt5Y7oUi/kvvQGK9xgOkFJDQX2heIvTRn/OQ1XTg== + dependencies: + core-js-pure "^3.30.2" + regenerator-runtime "^0.14.0" + +"@babel/runtime@^7.10.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" + integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== + dependencies: + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@formatjs/intl-displaynames@^1.2.0": + version "1.2.10" + resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-1.2.10.tgz#bb9625cca90b099978cd967c6a98aaf4e23fc878" + integrity sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg== + dependencies: + "@formatjs/intl-utils" "^2.3.0" + +"@formatjs/intl-listformat@^1.4.1": + version "1.4.8" + resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-1.4.8.tgz#70b81005e7dcf74329cb5b314a940ce5fce36cd0" + integrity sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ== + dependencies: + "@formatjs/intl-utils" "^2.3.0" + +"@formatjs/intl-relativetimeformat@^4.5.9": + version "4.5.16" + resolved "https://registry.yarnpkg.com/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.16.tgz#7449cef3213dd66d25924ca41f125f87b58df95a" + integrity sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A== + dependencies: + "@formatjs/intl-utils" "^2.3.0" + +"@formatjs/intl-unified-numberformat@^3.2.0": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz#9995a24568908188e716d81a1de5b702b2ee00e2" + integrity sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag== + dependencies: + "@formatjs/intl-utils" "^2.3.0" + +"@formatjs/intl-utils@^2.2.0", "@formatjs/intl-utils@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz#2dc8c57044de0340eb53a7ba602e59abf80dc799" + integrity sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" + integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== + dependencies: + "@jest/types" "^25.5.0" + chalk "^3.0.0" + jest-message-util "^25.5.0" + jest-util "^25.5.0" + slash "^3.0.0" + +"@jest/core@^25.5.4": + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" + integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== + dependencies: + "@jest/console" "^25.5.0" + "@jest/reporters" "^25.5.1" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^25.5.0" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-resolve-dependencies "^25.5.4" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + jest-watcher "^25.5.0" + micromatch "^4.0.2" + p-each-series "^2.1.0" + realpath-native "^2.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" + integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== + dependencies: + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/fake-timers@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" + integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== + dependencies: + "@jest/types" "^25.5.0" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + lolex "^5.0.0" + +"@jest/globals@^25.5.2": + version "25.5.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" + integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/types" "^25.5.0" + expect "^25.5.0" + +"@jest/reporters@^25.5.1": + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" + integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^25.5.1" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-worker "^25.5.0" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^3.1.0" + terminal-link "^2.0.0" + v8-to-istanbul "^4.1.3" + optionalDependencies: + node-notifier "^6.0.0" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" + integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" + integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== + dependencies: + "@jest/console" "^25.5.0" + "@jest/types" "^25.5.0" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^25.5.4": + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" + integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== + dependencies: + "@jest/test-result" "^25.5.0" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" + +"@jest/transform@^25.5.1": + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" + integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^25.5.0" + babel-plugin-istanbul "^6.0.0" + chalk "^3.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-regex-util "^25.2.6" + jest-util "^25.5.0" + micromatch "^4.0.2" + pirates "^4.0.1" + realpath-native "^2.0.0" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@remix-run/router@1.16.0": + version "1.16.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.0.tgz#0e10181e5fec1434eb071a9bc4bdaac843f16dcc" + integrity sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^1.7.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + dependencies: + type-detect "4.0.8" + +"@testing-library/dom@^7.22.3": + version "7.31.2" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.31.2.tgz#df361db38f5212b88555068ab8119f5d841a8c4a" + integrity sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^4.2.0" + aria-query "^4.2.2" + chalk "^4.1.0" + dom-accessibility-api "^0.5.6" + lz-string "^1.4.4" + pretty-format "^26.6.2" + +"@testing-library/jest-dom@^5.11.2": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz#5e97c8f9a15ccf4656da00fecab505728de81e0c" + integrity sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg== + dependencies: + "@adobe/css-tools" "^4.0.1" + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.9.1" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" + +"@testing-library/react-hooks@^3.4.1": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-3.7.0.tgz#6d75c5255ef49bce39b6465bf6b49e2dac84919e" + integrity sha512-TwfbY6BWtWIHitjT05sbllyLIProcysC0dF0q1bbDa7OHLC6A6rJOYJwZ13hzfz3O4RtOuInmprBozJRyyo7/g== + dependencies: + "@babel/runtime" "^7.12.5" + "@types/testing-library__react-hooks" "^3.4.0" + +"@testing-library/react@^10.4.7": + version "10.4.9" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-10.4.9.tgz#9faa29c6a1a217bf8bbb96a28bd29d7a847ca150" + integrity sha512-pHZKkqUy0tmiD81afs8xfiuseXfU/N7rAX3iKjeZYje86t9VaB0LrxYVa+OOsvkrveX5jCK3IjajVn2MbePvqA== + dependencies: + "@babel/runtime" "^7.10.3" + "@testing-library/dom" "^7.22.3" + +"@types/aria-query@^4.2.0": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" + integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== + +"@types/babel__core@^7.1.7": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/classnames@^2.2.7": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd" + integrity sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A== + dependencies: + classnames "*" + +"@types/graceful-fs@^4.1.2": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/hoist-non-react-statics@^3.3.1": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/invariant@^2.2.31": + version "2.2.37" + resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.37.tgz#1709741e534364d653c87dff22fc76fa94aa7bc0" + integrity sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A== + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@*": + version "29.5.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/jest@^24.0.18": + version "24.9.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== + dependencies: + jest-diff "^24.3.0" + +"@types/jest@^26.0.8": + version "26.0.24" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" + integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + +"@types/lodash@^4.14.175": + version "4.17.1" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.1.tgz#0fabfcf2f2127ef73b119d98452bd317c4a17eb8" + integrity sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q== + +"@types/node@*", "@types/node@>=6": + version "20.12.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be" + integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw== + dependencies: + undici-types "~5.26.4" + +"@types/node@^12.7.5": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/node@^14.0.27": + version "14.18.63" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.63.tgz#1788fa8da838dbb5f9ea994b834278205db6ca2b" + integrity sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + +"@types/prettier@^1.19.0": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" + integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== + +"@types/prop-types@*", "@types/prop-types@^15.7.0": + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + +"@types/ramda@^0.26.5": + version "0.26.44" + resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.26.44.tgz#70bb06f5ae60809dc83a3d804505ee3123443738" + integrity sha512-s0cj9rylWw+Ax/AnttCQzMrLZGq/OxAIZgrkRLK1QHJIF6Qabd0//acMCFM6+Xb8Bi8p8PkT2fqpaQveRju/kA== + dependencies: + ts-toolbelt "^6.3.3" + +"@types/react-input-mask@^3.0.0": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/react-input-mask/-/react-input-mask-3.0.5.tgz#9fbe9a984b3299419a6071dbf697ac2cae2abd2d" + integrity sha512-vQ1x6ykwjDrDrJZq1zw5/uQ+nqGHUV6bWscsVZJ/qsNwNXWxZm7KRBHLJ5k6TQt3MHjhpoYHzPH6FwjVSZODHA== + dependencies: + "@types/react" "*" + +"@types/react-modal@^3.16.3": + version "3.16.3" + resolved "https://registry.yarnpkg.com/@types/react-modal/-/react-modal-3.16.3.tgz#250f32c07f1de28e2bcf9c3e84b56adaa6897013" + integrity sha512-xXuGavyEGaFQDgBv4UVm8/ZsG+qxeQ7f77yNrW3n+1J6XAstUy5rYHeIHPh1KzsGc6IkCIdu6lQ2xWzu1jBTLg== + dependencies: + "@types/react" "*" + +"@types/react-slick@^0.23.8": + version "0.23.13" + resolved "https://registry.yarnpkg.com/@types/react-slick/-/react-slick-0.23.13.tgz#037434e73a58063047b121e08565f7185d811f36" + integrity sha512-bNZfDhe/L8t5OQzIyhrRhBr/61pfBcWaYJoq6UDqFtv5LMwfg4NsVDD2J8N01JqdAdxLjOt66OZEp6PX+dGs/A== + dependencies: + "@types/react" "*" + +"@types/react-test-renderer@*": + version "18.3.0" + resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.3.0.tgz#839502eae70058a4ae161f63385a8e7929cef4c0" + integrity sha512-HW4MuEYxfDbOHQsVlY/XtOvNHftCVEPhJF2pQXXwcUiUF+Oyb0usgp48HSgpK5rt8m9KZb22yqOeZm+rrVG8gw== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "18.3.1" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.1.tgz#fed43985caa834a2084d002e4771e15dfcbdbe8e" + integrity sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/react@^16.9.31", "@types/react@^16.9.44": + version "16.14.60" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.60.tgz#f7ab62a329b82826f12d02bc8031d4ef4b5e0d81" + integrity sha512-wIFmnczGsTcgwCBeIYOuy2mdXEiKZ5znU/jNOnMZPQyCcIxauMGWlX0TNG4lZ7NxRKj7YUIZRneJQSSdB2jKgg== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "^0.16" + csstype "^3.0.2" + +"@types/scheduler@^0.16": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/testing-library__jest-dom@^5.9.1": + version "5.14.9" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz#0fb1e6a0278d87b6737db55af5967570b67cb466" + integrity sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw== + dependencies: + "@types/jest" "*" + +"@types/testing-library__react-hooks@^3.4.0": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@types/testing-library__react-hooks/-/testing-library__react-hooks-3.4.1.tgz#b8d7311c6c1f7db3103e94095fe901f8fef6e433" + integrity sha512-G4JdzEcq61fUyV6wVW9ebHWEiLK2iQvaBuCHHn9eMSbZzVh4Z4wHnUGIvQOYCCYeu5DnUtFyNYuAAgbSaO/43Q== + dependencies: + "@types/react-test-renderer" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^13.0.0": + version "13.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" + integrity sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^15.0.0": + version "15.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9" + integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@types/yup@^0.29.11": + version "0.29.14" + resolved "https://registry.yarnpkg.com/@types/yup/-/yup-0.29.14.tgz#754f1dccedcc66fc2bbe290c27f5323b407ceb00" + integrity sha512-Ynb/CjHhE/Xp/4bhHmQC4U1Ox+I2OpfRYF3dnNgQqn1cHa6LK3H1wJMNPT02tSVZA6FYuXE2ITORfbnb6zBCSA== + +"@types/zen-observable@^0.8.0": + version "0.8.7" + resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.7.tgz#114e2ffc8d5be4915fdd5bc90668fc0ceaadb760" + integrity sha512-LKzNTjj+2j09wAo/vvVjzgw5qckJJzhdGgWHW7j69QIGdq/KnZrMAMIHQiWGl3Ccflh5/CudBAntTPYdprPltA== + +"@vtex/css-handles@^1.0.0": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@vtex/css-handles/-/css-handles-1.1.3.tgz#30bd1010f2907443188738f74dd11d3b6b4ac624" + integrity sha512-DkqnzMf5jW6lQ1L8wYb9fnXyh0FqZym8qEokGYjeLUqBLBAiVK8XbI4U0ezFswWTOJ3iHZUkUjqPt5WodxR29w== + +"@vtex/test-tools@^3.3.2": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@vtex/test-tools/-/test-tools-3.4.3.tgz#d0cc34c445410050b9b56f804236c7c07a242489" + integrity sha512-sBGnr9lIv2dFiZnkUWBdiuiE/GRcu7jSKYqcYQ7fD1o0VlacMIMxHQmz8Gv1NIic37QRgntbSBDrvUUNo94Iwg== + dependencies: + "@babel/core" "^7.11.1" + "@babel/plugin-proposal-class-properties" "^7.10.4" + "@babel/plugin-transform-runtime" "^7.11.0" + "@babel/preset-env" "^7.11.0" + "@babel/preset-react" "^7.10.4" + "@babel/preset-typescript" "^7.10.4" + "@testing-library/jest-dom" "^5.11.2" + "@testing-library/react" "^10.4.7" + "@testing-library/react-hooks" "^3.4.1" + "@types/jest" "^26.0.8" + "@types/node" "^14.0.27" + "@types/react" "^16.9.44" + apollo-cache-inmemory "^1.6.3" + apollo-client "^2.6.4" + babel-jest "^25.5.1" + babel-plugin-const-enum "^1.0.1" + graphql "^14.0.0" + graphql-tag "^2.11.0" + identity-obj-proxy "^3.0.0" + jest "^25.0.0" + jest-transform-graphql "^2.1.0" + react "^16.9.0" + react-apollo "^3.1.3" + react-dom "^16.9.0" + react-test-renderer "^16.13.1" + typescript "^3.9.7" + +"@vtex/tsconfig@^0.4.4": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@vtex/tsconfig/-/tsconfig-0.4.4.tgz#03fd9a65aabe4820e57a9ef14a01fdda1fab26fd" + integrity sha512-aja4GABSbOyAC02TBEHem9ONN01fmKJR70t1+PNCgHGrmSVaLcjjQ7HbU0hhoyp+q7MvRIZznM60tIlntTogNA== + +"@wry/context@^0.4.0": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.4.4.tgz#e50f5fa1d6cfaabf2977d1fda5ae91717f8815f8" + integrity sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag== + dependencies: + "@types/node" ">=6" + tslib "^1.9.3" + +"@wry/equality@^0.1.2", "@wry/equality@^0.1.9": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" + integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA== + dependencies: + tslib "^1.9.3" + +abab@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +acorn-globals@^4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn@^6.0.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +ajv@^6.12.3: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apollo-cache-inmemory@^1.6.3, apollo-cache-inmemory@^1.6.5: + version "1.6.6" + resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz#56d1f2a463a6b9db32e9fa990af16d2a008206fd" + integrity sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A== + dependencies: + apollo-cache "^1.3.5" + apollo-utilities "^1.3.4" + optimism "^0.10.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +apollo-cache@1.3.5, apollo-cache@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.5.tgz#9dbebfc8dbe8fe7f97ba568a224bca2c5d81f461" + integrity sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA== + dependencies: + apollo-utilities "^1.3.4" + tslib "^1.10.0" + +apollo-client@^2.5.1, apollo-client@^2.6.4: + version "2.6.10" + resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.10.tgz#86637047b51d940c8eaa771a4ce1b02df16bea6a" + integrity sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA== + dependencies: + "@types/zen-observable" "^0.8.0" + apollo-cache "1.3.5" + apollo-link "^1.0.0" + apollo-utilities "1.3.4" + symbol-observable "^1.0.2" + ts-invariant "^0.4.0" + tslib "^1.10.0" + zen-observable "^0.8.0" + +apollo-link@^1.0.0: + version "1.2.14" + resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" + integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg== + dependencies: + apollo-utilities "^1.3.0" + ts-invariant "^0.4.0" + tslib "^1.9.3" + zen-observable-ts "^0.8.21" + +apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" + integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig== + dependencies: + "@wry/equality" "^0.1.2" + fast-json-stable-stringify "^2.0.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + +aria-query@^5.0.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + +array-equal@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.2.tgz#a8572e64e822358271250b9156d20d96ef5dec04" + integrity sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +babel-jest@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" + integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== + dependencies: + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^25.5.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-const-enum@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz#3d25524106f68f081e187829ba736b251c289861" + integrity sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-typescript" "^7.3.3" + "@babel/traverse" "^7.16.0" + +babel-plugin-istanbul@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" + integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.2" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + +babel-preset-current-node-syntax@^0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" + integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +babel-preset-jest@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" + integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== + dependencies: + babel-plugin-jest-hoist "^25.5.0" + babel-preset-current-node-syntax "^0.1.2" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + dependencies: + resolve "1.1.7" + +browserslist@^4.22.2, browserslist@^4.23.0: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001587: + version "1.0.30001616" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz#4342712750d35f71ebba9fcac65e2cf8870013c3" + integrity sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +cep-promise@^4.1.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/cep-promise/-/cep-promise-4.4.1.tgz#b926622906e66c4df11da880a78b544e3d65461d" + integrity sha512-YC4vXorKvGurfx0H008Y5lEo9+9ScqeM25dOTbhXx1sRA3knTHWbvtO7yyqZcH+CWqzP5rCxO8cZP3qVZV++ww== + dependencies: + node-fetch "2.6.7" + unfetch "4.1.0" + +chalk@^2.0.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@*, classnames@^2.2.5, classnames@^2.2.6: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +component-emitter@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +core-js-compat@^3.31.0, core-js-compat@^3.36.1: + version "3.37.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.0.tgz#d9570e544163779bb4dff1031c7972f44918dc73" + integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA== + dependencies: + browserslist "^4.23.0" + +core-js-pure@^3.30.2: + version "3.37.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.37.0.tgz#ce99fb4a7cec023fdbbe5b5bd1f06bbcba83316e" + integrity sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== + +cssom@^0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" + integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== + +diff-sequences@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +dom-accessibility-api@^0.5.6: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.4.668: + version "1.4.758" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.758.tgz#f39e530cae2ca4329a0f0e1840629d8d1da73156" + integrity sha512-/o9x6TCdrYZBMdGeTifAP3wlF/gVT+TtWJe3BSmtNh92Mw81U9hrYwW9OAGUh+sEOX/yz5e34sksqRruZbjYrw== + +email-validator@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/email-validator/-/email-validator-2.0.4.tgz#b8dfaa5d0dae28f1b03c95881d904d4e40bfe7ed" + integrity sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enquire.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/enquire.js/-/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814" + integrity sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^1.11.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^3.2.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exenv@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw== + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" + integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== + dependencies: + "@jest/types" "^25.5.0" + ansi-styles "^4.0.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-regex-util "^25.2.6" + +expect@^29.0.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +final-form@^4.20.2: + version "4.20.10" + resolved "https://registry.yarnpkg.com/final-form/-/final-form-4.20.10.tgz#1a484be6e9a91989121c054dcbd6f48bad051ecc" + integrity sha512-TL48Pi1oNHeMOHrKv1bCJUrWZDcD3DIG6AGYVNOnyZPr7Bd/pStN0pL+lfzF5BNoj/FclaoiaLenk4XUIFVYng== + dependencies: + "@babel/runtime" "^7.10.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +follow-redirects@^1.14.0: + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +formik@^2.2.9: + version "2.4.6" + resolved "https://registry.yarnpkg.com/formik/-/formik-2.4.6.tgz#4da75ca80f1a827ab35b08fd98d5a76e928c9686" + integrity sha512-A+2EI7U7aG296q2TLGvNapDNTZp1khVt5Vk0Q/fyfSROss0V/V6+txt2aJnwEos44IxTCW/LYAi/zgWzlevj+g== + dependencies: + "@types/hoist-non-react-statics" "^3.3.1" + deepmerge "^2.1.1" + hoist-non-react-statics "^3.3.0" + lodash "^4.17.21" + lodash-es "^4.17.21" + react-fast-compare "^2.0.1" + tiny-warning "^1.0.2" + tslib "^2.0.0" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.1.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphql-tag@^2.11.0: + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + +graphql@^14.0.0, graphql@^14.6.0: + version "14.7.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72" + integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA== + dependencies: + iterall "^1.2.2" + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +hasown@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +identity-obj-proxy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== + dependencies: + harmony-reflect "^1.4.6" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +intl-format-cache@^4.2.21: + version "4.3.1" + resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-4.3.1.tgz#484d31a9872161e6c02139349b259a6229ade377" + integrity sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q== + +intl-messageformat-parser@^3.6.4: + version "3.6.4" + resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz#5199d106d816c3dda26ee0694362a9cf823978fb" + integrity sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA== + dependencies: + "@formatjs/intl-unified-numberformat" "^3.2.0" + +intl-messageformat@^7.8.4: + version "7.8.4" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-7.8.4.tgz#c29146a06b9cd26662978a4d95fff2b133e3642f" + integrity sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA== + dependencies: + intl-format-cache "^4.2.21" + intl-messageformat-parser "^3.6.4" + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== + +is-accessor-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" + integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== + dependencies: + hasown "^2.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-data-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" + integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== + dependencies: + hasown "^2.0.0" + +is-descriptor@^0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" + integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" + integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterall@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + +jest-changed-files@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" + integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== + dependencies: + "@jest/types" "^25.5.0" + execa "^3.2.0" + throat "^5.0.0" + +jest-cli@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" + integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== + dependencies: + "@jest/core" "^25.5.4" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^25.5.4" + jest-util "^25.5.0" + jest-validate "^25.5.0" + prompts "^2.0.1" + realpath-native "^2.0.0" + yargs "^15.3.1" + +jest-config@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" + integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^25.5.4" + "@jest/types" "^25.5.0" + babel-jest "^25.5.1" + chalk "^3.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^25.5.0" + jest-environment-node "^25.5.0" + jest-get-type "^25.2.6" + jest-jasmine2 "^25.5.4" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + micromatch "^4.0.2" + pretty-format "^25.5.0" + realpath-native "^2.0.0" + +jest-diff@^24.3.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-diff@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== + dependencies: + chalk "^3.0.0" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-diff@^26.0.0: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^25.3.0: + version "25.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" + integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== + dependencies: + detect-newline "^3.0.0" + +jest-each@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" + integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== + dependencies: + "@jest/types" "^25.5.0" + chalk "^3.0.0" + jest-get-type "^25.2.6" + jest-util "^25.5.0" + pretty-format "^25.5.0" + +jest-environment-jsdom@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" + integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + jsdom "^15.2.1" + +jest-environment-node@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" + integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + semver "^6.3.0" + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== + +jest-get-type@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" + integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== + +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" + integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== + dependencies: + "@jest/types" "^25.5.0" + "@types/graceful-fs" "^4.1.2" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-serializer "^25.5.0" + jest-util "^25.5.0" + jest-worker "^25.5.0" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + which "^2.0.2" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" + integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^25.5.0" + "@jest/source-map" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + co "^4.6.0" + expect "^25.5.0" + is-generator-fn "^2.0.0" + jest-each "^25.5.0" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + pretty-format "^25.5.0" + throat "^5.0.0" + +jest-leak-detector@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" + integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== + dependencies: + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-matcher-utils@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" + integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== + dependencies: + chalk "^3.0.0" + jest-diff "^25.5.0" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" + integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^25.5.0" + "@types/stack-utils" "^1.0.1" + chalk "^3.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + slash "^3.0.0" + stack-utils "^1.0.1" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" + integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== + dependencies: + "@jest/types" "^25.5.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" + integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== + +jest-resolve-dependencies@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" + integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== + dependencies: + "@jest/types" "^25.5.0" + jest-regex-util "^25.2.6" + jest-snapshot "^25.5.1" + +jest-resolve@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" + integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== + dependencies: + "@jest/types" "^25.5.0" + browser-resolve "^1.11.3" + chalk "^3.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.1" + read-pkg-up "^7.0.1" + realpath-native "^2.0.0" + resolve "^1.17.0" + slash "^3.0.0" + +jest-runner@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" + integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== + dependencies: + "@jest/console" "^25.5.0" + "@jest/environment" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-docblock "^25.3.0" + jest-haste-map "^25.5.1" + jest-jasmine2 "^25.5.4" + jest-leak-detector "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + jest-runtime "^25.5.4" + jest-util "^25.5.0" + jest-worker "^25.5.0" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" + integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== + dependencies: + "@jest/console" "^25.5.0" + "@jest/environment" "^25.5.0" + "@jest/globals" "^25.5.2" + "@jest/source-map" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + realpath-native "^2.0.0" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.3.1" + +jest-serializer@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" + integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== + dependencies: + graceful-fs "^4.2.4" + +jest-snapshot@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" + integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^25.5.0" + "@types/prettier" "^1.19.0" + chalk "^3.0.0" + expect "^25.5.0" + graceful-fs "^4.2.4" + jest-diff "^25.5.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + make-dir "^3.0.0" + natural-compare "^1.4.0" + pretty-format "^25.5.0" + semver "^6.3.0" + +jest-transform-graphql@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/jest-transform-graphql/-/jest-transform-graphql-2.1.0.tgz#903cb66bb27bc2772fd3e5dd4f7e9b57230f5829" + integrity sha512-oLVErzg6bN9eJPB/b8c1+0go3K1F1OZNkvlbUfOgK+96ulfX/fnp+4jI3tjQ1IUVL2XcSjhzwDwNdwsNI5EhRg== + +jest-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" + integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== + dependencies: + "@jest/types" "^25.5.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + make-dir "^3.0.0" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" + integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== + dependencies: + "@jest/types" "^25.5.0" + camelcase "^5.3.1" + chalk "^3.0.0" + jest-get-type "^25.2.6" + leven "^3.1.0" + pretty-format "^25.5.0" + +jest-watcher@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" + integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== + dependencies: + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-util "^25.5.0" + string-length "^3.1.0" + +jest-worker@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^25.0.0: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" + integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== + dependencies: + "@jest/core" "^25.5.4" + import-local "^3.0.2" + jest-cli "^25.5.4" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsdom@^15.2.1: + version "15.2.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" + integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== + dependencies: + abab "^2.0.0" + acorn "^7.1.0" + acorn-globals "^4.3.2" + array-equal "^1.0.0" + cssom "^0.4.1" + cssstyle "^2.0.0" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.1" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.2.0" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.7" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^7.0.0" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== + dependencies: + string-convert "^0.2.0" + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.debounce@^4, lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lolex@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== + dependencies: + "@sinonjs/commons" "^1.7.0" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lz-string@^1.4.4: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + +make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +moment@^2.29.1: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoclone@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" + integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-notifier@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" + integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== + dependencies: + growly "^1.3.0" + is-wsl "^2.1.1" + semver "^6.3.0" + shellwords "^0.1.1" + which "^1.3.1" + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nwsapi@^2.2.0: + version "2.2.9" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.9.tgz#7f3303218372db2e9f27c27766bcfc59ae7e61c6" + integrity sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optimism@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.10.3.tgz#163268fdc741dea2fb50f300bedda80356445fd7" + integrity sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw== + dependencies: + "@wry/context" "^0.4.0" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + +pretty-format@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-expr@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8" + integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== + +psl@^1.1.28: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +ramda@^0.26.1: + version "0.26.1" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" + integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== + +react-apollo@^3.1.3: + version "3.1.5" + resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-3.1.5.tgz#36692d393c47e7ccc37f0a885c7cc5a8b4961c91" + integrity sha512-xOxMqxORps+WHrUYbjVHPliviomefOpu5Sh35oO3osuOyPTxvrljdfTLGCggMhcXBsDljtS5Oy4g+ijWg3D4JQ== + dependencies: + "@apollo/react-common" "^3.1.4" + "@apollo/react-components" "^3.1.5" + "@apollo/react-hoc" "^3.1.5" + "@apollo/react-hooks" "^3.1.5" + "@apollo/react-ssr" "^3.1.5" + +react-debounce-input@^3.2.5: + version "3.3.0" + resolved "https://registry.yarnpkg.com/react-debounce-input/-/react-debounce-input-3.3.0.tgz#85e3ebcaa41f2016e50613134a1ec9fe3cdb422e" + integrity sha512-VEqkvs8JvY/IIZvh71Z0TC+mdbxERvYF33RcebnodlsUZ8RSgyKe2VWaHXv4+/8aoOgXLxWrdsYs2hDhcwbUgA== + dependencies: + lodash.debounce "^4" + prop-types "^15.8.1" + +react-dom@^16.12.0, react-dom@^16.9.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + +react-fast-compare@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" + integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== + +react-input-mask@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-input-mask/-/react-input-mask-2.0.4.tgz#9ade5cf8196f4a856dbf010820fe75a795f3eb14" + integrity sha512-1hwzMr/aO9tXfiroiVCx5EtKohKwLk/NT8QlJXHQ4N+yJJFyUuMT+zfTpLBwX/lK3PkuMlievIffncpMZ3HGRQ== + dependencies: + invariant "^2.2.4" + warning "^4.0.2" + +react-intl@^3.12.0: + version "3.12.1" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-3.12.1.tgz#e9a783ea20302e9da25e4eda59e5593a43d2ec80" + integrity sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg== + dependencies: + "@formatjs/intl-displaynames" "^1.2.0" + "@formatjs/intl-listformat" "^1.4.1" + "@formatjs/intl-relativetimeformat" "^4.5.9" + "@formatjs/intl-unified-numberformat" "^3.2.0" + "@formatjs/intl-utils" "^2.2.0" + "@types/hoist-non-react-statics" "^3.3.1" + "@types/invariant" "^2.2.31" + hoist-non-react-statics "^3.3.2" + intl-format-cache "^4.2.21" + intl-messageformat "^7.8.4" + intl-messageformat-parser "^3.6.4" + shallow-equal "^1.2.1" + +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.4, react-is@^16.8.6: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +react-lifecycles-compat@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-modal@^3.16.1: + version "3.16.1" + resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.16.1.tgz#34018528fc206561b1a5467fc3beeaddafb39b2b" + integrity sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg== + dependencies: + exenv "^1.2.0" + prop-types "^15.7.2" + react-lifecycles-compat "^3.0.0" + warning "^4.0.3" + +react-rating-stars-component@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-rating-stars-component/-/react-rating-stars-component-2.2.0.tgz#e947c6a1f59278e6fea1098453f43cb15d077c14" + integrity sha512-A3lgLxumfFQQicKQmxacZ91fq/zRaVWlCPnVodJmJV6obvod4/yCotetN9WuyBiUfnKsEFDBo/8B85ocwmL7ng== + +react-router-dom@^6.21.1: + version "6.23.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.23.0.tgz#8b80ad92ad28f4dc38972e92d84b4c208150545a" + integrity sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ== + dependencies: + "@remix-run/router" "1.16.0" + react-router "6.23.0" + +react-router@6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.23.0.tgz#2f2d7492c66a6bdf760be4c6bdf9e1d672fa154b" + integrity sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA== + dependencies: + "@remix-run/router" "1.16.0" + +react-slick@^0.28.1: + version "0.28.1" + resolved "https://registry.yarnpkg.com/react-slick/-/react-slick-0.28.1.tgz#12c18d991b59432df9c3757ba540a227b3fb85b9" + integrity sha512-JwRQXoWGJRbUTE7eZI1rGIHaXX/4YuwX6gn7ulfvUZ4vFDVQAA25HcsHSYaUiRCduTr6rskyIuyPMpuG6bbluw== + dependencies: + classnames "^2.2.5" + enquire.js "^2.1.6" + json2mq "^0.2.0" + lodash.debounce "^4.0.8" + resize-observer-polyfill "^1.5.0" + +react-test-renderer@^16.13.1: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.14.0.tgz#e98360087348e260c56d4fe2315e970480c228ae" + integrity sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg== + dependencies: + object-assign "^4.1.1" + prop-types "^15.6.2" + react-is "^16.8.6" + scheduler "^0.19.1" + +react@^16.12.0, react@^16.9.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +realpath-native@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" + integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resize-observer-polyfill@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== + +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + dependencies: + xmlchars "^2.1.1" + +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.5.3: + version "7.6.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.1.tgz#60bfe090bf907a25aa8119a72b9f90ef7ca281b2" + integrity sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shallow-equal@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" + integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slick-carousel@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/slick-carousel/-/slick-carousel-1.8.1.tgz#a4bfb29014887bb66ce528b90bd0cda262cc8f8d" + integrity sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.17" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.7.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== + +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +symbol-observable@^1.0.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +tiny-warning@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toposort@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" + integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +ts-invariant@^0.4.0, ts-invariant@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" + integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA== + dependencies: + tslib "^1.9.3" + +ts-toolbelt@^6.3.3: + version "6.15.5" + resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz#cb3b43ed725cb63644782c64fbcad7d8f28c0a83" + integrity sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A== + +tslib@^1.10.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.1.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@3.9.7: + version "3.9.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" + integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== + +typescript@^3.9.7: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unfetch@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db" + integrity sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +update-browserslist-db@^1.0.13: + version "1.0.15" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz#60ed9f8cba4a728b7ecf7356f641a31e3a691d97" + integrity sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-to-istanbul@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" + integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +"vtex.add-to-cart-button@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button": + version "0.30.2" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button#460e38a0fca759d2eba382ebe6cd92d6c645b0b6" + +"vtex.breadcrumb@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb": + version "1.9.4" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb#624d6ddbd839bccd2b08e10f0f5f4a0509de834b" + +"vtex.carousel@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.carousel@2.12.1/public/@types/vtex.carousel": + version "2.12.1" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.carousel@2.12.1/public/@types/vtex.carousel#f99139a9d22227fa239192a058defd13f8cc50be" + +"vtex.flex-layout@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.flex-layout@0.21.3/public/@types/vtex.flex-layout": + version "0.21.3" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.flex-layout@0.21.3/public/@types/vtex.flex-layout#407f0e310545ff006f08afb35f5d38ace4546435" + +"vtex.iframe@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.iframe@0.8.0/public/@types/vtex.iframe": + version "0.8.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.iframe@0.8.0/public/@types/vtex.iframe#201ccc038cec1a5eeb5e1e5a751a7337268d198e" + +"vtex.locale-switcher@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.locale-switcher@0.5.6/public/@types/vtex.locale-switcher": + version "0.5.6" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.locale-switcher@0.5.6/public/@types/vtex.locale-switcher#5db8558af5593d65e4fff3da0903d0081dfcab42" + +"vtex.login@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.login@2.59.0/public/@types/vtex.login": + version "2.59.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.login@2.59.0/public/@types/vtex.login#a8ed8f327b519e6b9c5da8969b69ffc4037c630b" + +"vtex.menu@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.menu@2.35.1/public/@types/vtex.menu": + version "2.35.1" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.menu@2.35.1/public/@types/vtex.menu#4f3c5748c116a441904efca1fde31a95415a4808" + +"vtex.minicart@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.minicart@2.67.1/public/@types/vtex.minicart": + version "2.67.1" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.minicart@2.67.1/public/@types/vtex.minicart#d0c160a87d987c8a2a48890bb76f28b17ba7c0db" + +"vtex.my-account@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.my-account@1.27.1/public/@types/vtex.my-account": + version "1.27.1" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.my-account@1.27.1/public/@types/vtex.my-account#bb94dc0514950137df740439a599d3f413624d75" + +"vtex.order-placed@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-placed@2.17.2/public/@types/vtex.order-placed": + version "2.17.2" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-placed@2.17.2/public/@types/vtex.order-placed#5a015e206e512d8badfb54c74f51d4cf72c670f7" + +"vtex.product-details@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-details@1.22.0/public/@types/vtex.product-details": + version "1.22.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-details@1.22.0/public/@types/vtex.product-details#c2829a3a2c8b8f48ee273280a86859449b9835f8" + +"vtex.product-identifier@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-identifier@0.5.0/public/@types/vtex.product-identifier": + version "0.5.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-identifier@0.5.0/public/@types/vtex.product-identifier#f5d442b6a7ca648c61e8655a356e8588e49c43b2" + +"vtex.product-kit@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-kit@1.10.2/public/_types/react": + version "0.0.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-kit@1.10.2/public/_types/react#fa7a0347e046eab3dd768998fc9252b2c0dd5aef" + +"vtex.product-quantity@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-quantity@1.9.0/public/@types/vtex.product-quantity": + version "1.9.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-quantity@1.9.0/public/@types/vtex.product-quantity#686536c85e0bf7af98f803dc4385f959c181bb07" + +"vtex.product-review-interfaces@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-review-interfaces@1.0.2/public/_types/react": + version "1.0.2" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-review-interfaces@1.0.2/public/_types/react#84d1997cdae079d1401611f3d4a4619ed914673f" + +"vtex.product-specification-badges@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-specification-badges@0.3.0/public/@types/vtex.product-specification-badges": + version "0.3.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-specification-badges@0.3.0/public/@types/vtex.product-specification-badges#2df6b189acfabf642504df02d7b8ad406ee90c07" + +"vtex.product-summary@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-summary@2.89.0/public/@types/vtex.product-summary": + version "2.89.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-summary@2.89.0/public/@types/vtex.product-summary#7ab43385439c520bfb7db6c1d073fdb069776960" + +"vtex.render-runtime@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.render-runtime@8.134.2/public/@types/vtex.render-runtime": + version "8.134.2" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.render-runtime@8.134.2/public/@types/vtex.render-runtime#ae69e2b2a471291c6c6b155e17510150fbfc2d0e" + +"vtex.responsive-layout@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.responsive-layout@0.1.4/public/@types/vtex.responsive-layout": + version "0.1.4" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.responsive-layout@0.1.4/public/@types/vtex.responsive-layout#e67d61ec1e308accb4e0ef2bd172fe04a41bf662" + +"vtex.rich-text@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.rich-text@0.16.0/public/@types/vtex.rich-text": + version "0.16.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.rich-text@0.16.0/public/@types/vtex.rich-text#0cdcaccffb37ae0d025894ba7055f69bc3c9aa30" + +"vtex.search-result@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.search-result@3.132.1/public/@types/vtex.search-result": + version "3.132.1" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.search-result@3.132.1/public/@types/vtex.search-result#d0c0960f5469bf4726c4da3136f872f666b38d4b" + +"vtex.shelf@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.shelf@1.48.0/public/@types/vtex.shelf": + version "1.48.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.shelf@1.48.0/public/@types/vtex.shelf#a94e202bd2db764eddd9d0132ab153297fa07154" + +"vtex.slider-layout@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.slider-layout@0.24.4/public/@types/vtex.slider-layout": + version "0.24.4" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.slider-layout@0.24.4/public/@types/vtex.slider-layout#81731b60025929589adeea1ffd3e12eb1d9480e1" + +"vtex.slider@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.slider@0.8.3/public/@types/vtex.slider": + version "0.8.3" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.slider@0.8.3/public/@types/vtex.slider#9b7be08012a5d3ec41fdc651235a964cb5f7db85" + +"vtex.stack-layout@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.stack-layout@0.1.1/public/@types/vtex.stack-layout": + version "0.1.1" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.stack-layout@0.1.1/public/@types/vtex.stack-layout#d7ae9ed78c33073482ceb753a7cfa11c7cb8d83f" + +"vtex.sticky-layout@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.sticky-layout@0.3.4/public/@types/vtex.sticky-layout": + version "0.3.4" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.sticky-layout@0.3.4/public/@types/vtex.sticky-layout#5b786d6f9ab0a40e4997c955a75885eee32515ef" + +"vtex.store-components@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-components@3.172.2/public/@types/vtex.store-components": + version "3.172.2" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-components@3.172.2/public/@types/vtex.store-components#a8a5b4fbf138ca52261b574c8eb6b1ea17c28304" + +"vtex.store-drawer@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-drawer@0.17.1/public/@types/vtex.store-drawer": + version "0.17.1" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-drawer@0.17.1/public/@types/vtex.store-drawer#1d545bafa072e746964bdd78d43cf1726bce32f3" + +"vtex.store-footer@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-footer@2.27.0/public/@types/vtex.store-footer": + version "2.27.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-footer@2.27.0/public/@types/vtex.store-footer#81c4e23689a6d4e97d6b8b8de930f76c7dfdcbd9" + +"vtex.store-header@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-header@2.29.0/public/@types/vtex.store-header": + version "2.29.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-header@2.29.0/public/@types/vtex.store-header#702033f782c6c25ae2fed42b5a3703db5fd1ac87" + +"vtex.store@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store@2.135.0/public/@types/vtex.store": + version "2.135.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store@2.135.0/public/@types/vtex.store#00f447a8320298247d3e8e4dd43e40b841f38145" + +"vtex.styleguide@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.146.9/public/@types/vtex.styleguide": + version "9.146.9" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.146.9/public/@types/vtex.styleguide#d1601fedfb665c6173334753171717da64e670bc" + +"vtex.tab-layout@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.tab-layout@0.4.6/public/@types/vtex.tab-layout": + version "0.4.6" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.tab-layout@0.4.6/public/@types/vtex.tab-layout#d0331c51239c0f677e1e405a967eb3e7dcad5cb9" + +"vtex.telemarketing@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.telemarketing@2.12.1/public/@types/vtex.telemarketing": + version "2.12.1" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.telemarketing@2.12.1/public/@types/vtex.telemarketing#0b43598b66598b4085af04268140ea8a8d84e263" + +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +warning@^4.0.2, warning@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.0.0: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yup@^0.32.9: + version "0.32.11" + resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5" + integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg== + dependencies: + "@babel/runtime" "^7.15.4" + "@types/lodash" "^4.14.175" + lodash "^4.17.21" + lodash-es "^4.17.21" + nanoclone "^0.2.1" + property-expr "^2.0.4" + toposort "^2.0.2" + +zen-observable-ts@^0.8.21: + version "0.8.21" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" + integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg== + dependencies: + tslib "^1.9.3" + zen-observable "^0.8.0" + +zen-observable@^0.8.0: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== diff --git a/store/blocks/default.jsonc b/store/blocks/default.jsonc deleted file mode 100644 index f4c7da10..00000000 --- a/store/blocks/default.jsonc +++ /dev/null @@ -1,36 +0,0 @@ -{ - "store.orderplaced": { - "blocks": ["order-placed"] - }, - - "store.account": { - "blocks": ["my-account"], - "parent": { - "challenge": "challenge.profile" - } - }, - - "store.login": { - "blocks": ["login-content#default"] - }, - - "login-content#default": { - "props": { - "isInitialScreenOptionOnly": false, - "defaultOption": 1, - "showPasswordVerificationIntoTooltip": true - } - }, - - "product-summary.shelf": { - "children": [ - "product-summary-add-to-list-button", - "product-summary-name", - "product-rating-inline", - "product-summary-space", - "product-summary-price", - "product-identifier.summary", - "add-to-cart-button" - ] - } -} diff --git a/store/blocks/footer.jsonc b/store/blocks/footer.jsonc deleted file mode 100644 index 29a028b1..00000000 --- a/store/blocks/footer.jsonc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "footer": { - "blocks": ["footer-layout.desktop", "footer-layout.mobile"] - }, - "footer-layout.desktop": { - "children": [ - "flex-layout.row#footer" - ] - }, - "footer-layout.mobile": { - "children": [ - "flex-layout.row#footer" - ] - }, - "flex-layout.row#footer": { - "children": [ - "image" - ] - }, - "image": { - "props": { - "width": 100, - "src": "https://brand.vtex.com/static/media/VTEX_pink_RGB.751a9fb5.svg" - } - } -} \ No newline at end of file diff --git a/store/blocks/header.jsonc b/store/blocks/header.jsonc deleted file mode 100644 index 8acede52..00000000 --- a/store/blocks/header.jsonc +++ /dev/null @@ -1,79 +0,0 @@ -{ - "header": { - "blocks": ["header-layout.desktop", "header-layout.mobile"] - }, - "header.full": { - "blocks": ["header-layout.desktop", "header-layout.mobile"] - }, - "header-layout.desktop": { - "children": [ - "sticky-layout#desktop" - ] - }, - "sticky-layout#desktop": { - "props": { - "blockClass": "sticky-header" - }, - "children": ["flex-layout.row#desktop"] - }, - "flex-layout.row#desktop": { - "props": { - "horizontalAlign": "center", - "verticalAlign": "center", - "preventHorizontalStretch": true, - "preventVerticalStretch": true, - "fullWidth": true - }, - "children": [ - "flex-layout.col#logo-desktop", - "flex-layout.col#spacer", - "search-bar", - "locale-switcher", - "login", - "minicart.v2" - ] - }, - "flex-layout.col#spacer": { - "props": { - "width": "grow" - } - }, - "flex-layout.col#logo-desktop": { - "props": { - "verticalAlign": "middle" - }, - "children": ["logo"] - }, - "logo": { - "props": { - "title": "Logo", - "href": "/", - "url": "https://brand.vtex.com/static/media/VTEX_pink_RGB.751a9fb5.svg", - "width": "80" - } - }, - "header-layout.mobile": { - "children": ["sticky-layout#mobile"] - }, - "sticky-layout#mobile": { - "children": ["flex-layout.row#mobile"] - }, - "flex-layout.row#mobile": { - "children": [ - "drawer", - "logo", - "flex-layout.col#spacer", - "login", - "minicart.v2" - ], - "props": { - "blockClass": "main-header-mobile", - "preventHorizontalStretch": true, - "preserveLayoutOnMobile": true, - "fullWidth": true - } - }, - "drawer": { - "children": [] - } -} \ No newline at end of file diff --git a/store/blocks/home.jsonc b/store/blocks/home.jsonc deleted file mode 100644 index 651d30cf..00000000 --- a/store/blocks/home.jsonc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "store.home": { - "blocks": [ - "rich-text" - ] - }, - "rich-text": { - "props": { - "text": "VTEX Store Framework", - "textAlignment": "CENTER", - "textPosition": "CENTER", - "font": "t-heading-1" - } - } -} \ No newline at end of file diff --git a/store/blocks/product.jsonc b/store/blocks/product.jsonc deleted file mode 100644 index 544908e9..00000000 --- a/store/blocks/product.jsonc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "store.product": { - "children": [ - - ] - } -} \ No newline at end of file diff --git a/store/blocks/search.jsonc b/store/blocks/search.jsonc deleted file mode 100644 index 9a9e94c3..00000000 --- a/store/blocks/search.jsonc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "store.search": { - "blocks": [ - - ] - } -} \ No newline at end of file diff --git a/store/interfaces.json b/store/interfaces.json new file mode 100644 index 00000000..a8987889 --- /dev/null +++ b/store/interfaces.json @@ -0,0 +1,7 @@ +{ + "list-context.topbar": { + "component": "Topbar", + "composition": "children", + "allowed": "*" + } +} diff --git a/styles/configs/font-faces.css b/styles/configs/font-faces.css new file mode 100644 index 00000000..705e5462 --- /dev/null +++ b/styles/configs/font-faces.css @@ -0,0 +1,65 @@ +@font-face { + font-family: 'Roboto', sans-serif; + src: url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap'); +} + +@font-face { + font-family: 'Oxygen', sans-serif; + src: url('https://fonts.googleapis.com/css2?family=Oxygen&display=swap'); +} + +@font-face { + font-family: 'Proxima Nova'; + src: url('https://use.typekit.net/af/2555e1/00000000000000007735e603/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3') + format('woff2'), + url('https://use.typekit.net/af/2555e1/00000000000000007735e603/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3') + format('woff'), + url('https://use.typekit.net/af/2555e1/00000000000000007735e603/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3') + format('opentype'); + font-display: auto; + font-style: normal; + font-weight: 700; + font-stretch: normal; +} + +@font-face { + font-family: 'Proxima Nova'; + src: url('https://use.typekit.net/af/4de20a/00000000000000007735e604/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3') + format('woff2'), + url('https://use.typekit.net/af/4de20a/00000000000000007735e604/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3') + format('woff'), + url('https://use.typekit.net/af/4de20a/00000000000000007735e604/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3') + format('opentype'); + font-display: auto; + font-style: italic; + font-weight: 700; + font-stretch: normal; +} + +@font-face { + font-family: 'Proxima Nova'; + src: url('https://use.typekit.net/af/efe4a5/00000000000000007735e609/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3') + format('woff2'), + url('https://use.typekit.net/af/efe4a5/00000000000000007735e609/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3') + format('woff'), + url('https://use.typekit.net/af/efe4a5/00000000000000007735e609/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3') + format('opentype'); + font-display: auto; + font-style: normal; + font-weight: 400; + font-stretch: normal; +} + +@font-face { + font-family: 'Proxima Nova'; + src: url('https://use.typekit.net/af/3322cc/00000000000000007735e616/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3') + format('woff2'), + url('https://use.typekit.net/af/3322cc/00000000000000007735e616/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3') + format('woff'), + url('https://use.typekit.net/af/3322cc/00000000000000007735e616/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3') + format('opentype'); + font-display: auto; + font-style: italic; + font-weight: 400; + font-stretch: normal; +} diff --git a/styles/configs/style.json b/styles/configs/style.json index 1b629df2..47c9cbf6 100644 --- a/styles/configs/style.json +++ b/styles/configs/style.json @@ -1,434 +1,388 @@ { - "typeScale": [ - 3, - 2.25, - 1.5, - 1.25, - 1, - 0.875, - 0.75 - ], - "spacing": [ - 0.125, - 0.25, - 0.5, - 0.75, - 1, - 1.5, - 2, - 3, - 4, - 8, - 16 - ], - "customMedia": [ - { - "s": 20 - }, - { - "ns": { - "value": 40, - "minWidth": true - } - }, - { - "m": { - "value": 40, - "minWidth": true - } - }, - { - "l": { - "value": 64, - "minWidth": true - } - }, - { - "xl": { - "value": 80, - "minWidth": true - } - } - ], - "colors": { - "black-90": "rgba(0,0,0,.9)", - "black-80": "rgba(0,0,0,.8)", - "black-70": "rgba(0,0,0,.7)", - "black-60": "rgba(0,0,0,.6)", - "black-50": "rgba(0,0,0,.5)", - "black-40": "rgba(0,0,0,.4)", - "black-30": "rgba(0,0,0,.3)", - "black-20": "rgba(0,0,0,.2)", - "black-10": "rgba(0,0,0,.1)", - "black-05": "rgba(0,0,0,.05)", - "black-025": "rgba(0,0,0,.025)", - "black-0125": "rgba(0,0,0,.0125)", - "white-90": "rgba(255,255,255,.9)", - "white-80": "rgba(255,255,255,.8)", - "white-70": "rgba(255,255,255,.7)", - "white-60": "rgba(255,255,255,.6)", - "white-50": "rgba(255,255,255,.5)", - "white-40": "rgba(255,255,255,.4)", - "white-30": "rgba(255,255,255,.3)", - "white-20": "rgba(255,255,255,.2)", - "white-10": "rgba(255,255,255,.1)", - "white-05": "rgba(255,255,255,.05)", - "white-025": "rgba(255,255,255,.025)", - "white-0125": "rgba(255,255,255,.0125)" - }, - "semanticColors": { - "background": { - "base": "#ffffff", - "base--inverted": "#03044e", - "action-primary": "#0F3E99", - "action-secondary": "#eef3f7", - "emphasis": "#f71963", - "disabled": "#f2f4f5", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#ff4c4c", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0", - "muted-1": "#727273", - "muted-2": "#979899", - "muted-3": "#cacbcc", - "muted-4": "#e3e4e6", - "muted-5": "#f2f4f5" - }, - "hover-background": { - "action-primary": "#072c75", - "action-secondary": "#dbe9fd", - "emphasis": "#dd1659", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#e13232", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0", - "muted-1": "#727273", - "muted-2": "#979899", - "muted-3": "#cacbcc", - "muted-4": "#e3e4e6", - "muted-5": "#f2f4f5" - }, - "active-background": { - "action-primary": "#0c389f", - "action-secondary": "#dbe9fd", - "emphasis": "#dd1659", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#ff4c4c", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0", - "muted-1": "#727273", - "muted-2": "#979899", - "muted-3": "#cacbcc", - "muted-4": "#e3e4e6", - "muted-5": "#f2f4f5" - }, - "text": { - "action-primary": "#0F3E99", - "action-secondary": "#eef3f7", - "link": "#0F3E99", - "emphasis": "#f71963", - "disabled": "#979899", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#ff4c4c", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0", - "muted-1": "#727273", - "muted-2": "#979899", - "muted-3": "#cacbcc", - "muted-4": "#e3e4e6", - "muted-5": "#f2f4f5" - }, - "visited-text": { - "link": "#0c389f" - }, - "hover-text": { - "action-primary": "#072c75", - "action-secondary": "#dbe9fd", - "link": "#0c389f", - "emphasis": "#dd1659", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#e13232", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0" - }, - "active-text": { - "link": "#0c389f", - "emphasis": "#dd1659", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#ff4c4c", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0" - }, - "border": { - "action-primary": "#0F3E99", - "action-secondary": "#eef3f7", - "emphasis": "#f71963", - "disabled": "#e3e4e6", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#ff4c4c", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0", - "muted-1": "#727273", - "muted-2": "#979899", - "muted-3": "#cacbcc", - "muted-4": "#e3e4e6", - "muted-5": "#f2f4f5" - }, - "hover-border": { - "action-primary": "#072c75", - "action-secondary": "#dbe9fd", - "emphasis": "#dd1659", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#e13232", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0", - "muted-1": "#727273", - "muted-2": "#979899", - "muted-3": "#cacbcc", - "muted-4": "#e3e4e6", - "muted-5": "#f2f4f5" - }, - "active-border": { - "action-primary": "#0c389f", - "action-secondary": "#dbe9fd", - "emphasis": "#dd1659", - "success": "#8bc34a", - "success--faded": "#eafce3", - "danger": "#ff4c4c", - "danger--faded": "#ffe6e6", - "warning": "#ffb100", - "warning--faded": "#fff6e0", - "muted-1": "#727273", - "muted-2": "#979899", - "muted-3": "#cacbcc", - "muted-4": "#e3e4e6", - "muted-5": "#f2f4f5" - }, - "on": { - "base": "#3f3f40", - "base--inverted": "#ffffff", - "action-primary": "#ffffff", - "action-secondary": "#0F3E99", - "emphasis": "#ffffff", - "disabled": "#979899", - "success": "#ffffff", - "success--faded": "#3f3f40", - "danger": "#ffffff", - "danger--faded": "#3f3f40", - "warning": "#ffffff", - "warning--faded": "#1a1a1a", - "muted-1": "#ffffff", - "muted-2": "#ffffff", - "muted-3": "#3f3f40", - "muted-4": "#3f3f40", - "muted-5": "#3f3f40" - }, - "hover-on": { - "action-primary": "#ffffff", - "action-secondary": "#0F3E99", - "emphasis": "#ffffff", - "success": "#ffffff", - "success--faded": "#3f3f40", - "danger": "#ffffff", - "danger--faded": "#3f3f40", - "warning": "#ffffff", - "warning--faded": "#1a1a1a" - }, - "active-on": { - "action-primary": "#ffffff", - "action-secondary": "#0F3E99", - "emphasis": "#ffffff", - "success": "#ffffff", - "success--faded": "#3f3f40", - "danger": "#ffffff", - "danger--faded": "#3f3f40", - "warning": "#ffffff", - "warning--faded": "#1a1a1a" - } - }, - "borderWidths": [ - 0, - 0.125, - 0.25, - 0.5, - 1, - 2 - ], - "borderRadius": [ - 0, - 0.125, - 0.25, - 0.5, - 1 - ], - "widths": [ - 1, - 2, - 4, - 8, - 16 - ], - "maxWidths": [ - 1, - 2, - 4, - 8, - 16, - 32, - 48, - 64, - 96 - ], - "heights": [ - 1, - 2, - 4, - 8, - 16 - ], - "sizes": [ - { - "name": "small", - "value": 2 + "typeScale": [3, 2.25, 1.5, 1.25, 1, 0.875, 0.75], + "spacing": [0.125, 0.25, 0.5, 0.75, 1, 1.5, 2, 3, 4, 8, 16], + "customMedia": [ + { + "s": 20 + }, + { + "ns": { + "value": 40, + "minWidth": true + } + }, + { + "m": { + "value": 40, + "minWidth": true + } + }, + { + "l": { + "value": 64, + "minWidth": true + } + }, + { + "xl": { + "value": 80, + "minWidth": true + } + } + ], + "colors": { + "black-90": "rgba(0,0,0,.9)", + "black-80": "rgba(0,0,0,.8)", + "black-70": "rgba(0,0,0,.7)", + "black-60": "rgba(0,0,0,.6)", + "black-50": "rgba(0,0,0,.5)", + "black-40": "rgba(0,0,0,.4)", + "black-30": "rgba(0,0,0,.3)", + "black-20": "rgba(0,0,0,.2)", + "black-10": "rgba(0,0,0,.1)", + "black-05": "rgba(0,0,0,.05)", + "black-025": "rgba(0,0,0,.025)", + "black-0125": "rgba(0,0,0,.0125)", + "white-90": "rgba(255,255,255,.9)", + "white-80": "rgba(255,255,255,.8)", + "white-70": "rgba(255,255,255,.7)", + "white-60": "rgba(255,255,255,.6)", + "white-50": "rgba(255,255,255,.5)", + "white-40": "rgba(255,255,255,.4)", + "white-30": "rgba(255,255,255,.3)", + "white-20": "rgba(255,255,255,.2)", + "white-10": "rgba(255,255,255,.1)", + "white-05": "rgba(255,255,255,.05)", + "white-025": "rgba(255,255,255,.025)", + "white-0125": "rgba(255,255,255,.0125)" }, - { - "name": "regular", - "value": 2.5 + "semanticColors": { + "background": { + "base": "#ffffff", + "base--inverted": "#00000066", + "action-primary": "#292929", + "action-secondary": "#eef3f7", + "emphasis": "#292929", + "disabled": "#66666669", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#ff4c4c", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0", + "muted-1": "#727273", + "muted-2": "#292929", + "muted-3": "#cacbcc", + "muted-4": "#e3e4e6", + "muted-5": "#66666669" + }, + "hover-background": { + "action-primary": "#292929", + "action-secondary": "#D5D5D5", + "emphasis": "#dd1659", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#e13232", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0", + "muted-1": "#727273", + "muted-2": "#979899", + "muted-3": "#cacbcc", + "muted-4": "#e3e4e6", + "muted-5": "#66666669" + }, + "active-background": { + "action-primary": "#e5e5e5", + "action-secondary": "#D5D5D5", + "emphasis": "#dd1659", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#ff4c4c", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0", + "muted-1": "#727273", + "muted-2": "#979899", + "muted-3": "#cacbcc", + "muted-4": "#e3e4e6", + "muted-5": "#66666669" + }, + "text": { + "action-primary": "#7D7D7D", + "action-secondary": "#eef3f7", + "link": "#979899", + "emphasis": "#ff5a00", + "disabled": "#979899", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#ff4c4c", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0", + "muted-1": "#727273", + "muted-2": "#979899", + "muted-3": "#cacbcc", + "muted-4": "#e3e4e6", + "muted-5": "#66666669" + }, + "visited-text": { + "link": "#e5e5e5" + }, + "hover-text": { + "action-primary": "#303030", + "action-secondary": "#D5D5D5", + "link": "#e5e5e5", + "emphasis": "#dd1659", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#e13232", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0" + }, + "active-text": { + "link": "#e5e5e5", + "emphasis": "#dd1659", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#ff4c4c", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0" + }, + "border": { + "action-primary": "#292929", + "action-secondary": "#eef3f7", + "emphasis": "#ff5a00", + "disabled": "#e3e4e6", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#ff4c4c", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0", + "muted-1": "#727273", + "muted-2": "#979899", + "muted-3": "#cacbcc", + "muted-4": "#e3e4e6", + "muted-5": "#66666669" + }, + "hover-border": { + "action-primary": "#303030", + "action-secondary": "#D5D5D5", + "emphasis": "#dd1659", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#e13232", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0", + "muted-1": "#727273", + "muted-2": "#979899", + "muted-3": "#cacbcc", + "muted-4": "#e3e4e6", + "muted-5": "#66666669" + }, + "active-border": { + "action-primary": "#e5e5e5", + "action-secondary": "#D5D5D5", + "emphasis": "#dd1659", + "success": "#8bc34a", + "success--faded": "#eafce3", + "danger": "#ff4c4c", + "danger--faded": "#ffe6e6", + "warning": "#ffb100", + "warning--faded": "#fff6e0", + "muted-1": "#727273", + "muted-2": "#7D7D7D", + "muted-3": "#cacbcc", + "muted-4": "#e3e4e6", + "muted-5": "#66666669" + }, + "on": { + "base": "#7D7D7D", + "base--inverted": "#ffffff", + "action-primary": "#ffffff", + "action-secondary": "#0F3E99", + "emphasis": "#ffffff", + "disabled": "#979899", + "success": "#ffffff", + "success--faded": "#7D7D7D", + "danger": "#ffffff", + "danger--faded": "#7D7D7D", + "warning": "#ffffff", + "warning--faded": "#1a1a1a", + "muted-1": "#ffffff", + "muted-2": "#ffffff", + "muted-3": "#7D7D7D", + "muted-4": "#7D7D7D", + "muted-5": "#7D7D7D", + "m3": "#0F3E99" + }, + "m3": { + "base": "#7D7D7D", + "base--inverted": "#ffffff", + "action-primary": "#ffffff", + "action-secondary": "#0F3E99", + "emphasis": "#0F3E99", + "disabled": "#979899", + "success": "#ffffff", + "success--faded": "#7D7D7D", + "danger": "#ffffff", + "danger--faded": "#7D7D7D", + "warning": "#ffffff", + "warning--faded": "#1a1a1a", + "muted-1": "#ffffff", + "muted-2": "#ffffff", + "muted-3": "#7D7D7D", + "muted-4": "#7D7D7D", + "muted-5": "#7D7D7D" + }, + "hover-on": { + "action-primary": "#ffffff", + "action-secondary": "#0F3E99", + "emphasis": "#ffffff", + "success": "#ffffff", + "success--faded": "#7D7D7D", + "danger": "#ffffff", + "danger--faded": "#7D7D7D", + "warning": "#ffffff", + "warning--faded": "#1a1a1a" + }, + "active-on": { + "action-primary": "#ffffff", + "action-secondary": "#0F3E99", + "emphasis": "#ffffff", + "success": "#ffffff", + "success--faded": "#7D7D7D", + "danger": "#ffffff", + "danger--faded": "#7D7D7D", + "warning": "#ffffff", + "warning--faded": "#1a1a1a" + } }, - { - "name": "large", - "value": 3 - } - ], - "typography": { - "measure": [ - 30, - 34, - 20 + "borderWidths": [0, 0.125, 0.25, 0.5, 1, 2], + "borderRadius": [0, 0.125, 0.25, 0.5, 1], + "widths": [1, 2, 4, 8, 16], + "maxWidths": [1, 2, 4, 8, 16, 32, 48, 64, 96], + "heights": [1, 2, 4, 8, 16], + "sizes": [ + { + "name": "small", + "value": 2 + }, + { + "name": "regular", + "value": 2.5 + }, + { + "name": "large", + "value": 3 + } ], - "styles": { - "heading-1": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "700", - "fontSize": "3rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "heading-2": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "700", - "fontSize": "2.25rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "heading-3": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "700", - "fontSize": "1.75rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "heading-4": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "normal", - "fontSize": "1.5rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "heading-5": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "normal", - "fontSize": "1.25rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "heading-6": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "normal", - "fontSize": "1.25rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "body": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "normal", - "fontSize": "1rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "small": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "normal", - "fontSize": "0.875rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "mini": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "normal", - "fontSize": "0.75rem", - "textTransform": "initial", - "letterSpacing": "0" - }, - "action": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "500", - "fontSize": "1rem", - "textTransform": "uppercase", - "letterSpacing": "0" - }, - "action--small": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "500", - "fontSize": "0.875rem", - "textTransform": "uppercase", - "letterSpacing": "0" - }, - "action--large": { - "fontFamily": "Fabriga, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", - "fontWeight": "500", - "fontSize": "1.25rem", - "textTransform": "uppercase", - "letterSpacing": "0" - }, - "code": { - "fontFamily": "Consolas, monaco, monospace", - "fontWeight": "normal", - "fontSize": "1rem", - "textTransform": "initial", - "letterSpacing": "0" - } - } - }, - "opacity": [ - 1, - 0.9, - 0.8, - 0.7, - 0.6, - 0.5, - 0.4, - 0.3, - 0.2, - 0.1, - 0.05, - 0.025, - 0 - ] + "typography": { + "measure": [30, 34, 20], + "styles": { + "custom-heading-1": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "700", + "fontSize": "3rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "heading-1": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "700", + "fontSize": "3rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "heading-2": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "700", + "fontSize": "2.25rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "heading-3": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "700", + "fontSize": "1.75rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "heading-4": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "900", + "fontSize": "24px", + "textTransform": "initial", + "letterSpacing": "0" + }, + "heading-5": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "normal", + "fontSize": "1.25rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "heading-6": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "normal", + "fontSize": "1.25rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "body": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "normal", + "fontSize": "1rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "small": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "normal", + "fontSize": "0.875rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "mini": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "normal", + "fontSize": "0.75rem", + "textTransform": "initial", + "letterSpacing": "0" + }, + "action": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "500", + "fontSize": "1rem", + "textTransform": "uppercase", + "letterSpacing": "0" + }, + "action--small": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "500", + "fontSize": "0.875rem", + "textTransform": "uppercase", + "letterSpacing": "0" + }, + "action--large": { + "fontFamily": "Overpass, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, Overpass, noto, segoe ui, arial, sans-serif", + "fontWeight": "500", + "fontSize": "1.25rem", + "textTransform": "uppercase", + "letterSpacing": "0" + }, + "code": { + "fontFamily": "Consolas, monaco, monospace", + "fontWeight": "normal", + "fontSize": "1rem", + "textTransform": "initial", + "letterSpacing": "0" + } + } + }, + "opacity": [1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.05, 0.025, 0] } diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css deleted file mode 100644 index e69de29b..00000000 diff --git a/styles/iconpacks/iconpack.svg b/styles/iconpacks/iconpack.svg new file mode 100644 index 00000000..48a5bc44 --- /dev/null +++ b/styles/iconpacks/iconpack.svg @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..a33482f7 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6110 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + +"@babel/generator@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.24.0", "@babel/parser@^7.24.5", "@babel/parser@^7.7.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== + +"@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" + integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.7.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== + dependencies: + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.7.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + +"@commitlint/config-validator@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-19.0.3.tgz#052b181a30da6b4fc16dc5230f4589ac95e0bc81" + integrity sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q== + dependencies: + "@commitlint/types" "^19.0.3" + ajv "^8.11.0" + +"@commitlint/execute-rule@^19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz#928fb239ae8deec82a6e3b05ec9cfe20afa83856" + integrity sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw== + +"@commitlint/load@>6.1.1": + version "19.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-19.2.0.tgz#3ca51fdead4f1e1e09c9c7df343306412b1ef295" + integrity sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ== + dependencies: + "@commitlint/config-validator" "^19.0.3" + "@commitlint/execute-rule" "^19.0.0" + "@commitlint/resolve-extends" "^19.1.0" + "@commitlint/types" "^19.0.3" + chalk "^5.3.0" + cosmiconfig "^9.0.0" + cosmiconfig-typescript-loader "^5.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" + +"@commitlint/resolve-extends@^19.1.0": + version "19.1.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz#fa5b8f921e9c8d76f53624c35bf25b9676bd73fa" + integrity sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg== + dependencies: + "@commitlint/config-validator" "^19.0.3" + "@commitlint/types" "^19.0.3" + global-directory "^4.0.1" + import-meta-resolve "^4.0.0" + lodash.mergewith "^4.6.2" + resolve-from "^5.0.0" + +"@commitlint/types@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-19.0.3.tgz#feff4ecac2b5c359f2a57f9ab094b2ac80ef0266" + integrity sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA== + dependencies: + "@types/conventional-commits-parser" "^5.0.0" + chalk "^5.3.0" + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@types/conventional-commits-parser@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#8c9d23e0b415b24b91626d07017303755d542dc8" + integrity sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ== + dependencies: + "@types/node" "*" + +"@types/debug@^4.0.0": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + +"@types/hast@^2.0.0": + version "2.3.10" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" + integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== + dependencies: + "@types/unist" "^2" + +"@types/hoist-non-react-statics@^3.3.1": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/json-schema@^7.0.7", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/mdast@^3.0.0": + version "3.0.15" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== + dependencies: + "@types/unist" "^2" + +"@types/ms@*": + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + +"@types/node@*": + version "20.12.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be" + integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw== + dependencies: + undici-types "~5.26.4" + +"@types/node@^12.12.21": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prop-types@*", "@types/prop-types@^15.0.0": + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + +"@types/react@*": + version "18.3.1" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.1.tgz#fed43985caa834a2084d002e4771e15dfcbdbe8e" + integrity sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/semver@^7.3.12": + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@types/unist@^2", "@types/unist@^2.0.0": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" + integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + +"@typescript-eslint/eslint-plugin@^4.14.1": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0", "@typescript-eslint/experimental-utils@^4.0.1": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.14.1": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@^5.15.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@vtex/prettier-config@^0.3.6": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@vtex/prettier-config/-/prettier-config-0.3.6.tgz#31762608d9a59b815b6d4e963e439b12f1a12279" + integrity sha512-nXE3BcMODomFK3EowfK+Hdj2qQRqB8JcdRv8yTREXnN9xq8DYKmH/dWB+RY/Hn3KozFLbygpZRbqYsiA6HDINQ== + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1, ajv@^8.11.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" + integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== + dependencies: + fast-deep-equal "^3.1.3" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.4.1" + +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== + dependencies: + ansi-wrap "^0.1.0" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw== + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw== + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA== + dependencies: + buffer-equal "^1.0.0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +arr-filter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" + integrity sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA== + dependencies: + make-iterator "^1.0.0" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-map@^2.0.0, arr-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" + integrity sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw== + dependencies: + make-iterator "^1.0.0" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-each@^1.0.0, array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA== + +array-includes@^3.1.6, array-includes@^3.1.7: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array-initial@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" + integrity sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw== + dependencies: + array-slice "^1.0.0" + is-number "^4.0.0" + +array-last@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" + integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== + dependencies: + is-number "^4.0.0" + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +array.prototype.findlast@^1.2.4: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.toreversed@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" + integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" + integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.1.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-done@^1.2.0, async-done@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" + integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.2" + process-nextick-args "^2.0.0" + stream-exhaust "^1.0.1" + +async-each@^1.0.1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77" + integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg== + +async-settle@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" + integrity sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw== + dependencies: + async-done "^1.2.2" + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axe-core@=4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" + integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== + +axobject-query@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" + integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== + dependencies: + dequal "^2.0.3" + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +bach@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" + integrity sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg== + dependencies: + arr-filter "^1.1.1" + arr-flatten "^1.0.1" + arr-map "^2.0.0" + array-each "^1.0.0" + array-initial "^1.0.0" + array-last "^1.1.1" + async-done "^1.2.2" + async-settle "^1.0.0" + now-and-later "^2.0.0" + +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +buffer-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90" + integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cachedir@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" + integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + integrity sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg== + +chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +"chokidar@>=3.0.0 <4.0.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^2.0.0: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@^2.2.5: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +clean-css@4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w== + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag== + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== + +collection-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" + integrity sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA== + dependencies: + arr-map "^2.0.2" + for-own "^1.0.0" + make-iterator "^1.0.0" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colorette@^2.0.16: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commitizen@^4.0.3, commitizen@^4.2.4: + version "4.3.0" + resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-4.3.0.tgz#0d056c542a2d2b1f9b9aba981aa32575b2849924" + integrity sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw== + dependencies: + cachedir "2.3.0" + cz-conventional-changelog "3.3.0" + dedent "0.7.0" + detect-indent "6.1.0" + find-node-modules "^2.1.2" + find-root "1.1.0" + fs-extra "9.1.0" + glob "7.2.3" + inquirer "8.2.5" + is-utf8 "^0.2.1" + lodash "4.17.21" + minimist "1.2.7" + strip-bom "4.0.0" + strip-json-comments "3.1.1" + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.9: + version "1.0.11" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + +conventional-commit-types@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz#7c9214e58eae93e85dd66dbfbafe7e4fffa2365b" + integrity sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg== + +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +copy-props@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" + integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== + dependencies: + each-props "^1.3.2" + is-plain-object "^5.0.0" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig-typescript-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz#0d3becfe022a871f7275ceb2397d692e06045dc8" + integrity sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA== + dependencies: + jiti "^1.19.1" + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== + dependencies: + env-paths "^2.2.1" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +csstype@^3.0.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +cz-conventional-changelog@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz#9246947c90404149b3fe2cf7ee91acad3b7d22d2" + integrity sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw== + dependencies: + chalk "^2.4.1" + commitizen "^4.0.3" + conventional-commit-types "^3.0.0" + lodash.map "^4.5.1" + longest "^2.0.1" + word-wrap "^1.0.3" + optionalDependencies: + "@commitlint/load" ">6.1.1" + +d@1, d@^1.0.1, d@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de" + integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw== + dependencies: + es5-ext "^0.10.64" + type "^2.7.2" + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +date-fns@^2.29.3: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.0, debug@^4.0.1, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-named-character-reference@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + dependencies: + character-entities "^2.0.0" + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +dedent@0.7.0, dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" + integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== + +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + +default-resolution@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" + integrity sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +dequal@^2.0.0, dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== + +detect-indent@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== + +diff@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +each-props@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" + integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== + dependencies: + is-plain-object "^2.0.1" + object.defaults "^1.1.0" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enquire.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/enquire.js/-/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814" + integrity sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw== + +enquirer@^2.3.5, enquirer@^2.3.6: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-iterator-helpers@^1.0.15, es-iterator-helpers@^1.0.17: + version "1.0.19" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz#117003d0e5fec237b4b5c08aded722e0c6d50ca8" + integrity sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + iterator.prototype "^1.1.2" + safe-array-concat "^1.1.2" + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14: + version "0.10.64" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" + integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + esniff "^2.0.1" + next-tick "^1.1.0" + +es6-iterator@^2.0.1, es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c" + integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg== + dependencies: + d "^1.0.2" + ext "^1.7.0" + +es6-weak-map@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" + integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== + dependencies: + get-stdin "^6.0.0" + +eslint-config-vtex-react@^6.7.0: + version "6.9.5" + resolved "https://registry.yarnpkg.com/eslint-config-vtex-react/-/eslint-config-vtex-react-6.9.5.tgz#e7452be564c5ac2551ed93caf81a3203ede460e6" + integrity sha512-KmrckQNUKwHJRbVxYOa+i3NHcJfOAozo9In/k9RNZvdwX4x1Zo3deRhaf0uXpYsNW0ieNxHajVAYXqIWuSZxIw== + dependencies: + eslint-config-vtex "^12.9.5" + eslint-plugin-jsx-a11y "^6.3.1" + eslint-plugin-react "^7.20.6" + eslint-plugin-react-hooks "^4.1.0" + +eslint-config-vtex@^12.9.3, eslint-config-vtex@^12.9.5: + version "12.9.5" + resolved "https://registry.yarnpkg.com/eslint-config-vtex/-/eslint-config-vtex-12.9.5.tgz#e6ea011e1da95f95363bd414a0f5b203621b8f4a" + integrity sha512-X1F865u0L6cLg8IR5IqCGNSlvPhOyWXBw7i3Cl+vLBNezyvjuIDrn/FAfSd6sKGJJtjMXDacA9VP/qs3xRTIVA== + dependencies: + "@typescript-eslint/eslint-plugin" "^4.14.1" + "@typescript-eslint/parser" "^4.14.1" + confusing-browser-globals "^1.0.9" + eslint-config-prettier "^6.15.0" + eslint-plugin-cypress "^2.11.2" + eslint-plugin-import "^2.22.1" + eslint-plugin-jest "^24.1.3" + eslint-plugin-prettier "^3.1.4" + eslint-plugin-vtex "^2.0.10" + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" + integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== + dependencies: + debug "^3.2.7" + +eslint-plugin-cypress@^2.11.2: + version "2.15.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.2.tgz#f22e12fad4c434edad7b298ef92bac8fa087ffa0" + integrity sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ== + dependencies: + globals "^13.20.0" + +eslint-plugin-import@^2.22.1: + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.15.0" + +eslint-plugin-jest@^24.1.3: + version "24.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz#206ac0833841e59e375170b15f8d0955219c4889" + integrity sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA== + dependencies: + "@typescript-eslint/experimental-utils" "^4.0.1" + +eslint-plugin-jsx-a11y@^6.3.1: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" + integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== + dependencies: + "@babel/runtime" "^7.23.2" + aria-query "^5.3.0" + array-includes "^3.1.7" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "=4.7.0" + axobject-query "^3.2.1" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + es-iterator-helpers "^1.0.15" + hasown "^2.0.0" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.entries "^1.1.7" + object.fromentries "^2.0.7" + +eslint-plugin-prettier@^3.1.4: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" + integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@^4.1.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" + integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== + +eslint-plugin-react@^7.20.6: + version "7.34.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz#6806b70c97796f5bbfb235a5d3379ece5f4da997" + integrity sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlast "^1.2.4" + array.prototype.flatmap "^1.3.2" + array.prototype.toreversed "^1.1.2" + array.prototype.tosorted "^1.1.3" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.17" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.7" + object.fromentries "^2.0.7" + object.hasown "^1.1.3" + object.values "^1.1.7" + prop-types "^15.8.1" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.10" + +eslint-plugin-vtex@^2.0.10: + version "2.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vtex/-/eslint-plugin-vtex-2.3.0.tgz#d3fb21a717b049c26c164692814b773f2a2daeae" + integrity sha512-24f0WZkNMCdFB6hm5gD1uMdwtiHMMyF03y9iLRyKRIvoBiNanfY/Az2db9w0hkHbeDX0nnYlhB5kEpCP6921Fw== + dependencies: + "@typescript-eslint/utils" "^5.15.0" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^7.16.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +esniff@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" + integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== + dependencies: + d "^1.0.1" + es5-ext "^0.10.62" + event-emitter "^0.3.5" + type "^2.7.2" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + +execa@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw== + dependencies: + homedir-polyfill "^1.0.1" + +ext@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fancy-log@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" + integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" + time-stamp "^1.0.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" + integrity sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-node-modules@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.1.3.tgz#3c976cff2ca29ee94b4f9eafc613987fc4c0ee44" + integrity sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg== + dependencies: + findup-sync "^4.0.0" + merge "^2.1.1" + +find-root@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-versions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" + integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== + dependencies: + semver-regex "^3.1.2" + +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g== + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +findup-sync@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" + integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^4.0.2" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +flush-write-stream@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg== + dependencies: + for-in "^1.0.1" + +formik@^2.2.9: + version "2.4.6" + resolved "https://registry.yarnpkg.com/formik/-/formik-2.4.6.tgz#4da75ca80f1a827ab35b08fd98d5a76e928c9686" + integrity sha512-A+2EI7U7aG296q2TLGvNapDNTZp1khVt5Vk0Q/fyfSROss0V/V6+txt2aJnwEos44IxTCW/LYAi/zgWzlevj+g== + dependencies: + "@types/hoist-non-react-statics" "^3.3.1" + deepmerge "^2.1.1" + hoist-non-react-statics "^3.3.0" + lodash "^4.17.21" + lodash-es "^4.17.21" + react-fast-compare "^2.0.1" + tiny-warning "^1.0.2" + tslib "^2.0.0" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + dependencies: + map-cache "^0.2.2" + +fs-extra@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ== + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw== + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + +glob-watcher@^5.0.3: + version "5.0.5" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" + integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== + dependencies: + anymatch "^2.0.0" + async-done "^1.2.0" + chokidar "^2.0.0" + is-negated-glob "^1.0.0" + just-debounce "^1.0.0" + normalize-path "^3.0.0" + object.defaults "^1.1.0" + +glob@7.2.3, glob@^7.1.1, glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-directory@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/global-directory/-/global-directory-4.0.1.tgz#4d7ac7cfd2cb73f304c53b8810891748df5e361e" + integrity sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== + dependencies: + ini "4.1.1" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg== + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.20.0, globals@^13.6.0, globals@^13.9.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +globby@^11.0.3, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +glogg@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" + integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== + dependencies: + sparkles "^1.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +gulp-clean-css@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz#5b1e73f2fca46703eb636014cdd4553cea65146d" + integrity sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg== + dependencies: + clean-css "4.2.3" + plugin-error "1.0.1" + through2 "3.0.1" + vinyl-sourcemaps-apply "0.2.1" + +gulp-cli@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" + integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A== + dependencies: + ansi-colors "^1.0.1" + archy "^1.0.0" + array-sort "^1.0.0" + color-support "^1.1.3" + concat-stream "^1.6.0" + copy-props "^2.0.1" + fancy-log "^1.3.2" + gulplog "^1.0.0" + interpret "^1.4.0" + isobject "^3.0.1" + liftoff "^3.1.0" + matchdep "^2.0.0" + mute-stdout "^1.0.0" + pretty-hrtime "^1.0.0" + replace-homedir "^1.0.0" + semver-greatest-satisfied-range "^1.1.0" + v8flags "^3.2.0" + yargs "^7.1.0" + +gulp-sass@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-5.1.0.tgz#bb3d9094f39a260f62a8d0a6797b95ab826f9663" + integrity sha512-7VT0uaF+VZCmkNBglfe1b34bxn/AfcssquLKVDYnCDJ3xNBaW7cUuI3p3BQmoKcoKFrs9jdzUxyb+u+NGfL4OQ== + dependencies: + lodash.clonedeep "^4.5.0" + picocolors "^1.0.0" + plugin-error "^1.0.1" + replace-ext "^2.0.0" + strip-ansi "^6.0.1" + vinyl-sourcemaps-apply "^0.2.1" + +gulp@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" + integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== + dependencies: + glob-watcher "^5.0.3" + gulp-cli "^2.2.0" + undertaker "^1.2.1" + vinyl-fs "^3.0.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw== + dependencies: + glogg "^1.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hast-util-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" + integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== + +hoist-non-react-statics@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +husky@^4.3.6: + version "4.3.8" + resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d" + integrity sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow== + dependencies: + chalk "^4.0.0" + ci-info "^2.0.0" + compare-versions "^3.6.0" + cosmiconfig "^7.0.0" + find-versions "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.8, ignore@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +immutable@^4.0.0: + version "4.3.5" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0" + integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== + +import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-meta-resolve@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#f9db8bead9fafa61adb811db77a2bf22c5399706" + integrity sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" + integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + +inquirer@8.2.5: + version "8.2.5" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" + integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" + integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== + dependencies: + hasown "^2.0.0" + +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-data-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" + integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== + dependencies: + hasown "^2.0.0" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" + integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" + integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA== + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +jiti@^1.19.1: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== + dependencies: + string-convert "^0.2.0" + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +just-debounce@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" + integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^4.0.3: + version "4.1.5" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + +language-subtag-registry@^0.3.20: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + +last-run@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" + integrity sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ== + dependencies: + default-resolution "^2.0.0" + es6-weak-map "^2.0.1" + +lazystream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" + integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== + dependencies: + readable-stream "^2.0.5" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw== + dependencies: + invert-kv "^1.0.0" + +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow== + dependencies: + flush-write-stream "^1.0.2" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +liftoff@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lint-staged@^10.5.3: + version "10.5.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" + integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.map@^4.5.1: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + integrity sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@4.17.21, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.0.0, log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +longest@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-2.0.1.tgz#781e183296aa94f6d4d916dc335d0d17aefa23f8" + integrity sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q== + +loose-envify@^1.0.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + +matchdep@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" + integrity sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA== + dependencies: + findup-sync "^2.0.0" + micromatch "^3.0.4" + resolve "^1.4.0" + stack-trace "0.0.10" + +mdast-util-definitions@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" + integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + unist-util-visit "^4.0.0" + +mdast-util-from-markdown@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" + integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + decode-named-character-reference "^1.0.0" + mdast-util-to-string "^3.1.0" + micromark "^3.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-decode-string "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + unist-util-stringify-position "^3.0.0" + uvu "^0.5.0" + +mdast-util-to-hast@^12.1.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" + integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-definitions "^5.0.0" + micromark-util-sanitize-uri "^1.1.0" + trim-lines "^3.0.0" + unist-util-generated "^2.0.0" + unist-util-position "^4.0.0" + unist-util-visit "^4.0.0" + +mdast-util-to-string@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" + integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== + dependencies: + "@types/mdast" "^3.0.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +merge@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" + integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== + +micromark-core-commonmark@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" + integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-factory-destination "^1.0.0" + micromark-factory-label "^1.0.0" + micromark-factory-space "^1.0.0" + micromark-factory-title "^1.0.0" + micromark-factory-whitespace "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-chunked "^1.0.0" + micromark-util-classify-character "^1.0.0" + micromark-util-html-tag-name "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-subtokenize "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.1" + uvu "^0.5.0" + +micromark-factory-destination@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" + integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-label@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" + integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + +micromark-factory-space@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" + integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-title@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" + integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-whitespace@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" + integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-character@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" + integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-chunked@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" + integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-classify-character@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" + integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-combine-extensions@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" + integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-decode-numeric-character-reference@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" + integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-decode-string@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" + integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-symbol "^1.0.0" + +micromark-util-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" + integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== + +micromark-util-html-tag-name@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" + integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== + +micromark-util-normalize-identifier@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" + integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-resolve-all@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" + integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== + dependencies: + micromark-util-types "^1.0.0" + +micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" + integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-symbol "^1.0.0" + +micromark-util-subtokenize@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" + integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + +micromark-util-symbol@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" + integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== + +micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" + integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== + +micromark@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" + integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + micromark-core-commonmark "^1.0.1" + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-chunked "^1.0.0" + micromark-util-combine-extensions "^1.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-sanitize-uri "^1.0.0" + micromark-util-subtokenize "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.1" + uvu "^0.5.0" + +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mri@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +mute-stdout@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" + integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@^2.12.1: + version "2.19.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" + integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + +object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.4, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.defaults@^1.0.0, object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA== + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.entries@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +object.fromentries@^2.0.7: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.hasown@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.4.tgz#e270ae377e4c120cdcb7656ce66884a6218283dc" + integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== + dependencies: + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w== + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +object.reduce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" + integrity sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw== + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.values@^1.1.6, object.values@^1.1.7: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.9.1: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw== + dependencies: + readable-stream "^2.0.1" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g== + dependencies: + lcid "^1.0.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q== + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== + dependencies: + error-ex "^1.2.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-node-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== + dependencies: + path-root-regex "^0.1.0" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pkg-dir@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== + dependencies: + find-up "^5.0.0" + +please-upgrade-node@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +plugin-error@1.0.1, plugin-error@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" + integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA== + dependencies: + ansi-colors "^1.0.1" + arr-diff "^4.0.0" + arr-union "^3.1.0" + extend-shallow "^3.0.2" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^2.2.1: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +prop-types@^15.0.0, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-expr@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8" + integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== + +property-information@^6.0.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +react-fast-compare@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" + integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== + +react-input-mask@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-input-mask/-/react-input-mask-2.0.4.tgz#9ade5cf8196f4a856dbf010820fe75a795f3eb14" + integrity sha512-1hwzMr/aO9tXfiroiVCx5EtKohKwLk/NT8QlJXHQ4N+yJJFyUuMT+zfTpLBwX/lK3PkuMlievIffncpMZ3HGRQ== + dependencies: + invariant "^2.2.4" + warning "^4.0.2" + +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +react-markdown@^8.0.3: + version "8.0.7" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.7.tgz#c8dbd1b9ba5f1c5e7e5f2a44de465a3caafdf89b" + integrity sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ== + dependencies: + "@types/hast" "^2.0.0" + "@types/prop-types" "^15.0.0" + "@types/unist" "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^2.0.0" + prop-types "^15.0.0" + property-information "^6.0.0" + react-is "^18.0.0" + remark-parse "^10.0.0" + remark-rehype "^10.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.0" + unified "^10.0.0" + unist-util-visit "^4.0.0" + vfile "^5.0.0" + +react-slick@^0.29.0: + version "0.29.0" + resolved "https://registry.yarnpkg.com/react-slick/-/react-slick-0.29.0.tgz#0bed5ea42bf75a23d40c0259b828ed27627b51bb" + integrity sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA== + dependencies: + classnames "^2.2.5" + enquire.js "^2.1.6" + json2mq "^0.2.0" + lodash.debounce "^4.0.8" + resize-observer-polyfill "^1.5.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +reflect.getprototypeof@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" + integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +remark-parse@^10.0.0: + version "10.0.2" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" + integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + unified "^10.0.0" + +remark-rehype@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" + integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-to-hast "^12.1.0" + unified "^10.0.0" + +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA== + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +replace-ext@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-2.0.0.tgz#9471c213d22e1bcc26717cd6e50881d88f812b06" + integrity sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug== + +replace-homedir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" + integrity sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg== + dependencies: + homedir-polyfill "^1.0.1" + is-absolute "^1.0.0" + remove-trailing-separator "^1.1.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== + +resize-observer-polyfill@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A== + dependencies: + value-or-function "^3.0.0" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.22.4, resolve@^1.4.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^7.5.1, rxjs@^7.5.5: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +sade@^1.7.3: + version "1.8.1" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" + integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== + dependencies: + mri "^1.1.0" + +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass@^1.53.0: + version "1.77.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.0.tgz#e736c69aff9fae4a4e6dae60a979eee9c942f321" + integrity sha512-eGj4HNfXqBWtSnvItNkn7B6icqH14i3CiCGbzMKs3BAPTq62pp9NBYsBgyN4cA+qssqo9r26lW4JSvlaUUWbgw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== + +semver-greatest-satisfied-range@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" + integrity sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ== + dependencies: + sver-compat "^1.5.0" + +semver-regex@^3.1.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.4.tgz#13053c0d4aa11d070a2f2872b6b1e3ae1e1971b4" + integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.2.1, semver@^7.3.5, semver@^7.3.7: + version "7.6.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.1.tgz#60bfe090bf907a25aa8119a72b9f90ef7ca281b2" + integrity sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1, set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4, side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +"source-map-js@>=0.6.2 <2.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.1, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.17" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-trace@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stream-exhaust@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" + integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== + +stream-shift@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.10: + version "4.0.11" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" + +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-to-object@^0.4.0: + version "0.4.4" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" + integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== + dependencies: + inline-style-parser "0.1.1" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +sver-compat@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" + integrity sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg== + dependencies: + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +table@^6.0.9: + version "6.8.2" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" + integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +through2-filter@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.1.0.tgz#4a1b45d2b76b3ac93ec137951e372c268efc1a4e" + integrity sha512-VhZsTsfrIJjyUi6GeecnwcOJlmoqgIdGFDjqnV5ape+F1DN8GejfPO66XyIhoinxmxGImiUTrq9RwpTN5yszGA== + dependencies: + through2 "^4.0.2" + +through2@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" + integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== + dependencies: + readable-stream "2 || 3" + +through2@^2.0.0, through2@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +through@^2.3.6, through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw== + +tiny-case@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03" + integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q== + +tiny-warning@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA== + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q== + dependencies: + through2 "^2.0.3" + +toposort@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" + integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== + +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + +trough@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.1.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +typescript@^3.7.5: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== + +undertaker-registry@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" + integrity sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw== + +undertaker@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18" + integrity sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg== + dependencies: + arr-flatten "^1.0.1" + arr-map "^2.0.0" + bach "^1.0.0" + collection-map "^1.0.0" + es6-weak-map "^2.0.1" + fast-levenshtein "^1.0.0" + last-run "^1.1.0" + object.defaults "^1.0.0" + object.reduce "^1.0.0" + undertaker-registry "^1.0.0" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unified@^10.0.0: + version "10.1.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== + dependencies: + "@types/unist" "^2.0.0" + bail "^2.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^5.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + +unist-util-generated@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" + integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== + +unist-util-is@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" + integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-position@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" + integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-stringify-position@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" + integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-visit-parents@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" + integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + +unist-util-visit@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" + integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.1.1" + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +uri-js@^4.2.2, uri-js@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uvu@^0.5.0: + version "0.5.6" + resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" + integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== + dependencies: + dequal "^2.0.0" + diff "^5.0.0" + kleur "^4.0.3" + sade "^1.7.3" + +v8-compile-cache@^2.0.3: + version "2.4.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== + +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg== + +vfile-message@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" + integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + +vfile@^5.0.0: + version "5.3.7" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" + integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + +vinyl-fs@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA== + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl-sourcemaps-apply@0.2.1, vinyl-sourcemaps-apply@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + integrity sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw== + dependencies: + source-map "^0.5.1" + +vinyl@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +warning@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-builtin-type@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" + integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + dependencies: + function.prototype.name "^1.1.5" + has-tostringtag "^1.0.0" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +which-collection@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + integrity sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ== + +which-pm-runs@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" + integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== + +which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which@^1.2.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.0.3, word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" + integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== + dependencies: + camelcase "^3.0.0" + object.assign "^4.1.0" + +yargs@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" + integrity sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA== + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yup@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/yup/-/yup-1.4.0.tgz#898dcd660f9fb97c41f181839d3d65c3ee15a43e" + integrity sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg== + dependencies: + property-expr "^2.0.5" + tiny-case "^1.0.3" + toposort "^2.0.2" + type-fest "^2.19.0" From fdd7ddc1f25ca8ef7e3c528cc9f562fad8a96a44 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 8 May 2024 16:55:26 -0300 Subject: [PATCH 002/310] chore: Add gulp build task and improve sass organization --- gulpfile.js | 125 ++++++++++++++++++++++++++++++++++++++++----------- package.json | 10 +++-- 2 files changed, 105 insertions(+), 30 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 12472c5b..70daf51a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,34 +1,107 @@ -const gulp = require('gulp') +const gulp = require('gulp'), + concat = require('gulp-concat'), + path = require('path'), + glob = require('glob') + const sass = require('gulp-sass')(require('sass')) -const cleanCSS = require('gulp-clean-css') -function reactMount() { - return ( - gulp - .src('./react/styles/scss/*.scss') - .pipe(sass()) - // .pipe(cleanCSS({compatibility: 'ie8'})) - .pipe(gulp.dest('./react/styles/css')) - ) +// @TODO: melhorar a organização +/** + ___ _ __ _ ___ + / __| |_ ___ _ _ ___ / _|_ _ ___ _ _| |_ / __| __ _ ______ + \__ \ _/ _ \ '_/ -_) _| '_/ _ \ ' \ _| \__ \/ _` (_-<_-< + |___/\__\___/_| \___|_| |_| \___/_||_\__| |___/\__,_/__/__/ + + */ +// Custom sass para o storefront +const pathsStore = { + styles: { + styles: 'styles/sass/**/', + ext: 'styles/sass/**/*.{css,scss,sass}', + dest: 'styles/css', + }, } -function mount() { - return ( - gulp - .src('./styles/scss/*.scss') - .pipe(sass()) - // .pipe(cleanCSS({compatibility: 'ie8'})) - .pipe(gulp.dest('./styles/css')) - ) +// Quick/efficient way to get the unique values from a array. +function uniqValuesArray(a) { + var seen = {} + var out = [] + var len = a.length + var j = 0 + for (var i = 0; i < len; i++) { + var item = a[i] + if (seen[item] !== 1) { + seen[item] = 1 + out[j++] = item + } + } + return out } +function getCurrentTimestamp() { + const date = new Date() -function watch() { - gulp.watch('./react/styles/scss/*.scss', reactMount) - gulp.watch('./styles/scss/*.scss', mount) - // gulp.watch(cleanCSS({compatibility: 'ie8'})); - gulp.watch('./styles/scss/**/*.scss', mount) + const hours = String(date.getHours()).padStart(2, '0') + const minutes = String(date.getMinutes()).padStart(2, '0') + const seconds = String(date.getSeconds()).padStart(2, '0') + + return `\x1b[35m[${hours}:${minutes}:${seconds}]\x1b[0m` } -exports.watch = watch -exports.mount = mount -exports.mount = reactMount +let filteredFiles = [] + +gulp.task('getFiles', function (done) { + glob(pathsStore.styles.ext, function (er, files) { + filteredFiles = uniqValuesArray([ + ...files.map((file) => path.basename(file)), + ]) + done() + }) +}) + +gulp.task('sass', function (done) { + filteredFiles.forEach((file) => { + const fileName = file + + gulp + .src([ + 'styles/sass/utils/_mixin.scss', + 'styles/sass/utils/_vars.scss', + pathsStore.styles.styles + fileName, + ]) + .pipe(concat(fileName)) + .pipe(sass().on('error', sass.logError)) + .pipe(gulp.dest(pathsStore.styles.dest)) + }) + done() +}) + +gulp.task('run', gulp.series('getFiles', 'sass')) + +gulp.task('watch', function () { + gulp.watch(pathsStore.styles.ext).on('change', function (fileName) { + fileName = path.basename(fileName) + + if (fileName.includes('.css')) { + gulp + .src(pathsStore.styles.styles + fileName) + .pipe(concat(fileName)) + .pipe(gulp.dest(pathsStore.styles.dest)) + } else { + gulp + .src([ + 'styles/sass/utils/_mixin.scss', + 'styles/sass/utils/_vars.scss', + pathsStore.styles.styles + fileName, + ]) + .pipe(concat(fileName)) + .pipe(sass().on('error', sass.logError)) + .pipe(gulp.dest(pathsStore.styles.dest)) + } + + console.log( + getCurrentTimestamp() + ' File: \x1b[32m' + fileName + '\x1b[0m builded.' + ) + }) +}) + +gulp.task('build', gulp.series('run', 'watch')) diff --git a/package.json b/package.json index 6256ae85..09149be1 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { - "name": "liz-store", + "name": "roland-store", "private": true, "license": "UNLICENSED", "scripts": { "lint": "eslint --ext js,jsx,ts,tsx .", "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"", - "build": "gulp mount && gulp watch" + "build": "gulp build" }, "husky": { "hooks": { @@ -36,7 +36,9 @@ "lint-staged": "^10.5.3", "prettier": "^2.2.1", "sass": "^1.53.0", - "typescript": "^3.7.5" + "typescript": "^3.7.5", + "gulp-concat": "^2.6.1", + "gulp-wait": "0.0.2" }, "dependencies": { "date-fns": "^2.29.3", @@ -47,4 +49,4 @@ "yup": "^1.0.0" }, "version": "0.0.0" -} +} \ No newline at end of file From c190112507b2829cfa35c8c096e0f9bbd792d8c1 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 8 May 2024 16:55:36 -0300 Subject: [PATCH 003/310] feat: Add Topbar component and related styles and configurations --- manifest.json | 3 +- react/Topbar.ts | 3 + .../Topbar/components/TopbarContent/index.tsx | 29 +++++++ .../components/TopbarContent/styles.css | 19 +++++ react/components/Topbar/index.tsx | 82 +++++++++++++++++++ react/package.json | 3 + react/yarn.lock | 12 +++ store/blocks/pages/home/home.jsonc | 8 ++ .../partials/header/header-desktop.jsonc | 5 ++ .../partials/header/header-mobile.jsonc | 3 + store/blocks/partials/header/header.jsonc | 9 ++ store/blocks/partials/header/top-bar.jsonc | 48 +++++++++++ styles/css/vtex.flex-layout.css | 14 ++++ styles/css/vtex.store-components.css | 16 ++++ styles/css/vtex.store-link.css | 37 +++++++++ .../partials/header/vtex.flex-layout.scss | 3 + .../header/vtex.store-components.scss | 5 ++ .../sass/partials/header/vtex.store-link.scss | 28 +++++++ styles/sass/utils/_mixin.scss | 72 ++++++++++++++++ styles/sass/utils/_vars.scss | 56 +++++++++++++ yarn.lock | 30 ++++++- 21 files changed, 483 insertions(+), 2 deletions(-) create mode 100644 react/Topbar.ts create mode 100644 react/components/Topbar/components/TopbarContent/index.tsx create mode 100644 react/components/Topbar/components/TopbarContent/styles.css create mode 100644 react/components/Topbar/index.tsx create mode 100644 store/blocks/pages/home/home.jsonc create mode 100644 store/blocks/partials/header/header-desktop.jsonc create mode 100644 store/blocks/partials/header/header-mobile.jsonc create mode 100644 store/blocks/partials/header/header.jsonc create mode 100644 store/blocks/partials/header/top-bar.jsonc create mode 100644 styles/css/vtex.flex-layout.css create mode 100644 styles/css/vtex.store-components.css create mode 100644 styles/css/vtex.store-link.css create mode 100644 styles/sass/partials/header/vtex.flex-layout.scss create mode 100644 styles/sass/partials/header/vtex.store-components.scss create mode 100644 styles/sass/partials/header/vtex.store-link.scss create mode 100644 styles/sass/utils/_mixin.scss create mode 100644 styles/sass/utils/_vars.scss diff --git a/manifest.json b/manifest.json index 5b48347d..77f83d60 100644 --- a/manifest.json +++ b/manifest.json @@ -47,7 +47,8 @@ "vtex.breadcrumb": "1.x", "vtex.sticky-layout": "0.x", "vtex.add-to-cart-button": "0.x", - "vtex.list-context": "0.x" + "vtex.list-context": "0.x", + "vtex.store-link": "0.x" }, "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema" } diff --git a/react/Topbar.ts b/react/Topbar.ts new file mode 100644 index 00000000..4934036e --- /dev/null +++ b/react/Topbar.ts @@ -0,0 +1,3 @@ +import Topbar from './components/Topbar' + +export default Topbar diff --git a/react/components/Topbar/components/TopbarContent/index.tsx b/react/components/Topbar/components/TopbarContent/index.tsx new file mode 100644 index 00000000..93a777ca --- /dev/null +++ b/react/components/Topbar/components/TopbarContent/index.tsx @@ -0,0 +1,29 @@ +import React from 'react' + +import styles from './styles.css' + +interface TopbarContentProps { + backgroundColor: string + color: string + link: string + text: string +} + +const TopbarContent = ({ + backgroundColor, + color, + text, + link, +}: TopbarContentProps) => { + return ( +

+ ) +} + +export default TopbarContent diff --git a/react/components/Topbar/components/TopbarContent/styles.css b/react/components/Topbar/components/TopbarContent/styles.css new file mode 100644 index 00000000..c366211b --- /dev/null +++ b/react/components/Topbar/components/TopbarContent/styles.css @@ -0,0 +1,19 @@ +.topbarContetWrapper { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 32px; +} + +.contentText { + color: var(--Gray-Scale-White, #fff); + + /* text-sm/semibold */ + font-family: 'Proxima Nova'; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; /* 142.857% */ + letter-spacing: -0.14px; +} diff --git a/react/components/Topbar/index.tsx b/react/components/Topbar/index.tsx new file mode 100644 index 00000000..6c1dc81b --- /dev/null +++ b/react/components/Topbar/index.tsx @@ -0,0 +1,82 @@ +import React from 'react' + +// @ts-ignore +import { useListContext, ListContextProvider } from 'vtex.list-context' +import TopbarContent from './components/TopbarContent' + +const Topbar = ({ items, children }: any) => { + const { list } = useListContext() || [] + const topbarContentItems = items.map((item: any, index: number) => { + const { backgroundColor, color, text, active, link } = item + if (!active) return null + + return ( + + ) + }) + + const newListContextValue = list.concat(topbarContentItems) + + return ( + + {children} + + ) +} + +export default Topbar + +Topbar.schema = { + name: 'Topbar', + title: 'Lista de opções do Topbar', + type: 'object', + properties: { + showSearchBar: { + title: 'Mostrar topbar?', + type: 'boolean', + default: true, + }, + items: { + title: 'Itens do Topbar', + type: 'array', + items: { + type: 'object', + properties: { + active: { + title: 'Mostrar no topbar?', + type: 'boolean', + default: true, + }, + link: { + title: 'Link', + type: 'string', + }, + backgroundColor: { + title: 'Cor de fundo', + type: 'string', + widget: { + 'ui:widget': 'color', + }, + }, + color: { + title: 'Cor do texto', + type: 'string', + widget: { + 'ui:widget': 'color', + }, + }, + text: { + title: 'Texto', + type: 'string', + }, + }, + }, + }, + }, +} diff --git a/react/package.json b/react/package.json index c704e9b1..583211de 100644 --- a/react/package.json +++ b/react/package.json @@ -44,12 +44,14 @@ "apollo-cache-inmemory": "^1.6.5", "apollo-client": "^2.5.1", "graphql": "^14.6.0", + "roland.store-theme": "https://sel1424--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715180290/public/@types/roland.store-theme", "typescript": "3.9.7", "vtex.add-to-cart-button": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button", "vtex.breadcrumb": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb", "vtex.carousel": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.carousel@2.12.1/public/@types/vtex.carousel", "vtex.flex-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.flex-layout@0.21.3/public/@types/vtex.flex-layout", "vtex.iframe": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.iframe@0.8.0/public/@types/vtex.iframe", + "vtex.list-context": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.list-context@0.2.0/public/@types/vtex.list-context", "vtex.locale-switcher": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.locale-switcher@0.5.6/public/@types/vtex.locale-switcher", "vtex.login": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.login@2.59.0/public/@types/vtex.login", "vtex.menu": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.menu@2.35.1/public/@types/vtex.menu", @@ -77,6 +79,7 @@ "vtex.store-drawer": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-drawer@0.17.1/public/@types/vtex.store-drawer", "vtex.store-footer": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-footer@2.27.0/public/@types/vtex.store-footer", "vtex.store-header": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-header@2.29.0/public/@types/vtex.store-header", + "vtex.store-link": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-link@0.9.3/public/@types/vtex.store-link", "vtex.styleguide": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.146.9/public/@types/vtex.styleguide", "vtex.tab-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.tab-layout@0.4.6/public/@types/vtex.tab-layout", "vtex.telemarketing": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.telemarketing@2.12.1/public/@types/vtex.telemarketing" diff --git a/react/yarn.lock b/react/yarn.lock index 4a0d8546..a33bbe99 100644 --- a/react/yarn.lock +++ b/react/yarn.lock @@ -4898,6 +4898,10 @@ rimraf@^3.0.0: dependencies: glob "^7.1.3" +"roland.store-theme@https://sel1424--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715180290/public/@types/roland.store-theme": + version "0.0.1" + resolved "https://sel1424--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715180290/public/@types/roland.store-theme#4059a18d0c444c85e903043f5b8532a7e21e6487" + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -5586,6 +5590,10 @@ verror@1.10.0: version "0.8.0" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.iframe@0.8.0/public/@types/vtex.iframe#201ccc038cec1a5eeb5e1e5a751a7337268d198e" +"vtex.list-context@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.list-context@0.2.0/public/@types/vtex.list-context": + version "0.2.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.list-context@0.2.0/public/@types/vtex.list-context#935b748d394851ced7f3b06bbedf59f4ee3ca8a6" + "vtex.locale-switcher@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.locale-switcher@0.5.6/public/@types/vtex.locale-switcher": version "0.5.6" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.locale-switcher@0.5.6/public/@types/vtex.locale-switcher#5db8558af5593d65e4fff3da0903d0081dfcab42" @@ -5690,6 +5698,10 @@ verror@1.10.0: version "2.29.0" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-header@2.29.0/public/@types/vtex.store-header#702033f782c6c25ae2fed42b5a3703db5fd1ac87" +"vtex.store-link@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-link@0.9.3/public/@types/vtex.store-link": + version "0.9.3" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-link@0.9.3/public/@types/vtex.store-link#aedb5f66c1d478bcc14041f6232fa30a912a88fd" + "vtex.store@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store@2.135.0/public/@types/vtex.store": version "2.135.0" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store@2.135.0/public/@types/vtex.store#00f447a8320298247d3e8e4dd43e40b841f38145" diff --git a/store/blocks/pages/home/home.jsonc b/store/blocks/pages/home/home.jsonc new file mode 100644 index 00000000..534aa96b --- /dev/null +++ b/store/blocks/pages/home/home.jsonc @@ -0,0 +1,8 @@ +{ + "store.home": { + "blocks": [], + "parent": { + "header": "header" + } + } +} diff --git a/store/blocks/partials/header/header-desktop.jsonc b/store/blocks/partials/header/header-desktop.jsonc new file mode 100644 index 00000000..23d7ee91 --- /dev/null +++ b/store/blocks/partials/header/header-desktop.jsonc @@ -0,0 +1,5 @@ +{ + "header-layout.desktop": { + "children": ["header-row#topbar"] + } +} diff --git a/store/blocks/partials/header/header-mobile.jsonc b/store/blocks/partials/header/header-mobile.jsonc new file mode 100644 index 00000000..97a9f079 --- /dev/null +++ b/store/blocks/partials/header/header-mobile.jsonc @@ -0,0 +1,3 @@ +{ + "header-layout.mobile": {} +} diff --git a/store/blocks/partials/header/header.jsonc b/store/blocks/partials/header/header.jsonc new file mode 100644 index 00000000..c605ea41 --- /dev/null +++ b/store/blocks/partials/header/header.jsonc @@ -0,0 +1,9 @@ +{ + "header": { + "title": "Header", + "blocks": ["header-layout.desktop", "header-layout.mobile"] + }, + "header.full": { + "blocks": ["header-layout.desktop", "header-layout.mobile"] + } +} diff --git a/store/blocks/partials/header/top-bar.jsonc b/store/blocks/partials/header/top-bar.jsonc new file mode 100644 index 00000000..66f42ba9 --- /dev/null +++ b/store/blocks/partials/header/top-bar.jsonc @@ -0,0 +1,48 @@ +{ + "header-row#topbar": { + "children": ["flex-layout.row#topbar", "link#help-center"] + }, + "flex-layout.row#topbar": { + "children": ["list-context.topbar"], + "props": { + "blockClass": ["topbar-container"] + } + }, + "link#help-center": { + "props": { + "href": "https://www.roland.com/backstage/login", + "label": "Central de ajuda", + "blockClass": "help-center" + } + }, + "list-context.topbar": { + "children": ["slider-layout#topbar"], + "props": { + "items": [ + { + "active": true, + "backgroundColor": "#27272A", + "color": "#FFF", + "text": "Frete grátis nas compras acima de R$199" + } + ] + } + }, + "slider-layout#topbar": { + "props": { + "blockClass": "topbar-slider", + "itemsPerPage": { + "desktop": 1, + "tablet": 1, + "phone": 1 + }, + "autoplay": { + "timeout": 3000, + "stopOnHover": true + }, + "infinite": true, + "showNavigationArrows": "never", + "showPaginationDots": "never" + } + } +} diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css new file mode 100644 index 00000000..347c582d --- /dev/null +++ b/styles/css/vtex.flex-layout.css @@ -0,0 +1,14 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); +/* Grid breakpoints */ +.flexRow--topbar-container { + width: 100%; +} \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css new file mode 100644 index 00000000..48912e0b --- /dev/null +++ b/styles/css/vtex.store-components.css @@ -0,0 +1,16 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); +/* Grid breakpoints */ +.container { + width: 100%; + max-width: 100%; + padding: 0; +} \ No newline at end of file diff --git a/styles/css/vtex.store-link.css b/styles/css/vtex.store-link.css new file mode 100644 index 00000000..3e94ec1e --- /dev/null +++ b/styles/css/vtex.store-link.css @@ -0,0 +1,37 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); +/* Grid breakpoints */ +.link--help-center { + position: absolute; + right: 32px; + display: flex; + align-items: center; + justify-content: center; + text-decoration: none; + gap: 8px; +} +.link--help-center .label--help-center { + color: #FFF; + font-family: "Proxima Nova"; + font-size: 0.875rem; + font-style: normal; + font-weight: 600; + line-height: 1.25rem; + letter-spacing: -0.0088rem; +} +.link--help-center::before { + content: url('data:image/svg+xml,'); + width: 1.5rem; + height: 1.5rem; + padding: 0.125rem 0.1491rem 0.133rem 0.1249rem; + justify-content: center; + align-items: center; +} \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss new file mode 100644 index 00000000..55bc1c5f --- /dev/null +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -0,0 +1,3 @@ +.flexRow--topbar-container { + width: 100%; +} \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-components.scss b/styles/sass/partials/header/vtex.store-components.scss new file mode 100644 index 00000000..b460b71e --- /dev/null +++ b/styles/sass/partials/header/vtex.store-components.scss @@ -0,0 +1,5 @@ +.container { + width: 100%; + max-width: 100%; + padding: 0 +} \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-link.scss b/styles/sass/partials/header/vtex.store-link.scss new file mode 100644 index 00000000..360ed915 --- /dev/null +++ b/styles/sass/partials/header/vtex.store-link.scss @@ -0,0 +1,28 @@ +.link--help-center { + position: absolute; + right: 32px; + display: flex; + align-items: center; + justify-content: center; + text-decoration: none; + gap: 8px; + + .label--help-center { + color: #FFF; + font-family: "Proxima Nova"; + font-size: 0.875rem; + font-style: normal; + font-weight: 600; + line-height: 1.25rem; + letter-spacing: -0.0088rem; + } + + &::before { + content: url('data:image/svg+xml,'); + width: 1.5rem; + height: 1.5rem; + padding: 0.125rem 0.1491rem 0.133rem 0.1249rem; + justify-content: center; + align-items: center; + } +} \ No newline at end of file diff --git a/styles/sass/utils/_mixin.scss b/styles/sass/utils/_mixin.scss new file mode 100644 index 00000000..96e210e6 --- /dev/null +++ b/styles/sass/utils/_mixin.scss @@ -0,0 +1,72 @@ +// MEDIA QUERY MANAGER +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +@mixin respond-phone{ + @media (max-width: 600px) {@content }; +} + +// - phone 600px +// - tab-port 900px +// - tab-land 600px +// - big-desktop 600px +// 1em = 16px +@mixin respond($breakpoint){ + @if $breakpoint == iphonex { + @media only screen and (max-width: 23.43em) { @content }; //375px + } + @if $breakpoint == phone { + @media only screen and (max-width: 37.5em) { @content }; //600px + } + @if $breakpoint == tab-port { + @media only screen and (max-width: 56.25em) { @content }; //900px + } + @if $breakpoint == tab-land { + @media only screen and (max-width: 75em) { @content }; //1200px + } + @if $breakpoint == big-desktop { + @media only screen and (min-width: 112.5em) { @content }; //1800px + } +} +// 86em = 1.376 +// 90em = 1440 +//80em = 1280 +@mixin clearFix(){ + &:after { + content: " "; /* Older browser do not support empty content */ + visibility: hidden; + display: block; + height: 0; + clear: both; + } +} + +/* Media Query M3 */ + +@mixin mq($width, $type: min) { + @if map_has_key($grid-breakpoints, $width) { + $width: map_get($grid-breakpoints, $width); + @if $type == max { + $width: $width - 1px; + } + @media only screen and (#{$type}-width: $width) { + @content; + } + } +} + +@mixin mq_range($min, $max) { + @if (map_has_key($grid-breakpoints, $min) and map_has_key($grid-breakpoints, $max)) { + + $width_max: map_get($grid-breakpoints, $max); + $width_min: map_get($grid-breakpoints, $min); + $width_max: $width_max - 1px; + @media only screen and (min-width: $width_min) and (max-width:$width_max) { + @content; + } + } +} diff --git a/styles/sass/utils/_vars.scss b/styles/sass/utils/_vars.scss new file mode 100644 index 00000000..da5cc0a0 --- /dev/null +++ b/styles/sass/utils/_vars.scss @@ -0,0 +1,56 @@ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); + +$color-black: #000000; +$color-black600: #211f1f; + +$color-white: #ffffff; + +$color-gray: #6c6c6c; +$color-gray2: #7d7d7d; +$color-gray3: #f0f0f0; +$color-gray4: #c4c4c4; +$color-gray5: #e5e5e5; +$color-gray6: #777777; +$color-gray7: #8d8d8d; +$color-gray8: #686868; +$color-gray9: #f2f2f2; +$color-gray10: #363636; + +$color-gray400: #e0e0e0; +$color-gray500: #bdbdbd; +$color-gray600: #303030; +$color-gray700: #918a8a; +$color-gray800: #828282; +$color-gray900: #333333; + +$color-blue: #4267b2; + +$color-green: #4caf50; + +$color-orange: #ff5a00; +$color-orange--hover: #e65100; + +$color-blue: #0064ff; +$color-blue--hover: #055ada; + +$color-red: #e1251b; +$color-red--hover: #c51f16; + +/* Grid breakpoints */ +$grid-breakpoints: ( + xs: 0, + cstm: 400, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px, +) !default; + +$z-index: ( + level1: 5, + level2: 10, + level3: 15, + level4: 20, + level5: 25, +) !default; diff --git a/yarn.lock b/yarn.lock index a33482f7..e2ea659d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1293,6 +1293,13 @@ concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" +concat-with-sourcemaps@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== + dependencies: + source-map "^0.6.1" + confusing-browser-globals@^1.0.9: version "1.0.11" resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" @@ -2693,6 +2700,15 @@ gulp-cli@^2.2.0: v8flags "^3.2.0" yargs "^7.1.0" +gulp-concat@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353" + integrity sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg== + dependencies: + concat-with-sourcemaps "^1.0.0" + through2 "^2.0.0" + vinyl "^2.0.0" + gulp-sass@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-5.1.0.tgz#bb3d9094f39a260f62a8d0a6797b95ab826f9663" @@ -2705,6 +2721,13 @@ gulp-sass@^5.1.0: strip-ansi "^6.0.1" vinyl-sourcemaps-apply "^0.2.1" +gulp-wait@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/gulp-wait/-/gulp-wait-0.0.2.tgz#ecebff4446e1a0d537cb1dc773dbd4581d17fb2d" + integrity sha512-USbMbSDoDZ74U7wnbime09ZGH3Un9ILxOqymqP1gwWZ/Y4utmeDVei8fOioK3DAwjJSil3S3hMe58Bp6ZUDNfw== + dependencies: + map-stream "0.0.4" + gulp@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" @@ -3700,6 +3723,11 @@ map-cache@^0.2.0, map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== +map-stream@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.4.tgz#5ec6de90213ef6c7b2eb9367e9ade8da4efdb68b" + integrity sha512-Z7r7iyB+6s4kZzM6V0DjG9em/X1roScoUPL2n35gEzofAiQTuU575taNaE3h+h20cZGUfInxjtq9KX7bzBQaXA== + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -5170,7 +5198,7 @@ source-map@^0.5.1, source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@~0.6.0: +source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== From 882e724cc593f0d0283efc45b0e5a830db23c9ef Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 8 May 2024 17:26:33 -0300 Subject: [PATCH 004/310] feat: topbar --- assets/svgs/boss-button.svg | 4 +++ assets/svgs/roland-button.svg | 5 +++ store/blocks/partials/header/top-bar.jsonc | 32 +++++++++++++++++-- styles/css/vtex.flex-layout.css | 13 +++++++- styles/css/vtex.store-header.css | 14 ++++++++ styles/css/vtex.store-link.css | 14 ++++++++ .../partials/header/vtex.flex-layout.scss | 15 ++++++++- .../partials/header/vtex.store-header.scss | 3 ++ .../sass/partials/header/vtex.store-link.scss | 31 ++++++++++++++++++ 9 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 assets/svgs/boss-button.svg create mode 100644 assets/svgs/roland-button.svg create mode 100644 styles/css/vtex.store-header.css create mode 100644 styles/sass/partials/header/vtex.store-header.scss diff --git a/assets/svgs/boss-button.svg b/assets/svgs/boss-button.svg new file mode 100644 index 00000000..68b0aa68 --- /dev/null +++ b/assets/svgs/boss-button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/svgs/roland-button.svg b/assets/svgs/roland-button.svg new file mode 100644 index 00000000..de356c6c --- /dev/null +++ b/assets/svgs/roland-button.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/store/blocks/partials/header/top-bar.jsonc b/store/blocks/partials/header/top-bar.jsonc index 66f42ba9..3fc58151 100644 --- a/store/blocks/partials/header/top-bar.jsonc +++ b/store/blocks/partials/header/top-bar.jsonc @@ -1,11 +1,39 @@ { "header-row#topbar": { - "children": ["flex-layout.row#topbar", "link#help-center"] + "children": [ + "flex-layout.row#brand-switcher", + "flex-layout.row#topbar", + "link#help-center" + ], + "props": { + "blockClass": ["topbar-container"] + } + }, + "flex-layout.row#brand-switcher": { + "children": ["link#roland", "link#boss"], + "props": { + "blockClass": ["brand-switcher-container"] + } + }, + "link#roland": { + "title": "Central de Ajuda", + "props": { + "href": "/", + "label": "roland", + "blockClass": ["link-roland"] + } + }, + "link#boss": { + "props": { + "href": "/", + "label": "boss", + "blockClass": ["link-boss"] + } }, "flex-layout.row#topbar": { "children": ["list-context.topbar"], "props": { - "blockClass": ["topbar-container"] + "blockClass": ["topbar-wrapper"] } }, "link#help-center": { diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 347c582d..9786c67a 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -9,6 +9,17 @@ /* Colors */ @import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); /* Grid breakpoints */ -.flexRow--topbar-container { +.flexRow--topbar-wrapper { width: 100%; +} + +.flexRow--brand-switcher-container { + position: absolute; + left: 32px; + bottom: 0; + z-index: 1; +} +.flexRow--brand-switcher-container .flexRowContent--brand-switcher-container { + display: flex; + gap: 4px; } \ No newline at end of file diff --git a/styles/css/vtex.store-header.css b/styles/css/vtex.store-header.css new file mode 100644 index 00000000..01440cde --- /dev/null +++ b/styles/css/vtex.store-header.css @@ -0,0 +1,14 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); +/* Grid breakpoints */ +.headerRowBackground--topbar-container { + position: relative; +} \ No newline at end of file diff --git a/styles/css/vtex.store-link.css b/styles/css/vtex.store-link.css index 3e94ec1e..73f2686b 100644 --- a/styles/css/vtex.store-link.css +++ b/styles/css/vtex.store-link.css @@ -34,4 +34,18 @@ padding: 0.125rem 0.1491rem 0.133rem 0.1249rem; justify-content: center; align-items: center; +} + +.link--link-roland .label, .link--link-boss .label { + width: 48px; + height: 24px; + display: block; +} +.link--link-roland .label--link-roland { + font-size: 0; + background-image: url("assets/svgs/roland-button.svg"); +} +.link--link-boss .label--link-boss { + font-size: 0; + background-image: url("assets/svgs/boss-button.svg"); } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss index 55bc1c5f..fc6ab475 100644 --- a/styles/sass/partials/header/vtex.flex-layout.scss +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -1,3 +1,16 @@ -.flexRow--topbar-container { +.flexRow--topbar-wrapper { width: 100%; +} + +.flexRow--brand-switcher-container { + position: absolute; + left: 32px; + bottom: 0; + z-index: 1; + + .flexRowContent--brand-switcher-container { + display: flex; + gap: 4px; + } + } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-header.scss b/styles/sass/partials/header/vtex.store-header.scss new file mode 100644 index 00000000..189a5ad3 --- /dev/null +++ b/styles/sass/partials/header/vtex.store-header.scss @@ -0,0 +1,3 @@ +.headerRowBackground--topbar-container { + position: relative; +} \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-link.scss b/styles/sass/partials/header/vtex.store-link.scss index 360ed915..bae3da5c 100644 --- a/styles/sass/partials/header/vtex.store-link.scss +++ b/styles/sass/partials/header/vtex.store-link.scss @@ -25,4 +25,35 @@ justify-content: center; align-items: center; } +} + +.link--link { + + &-roland, + &-boss { + .label { + width: 48px; + height: 24px; + + display: block; + } + } + + &-roland { + + .label--link-roland { + font-size: 0; + background-image: url('assets/svgs/roland-button.svg'); + + } + } + + &-boss { + + .label--link-boss { + font-size: 0; + background-image: url('assets/svgs/boss-button.svg'); + + } + } } \ No newline at end of file From c30ae734094fe3b4d7572d1c130dd28e55967fdf Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 8 May 2024 17:38:22 -0300 Subject: [PATCH 005/310] feat: Update topbar interactions and styles --- store/blocks/partials/header/top-bar.jsonc | 12 +++++++++--- styles/css/vtex.flex-layout.css | 11 +++++++++++ styles/css/vtex.store-link.css | 2 ++ styles/sass/partials/header/vtex.flex-layout.scss | 11 +++++++++++ styles/sass/partials/header/vtex.store-link.scss | 2 ++ 5 files changed, 35 insertions(+), 3 deletions(-) diff --git a/store/blocks/partials/header/top-bar.jsonc b/store/blocks/partials/header/top-bar.jsonc index 3fc58151..e2ecdb57 100644 --- a/store/blocks/partials/header/top-bar.jsonc +++ b/store/blocks/partials/header/top-bar.jsonc @@ -1,14 +1,20 @@ { "header-row#topbar": { "children": [ - "flex-layout.row#brand-switcher", - "flex-layout.row#topbar", - "link#help-center" + "flex-layout.row#topbar-interactions", + "flex-layout.row#topbar" ], "props": { "blockClass": ["topbar-container"] } }, + "flex-layout.row#topbar-interactions": { + "props": { + "blockClass": "topbar-interactions", + "preventHorizontalStretch": true + }, + "children": ["flex-layout.row#brand-switcher", "link#help-center"] + }, "flex-layout.row#brand-switcher": { "children": ["link#roland", "link#boss"], "props": { diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 9786c67a..0bcae83d 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -9,8 +9,19 @@ /* Colors */ @import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); /* Grid breakpoints */ +.flexRow--topbar-interactions { + max-width: 1440px; + position: relative; + width: 100%; + height: 32px; + margin: 0 auto; +} + .flexRow--topbar-wrapper { width: 100%; + position: absolute; + top: 0; + left: 0; } .flexRow--brand-switcher-container { diff --git a/styles/css/vtex.store-link.css b/styles/css/vtex.store-link.css index 73f2686b..417e5e71 100644 --- a/styles/css/vtex.store-link.css +++ b/styles/css/vtex.store-link.css @@ -17,6 +17,8 @@ justify-content: center; text-decoration: none; gap: 8px; + z-index: 1; + top: 4px; } .link--help-center .label--help-center { color: #FFF; diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss index fc6ab475..5ced8b79 100644 --- a/styles/sass/partials/header/vtex.flex-layout.scss +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -1,5 +1,16 @@ +.flexRow--topbar-interactions { + max-width: 1440px; + position: relative; + width: 100%; + height: 32px; + margin: 0 auto; +} + .flexRow--topbar-wrapper { width: 100%; + position: absolute; + top: 0; + left: 0; } .flexRow--brand-switcher-container { diff --git a/styles/sass/partials/header/vtex.store-link.scss b/styles/sass/partials/header/vtex.store-link.scss index bae3da5c..6983223c 100644 --- a/styles/sass/partials/header/vtex.store-link.scss +++ b/styles/sass/partials/header/vtex.store-link.scss @@ -6,6 +6,8 @@ justify-content: center; text-decoration: none; gap: 8px; + z-index: 1; + top: 4px; .label--help-center { color: #FFF; From 4f7b34e17075684ae3cece1a0f34aa1d5cc12f28 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 8 May 2024 17:53:45 -0300 Subject: [PATCH 006/310] feat: header main row --- assets/svgs/roland-logo.svg | 10 +++++++++ .../partials/header/header-desktop.jsonc | 2 +- .../partials/header/header-mobile.jsonc | 4 +++- store/blocks/partials/header/main.jsonc | 22 +++++++++++++++++++ styles/css/vtex.flex-layout.css | 5 +++++ styles/css/vtex.store-header.css | 9 ++++++++ .../partials/header/vtex.flex-layout.scss | 4 ++++ .../partials/header/vtex.store-header.scss | 9 ++++++++ 8 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 assets/svgs/roland-logo.svg create mode 100644 store/blocks/partials/header/main.jsonc diff --git a/assets/svgs/roland-logo.svg b/assets/svgs/roland-logo.svg new file mode 100644 index 00000000..1b816adc --- /dev/null +++ b/assets/svgs/roland-logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/store/blocks/partials/header/header-desktop.jsonc b/store/blocks/partials/header/header-desktop.jsonc index 23d7ee91..9c735524 100644 --- a/store/blocks/partials/header/header-desktop.jsonc +++ b/store/blocks/partials/header/header-desktop.jsonc @@ -1,5 +1,5 @@ { "header-layout.desktop": { - "children": ["header-row#topbar"] + "children": ["header-row#topbar", "header-row#main"] } } diff --git a/store/blocks/partials/header/header-mobile.jsonc b/store/blocks/partials/header/header-mobile.jsonc index 97a9f079..855652c3 100644 --- a/store/blocks/partials/header/header-mobile.jsonc +++ b/store/blocks/partials/header/header-mobile.jsonc @@ -1,3 +1,5 @@ { - "header-layout.mobile": {} + "header-layout.mobile": { + "children": ["header-row#topbar"] + } } diff --git a/store/blocks/partials/header/main.jsonc b/store/blocks/partials/header/main.jsonc new file mode 100644 index 00000000..7716fa1e --- /dev/null +++ b/store/blocks/partials/header/main.jsonc @@ -0,0 +1,22 @@ +{ + "header-row#main": { + "children": ["flex-layout.row#main-header"], + "props": { + "blockClass": ["main-container"] + } + }, + "flex-layout.row#main-header": { + "props": { + "blockClass": "main-header", + "preventHorizontalStretch": true + }, + "children": ["image#logo"] + }, + "image#logo": { + "props": { + "src": "assets/svgs/roland-logo.svg", + "blockClass": "logo", + "link": "/" + } + } +} diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 0bcae83d..63b35fd3 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -16,6 +16,11 @@ height: 32px; margin: 0 auto; } +@media screen and (max-width: 1024px) { + .flexRow--topbar-interactions { + display: none; + } +} .flexRow--topbar-wrapper { width: 100%; diff --git a/styles/css/vtex.store-header.css b/styles/css/vtex.store-header.css index 01440cde..83420122 100644 --- a/styles/css/vtex.store-header.css +++ b/styles/css/vtex.store-header.css @@ -11,4 +11,13 @@ /* Grid breakpoints */ .headerRowBackground--topbar-container { position: relative; +} + +.headerRowContainer--main-container { + display: flex; + width: 1440px; + padding: 16px 32px; + margin: 0 auto; + align-items: center; + background: #FFF; } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss index 5ced8b79..fe7a3542 100644 --- a/styles/sass/partials/header/vtex.flex-layout.scss +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -4,6 +4,10 @@ width: 100%; height: 32px; margin: 0 auto; + + @media screen and (max-width: 1024px) { + display: none; + } } .flexRow--topbar-wrapper { diff --git a/styles/sass/partials/header/vtex.store-header.scss b/styles/sass/partials/header/vtex.store-header.scss index 189a5ad3..a0001f51 100644 --- a/styles/sass/partials/header/vtex.store-header.scss +++ b/styles/sass/partials/header/vtex.store-header.scss @@ -1,3 +1,12 @@ .headerRowBackground--topbar-container { position: relative; +} + +.headerRowContainer--main-container { + display: flex; + width: 1440px; + padding: 16px 32px; + margin: 0 auto; + align-items: center; + background: #FFF; } \ No newline at end of file From 55dd6a2e72a2158bf0f321f79841d43919b01a22 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 9 May 2024 11:26:07 -0300 Subject: [PATCH 007/310] feat: search bar --- assets/svgs/search-icon.svg | 5 ++ manifest.json | 4 +- store/blocks/partials/header/main.jsonc | 28 ++++++--- store/blocks/partials/header/search.jsonc | 17 ++++++ .../partials/product/search-result.jsonc | 42 +++++++++++++ styles/css/vtex.flex-layout.css | 8 +++ styles/css/vtex.store-components.css | 46 ++++++++++++++ styles/css/vtex.store-header.css | 1 + styles/css/vtex.styleguide.css | 11 ++++ styles/iconpacks/iconpack.svg | 2 +- .../partials/header/vtex.flex-layout.scss | 8 +++ .../header/vtex.store-components.scss | 60 +++++++++++++++++++ .../partials/header/vtex.store-header.scss | 1 + .../sass/partials/header/vtex.styleguide.scss | 0 14 files changed, 222 insertions(+), 11 deletions(-) create mode 100644 assets/svgs/search-icon.svg create mode 100644 store/blocks/partials/header/search.jsonc create mode 100644 store/blocks/partials/product/search-result.jsonc create mode 100644 styles/css/vtex.styleguide.css create mode 100644 styles/sass/partials/header/vtex.styleguide.scss diff --git a/assets/svgs/search-icon.svg b/assets/svgs/search-icon.svg new file mode 100644 index 00000000..098b74e6 --- /dev/null +++ b/assets/svgs/search-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/manifest.json b/manifest.json index 77f83d60..833c43c2 100644 --- a/manifest.json +++ b/manifest.json @@ -48,7 +48,9 @@ "vtex.sticky-layout": "0.x", "vtex.add-to-cart-button": "0.x", "vtex.list-context": "0.x", - "vtex.store-link": "0.x" + "vtex.store-link": "0.x", + "vtex.search": "2.x", + "vtex.product-price": "1.x" }, "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema" } diff --git a/store/blocks/partials/header/main.jsonc b/store/blocks/partials/header/main.jsonc index 7716fa1e..1f039e3b 100644 --- a/store/blocks/partials/header/main.jsonc +++ b/store/blocks/partials/header/main.jsonc @@ -1,22 +1,32 @@ { "header-row#main": { - "children": ["flex-layout.row#main-header"], + "children": ["image#logo", "search-bar#desktop"], "props": { "blockClass": ["main-container"] } }, - "flex-layout.row#main-header": { - "props": { - "blockClass": "main-header", - "preventHorizontalStretch": true - }, - "children": ["image#logo"] - }, + "image#logo": { "props": { "src": "assets/svgs/roland-logo.svg", "blockClass": "logo", - "link": "/" + "link": { + "url": "/" + } + } + }, + "login#desktop": { + "title": "Login Desktop", + "props": { + "showIconProfile": true, + "iconLabel": "", + "labelClasses": ["login-icon"], + "providerPasswordButtonLabel": "Entrar com e-mail", + "emailAndPasswordTitle": "Entrar com e-mail e senha", + "accessCodeTitle": "Receber código de acesso por e-mail", + "emailPraceholder": "EX:@MAIL.COM.BR", + "passwordPlaceholder": "adicionar sua senha", + "showPasswordVerificationIntoTooltip": true } } } diff --git a/store/blocks/partials/header/search.jsonc b/store/blocks/partials/header/search.jsonc new file mode 100644 index 00000000..5018745f --- /dev/null +++ b/store/blocks/partials/header/search.jsonc @@ -0,0 +1,17 @@ +{ + "search-bar#desktop": { + "title": "Barra de Busca", + "blocks": ["autocomplete-result-list.v2"], + "props": { + "openAutocompleteOnFocus": true, + "placeholder": "Busque por produtos...", + "blockClass": "search-bar" + } + }, + "autocomplete-result-list.v2": { + "props": { + "blockClass": "autocomplete-result-list" + }, + "blocks": ["product-summary.shelf#search-result"] + } +} diff --git a/store/blocks/partials/product/search-result.jsonc b/store/blocks/partials/product/search-result.jsonc new file mode 100644 index 00000000..de34370a --- /dev/null +++ b/store/blocks/partials/product/search-result.jsonc @@ -0,0 +1,42 @@ +{ + "product-summary.shelf#search-result": { + "children": [ + "product-summary-image#search-result", + "flex-layout.col#product-informations", + "add-to-cart-button#search-result" + ] + }, + "add-to-cart-button#search-result": { + "props": { + "blockClass": "add-to-cart-button-search-result", + "onClickBehavior": "add-to-cart", + "customPixelEventId": "addToCart" + } + }, + "flex-layout.col#product-informations": { + "props": { + "blockClass": "product-informations-search-result" + }, + "children": [ + "product-summary-name#search-result", + "product-spot-price#search-result" + ] + }, + "product-summary-image#search-result": { + "props": { + "blockClass": "product-summary-image-search-result", + "showBadge": true + } + }, + "product-summary-name#search-result": { + "props": { + "blockClass": "product-summary-name-search-result", + "tag": "h3" + } + }, + "product-spot-price#search-result": { + "props": { + "blockClass": "product-summary-price-search-result" + } + } +} diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 63b35fd3..210889ef 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -38,4 +38,12 @@ .flexRow--brand-switcher-container .flexRowContent--brand-switcher-container { display: flex; gap: 4px; +} + +.flexRowContent--main-header { + gap: 48px; +} + +.flexRow--main-header { + width: 100%; } \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index 48912e0b..d902792d 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -13,4 +13,50 @@ width: 100%; max-width: 100%; padding: 0; +} + +.searchBarContainer { + max-width: 698px; + width: 100%; + display: flex; + height: 40px; + padding: 12px 16px; + justify-content: center; + align-items: center; + gap: 8px; + align-self: stretch; + border-radius: 2px; + border: 1px solid #D4D4D8; + background: #FFF; + margin: unset; + box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.12); +} +.searchBarContainer .searchBarIcon--search-bar { + background-image: url("assets/svgs/search-icon.svg"); + width: 20px; + height: 20px; + padding: 0; + padding-left: 8px; +} +.searchBarContainer .searchBarIcon--search-bar .searchIcon { + display: none; +} +.searchBarContainer :global(.vtex-styleguide-9-x-input) { + width: 100%; + padding: 0; + border-right: 1px solid var(--border-input-base, #D4D4D8); + margin-right: 8px; +} +.searchBarContainer :global(.vtex-styleguide-9-x-input)::placeholder { + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; +} +.searchBarContainer :global(.vtex-input-prefix__group) { + height: 100%; + border: none; } \ No newline at end of file diff --git a/styles/css/vtex.store-header.css b/styles/css/vtex.store-header.css index 83420122..2d51dae4 100644 --- a/styles/css/vtex.store-header.css +++ b/styles/css/vtex.store-header.css @@ -20,4 +20,5 @@ margin: 0 auto; align-items: center; background: #FFF; + gap: 48px; } \ No newline at end of file diff --git a/styles/css/vtex.styleguide.css b/styles/css/vtex.styleguide.css new file mode 100644 index 00000000..d8147d32 --- /dev/null +++ b/styles/css/vtex.styleguide.css @@ -0,0 +1,11 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); +/* Grid breakpoints */ \ No newline at end of file diff --git a/styles/iconpacks/iconpack.svg b/styles/iconpacks/iconpack.svg index 48a5bc44..8fa7c7da 100644 --- a/styles/iconpacks/iconpack.svg +++ b/styles/iconpacks/iconpack.svg @@ -51,7 +51,7 @@ - + diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss index fe7a3542..6acf73ee 100644 --- a/styles/sass/partials/header/vtex.flex-layout.scss +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -28,4 +28,12 @@ gap: 4px; } +} + +.flexRowContent--main-header { + gap: 48px; +} + +.flexRow--main-header { + width: 100%; } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-components.scss b/styles/sass/partials/header/vtex.store-components.scss index b460b71e..461839a2 100644 --- a/styles/sass/partials/header/vtex.store-components.scss +++ b/styles/sass/partials/header/vtex.store-components.scss @@ -2,4 +2,64 @@ width: 100%; max-width: 100%; padding: 0 +} + +.searchBarContainer { + max-width: 698px; + width: 100%; + display: flex; + height: 40px; + padding: 12px 16px; + justify-content: center; + align-items: center; + gap: 8px; + align-self: stretch; + + border-radius: 2px; + border: 1px solid #D4D4D8; + background: #FFF; + margin: unset; + + box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.12); + + .searchBarIcon--search-bar { + background-image: url('assets/svgs/search-icon.svg'); + width: 20px; + height: 20px; + + padding: 0 { + left: 8px; + } + + + + .searchIcon { + display: none; + } + } + + + + :global(.vtex-styleguide-9-x-input) { + width: 100%; + padding: 0; + + border-right: 1px solid var(--border-input-base, #D4D4D8); + margin-right: 8px; + + &::placeholder { + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + } + } + + :global(.vtex-input-prefix__group) { + height: 100%; + border: none; + } } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-header.scss b/styles/sass/partials/header/vtex.store-header.scss index a0001f51..d68f7134 100644 --- a/styles/sass/partials/header/vtex.store-header.scss +++ b/styles/sass/partials/header/vtex.store-header.scss @@ -9,4 +9,5 @@ margin: 0 auto; align-items: center; background: #FFF; + gap: 48px; } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.styleguide.scss b/styles/sass/partials/header/vtex.styleguide.scss new file mode 100644 index 00000000..e69de29b From 2074ef61ac5759e5b2e575ba42a2ea3f803c9d4f Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 9 May 2024 14:47:36 -0300 Subject: [PATCH 008/310] feat: top searchs --- store/blocks/partials/header/main.jsonc | 2 +- store/blocks/partials/header/search.jsonc | 5 +- styles/css/vtex.search.css | 88 +++++++++++++++++ styles/css/vtex.store-components.css | 1 + styles/iconpacks/iconpack.svg | 13 +-- styles/sass/partials/header/vtex.login.scss | 0 styles/sass/partials/header/vtex.search.scss | 98 +++++++++++++++++++ .../header/vtex.store-components.scss | 1 + 8 files changed, 200 insertions(+), 8 deletions(-) create mode 100644 styles/css/vtex.search.css create mode 100644 styles/sass/partials/header/vtex.login.scss create mode 100644 styles/sass/partials/header/vtex.search.scss diff --git a/store/blocks/partials/header/main.jsonc b/store/blocks/partials/header/main.jsonc index 1f039e3b..3b6836d1 100644 --- a/store/blocks/partials/header/main.jsonc +++ b/store/blocks/partials/header/main.jsonc @@ -1,6 +1,6 @@ { "header-row#main": { - "children": ["image#logo", "search-bar#desktop"], + "children": ["image#logo", "search-bar#desktop", "login#desktop"], "props": { "blockClass": ["main-container"] } diff --git a/store/blocks/partials/header/search.jsonc b/store/blocks/partials/header/search.jsonc index 5018745f..f9795235 100644 --- a/store/blocks/partials/header/search.jsonc +++ b/store/blocks/partials/header/search.jsonc @@ -10,7 +10,10 @@ }, "autocomplete-result-list.v2": { "props": { - "blockClass": "autocomplete-result-list" + "blockClass": "autocomplete-result-list", + "maxSuggestedTerms": 5, + "maxTopSearches": 5, + "productLayout": "HORIZONTAL" }, "blocks": ["product-summary.shelf#search-result"] } diff --git a/styles/css/vtex.search.css b/styles/css/vtex.search.css new file mode 100644 index 00000000..ead2c041 --- /dev/null +++ b/styles/css/vtex.search.css @@ -0,0 +1,88 @@ +@charset "UTF-8"; +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); +/* Grid breakpoints */ +.biggy-autocomplete-wrapper { + max-width: 698px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete { + flex-direction: row !important; + left: 17px; + top: 17px; + padding: 0; + border-radius: var(--radius-rounded, 4px); + border: 1px solid var(--border-neutral-subtlest, #E4E4E7); + background: var(--elevation-overlay, #FFF); + box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05), 0px 8px 16px 0px rgba(0, 0, 0, 0.05); +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemList--suggestion { + max-width: 232px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemList--suggestion .itemListTitle::before { + content: "Sugestões"; + font-weight: 600; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListTitle { + margin: 0; + padding-left: 20px; + font-size: 0; + text-transform: unset; + padding-top: 20px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListTitle::before { + content: "Termos sugeridos"; + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListItem .itemListSubItem { + display: none; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListLink { + padding: 10px 12px; + margin: 0 12px; + height: fit-content; + display: flex; + align-items: center; + max-width: 307px; + gap: 8px; + transition: all 0.1s ease-in-out; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListLink .itemListPrefix { + height: fit-content; + color: var(--text-brand-secondary-base, #2B2B3A); + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + letter-spacing: -0.12px; + border-radius: var(--radius-rounded-full, 9999px); + background: var(--icon-accent-brand-subtlest, #FBE5D8); + width: 20px; + height: 20px; + display: flex; + align-items: center; + justify-content: center; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListLink .itemListLinkTitle { + color: var(--text-neutral-subtle, #3F3F46); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; +} \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index d902792d..c8fcce66 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -17,6 +17,7 @@ .searchBarContainer { max-width: 698px; + position: relative; width: 100%; display: flex; height: 40px; diff --git a/styles/iconpacks/iconpack.svg b/styles/iconpacks/iconpack.svg index 8fa7c7da..fc8acc85 100644 --- a/styles/iconpacks/iconpack.svg +++ b/styles/iconpacks/iconpack.svg @@ -20,10 +20,10 @@ - - - - + + + + @@ -43,8 +43,9 @@ - - + + + diff --git a/styles/sass/partials/header/vtex.login.scss b/styles/sass/partials/header/vtex.login.scss new file mode 100644 index 00000000..e69de29b diff --git a/styles/sass/partials/header/vtex.search.scss b/styles/sass/partials/header/vtex.search.scss new file mode 100644 index 00000000..8ccf87b6 --- /dev/null +++ b/styles/sass/partials/header/vtex.search.scss @@ -0,0 +1,98 @@ +.biggy-autocomplete-wrapper { + max-width: 698px; + + .biggy-autocomplete { + flex-direction: row !important; + left: 17px; + top: 17px; + padding: 0; + border-radius: var(--radius-rounded, 4px); + border: 1px solid var(--border-neutral-subtlest, #E4E4E7); + background: var(--elevation-overlay, #FFF); + box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05), + 0px 8px 16px 0px rgba(0, 0, 0, 0.05); + + .itemList--suggestion { + max-width: 232px; + + .itemListTitle::before { + content: "Sugestões"; + font-weight: 600; + } + } + + .itemListTitle { + margin: 0; + padding-left: 20px; + font-size: 0; + text-transform: unset; + padding-top: 20px; + + &::before { + content: 'Termos sugeridos'; + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + } + } + + .itemListItem { + .itemListSubItem { + display: none; + } + } + + .itemListLink { + padding: 10px 12px; + margin: 0 12px; + height: fit-content; + display: flex; + align-items: center; + + max-width: 307px; + + gap: 8px; + + transition: all 0.1s ease-in-out; + + + + .itemListPrefix { + height: fit-content; + color: var(--text-brand-secondary-base, #2B2B3A); + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + letter-spacing: -0.12px; + + border-radius: var(--radius-rounded-full, 9999px); + background: var(--icon-accent-brand-subtlest, #FBE5D8); + width: 20px; + height: 20px; + + display: flex; + align-items: center; + justify-content: center; + + } + + .itemListLinkTitle { + color: var(--text-neutral-subtle, #3F3F46); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + } + } + + + } +} \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-components.scss b/styles/sass/partials/header/vtex.store-components.scss index 461839a2..6e6152aa 100644 --- a/styles/sass/partials/header/vtex.store-components.scss +++ b/styles/sass/partials/header/vtex.store-components.scss @@ -6,6 +6,7 @@ .searchBarContainer { max-width: 698px; + position: relative; width: 100%; display: flex; height: 40px; From 2c76413c9acfd399d4b8fe901795cb3d453a4042 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 9 May 2024 16:10:06 -0300 Subject: [PATCH 009/310] feat: Add login icon SVG and update login styles --- assets/svgs/login-icon.svg | 9 ++++ store/blocks/partials/header/main.jsonc | 19 +++++++-- styles/sass/partials/header/vtex.login.scss | 47 +++++++++++++++++++++ 3 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 assets/svgs/login-icon.svg diff --git a/assets/svgs/login-icon.svg b/assets/svgs/login-icon.svg new file mode 100644 index 00000000..fc0b5fad --- /dev/null +++ b/assets/svgs/login-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/store/blocks/partials/header/main.jsonc b/store/blocks/partials/header/main.jsonc index 3b6836d1..2c55d9fe 100644 --- a/store/blocks/partials/header/main.jsonc +++ b/store/blocks/partials/header/main.jsonc @@ -1,11 +1,22 @@ { "header-row#main": { - "children": ["image#logo", "search-bar#desktop", "login#desktop"], + "children": [ + "image#logo", + "search-bar#desktop-new", + "login#desktop", + "link#wishlist" + ], "props": { "blockClass": ["main-container"] } }, - + "link#wishlist": { + "props": { + "href": "/account/#/wishlist", + "label": "Meus favoritos", + "blockClass": "wishlist" + } + }, "image#logo": { "props": { "src": "assets/svgs/roland-logo.svg", @@ -19,8 +30,8 @@ "title": "Login Desktop", "props": { "showIconProfile": true, - "iconLabel": "", - "labelClasses": ["login-icon"], + "iconLabel": "Minha conta", + "labelClasses": ["vtex-login-2-x-loginIcon"], "providerPasswordButtonLabel": "Entrar com e-mail", "emailAndPasswordTitle": "Entrar com e-mail e senha", "accessCodeTitle": "Receber código de acesso por e-mail", diff --git a/styles/sass/partials/header/vtex.login.scss b/styles/sass/partials/header/vtex.login.scss index e69de29b..6e0393ed 100644 --- a/styles/sass/partials/header/vtex.login.scss +++ b/styles/sass/partials/header/vtex.login.scss @@ -0,0 +1,47 @@ +.container { + + :global(.vtex-button) { + border: none; + background-color: transparent; + + &:hover { + background-color: var(--Gray-Scale-White, #FFF); + } + + :global(.vtex-button__label) { + padding: 0 !important; + } + } + + .loginIcon { + .profileIcon { + display: none; + } + } + + .label { + color: var(--Gray-Scale-Black, #000); + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + text-transform: math-auto; + + &::before { + content: ''; + background-image: url("assets/svgs/login-icon.svg"); + width: 20px; + height: 20px; + background-repeat: no-repeat; + display: block; + } + + + } +} \ No newline at end of file From a7c88ecf1b58c8f8262166e85b51a7586e217f87 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 9 May 2024 16:10:17 -0300 Subject: [PATCH 010/310] feat: Add wishlist link to header --- .../sass/partials/header/vtex.store-link.scss | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/styles/sass/partials/header/vtex.store-link.scss b/styles/sass/partials/header/vtex.store-link.scss index 6983223c..71077f1d 100644 --- a/styles/sass/partials/header/vtex.store-link.scss +++ b/styles/sass/partials/header/vtex.store-link.scss @@ -58,4 +58,31 @@ } } +} + +.link--wishlist { + text-decoration: none; + + .label--wishlist { + color: var(--Gray-Scale-Black, #000); + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; + display: flex; + align-items: center; + justify-content: center; + + gap: 8px; + + &::before { + content: ''; + background-image: url("assets/svgs/wishlist-icon.svg"); + width: 20px; + height: 20px; + display: block; + } + } } \ No newline at end of file From d2b4b72b07b0181e5a4f92f178093fe89df2a80b Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 9 May 2024 16:10:33 -0300 Subject: [PATCH 011/310] feat: search bar suggestions --- assets/svgs/wishlist-icon.svg | 5 ++ react/package.json | 4 +- react/yarn.lock | 12 +++- store/blocks/partials/header/search.jsonc | 11 ++- .../partials/product/search-result.jsonc | 7 +- styles/css/vtex.login.css | 46 ++++++++++++ styles/css/vtex.search.css | 52 ++++++++++++++ styles/css/vtex.store-link.css | 24 +++++++ styles/sass/partials/header/vtex.search.scss | 72 +++++++++++++++++++ 9 files changed, 222 insertions(+), 11 deletions(-) create mode 100644 assets/svgs/wishlist-icon.svg create mode 100644 styles/css/vtex.login.css diff --git a/assets/svgs/wishlist-icon.svg b/assets/svgs/wishlist-icon.svg new file mode 100644 index 00000000..f210b306 --- /dev/null +++ b/assets/svgs/wishlist-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/react/package.json b/react/package.json index 583211de..0ce5f2d4 100644 --- a/react/package.json +++ b/react/package.json @@ -44,7 +44,7 @@ "apollo-cache-inmemory": "^1.6.5", "apollo-client": "^2.5.1", "graphql": "^14.6.0", - "roland.store-theme": "https://sel1424--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715180290/public/@types/roland.store-theme", + "roland.store-theme": "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715278451/public/@types/roland.store-theme", "typescript": "3.9.7", "vtex.add-to-cart-button": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button", "vtex.breadcrumb": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb", @@ -61,6 +61,7 @@ "vtex.product-details": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-details@1.22.0/public/@types/vtex.product-details", "vtex.product-identifier": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-identifier@0.5.0/public/@types/vtex.product-identifier", "vtex.product-kit": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-kit@1.10.2/public/_types/react", + "vtex.product-price": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-price@1.31.0/public/@types/vtex.product-price", "vtex.product-quantity": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-quantity@1.9.0/public/@types/vtex.product-quantity", "vtex.product-review-interfaces": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-review-interfaces@1.0.2/public/_types/react", "vtex.product-specification-badges": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-specification-badges@0.3.0/public/@types/vtex.product-specification-badges", @@ -68,6 +69,7 @@ "vtex.render-runtime": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.render-runtime@8.134.2/public/@types/vtex.render-runtime", "vtex.responsive-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.responsive-layout@0.1.4/public/@types/vtex.responsive-layout", "vtex.rich-text": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.rich-text@0.16.0/public/@types/vtex.rich-text", + "vtex.search": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.search@2.17.0/public/@types/vtex.search", "vtex.search-result": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.search-result@3.132.1/public/@types/vtex.search-result", "vtex.shelf": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.shelf@1.48.0/public/@types/vtex.shelf", "vtex.slider": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.slider@0.8.3/public/@types/vtex.slider", diff --git a/react/yarn.lock b/react/yarn.lock index a33bbe99..ae26807d 100644 --- a/react/yarn.lock +++ b/react/yarn.lock @@ -4898,9 +4898,9 @@ rimraf@^3.0.0: dependencies: glob "^7.1.3" -"roland.store-theme@https://sel1424--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715180290/public/@types/roland.store-theme": +"roland.store-theme@https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715278451/public/@types/roland.store-theme": version "0.0.1" - resolved "https://sel1424--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715180290/public/@types/roland.store-theme#4059a18d0c444c85e903043f5b8532a7e21e6487" + resolved "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715278451/public/@types/roland.store-theme#470eba0724809c2160d2ae3a5469be36ad7225b5" rsvp@^4.8.4: version "4.8.5" @@ -5630,6 +5630,10 @@ verror@1.10.0: version "0.0.0" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-kit@1.10.2/public/_types/react#fa7a0347e046eab3dd768998fc9252b2c0dd5aef" +"vtex.product-price@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-price@1.31.0/public/@types/vtex.product-price": + version "1.31.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-price@1.31.0/public/@types/vtex.product-price#d3b0672704ea7ed104d86edbef282708381d5347" + "vtex.product-quantity@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-quantity@1.9.0/public/@types/vtex.product-quantity": version "1.9.0" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-quantity@1.9.0/public/@types/vtex.product-quantity#686536c85e0bf7af98f803dc4385f959c181bb07" @@ -5662,6 +5666,10 @@ verror@1.10.0: version "3.132.1" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.search-result@3.132.1/public/@types/vtex.search-result#d0c0960f5469bf4726c4da3136f872f666b38d4b" +"vtex.search@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.search@2.17.0/public/@types/vtex.search": + version "2.17.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.search@2.17.0/public/@types/vtex.search#24dbcf5d8eef807eb9fa72f38c7d8bd58eb3bb20" + "vtex.shelf@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.shelf@1.48.0/public/@types/vtex.shelf": version "1.48.0" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.shelf@1.48.0/public/@types/vtex.shelf#a94e202bd2db764eddd9d0132ab153297fa07154" diff --git a/store/blocks/partials/header/search.jsonc b/store/blocks/partials/header/search.jsonc index f9795235..570351f2 100644 --- a/store/blocks/partials/header/search.jsonc +++ b/store/blocks/partials/header/search.jsonc @@ -1,20 +1,19 @@ { - "search-bar#desktop": { + "search-bar#desktop-new": { "title": "Barra de Busca", - "blocks": ["autocomplete-result-list.v2"], + "blocks": ["autocomplete-result-list.v2#search-bar"], "props": { "openAutocompleteOnFocus": true, "placeholder": "Busque por produtos...", "blockClass": "search-bar" } }, - "autocomplete-result-list.v2": { + "autocomplete-result-list.v2#search-bar": { + "blocks": ["product-summary.shelf#search-result"], "props": { - "blockClass": "autocomplete-result-list", "maxSuggestedTerms": 5, "maxTopSearches": 5, "productLayout": "HORIZONTAL" - }, - "blocks": ["product-summary.shelf#search-result"] + } } } diff --git a/store/blocks/partials/product/search-result.jsonc b/store/blocks/partials/product/search-result.jsonc index de34370a..a1f711cd 100644 --- a/store/blocks/partials/product/search-result.jsonc +++ b/store/blocks/partials/product/search-result.jsonc @@ -1,5 +1,8 @@ { "product-summary.shelf#search-result": { + "props": { + "blockClass": "product-summary-search-result" + }, "children": [ "product-summary-image#search-result", "flex-layout.col#product-informations", @@ -9,8 +12,8 @@ "add-to-cart-button#search-result": { "props": { "blockClass": "add-to-cart-button-search-result", - "onClickBehavior": "add-to-cart", - "customPixelEventId": "addToCart" + "customPixelEventId": "addToCart", + "text": "Continuar para o carrinho" } }, "flex-layout.col#product-informations": { diff --git a/styles/css/vtex.login.css b/styles/css/vtex.login.css new file mode 100644 index 00000000..6dcd2bc2 --- /dev/null +++ b/styles/css/vtex.login.css @@ -0,0 +1,46 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); +/* Grid breakpoints */ +.container :global(.vtex-button) { + border: none; + background-color: transparent; +} +.container :global(.vtex-button):hover { + background-color: var(--Gray-Scale-White, #FFF); +} +.container :global(.vtex-button) :global(.vtex-button__label) { + padding: 0 !important; +} +.container .loginIcon .profileIcon { + display: none; +} +.container .label { + color: var(--Gray-Scale-Black, #000); + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + text-transform: math-auto; +} +.container .label::before { + content: ""; + background-image: url("assets/svgs/login-icon.svg"); + width: 20px; + height: 20px; + background-repeat: no-repeat; + display: block; +} \ No newline at end of file diff --git a/styles/css/vtex.search.css b/styles/css/vtex.search.css index ead2c041..ac02f0d4 100644 --- a/styles/css/vtex.search.css +++ b/styles/css/vtex.search.css @@ -85,4 +85,56 @@ font-weight: 500; line-height: 20px; letter-spacing: -0.14px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListTitle { + margin: 0; + margin-top: 12px; + margin-left: 12px; + padding: 0; + padding-bottom: 12px; + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + text-transform: math-auto; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element { + width: 100%; + padding: 20px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .imageContainer { + margin-right: 24px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .imageContainer .image { + width: 48px; + height: 48px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .information { + margin: 0; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .information .productBrand { + overflow: hidden; + color: var(--text-neutral-subtle, #3F3F46); + text-overflow: ellipsis; + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: 16px; + letter-spacing: -0.12px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .information .priceContainer .sellingPrice { + overflow: hidden; + color: var(--text-neutral-bold, #18181B); + text-overflow: ellipsis; + white-space: nowrap; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; + letter-spacing: -0.14px; } \ No newline at end of file diff --git a/styles/css/vtex.store-link.css b/styles/css/vtex.store-link.css index 417e5e71..94ec476a 100644 --- a/styles/css/vtex.store-link.css +++ b/styles/css/vtex.store-link.css @@ -50,4 +50,28 @@ .link--link-boss .label--link-boss { font-size: 0; background-image: url("assets/svgs/boss-button.svg"); +} + +.link--wishlist { + text-decoration: none; +} +.link--wishlist .label--wishlist { + color: var(--Gray-Scale-Black, #000); + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; +} +.link--wishlist .label--wishlist::before { + content: ""; + background-image: url("assets/svgs/wishlist-icon.svg"); + width: 20px; + height: 20px; + display: block; } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.search.scss b/styles/sass/partials/header/vtex.search.scss index 8ccf87b6..96268202 100644 --- a/styles/sass/partials/header/vtex.search.scss +++ b/styles/sass/partials/header/vtex.search.scss @@ -94,5 +94,77 @@ } + .tileList { + .tileListTitle { + margin:0 { + top: 12px; + left: 12px; + } + + padding: 0 { + bottom: 12px; + } + + + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + text-transform: math-auto; + } + + .tileListList { + .tileListItem { + .element { + width: 100%; + padding: 20px; + + .imageContainer { + margin-right: 24px; + + .image { + width: 48px; + height: 48px; + } + } + + .information { + margin: 0; + + .productBrand { + overflow: hidden; + color: var(--text-neutral-subtle, #3F3F46); + text-overflow: ellipsis; + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: 16px; + letter-spacing: -0.12px; + } + + .priceContainer { + .sellingPrice { + overflow: hidden; + color: var(--text-neutral-bold, #18181B); + text-overflow: ellipsis; + white-space: nowrap; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; + letter-spacing: -0.14px; + } + } + } + + } + } + } + } } } \ No newline at end of file From ff7cac7efdd06225dcea29bf2c94534297c6a362 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 9 May 2024 16:34:21 -0300 Subject: [PATCH 012/310] feat: Add minicart icon to header --- assets/svgs/minicart-icon.svg | 5 +++ store/blocks/pages/home/home.jsonc | 9 +---- store/blocks/partials/header/main.jsonc | 3 +- store/blocks/partials/header/minicart.jsonc | 19 +++++++++ styles/css/vtex.minicart.css | 40 +++++++++++++++++++ styles/css/vtex.store-header.css | 2 +- .../sass/partials/header/vtex.minicart.scss | 34 ++++++++++++++++ .../partials/header/vtex.store-header.scss | 2 +- 8 files changed, 103 insertions(+), 11 deletions(-) create mode 100644 assets/svgs/minicart-icon.svg create mode 100644 store/blocks/partials/header/minicart.jsonc create mode 100644 styles/css/vtex.minicart.css create mode 100644 styles/sass/partials/header/vtex.minicart.scss diff --git a/assets/svgs/minicart-icon.svg b/assets/svgs/minicart-icon.svg new file mode 100644 index 00000000..bc5d3271 --- /dev/null +++ b/assets/svgs/minicart-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/store/blocks/pages/home/home.jsonc b/store/blocks/pages/home/home.jsonc index 534aa96b..0967ef42 100644 --- a/store/blocks/pages/home/home.jsonc +++ b/store/blocks/pages/home/home.jsonc @@ -1,8 +1 @@ -{ - "store.home": { - "blocks": [], - "parent": { - "header": "header" - } - } -} +{} diff --git a/store/blocks/partials/header/main.jsonc b/store/blocks/partials/header/main.jsonc index 2c55d9fe..2747a46e 100644 --- a/store/blocks/partials/header/main.jsonc +++ b/store/blocks/partials/header/main.jsonc @@ -4,7 +4,8 @@ "image#logo", "search-bar#desktop-new", "login#desktop", - "link#wishlist" + "link#wishlist", + "minicart.v2" ], "props": { "blockClass": ["main-container"] diff --git a/store/blocks/partials/header/minicart.jsonc b/store/blocks/partials/header/minicart.jsonc new file mode 100644 index 00000000..ae2c7bac --- /dev/null +++ b/store/blocks/partials/header/minicart.jsonc @@ -0,0 +1,19 @@ +{ + "minicart.v2": { + "props": { + "MinicartIcon": "image#minicart-icon", + "variation": "drawer", + "customPixelEventName": "addToCart", + "itemCountMode": "total", + "maxDrawerWidth": "364" + }, + "children": ["minicart-base-content"] + }, + "image#minicart-icon": { + "title": "Icone do Minicart", + "props": { + "src": "assets/svgs/minicart-icon.svg", + "maxHeight": 24 + } + } +} diff --git a/styles/css/vtex.minicart.css b/styles/css/vtex.minicart.css new file mode 100644 index 00000000..5466ee5d --- /dev/null +++ b/styles/css/vtex.minicart.css @@ -0,0 +1,40 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Colors */ +@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); +/* Grid breakpoints */ +.minicartContainer .minicartIconContainer { + display: flex; + align-items: center; + justify-content: center; + gap: 4px; +} +.minicartContainer .minicartIconContainer .minicartQuantityBadge { + border-radius: var(--radius-rounded-3xl, 24px); + background: var(--bg-brand-primary-bold-base, #FF5A00); + display: inline-flex; + padding: var(--spacing-1, 4px) var(--spacing-2, 8px) var(--spacing-1, 4px) var(--spacing-3, 12px); + align-items: center; + gap: 5px; + color: #FFF; + text-align: center; + font-family: "Roboto"; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + position: unset; + width: fit-content; +} +.minicartContainer .minicartIconContainer .minicartQuantityBadge::after { + content: url('data:image/svg+xml,'); + display: block; + width: 16px; + height: 16px; +} \ No newline at end of file diff --git a/styles/css/vtex.store-header.css b/styles/css/vtex.store-header.css index 2d51dae4..2cd4bcc2 100644 --- a/styles/css/vtex.store-header.css +++ b/styles/css/vtex.store-header.css @@ -20,5 +20,5 @@ margin: 0 auto; align-items: center; background: #FFF; - gap: 48px; + justify-content: space-between; } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.minicart.scss b/styles/sass/partials/header/vtex.minicart.scss new file mode 100644 index 00000000..f2af4c4d --- /dev/null +++ b/styles/sass/partials/header/vtex.minicart.scss @@ -0,0 +1,34 @@ +.minicartContainer { + .minicartIconContainer { + display: flex; + align-items: center; + justify-content: center; + gap: 4px; + + .minicartQuantityBadge { + border-radius: var(--radius-rounded-3xl, 24px); + background: var(--bg-brand-primary-bold-base, #FF5A00); + display: inline-flex; + padding: var(--spacing-1, 4px) var(--spacing-2, 8px) var(--spacing-1, 4px) var(--spacing-3, 12px); + align-items: center; + gap: 5px; + color: #FFF; + text-align: center; + font-family: "Roboto"; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + position: unset; + + width: fit-content; + + &::after { + content: url('data:image/svg+xml,'); + display: block; + width: 16px; + height: 16px; + } + } + } +} \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-header.scss b/styles/sass/partials/header/vtex.store-header.scss index d68f7134..50e65f8d 100644 --- a/styles/sass/partials/header/vtex.store-header.scss +++ b/styles/sass/partials/header/vtex.store-header.scss @@ -9,5 +9,5 @@ margin: 0 auto; align-items: center; background: #FFF; - gap: 48px; + justify-content: space-between; } \ No newline at end of file From 3506ac254cb14dced821f0e06ebf266b8a2f1480 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Fri, 10 May 2024 16:35:36 -0300 Subject: [PATCH 013/310] feat: Add Menu desktop component --- package.json | 14 +- react/.eslintrc | 10 +- react/Menu.ts | 3 + .../Menu/components/MenuDesktop/index.tsx | 105 ++++++++++++ .../Menu/components/MenuDesktop/styles.css | 161 ++++++++++++++++++ .../Menu/components/MenuMobile/index.tsx | 8 + .../Menu/components/MenuMobile/styles.css | 0 react/components/Menu/context/index.tsx | 19 +++ react/components/Menu/index.tsx | 37 ++++ react/components/Menu/schema.ts | 86 ++++++++++ react/components/Menu/typing.ts | 23 +++ react/hooks/useMenu.ts | 8 + react/package.json | 4 +- react/typings/vtex.render-runtime.d.ts | 56 +++--- store/blocks/default.jsonc | 7 + .../partials/header/header-desktop.jsonc | 2 +- .../partials/header/header.menu-desktop.jsonc | 0 store/interfaces.json | 3 + 18 files changed, 504 insertions(+), 42 deletions(-) create mode 100644 react/Menu.ts create mode 100644 react/components/Menu/components/MenuDesktop/index.tsx create mode 100644 react/components/Menu/components/MenuDesktop/styles.css create mode 100644 react/components/Menu/components/MenuMobile/index.tsx create mode 100644 react/components/Menu/components/MenuMobile/styles.css create mode 100644 react/components/Menu/context/index.tsx create mode 100644 react/components/Menu/index.tsx create mode 100644 react/components/Menu/schema.ts create mode 100644 react/components/Menu/typing.ts create mode 100644 react/hooks/useMenu.ts create mode 100644 store/blocks/default.jsonc create mode 100644 store/blocks/partials/header/header.menu-desktop.jsonc diff --git a/package.json b/package.json index 09149be1..385ad69c 100644 --- a/package.json +++ b/package.json @@ -7,11 +7,6 @@ "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"", "build": "gulp build" }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, "lint-staged": { "*.{ts,js,tsx,jsx}": [ "eslint --fix", @@ -31,16 +26,17 @@ "eslint-config-vtex-react": "^6.7.0", "gulp": "^4.0.2", "gulp-clean-css": "^4.3.0", + "gulp-concat": "^2.6.1", "gulp-sass": "^5.1.0", + "gulp-wait": "0.0.2", "husky": "^4.3.6", "lint-staged": "^10.5.3", "prettier": "^2.2.1", "sass": "^1.53.0", - "typescript": "^3.7.5", - "gulp-concat": "^2.6.1", - "gulp-wait": "0.0.2" + "typescript": "^3.7.5" }, "dependencies": { + "classnames": "^2.5.1", "date-fns": "^2.29.3", "formik": "^2.2.9", "react-input-mask": "^2.0.4", @@ -49,4 +45,4 @@ "yup": "^1.0.0" }, "version": "0.0.0" -} \ No newline at end of file +} diff --git a/react/.eslintrc b/react/.eslintrc index 7a61ae8b..5f820fe3 100644 --- a/react/.eslintrc +++ b/react/.eslintrc @@ -1,3 +1,9 @@ { - "extends": "vtex-react/io" -} \ No newline at end of file + "extends": "vtex-react/io", + "rules": { + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-explicit-any": "off", + "import/order": "off", + "no-console": "off" + } +} diff --git a/react/Menu.ts b/react/Menu.ts new file mode 100644 index 00000000..a5bc1926 --- /dev/null +++ b/react/Menu.ts @@ -0,0 +1,3 @@ +import Menu from './components/Menu' + +export default Menu diff --git a/react/components/Menu/components/MenuDesktop/index.tsx b/react/components/Menu/components/MenuDesktop/index.tsx new file mode 100644 index 00000000..b6a70cd0 --- /dev/null +++ b/react/components/Menu/components/MenuDesktop/index.tsx @@ -0,0 +1,105 @@ +/* eslint-disable jsx-a11y/click-events-have-key-events */ +// Dependencies +import React, { useState } from 'react' +import classnames from 'classnames' + +// Styles +import styles from './styles.css' + +// Hooks +import { useMenu } from '../../../../hooks/useMenu' +import type { MenuDepartment } from '../../typing' + +const MenuDesktop = () => { + const { departments } = useMenu() + const [activeDepartment, setActiveDepartment] = useState(null) + + console.log('departments', departments) + + if (!departments) return null + + return ( +
+
+
    + {(departments as MenuDepartment[])?.map((department) => { + const { name, link, categories, departmentImageDesktop } = + department + + const hasCategories = categories && categories.length > 0 + const isActive = activeDepartment === name + + const departmentClasses = classnames(styles.categoryWrapper, { + [styles.active]: isActive, + }) + + return ( +
  • + + {hasCategories && ( +
    + +
    + + + {departmentImageDesktop?.src && ( +
    + {name} +
    + )} +
    +
    + )} +
  • + ) + })} +
+
+ {activeDepartment !== null && ( +
{ + setActiveDepartment(null) + }} + /> + )} +
+ ) +} + +export default MenuDesktop diff --git a/react/components/Menu/components/MenuDesktop/styles.css b/react/components/Menu/components/MenuDesktop/styles.css new file mode 100644 index 00000000..a73afcdc --- /dev/null +++ b/react/components/Menu/components/MenuDesktop/styles.css @@ -0,0 +1,161 @@ +.menuContainer { + width: 100%; + position: sticky; + top: 0; + background: var(--Gray-Scale-White, #fff); + + z-index: 2; +} + +.menuOverlay { + width: 100%; + height: 100vw; + background-color: rgba(0, 0, 0, 0.5); + position: absolute; + left: 0; + z-index: 5; +} +.menuWrapper { + max-width: 1440px; + margin: 0 auto; + padding: 0 32px; +} + +.menuList { + display: flex; + align-items: center; + gap: 32px; + list-style: none; + padding: 0; + margin: 0; +} + +.menuItem { + padding-bottom: 8px; + cursor: pointer; +} + +.menuItem button { + text-decoration: none; + color: var(--Gray-Scale-Black, #000); + font-family: 'Proxima Nova'; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; + background-color: transparent; + border: none; + cursor: pointer; + padding: 0; +} + +.categoryWrapper { + max-height: 0; + overflow: hidden; + position: absolute; + z-index: 9; + background: #fff; + box-shadow: 0px 16px 40px 0px rgba(0, 0, 0, 0.1); + width: fit-content; + min-width: 678px; + margin-top: 8px; + opacity: 0; + transition: all 0.2s ease-in-out; +} + +.categoryWrapper.active { + max-height: 1000px; + opacity: 1; + height: fit-content; +} + +.departmentTitleWrapper { + width: 100%; + display: flex; + padding: var(--spacing-4, 16px) var(--spacing-8, 32px); + align-items: center; + gap: var(--spacing-4, 16px); + align-self: stretch; + + background: var(--bg-accent-zinc-subtlest, #f4f4f5); + justify-content: space-between; +} + +.departmentTitle { + color: var(--text-neutral-bold, #18181b); + font-family: 'Proxima Nova'; + font-size: 24px; + font-style: normal; + font-weight: 500; + line-height: 32px; + letter-spacing: -0.24px; + margin: 0; +} + +.viewAllLink { + display: flex; + padding: var(--spacing-25, 10px) var(--spacing-4, 16px); + justify-content: center; + align-items: center; + gap: var(--spacing-2, 8px); + border-radius: var(--radius-rounded-sm, 2px); + background: var(--bg-brand-secondary-bold-base, #2b2b3a); + color: var(--text-inverse-bold, #fff); + font-family: 'Proxima Nova'; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + text-decoration: none; +} + +.subMenuCategoryContent { + display: flex; + padding: var(--spacing-10, 40px) var(--spacing-8, 32px); + align-items: flex-start; + gap: var(--spacing-6, 24px); +} + +.subMenuCategoryList { + list-style: none; + padding: 0; + display: flex; + flex-direction: column; + gap: 8px; + max-width: 230px; + width: 100%; +} + +.subMenuCategoryItem:last-child .subMenuCategoryLink { + color: rgba(255, 90, 0, 1); +} + +.subMenuCategoryLink { + text-decoration: none; + color: var(--text-link-secondary-default-base, #3f3f46); + font-family: 'Proxima Nova'; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + transition: color 0.2s ease-in-out; +} + +.subMenuCategoryLink:hover { + color: rgba(255, 90, 0, 1); +} + +.departmentImage { + max-width: 360px; + max-height: 246px; + width: 100%; + height: 100%; + border-radius: var(--radius-rounded-lg, 8px); +} + +.departmentImage img { + border-radius: var(--radius-rounded-lg, 8px); +} diff --git a/react/components/Menu/components/MenuMobile/index.tsx b/react/components/Menu/components/MenuMobile/index.tsx new file mode 100644 index 00000000..cb5a72f3 --- /dev/null +++ b/react/components/Menu/components/MenuMobile/index.tsx @@ -0,0 +1,8 @@ +// Dependencies +import React from 'react' + +const MenuMobile = () => { + return
mobile
+} + +export default MenuMobile diff --git a/react/components/Menu/components/MenuMobile/styles.css b/react/components/Menu/components/MenuMobile/styles.css new file mode 100644 index 00000000..e69de29b diff --git a/react/components/Menu/context/index.tsx b/react/components/Menu/context/index.tsx new file mode 100644 index 00000000..cf34eac6 --- /dev/null +++ b/react/components/Menu/context/index.tsx @@ -0,0 +1,19 @@ +// Dependencies +import React, { createContext } from 'react' + +// Types +import type { FC, ReactNode } from 'react' +import type { MenuRoot } from '../typing' + +interface MenuContextProps { + children: ReactNode + value: MenuRoot +} + +const MenuContext = createContext>({}) + +const MenuProvider: FC = ({ children, value }) => { + return {children} +} + +export { MenuContext, MenuProvider } diff --git a/react/components/Menu/index.tsx b/react/components/Menu/index.tsx new file mode 100644 index 00000000..660d3150 --- /dev/null +++ b/react/components/Menu/index.tsx @@ -0,0 +1,37 @@ +// Dependencies +import React from 'react' + +// Components +// @ts-ignore +import { useRuntime } from 'vtex.render-runtime' + +// Hooks +import MenuMobile from './components/MenuMobile' +import MenuDesktop from './components/MenuDesktop' + +// Schema +import { MENU_SCHEMA } from './schema' +import { MenuProvider } from './context' + +// Types +import { MenuRoot } from './typing' + +interface MenuProps { + departments: MenuRoot +} + +const Menu = ({ departments }: MenuProps) => { + const { + deviceInfo: { isMobile }, + } = useRuntime() + + return ( + + {isMobile ? : } + + ) +} + +Menu.schema = MENU_SCHEMA + +export default Menu diff --git a/react/components/Menu/schema.ts b/react/components/Menu/schema.ts new file mode 100644 index 00000000..25f11961 --- /dev/null +++ b/react/components/Menu/schema.ts @@ -0,0 +1,86 @@ +export const MENU_SCHEMA = { + title: 'Menu Customizado', + type: 'object', + properties: { + departments: { + title: 'Departamentos', + type: 'array', + items: { + title: 'Departamento', + type: 'object', + properties: { + __editorItemTitle: { + title: 'Nome do Departamento (para organização)', + type: 'string', + }, + name: { + title: 'Nome do Departamento', + type: 'string', + }, + link: { + title: 'Link do Departamento', + type: 'string', + }, + departmentImageDesktop: { + type: 'object', + properties: { + src: { + title: 'Imagem do departamento - Desktop', + type: 'string', + widget: { + 'ui:widget': 'image-uploader', + }, + }, + }, + }, + departmentThumbImageMobile: { + type: 'object', + properties: { + src: { + title: 'Thumb do departamento - Mobile', + type: 'string', + widget: { + 'ui:widget': 'image-uploader', + }, + }, + }, + }, + departmentImageMobile: { + type: 'object', + properties: { + src: { + title: 'Imagem do departamento - Mobile', + type: 'string', + widget: { + 'ui:widget': 'image-uploader', + }, + }, + }, + }, + categories: { + title: 'Categorias', + type: 'array', + items: { + title: 'Categoria', + type: 'object', + properties: { + __editorItemTitle: { + title: 'Nome da Categoria (para organização)', + type: 'string', + }, + name: { + title: 'Nome da Categoria', + type: 'string', + }, + link: { + title: 'Link da Categoria', + type: 'string', + }, + }, + }, + }, + }, + }, + }, + }, +} diff --git a/react/components/Menu/typing.ts b/react/components/Menu/typing.ts new file mode 100644 index 00000000..40cfdefa --- /dev/null +++ b/react/components/Menu/typing.ts @@ -0,0 +1,23 @@ +export interface MenuRoot { + departments: MenuDepartment[] +} + +export interface MenuDepartment { + departmentImageDesktop: MenuImage + departmentThumbImageMobile: MenuImage + departmentImageMobile: MenuImage + __editorItemTitle: string + name: string + link: string + categories?: MenuCategory[] +} + +export interface MenuImage { + src?: string +} + +export interface MenuCategory { + __editorItemTitle: string + name: string + link: string +} diff --git a/react/hooks/useMenu.ts b/react/hooks/useMenu.ts new file mode 100644 index 00000000..d8eb1396 --- /dev/null +++ b/react/hooks/useMenu.ts @@ -0,0 +1,8 @@ +import { useContext } from 'react' +import { MenuContext } from '../components/Menu/context' + +export const useMenu = () => { + const departments = useContext(MenuContext) + + return { departments } +} diff --git a/react/package.json b/react/package.json index 0ce5f2d4..afd7b352 100644 --- a/react/package.json +++ b/react/package.json @@ -44,7 +44,7 @@ "apollo-cache-inmemory": "^1.6.5", "apollo-client": "^2.5.1", "graphql": "^14.6.0", - "roland.store-theme": "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715278451/public/@types/roland.store-theme", + "roland.store-theme": "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715369489/public/@types/roland.store-theme", "typescript": "3.9.7", "vtex.add-to-cart-button": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button", "vtex.breadcrumb": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb", @@ -86,4 +86,4 @@ "vtex.tab-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.tab-layout@0.4.6/public/@types/vtex.tab-layout", "vtex.telemarketing": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.telemarketing@2.12.1/public/@types/vtex.telemarketing" } -} +} \ No newline at end of file diff --git a/react/typings/vtex.render-runtime.d.ts b/react/typings/vtex.render-runtime.d.ts index bfb1e97a..af62a07c 100644 --- a/react/typings/vtex.render-runtime.d.ts +++ b/react/typings/vtex.render-runtime.d.ts @@ -1,38 +1,38 @@ /* Typings for `render-runtime` */ -declare module "vtex.render-runtime" { - import { ComponentType, ReactElement, ReactType } from "react"; +declare module 'vtex.render-runtime' { + import { ComponentType, ReactElement, ReactType } from 'react' - export interface NavigationOptions { - page: string - params?: any - } + export interface NavigationOptions { + page: string + params?: any + } - export interface RenderContextProps { - runtime: { - navigate: (options: NavigationOptions) => void - } + export interface RenderContextProps { + runtime: { + navigate: (options: NavigationOptions) => void } + } - interface ExtensionPointProps { - id: string - [key: string]: any - } + interface ExtensionPointProps { + id: string + [key: string]: any + } - export const ExtensionPoint: ComponentType; + export const ExtensionPoint: ComponentType - interface ChildBlockProps { - id: string - } + interface ChildBlockProps { + id: string + } - export const ChildBlock: ComponentType; - export const useChildBlock = () => GenericObject; + export const ChildBlock: ComponentType + export const useChildBlock = () => GenericObject - export const Helmet: ReactElement; - export const Link: ReactType; - export const NoSSR: ReactElement; - export const RenderContextConsumer: ReactElement; - export const canUseDOM: boolean; - export const withRuntimeContext: ( - Component: ComponentType - ) => ComponentType; + export const Helmet: ReactElement + export const Link: ReactType + export const NoSSR: ReactElement + export const RenderContextConsumer: ReactElement + export const canUseDOM: boolean + export const withRuntimeContext: ( + Component: ComponentType + ) => ComponentType } diff --git a/store/blocks/default.jsonc b/store/blocks/default.jsonc new file mode 100644 index 00000000..12d17113 --- /dev/null +++ b/store/blocks/default.jsonc @@ -0,0 +1,7 @@ +{ + "menu": { + "props": { + "title": "Menu Customizado" + } + } +} diff --git a/store/blocks/partials/header/header-desktop.jsonc b/store/blocks/partials/header/header-desktop.jsonc index 9c735524..d5d2bc9f 100644 --- a/store/blocks/partials/header/header-desktop.jsonc +++ b/store/blocks/partials/header/header-desktop.jsonc @@ -1,5 +1,5 @@ { "header-layout.desktop": { - "children": ["header-row#topbar", "header-row#main"] + "children": ["header-row#topbar", "header-row#main", "menu"] } } diff --git a/store/blocks/partials/header/header.menu-desktop.jsonc b/store/blocks/partials/header/header.menu-desktop.jsonc new file mode 100644 index 00000000..e69de29b diff --git a/store/interfaces.json b/store/interfaces.json index a8987889..28796d7b 100644 --- a/store/interfaces.json +++ b/store/interfaces.json @@ -3,5 +3,8 @@ "component": "Topbar", "composition": "children", "allowed": "*" + }, + "menu": { + "component": "Menu" } } From b190fc3bce7b6efd05b3245a9bb8d0ff1b8223f1 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Fri, 10 May 2024 17:04:39 -0300 Subject: [PATCH 014/310] chore: Update .gitignore to ignore CSS files and styles/css directory --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 38d1a36f..58c4e0c9 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,6 @@ jspm_packages/ .env .scannerwork + +styles/css +.css From cd009f83d25d4215d406d5ba7c81ed9336c3b396 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Fri, 10 May 2024 17:11:59 -0300 Subject: [PATCH 015/310] chore: Update .gitignore to ignore CSS files in styles/css directory --- .gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 58c4e0c9..99208d3f 100644 --- a/.gitignore +++ b/.gitignore @@ -76,5 +76,4 @@ jspm_packages/ .scannerwork -styles/css -.css +styles/css/*.css From 1f36b32c59331c7468524a3368bdc93f40ee3712 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Tue, 14 May 2024 12:46:08 -0300 Subject: [PATCH 016/310] feat: menu mobile login --- manifest.json | 2 + .../Menu/components/LoginMobile/index.tsx | 69 +++++++++++++++++ .../Menu/components/LoginMobile/styles.css | 38 +++++++++ .../{MenuDesktop => MenuContent}/index.tsx | 40 ++++++++-- .../{MenuDesktop => MenuContent}/styles.css | 77 +++++++++++++++++++ .../Menu/components/MenuMobile/index.tsx | 8 -- .../Menu/components/MenuMobile/styles.css | 0 react/components/Menu/index.tsx | 15 +--- react/package.json | 2 +- react/yarn.lock | 4 +- store/blocks/default.jsonc | 4 +- .../partials/header/header-desktop.jsonc | 2 +- .../partials/header/header-mobile.jsonc | 16 +++- .../partials/header/header.menu-desktop.jsonc | 0 store/blocks/partials/header/main.jsonc | 11 ++- store/blocks/partials/header/search.jsonc | 8 +- store/interfaces.json | 4 +- styles/css/vtex.flex-layout.css | 1 + styles/css/vtex.search.css | 15 ++++ styles/css/vtex.store-header.css | 7 ++ .../partials/header/vtex.flex-layout.scss | 1 + styles/sass/partials/header/vtex.search.scss | 27 ++++++- .../partials/header/vtex.store-header.scss | 8 ++ yarn.lock | 2 +- 24 files changed, 318 insertions(+), 43 deletions(-) create mode 100644 react/components/Menu/components/LoginMobile/index.tsx create mode 100644 react/components/Menu/components/LoginMobile/styles.css rename react/components/Menu/components/{MenuDesktop => MenuContent}/index.tsx (76%) rename react/components/Menu/components/{MenuDesktop => MenuContent}/styles.css (61%) delete mode 100644 react/components/Menu/components/MenuMobile/index.tsx delete mode 100644 react/components/Menu/components/MenuMobile/styles.css delete mode 100644 store/blocks/partials/header/header.menu-desktop.jsonc diff --git a/manifest.json b/manifest.json index 833c43c2..45f96479 100644 --- a/manifest.json +++ b/manifest.json @@ -21,6 +21,8 @@ "vtex.styleguide": "9.x", "vtex.slider": "0.x", "vtex.carousel": "2.x", + "vtex.device-detector": "0.x", + "vtex.order-manager": "0.x", "vtex.shelf": "1.x", "vtex.menu": "2.x", "vtex.minicart": "2.x", diff --git a/react/components/Menu/components/LoginMobile/index.tsx b/react/components/Menu/components/LoginMobile/index.tsx new file mode 100644 index 00000000..74f17ac6 --- /dev/null +++ b/react/components/Menu/components/LoginMobile/index.tsx @@ -0,0 +1,69 @@ +// Dependencies +import React from 'react' + +import { OrderForm } from 'vtex.order-manager' + +// Styles +import styles from './styles.css' + +const { useOrderForm } = OrderForm + +const LoginMobile = () => { + const { + orderForm: { loggedIn, clientProfileData }, + } = useOrderForm() ?? {} + + return ( +
+
+ +
+
+ ) +} + +export default LoginMobile diff --git a/react/components/Menu/components/LoginMobile/styles.css b/react/components/Menu/components/LoginMobile/styles.css new file mode 100644 index 00000000..34ade82e --- /dev/null +++ b/react/components/Menu/components/LoginMobile/styles.css @@ -0,0 +1,38 @@ +.loginMobileWrapper { +} + +.userWrapper { + width: 100%; +} + +.userWrapper ul { + display: flex; + flex-direction: column; + list-style: none; + padding: 0; + gap: 16px; + margin: 0; +} + +.userWrapper ul li { + display: flex; + align-items: center; + gap: 16px; +} + +.userWrapper ul li:first-child :where(span, a) { + font-size: 20px; + letter-spacing: -0.2px; + padding: 6px 0; +} + +.userWrapper ul li :where(span, a) { + color: var(--bg-brand-secondary-bold-base, #2b2b3a); + font-family: 'Proxima Nova'; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; + text-decoration: none; + letter-spacing: -0.14px; +} diff --git a/react/components/Menu/components/MenuDesktop/index.tsx b/react/components/Menu/components/MenuContent/index.tsx similarity index 76% rename from react/components/Menu/components/MenuDesktop/index.tsx rename to react/components/Menu/components/MenuContent/index.tsx index b6a70cd0..bdb3536e 100644 --- a/react/components/Menu/components/MenuDesktop/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -8,23 +8,48 @@ import styles from './styles.css' // Hooks import { useMenu } from '../../../../hooks/useMenu' + +// @ts-ignore +import { useDevice } from 'vtex.device-detector' + +// Types import type { MenuDepartment } from '../../typing' +import LoginMobile from '../LoginMobile' -const MenuDesktop = () => { +const MenuContent = () => { + const { isMobile } = useDevice() const { departments } = useMenu() + const [menuOpen, setMenuOpen] = useState(false) const [activeDepartment, setActiveDepartment] = useState(null) console.log('departments', departments) if (!departments) return null + const menuClasses = classnames(styles.menuWrapper, { + [styles.open]: isMobile && menuOpen, + }) + return (
-
+ {isMobile && ( + {hasCategories && (
@@ -102,4 +130,4 @@ const MenuDesktop = () => { ) } -export default MenuDesktop +export default MenuContent diff --git a/react/components/Menu/components/MenuDesktop/styles.css b/react/components/Menu/components/MenuContent/styles.css similarity index 61% rename from react/components/Menu/components/MenuDesktop/styles.css rename to react/components/Menu/components/MenuContent/styles.css index a73afcdc..9f48c8fa 100644 --- a/react/components/Menu/components/MenuDesktop/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -7,6 +7,14 @@ z-index: 2; } +.menuButton { + background: transparent; + background-image: url('data:image/svg+xml,'); + width: 21px; + height: 21px; + border: none; +} + .menuOverlay { width: 100%; height: 100vw; @@ -159,3 +167,72 @@ .departmentImage img { border-radius: var(--radius-rounded-lg, 8px); } + +@media screen and (max-width: 1024px) { + .menuContainer { + width: fit-content; + } + .menuWrapper { + transform: translate(-100%, 0); + position: fixed; + height: 100vh; + max-width: 312px; + width: 100%; + top: 0; + left: 0; + background-color: #fff; + transition: transform 0.3s ease-in-out; + padding: 24px; + } + + .menuWrapper.open { + transform: translate(0, 0); + } + + .menuList { + flex-direction: column; + align-items: flex-start; + gap: 0; + } + + .menuItem { + width: 100%; + padding: 8px 0; + } + + .listTitleMobile { + color: #000; + font-family: 'Proxima Nova'; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 24px; + letter-spacing: -0.16px; + padding: 12px 0; + display: block; + } + + .menuItem button { + display: flex; + align-items: center; + gap: 8px; + width: 100%; + } + .menuItem button span { + width: 100%; + text-align: left; + } + + .menuItem button::after { + content: url('data:image/svg+xml,'); + width: 16px; + height: 16px; + display: block; + } + + .menuItem button img { + width: 54px; + height: 40px; + border-radius: var(--radius-rounded, 4px); + } +} diff --git a/react/components/Menu/components/MenuMobile/index.tsx b/react/components/Menu/components/MenuMobile/index.tsx deleted file mode 100644 index cb5a72f3..00000000 --- a/react/components/Menu/components/MenuMobile/index.tsx +++ /dev/null @@ -1,8 +0,0 @@ -// Dependencies -import React from 'react' - -const MenuMobile = () => { - return
mobile
-} - -export default MenuMobile diff --git a/react/components/Menu/components/MenuMobile/styles.css b/react/components/Menu/components/MenuMobile/styles.css deleted file mode 100644 index e69de29b..00000000 diff --git a/react/components/Menu/index.tsx b/react/components/Menu/index.tsx index 660d3150..69ce0a2c 100644 --- a/react/components/Menu/index.tsx +++ b/react/components/Menu/index.tsx @@ -2,32 +2,23 @@ import React from 'react' // Components -// @ts-ignore -import { useRuntime } from 'vtex.render-runtime' - -// Hooks -import MenuMobile from './components/MenuMobile' -import MenuDesktop from './components/MenuDesktop' +import MenuContent from './components/MenuContent' // Schema import { MENU_SCHEMA } from './schema' import { MenuProvider } from './context' // Types -import { MenuRoot } from './typing' +import type { MenuRoot } from './typing' interface MenuProps { departments: MenuRoot } const Menu = ({ departments }: MenuProps) => { - const { - deviceInfo: { isMobile }, - } = useRuntime() - return ( - {isMobile ? : } + ) } diff --git a/react/package.json b/react/package.json index afd7b352..832081f0 100644 --- a/react/package.json +++ b/react/package.json @@ -86,4 +86,4 @@ "vtex.tab-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.tab-layout@0.4.6/public/@types/vtex.tab-layout", "vtex.telemarketing": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.telemarketing@2.12.1/public/@types/vtex.telemarketing" } -} \ No newline at end of file +} diff --git a/react/yarn.lock b/react/yarn.lock index ae26807d..b4cc24cc 100644 --- a/react/yarn.lock +++ b/react/yarn.lock @@ -4898,9 +4898,9 @@ rimraf@^3.0.0: dependencies: glob "^7.1.3" -"roland.store-theme@https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715278451/public/@types/roland.store-theme": +"roland.store-theme@https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715369489/public/@types/roland.store-theme": version "0.0.1" - resolved "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715278451/public/@types/roland.store-theme#470eba0724809c2160d2ae3a5469be36ad7225b5" + resolved "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715369489/public/@types/roland.store-theme#da00e590206579d28c8f0abcf729d7b339a732ae" rsvp@^4.8.4: version "4.8.5" diff --git a/store/blocks/default.jsonc b/store/blocks/default.jsonc index 12d17113..4014458d 100644 --- a/store/blocks/default.jsonc +++ b/store/blocks/default.jsonc @@ -1,7 +1,5 @@ { "menu": { - "props": { - "title": "Menu Customizado" - } + "title": "Menu Customizado - Desktop" } } diff --git a/store/blocks/partials/header/header-desktop.jsonc b/store/blocks/partials/header/header-desktop.jsonc index d5d2bc9f..d124e685 100644 --- a/store/blocks/partials/header/header-desktop.jsonc +++ b/store/blocks/partials/header/header-desktop.jsonc @@ -1,5 +1,5 @@ { "header-layout.desktop": { - "children": ["header-row#topbar", "header-row#main", "menu"] + "children": ["header-row#topbar", "header-row#main-desktop", "menu"] } } diff --git a/store/blocks/partials/header/header-mobile.jsonc b/store/blocks/partials/header/header-mobile.jsonc index 855652c3..bc355d2c 100644 --- a/store/blocks/partials/header/header-mobile.jsonc +++ b/store/blocks/partials/header/header-mobile.jsonc @@ -1,5 +1,19 @@ { "header-layout.mobile": { - "children": ["header-row#topbar"] + "children": [ + "header-row#topbar", + "header-row#main-mobile", + "header-row#search-mobile" + ] + }, + "header-row#search-mobile": { + "children": ["search-bar"], + "props": { + "blockClass": ["search-container"] + } + }, + "menu#mobile": { + "title": "Menu Customizado - Mobile", + "children": [] } } diff --git a/store/blocks/partials/header/header.menu-desktop.jsonc b/store/blocks/partials/header/header.menu-desktop.jsonc deleted file mode 100644 index e69de29b..00000000 diff --git a/store/blocks/partials/header/main.jsonc b/store/blocks/partials/header/main.jsonc index 2747a46e..c1b622df 100644 --- a/store/blocks/partials/header/main.jsonc +++ b/store/blocks/partials/header/main.jsonc @@ -1,12 +1,18 @@ { - "header-row#main": { + "header-row#main-desktop": { "children": [ "image#logo", - "search-bar#desktop-new", + "search-bar", "login#desktop", "link#wishlist", "minicart.v2" ], + "props": { + "blockClass": ["main-container", "desktop"] + } + }, + "header-row#main-mobile": { + "children": ["menu#mobile", "image#logo", "minicart.v2"], "props": { "blockClass": ["main-container"] } @@ -19,6 +25,7 @@ } }, "image#logo": { + "title": "Logo da loja", "props": { "src": "assets/svgs/roland-logo.svg", "blockClass": "logo", diff --git a/store/blocks/partials/header/search.jsonc b/store/blocks/partials/header/search.jsonc index 570351f2..d312cab0 100644 --- a/store/blocks/partials/header/search.jsonc +++ b/store/blocks/partials/header/search.jsonc @@ -1,18 +1,18 @@ { - "search-bar#desktop-new": { + "search-bar": { "title": "Barra de Busca", - "blocks": ["autocomplete-result-list.v2#search-bar"], + "blocks": ["autocomplete-result-list.v2"], "props": { "openAutocompleteOnFocus": true, "placeholder": "Busque por produtos...", "blockClass": "search-bar" } }, - "autocomplete-result-list.v2#search-bar": { + "autocomplete-result-list.v2": { "blocks": ["product-summary.shelf#search-result"], "props": { "maxSuggestedTerms": 5, - "maxTopSearches": 5, + "maxTopSearches": 10, "productLayout": "HORIZONTAL" } } diff --git a/store/interfaces.json b/store/interfaces.json index 28796d7b..d02b09c1 100644 --- a/store/interfaces.json +++ b/store/interfaces.json @@ -5,6 +5,8 @@ "allowed": "*" }, "menu": { - "component": "Menu" + "component": "Menu", + "composition": "children", + "allowed": "*" } } diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 210889ef..34caf217 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -27,6 +27,7 @@ position: absolute; top: 0; left: 0; + z-index: 1; } .flexRow--brand-switcher-container { diff --git a/styles/css/vtex.search.css b/styles/css/vtex.search.css index ac02f0d4..e467d0c8 100644 --- a/styles/css/vtex.search.css +++ b/styles/css/vtex.search.css @@ -47,6 +47,21 @@ line-height: 20px; letter-spacing: -0.14px; } +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListList { + max-height: 216px; + overflow: scroll; + margin-right: 4px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListList::-webkit-scrollbar { + width: 4px; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListList::-webkit-scrollbar-track { + background-color: transparent; +} +.biggy-autocomplete-wrapper .biggy-autocomplete .itemListList::-webkit-scrollbar-thumb { + border-radius: var(--radius-rounded-full, 9999px); + background: var(--border-brand-primary-base, #EE8146); +} .biggy-autocomplete-wrapper .biggy-autocomplete .itemListItem .itemListSubItem { display: none; } diff --git a/styles/css/vtex.store-header.css b/styles/css/vtex.store-header.css index 2cd4bcc2..92db462d 100644 --- a/styles/css/vtex.store-header.css +++ b/styles/css/vtex.store-header.css @@ -11,6 +11,7 @@ /* Grid breakpoints */ .headerRowBackground--topbar-container { position: relative; + height: 32px; } .headerRowContainer--main-container { @@ -21,4 +22,10 @@ align-items: center; background: #FFF; justify-content: space-between; +} + +@media screen and (max-width: 1024px) { + .headerStickyRow--topbar-container { + height: 32px; + } } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss index 6acf73ee..3303669c 100644 --- a/styles/sass/partials/header/vtex.flex-layout.scss +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -15,6 +15,7 @@ position: absolute; top: 0; left: 0; + z-index: 1; } .flexRow--brand-switcher-container { diff --git a/styles/sass/partials/header/vtex.search.scss b/styles/sass/partials/header/vtex.search.scss index 96268202..408aeb91 100644 --- a/styles/sass/partials/header/vtex.search.scss +++ b/styles/sass/partials/header/vtex.search.scss @@ -12,6 +12,7 @@ box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05), 0px 8px 16px 0px rgba(0, 0, 0, 0.05); + .itemList--suggestion { max-width: 232px; @@ -26,7 +27,10 @@ padding-left: 20px; font-size: 0; text-transform: unset; - padding-top: 20px; + + padding : { + top: 20px; + } &::before { content: 'Termos sugeridos'; @@ -40,6 +44,27 @@ } } + .itemListList { + max-height: 216px; + overflow: scroll; + margin-right: 4px; + + &::-webkit-scrollbar { + width: 4px; + } + + &::-webkit-scrollbar-track { + background-color: transparent; + } + + &::-webkit-scrollbar-thumb { + border-radius: var(--radius-rounded-full, 9999px); + background: var(--border-brand-primary-base, #EE8146); + + + } + } + .itemListItem { .itemListSubItem { display: none; diff --git a/styles/sass/partials/header/vtex.store-header.scss b/styles/sass/partials/header/vtex.store-header.scss index 50e65f8d..10cedb5b 100644 --- a/styles/sass/partials/header/vtex.store-header.scss +++ b/styles/sass/partials/header/vtex.store-header.scss @@ -1,5 +1,6 @@ .headerRowBackground--topbar-container { position: relative; + height: 32px; } .headerRowContainer--main-container { @@ -10,4 +11,11 @@ align-items: center; background: #FFF; justify-content: space-between; +} + + +.headerStickyRow--topbar-container { + @media screen and (max-width: 1024px) { + height: 32px; + } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index e2ea659d..ec9bf507 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1102,7 +1102,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.5: +classnames@^2.2.5, classnames@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== From 70f3b42139669c4d4ed77e1aa2950d2327037de6 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Tue, 14 May 2024 13:03:35 -0300 Subject: [PATCH 017/310] feat: Add close button to mobile menu --- .../Menu/components/MenuContent/index.tsx | 7 +++++ .../Menu/components/MenuContent/styles.css | 27 +++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/react/components/Menu/components/MenuContent/index.tsx b/react/components/Menu/components/MenuContent/index.tsx index bdb3536e..3acd4c94 100644 --- a/react/components/Menu/components/MenuContent/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -39,6 +39,12 @@ const MenuContent = () => { /> )}
+ {isMobile && ( +
{activeDepartment !== null && (
'); + border: none; + width: 20px; + height: 20px; + display: block; + margin-bottom: 24px; + padding: 0; +} + .menuList { display: flex; align-items: center; @@ -193,6 +204,9 @@ flex-direction: column; align-items: flex-start; gap: 0; + + margin-bottom: 16px; + border-bottom: 1px solid rgba(156, 160, 174, 0.4); } .menuItem { @@ -210,6 +224,8 @@ letter-spacing: -0.16px; padding: 12px 0; display: block; + margin-top: 16px; + border-top: 1px solid rgba(156, 160, 174, 0.4); } .menuItem button { @@ -235,4 +251,15 @@ height: 40px; border-radius: var(--radius-rounded, 4px); } + + .brandSwitcherMobile { + background-image: url('data:image/svg+xml,'); + border-radius: 4px; + border: 1px solid var(--text-inverse-subtle, #d4d4d8); + width: 100%; + height: 36px; + background-repeat: no-repeat; + background-position: center; + background-color: #f4f4f5; + } } From fc7dc5c0108cfef238f3b47979f6c564312ce637 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Tue, 14 May 2024 13:52:45 -0300 Subject: [PATCH 018/310] feat: Add departmentImageMobile to MenuContent component --- .../Menu/components/MenuContent/index.tsx | 33 +++++-- .../Menu/components/MenuContent/styles.css | 91 ++++++++++++++++++- 2 files changed, 110 insertions(+), 14 deletions(-) diff --git a/react/components/Menu/components/MenuContent/index.tsx b/react/components/Menu/components/MenuContent/index.tsx index 3acd4c94..6b3a7106 100644 --- a/react/components/Menu/components/MenuContent/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -55,6 +55,7 @@ const MenuContent = () => { categories, departmentImageDesktop, departmentThumbImageMobile, + departmentImageMobile, } = department const hasCategories = categories && categories.length > 0 @@ -77,11 +78,22 @@ const MenuContent = () => { {hasCategories && (
+
+ {isMobile && ( + {name} + )}
    {categories?.map((category) => { @@ -123,16 +135,17 @@ const MenuContent = () => {
{isMobile &&
- {activeDepartment !== null && ( -
{ - setActiveDepartment(null) - }} - /> - )} + {activeDepartment !== null || + (menuOpen && ( +
{ + setActiveDepartment(null) + }} + /> + ))}
) } diff --git a/react/components/Menu/components/MenuContent/styles.css b/react/components/Menu/components/MenuContent/styles.css index fa35c41e..4e60d75b 100644 --- a/react/components/Menu/components/MenuContent/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -36,8 +36,11 @@ width: 20px; height: 20px; display: block; - margin-bottom: 24px; padding: 0; + position: absolute; + left: 24px; + top: 24px; + z-index: 99999999999; } .menuList { @@ -54,7 +57,7 @@ cursor: pointer; } -.menuItem button { +.menuItem button:not(.hideCategory) { text-decoration: none; color: var(--Gray-Scale-Black, #000); font-family: 'Proxima Nova'; @@ -163,6 +166,10 @@ transition: color 0.2s ease-in-out; } +.hideCategory { + display: none; +} + .subMenuCategoryLink:hover { color: rgba(255, 90, 0, 1); } @@ -194,6 +201,8 @@ background-color: #fff; transition: transform 0.3s ease-in-out; padding: 24px; + z-index: 9999; + padding-top: 60px; } .menuWrapper.open { @@ -214,6 +223,20 @@ padding: 8px 0; } + .departmentImageMobile { + border-radius: var(--radius-rounded, 4px); + background: var(--bg-brand-secondary-bold-base, #2b2b3a); + max-width: 264px; + width: 100%; + height: 54px; + margin: 12px auto 0 auto; + display: flex; + } + + .viewAllLink { + display: none; + } + .listTitleMobile { color: #000; font-family: 'Proxima Nova'; @@ -228,7 +251,7 @@ border-top: 1px solid rgba(156, 160, 174, 0.4); } - .menuItem button { + .menuItem button:not(.hideCategory) { display: flex; align-items: center; gap: 8px; @@ -239,7 +262,7 @@ text-align: left; } - .menuItem button::after { + .menuItem button:not(.hideCategory):after { content: url('data:image/svg+xml,'); width: 16px; height: 16px; @@ -252,6 +275,15 @@ border-radius: var(--radius-rounded, 4px); } + .departmentTitleWrapper { + background-color: transparent; + padding: 0; + justify-content: flex-start; + align-items: center; + margin-top: 72px; + padding-left: 24px; + } + .brandSwitcherMobile { background-image: url('data:image/svg+xml,'); border-radius: 4px; @@ -262,4 +294,55 @@ background-position: center; background-color: #f4f4f5; } + + .categoryWrapper { + transform: translate(-100%, 0); + max-height: 100%; + position: fixed; + top: 0; + left: 0; + opacity: 1; + height: 100%; + max-width: 312px; + min-width: unset; + width: 100%; + } + + .categoryWrapper.active { + transform: translate(0, 0); + height: 100%; + } + + .departmentTitle { + color: var(--icon-brand-secondary-base, #2b2b3a); + + /* text-sm/semibold */ + font-family: 'Proxima Nova'; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; /* 142.857% */ + letter-spacing: -0.14px; + padding-right: 24px; + } + + .hideCategory { + display: block; + border: none; + background-color: transparent; + background-image: url('data:image/svg+xml,'); + width: 16px; + height: 16px; + background-repeat: no-repeat; + } + + .subMenuCategoryContent { + padding: 16px 24px; + } + + .menuOverlay { + height: 100vh; + position: fixed; + top: 0; + } } From c3e980d8364a1ecca8f8c1ee87135a63bcbde314 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Tue, 14 May 2024 15:49:14 -0300 Subject: [PATCH 019/310] feat: Update menu titles and add sticky search bar --- .../Menu/components/MenuContent/index.tsx | 85 ++++++++++++++----- .../Menu/components/MenuContent/styles.css | 70 +++++++++++++++ react/components/Menu/index.tsx | 6 +- store/blocks/default.jsonc | 5 -- .../partials/header/header-desktop.jsonc | 4 + .../partials/header/header-mobile.jsonc | 3 +- store/blocks/partials/header/search.jsonc | 9 ++ styles/css/vtex.login.css | 27 ++++++ styles/sass/partials/header/vtex.login.scss | 31 +++++++ 9 files changed, 212 insertions(+), 28 deletions(-) diff --git a/react/components/Menu/components/MenuContent/index.tsx b/react/components/Menu/components/MenuContent/index.tsx index 6b3a7106..44d2e3cd 100644 --- a/react/components/Menu/components/MenuContent/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -1,6 +1,7 @@ /* eslint-disable jsx-a11y/click-events-have-key-events */ // Dependencies -import React, { useState } from 'react' +import type { ReactNode } from 'react' +import React, { useEffect, useState } from 'react' import classnames from 'classnames' // Styles @@ -16,13 +17,32 @@ import { useDevice } from 'vtex.device-detector' import type { MenuDepartment } from '../../typing' import LoginMobile from '../LoginMobile' -const MenuContent = () => { - const { isMobile } = useDevice() - const { departments } = useMenu() - const [menuOpen, setMenuOpen] = useState(false) +interface MenuContentProps { + children: ReactNode +} + +const MenuContent = ({ children }: MenuContentProps) => { const [activeDepartment, setActiveDepartment] = useState(null) + const [menuOpen, setMenuOpen] = useState(false) + const [isSticky, setIsSticky] = useState(false) + const { departments } = useMenu() + const { isMobile } = useDevice() + + console.log(departments) - console.log('departments', departments) + useEffect(() => { + const handleScroll = () => { + setIsSticky(window.scrollY > 100) + } + + window.addEventListener('scroll', handleScroll) + + return () => window.removeEventListener('scroll', handleScroll) + }, []) + + const stickyClassNames = classnames(styles.userInteractions, { + [styles.sticky]: isSticky, + }) if (!departments) return null @@ -30,8 +50,12 @@ const MenuContent = () => { [styles.open]: isMobile && menuOpen, }) + const containerClasses = classnames(styles.menuContainer, { + [styles.stickyMenu]: !isMobile && isSticky, + }) + return ( -
+
{isMobile && (
- {activeDepartment !== null || - (menuOpen && ( -
{ - setActiveDepartment(null) - }} - /> - ))} + {(menuOpen || activeDepartment !== null) && ( +
{ + setActiveDepartment(null) + }} + /> + )}
) } diff --git a/react/components/Menu/components/MenuContent/styles.css b/react/components/Menu/components/MenuContent/styles.css index 4e60d75b..bb0f0821 100644 --- a/react/components/Menu/components/MenuContent/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -7,6 +7,39 @@ z-index: 2; } +.stickyMenu .menuList { + gap: 16px; +} + +.logo { + opacity: 0; + max-width: 0; + transition: opacity 0.1s ease-in-out; +} + +.stickyMenu .logo { + opacity: 1; + max-width: 100%; + margin-right: 16px; + height: 28px; +} + +.stickyMenu .menuItem { + padding-top: 16px; +} + +.stickyMenu .menuItem { + padding-bottom: 16px; +} + +.stickyMenu .menuWrapper { + align-items: center; +} + +.stickyMenu :global(.vtex-login-2-x-profile)::after { + display: none; +} + .menuButton { background: transparent; background-image: url('data:image/svg+xml,'); @@ -27,6 +60,43 @@ max-width: 1440px; margin: 0 auto; padding: 0 32px; + display: flex; +} + +.userInteractions { + opacity: 0; + max-width: 0; + transition: opacity 0.1s ease-in-out; + display: flex; + justify-content: space-between; +} + +.userInteractions.sticky { + opacity: 1; + max-width: 100%; + align-items: center; +} + +.userInteractions :global(.vtex-store-components-3-x-searchBarContainer) { + max-width: 152px; + margin: 0 24px; +} + +.userInteractions :global(.vtex-store-link-0-x-label--wishlist) { + font-size: 0 !important; + width: 48px; +} + +.userInteractions :global(.vtex-login-2-x-profile) { + font-size: 0; + width: 48px; +} + +.userInteractions :global(.vtex-login-2-x-profile)::before { + content: url('data:image/svg+xml,'); + width: 20px; + height: 20px; + display: block; } .closeButton { diff --git a/react/components/Menu/index.tsx b/react/components/Menu/index.tsx index 69ce0a2c..5a105041 100644 --- a/react/components/Menu/index.tsx +++ b/react/components/Menu/index.tsx @@ -10,15 +10,17 @@ import { MenuProvider } from './context' // Types import type { MenuRoot } from './typing' +import type { ReactNode } from 'react' interface MenuProps { departments: MenuRoot + children: ReactNode } -const Menu = ({ departments }: MenuProps) => { +const Menu = ({ departments, children }: MenuProps) => { return ( - + {children} ) } diff --git a/store/blocks/default.jsonc b/store/blocks/default.jsonc index 4014458d..e69de29b 100644 --- a/store/blocks/default.jsonc +++ b/store/blocks/default.jsonc @@ -1,5 +0,0 @@ -{ - "menu": { - "title": "Menu Customizado - Desktop" - } -} diff --git a/store/blocks/partials/header/header-desktop.jsonc b/store/blocks/partials/header/header-desktop.jsonc index d124e685..5710da65 100644 --- a/store/blocks/partials/header/header-desktop.jsonc +++ b/store/blocks/partials/header/header-desktop.jsonc @@ -1,5 +1,9 @@ { "header-layout.desktop": { "children": ["header-row#topbar", "header-row#main-desktop", "menu"] + }, + "menu": { + "title": "Menu Customizado - Desktop", + "children": ["search-bar#sticky", "login#desktop", "minicart.v2"] } } diff --git a/store/blocks/partials/header/header-mobile.jsonc b/store/blocks/partials/header/header-mobile.jsonc index bc355d2c..e364aec9 100644 --- a/store/blocks/partials/header/header-mobile.jsonc +++ b/store/blocks/partials/header/header-mobile.jsonc @@ -13,7 +13,6 @@ } }, "menu#mobile": { - "title": "Menu Customizado - Mobile", - "children": [] + "title": "Menu Customizado - Mobile" } } diff --git a/store/blocks/partials/header/search.jsonc b/store/blocks/partials/header/search.jsonc index d312cab0..564ea935 100644 --- a/store/blocks/partials/header/search.jsonc +++ b/store/blocks/partials/header/search.jsonc @@ -8,6 +8,15 @@ "blockClass": "search-bar" } }, + "search-bar#sticky": { + "title": "Barra de Busca", + "blocks": ["autocomplete-result-list.v2"], + "props": { + "openAutocompleteOnFocus": true, + "placeholder": "Buscar...", + "blockClass": ["search-bar", "search-bar--sticky"] + } + }, "autocomplete-result-list.v2": { "blocks": ["product-summary.shelf#search-result"], "props": { diff --git a/styles/css/vtex.login.css b/styles/css/vtex.login.css index 6dcd2bc2..01e04430 100644 --- a/styles/css/vtex.login.css +++ b/styles/css/vtex.login.css @@ -22,6 +22,33 @@ .container .loginIcon .profileIcon { display: none; } +.container .profile { + font-size: 0; + display: flex; + align-items: center; + gap: 8px; +} +.container .profile::before { + content: ""; + background-image: url("assets/svgs/login-icon.svg"); + width: 20px; + height: 20px; + background-repeat: no-repeat; + display: block; +} +.container .profile::after { + content: "Minha conta"; + color: var(--Gray-Scale-Black, #000); + /* text-base/medium */ + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + text-transform: math-auto; + font-weight: 500; + line-height: 24px; + /* 150% */ + letter-spacing: -0.16px; +} .container .label { color: var(--Gray-Scale-Black, #000); font-family: "Proxima Nova"; diff --git a/styles/sass/partials/header/vtex.login.scss b/styles/sass/partials/header/vtex.login.scss index 6e0393ed..8082bb1c 100644 --- a/styles/sass/partials/header/vtex.login.scss +++ b/styles/sass/partials/header/vtex.login.scss @@ -19,6 +19,37 @@ } } + .profile { + font-size: 0; + display: flex; + align-items: center; + gap: 8px; + + &::before { + content: ''; + background-image: url("assets/svgs/login-icon.svg"); + width: 20px; + height: 20px; + background-repeat: no-repeat; + display: block; + } + + &::after { + content: "Minha conta"; + color: var(--Gray-Scale-Black, #000); + + /* text-base/medium */ + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + text-transform: math-auto; + font-weight: 500; + line-height: 24px; + /* 150% */ + letter-spacing: -0.16px; + } + } + .label { color: var(--Gray-Scale-Black, #000); font-family: "Proxima Nova"; From fa961f29ea6491db1f9e07dd5338fd7d05904063 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Tue, 14 May 2024 16:30:00 -0300 Subject: [PATCH 020/310] feat: Update menu titles, add sticky search bar, and improve mobile menu --- .gitignore | 4 +++ .../Menu/components/MenuContent/styles.css | 8 +++++- styles/css/vtex.flex-layout.css | 4 +-- styles/css/vtex.minicart.css | 7 +++++ styles/css/vtex.search.css | 26 +++++++++++++++++++ styles/css/vtex.store-components.css | 6 +++++ styles/css/vtex.store-header.css | 10 ++++++- styles/css/vtex.store-link.css | 2 +- .../partials/header/vtex.flex-layout.scss | 4 +-- .../sass/partials/header/vtex.minicart.scss | 7 +++++ styles/sass/partials/header/vtex.search.scss | 26 +++++++++++++++++++ .../header/vtex.store-components.scss | 6 +++++ .../partials/header/vtex.store-header.scss | 19 +++++++++++--- .../sass/partials/header/vtex.store-link.scss | 2 +- 14 files changed, 120 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 99208d3f..16c10371 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,7 @@ jspm_packages/ .scannerwork styles/css/*.css + +styles/css +**/*.sass-cache/ +**/*.css.map \ No newline at end of file diff --git a/react/components/Menu/components/MenuContent/styles.css b/react/components/Menu/components/MenuContent/styles.css index bb0f0821..b0cbc179 100644 --- a/react/components/Menu/components/MenuContent/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -256,7 +256,7 @@ border-radius: var(--radius-rounded-lg, 8px); } -@media screen and (max-width: 1024px) { +@media screen and (max-width: 1025px) { .menuContainer { width: fit-content; } @@ -265,6 +265,7 @@ position: fixed; height: 100vh; max-width: 312px; + flex-direction: column; width: 100%; top: 0; left: 0; @@ -273,6 +274,7 @@ padding: 24px; z-index: 9999; padding-top: 60px; + justify-items: start; } .menuWrapper.open { @@ -315,6 +317,7 @@ font-weight: 600; line-height: 24px; letter-spacing: -0.16px; + width: 100%; padding: 12px 0; display: block; margin-top: 16px; @@ -365,6 +368,9 @@ background-color: #f4f4f5; } + .logo { + height: 0; + } .categoryWrapper { transform: translate(-100%, 0); max-height: 100%; diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 34caf217..c28f4031 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -16,7 +16,7 @@ height: 32px; margin: 0 auto; } -@media screen and (max-width: 1024px) { +@media screen and (max-width: 1025px) { .flexRow--topbar-interactions { display: none; } @@ -34,7 +34,7 @@ position: absolute; left: 32px; bottom: 0; - z-index: 1; + z-index: 999; } .flexRow--brand-switcher-container .flexRowContent--brand-switcher-container { display: flex; diff --git a/styles/css/vtex.minicart.css b/styles/css/vtex.minicart.css index 5466ee5d..1fb9f041 100644 --- a/styles/css/vtex.minicart.css +++ b/styles/css/vtex.minicart.css @@ -37,4 +37,11 @@ display: block; width: 16px; height: 16px; +} + +@media screen and (max-width: 1025px) { + .minicartWrapperContainer { + position: absolute; + right: 16px; + } } \ No newline at end of file diff --git a/styles/css/vtex.search.css b/styles/css/vtex.search.css index e467d0c8..350de7d3 100644 --- a/styles/css/vtex.search.css +++ b/styles/css/vtex.search.css @@ -13,6 +13,11 @@ .biggy-autocomplete-wrapper { max-width: 698px; } +@media screen and (max-width: 1025px) { + .biggy-autocomplete-wrapper { + width: 91vw; + } +} .biggy-autocomplete-wrapper .biggy-autocomplete { flex-direction: row !important; left: 17px; @@ -23,9 +28,23 @@ background: var(--elevation-overlay, #FFF); box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05), 0px 8px 16px 0px rgba(0, 0, 0, 0.05); } +@media screen and (max-width: 1025px) { + .biggy-autocomplete-wrapper .biggy-autocomplete { + flex-direction: column-reverse !important; + } +} .biggy-autocomplete-wrapper .biggy-autocomplete .itemList--suggestion { max-width: 232px; } +@media screen and (max-width: 1025px) { + .biggy-autocomplete-wrapper .biggy-autocomplete .itemList--suggestion { + border-top: 1px solid var(--border-neutral-subtlest, #E4E4E7); + max-width: 100%; + } + .biggy-autocomplete-wrapper .biggy-autocomplete .itemList--suggestion .itemListTitle { + padding: 20px 24px; + } +} .biggy-autocomplete-wrapper .biggy-autocomplete .itemList--suggestion .itemListTitle::before { content: "Sugestões"; font-weight: 600; @@ -47,6 +66,11 @@ line-height: 20px; letter-spacing: -0.14px; } +@media screen and (max-width: 1025px) { + .biggy-autocomplete-wrapper .biggy-autocomplete .itemListTitle { + padding: 20px; + } +} .biggy-autocomplete-wrapper .biggy-autocomplete .itemListList { max-height: 216px; overflow: scroll; @@ -108,11 +132,13 @@ padding: 0; padding-bottom: 12px; color: var(--text-neutral-bold, #18181B); + /* text-sm/medium */ font-family: "Proxima Nova"; font-size: 14px; font-style: normal; font-weight: 500; line-height: 20px; + /* 142.857% */ letter-spacing: -0.14px; text-transform: math-auto; } diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index c8fcce66..8c3000b2 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -60,4 +60,10 @@ .searchBarContainer :global(.vtex-input-prefix__group) { height: 100%; border: none; +} + +@media screen and (max-width: 1025px) { + .imageElementLink--logo { + max-width: 111px; + } } \ No newline at end of file diff --git a/styles/css/vtex.store-header.css b/styles/css/vtex.store-header.css index 92db462d..14d89ac0 100644 --- a/styles/css/vtex.store-header.css +++ b/styles/css/vtex.store-header.css @@ -24,8 +24,16 @@ justify-content: space-between; } -@media screen and (max-width: 1024px) { +@media screen and (max-width: 1025px) { .headerStickyRow--topbar-container { height: 32px; } + .headerStickyRow--search-container { + padding: 0 16px 12px 16px; + } + .headerRowContainer--main-container { + padding: 12px 16px; + justify-content: flex-start; + gap: 16px; + } } \ No newline at end of file diff --git a/styles/css/vtex.store-link.css b/styles/css/vtex.store-link.css index 94ec476a..8acf35fc 100644 --- a/styles/css/vtex.store-link.css +++ b/styles/css/vtex.store-link.css @@ -17,7 +17,7 @@ justify-content: center; text-decoration: none; gap: 8px; - z-index: 1; + z-index: 999; top: 4px; } .link--help-center .label--help-center { diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss index 3303669c..5bc4ef81 100644 --- a/styles/sass/partials/header/vtex.flex-layout.scss +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -5,7 +5,7 @@ height: 32px; margin: 0 auto; - @media screen and (max-width: 1024px) { + @media screen and (max-width: 1025px) { display: none; } } @@ -22,7 +22,7 @@ position: absolute; left: 32px; bottom: 0; - z-index: 1; + z-index: 999; .flexRowContent--brand-switcher-container { display: flex; diff --git a/styles/sass/partials/header/vtex.minicart.scss b/styles/sass/partials/header/vtex.minicart.scss index f2af4c4d..f099de1d 100644 --- a/styles/sass/partials/header/vtex.minicart.scss +++ b/styles/sass/partials/header/vtex.minicart.scss @@ -31,4 +31,11 @@ } } } +} + +@media screen and (max-width: 1025px) { + .minicartWrapperContainer { + position: absolute; + right: 16px; + } } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.search.scss b/styles/sass/partials/header/vtex.search.scss index 408aeb91..9c418968 100644 --- a/styles/sass/partials/header/vtex.search.scss +++ b/styles/sass/partials/header/vtex.search.scss @@ -1,6 +1,10 @@ .biggy-autocomplete-wrapper { max-width: 698px; + @media screen and (max-width: 1025px) { + width: 91vw; + } + .biggy-autocomplete { flex-direction: row !important; left: 17px; @@ -12,10 +16,23 @@ box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05), 0px 8px 16px 0px rgba(0, 0, 0, 0.05); + @media screen and (max-width: 1025px) { + flex-direction: column-reverse !important; + } + .itemList--suggestion { max-width: 232px; + @media screen and (max-width: 1025px) { + border-top: 1px solid var(--border-neutral-subtlest, #E4E4E7); + max-width: 100%; + + .itemListTitle { + padding: 20px 24px; + } + } + .itemListTitle::before { content: "Sugestões"; font-weight: 600; @@ -32,6 +49,8 @@ top: 20px; } + + &::before { content: 'Termos sugeridos'; color: var(--text-neutral-bold, #18181B); @@ -42,6 +61,10 @@ line-height: 20px; letter-spacing: -0.14px; } + + @media screen and (max-width: 1025px) { + padding: 20px; + } } .itemListList { @@ -132,11 +155,14 @@ color: var(--text-neutral-bold, #18181B); + + /* text-sm/medium */ font-family: "Proxima Nova"; font-size: 14px; font-style: normal; font-weight: 500; line-height: 20px; + /* 142.857% */ letter-spacing: -0.14px; text-transform: math-auto; } diff --git a/styles/sass/partials/header/vtex.store-components.scss b/styles/sass/partials/header/vtex.store-components.scss index 6e6152aa..731a5f8e 100644 --- a/styles/sass/partials/header/vtex.store-components.scss +++ b/styles/sass/partials/header/vtex.store-components.scss @@ -63,4 +63,10 @@ height: 100%; border: none; } +} + +@media screen and (max-width: 1025px) { + .imageElementLink--logo { + max-width: 111px; + } } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-header.scss b/styles/sass/partials/header/vtex.store-header.scss index 10cedb5b..5351cd11 100644 --- a/styles/sass/partials/header/vtex.store-header.scss +++ b/styles/sass/partials/header/vtex.store-header.scss @@ -13,9 +13,22 @@ justify-content: space-between; } - -.headerStickyRow--topbar-container { - @media screen and (max-width: 1024px) { +@media screen and (max-width: 1025px) { + .headerStickyRow--topbar-container { height: 32px; + + + } + + .headerStickyRow--search-container { + padding: 0 16px 12px 16px; + } + + .headerRowContainer--main-container { + padding: 12px 16px; + justify-content: flex-start; + gap: 16px; + } + } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-link.scss b/styles/sass/partials/header/vtex.store-link.scss index 71077f1d..9d3f2ca9 100644 --- a/styles/sass/partials/header/vtex.store-link.scss +++ b/styles/sass/partials/header/vtex.store-link.scss @@ -6,7 +6,7 @@ justify-content: center; text-decoration: none; gap: 8px; - z-index: 1; + z-index: 999; top: 4px; .label--help-center { From e6e01478d90e03ed9e2050fca160da185503370d Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 22 May 2024 10:19:40 -0300 Subject: [PATCH 021/310] feat: minicart --- assets/svgs/arrow-down.svg | 3 + assets/svgs/empty-cart.svg | 3 + assets/svgs/new-cart-icon.svg | 5 + manifest.json | 7 +- package.json | 7 +- react/MinicartInstallmentsCustom.ts | 3 + react/ShippingBar.ts | 3 + .../Menu/components/LoginMobile/index.tsx | 30 +- .../Menu/components/MenuContent/index.tsx | 26 +- .../Menu/components/MenuContent/styles.css | 51 ++- react/components/Menu/index.tsx | 5 +- react/components/Menu/schema.ts | 32 ++ .../MinicartInstallmentsCustom/index.tsx | 36 +++ .../MinicartInstallmentsCustom/styles.css | 10 + react/components/ShippingBar/index.tsx | 99 ++++++ react/components/ShippingBar/styles.css | 50 +++ react/package.json | 4 +- react/utils/formatPrice.ts | 6 + react/yarn.lock | 12 +- .../partials/header/header-desktop.jsonc | 2 +- store/blocks/partials/header/header.jsonc | 3 - store/blocks/partials/header/main.jsonc | 4 +- store/blocks/partials/header/minicart.jsonc | 305 +++++++++++++++++- store/blocks/partials/header/search.jsonc | 2 +- .../{product => shelf}/search-result.jsonc | 0 store/interfaces.json | 6 + styles/css/vtex.flex-layout.css | 202 ++++++++++++ styles/css/vtex.minicart.css | 207 ++++++++++++ styles/css/vtex.search.css | 43 +-- styles/css/vtex.store-components.css | 4 + styles/css/vtex.styleguide.css | 5 +- .../header/vtex.checkout-summary.scss | 46 +++ .../partials/header/vtex.flex-layout.scss | 221 ++++++++++++- .../sass/partials/header/vtex.minicart.scss | 262 ++++++++++++++- .../partials/header/vtex.product-list.scss | 210 ++++++++++++ .../sass/partials/header/vtex.rich-text.scss | 19 ++ styles/sass/partials/header/vtex.search.scss | 71 ++-- .../header/vtex.store-components.scss | 4 + .../partials/header/vtex.store-drawer.scss | 32 ++ .../sass/partials/header/vtex.styleguide.scss | 3 + 40 files changed, 1933 insertions(+), 110 deletions(-) create mode 100644 assets/svgs/arrow-down.svg create mode 100644 assets/svgs/empty-cart.svg create mode 100644 assets/svgs/new-cart-icon.svg create mode 100644 react/MinicartInstallmentsCustom.ts create mode 100644 react/ShippingBar.ts create mode 100644 react/components/MinicartInstallmentsCustom/index.tsx create mode 100644 react/components/MinicartInstallmentsCustom/styles.css create mode 100644 react/components/ShippingBar/index.tsx create mode 100644 react/components/ShippingBar/styles.css create mode 100644 react/utils/formatPrice.ts rename store/blocks/partials/{product => shelf}/search-result.jsonc (100%) create mode 100644 styles/sass/partials/header/vtex.checkout-summary.scss create mode 100644 styles/sass/partials/header/vtex.product-list.scss create mode 100644 styles/sass/partials/header/vtex.rich-text.scss create mode 100644 styles/sass/partials/header/vtex.store-drawer.scss diff --git a/assets/svgs/arrow-down.svg b/assets/svgs/arrow-down.svg new file mode 100644 index 00000000..f4155bb8 --- /dev/null +++ b/assets/svgs/arrow-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/svgs/empty-cart.svg b/assets/svgs/empty-cart.svg new file mode 100644 index 00000000..8c9a4ca0 --- /dev/null +++ b/assets/svgs/empty-cart.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/svgs/new-cart-icon.svg b/assets/svgs/new-cart-icon.svg new file mode 100644 index 00000000..a53c19f3 --- /dev/null +++ b/assets/svgs/new-cart-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/manifest.json b/manifest.json index 45f96479..5c2e7113 100644 --- a/manifest.json +++ b/manifest.json @@ -52,7 +52,12 @@ "vtex.list-context": "0.x", "vtex.store-link": "0.x", "vtex.search": "2.x", - "vtex.product-price": "1.x" + "vtex.product-price": "1.x", + "vtex.product-list-context": "0.x", + "vtex.product-list": "0.x", + "vtex.store-icons": "0.x", + "vtex.checkout-summary": "0.x", + "vtex.format-currency": "0.x" }, "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema" } diff --git a/package.json b/package.json index 385ad69c..671992c2 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,11 @@ "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"", "build": "gulp build" }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, "lint-staged": { "*.{ts,js,tsx,jsx}": [ "eslint --fix", @@ -45,4 +50,4 @@ "yup": "^1.0.0" }, "version": "0.0.0" -} +} \ No newline at end of file diff --git a/react/MinicartInstallmentsCustom.ts b/react/MinicartInstallmentsCustom.ts new file mode 100644 index 00000000..ee63e5c1 --- /dev/null +++ b/react/MinicartInstallmentsCustom.ts @@ -0,0 +1,3 @@ +import MinicartInstallmentsCustom from "./components/MinicartInstallmentsCustom"; + +export default MinicartInstallmentsCustom; diff --git a/react/ShippingBar.ts b/react/ShippingBar.ts new file mode 100644 index 00000000..22c9abce --- /dev/null +++ b/react/ShippingBar.ts @@ -0,0 +1,3 @@ +import ShippingBar from "./components/ShippingBar"; + +export default ShippingBar; diff --git a/react/components/Menu/components/LoginMobile/index.tsx b/react/components/Menu/components/LoginMobile/index.tsx index 74f17ac6..b3acb1d8 100644 --- a/react/components/Menu/components/LoginMobile/index.tsx +++ b/react/components/Menu/components/LoginMobile/index.tsx @@ -13,6 +13,8 @@ const LoginMobile = () => { orderForm: { loggedIn, clientProfileData }, } = useOrderForm() ?? {} + console.log('loggedIn', loggedIn) + return (
@@ -48,18 +50,22 @@ const LoginMobile = () => { Minha conta )} -
  • - Meus favoritos -
  • -
  • - Minha conta -
  • -
  • - Fale conosco -
  • -
  • - Sair -
  • + {loggedIn && ( + <> +
  • + Meus favoritos +
  • +
  • + Minha conta +
  • +
  • + Fale conosco +
  • +
  • + Sair +
  • + + )}
    diff --git a/react/components/Menu/components/MenuContent/index.tsx b/react/components/Menu/components/MenuContent/index.tsx index 44d2e3cd..4ab8a0ab 100644 --- a/react/components/Menu/components/MenuContent/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -19,16 +19,17 @@ import LoginMobile from '../LoginMobile' interface MenuContentProps { children: ReactNode + staticLink: any } -const MenuContent = ({ children }: MenuContentProps) => { +const MenuContent = ({ children, staticLink }: MenuContentProps) => { const [activeDepartment, setActiveDepartment] = useState(null) const [menuOpen, setMenuOpen] = useState(false) const [isSticky, setIsSticky] = useState(false) const { departments } = useMenu() const { isMobile } = useDevice() - console.log(departments) + console.log(staticLink) useEffect(() => { const handleScroll = () => { @@ -181,8 +182,29 @@ const MenuContent = ({ children }: MenuContentProps) => { })} {isMobile &&
    + {(menuOpen || activeDepartment !== null) && (
    '); width: 20px; @@ -421,4 +448,26 @@ position: fixed; top: 0; } + + .helpCenterMobile { + color: var(--icon-brand-secondary-inverse, #5A5A66); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; /* 142.857% */ + letter-spacing: -0.14px; + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 16px; + + } + + .helpCenterMobile::after { + content: url('data:image/svg+xml,'); + display: block; + width: 24px; + height: 24px; + } } diff --git a/react/components/Menu/index.tsx b/react/components/Menu/index.tsx index 5a105041..4c583344 100644 --- a/react/components/Menu/index.tsx +++ b/react/components/Menu/index.tsx @@ -15,12 +15,13 @@ import type { ReactNode } from 'react' interface MenuProps { departments: MenuRoot children: ReactNode + staticLink: any } -const Menu = ({ departments, children }: MenuProps) => { +const Menu = ({ departments, children, staticLink }: MenuProps) => { return ( - {children} + {children} ) } diff --git a/react/components/Menu/schema.ts b/react/components/Menu/schema.ts index 25f11961..96f5750d 100644 --- a/react/components/Menu/schema.ts +++ b/react/components/Menu/schema.ts @@ -82,5 +82,37 @@ export const MENU_SCHEMA = { }, }, }, + staticLink: { + title: 'Link estático', + type: 'object', + properties: { + active: { + title: 'Departamento estático ativo', + type: 'boolean', + }, + name: { + title: 'Nome do Departamento', + type: 'string', + }, + link: { + title: 'Link do Departamento', + type: 'string', + }, + color: { + title: 'Cor do texto', + type: 'string', + widget: { + 'ui:widget': 'color', + }, + }, + backgroundColor: { + title: 'Cor de fundo', + type: 'string', + widget: { + 'ui:widget': 'color', + }, + }, + }, + }, }, } diff --git a/react/components/MinicartInstallmentsCustom/index.tsx b/react/components/MinicartInstallmentsCustom/index.tsx new file mode 100644 index 00000000..8e8bcd6c --- /dev/null +++ b/react/components/MinicartInstallmentsCustom/index.tsx @@ -0,0 +1,36 @@ +import React from "react"; +import styles from "./styles.css"; + +import { OrderForm } from "vtex.order-manager"; +import { FormattedCurrency } from "vtex.format-currency"; + +const { useOrderForm } = OrderForm; + +const MinicartInstallments = () => { + const { + orderForm: { totalizers }, + } = useOrderForm(); + + const totalItems = totalizers.find( + (totalizer: any) => totalizer.id === "Items" + ); + + const totalItemsValue = totalItems ? totalItems.value : 0; + + const maxInstallments = 10; + + const installmentValue = totalItemsValue / maxInstallments / 100; + + if (totalItemsValue === 0) return null; + + return ( +
    +

    + {maxInstallments}x de{" "} + +

    +
    + ); +}; + +export default MinicartInstallments; diff --git a/react/components/MinicartInstallmentsCustom/styles.css b/react/components/MinicartInstallmentsCustom/styles.css new file mode 100644 index 00000000..5544aa06 --- /dev/null +++ b/react/components/MinicartInstallmentsCustom/styles.css @@ -0,0 +1,10 @@ +.minicartInstallmentsWrapper p { + color: var(--text-neutral-bold, #18181b); + font-family: "Proxima Nova", sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + letter-spacing: -0.12px; + margin: 0; +} diff --git a/react/components/ShippingBar/index.tsx b/react/components/ShippingBar/index.tsx new file mode 100644 index 00000000..59c70646 --- /dev/null +++ b/react/components/ShippingBar/index.tsx @@ -0,0 +1,99 @@ +import React from "react"; + +// Styles +import styles from "./styles.css"; +import formatPrice from "../../utils/formatPrice"; +import { OrderForm } from "vtex.order-manager"; + +const { useOrderForm } = OrderForm; + +interface ShippingBarProps { + minValue: number; + text: string; + fullBarText: string; +} + +const ShippingBar = ({ + minValue = 199, + text = "Faltam $value para você conseguir *frete grátis* nesta compra.", + fullBarText = "Você ganhou *frete grátis* nesta compra.", +}: ShippingBarProps) => { + const { orderForm } = useOrderForm(); + + const differenceToMinValue = (orderForm?.value - minValue * 100) / 100; + + console.log("values", { + minValue, + orderFormValue: orderForm?.value, + differenceToMinValue, + }); + + const parseMarkdown = (text: string) => { + return text + ?.replace(/\*([^*]+)\*/g, "$1") // Negrito + ?.replace(/_([^_]+)_/g, "$1"); // Itálico + }; + + return ( +
    +
    + +
    +
    +
    +
    + ); +}; + +export default ShippingBar; + +ShippingBar.schema = { + title: "Barra de Frete - Configurações", + type: "object", + properties: { + minValue: { + title: "Valor mínimo", + description: "Valor mínimo para frete grátis", + type: "number", + default: 200, + }, + text: { + title: "Texto da barra", + description: "Texto exibido na barra de frete", + type: "string", + default: + "Faltam $value para você conseguir *frete grátis* nesta compra.", + }, + fullBarText: { + title: "Texto da barra completa", + description: + "Texto exibido na barra de frete quando o valor mínimo for atingido", + type: "string", + default: "Você ganhou *frete grátis* nesta compra.", + }, + }, +}; diff --git a/react/components/ShippingBar/styles.css b/react/components/ShippingBar/styles.css new file mode 100644 index 00000000..6ab8c433 --- /dev/null +++ b/react/components/ShippingBar/styles.css @@ -0,0 +1,50 @@ +.shippingBarWrapper { + padding: 20px 24px 24px; +} + +.shippingBarText { + color: var(--text-neutral-subtle, #3f3f46); + text-align: center; + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: 16px; + letter-spacing: -0.12px; + + margin-bottom: 12px; +} + +.shippingBarText strong { + color: var(--text-neutral-strong, #ee8146); +} + +.shippingBarLine { + background-color: #a1a1aa; + height: 2px; +} + +.shippingBarProgress { + height: 2px; + background-color: #ee8146; + position: relative; + display: flex; + align-items: center; +} + +.shippingBarProgress::after { + content: ""; + display: block; + width: 12px; + height: 12px; + border-radius: 50%; + background-color: #ee8146; + position: absolute; + right: 0; +} + +.shippingBarDot { + width: 12px; + height: 12px; + border-radius: 50%; +} diff --git a/react/package.json b/react/package.json index 832081f0..fbbc255f 100644 --- a/react/package.json +++ b/react/package.json @@ -44,11 +44,12 @@ "apollo-cache-inmemory": "^1.6.5", "apollo-client": "^2.5.1", "graphql": "^14.6.0", - "roland.store-theme": "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715369489/public/@types/roland.store-theme", + "roland.store-theme": "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715717759/public/@types/roland.store-theme", "typescript": "3.9.7", "vtex.add-to-cart-button": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button", "vtex.breadcrumb": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb", "vtex.carousel": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.carousel@2.12.1/public/@types/vtex.carousel", + "vtex.device-detector": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.device-detector@0.2.6/public/@types/vtex.device-detector", "vtex.flex-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.flex-layout@0.21.3/public/@types/vtex.flex-layout", "vtex.iframe": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.iframe@0.8.0/public/@types/vtex.iframe", "vtex.list-context": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.list-context@0.2.0/public/@types/vtex.list-context", @@ -57,6 +58,7 @@ "vtex.menu": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.menu@2.35.1/public/@types/vtex.menu", "vtex.minicart": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.minicart@2.67.1/public/@types/vtex.minicart", "vtex.my-account": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.my-account@1.27.1/public/@types/vtex.my-account", + "vtex.order-manager": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-manager@0.12.0/public/@types/vtex.order-manager", "vtex.order-placed": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-placed@2.17.2/public/@types/vtex.order-placed", "vtex.product-details": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-details@1.22.0/public/@types/vtex.product-details", "vtex.product-identifier": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-identifier@0.5.0/public/@types/vtex.product-identifier", diff --git a/react/utils/formatPrice.ts b/react/utils/formatPrice.ts new file mode 100644 index 00000000..0771fd1e --- /dev/null +++ b/react/utils/formatPrice.ts @@ -0,0 +1,6 @@ +export default function formatPrice(value: number): string { + return Math.abs(value).toLocaleString("pt-BR", { + style: "currency", + currency: "BRL", + }); +} diff --git a/react/yarn.lock b/react/yarn.lock index b4cc24cc..2cd68964 100644 --- a/react/yarn.lock +++ b/react/yarn.lock @@ -4898,9 +4898,9 @@ rimraf@^3.0.0: dependencies: glob "^7.1.3" -"roland.store-theme@https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715369489/public/@types/roland.store-theme": +"roland.store-theme@https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715717759/public/@types/roland.store-theme": version "0.0.1" - resolved "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715369489/public/@types/roland.store-theme#da00e590206579d28c8f0abcf729d7b339a732ae" + resolved "https://sel1424v1--roland.myvtex.com/_v/private/typings/linked/v1/roland.store-theme@0.0.1+build1715717759/public/@types/roland.store-theme#a2e4478027e8a44f6284c343fd191b8305cfc2f0" rsvp@^4.8.4: version "4.8.5" @@ -5582,6 +5582,10 @@ verror@1.10.0: version "2.12.1" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.carousel@2.12.1/public/@types/vtex.carousel#f99139a9d22227fa239192a058defd13f8cc50be" +"vtex.device-detector@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.device-detector@0.2.6/public/@types/vtex.device-detector": + version "0.2.6" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.device-detector@0.2.6/public/@types/vtex.device-detector#3219242fa5c2f14023d33c3549c2d8de93c76d1f" + "vtex.flex-layout@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.flex-layout@0.21.3/public/@types/vtex.flex-layout": version "0.21.3" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.flex-layout@0.21.3/public/@types/vtex.flex-layout#407f0e310545ff006f08afb35f5d38ace4546435" @@ -5614,6 +5618,10 @@ verror@1.10.0: version "1.27.1" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.my-account@1.27.1/public/@types/vtex.my-account#bb94dc0514950137df740439a599d3f413624d75" +"vtex.order-manager@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-manager@0.12.0/public/@types/vtex.order-manager": + version "0.12.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-manager@0.12.0/public/@types/vtex.order-manager#2cf6a9d2a31bc503b783c257695b0d17c09b5696" + "vtex.order-placed@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-placed@2.17.2/public/@types/vtex.order-placed": version "2.17.2" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-placed@2.17.2/public/@types/vtex.order-placed#5a015e206e512d8badfb54c74f51d4cf72c670f7" diff --git a/store/blocks/partials/header/header-desktop.jsonc b/store/blocks/partials/header/header-desktop.jsonc index 5710da65..abba7589 100644 --- a/store/blocks/partials/header/header-desktop.jsonc +++ b/store/blocks/partials/header/header-desktop.jsonc @@ -4,6 +4,6 @@ }, "menu": { "title": "Menu Customizado - Desktop", - "children": ["search-bar#sticky", "login#desktop", "minicart.v2"] + "children": ["search-bar#sticky", "login#desktop", "minicart.v2#new"] } } diff --git a/store/blocks/partials/header/header.jsonc b/store/blocks/partials/header/header.jsonc index c605ea41..720d1b2b 100644 --- a/store/blocks/partials/header/header.jsonc +++ b/store/blocks/partials/header/header.jsonc @@ -2,8 +2,5 @@ "header": { "title": "Header", "blocks": ["header-layout.desktop", "header-layout.mobile"] - }, - "header.full": { - "blocks": ["header-layout.desktop", "header-layout.mobile"] } } diff --git a/store/blocks/partials/header/main.jsonc b/store/blocks/partials/header/main.jsonc index c1b622df..81ada096 100644 --- a/store/blocks/partials/header/main.jsonc +++ b/store/blocks/partials/header/main.jsonc @@ -5,14 +5,14 @@ "search-bar", "login#desktop", "link#wishlist", - "minicart.v2" + "minicart.v2#new" ], "props": { "blockClass": ["main-container", "desktop"] } }, "header-row#main-mobile": { - "children": ["menu#mobile", "image#logo", "minicart.v2"], + "children": ["menu#mobile", "image#logo", "minicart.v2#new"], "props": { "blockClass": ["main-container"] } diff --git a/store/blocks/partials/header/minicart.jsonc b/store/blocks/partials/header/minicart.jsonc index ae2c7bac..27df7b6b 100644 --- a/store/blocks/partials/header/minicart.jsonc +++ b/store/blocks/partials/header/minicart.jsonc @@ -1,19 +1,308 @@ { - "minicart.v2": { + "minicart.v2#new": { "props": { - "MinicartIcon": "image#minicart-icon", - "variation": "drawer", "customPixelEventName": "addToCart", - "itemCountMode": "total", - "maxDrawerWidth": "364" + "MinicartIcon": "image#minicart-icon" }, "children": ["minicart-base-content"] }, + "minicart-base-content": { + "blocks": ["minicart-empty-state"], + "children": [ + "minicart-product-list", + "b8-shipping-bar", + "flex-layout.row#minicart-footer" + ] + }, + "minicart-product-list": { + "blocks": ["product-list#minicart"] + }, + "product-list#minicart": { + "blocks": ["product-list-content-desktop"] + }, + "minicart.v2#header-bottom": { + "title": "Carrinho Rodapé Mobile", + "props": { + "MinicartIcon": "image#minicart-icon" + }, + "children": ["minicart-base-content"] + }, + "icon-cart#minicart-icon": { + "props": { + "size": 80 + } + }, "image#minicart-icon": { - "title": "Icone do Minicart", + "title": "Imagem do Minicart", + "props": { + "src": "assets/svgs/new-cart-icon.svg", + "maxHeight": 15 + } + }, + + "flex-layout.row#minicart-footer": { + "props": { + "blockClass": "minicart-footer" + }, + "children": ["flex-layout.col#minicart-footer"] + }, + "flex-layout.col#minicart-footer": { + "props": { + "blockClass": "minicart-footer" + }, + "children": [ + "minicart-summary", + "minicart-checkout-button", + "drawer-close-button#keeping-buy" + ] + }, + + "minicart-summary": { + "blocks": ["checkout-summary.compact#minicart"] + }, + "checkout-summary.compact#minicart": { + "props": { + "totalizersToShow": ["Items", "Discounts"], + "blockClass": "minicart-summary" + }, + "children": [ + "flex-layout.col#minicart-totalizers", + "rich-text#desconto-pix-boleto", + "minicart-installments-custom" + ] + }, + "minicart-installments-custom": { + "props": { + "blockClass": "minicart-installments" + } + }, + "flex-layout.col#minicart-totalizers": { + "props": { + "blockClass": "minicart-totalizers-wrapper" + }, + "children": ["summary-totalizers#minicart"] + }, + "summary-totalizers#minicart": { + "props": { + "showTotal": true, + "showOriginalTotal": false, + "showDiscounts": false, + "showDeliveryTotal": false, + "blockClass": "minicart-totalizers" + } + }, + "rich-text#desconto-pix-boleto": { + "title": "[minicart] Frase desconto Pix/Boleto", + "props": { + "blockClass": "desconto-pix-boleto", + "text": "10% de desconto no boleto ou PIX ou em até" + } + }, + "summary-installments#minicart": { + "props": { + "blockClass": "minicart-installments", + "message": "{installmentsNumber}x de {installmentValue}", + "markers": [] + } + }, + "minicart-empty-state": { + "children": ["flex-layout.row#empty-state"] + }, + "flex-layout.row#empty-state": { + "children": ["flex-layout.col#empty-state"] + }, + "flex-layout.col#empty-state": { + "children": [ + "image#minicart-empty-state", + "rich-text#minicart-default-empty-state", + "rich-text#minicart-default-empty-subtitle", + "drawer-close-button#keeping-buy-empty-state" + ], + "props": { + "horizontalAlign": "center", + "verticalAlign": "middle", + "blockClass": "default-empty-state" + } + }, + "image#minicart-empty-state": { + "title": "Imagem do minicart vazio", + "props": { + "blockClass": "minicart-empty-state", + "src": "assets/svgs/empty-cart.svg" + } + }, + "rich-text#minicart-default-empty-state": { + "title": "Título Carrinho Vazio", + "props": { + "blockClass": "titleEmptyState", + "text": "Seu carrinho está vazio" + } + }, + "rich-text#minicart-default-empty-subtitle": { + "title": "Subtítulo Carrinho Vazio", + "props": { + "blockClass": "subtitleEmptyState", + "text": "Volte e explore nossa loja para encontrar um produto especial!" + } + }, + "unit-price#desktop": { + "props": { + "textAlign": "center", + "displayUnitListPrice": "showWhenDifferent" + } + }, + "price#desktop": { + "props": { + "textAlign": "right" + } + }, + "message#desktop": { + "props": { + "layout": "cols" + } + }, + "product-list-content-desktop": { + "children": ["flex-layout.row#list-row"] + }, + "flex-layout.row#list-row": { + "children": ["flex-layout.col#image", "flex-layout.col#main-container"], + "props": { + "fullWidth": true, + "paddingBottom": "6", + "paddingTop": "5", + "colSizing": "auto", + "preserveLayoutOnMobile": "true", + "preventHorizontalStretch": "true", + + "blockClass": ["product", "product-list-row"] + } + }, + "flex-layout.col#image": { + "children": ["product-list-image"], + "props": { + "marginRight": "6" + } + }, + "product-list-image": { + "props": { + "width": 48, + "blockClass": "minicart-product-image" + } + }, + "flex-layout.col#main-container": { + "children": [ + "flex-layout.row#product-top", + "flex-layout.row#product-bottom", + "flex-layout.row#message" + ], + "props": { + "width": "grow", + "blockClass": "minicart-product-main-wrapper" + } + }, + "flex-layout.row#product-bottom": { + "props": { + "blockClass": "minicart-product-bottom", + "preventHorizontalStretch": "true", + "preventVerticalStretch": "true", + "marginTop": "4" + }, + "children": ["flex-layout.row#quantity-selector", "flex-layout.row#price"] + }, + "flex-layout.row#product-top": { + "children": [ + "flex-layout.row#product-name#minicart", + "flex-layout.col#remove-button" + ], + "props": { + "colSizing": "auto", + "preserveLayoutOnMobile": "true" + } + }, + "flex-layout.row#quantity-selector": { + "children": ["quantity-selector#minicart"], + "props": { + "preventHorizontalStretch": "true" + } + }, + "flex-layout.row#unit-price": { + "children": ["unit-price"], + "props": { + "marginTop": "3" + } + }, + "unit-price": { + "props": { + "displayUnitListPrice": "showWhenDifferent" + } + }, + "flex-layout.row#product-name#minicart": { + "children": ["flex-layout.col#product-name"], + "props": { + "marginTop": "3", + "blockClass": "minicart-product-name" + } + }, + "flex-layout.col#product-name": { + "children": [ + "vtex.product-list@0.x:product-brand#minicart", + "vtex.product-list@0.x:product-name#minicart" + ] + }, + "vtex.product-list@0.x:product-brand#minicart": { + "props": { + "blockClass": "minicart-product-brand" + } + }, + "vtex.product-list@0.x:product-name#minicart": { + "props": { + "blockClass": "minicart-product-name" + } + }, + "flex-layout.row#price": { + "children": ["price#minicart"], + "props": { + "blockClass": "price-mobile-minicart", + "preventHorizontalStretch": true + } + }, + "price#minicart": { + "props": { + "textAlign": "left", + "showListPrice": true, + "blockClass": "minicart-price" + } + }, + "flex-layout.col#remove-button": { + "children": ["remove-button"], + "props": { + "marginLeft": "3" + } + }, + "flex-layout.row#message": { + "children": ["message#mobile"] + }, + "message#mobile": { + "props": { + "layout": "rows" + } + }, + "drawer-close-button#keeping-buy": { + "props": { + "blockClass": ["keeping-buy"], + "text": "Voltar e continuar comprando" + } + }, + + "drawer-close-button#keeping-buy-empty-state": { + "props": { + "blockClass": ["keeping-buy-empty-state"], + "text": "Voltar e explorar loja" + } + }, + "quantity-selector#minicart": { "props": { - "src": "assets/svgs/minicart-icon.svg", - "maxHeight": 24 + "blockClass": "minicart-quantity-selector" } } } diff --git a/store/blocks/partials/header/search.jsonc b/store/blocks/partials/header/search.jsonc index 564ea935..760a462c 100644 --- a/store/blocks/partials/header/search.jsonc +++ b/store/blocks/partials/header/search.jsonc @@ -1,7 +1,7 @@ { "search-bar": { - "title": "Barra de Busca", "blocks": ["autocomplete-result-list.v2"], + "title": "Barra de Busca", "props": { "openAutocompleteOnFocus": true, "placeholder": "Busque por produtos...", diff --git a/store/blocks/partials/product/search-result.jsonc b/store/blocks/partials/shelf/search-result.jsonc similarity index 100% rename from store/blocks/partials/product/search-result.jsonc rename to store/blocks/partials/shelf/search-result.jsonc diff --git a/store/interfaces.json b/store/interfaces.json index d02b09c1..d8f6692f 100644 --- a/store/interfaces.json +++ b/store/interfaces.json @@ -8,5 +8,11 @@ "component": "Menu", "composition": "children", "allowed": "*" + }, + "minicart-installments-custom": { + "component": "MinicartInstallmentsCustom" + }, + "b8-shipping-bar": { + "component": "ShippingBar" } } diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index c28f4031..62f7dbad 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -47,4 +47,206 @@ .flexRow--main-header { width: 100%; +} + +.flexRow--header-row-container { + width: 100%; + padding-top: 20px; +} +.flexRow--header-row-container :global(.vtex-store-components-3-x-container) { + width: 100%; + margin: 0; + max-width: unset; + padding: 0; +} + +.flexRowContent--minicart-footer { + padding-bottom: 0; +} + +.flexCol--minicart-footer { + border-top: 1px solid var(--border-neutral-subtlest, #E4E4E7); + background: var(--bg-neutral-subtlest-base, #FFF); + box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.1); + padding: var(--spacing-5, 20px) var(--spacing-6, 24px) var(--spacing-6, 24px) var(--spacing-6, 24px); +} + +.flexRow--product { + display: flex; + align-items: center; + justify-content: center; + padding: 20px 24px; + border-bottom: 1px solid var(--border-neutral-subtlest, #E4E4E7); + min-height: 148px; + position: relative; +} +.flexRow--product:last-child:not(:first-child) { + border-bottom: none; +} + +.flexRowContent--product { + padding: 0; +} + +.flexRowContent--minicart-product-bottom { + gap: 10px; + align-items: center; + margin-top: 0; +} +@media screen and (max-width: 768px) { + .flexRowContent--minicart-product-bottom { + margin: 0; + display: flex; + } +} + +.flexRowContent--minicart-product-name { + margin: 0; +} + +.flexRow--header-icons { + display: flex; + align-items: center; +} +.flexRow--header-icons .flexRowContent--header-icons { + height: 22px; +} +@media (min-width: 1300px) { + .flexRow--header-icons .flexRowContent--header-icons { + margin-left: 30px; + } +} +.flexRow--header-icons .flexRowContent--header-icons .stretchChildrenWidth { + max-height: 22px; +} +.flexRow--header-icons .flexRowContent--header-icons :global(.vtex-render-runtime-8-x-lazyload), +.flexRow--header-icons .flexRowContent--header-icons :global(.vtex-render-runtime-8-x-lazyload):first-child, +.flexRow--header-icons .flexRowContent--header-icons :global(.vtex-render-runtime-8-x-lazyload):last-child { + height: 22px; +} + +.flexRow--right-side-menu { + flex: 1; + max-width: 1440px; + margin: 0 auto; + padding: 0 100px; +} + +.flexRowContent--right-side-menu { + max-width: 97vw; +} + +.flexRowContent--right-side-menu .stretchChildrenWidth:first-child { + flex: 1; + padding-right: 10px; +} + +.flexRowContent--header-icons { + height: 100%; +} + +.flexColChild--default-empty-state:last-child { + width: 100%; +} + +.flexRow--menu-mobile { + flex: 1; +} + +.flexRow--right-side-menu--boss :global(.vtex-input-prefix__group), +.flexRow--right-side-menu--vmoda :global(.vtex-input-prefix__group) { + border: 1px solid #fff !important; +} +.flexRow--right-side-menu--boss :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input), .flexRow--right-side-menu--boss :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input)::placeholder, +.flexRow--right-side-menu--vmoda :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input), +.flexRow--right-side-menu--vmoda :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input)::placeholder { + color: #fff !important; +} +.flexRow--right-side-menu--boss :global(.vtex-minicart-2-x-minicartQuantityBadge), +.flexRow--right-side-menu--vmoda :global(.vtex-minicart-2-x-minicartQuantityBadge) { + background: #000 !important; + color: #000 !important; +} + +@media only screen and (max-width: 1199px) { + .flexRowContent--header-icons { + margin-right: 10px; + justify-content: flex-end; + } +} +@media screen and (max-width: 430px) { + .flexRowContent--header-icons .stretchChildrenWidth { + margin-right: 0px; + } + .flexRowContent--header-icons .stretchChildrenWidth:last-child { + margin-right: 0; + } +} +@media screen and (max-width: 290px) { + .flexRowContent--header-icons .stretchChildrenWidth { + margin-right: 0px; + } + .flexRowContent--header-icons .stretchChildrenWidth:last-child { + margin-right: 0; + } +} + +.flexRow--minicart-footer { + margin-top: 14px; +} + +.flexCol--default-empty-state { + margin: 0 auto; + max-width: 290px; +} + +.flexColChild--default-empty-state { + display: flex; + align-items: center; + justify-content: center; +} + +.flexRow--navigation-row { + box-shadow: 0 0 1em #222; + width: 100%; + max-width: 100%; + padding: 0 21px; + margin: 0 auto; + min-height: 65px; + display: flex; + align-items: center; +} +@media (max-width: 720px) { + .flexRow--navigation-row { + padding: 10px 0 5px; + } +} +.flexRow--navigation-row :global(.vtex-store-components-3-x-container) { + margin: 0 auto; +} +@media (max-width: 720px) { + .flexRow--navigation-row :global(.vtex-store-components-3-x-container) { + padding: 0; + margin: 0; + } +} +.flexRow--navigation-row :global(.vtex-store-components-3-x-container) .flexRowContent--navigation-row { + align-items: center; + justify-content: flex-start; + flex-wrap: wrap; +} +@media (max-width: 720px) { + .flexRow--navigation-row :global(.vtex-store-components-3-x-container) .flexRowContent--navigation-row { + justify-content: center; + } +} + +.flexRow--navigation-row--fixed { + position: fixed; + width: 100%; + max-width: 100%; + z-index: 99999; + background: #fff; + top: 0; + box-shadow: 0 0 1em #222; } \ No newline at end of file diff --git a/styles/css/vtex.minicart.css b/styles/css/vtex.minicart.css index 1fb9f041..d2b0c3c0 100644 --- a/styles/css/vtex.minicart.css +++ b/styles/css/vtex.minicart.css @@ -1,3 +1,4 @@ +@charset "UTF-8"; /* 0 - 600PX: Phone 600 - 900px: Table portrait @@ -44,4 +45,210 @@ position: absolute; right: 16px; } +} +.drawer { + z-index: 9999999; + max-width: 360px !important; + height: fit-content; +} + +.overlay--visible { + background-color: rgba(0, 0, 0, 0.6); +} + +.minicartSummary { + padding: 0; +} + +.openIconContainer { + padding: 0; +} +.openIconContainer :global(.vtex-button) { + border: 0; + padding: 0; +} +.openIconContainer :global(.vtex-button) :global(.vtex-button__label) { + padding-right: 0; +} +.openIconContainer :global(.vtex-button):hover { + background-color: transparent; +} +.openIconContainer :global(.vtex-button):focus { + outline: 0; + padding: 0; + background-color: transparent; + border: 0; +} +@media screen and (max-width: 325px) { + .openIconContainer :global(.vtex-button) { + width: 25px; + } +} + +.minicartTitle { + display: none; +} + +.closeIconContainer { + position: relative; + display: flex; + align-items: center; + justify-content: flex-start; + padding: 24px 24px; + gap: 10.57px; + border-top: 8px solid #FF5A00; + background-color: #F4F4F5; +} +.closeIconContainer::after { + content: "Meu carrinho"; + font-family: "Proxima Nova", sans-serif; + font-size: 20px; + font-weight: 600; + line-height: 28px; + letter-spacing: -0.01em; + text-align: left; + color: #1E1E1E; +} +.closeIconContainer::before { + content: url('data:image/svg+xml,'); + position: relative; + top: 2px; +} + +.closeIconButton { + position: absolute; + top: 28px; + right: 24px; + padding: 0; + width: 24px; + height: 28px; +} +.closeIconButton .closeIcon { + width: 24px; + height: 24px; +} + +.opened { + width: 100% !important; +} + +@media only screen and (max-width: 767px) { + .minicartContainer :global(.vtex-button__label) { + padding: 0 !important; + } +} + +.drawerContent { + overflow: hidden !important; +} + +.minicartCheckoutButton { + margin: 0; + padding: 0; + display: flex; +} + +.minicartCheckoutButton :global(.vtex-button) { + border: none; + height: 20px; + padding: 10px 16px; + margin: 0 auto; + margin-top: 16px; + transition: ease-in 0.2s all; + border-radius: var(--radius-rounded-sm, 2px); + background: var(--bg-brand-secondary-bold-base, #2B2B3A); + display: flex; + align-items: center; + justify-content: center; + transition: ease-in 0.2s all; +} +.minicartCheckoutButton :global(.vtex-button):hover { + background-color: #2B2B3A; +} +.minicartCheckoutButton :global(.vtex-button)::before { + content: "Avançar e revisar o carrinho"; + color: var(--text-inverse-bold, #FFF); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + /* 142.857% */ + letter-spacing: -0.14px; + text-transform: math-auto; +} +.minicartCheckoutButton :global(.vtex-button)::after { + content: url('data:image/svg+xml,'); + margin-left: 8px; + position: relative; + top: 3px; +} +.minicartCheckoutButton :global(.vtex-button) :global(.vtex-button__label) { + display: none; +} + +.unitListPrice { + font-family: "Roboto", sans-serif; + font-size: 12px; + line-height: 14px; + text-decoration-line: line-through; + color: #7d7d7d; +} + +.minicartProductListContainer { + padding: 0; +} +@media screen and (min-width: 1026px) { + .minicartProductListContainer { + min-height: 296px; + } +} +.minicartProductListContainer::-webkit-scrollbar { + width: 5px; + /* width of the entire scrollbar */ +} +.minicartProductListContainer::-webkit-scrollbar-thumb { + background-color: #ff5a00; + border-radius: 20px; +} +.minicartProductListContainer::-webkit-scrollbar-track { + background: #e5e5e5; +} + +@media screen and (min-width: 768px) { + .opened .minicartSideBarContentWrapper { + height: fit-content !important; + } +} + +.minicartEmptyStateContainer { + height: 100vh; +} + +@media (max-width: 1100px) { + .drawer { + max-width: 312px !important; + } + .closeIconContainer { + padding: 16px 24px; + } + .closeIconButton { + top: 21px; + } + .minicartSideBarContentWrapper :global(.vtex-product-list-0-x-productName) { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + line-height: 16px; + /* fallback */ + max-height: 32px; + /* fallback */ + -webkit-line-clamp: 2; + /* number of lines to show */ + -webkit-box-orient: vertical; + max-width: 148px; + } + .minicartSideBarContentWrapper :global(.vtex-product-list-0-x-productBrandName) { + margin-top: 0; + } } \ No newline at end of file diff --git a/styles/css/vtex.search.css b/styles/css/vtex.search.css index 350de7d3..997e8386 100644 --- a/styles/css/vtex.search.css +++ b/styles/css/vtex.search.css @@ -142,40 +142,31 @@ letter-spacing: -0.14px; text-transform: math-auto; } -.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element { - width: 100%; - padding: 20px; +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList { + flex-direction: column !important; } -.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .imageContainer { - margin-right: 24px; +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem :global(.vtex-product-summary-2-x-containerNormal) { + display: flex; } -.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .imageContainer .image { - width: 48px; - height: 48px; +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListFooter { + position: absolute; + top: 0; + right: 24px; } -.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .information { - margin: 0; +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListFooter .tileListSeeMore { + font-size: 0; } -.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .information .productBrand { - overflow: hidden; +.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListFooter .tileListSeeMore::before { + content: "Ver tudo"; + border-radius: var(--radius-rounded-sm, 2px); + border: 1.25px solid var(--border-neutral-subtle, #D4D4D8); + background: var(--Gray-Scale-White, #FFF); color: var(--text-neutral-subtle, #3F3F46); - text-overflow: ellipsis; - font-family: "Proxima Nova"; - font-size: 12px; - font-style: normal; - font-weight: 500; - line-height: 16px; - letter-spacing: -0.12px; -} -.biggy-autocomplete-wrapper .biggy-autocomplete .tileList .tileListList .tileListItem .element .information .priceContainer .sellingPrice { - overflow: hidden; - color: var(--text-neutral-bold, #18181B); - text-overflow: ellipsis; - white-space: nowrap; font-family: "Proxima Nova"; font-size: 14px; font-style: normal; - font-weight: 600; + font-weight: 500; + padding: 4px 16px; line-height: 20px; letter-spacing: -0.14px; } \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index 8c3000b2..05a80c8d 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -15,6 +15,10 @@ padding: 0; } +.closeIcon--search-bar { + display: none; +} + .searchBarContainer { max-width: 698px; position: relative; diff --git a/styles/css/vtex.styleguide.css b/styles/css/vtex.styleguide.css index d8147d32..1c16150b 100644 --- a/styles/css/vtex.styleguide.css +++ b/styles/css/vtex.styleguide.css @@ -8,4 +8,7 @@ /* Media Query M3 */ /* Colors */ @import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); -/* Grid breakpoints */ \ No newline at end of file +/* Grid breakpoints */ +:global(.vtex-dropdown__button) { + padding: 0; +} \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.checkout-summary.scss b/styles/sass/partials/header/vtex.checkout-summary.scss new file mode 100644 index 00000000..4b613780 --- /dev/null +++ b/styles/sass/partials/header/vtex.checkout-summary.scss @@ -0,0 +1,46 @@ +.summarySmallDisclaimer { + display: none; +} + +.summaryItemLabel { + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; +} + +.summarySmallContent { + display: flex; + flex-direction: column; + align-items: flex-end; +} + +.summaryItemContainer--minicart-totalizers { + margin: 0; + display: none; +} + +.summaryItemContainer--minicart-totalizers:last-child { + display: flex; +} + +.summarySmallContent .summaryItemContainer { + + + .price { + color: var(--text-neutral-bold, #18181B); + text-align: right; + + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 24px; + /* 150% */ + letter-spacing: -0.16px; + } +} + diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss index 5bc4ef81..2db3704e 100644 --- a/styles/sass/partials/header/vtex.flex-layout.scss +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -37,4 +37,223 @@ .flexRow--main-header { width: 100%; -} \ No newline at end of file +} + +.flexRow--header-row-container { + width: 100%; + padding-top: 20px; + + :global(.vtex-store-components-3-x-container) { + width: 100%; + margin: 0; + max-width: unset; + padding: 0; + } +} + +.flexRowContent--minicart-footer { + padding-bottom: 0; +} + +.flexCol--minicart-footer { + border-top: 1px solid var(--border-neutral-subtlest, #E4E4E7); + background: var(--bg-neutral-subtlest-base, #FFF); + box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.10); + + padding: var(--spacing-5, 20px) var(--spacing-6, 24px) var(--spacing-6, 24px) var(--spacing-6, 24px); +} + +.flexRow--product { + display: flex; + align-items: center; + justify-content: center; + padding: 20px 24px; + border-bottom: 1px solid var(--border-neutral-subtlest, #E4E4E7); + min-height: 148px; + position: relative; + + &:last-child:not(:first-child) { + border-bottom: none; + } +} + +.flexRowContent--product { + padding: 0; +} + +.flexRowContent--minicart-product-bottom { + gap: 10px; + align-items: center; + margin-top: 0; + + @media screen and (max-width: 768px) { + margin: 0; + display: flex; + } +} + +.flexRowContent--minicart-product-name { + margin: 0; +} + +.flexRow--header-icons { + display: flex; + align-items: center; + + .flexRowContent--header-icons { + height: 22px; + + @media (min-width: 1300px) { + margin-left: 30px; + } + + .stretchChildrenWidth { + max-height: 22px; + } + + :global(.vtex-render-runtime-8-x-lazyload), + :global(.vtex-render-runtime-8-x-lazyload):first-child, + :global(.vtex-render-runtime-8-x-lazyload):last-child { + height: 22px; + } + } +} + +.flexRow--right-side-menu { + flex: 1; + max-width: 1440px; + margin: 0 auto; + padding: 0 100px; +} + +.flexRowContent--right-side-menu { + max-width: 97vw; +} + +.flexRowContent--right-side-menu .stretchChildrenWidth:first-child { + flex: 1; + padding-right: 10px; +} + +.flexRowContent--header-icons { + height: 100%; +} + +.flexColChild--default-empty-state:last-child { + width: 100%; +} + +.flexRow--menu-mobile { + flex: 1; +} + +.flexRow--right-side-menu--boss, +.flexRow--right-side-menu--vmoda { + & :global(.vtex-input-prefix__group) { + border: 1px solid #fff !important; + + & :global(.vtex-styleguide-9-x-input), + & :global(.vtex-styleguide-9-x-input)::placeholder { + color: #fff !important; + } + } + + & :global(.vtex-minicart-2-x-minicartQuantityBadge) { + background: #000 !important; + color: #000 !important; + } +} + +.flexRowContent--header-icons { + @include mq(xl, max) { + margin-right: 10px; + justify-content: flex-end; + } + + @media screen and (max-width: 430px) { + .stretchChildrenWidth { + margin-right: 0px; + + &:last-child { + margin-right: 0; + } + } + } + + @media screen and (max-width: 290px) { + .stretchChildrenWidth { + margin-right: 0px; + + &:last-child { + margin-right: 0; + } + } + } +} + +//MINICART +.flexRow--minicart-footer { + margin-top: 14px; +} + +.flexCol--default-empty-state { + margin: 0 auto; + max-width: 290px; +} + +.flexColChild--default-empty-state { + display: flex; + align-items: center; + justify-content: center; +} + + +.flexRow--navigation-row { + box-shadow: 0 0 1em #222; + + width: 100%; + max-width: 100%; + + padding: 0 21px; + margin: 0 auto; + min-height: 65px; + + display: flex; + align-items: center; + + @media (max-width: 720px) { + padding: 10px 0 5px; + } + + :global(.vtex-store-components-3-x-container) { + margin: 0 auto; + + @media (max-width: 720px) { + padding: 0; + margin: 0; + } + + .flexRowContent--navigation-row { + align-items: center; + justify-content: flex-start; + flex-wrap: wrap; + + @media (max-width: 720px) { + justify-content: center; + } + } + } +} + +.flexRow--navigation-row--fixed { + position: fixed; + width: 100%; + max-width: 100%; + z-index: 99999; + background: #fff; + top: 0; + + box-shadow: 0 0 1em #222; +} + + diff --git a/styles/sass/partials/header/vtex.minicart.scss b/styles/sass/partials/header/vtex.minicart.scss index f099de1d..72854f08 100644 --- a/styles/sass/partials/header/vtex.minicart.scss +++ b/styles/sass/partials/header/vtex.minicart.scss @@ -1,3 +1,4 @@ + .minicartContainer { .minicartIconContainer { display: flex; @@ -14,7 +15,7 @@ gap: 5px; color: #FFF; text-align: center; - font-family: "Roboto"; + font-family: 'Roboto'; font-size: 12px; font-style: normal; font-weight: 600; @@ -38,4 +39,261 @@ position: absolute; right: 16px; } -} \ No newline at end of file +} + +.drawer { + z-index: 9999999; + max-width: 360px !important; + height: fit-content; +} + + + + +.overlay--visible { + background-color: rgba(0, 0, 0, 0.6); + +} + + +.minicartSummary { + padding: 0; +} + +.openIconContainer { + padding: 0; + + & :global(.vtex-button) { + border: 0; + padding: 0; + + & :global(.vtex-button__label) { + padding-right: 0; + } + + &:hover { + background-color: transparent; + } + + &:focus { + outline: 0; + padding: 0; + background-color: transparent; + border: 0; + } + + @media screen and (max-width: 325px) { + width: 25px; + } + } +} + +.minicartTitle { + display: none; +} + +.closeIconContainer { + position: relative; + + display: flex; + align-items: center; + justify-content: flex-start; + padding: 24px 24px; + gap: 10.57px; + border-top: 8px solid #FF5A00; + background-color: #F4F4F5; + + &::after { + content: "Meu carrinho"; + font-family: "Proxima Nova", sans-serif; + font-size: 20px; + font-weight: 600; + line-height: 28px; + letter-spacing: -0.01em; + text-align: left; + + + color: #1E1E1E; + } + + &::before { + content: url('data:image/svg+xml,'); + position: relative; + top: 2px; + } +} + +.closeIconButton { + position: absolute; + top: 28px; + right: 24px; + padding: 0; + + width: 24px; + height: 28px; + + .closeIcon { + width: 24px; + height: 24px; + } + + // &::after { + // content: ""; + // background: url("/arquivos/close-icon-minicart.png") no-repeat center; + // width: 24px; + // height: 24px; + // display: block; + // } +} + + +.opened { + width: 100% !important; +} + + +.minicartContainer { + & :global(.vtex-button__label) { + @include mq(md, max) { + padding: 0 !important; + } + } +} + +.drawerContent { + overflow: hidden !important; +} + + + +.minicartCheckoutButton { + margin: 0; + padding: 0; + display: flex; +} + +.minicartCheckoutButton :global(.vtex-button) { + border: none; + height: 20px; + padding: 10px 16px; + margin: 0 auto; + margin-top: 16px; + transition: ease-in 0.2s all; + + border-radius: var(--radius-rounded-sm, 2px); + background: var(--bg-brand-secondary-bold-base, #2B2B3A); + + display: flex; + align-items: center; + justify-content: center; + transition: ease-in 0.2s all; + + &:hover { + background-color: #2B2B3A; + } + + &::before { + content: "Avançar e revisar o carrinho"; + color: var(--text-inverse-bold, #FFF); + + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + /* 142.857% */ + letter-spacing: -0.14px; + text-transform: math-auto; + } + + &::after { + content: url('data:image/svg+xml,'); + margin-left: 8px; + position: relative; + top: 3px; + } + + & :global(.vtex-button__label) { + display: none; + } +} + + +.unitListPrice { + font-family: "Roboto", sans-serif; + font-size: 12px; + line-height: 14px; + text-decoration-line: line-through; + color: #7d7d7d; +} + +.minicartProductListContainer { + padding: 0; + + @media screen and (min-width: 1026px) { + min-height: 296px; + } + + + &::-webkit-scrollbar { + width: 5px; + /* width of the entire scrollbar */ + } + + &::-webkit-scrollbar-thumb { + background-color: $color-orange; + border-radius: 20px; + } + + &::-webkit-scrollbar-track { + background: $color-gray5; + } +} + +.opened .minicartSideBarContentWrapper { + + @media screen and (min-width: 768px) { + height: fit-content !important; + + } +} + +.minicartEmptyStateContainer { + height: 100vh; +} + +@media (max-width: 1100px) { + .drawer { + max-width: 312px !important; + } + + .closeIconContainer { + padding: 16px 24px; + } + + .closeIconButton { + top: 21px; + } + + + .minicartSideBarContentWrapper { + + :global(.vtex-product-list-0-x-productName) { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + line-height: 16px; + /* fallback */ + max-height: 32px; + /* fallback */ + -webkit-line-clamp: 2; + /* number of lines to show */ + -webkit-box-orient: vertical; + max-width: 148px; + } + + :global(.vtex-product-list-0-x-productBrandName) { + margin-top: 0; + } + } +} diff --git a/styles/sass/partials/header/vtex.product-list.scss b/styles/sass/partials/header/vtex.product-list.scss new file mode 100644 index 00000000..d340c080 --- /dev/null +++ b/styles/sass/partials/header/vtex.product-list.scss @@ -0,0 +1,210 @@ +.removeButton { + padding: 0; + +} + + + +.productName--minicart-product-name { + font-family: "Proxima Nova", sans-serif; + font-size: 12px; + font-weight: 500; + line-height: 16px; + letter-spacing: -0.01em; + text-align: left; + color: #3F3F46; + text-transform: capitalize; + margin-bottom: 12px; + max-width: 188px; + + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.productImage { + max-height: 100px; + // border: 1px solid #e5e5e5; + // box-sizing: border-box; + // border-radius: 5px; +} + +.price { + font-family: "Overpass"; + font-style: normal; + font-weight: 800; + font-size: 16px; + line-height: 24px; + text-align: left; + text-transform: uppercase; + color: $color-black; +} + +.quantitySelectorContainer { + width: auto !important; + + & :global(.vtex-input-prefix__group) { + width: 94px; + border: 1px solid $color-black; + box-sizing: border-box; + border-radius: 30px; + } +} + +.quantityDropdownContainer, +.quantityDropdownMobileContainer { + & :global(.vtex-dropdown__container) { + width: 80px; + height: 40px; + border-radius: 2px; + padding: 10px 12px 10px 16px; + border: 1px solid var(--border-input-base, #D4D4D8); + + & :global(.vtex-dropdown__arrow) { + position: relative; + visibility: hidden; + + &::before { + content: url("assets/svgs/arrow-down.svg"); + width: 10px; + height: 18px; + position: absolute; + right: 5px; + top: 1px; + visibility: visible; + } + } + } + + & :global(.vtex-dropdown__caption) { + font-family: "Proxima Nova", sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.01em; + text-align: left; + + + color: #18181B; + } +} + +.productPriceCurrency--minicart-price { + margin: 0; + font-family: "Proxima Nova", sans-serif; + font-size: 12px; + font-weight: 400; + line-height: 16px; + letter-spacing: -0.01em; + text-align: left; + color: #71717A; +} + +.price--minicart-price { + font-family: "Proxima Nova", sans-serif; + font-size: 14px; + font-weight: 600; + line-height: 20px; + letter-spacing: -0.01em; + text-align: left; + color: #18181B; + +} + +.productBrandName--minicart-product-brand { + font-family: "Proxima Nova", sans-serif; + font-size: 12px; + font-weight: 600; + line-height: 16px; + letter-spacing: -0.01em; + text-align: left; + + color: #2B2B3A; + + margin-bottom: 4px; +} + +.removeButtonContainer { + padding: 12px; + position: absolute; + right: 24px; + cursor: pointer; + transition: all 0.2s; + + &:hover { + background: #FDF2EC; + border-radius: 2px; + + + .removeButton { + &::before { + content: url('data:image/svg+xml,'); + + } + } + } + + .removeButton { + + + &::before { + content: url('data:image/svg+xml,'); + position: relative; + top: 3px; + width: 16px; + display: block; + height: 16px; + } + + + .deleteIcon { + display: none; + } + } + + @media screen and (max-width: 768px) { + padding: 12px; + top: 20px; + } +} + +.quantitySelectorWrapper { + height: 36px; + + .quantitySelectorButton { + padding: 0; + width: 32px; + + &:global(.vtex-product-list-0-x-quantitySelectorDecrease), + &:global(.vtex-product-list-0-x-quantitySelectorIncrease) { + background-color: #fff; + } + } + + .inputContainer { + width: 30px; + padding: 0; + font-size: 12px; + font-weight: 600; + color: #808080 + } +} + +:global(.vtex-minicart-2-x-minicartContentContainer) .productImageContainer { + box-sizing: border-box; + border-radius: 5px; + text-align: center; + + display: flex; + align-items: center; + justify-content: center; + + &--minicart-product-image { + height: 100%; + } + +} + +@media screen and (max-width: 768px) {} diff --git a/styles/sass/partials/header/vtex.rich-text.scss b/styles/sass/partials/header/vtex.rich-text.scss new file mode 100644 index 00000000..ec9d51cd --- /dev/null +++ b/styles/sass/partials/header/vtex.rich-text.scss @@ -0,0 +1,19 @@ +.container--desconto-pix-boleto { + float: right; + margin-top: 4px; +} + +.paragraph--desconto-pix-boleto { + color: var(--text-neutral-subtlest, #71717A); + text-align: right; + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + /* 133.333% */ + letter-spacing: -0.12px; + + margin: 0; + margin-top: 4px; +} diff --git a/styles/sass/partials/header/vtex.search.scss b/styles/sass/partials/header/vtex.search.scss index 9c418968..5a197936 100644 --- a/styles/sass/partials/header/vtex.search.scss +++ b/styles/sass/partials/header/vtex.search.scss @@ -168,51 +168,36 @@ } .tileListList { + flex-direction: column !important; + .tileListItem { - .element { - width: 100%; - padding: 20px; - - .imageContainer { - margin-right: 24px; - - .image { - width: 48px; - height: 48px; - } - } - - .information { - margin: 0; - - .productBrand { - overflow: hidden; - color: var(--text-neutral-subtle, #3F3F46); - text-overflow: ellipsis; - font-family: "Proxima Nova"; - font-size: 12px; - font-style: normal; - font-weight: 500; - line-height: 16px; - letter-spacing: -0.12px; - } - - .priceContainer { - .sellingPrice { - overflow: hidden; - color: var(--text-neutral-bold, #18181B); - text-overflow: ellipsis; - white-space: nowrap; - font-family: "Proxima Nova"; - font-size: 14px; - font-style: normal; - font-weight: 600; - line-height: 20px; - letter-spacing: -0.14px; - } - } - } + :global(.vtex-product-summary-2-x-containerNormal) { + display: flex; + } + } + } + .tileListFooter { + position: absolute; + top: 0; + right: 24px; + + .tileListSeeMore { + font-size: 0; + + &::before { + content: "Ver tudo"; + border-radius: var(--radius-rounded-sm, 2px); + border: 1.25px solid var(--border-neutral-subtle, #D4D4D8); + background: var(--Gray-Scale-White, #FFF); + color: var(--text-neutral-subtle, #3F3F46); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + padding: 4px 16px; + line-height: 20px; + letter-spacing: -0.14px; } } } diff --git a/styles/sass/partials/header/vtex.store-components.scss b/styles/sass/partials/header/vtex.store-components.scss index 731a5f8e..4d403c9b 100644 --- a/styles/sass/partials/header/vtex.store-components.scss +++ b/styles/sass/partials/header/vtex.store-components.scss @@ -4,6 +4,10 @@ padding: 0 } +.closeIcon--search-bar { + display: none; +} + .searchBarContainer { max-width: 698px; position: relative; diff --git a/styles/sass/partials/header/vtex.store-drawer.scss b/styles/sass/partials/header/vtex.store-drawer.scss new file mode 100644 index 00000000..192243ce --- /dev/null +++ b/styles/sass/partials/header/vtex.store-drawer.scss @@ -0,0 +1,32 @@ +:global(.vtex-flex-layout-0-x-flexRowContent--minicart-footer) .closeIconButton--keeping-buy { + border-radius: var(--radius-rounded-sm, 2px); + border: 1.25px solid var(--border-neutral-subtle, #D4D4D8); + background: var(--Gray-Scale-White, #FFF); + + color: #3F3F46; + font-size: 0; + display: flex; + align-items: center; + justify-content: center; + padding: 10px 16px; + + + width: 100%; + margin-top: 8px; + + color: var(--text-neutral-subtle, #3F3F46); + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + /* 142.857% */ + letter-spacing: -0.14px; + + transition: all 0.2s ease; + + &:hover { + background-color: #F4F4F5; + } + +} \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.styleguide.scss b/styles/sass/partials/header/vtex.styleguide.scss index e69de29b..eaae4c8f 100644 --- a/styles/sass/partials/header/vtex.styleguide.scss +++ b/styles/sass/partials/header/vtex.styleguide.scss @@ -0,0 +1,3 @@ +:global(.vtex-dropdown__button) { + padding: 0; +} From e92cca1eb60675c23a97e02bf2f72477f97f8e26 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 23 May 2024 11:03:50 -0300 Subject: [PATCH 022/310] feat: Add MinicartCustomPrice component and update menu titles --- manifest.json | 4 +- react/MinicartCustomPrice.ts | 3 + .../components/MinicartCustomPrice/index.tsx | 64 +++++++++++++++++++ .../components/MinicartCustomPrice/styles.css | 39 +++++++++++ react/components/ShippingBar/index.tsx | 5 -- react/graphql/queries/getProductById.gql | 16 +++++ store/blocks/partials/header/main.jsonc | 1 + store/blocks/partials/header/minicart.jsonc | 2 +- store/blocks/partials/header/top-bar.jsonc | 4 +- store/interfaces.json | 3 + styles/css/vtex.minicart.css | 9 ++- styles/css/vtex.search.css | 4 ++ .../header/vtex.checkout-summary.scss | 5 +- .../sass/partials/header/vtex.minicart.scss | 12 +++- styles/sass/partials/header/vtex.search.scss | 4 ++ .../header/vtex.store-components.scss | 1 + .../partials/header/vtex.store-drawer.scss | 4 +- 17 files changed, 163 insertions(+), 17 deletions(-) create mode 100644 react/MinicartCustomPrice.ts create mode 100644 react/components/MinicartCustomPrice/index.tsx create mode 100644 react/components/MinicartCustomPrice/styles.css create mode 100644 react/graphql/queries/getProductById.gql diff --git a/manifest.json b/manifest.json index 5c2e7113..21509e1b 100644 --- a/manifest.json +++ b/manifest.json @@ -57,7 +57,9 @@ "vtex.product-list": "0.x", "vtex.store-icons": "0.x", "vtex.checkout-summary": "0.x", - "vtex.format-currency": "0.x" + "vtex.format-currency": "0.x", + "vtex.search-graphql": "0.x", + "vtex.product-context": "0.x" }, "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema" } diff --git a/react/MinicartCustomPrice.ts b/react/MinicartCustomPrice.ts new file mode 100644 index 00000000..55c36739 --- /dev/null +++ b/react/MinicartCustomPrice.ts @@ -0,0 +1,3 @@ +import MinicartCustomPrice from './components/MinicartCustomPrice' + +export default MinicartCustomPrice diff --git a/react/components/MinicartCustomPrice/index.tsx b/react/components/MinicartCustomPrice/index.tsx new file mode 100644 index 00000000..9a7326b4 --- /dev/null +++ b/react/components/MinicartCustomPrice/index.tsx @@ -0,0 +1,64 @@ +// Dependencies +import React, { useEffect } from 'react' + +// Styles +import styles from './styles.css' + +// Hooks +import { ItemContext } from 'vtex.product-list' +import { FormattedCurrency } from 'vtex.format-currency' +import { useLazyQuery } from 'react-apollo' + +// Query +import GET_PRODUCT_BY_ID from '../../graphql/queries/getProductById.gql' + +const { useItemContext } = ItemContext + +const MinicartCustomPrice = () => { + const [getProductById, { data, loading, error }] = + useLazyQuery(GET_PRODUCT_BY_ID) + + const { + item: { productId }, + } = useItemContext() ?? {} + + useEffect(() => { + if (productId) { + getProductById({ + variables: { identifier: { field: 'id', value: productId } }, + }) + } + }, [productId, getProductById]) + + if (loading) return
    Carregando...
    + + const { + Price = 0, + ListPrice = 0, + spotPrice = 0, + } = data?.product.items?.[0].sellers?.[0].commertialOffer ?? {} + + if (!Price || !ListPrice || !spotPrice || error) return null + + const hasOldPrice = ListPrice > Price + + return ( +
    + + {hasOldPrice && } + + + no pix + + + ou{' '} + + + {' '} + no cartão + +
    + ) +} + +export default MinicartCustomPrice diff --git a/react/components/MinicartCustomPrice/styles.css b/react/components/MinicartCustomPrice/styles.css new file mode 100644 index 00000000..30bdea17 --- /dev/null +++ b/react/components/MinicartCustomPrice/styles.css @@ -0,0 +1,39 @@ +.priceWrapper { + display: flex; + flex-direction: column; +} + +.oldPrice { + overflow: hidden; + color: var(--text-neutral-subtlest, #71717A); + text-overflow: ellipsis; + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 16px; /* 133.333% */ + letter-spacing: -0.12px; + text-decoration: line-through; +} + +.sellingPrice { + overflow: hidden; + color: var(--text-neutral-bold, #18181B); + text-overflow: ellipsis; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; /* 142.857% */ + letter-spacing: -0.14px; +} + +.price, .priceLoading { + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 16px; /* 133.333% */ + letter-spacing: -0.12px; +} \ No newline at end of file diff --git a/react/components/ShippingBar/index.tsx b/react/components/ShippingBar/index.tsx index 59c70646..2af28cc5 100644 --- a/react/components/ShippingBar/index.tsx +++ b/react/components/ShippingBar/index.tsx @@ -22,11 +22,6 @@ const ShippingBar = ({ const differenceToMinValue = (orderForm?.value - minValue * 100) / 100; - console.log("values", { - minValue, - orderFormValue: orderForm?.value, - differenceToMinValue, - }); const parseMarkdown = (text: string) => { return text diff --git a/react/graphql/queries/getProductById.gql b/react/graphql/queries/getProductById.gql new file mode 100644 index 00000000..d1c371ad --- /dev/null +++ b/react/graphql/queries/getProductById.gql @@ -0,0 +1,16 @@ +query getProductById($identifier: ProductUniqueIdentifier) +@context(provider: "vtex.search-graphql") { + product(identifier: $identifier) { + + items { + sellers { + commertialOffer { + AvailableQuantity + Price + ListPrice + spotPrice + } + } + } + } +} diff --git a/store/blocks/partials/header/main.jsonc b/store/blocks/partials/header/main.jsonc index 81ada096..2a566311 100644 --- a/store/blocks/partials/header/main.jsonc +++ b/store/blocks/partials/header/main.jsonc @@ -18,6 +18,7 @@ } }, "link#wishlist": { + "title": "Wishlist", "props": { "href": "/account/#/wishlist", "label": "Meus favoritos", diff --git a/store/blocks/partials/header/minicart.jsonc b/store/blocks/partials/header/minicart.jsonc index 27df7b6b..62b0f030 100644 --- a/store/blocks/partials/header/minicart.jsonc +++ b/store/blocks/partials/header/minicart.jsonc @@ -260,7 +260,7 @@ } }, "flex-layout.row#price": { - "children": ["price#minicart"], + "children": ["custom-price-minicart"], "props": { "blockClass": "price-mobile-minicart", "preventHorizontalStretch": true diff --git a/store/blocks/partials/header/top-bar.jsonc b/store/blocks/partials/header/top-bar.jsonc index e2ecdb57..1d6c41b1 100644 --- a/store/blocks/partials/header/top-bar.jsonc +++ b/store/blocks/partials/header/top-bar.jsonc @@ -22,7 +22,7 @@ } }, "link#roland": { - "title": "Central de Ajuda", + "title": "Link para ROLAND", "props": { "href": "/", "label": "roland", @@ -30,6 +30,7 @@ } }, "link#boss": { + "title": "Link para BOSS", "props": { "href": "/", "label": "boss", @@ -43,6 +44,7 @@ } }, "link#help-center": { + "title": "Central de Ajuda", "props": { "href": "https://www.roland.com/backstage/login", "label": "Central de ajuda", diff --git a/store/interfaces.json b/store/interfaces.json index d8f6692f..a72db13d 100644 --- a/store/interfaces.json +++ b/store/interfaces.json @@ -14,5 +14,8 @@ }, "b8-shipping-bar": { "component": "ShippingBar" + }, + "custom-price-minicart": { + "component": "MinicartCustomPrice" } } diff --git a/styles/css/vtex.minicart.css b/styles/css/vtex.minicart.css index d2b0c3c0..64c50494 100644 --- a/styles/css/vtex.minicart.css +++ b/styles/css/vtex.minicart.css @@ -10,12 +10,17 @@ /* Colors */ @import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); /* Grid breakpoints */ +@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"); .minicartContainer .minicartIconContainer { display: flex; align-items: center; justify-content: center; gap: 4px; } +.minicartContainer .minicartIconContainer :global(.vtex-store-components-3-x-imageElement) { + width: 24px; + min-height: 24px; +} .minicartContainer .minicartIconContainer .minicartQuantityBadge { border-radius: var(--radius-rounded-3xl, 24px); background: var(--bg-brand-primary-bold-base, #FF5A00); @@ -163,7 +168,7 @@ transition: ease-in 0.2s all; } .minicartCheckoutButton :global(.vtex-button):hover { - background-color: #2B2B3A; + background-color: #424250; } .minicartCheckoutButton :global(.vtex-button)::before { content: "Avançar e revisar o carrinho"; @@ -227,7 +232,7 @@ @media (max-width: 1100px) { .drawer { - max-width: 312px !important; + max-width: 360px !important; } .closeIconContainer { padding: 16px 24px; diff --git a/styles/css/vtex.search.css b/styles/css/vtex.search.css index 997e8386..b3868dfb 100644 --- a/styles/css/vtex.search.css +++ b/styles/css/vtex.search.css @@ -169,4 +169,8 @@ padding: 4px 16px; line-height: 20px; letter-spacing: -0.14px; +} + +.close-btn { + display: none; } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.checkout-summary.scss b/styles/sass/partials/header/vtex.checkout-summary.scss index 4b613780..a6f6d9aa 100644 --- a/styles/sass/partials/header/vtex.checkout-summary.scss +++ b/styles/sass/partials/header/vtex.checkout-summary.scss @@ -18,10 +18,7 @@ align-items: flex-end; } -.summaryItemContainer--minicart-totalizers { - margin: 0; - display: none; -} + .summaryItemContainer--minicart-totalizers:last-child { display: flex; diff --git a/styles/sass/partials/header/vtex.minicart.scss b/styles/sass/partials/header/vtex.minicart.scss index 72854f08..eb4592c9 100644 --- a/styles/sass/partials/header/vtex.minicart.scss +++ b/styles/sass/partials/header/vtex.minicart.scss @@ -1,10 +1,18 @@ +@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); + .minicartContainer { .minicartIconContainer { display: flex; align-items: center; justify-content: center; gap: 4px; + + + :global(.vtex-store-components-3-x-imageElement) { + width: 24px; + min-height: 24px; + } .minicartQuantityBadge { border-radius: var(--radius-rounded-3xl, 24px); @@ -189,7 +197,7 @@ transition: ease-in 0.2s all; &:hover { - background-color: #2B2B3A; + background-color: #424250; } &::before { @@ -264,7 +272,7 @@ @media (max-width: 1100px) { .drawer { - max-width: 312px !important; + max-width: 360px !important; } .closeIconContainer { diff --git a/styles/sass/partials/header/vtex.search.scss b/styles/sass/partials/header/vtex.search.scss index 5a197936..8b5a7736 100644 --- a/styles/sass/partials/header/vtex.search.scss +++ b/styles/sass/partials/header/vtex.search.scss @@ -203,4 +203,8 @@ } } } +} + +.close-btn { + display: none; } \ No newline at end of file diff --git a/styles/sass/partials/header/vtex.store-components.scss b/styles/sass/partials/header/vtex.store-components.scss index 4d403c9b..9132dc66 100644 --- a/styles/sass/partials/header/vtex.store-components.scss +++ b/styles/sass/partials/header/vtex.store-components.scss @@ -8,6 +8,7 @@ display: none; } + .searchBarContainer { max-width: 698px; position: relative; diff --git a/styles/sass/partials/header/vtex.store-drawer.scss b/styles/sass/partials/header/vtex.store-drawer.scss index 192243ce..26c14b1a 100644 --- a/styles/sass/partials/header/vtex.store-drawer.scss +++ b/styles/sass/partials/header/vtex.store-drawer.scss @@ -26,7 +26,9 @@ transition: all 0.2s ease; &:hover { - background-color: #F4F4F5; + background-color: #FDF2EC; + color: #FF5A00; + border: 1.25px solid var(--border-brand-primary-base, #EE8146) } } \ No newline at end of file From ff07990086c57b06105a535b6fd6fdd299aa4838 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Fri, 24 May 2024 15:58:50 -0300 Subject: [PATCH 023/310] fix: qa adjustments --- package.json | 5 - react/MinicartInstallmentsCustom.ts | 3 - react/MinicartSummary.ts | 3 + .../Menu/components/MenuContent/index.tsx | 51 ++++++++- .../Menu/components/MenuContent/styles.css | 21 +++- .../MinicartInstallmentsCustom/index.tsx | 36 ------- .../MinicartInstallmentsCustom/styles.css | 10 -- react/components/MinicartSummary/index.tsx | 102 ++++++++++++++++++ react/components/MinicartSummary/styles.css | 76 +++++++++++++ .../components/TopbarContent/styles.css | 4 + react/components/Topbar/index.tsx | 16 +-- react/graphql/queries/getProductById.gql | 1 - .../partials/header/header-desktop.jsonc | 2 +- .../partials/header/header-mobile.jsonc | 2 +- store/blocks/partials/header/minicart.jsonc | 39 +------ store/blocks/partials/header/top-bar.jsonc | 33 +++++- store/interfaces.json | 4 +- styles/css/vtex.minicart.css | 5 +- styles/css/vtex.search.css | 1 + styles/css/vtex.store-header.css | 4 + .../partials/header/vtex.flex-layout.scss | 6 ++ .../sass/partials/header/vtex.minicart.scss | 10 +- .../partials/header/vtex.product-list.scss | 6 ++ .../sass/partials/header/vtex.rich-text.scss | 28 +++++ styles/sass/partials/header/vtex.search.scss | 1 + .../partials/header/vtex.store-drawer.scss | 14 +++ .../partials/header/vtex.store-header.scss | 4 + 27 files changed, 372 insertions(+), 115 deletions(-) delete mode 100644 react/MinicartInstallmentsCustom.ts create mode 100644 react/MinicartSummary.ts delete mode 100644 react/components/MinicartInstallmentsCustom/index.tsx delete mode 100644 react/components/MinicartInstallmentsCustom/styles.css create mode 100644 react/components/MinicartSummary/index.tsx create mode 100644 react/components/MinicartSummary/styles.css diff --git a/package.json b/package.json index 671992c2..ae56fca8 100644 --- a/package.json +++ b/package.json @@ -7,11 +7,6 @@ "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"", "build": "gulp build" }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, "lint-staged": { "*.{ts,js,tsx,jsx}": [ "eslint --fix", diff --git a/react/MinicartInstallmentsCustom.ts b/react/MinicartInstallmentsCustom.ts deleted file mode 100644 index ee63e5c1..00000000 --- a/react/MinicartInstallmentsCustom.ts +++ /dev/null @@ -1,3 +0,0 @@ -import MinicartInstallmentsCustom from "./components/MinicartInstallmentsCustom"; - -export default MinicartInstallmentsCustom; diff --git a/react/MinicartSummary.ts b/react/MinicartSummary.ts new file mode 100644 index 00000000..2e231271 --- /dev/null +++ b/react/MinicartSummary.ts @@ -0,0 +1,3 @@ +import MinicartSummary from "./components/MinicartSummary"; + +export default MinicartSummary; \ No newline at end of file diff --git a/react/components/Menu/components/MenuContent/index.tsx b/react/components/Menu/components/MenuContent/index.tsx index 4ab8a0ab..df7ae25b 100644 --- a/react/components/Menu/components/MenuContent/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-use-before-define */ /* eslint-disable jsx-a11y/click-events-have-key-events */ // Dependencies import type { ReactNode } from 'react' @@ -29,18 +30,60 @@ const MenuContent = ({ children, staticLink }: MenuContentProps) => { const { departments } = useMenu() const { isMobile } = useDevice() - console.log(staticLink) - useEffect(() => { + let timerId: number | null = null + const handleScroll = () => { - setIsSticky(window.scrollY > 100) + const duplicatedMinicartElement = document.querySelectorAll( + '.vtex-minicart-2-x-drawer' + )?.[1] + + const duplicatedMinicartOverlay = document.querySelectorAll( + '.vtex-minicart-2-x-overlay' + )?.[1] + + if (duplicatedMinicartElement && duplicatedMinicartOverlay) { + duplicatedMinicartElement.remove() + duplicatedMinicartOverlay.remove() + } + + if (timerId !== null) { + clearTimeout(timerId) + } + + timerId = window.setTimeout(() => { + setIsSticky(window.scrollY > 100) + }, 100) } window.addEventListener('scroll', handleScroll) - return () => window.removeEventListener('scroll', handleScroll) + return () => { + if (timerId !== null) { + clearTimeout(timerId) + } + + window.removeEventListener('scroll', handleScroll) + } }, []) + useEffect(() => { + const element = document.querySelector('.render-provider') as HTMLDivElement + const body = document.querySelector('body') as HTMLBodyElement + + if (isMobile) { + if (menuOpen) { + body.style.overflow = 'hidden' + element.style.overflow = 'hidden' + } else { + body.style.overflow = 'unset' + element.style.overflow = 'unset' + } + } + }, [menuOpen, isMobile]) + + useEffect(() => {}, []) + const stickyClassNames = classnames(styles.userInteractions, { [styles.sticky]: isSticky, }) diff --git a/react/components/Menu/components/MenuContent/styles.css b/react/components/Menu/components/MenuContent/styles.css index d6a09910..f687941b 100644 --- a/react/components/Menu/components/MenuContent/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -4,7 +4,7 @@ top: 0; background: var(--Gray-Scale-White, #fff); - z-index: 2; + z-index: 999; } .staticDepartment { @@ -27,6 +27,17 @@ gap: 16px; } +.stickyMenu :global(.vtex-minicart-2-x-minicartIconContainer) img { + display: none; +} + +.stickyMenu :global(.vtex-minicart-2-x-minicartIconContainer)::before { + content: url('data:image/svg+xml,'); + width: 24px; + height: 24px; + display: block; +} + .stickyMenu .staticDepartment { display: none; @@ -212,6 +223,10 @@ margin: 0; } +:global(.vtex-minicart-2-x-drawer):nth-child(2) { + display: none!important; +} + .viewAllLink { display: flex; padding: var(--spacing-25, 10px) var(--spacing-4, 16px); @@ -290,7 +305,7 @@ .menuWrapper { transform: translate(-100%, 0); position: fixed; - height: 100vh; + height: 100%; max-width: 312px; flex-direction: column; width: 100%; @@ -444,7 +459,7 @@ } .menuOverlay { - height: 100vh; + height: 100%; position: fixed; top: 0; } diff --git a/react/components/MinicartInstallmentsCustom/index.tsx b/react/components/MinicartInstallmentsCustom/index.tsx deleted file mode 100644 index 8e8bcd6c..00000000 --- a/react/components/MinicartInstallmentsCustom/index.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from "react"; -import styles from "./styles.css"; - -import { OrderForm } from "vtex.order-manager"; -import { FormattedCurrency } from "vtex.format-currency"; - -const { useOrderForm } = OrderForm; - -const MinicartInstallments = () => { - const { - orderForm: { totalizers }, - } = useOrderForm(); - - const totalItems = totalizers.find( - (totalizer: any) => totalizer.id === "Items" - ); - - const totalItemsValue = totalItems ? totalItems.value : 0; - - const maxInstallments = 10; - - const installmentValue = totalItemsValue / maxInstallments / 100; - - if (totalItemsValue === 0) return null; - - return ( -
    -

    - {maxInstallments}x de{" "} - -

    -
    - ); -}; - -export default MinicartInstallments; diff --git a/react/components/MinicartInstallmentsCustom/styles.css b/react/components/MinicartInstallmentsCustom/styles.css deleted file mode 100644 index 5544aa06..00000000 --- a/react/components/MinicartInstallmentsCustom/styles.css +++ /dev/null @@ -1,10 +0,0 @@ -.minicartInstallmentsWrapper p { - color: var(--text-neutral-bold, #18181b); - font-family: "Proxima Nova", sans-serif; - font-size: 12px; - font-style: normal; - font-weight: 600; - line-height: 16px; - letter-spacing: -0.12px; - margin: 0; -} diff --git a/react/components/MinicartSummary/index.tsx b/react/components/MinicartSummary/index.tsx new file mode 100644 index 00000000..19e7087c --- /dev/null +++ b/react/components/MinicartSummary/index.tsx @@ -0,0 +1,102 @@ +/* eslint-disable no-await-in-loop */ +/* eslint-disable @typescript-eslint/restrict-plus-operands */ +import React, { useEffect, useState, useCallback } from 'react' +import styles from './styles.css' + +import { OrderForm } from 'vtex.order-manager' +import { FormattedCurrency } from 'vtex.format-currency' +import { useApolloClient } from 'react-apollo' + +import GET_PRODUCT_BY_ID from '../../graphql/queries/getProductById.gql' + +const { useOrderForm } = OrderForm + +const MinicartSummary: React.FC = () => { + const client = useApolloClient() + const { + orderForm: { totalizers, items }, + } = useOrderForm() + + const [productsPrice, setProductsPrice] = useState(0) + + const fetchProductPriceById = useCallback( + async (productId: string) => { + const { data } = await client.query({ + query: GET_PRODUCT_BY_ID, + variables: { identifier: { field: 'id', value: productId } }, + }) + + if (data?.product?.items) { + return data.product.items.reduce((acc: number, productItem: any) => { + const itemPrice = productItem?.sellers?.[0]?.commertialOffer?.Price + + return acc + itemPrice + }, 0) + } + + return 0 + }, + [client] + ) + + const fetchProductsPrice = useCallback(async () => { + let totalPrice = 0 + + for (const item of items) { + const productPrice = await fetchProductPriceById(item.productId) + + totalPrice += productPrice + } + + setProductsPrice(totalPrice) + }, [items, fetchProductPriceById]) + + useEffect(() => { + fetchProductsPrice() + }, [items, fetchProductsPrice]) + + const totalItems = totalizers.find( + (totalizer: any) => totalizer.id === 'Items' + ) + + const discountItems = totalizers.find( + (totalizer: any) => totalizer.id === 'Discounts' + ) + + const totalItemsValue = totalItems ? totalItems.value / 100 : 0 + const priceWithDiscount = totalItems + ? (totalItems.value - Math.abs(discountItems?.value ?? 0)) / 100 + : 0 + + const maxInstallments = 10 + + if (totalItemsValue === 0) return null + + return ( +
    +
    + Subtotal + + + + {discountItems && ( + + + + )} +
    + + no pix ou boleto + +

    + ou{' '} + + + {' '} + em até {maxInstallments}x sem juros +

    +
    + ) +} + +export default MinicartSummary diff --git a/react/components/MinicartSummary/styles.css b/react/components/MinicartSummary/styles.css new file mode 100644 index 00000000..73478630 --- /dev/null +++ b/react/components/MinicartSummary/styles.css @@ -0,0 +1,76 @@ +.minicartSummary { + width: 100%; +} + + +.subtotalTitle { + width: 100%; + float: left; + color: var(--text-neutral-bold, #18181B); + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; +} + +.pixText { + color: var(--text-neutral-subtlest, #71717A); + text-align: right; + width: 100%; + display: block; + /* text-xs/semibold */ + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; /* 133.333% */ + letter-spacing: -0.12px; + margin-bottom: 4px; +} + +.totalPrice { + color: var(--text-neutral-subtlest, #71717A); + text-align: right; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 24px; + letter-spacing: -0.14px; + text-decoration: line-through; +} + +.priceWithDiscount { + color: var(--text-neutral-bold, #18181B); + text-align: right; + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 24px; /* 150% */ + letter-spacing: -0.16px; +} + + +.subtotalWrapper { + display: flex; + width: 100%; + align-items: center; + gap: 8px; +} + + + +.installments { + color: var(--text-neutral-bold, #18181B); + text-align: right; + font-family: "Proxima Nova"; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 16px; + letter-spacing: -0.12px; + margin: 0; +} \ No newline at end of file diff --git a/react/components/Topbar/components/TopbarContent/styles.css b/react/components/Topbar/components/TopbarContent/styles.css index c366211b..c03de532 100644 --- a/react/components/Topbar/components/TopbarContent/styles.css +++ b/react/components/Topbar/components/TopbarContent/styles.css @@ -6,6 +6,10 @@ height: 32px; } +.topbarContetWrapper a { + text-decoration: none; +} + .contentText { color: var(--Gray-Scale-White, #fff); diff --git a/react/components/Topbar/index.tsx b/react/components/Topbar/index.tsx index 6c1dc81b..27ace259 100644 --- a/react/components/Topbar/index.tsx +++ b/react/components/Topbar/index.tsx @@ -4,11 +4,12 @@ import React from 'react' import { useListContext, ListContextProvider } from 'vtex.list-context' import TopbarContent from './components/TopbarContent' -const Topbar = ({ items, children }: any) => { +const Topbar = ({ items, children, showSearchBar }: any) => { const { list } = useListContext() || [] + + if (!showSearchBar) return null const topbarContentItems = items.map((item: any, index: number) => { - const { backgroundColor, color, text, active, link } = item - if (!active) return null + const { backgroundColor, color, text, link } = item return ( Date: Mon, 27 May 2024 13:53:21 -0300 Subject: [PATCH 024/310] fix: set overflow hidden to render provider element div to prevent lateral scroll --- .../Menu/components/MenuContent/index.tsx | 4 +- react/components/MinicartSummary/index.tsx | 87 ++++++++++--------- styles/css/vtex.minicart.css | 4 - .../sass/partials/header/vtex.minicart.scss | 5 -- 4 files changed, 50 insertions(+), 50 deletions(-) diff --git a/react/components/Menu/components/MenuContent/index.tsx b/react/components/Menu/components/MenuContent/index.tsx index df7ae25b..44561fe5 100644 --- a/react/components/Menu/components/MenuContent/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -72,12 +72,12 @@ const MenuContent = ({ children, staticLink }: MenuContentProps) => { const body = document.querySelector('body') as HTMLBodyElement if (isMobile) { + element.style.overflow = 'hidden' + if (menuOpen) { body.style.overflow = 'hidden' - element.style.overflow = 'hidden' } else { body.style.overflow = 'unset' - element.style.overflow = 'unset' } } }, [menuOpen, isMobile]) diff --git a/react/components/MinicartSummary/index.tsx b/react/components/MinicartSummary/index.tsx index 19e7087c..8cd89653 100644 --- a/react/components/MinicartSummary/index.tsx +++ b/react/components/MinicartSummary/index.tsx @@ -14,12 +14,14 @@ const { useOrderForm } = OrderForm const MinicartSummary: React.FC = () => { const client = useApolloClient() const { - orderForm: { totalizers, items }, + orderForm: { items }, } = useOrderForm() - const [productsPrice, setProductsPrice] = useState(0) + const [spotPriceTotal, setSpotPriceTotal] = useState(0) + const [priceTotal, setPriceTotal] = useState(0) + const [listPriceTotal, setListPriceTotal] = useState(0) - const fetchProductPriceById = useCallback( + const fetchProductPricesById = useCallback( async (productId: string) => { const { data } = await client.query({ query: GET_PRODUCT_BY_ID, @@ -27,71 +29,78 @@ const MinicartSummary: React.FC = () => { }) if (data?.product?.items) { - return data.product.items.reduce((acc: number, productItem: any) => { - const itemPrice = productItem?.sellers?.[0]?.commertialOffer?.Price - - return acc + itemPrice - }, 0) + return data.product.items.reduce( + ( + acc: { spotPrice: number; price: number; listPrice: number }, + productItem: any + ) => { + const itemSpotPrice = + productItem?.sellers?.[0]?.commertialOffer?.spotPrice ?? 0 + + const itemPrice = + productItem?.sellers?.[0]?.commertialOffer?.Price ?? 0 + + const itemListPrice = + productItem?.sellers?.[0]?.commertialOffer?.ListPrice ?? 0 + + return { + spotPrice: acc.spotPrice + itemSpotPrice, + price: acc.price + itemPrice, + listPrice: acc.listPrice + itemListPrice, + } + }, + { spotPrice: 0, price: 0, listPrice: 0 } + ) } - return 0 + return { spotPrice: 0, price: 0, listPrice: 0 } }, [client] ) - const fetchProductsPrice = useCallback(async () => { + const fetchProductsPrices = useCallback(async () => { + let totalSpotPrice = 0 let totalPrice = 0 + let totalListPrice = 0 for (const item of items) { - const productPrice = await fetchProductPriceById(item.productId) + const { spotPrice, price, listPrice } = await fetchProductPricesById( + item.productId + ) - totalPrice += productPrice + totalSpotPrice += spotPrice + totalPrice += price + totalListPrice += listPrice } - setProductsPrice(totalPrice) - }, [items, fetchProductPriceById]) + setSpotPriceTotal(totalSpotPrice) // Assuming prices are in cents and converting to dollars + setPriceTotal(totalPrice) + setListPriceTotal(totalListPrice) + }, [items, fetchProductPricesById]) useEffect(() => { - fetchProductsPrice() - }, [items, fetchProductsPrice]) - - const totalItems = totalizers.find( - (totalizer: any) => totalizer.id === 'Items' - ) - - const discountItems = totalizers.find( - (totalizer: any) => totalizer.id === 'Discounts' - ) - - const totalItemsValue = totalItems ? totalItems.value / 100 : 0 - const priceWithDiscount = totalItems - ? (totalItems.value - Math.abs(discountItems?.value ?? 0)) / 100 - : 0 + fetchProductsPrices() + }, [items, fetchProductsPrices]) const maxInstallments = 10 - if (totalItemsValue === 0) return null - return (
    Subtotal - + + + + - {discountItems && ( - - - - )}
    no pix ou boleto -

    ou{' '} - + {' '} em até {maxInstallments}x sem juros

    diff --git a/styles/css/vtex.minicart.css b/styles/css/vtex.minicart.css index 63eb1ff1..a689253c 100644 --- a/styles/css/vtex.minicart.css +++ b/styles/css/vtex.minicart.css @@ -143,10 +143,6 @@ } } -.drawerContent { - overflow: hidden !important; -} - .minicartCheckoutButton { margin: 0; padding: 0; diff --git a/styles/sass/partials/header/vtex.minicart.scss b/styles/sass/partials/header/vtex.minicart.scss index aa6475f5..c81e0b64 100644 --- a/styles/sass/partials/header/vtex.minicart.scss +++ b/styles/sass/partials/header/vtex.minicart.scss @@ -169,11 +169,6 @@ } } -.drawerContent { - overflow: hidden !important; -} - - .minicartCheckoutButton { margin: 0; From df21bcf5d2aa11d88133f5c5ad372dcfab57b707 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 29 May 2024 11:20:49 -0300 Subject: [PATCH 025/310] fix qa adjustments --- manifest.json | 3 ++- .../Menu/components/LoginMobile/index.tsx | 10 +++++++--- .../Menu/components/MenuContent/index.tsx | 14 ++++++-------- react/components/MinicartSummary/index.tsx | 2 +- react/graphql/queries/getProductById.gql | 5 ++--- react/graphql/queries/getUserProfile.gql | 6 ++++++ store/blocks/partials/header/header-desktop.jsonc | 1 + store/blocks/partials/header/header-mobile.jsonc | 1 + styles/css/vtex.flex-layout.css | 8 -------- styles/css/vtex.store-header.css | 4 ---- styles/sass/partials/header/vtex.flex-layout.scss | 14 +++++++------- .../sass/partials/header/vtex.slider-layout.scss | 8 ++++++++ styles/sass/partials/header/vtex.store-header.scss | 8 -------- 13 files changed, 41 insertions(+), 43 deletions(-) create mode 100644 react/graphql/queries/getUserProfile.gql create mode 100644 styles/sass/partials/header/vtex.slider-layout.scss diff --git a/manifest.json b/manifest.json index 21509e1b..3b094555 100644 --- a/manifest.json +++ b/manifest.json @@ -59,7 +59,8 @@ "vtex.checkout-summary": "0.x", "vtex.format-currency": "0.x", "vtex.search-graphql": "0.x", - "vtex.product-context": "0.x" + "vtex.product-context": "0.x", + "vtex.store-graphql": "2.x" }, "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema" } diff --git a/react/components/Menu/components/LoginMobile/index.tsx b/react/components/Menu/components/LoginMobile/index.tsx index b3acb1d8..6419a442 100644 --- a/react/components/Menu/components/LoginMobile/index.tsx +++ b/react/components/Menu/components/LoginMobile/index.tsx @@ -6,14 +6,18 @@ import { OrderForm } from 'vtex.order-manager' // Styles import styles from './styles.css' +// Queries +import GET_USER_PROFILE from '../../../../graphql/queries/getUserProfile.gql' +import { useQuery } from 'react-apollo' + const { useOrderForm } = OrderForm const LoginMobile = () => { const { - orderForm: { loggedIn, clientProfileData }, + orderForm: { loggedIn }, } = useOrderForm() ?? {} - console.log('loggedIn', loggedIn) + const { data } = useQuery(GET_USER_PROFILE, { ssr: false }) return (
    @@ -45,7 +49,7 @@ const LoginMobile = () => { {loggedIn ? ( - Hello, {clientProfileData?.firstName} + Hello, {data?.profile?.firstName} ) : ( Minha conta )} diff --git a/react/components/Menu/components/MenuContent/index.tsx b/react/components/Menu/components/MenuContent/index.tsx index 44561fe5..d751e19e 100644 --- a/react/components/Menu/components/MenuContent/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -82,14 +82,10 @@ const MenuContent = ({ children, staticLink }: MenuContentProps) => { } }, [menuOpen, isMobile]) - useEffect(() => {}, []) - const stickyClassNames = classnames(styles.userInteractions, { [styles.sticky]: isSticky, }) - if (!departments) return null - const menuClasses = classnames(styles.menuWrapper, { [styles.open]: isMobile && menuOpen, }) @@ -98,6 +94,11 @@ const MenuContent = ({ children, staticLink }: MenuContentProps) => { [styles.stickyMenu]: !isMobile && isSticky, }) + const handleMenuClose = () => { + setMenuOpen(false) + setActiveDepartment(null) + } + return (
    {isMobile && ( @@ -126,10 +127,7 @@ const MenuContent = ({ children, staticLink }: MenuContentProps) => { {isMobile && ( - + + + {hasCategories && (
    diff --git a/react/components/Menu/components/MenuContent/styles.css b/react/components/Menu/components/MenuContent/styles.css index 289c0675..577e215c 100644 --- a/react/components/Menu/components/MenuContent/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -368,25 +368,30 @@ border-top: 1px solid rgba(156, 160, 174, 0.4); } - .menuItem button:not(.hideCategory) { + .menuItem button:not(.hideCategory) + .menuItem a:not(.hideCategory) { display: flex; align-items: center; gap: 8px; width: 100%; } - .menuItem button span { + + .menuItem button span, + .menuItem a span { width: 100%; text-align: left; } - .menuItem button:not(.hideCategory):after { + .menuItem button:not(.hideCategory):after, + .menuItem a:not(.hideCategory):after { content: url('data:image/svg+xml,'); width: 16px; height: 16px; display: block; } - .menuItem button img { + .menuItem button img, + .menuItem a img { width: 54px; height: 40px; border-radius: var(--radius-rounded, 4px); diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index b0c25650..5d5cccbd 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -168,7 +168,6 @@ } } - .flexRowContent--shelf-title-container { display: flex; justify-content: space-between; @@ -215,7 +214,6 @@ } } - .flexRowContent--simple-double-banner { padding: 48px 32px; justify-content: center; @@ -230,11 +228,6 @@ gap: 16px; } -.flexRowContent--home-content-container { - max-width: 1440px; - margin: 0 auto; -} - .flexRow--topbar-interactions { max-width: 1440px; position: relative; @@ -524,118 +517,7 @@ box-shadow: 0 0 1em #222; } -.flexRow--explore-our-categories { - padding: 48px 0; -} -@media screen and (max-width: 768px) { - .flexRow--explore-our-categories { - padding-top: 34px; - } -} - -.flexRow--our-categories-cards { - max-height: 656px; - height: 100%; - display: block; -} - -.flexRowContent--our-categories-cards-section, -.flexColChild--our-categories-cards-section { - gap: 16px; -} -.flexRowContent--our-categories-cards-section :global(.vtex-button), -.flexColChild--our-categories-cards-section :global(.vtex-button) { - border: none; - background-color: transparent; - width: fit-content; -} - -.flexCol--our-categories-cards-section { - gap: 8px; -} - -.flexRowContent--our-categories-cards-content { - flex-wrap: wrap; - gap: 16px; -} -@media screen and (max-width: 768px) { - .flexRowContent--our-categories-cards-content { - display: flex; - gap: 8px; - } -} -.flexRowContent--our-categories-cards-content .stretchChildrenWidth { - width: 50% !important; - max-width: 332px; -} -@media screen and (max-width: 1440px) { - .flexRowContent--our-categories-cards-content .stretchChildrenWidth { - width: 48% !important; - max-width: 100%; - } -} -@media screen and (max-width: 361px) { - .flexRowContent--our-categories-cards-content .stretchChildrenWidth { - max-width: 160px; - width: 100% !important; - } -} - -.flexCol--explore-our-categories-content { - padding: 0 32px; - gap: 32px; - max-width: 1376px; - box-sizing: content-box; -} -@media screen and (max-width: 768px) { - .flexCol--explore-our-categories-content { - padding: 0 16px; - gap: 0; - } -} - -.flexRowContent--shelf-title-container { - display: flex; - justify-content: space-between; -} - -.flexRow--product-card-stars { - margin-bottom: 12px; -} - -.flexCol--shelf-container { - padding: 48px 32px; - padding-right: 16px; -} -@media screen and (max-width: 768px) { - .flexCol--shelf-container { - padding: 16px; - padding-bottom: 32px; - padding-right: 8px; - } -} - -.flexRow--shelf-container { - background: #F4F4F5; -} - -.flexRow--shelf-title-container { - margin-bottom: 32px; -} -@media screen and (max-width: 768px) { - .flexRow--shelf-title-container { - margin-bottom: 24px; - } -} - -.flexRowContent--product-card-actions { - align-items: center; - margin-top: 12px; - gap: 12px; -} -@media screen and (max-width: 768px) { - .flexRowContent--product-card-actions { - display: flex; - gap: 8px; - } +.flexRowContent--home-content-container { + max-width: 1440px; + margin: 0 auto; } \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index 9a7ff84c..ce5c21d7 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -9,74 +9,6 @@ /* Colors */ @import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); /* Grid breakpoints */ -:global(.vtex-store-header-2-x-headerStickyRow) .container { - width: 100%; - max-width: 100%; - padding: 0; -} - -.closeIcon--search-bar { - display: none; -} - -.searchBarInnerContainer { - border-radius: var(--radius-rounded-sm, 2px); - border: 1px solid var(--border-input-base, #D4D4D8); - padding: 9px 16px; -} -.searchBarInnerContainer--search-bar--opened { - border: 1.5px solid var(--border-focus-base, #EE8146); -} - -.searchBarContainer { - max-width: 698px; - position: relative; - width: 100%; - display: flex; - height: 40px; - justify-content: center; - align-items: center; - gap: 8px; - align-self: stretch; - border-radius: 2px; - background: #FFF; - margin: unset; -} -.searchBarContainer .searchBarIcon--search-bar { - background-image: url("assets/svgs/search-icon.svg"); - width: 20px; - height: 20px; - padding: 0; - padding-left: 8px; -} -.searchBarContainer .searchBarIcon--search-bar .searchIcon { - display: none; -} -.searchBarContainer :global(.vtex-styleguide-9-x-input) { - width: 100%; - padding: 0; - border-right: 1px solid var(--border-input-base, #D4D4D8); - margin-right: 8px; -} -.searchBarContainer :global(.vtex-styleguide-9-x-input)::placeholder { - color: var(--text-neutral-bold, #18181B); - font-family: "Proxima Nova"; - font-size: 14px; - font-style: normal; - font-weight: 500; - line-height: 20px; - letter-spacing: -0.14px; -} -.searchBarContainer :global(.vtex-input-prefix__group) { - height: 100%; - border: none; -} - -@media screen and (max-width: 1025px) { - .imageElementLink--logo { - max-width: 111px; - } -} .infoCardContainer--our-categories-main-image { max-width: 680px; background-color: black; @@ -217,9 +149,6 @@ } } -.imageElement--simple-banner-image { - padding: 48px 32px; -} .imageElement--simple-banner-image-1 { margin-right: 24px; } @@ -228,7 +157,7 @@ width: 100%; } -.container { +:global(.vtex-store-header-2-x-headerStickyRow) .container { width: 100%; max-width: 100%; padding: 0; diff --git a/styles/css/vtex.store-link.css b/styles/css/vtex.store-link.css index bad7a284..f7db3e0f 100644 --- a/styles/css/vtex.store-link.css +++ b/styles/css/vtex.store-link.css @@ -95,25 +95,4 @@ width: 20px; height: 20px; display: block; -} - -.link--section-title { - text-decoration: none; - margin-right: 17px; -} -@media screen and (max-width: 768px) { - .link--section-title { - margin-right: 8px; - } -} - -.label--section-title { - color: #000; - text-align: right; - font-family: "Proxima Nova"; - font-size: 16px; - font-style: normal; - font-weight: 600; - line-height: 24px; - letter-spacing: -0.16px; } \ No newline at end of file diff --git a/styles/sass/components/shelf/vtex.slider-layout.scss b/styles/sass/components/shelf/vtex.slider-layout.scss index f7cc5fc3..e88a08b4 100644 --- a/styles/sass/components/shelf/vtex.slider-layout.scss +++ b/styles/sass/components/shelf/vtex.slider-layout.scss @@ -37,8 +37,7 @@ background: url('data:image/svg+xml,')no-repeat !important; right: 15px; filter: unset; - &:hover { - background: url('data:image/svg+xml,')no-repeat !important; + @media screen and (min-width: 768px) { &:hover { @@ -56,8 +55,6 @@ @media screen and (max-width: 768px) { right: -13px; } - - } .paginationDotsContainer--shelf-slider { diff --git a/styles/sass/pages/home/vtex.slider-layout.scss b/styles/sass/pages/home/vtex.slider-layout.scss index 21d97e37..dfcf9a0e 100644 --- a/styles/sass/pages/home/vtex.slider-layout.scss +++ b/styles/sass/pages/home/vtex.slider-layout.scss @@ -14,6 +14,14 @@ } + .imageElementLink { + width: 100%; + } + + .imageElement { + max-height: 100% !important; + } + .paginationDot--banner-home { width: 6px !important; height: 6px !important; From f3fcd3f051de09c92fd64d8279bc90ec949b9287 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Mon, 24 Jun 2024 12:42:59 -0300 Subject: [PATCH 059/310] Release v0.0.8 --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 6b39fb34..dc6a250a 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "vendor": "roland", "name": "store-theme", - "version": "0.0.7", + "version": "0.0.8", "builders": { "styles": "2.x", "store": "0.x", From 357c5fa3bb85cef61ad3b8e225f080c17dbd7162 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Mon, 24 Jun 2024 12:52:35 -0300 Subject: [PATCH 060/310] vtex setup --all --- package.json | 5 +++++ react/package.json | 6 ++++-- react/yarn.lock | 15 ++++++++++++--- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 385ad69c..729c7a4a 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,11 @@ "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"", "build": "gulp build" }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, "lint-staged": { "*.{ts,js,tsx,jsx}": [ "eslint --fix", diff --git a/react/package.json b/react/package.json index 435db036..784e76aa 100644 --- a/react/package.json +++ b/react/package.json @@ -44,7 +44,7 @@ "apollo-cache-inmemory": "^1.6.5", "apollo-client": "^2.5.1", "graphql": "^14.6.0", - "roland.store-theme": "http://roland.vtexassets.com/_v/public/typings/v1/roland.store-theme@0.0.2/public/@types/roland.store-theme", + "roland.store-theme": "http://roland.vtexassets.com/_v/public/typings/v1/roland.store-theme@0.0.7/public/@types/roland.store-theme", "typescript": "3.9.7", "vtex.add-to-cart-button": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button", "vtex.breadcrumb": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb", @@ -62,6 +62,7 @@ "vtex.my-account": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.my-account@1.27.1/public/@types/vtex.my-account", "vtex.order-manager": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-manager@0.12.0/public/@types/vtex.order-manager", "vtex.order-placed": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-placed@2.17.2/public/@types/vtex.order-placed", + "vtex.pixel-manager": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.pixel-manager@1.9.0/public/@types/vtex.pixel-manager", "vtex.product-context": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-context@0.10.1/public/@types/vtex.product-context", "vtex.product-details": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-details@1.22.0/public/@types/vtex.product-details", "vtex.product-identifier": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-identifier@0.5.0/public/@types/vtex.product-identifier", @@ -96,6 +97,7 @@ "vtex.styleguide": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.146.9/public/@types/vtex.styleguide", "vtex.tab-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.tab-layout@0.4.6/public/@types/vtex.tab-layout", "vtex.telemarketing": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.telemarketing@2.12.1/public/@types/vtex.telemarketing", - "vtex.wish-list": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.wish-list@1.18.0/public/@types/vtex.wish-list" + "vtex.wish-list": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.wish-list@1.18.0/public/@types/vtex.wish-list", + "vtex.wordpress-integration": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.wordpress-integration@2.25.2/public/@types/vtex.wordpress-integration" } } diff --git a/react/yarn.lock b/react/yarn.lock index fddbdd40..0d05dd24 100644 --- a/react/yarn.lock +++ b/react/yarn.lock @@ -4898,9 +4898,10 @@ rimraf@^3.0.0: dependencies: glob "^7.1.3" -"roland.store-theme@http://roland.vtexassets.com/_v/public/typings/v1/roland.store-theme@0.0.2/public/@types/roland.store-theme": - version "0.0.2" - resolved "http://roland.vtexassets.com/_v/public/typings/v1/roland.store-theme@0.0.2/public/@types/roland.store-theme#a5e1917adde0a40adf7111f7bceb4b8834ca5ffc" +"roland.store-theme@http://roland.vtexassets.com/_v/public/typings/v1/roland.store-theme@0.0.7/public/@types/roland.store-theme": + version "0.0.7" + resolved "http://roland.vtexassets.com/_v/public/typings/v1/roland.store-theme@0.0.7/public/@types/roland.store-theme#0e36127dd14bc7eb420cfacaa2059ec33e433680" + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -5633,6 +5634,10 @@ verror@1.10.0: version "2.17.2" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.order-placed@2.17.2/public/@types/vtex.order-placed#5a015e206e512d8badfb54c74f51d4cf72c670f7" +"vtex.pixel-manager@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.pixel-manager@1.9.0/public/@types/vtex.pixel-manager": + version "1.9.0" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.pixel-manager@1.9.0/public/@types/vtex.pixel-manager#eb61e263c4f8024430ef1a19d28bcf608db3d481" + "vtex.product-context@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-context@0.10.1/public/@types/vtex.product-context": version "0.10.1" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-context@0.10.1/public/@types/vtex.product-context#86ceba68085420edcf54749f07e51a257d2e5d94" @@ -5773,6 +5778,10 @@ verror@1.10.0: version "1.18.0" resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.wish-list@1.18.0/public/@types/vtex.wish-list#ecca26017681c0a0562e85b8b94e2ba9bef498cd" +"vtex.wordpress-integration@http://vtex.vtexassets.com/_v/public/typings/v1/vtex.wordpress-integration@2.25.2/public/@types/vtex.wordpress-integration": + version "2.25.2" + resolved "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.wordpress-integration@2.25.2/public/@types/vtex.wordpress-integration#3daaf82404517fff95af2caf5163b02abb087cc2" + w3c-hr-time@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" From 32669ff57c144cd7ecccb8fc187c101c5432a0f8 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Mon, 24 Jun 2024 12:53:07 -0300 Subject: [PATCH 061/310] Release v0.0.9 --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index dc6a250a..89587b0f 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "vendor": "roland", "name": "store-theme", - "version": "0.0.8", + "version": "0.0.9", "builders": { "styles": "2.x", "store": "0.x", From 4ad74dfabd403252fb9543c70e231ecff832c801 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Mon, 24 Jun 2024 13:14:31 -0300 Subject: [PATCH 062/310] Release v1.0.0 --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 89587b0f..ad0c0e86 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "vendor": "roland", "name": "store-theme", - "version": "0.0.9", + "version": "1.0.0", "builders": { "styles": "2.x", "store": "0.x", From 63cdecbd37eb008b5da3d04398ef3005b9ec89d2 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Tue, 25 Jun 2024 18:01:34 -0300 Subject: [PATCH 063/310] =?UTF-8?q?chore:=20Refactor=20MenuContent=20compo?= =?UTF-8?q?nent=20for=20improved=20accessibility=20and=20=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Menu/components/MenuContent/index.tsx | 60 ++++++++++++++----- .../Menu/components/MenuContent/styles.css | 10 +++- react/package.json | 3 +- store/blocks/partials/header/top-bar.jsonc | 5 +- styles/css/vtex.flex-layout.css | 10 ++-- 5 files changed, 61 insertions(+), 27 deletions(-) diff --git a/react/components/Menu/components/MenuContent/index.tsx b/react/components/Menu/components/MenuContent/index.tsx index afc4f5e2..ae95d5c3 100644 --- a/react/components/Menu/components/MenuContent/index.tsx +++ b/react/components/Menu/components/MenuContent/index.tsx @@ -82,21 +82,51 @@ const MenuContent = ({ staticLink }: MenuContentProps) => { }) return ( -
  • - - +
  • { + if (!isMobile && hasCategories) { + setActiveDepartment(name) + } + }} + onMouseLeave={() => { + if (!isMobile && hasCategories) { + setActiveDepartment(null) + } + }} + > + + {isMobile && ( + {name} + )} + {name} + {isMobile && hasCategories && ( + + )} {hasCategories && (
    diff --git a/react/components/Menu/components/MenuContent/styles.css b/react/components/Menu/components/MenuContent/styles.css index 577e215c..750c5c74 100644 --- a/react/components/Menu/components/MenuContent/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -166,7 +166,8 @@ cursor: pointer; } -.menuItem button:not(.hideCategory) { +.menuItem button:not(.hideCategory), +.menuItem > a:not(.hideCategory) { text-decoration: none; color: var(--Gray-Scale-Black, #000); font-family: 'Proxima Nova'; @@ -179,6 +180,9 @@ border: none; cursor: pointer; padding: 0; + display: flex; + align-items: center; + gap: 8px; } .categoryWrapper { @@ -382,13 +386,13 @@ text-align: left; } - .menuItem button:not(.hideCategory):after, + /* .menuItem button:not(.hideCategory):after, .menuItem a:not(.hideCategory):after { content: url('data:image/svg+xml,'); width: 16px; height: 16px; display: block; - } + } */ .menuItem button img, .menuItem a img { diff --git a/react/package.json b/react/package.json index 784e76aa..15fb6ccf 100644 --- a/react/package.json +++ b/react/package.json @@ -44,7 +44,7 @@ "apollo-cache-inmemory": "^1.6.5", "apollo-client": "^2.5.1", "graphql": "^14.6.0", - "roland.store-theme": "http://roland.vtexassets.com/_v/public/typings/v1/roland.store-theme@0.0.7/public/@types/roland.store-theme", + "roland.store-theme": "http://roland.vtexassets.com/_v/public/typings/v1/roland.store-theme@1.0.0/public/@types/roland.store-theme", "typescript": "3.9.7", "vtex.add-to-cart-button": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.add-to-cart-button@0.30.2/public/@types/vtex.add-to-cart-button", "vtex.breadcrumb": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.breadcrumb@1.9.4/public/@types/vtex.breadcrumb", @@ -94,6 +94,7 @@ "vtex.store-icons": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-icons@0.18.0/public/@types/vtex.store-icons", "vtex.store-image": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-image@0.20.0/public/@types/vtex.store-image", "vtex.store-link": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-link@0.9.3/public/@types/vtex.store-link", + "vtex.store-newsletter": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-newsletter@1.3.0/public/@types/vtex.store-newsletter", "vtex.styleguide": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.146.9/public/@types/vtex.styleguide", "vtex.tab-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.tab-layout@0.4.6/public/@types/vtex.tab-layout", "vtex.telemarketing": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.telemarketing@2.12.1/public/@types/vtex.telemarketing", diff --git a/store/blocks/partials/header/top-bar.jsonc b/store/blocks/partials/header/top-bar.jsonc index d8cf299c..78fc2f8c 100644 --- a/store/blocks/partials/header/top-bar.jsonc +++ b/store/blocks/partials/header/top-bar.jsonc @@ -97,6 +97,7 @@ "slider-layout#topbar": { "title": "Slider Topbar", "props": { + "infinite": false, "blockClass": "topbar-slider", "itemsPerPage": { "desktop": 1, @@ -104,10 +105,8 @@ "phone": 1 }, "autoplay": { - "timeout": 3000, - "stopOnHover": true + "timeout": 3000 }, - "infinite": true, "showNavigationArrows": "never", "showPaginationDots": "never" } diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 5d5cccbd..8ed85dc4 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -228,6 +228,11 @@ gap: 16px; } +.flexRowContent--home-content-container { + max-width: 1440px; + margin: 0 auto; +} + .flexRow--topbar-interactions { max-width: 1440px; position: relative; @@ -515,9 +520,4 @@ background: #fff; top: 0; box-shadow: 0 0 1em #222; -} - -.flexRowContent--home-content-container { - max-width: 1440px; - margin: 0 auto; } \ No newline at end of file From 11458a0c7d837c61cecfaa6ba98a9641a6d52a3d Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Tue, 25 Jun 2024 18:21:24 -0300 Subject: [PATCH 064/310] fix: list price --- styles/css/vtex.flex-layout.css | 14 +++++++++----- styles/css/vtex.store-components.css | 4 ++++ .../sass/components/shelf/vtex.flex-layout.scss | 4 ++++ .../sass/components/shelf/vtex.product-price.scss | 15 +++++++++++++++ .../components/shelf/vtex.store-components.scss | 3 +++ 5 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 styles/sass/components/shelf/vtex.store-components.scss diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 5d5cccbd..323eb031 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -177,6 +177,10 @@ margin-bottom: 12px; } +.flexColChild--price-container:first-child { + min-height: 24px; +} + .flexCol--shelf-container { padding: 48px 32px; padding-right: 16px; @@ -228,6 +232,11 @@ gap: 16px; } +.flexRowContent--home-content-container { + max-width: 1440px; + margin: 0 auto; +} + .flexRow--topbar-interactions { max-width: 1440px; position: relative; @@ -515,9 +524,4 @@ background: #fff; top: 0; box-shadow: 0 0 1em #222; -} - -.flexRowContent--home-content-container { - max-width: 1440px; - margin: 0 auto; } \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index ce5c21d7..bf480c7c 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -149,6 +149,10 @@ } } +.discountContainer .discountInsideContainer { + display: none; +} + .imageElement--simple-banner-image-1 { margin-right: 24px; } diff --git a/styles/sass/components/shelf/vtex.flex-layout.scss b/styles/sass/components/shelf/vtex.flex-layout.scss index 72498e0d..0f1bb0af 100644 --- a/styles/sass/components/shelf/vtex.flex-layout.scss +++ b/styles/sass/components/shelf/vtex.flex-layout.scss @@ -7,6 +7,10 @@ margin-bottom: 12px; } +.flexColChild--price-container:first-child { + min-height: 24px; +} + .flexCol--shelf-container { padding: 48px 32px { right: 16px; diff --git a/styles/sass/components/shelf/vtex.product-price.scss b/styles/sass/components/shelf/vtex.product-price.scss index 44992bbb..fafd593e 100644 --- a/styles/sass/components/shelf/vtex.product-price.scss +++ b/styles/sass/components/shelf/vtex.product-price.scss @@ -33,6 +33,21 @@ } } +.listPrice--product-card-list-price { + overflow: hidden; + color: #71717A; + text-overflow: ellipsis; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 24px; + letter-spacing: -0.14px; + text-decoration: line-through; + width: 100%; + display: flex; +} + .spotPriceSavingsPercentage--product-summary-price { color: #FF5A00; font-family: 'Roboto'; diff --git a/styles/sass/components/shelf/vtex.store-components.scss b/styles/sass/components/shelf/vtex.store-components.scss new file mode 100644 index 00000000..9528d906 --- /dev/null +++ b/styles/sass/components/shelf/vtex.store-components.scss @@ -0,0 +1,3 @@ +.discountContainer .discountInsideContainer { + display: none; +} \ No newline at end of file From dde8e0cd6c004ddb7bce0d9271e28945710b2439 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Tue, 25 Jun 2024 20:30:38 -0300 Subject: [PATCH 065/310] feat: Update banner images in simple banner component --- .../simple-banner/simple-banner-1.jsonc | 4 +-- styles/css/vtex.flex-layout.css | 25 +++++++++++++------ .../vtex.flex-layout.scss | 6 +++-- .../vtex.rich-text.scss | 4 ++- .../components/shelf/vtex.flex-layout.scss | 3 ++- .../components/shelf/vtex.slider-layout.scss | 15 ++++++++--- styles/sass/pages/home/vtex.flex-layout.scss | 12 +++++++++ 7 files changed, 53 insertions(+), 16 deletions(-) diff --git a/store/blocks/components/simple-banner/simple-banner-1.jsonc b/store/blocks/components/simple-banner/simple-banner-1.jsonc index 6f2bea82..8830f6cd 100644 --- a/store/blocks/components/simple-banner/simple-banner-1.jsonc +++ b/store/blocks/components/simple-banner/simple-banner-1.jsonc @@ -35,7 +35,7 @@ "image#desktop-simple-double-banner-1": { "title": "Imagem", "props": { - "src": "/arquivos/simple-banner-1-desktop.png", + "src": "/arquivos/banner-home-roland.png", "alt": "Banner simples desktop", "link": "#", "blockClass": ["simple-banner-image-1", "desktop"] @@ -53,7 +53,7 @@ "image#mobile-simple-double-banner-1": { "title": "Imagem", "props": { - "src": "/arquivos/simple-banner-1-mobile.png", + "src": "/arquivos/minibanner-roland-home-mobile.png", "alt": "Banner simples mobile", "link": "#", "blockClass": ["simple-banner-image", "mobile"] diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 323eb031..9a687604 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -37,7 +37,9 @@ } @media screen and (max-width: 768px) { .flexRow--explore-our-categories { + padding: 0; padding-top: 34px; + padding-bottom: 32px; } } @@ -91,7 +93,6 @@ .flexCol--explore-our-categories-content { padding: 0 32px; - gap: 32px; max-width: 1376px; box-sizing: content-box; } @@ -184,11 +185,12 @@ .flexCol--shelf-container { padding: 48px 32px; padding-right: 16px; + padding-bottom: 72px; } @media screen and (max-width: 768px) { .flexCol--shelf-container { padding: 16px; - padding-bottom: 32px; + padding-bottom: 54px; padding-right: 8px; } } @@ -232,11 +234,6 @@ gap: 16px; } -.flexRowContent--home-content-container { - max-width: 1440px; - margin: 0 auto; -} - .flexRow--topbar-interactions { max-width: 1440px; position: relative; @@ -524,4 +521,18 @@ background: #fff; top: 0; box-shadow: 0 0 1em #222; +} + +.flexRowContent--home-content-container { + max-width: 1440px; + margin: 0 auto; +} + +.flexRow--main-banner :global(.vtex-store-components-3-x-container) { + max-width: 100%; +} + +.flexRow--shelf-container :global(.vtex-store-components-3-x-container), +.flexRow--main-banner :global(.vtex-store-components-3-x-container) { + padding: 0 !important; } \ No newline at end of file diff --git a/styles/sass/components/explore-our-categories/vtex.flex-layout.scss b/styles/sass/components/explore-our-categories/vtex.flex-layout.scss index a1a1b2bb..4d5d49c4 100644 --- a/styles/sass/components/explore-our-categories/vtex.flex-layout.scss +++ b/styles/sass/components/explore-our-categories/vtex.flex-layout.scss @@ -2,7 +2,10 @@ padding: 48px 0; @media screen and (max-width: 768px) { - padding-top: 34px; + padding: 0 { + top: 34px; + bottom: 32px + } } } @@ -54,7 +57,6 @@ .flexCol--explore-our-categories-content { padding: 0 32px; - gap: 32px; max-width: 1376px; box-sizing: content-box; diff --git a/styles/sass/components/explore-our-categories/vtex.rich-text.scss b/styles/sass/components/explore-our-categories/vtex.rich-text.scss index 293ffd32..7d85dacc 100644 --- a/styles/sass/components/explore-our-categories/vtex.rich-text.scss +++ b/styles/sass/components/explore-our-categories/vtex.rich-text.scss @@ -6,7 +6,9 @@ font-weight: 500; line-height: 40px; letter-spacing: -0.32px; - margin: 0; + margin: 0 { + bottom: 32px; + }; } .container--our-categories-title { diff --git a/styles/sass/components/shelf/vtex.flex-layout.scss b/styles/sass/components/shelf/vtex.flex-layout.scss index 0f1bb0af..c2a48ffe 100644 --- a/styles/sass/components/shelf/vtex.flex-layout.scss +++ b/styles/sass/components/shelf/vtex.flex-layout.scss @@ -14,11 +14,12 @@ .flexCol--shelf-container { padding: 48px 32px { right: 16px; + bottom: 72px; }; @media screen and (max-width: 768px) { padding: 16px { - bottom: 32px; + bottom: 54px; right: 8px; } } diff --git a/styles/sass/components/shelf/vtex.slider-layout.scss b/styles/sass/components/shelf/vtex.slider-layout.scss index e88a08b4..ec16d814 100644 --- a/styles/sass/components/shelf/vtex.slider-layout.scss +++ b/styles/sass/components/shelf/vtex.slider-layout.scss @@ -7,6 +7,10 @@ transition: all 0.1s ease-in-out; width: 42px; height: 42px; + + @media screen and (max-width: 768px) { + width: 32px; + } } @@ -46,19 +50,19 @@ } @media screen and (max-width: 768px) { - right: -8px; + right: -7px; background: url('data:image/svg+xml,')no-repeat !important; width: 32px; height: 32px; } @media screen and (max-width: 768px) { - right: -13px; + right: -7px; } } .paginationDotsContainer--shelf-slider { - bottom: -21px; + bottom: -24px; margin-right: 16px; .paginationDot--shelf-slider { @@ -71,4 +75,9 @@ background: #FF5A00!important; } } + + @media screen and (max-width: 768px) { + bottom: -18px; + margin-right: 0px; + } } \ No newline at end of file diff --git a/styles/sass/pages/home/vtex.flex-layout.scss b/styles/sass/pages/home/vtex.flex-layout.scss index 7d52a9a5..ec8df44b 100644 --- a/styles/sass/pages/home/vtex.flex-layout.scss +++ b/styles/sass/pages/home/vtex.flex-layout.scss @@ -3,3 +3,15 @@ margin: 0 auto; } +.flexRow--main-banner { + :global(.vtex-store-components-3-x-container) { + max-width: 100%; + } +} + +.flexRow--shelf-container, +.flexRow--main-banner { + :global(.vtex-store-components-3-x-container) { + padding: 0!important; + } +} \ No newline at end of file From 013cb30aa09bf0db7021bdffa99925967517f2c8 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 26 Jun 2024 12:15:14 -0300 Subject: [PATCH 066/310] chore: Update font size and content in spotPriceSavingsPercentage component --- styles/sass/components/shelf/vtex.product-price.scss | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/styles/sass/components/shelf/vtex.product-price.scss b/styles/sass/components/shelf/vtex.product-price.scss index fafd593e..bf717f9a 100644 --- a/styles/sass/components/shelf/vtex.product-price.scss +++ b/styles/sass/components/shelf/vtex.product-price.scss @@ -51,9 +51,9 @@ .spotPriceSavingsPercentage--product-summary-price { color: #FF5A00; font-family: 'Roboto'; - font-size: 12px; font-style: normal; font-weight: 600; + font-size: 0; line-height: 16px; padding: 2px 8px; border-radius: 2px; @@ -65,7 +65,9 @@ box-sizing: border-box; &::before { - content: '-' + content: '-10%'; + font-size: 12px; + } @media screen and (max-width: 768px) { From db2d32417b56ab6279650b013477e31c7f3bea9e Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Wed, 26 Jun 2024 19:06:13 -0300 Subject: [PATCH 067/310] chore: Add footer component and styles --- assets/svgs/american-express-icon.svg | 10 + assets/svgs/boleto-icon.svg | 20 ++ assets/svgs/elo-icon.svg | 15 + assets/svgs/facebook-footer-icon.svg | 3 + assets/svgs/instagram-footer-icon.svg | 5 + assets/svgs/logo-b8.svg | 3 + assets/svgs/logo-vtex-light.svg | 9 + assets/svgs/mastercard-icon.svg | 6 + assets/svgs/paga-leve-icon.svg | 15 + assets/svgs/pix-icon.svg | 15 + assets/svgs/seal-icon.svg | 9 + assets/svgs/visa-icon.svg | 4 + assets/svgs/youtube-footer-icon.svg | 4 + store/blocks/pages/home/home.jsonc | 3 +- .../blocks/partials/footer/footer-links.jsonc | 326 ++++++++++++++++++ .../footer/footer-payment-methods.jsonc | 131 +++++++ .../partials/footer/footer-signature.jsonc | 61 ++++ .../partials/footer/footer-talk-to-us.jsonc | 72 ++++ store/blocks/partials/footer/footer.jsonc | 29 ++ styles/configs/font-faces.css | 6 + styles/css/vtex.flex-layout.css | 164 +++++++++ styles/css/vtex.store-components.css | 5 + styles/css/vtex.store-link.css | 74 +++- .../partials/footer/vtex.flex-layout.scss | 172 +++++++++ styles/sass/partials/footer/vtex.menu.scss | 35 ++ .../sass/partials/footer/vtex.rich-text.scss | 89 +++++ .../footer/vtex.store-components.scss | 4 + .../partials/footer/vtex.store-footer.scss | 46 +++ .../sass/partials/footer/vtex.store-link.scss | 48 +++ 29 files changed, 1366 insertions(+), 17 deletions(-) create mode 100644 assets/svgs/american-express-icon.svg create mode 100644 assets/svgs/boleto-icon.svg create mode 100644 assets/svgs/elo-icon.svg create mode 100644 assets/svgs/facebook-footer-icon.svg create mode 100644 assets/svgs/instagram-footer-icon.svg create mode 100644 assets/svgs/logo-b8.svg create mode 100644 assets/svgs/logo-vtex-light.svg create mode 100644 assets/svgs/mastercard-icon.svg create mode 100644 assets/svgs/paga-leve-icon.svg create mode 100644 assets/svgs/pix-icon.svg create mode 100644 assets/svgs/seal-icon.svg create mode 100644 assets/svgs/visa-icon.svg create mode 100644 assets/svgs/youtube-footer-icon.svg create mode 100644 store/blocks/partials/footer/footer-links.jsonc create mode 100644 store/blocks/partials/footer/footer-payment-methods.jsonc create mode 100644 store/blocks/partials/footer/footer-signature.jsonc create mode 100644 store/blocks/partials/footer/footer-talk-to-us.jsonc create mode 100644 store/blocks/partials/footer/footer.jsonc create mode 100644 styles/sass/partials/footer/vtex.flex-layout.scss create mode 100644 styles/sass/partials/footer/vtex.menu.scss create mode 100644 styles/sass/partials/footer/vtex.rich-text.scss create mode 100644 styles/sass/partials/footer/vtex.store-components.scss create mode 100644 styles/sass/partials/footer/vtex.store-footer.scss create mode 100644 styles/sass/partials/footer/vtex.store-link.scss diff --git a/assets/svgs/american-express-icon.svg b/assets/svgs/american-express-icon.svg new file mode 100644 index 00000000..a8eb12f6 --- /dev/null +++ b/assets/svgs/american-express-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/svgs/boleto-icon.svg b/assets/svgs/boleto-icon.svg new file mode 100644 index 00000000..563caf41 --- /dev/null +++ b/assets/svgs/boleto-icon.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/assets/svgs/elo-icon.svg b/assets/svgs/elo-icon.svg new file mode 100644 index 00000000..b4bf0edc --- /dev/null +++ b/assets/svgs/elo-icon.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/svgs/facebook-footer-icon.svg b/assets/svgs/facebook-footer-icon.svg new file mode 100644 index 00000000..c3fdf34b --- /dev/null +++ b/assets/svgs/facebook-footer-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/svgs/instagram-footer-icon.svg b/assets/svgs/instagram-footer-icon.svg new file mode 100644 index 00000000..94b2c455 --- /dev/null +++ b/assets/svgs/instagram-footer-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/svgs/logo-b8.svg b/assets/svgs/logo-b8.svg new file mode 100644 index 00000000..fd94f955 --- /dev/null +++ b/assets/svgs/logo-b8.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/svgs/logo-vtex-light.svg b/assets/svgs/logo-vtex-light.svg new file mode 100644 index 00000000..f555e1a8 --- /dev/null +++ b/assets/svgs/logo-vtex-light.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/svgs/mastercard-icon.svg b/assets/svgs/mastercard-icon.svg new file mode 100644 index 00000000..1ee68f5a --- /dev/null +++ b/assets/svgs/mastercard-icon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/assets/svgs/paga-leve-icon.svg b/assets/svgs/paga-leve-icon.svg new file mode 100644 index 00000000..e7aca4e2 --- /dev/null +++ b/assets/svgs/paga-leve-icon.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/svgs/pix-icon.svg b/assets/svgs/pix-icon.svg new file mode 100644 index 00000000..d2b7479f --- /dev/null +++ b/assets/svgs/pix-icon.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/svgs/seal-icon.svg b/assets/svgs/seal-icon.svg new file mode 100644 index 00000000..128a4749 --- /dev/null +++ b/assets/svgs/seal-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/svgs/visa-icon.svg b/assets/svgs/visa-icon.svg new file mode 100644 index 00000000..177f5bd3 --- /dev/null +++ b/assets/svgs/visa-icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/assets/svgs/youtube-footer-icon.svg b/assets/svgs/youtube-footer-icon.svg new file mode 100644 index 00000000..2f2ae8cf --- /dev/null +++ b/assets/svgs/youtube-footer-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/store/blocks/pages/home/home.jsonc b/store/blocks/pages/home/home.jsonc index 7638977d..c8c75a86 100644 --- a/store/blocks/pages/home/home.jsonc +++ b/store/blocks/pages/home/home.jsonc @@ -14,7 +14,8 @@ "blockClass": "home" }, "parent": { - "header": "header" + "header": "header", + "footer": "flex-layout.row#footer-roland" } }, "flex-layout.row#main-banner": { diff --git a/store/blocks/partials/footer/footer-links.jsonc b/store/blocks/partials/footer/footer-links.jsonc new file mode 100644 index 00000000..3e3d87b8 --- /dev/null +++ b/store/blocks/partials/footer/footer-links.jsonc @@ -0,0 +1,326 @@ +{ + "flex-layout.row#footer-main-links": { + "title": "Links Principais do Footer", + "props": { + "blockClass": "footer-main-links" + }, + "children": [ + "vtex.menu@2.x:menu#institucional", + "vtex.menu@2.x:menu#support", + "vtex.menu@2.x:menu#categories", + "flex-layout.col#talk-to-us", + "image#logo-roland" + ] + }, + "vtex.menu@2.x:menu#institucional": { + "title": "Menu Institucional", + "props": { + "orientation": "vertical", + "blockClass": "footer-menu-links", + "items": [ + { + "id": "institucional-root", + "type": "custom", + "highlight": true, + "itemProps": { + "type": "internal", + "href": "#", + "noFollow": false, + "tagTitle": "institucional", + "text": "Institucional" + } + }, + { + "id": "quem-somos", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/quem-somos", + "noFollow": false, + "tagTitle": "Quem somos", + "text": "Quem Somos" + } + }, + { + "id": "blog", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "http://blog.rolandbrasil.com.br/", + "noFollow": false, + "tagTitle": "Blog", + "text": "Blog" + } + }, + { + "id": "onde-encontrar", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "https://www.roland.com/br/dealer_locator/", + "noFollow": false, + "tagTitle": "Onde encontrar", + "text": "Onde encontrar" + } + }, + { + "id": "nossas-lojas", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "https://www.roland.com/br/roland-stores/moema/", + "noFollow": false, + "tagTitle": "Nossas lojas", + "text": "Nossas Lojas" + } + } + ] + } + }, + "vtex.menu@2.x:menu#support": { + "title": "Menu Suporte", + "props": { + "orientation": "vertical", + "blockClass": "footer-menu-links", + "items": [ + { + "id": "support-root", + "type": "custom", + "highlight": true, + "itemProps": { + "type": "internal", + "href": "#", + "noFollow": false, + "tagTitle": "Suporte", + "text": "Suporte" + } + }, + { + "id": "trocas-e-devolucoes", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/central-de-ajuda/devolucao-e-garantia", + "noFollow": false, + "tagTitle": "Trocas e devoluções", + "text": "Trocas e devoluções" + } + }, + { + "id": "garantias", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/central-de-ajuda/devolucao-e-garantia", + "noFollow": false, + "tagTitle": "Garantias", + "text": "Garantias" + } + }, + { + "id": "assistencia-tecnica", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/central-de-ajuda/assistencia-tecnica", + "noFollow": false, + "tagTitle": "Assistência técnica", + "text": "Assistência técnica" + } + }, + { + "id": "politica-de-privacidade", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "https://www.roland.com/br/privacy/", + "noFollow": false, + "tagTitle": "Política de privacidade", + "text": "Política de privacidade" + } + }, + { + "id": "documentos-e-manuais", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "https://www.roland.com/br/support/owners_manuals/", + "noFollow": false, + "tagTitle": "Documentos e manuais", + "text": "Documentos e manuais" + } + }, + { + "id": "termos-de-uso", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "https://www.roland.com/br/termos_de_uso/", + "noFollow": false, + "tagTitle": "Termos de uso", + "text": "Termos de uso" + } + }, + { + "id": "portal-do-titular", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "https://www.roland.com/br/portal_do_titular/", + "noFollow": false, + "tagTitle": "Portal do titular", + "text": "Portal do titular" + } + }, + { + "id": "perguntas-frequentes", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/institucional-central-faq", + "noFollow": false, + "tagTitle": "Perguntas Frequentes", + "text": "Perguntas Frequentes" + } + } + ] + } + }, + "vtex.menu@2.x:menu#categories": { + "title": "Menu Categorias", + "props": { + "orientation": "vertical", + "blockClass": "footer-menu-links", + "items": [ + { + "id": "categories-root", + "type": "custom", + "highlight": true, + "itemProps": { + "type": "internal", + "href": "#", + "noFollow": false, + "tagTitle": "Categorias", + "text": "Categorias" + } + }, + { + "id": "teclados", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/roland/teclados", + "noFollow": false, + "tagTitle": "Teclados", + "text": "Teclados" + } + }, + { + "id": "pianos", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/roland/pianos", + "noFollow": false, + "tagTitle": "Pianos", + "text": "Pianos" + } + }, + { + "id": "baterias-e-percussao", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/roland/baterias-e-percussao", + "noFollow": false, + "tagTitle": "Batérias e Percussão", + "text": "Batérias e Percussão" + } + }, + { + "id": "dance-dj", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/roland/dance-&-dj", + "noFollow": false, + "tagTitle": "Dance & DJ", + "text": "Dance & DJ" + } + }, + { + "id": "producao-musical", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/roland/producao-musical", + "noFollow": false, + "tagTitle": "Produção musical", + "text": "Produção musical" + } + }, + { + "id": "amplificadores", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/roland/amplificadores", + "noFollow": false, + "tagTitle": "Amplificadores", + "text": "Amplificadores" + } + }, + { + "id": "audio-e-video", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/roland/audio-e-video", + "noFollow": false, + "tagTitle": "Áudio e vídeo", + "text": "Áudio e vídeo" + } + }, + { + "id": "fones-de-ouvido", + "type": "custom", + "highlight": false, + "itemProps": { + "type": "internal", + "href": "/roland/fones-de-ouvido", + "noFollow": false, + "tagTitle": "Fones de ouvidos", + "text": "Fones de ouvidos" + } + } + ] + } + }, + "image#logo-roland": { + "title": "Logo Roland footer", + "props": { + "src": "assets/svgs/roland-logo.svg", + "blockClass": ["logo-footer"], + "link": "/" + } + } +} \ No newline at end of file diff --git a/store/blocks/partials/footer/footer-payment-methods.jsonc b/store/blocks/partials/footer/footer-payment-methods.jsonc new file mode 100644 index 00000000..b467e585 --- /dev/null +++ b/store/blocks/partials/footer/footer-payment-methods.jsonc @@ -0,0 +1,131 @@ +{ + "flex-layout.row#payment-methods-and-security": { + "title": "Formas de Pagamento e Segurança", + "props": { + "blockClass": "payment-methods-and-security-wrapper", + "preventVerticalStretch": true, + "preventHorizontalStretch": true + }, + "children": [ + "flex-layout.row#payment-methods", + "flex-layout.row#seals-and-security" + ] + }, + "flex-layout.row#payment-methods": { + "title": "Formas de pagamentos", + "props": { + "blockClass": "payment-methods", + "preventVerticalStretch": true, + "preventHorizontalStretch": true + }, + "children":[ + "rich-text#payment-methods", + "flex-layout.row#icons" + ] + }, + "flex-layout.row#icons": { + "title": "Ícones", + "props": { + "blockClass": "icons", + "preventVerticalStretch": true, + "preventHorizontalStretch": true + }, + "children": [ + "image#mastercard", + "image#visa", + "image#american-express", + "image#elo", + "image#paga-leve", + "image#pix", + "image#boleto" + ] + }, + "flex-layout.row#seals-and-security": { + "title": "Selos e Segurança", + "props": { + "blockClass": "seals-and-security", + "preventVerticalStretch": true, + "preventHorizontalStretch": true + }, + "children": ["rich-text#seals-and-security", "image#seal" + ] + }, + "rich-text#payment-methods": { + "title": "Texto: Formas de Pagamento", + "props": { + "text": "Pague com", + "blockClass": "payment-methods-title" + } + }, + "rich-text#seals-and-security": { + "title": "Texto: Selos e Segurança", + "props": { + "text": "Selos e Segurança", + "blockClass": "seals-and-security-title" + } + }, + "image#seal": { + "title": "Selos", + "props": { + "src": "assets/svgs/seal-icon.svg", + "alt": "Selos", + "blockClass": "seal" + } + }, + "image#mastercard": { + "title": "Mastercard", + "props": { + "src": "assets/svgs/mastercard-icon.svg", + "alt": "Mastercard", + "blockClass": "payment-method" + } + }, + "image#visa": { + "title": "Visa", + "props": { + "src": "assets/svgs/visa-icon.svg", + "alt": "Visa", + "blockClass": "payment-method" + } + }, + "image#american-express": { + "title": "American Express", + "props": { + "src": "assets/svgs/american-express-icon.svg", + "alt": "American Express", + "blockClass": "payment-method" + } + }, + "image#elo": { + "title": "Elo", + "props": { + "src": "assets/svgs/elo-icon.svg", + "alt": "Elo", + "blockClass": "payment-method" + } + }, + "image#paga-leve": { + "title": "Paga Leve", + "props": { + "src": "assets/svgs/paga-leve-icon.svg", + "alt": "Paga Leve", + "blockClass": "payment-method" + } + }, + "image#pix": { + "title": "Pix", + "props": { + "src": "assets/svgs/pix-icon.svg", + "alt": "Pix", + "blockClass": "payment-method" + } + }, + "image#boleto": { + "title": "Boleto", + "props": { + "src": "assets/svgs/boleto-icon.svg", + "alt": "Boleto", + "blockClass": "payment-method" + } + } +} \ No newline at end of file diff --git a/store/blocks/partials/footer/footer-signature.jsonc b/store/blocks/partials/footer/footer-signature.jsonc new file mode 100644 index 00000000..a22df208 --- /dev/null +++ b/store/blocks/partials/footer/footer-signature.jsonc @@ -0,0 +1,61 @@ +{ + "flex-layout.row#signature": { + "title": "Assinatura", + "props": { + "blockClass": "signature-wrapper", + "preventVerticalStretch": true, + "preventHorizontalStretch": true + }, + "children": ["rich-text#signature", "flex-layout.row#technology-partners"] + }, + "rich-text#signature": { + "title": "Contetudo da assinatura", + "props": { + "blockClass": "signature-text", + "text": "Ⓒ 2024 ROLAND BRASIL. ROLAND BRASIL IMP. EXP. COM. REPOR. E SERVIÇOS LTDA. CNPJ: 67.070.268/0002-51" + } + }, + "flex-layout.row#technology-partners": { + "title": "Parceiros de Tecnologia", + "props": { + "blockClass": "technology-partners-wrapper", + "preventVerticalStretch": true, + "preventHorizontalStretch": true + }, + "children": [ + "rich-text#developed-by", + "image#b8one-logo", + "rich-text#technology", + "image#vtex-logo" + ] + }, + "rich-text#developed-by": { + "title": "Texto: Feito por", + "props": { + "blockClass": "developed-by", + "text": "Feito por" + } + }, + "image#b8one-logo": { + "title": "Logo: B8One", + "props": { + "src": "assets/svgs/logo-b8.svg", + "link": "https://www.b8one.com/pt-BR", + "blockClass": "b8one-logo" + } + }, + "rich-text#technology": { + "title": "Texto: Tecnologia", + "props": { + "blockClass": "technology", + "text": "Tecnologia" + } + }, + "image#vtex-logo": { + "title": "Logo: VTEX", + "props": { + "src": "assets/svgs/logo-vtex-light.svg", + "blockClass": "vtex-logo" + } + } +} \ No newline at end of file diff --git a/store/blocks/partials/footer/footer-talk-to-us.jsonc b/store/blocks/partials/footer/footer-talk-to-us.jsonc new file mode 100644 index 00000000..ae636d0e --- /dev/null +++ b/store/blocks/partials/footer/footer-talk-to-us.jsonc @@ -0,0 +1,72 @@ +{ + "flex-layout.col#talk-to-us": { + "title": "Fale Conosco", + "props": { + "blockClass": "talk-to-us", + "preventVerticalStretch": true + }, + "children": [ + "rich-text#talk-to-us", + "link#footer-help-center", + "link#backstage", + "rich-text#phone", + "rich-text#opening-hours", + "social-networks#roland" + ] + }, + "rich-text#talk-to-us": { + "title": "Texto: Fale Conosco", + "props": { + "text": "Fale Conosco", + "blockClass": "talk-to-us-title" + } + }, + "link#footer-help-center": { + "title": "Link: Central de Ajuda", + "props": { + "label": "Central de Ajuda", + "href": "/central-de-ajuda", + "blockClass": ["footer-help-center", "talk-to-us-link"] + } + }, + "link#backstage": { + "title": "Link: Backstage", + "props": { + "label": "Backstage", + "href": "https://www.roland.com/backstage/login", + "blockClass": ["backstage", "talk-to-us-link"] + } + }, + "rich-text#phone": { + "title": "Texto: Telefone", + "props": { + "text": "(00) 00000-0000", + "blockClass": "phone" + } + }, + "rich-text#opening-hours": { + "title": "Texto: Horário de Funcionamento", + "props": { + "text": "**Horário de Funcionamento:** \n De segunda à sabado, \ndas 09h as 19:30h.", + "blockClass": "opening-hours" + } + }, + "social-networks#roland": { + "props": { + "socialNetworks": [ + { + "url": "https://www.instagram.com/roland_brasil/", + "name": "Instagram" + }, + { + "url": "https://www.youtube.com/user/CanalRolandBrasil", + "name": "Youtube" + }, + { + "url": "https://web.facebook.com/RolandBrasilOficial?_rdc=1&_rdr", + "name": "Facebook" + } + ] + } + } +} \ No newline at end of file diff --git a/store/blocks/partials/footer/footer.jsonc b/store/blocks/partials/footer/footer.jsonc new file mode 100644 index 00000000..10fbb4d1 --- /dev/null +++ b/store/blocks/partials/footer/footer.jsonc @@ -0,0 +1,29 @@ +{ + "flex-layout.row#footer-roland": { + "title": "Footer Roland", + "props": { + "blockClass": "footer" + }, + "children": [ + "flex-layout.col#footer-layout" + ] + }, + "flex-layout.col#footer-layout": { + "title": "Layout do Footer", + "props": { + "blockClass": "footer-layout" + }, + "children": [ + "flex-layout.row#wrapper-main", + "flex-layout.row#payment-methods-and-security", + "flex-layout.row#signature" + ] + }, + "flex-layout.row#wrapper-main": { + "title": "Wrapper Principal", + "props": { + "blockClass": "wrapper-main" + }, + "children": ["flex-layout.row#footer-main-links"] + } +} \ No newline at end of file diff --git a/styles/configs/font-faces.css b/styles/configs/font-faces.css index 705e5462..760d2343 100644 --- a/styles/configs/font-faces.css +++ b/styles/configs/font-faces.css @@ -3,6 +3,12 @@ src: url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap'); } +@font-face { + font-family: 'Work Sans', sans-serif; + src: url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap'); + +} + @font-face { font-family: 'Oxygen', sans-serif; src: url('https://fonts.googleapis.com/css2?family=Oxygen&display=swap'); diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 9a687604..fb618ba9 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -234,6 +234,170 @@ gap: 16px; } +.flexRow--footer { + background: #000; + padding: 32px 0; +} +.flexRow--footer :global(.vtex-store-components-3-x-container) { + max-width: 100%; + padding: 0; +} +.flexRow--footer .flexRow--wrapper-main, +.flexRow--footer .flexRow--payment-methods-and-security-wrapper, +.flexRow--footer .flexRowContent--signature-wrapper { + max-width: 1440px; + padding: 0 32px; + width: 100%; + margin: 0 auto; +} +@media screen and (max-width: 639px) { + .flexRow--footer .flexRow--wrapper-main, + .flexRow--footer .flexRow--payment-methods-and-security-wrapper, + .flexRow--footer .flexRowContent--signature-wrapper { + padding: 0 24px; + } +} +.flexRow--footer .socialNetworkWrapper::before { + content: "Nos siga nas redes sociais"; + color: #FFF; + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; + margin-bottom: 24px; + display: block; +} +.flexRow--footer .socialNetworkWrapper .socialNetworksContainer { + gap: 24px; +} +.flexRow--footer .socialNetworkWrapper .socialNetworksContainer .socialNetworkLink { + height: 32px; + min-width: 32px; + margin: 0; +} +.flexRow--footer .socialNetworkWrapper .socialNetworksContainer .socialNetworkLink--facebook { + background: url("assets/svgs/facebook-footer-icon.svg"); + background-repeat: no-repeat; + background-position: center; +} +.flexRow--footer .socialNetworkWrapper .socialNetworksContainer .socialNetworkLink--youtube { + background: url("assets/svgs/youtube-footer-icon.svg"); + background-repeat: no-repeat; + background-position: center; +} +.flexRow--footer .socialNetworkWrapper .socialNetworksContainer .socialNetworkLink--instagram { + background: url("assets/svgs/instagram-footer-icon.svg"); + background-repeat: no-repeat; + background-position: center; +} +.flexRow--footer .socialNetworkWrapper .socialNetworkImage { + display: none; +} + +.flexRow--signature-wrapper { + border-top: 1px solid #3F3C3C; + padding-top: 24px; + margin-top: 24px; +} + +.flexRowContent--technology-partners-wrapper { + justify-content: flex-end; + align-items: center; +} +@media screen and (max-width: 639px) { + .flexRowContent--technology-partners-wrapper { + display: flex; + justify-content: flex-start; + margin-top: 32px; + } +} + +.flexRowContent--signature-wrapper { + justify-content: space-between; +} + +.flexRowContent--footer-main-links { + position: relative; +} +@media screen and (max-width: 639px) { + .flexRowContent--footer-main-links { + padding-bottom: 58px; + } +} +.flexRowContent--footer-main-links .stretchChildrenWidth { + width: 33% !important; +} +@media screen and (max-width: 639px) { + .flexRowContent--footer-main-links .stretchChildrenWidth { + width: 100% !important; + } +} +.flexRowContent--footer-main-links .stretchChildrenWidth:last-child { + width: fit-content !important; + position: absolute; + left: 0; + bottom: 0; +} + +.flexRow--payment-methods { + display: flex; + align-items: center; + justify-content: center; +} + +.flexRow--payment-methods-and-security-wrapper { + margin-top: 32px; + margin-bottom: 24px; +} + +.flexRowContent--payment-methods { + align-items: center; +} +@media screen and (max-width: 808px) { + .flexRowContent--payment-methods { + flex-wrap: wrap; + display: flex; + } +} +@media screen and (max-width: 639px) { + .flexRowContent--payment-methods { + flex-direction: column; + align-items: flex-start; + margin-top: 32px; + } + .flexRowContent--payment-methods .flexRowContent--icons { + display: flex; + flex-wrap: wrap; + } +} + +.flexRowContent--seals-and-security { + align-items: center; +} +@media screen and (max-width: 639px) { + .flexRowContent--seals-and-security { + display: flex; + margin-top: 16px; + } +} + +.flexRowContent--payment-methods, +.flexRowContent--seals-and-security, +.flexRowContent--icons { + gap: 16px; +} + +.flexRowContent--payment-methods-and-security-wrapper { + justify-content: space-between; +} +@media screen and (min-width: 639px) { + .flexRowContent--payment-methods-and-security-wrapper { + margin-top: 32px; + } +} + .flexRow--topbar-interactions { max-width: 1440px; position: relative; diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index bf480c7c..9f59aef5 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -161,6 +161,11 @@ width: 100%; } +.imageElement--payment-method { + width: 48px; + height: 34px; +} + :global(.vtex-store-header-2-x-headerStickyRow) .container { width: 100%; max-width: 100%; diff --git a/styles/css/vtex.store-link.css b/styles/css/vtex.store-link.css index f7db3e0f..28cd1f52 100644 --- a/styles/css/vtex.store-link.css +++ b/styles/css/vtex.store-link.css @@ -9,25 +9,46 @@ /* Colors */ @import url("https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;600;700;800;900&display=swap"); /* Grid breakpoints */ -.link--section-title { +.link--talk-to-us-link { + display: flex; + align-items: center; + justify-content: center; + padding: 10px 0; + height: 20px; + max-width: 157px; + border-radius: 2px; + background: #FFF; + box-sizing: content-box; + color: #18181B; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; text-decoration: none; - margin-right: 17px; } -@media screen and (max-width: 768px) { - .link--section-title { - margin-right: 8px; - } +.link--talk-to-us-link:first-child { + margin-bottom: 8px; } - -.label--section-title { - color: #000; - text-align: right; - font-family: "Proxima Nova"; - font-size: 16px; - font-style: normal; - font-weight: 600; - line-height: 24px; - letter-spacing: -0.16px; +.link--talk-to-us-link .label--footer-help-center, +.link--talk-to-us-link .label--backstage { + display: flex; + justify-content: center; + align-items: center; + gap: 8px; +} +.link--talk-to-us-link .label--footer-help-center::before, +.link--talk-to-us-link .label--backstage::before { + width: 16px; + height: 16px; + display: block; +} +.link--talk-to-us-link .label--footer-help-center::before { + content: url('data:image/svg+xml,'); +} +.link--talk-to-us-link .label--backstage::before { + content: url('data:image/svg+xml,'); } .link--help-center { @@ -95,4 +116,25 @@ width: 20px; height: 20px; display: block; +} + +.link--section-title { + text-decoration: none; + margin-right: 17px; +} +@media screen and (max-width: 768px) { + .link--section-title { + margin-right: 8px; + } +} + +.label--section-title { + color: #000; + text-align: right; + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 24px; + letter-spacing: -0.16px; } \ No newline at end of file diff --git a/styles/sass/partials/footer/vtex.flex-layout.scss b/styles/sass/partials/footer/vtex.flex-layout.scss new file mode 100644 index 00000000..cbf7e0f4 --- /dev/null +++ b/styles/sass/partials/footer/vtex.flex-layout.scss @@ -0,0 +1,172 @@ +.flexRow--footer { + background: #000; + padding: 32px 0; + + :global(.vtex-store-components-3-x-container) { + max-width: 100%; + padding: 0; + } + + .flexRow--wrapper-main, + .flexRow--payment-methods-and-security-wrapper, + .flexRowContent--signature-wrapper { + max-width: 1440px; + padding: 0 32px; + width: 100%; + margin: 0 auto; + + @media screen and (max-width: 639px) { + padding: 0 24px + } + } + + .socialNetworkWrapper { + + &::before { + content: "Nos siga nas redes sociais"; + color: #FFF; + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; + margin-bottom: 24px; + display: block; + } + + .socialNetworksContainer { + gap: 24px; + + .socialNetworkLink { + height: 32px; + min-width: 32px; + margin: 0; + + &--facebook { + background: url('assets/svgs/facebook-footer-icon.svg'); + background-repeat: no-repeat; + background-position: center; + + } + + &--youtube { + background: url('assets/svgs/youtube-footer-icon.svg'); + background-repeat: no-repeat; + background-position: center; + } + + &--instagram { + background: url('assets/svgs/instagram-footer-icon.svg'); + background-repeat: no-repeat; + background-position: center; + } + } + } + + .socialNetworkImage { + display: none; + } + } +} + +.flexRow--signature-wrapper { + border-top: 1px solid #3F3C3C; + padding-top: 24px; + margin-top: 24px; +} + +.flexRowContent--technology-partners-wrapper { + justify-content: flex-end; + align-items: center; + + @media screen and (max-width: 639px) { + display: flex; + justify-content: flex-start; + margin-top: 32px; + } +} + +.flexRowContent--signature-wrapper { + justify-content: space-between; +} + +.flexRowContent--footer-main-links { + position: relative; + + @media screen and (max-width: 639px) { + padding-bottom: 58px; + } + + + .stretchChildrenWidth { + width: 33%!important; + + @media screen and (max-width: 639px) { + width: 100%!important; + } + + + &:last-child { + width: fit-content !important; + position: absolute; + left: 0; + bottom: 0; + } + } +} + +.flexRow--payment-methods { + display: flex; + align-items: center; + justify-content: center; +} + +.flexRow--payment-methods-and-security-wrapper { + margin-top: 32px; + margin-bottom: 24px; +} + +.flexRowContent--payment-methods { + align-items: center; + @media screen and (max-width: 808px) { + flex-wrap: wrap; + display: flex; + } + + @media screen and (max-width: 639px) { + flex-direction: column; + align-items: flex-start; + margin-top: 32px; + + .flexRowContent--icons { + display: flex; + flex-wrap: wrap; + } + } +} + +.flexRowContent--seals-and-security { + align-items: center; + @media screen and (max-width: 639px) { + display: flex; + margin-top: 16px; + } +} + +.flexRowContent--payment-methods, +.flexRowContent--seals-and-security, +.flexRowContent--icons { + gap: 16px; + // align-items: center; +} + + +.flexRowContent--payment-methods-and-security-wrapper { + justify-content: space-between; + + @media screen and (min-width: 639px) { + margin-top: 32px; + + } +} diff --git a/styles/sass/partials/footer/vtex.menu.scss b/styles/sass/partials/footer/vtex.menu.scss new file mode 100644 index 00000000..7f58bb75 --- /dev/null +++ b/styles/sass/partials/footer/vtex.menu.scss @@ -0,0 +1,35 @@ +.menuContainerNav--footer-menu-links { + .styledLinkContent--footer-menu-links, + .styledLink--highlight { + color: #FFF; + font-family: "Proxima Nova"; + font-style: normal; + } + + .styledLinkContent--footer-menu-links { + font-size: 14px; + line-height: 20px; + letter-spacing: -0.14px; + margin-bottom: 12px; + font-weight: 500; + + &:hover { + color: $color-orange + } + + } + + .styledLink--highlight .styledLinkContent { + font-size: 16px; + line-height: 24px; + letter-spacing: -0.16px; + font-weight: 600; + margin-bottom: 8px; + cursor: default; + pointer-events: none; + + &:hover { + color: #FFF; + } + } +} \ No newline at end of file diff --git a/styles/sass/partials/footer/vtex.rich-text.scss b/styles/sass/partials/footer/vtex.rich-text.scss new file mode 100644 index 00000000..cfd34fd1 --- /dev/null +++ b/styles/sass/partials/footer/vtex.rich-text.scss @@ -0,0 +1,89 @@ +@import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap'); + +.wrapper--signature-text { + .paragraph { + color: #FFF; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + text-transform: uppercase; + margin: 0; + } +} + +.paragraph--talk-to-us-title { + color: #FFF; + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 24px; + letter-spacing: -0.16px; + margin: 0 { + bottom: 24px; + }; +} + +.wrapper--developed-by, +.wrapper--technology { + .paragraph { + margin: 0 { + right: 9px; + }; + color: #FFF; + font-family: 'Work Sans'; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 16px; + } +} + +.wrapper--technology { + margin-left: 24px; +} + +.paragraph--phone { + color: #FFF; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + display: flex; + align-items: center; + gap: 12px; + + &::before { + content: url('data:image/svg+xml,'); + width: 20px; + height: 20px; + display: block; + } +} + +.paragraph--opening-hours { + color:#FFF; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; +} + +.paragraph--payment-methods-title, +.paragraph--seals-and-security-title { + color: #FFF; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + margin: 0; +} \ No newline at end of file diff --git a/styles/sass/partials/footer/vtex.store-components.scss b/styles/sass/partials/footer/vtex.store-components.scss new file mode 100644 index 00000000..f7a6370d --- /dev/null +++ b/styles/sass/partials/footer/vtex.store-components.scss @@ -0,0 +1,4 @@ +.imageElement--payment-method { + width: 48px; + height: 34px; +} \ No newline at end of file diff --git a/styles/sass/partials/footer/vtex.store-footer.scss b/styles/sass/partials/footer/vtex.store-footer.scss new file mode 100644 index 00000000..178ff4e0 --- /dev/null +++ b/styles/sass/partials/footer/vtex.store-footer.scss @@ -0,0 +1,46 @@ +.socialNetworkWrapper { + + &::before { + content: "Nos siga nas redes sociais"; + color: #FFF; + font-family: "Proxima Nova"; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.16px; + margin-bottom: 24px; + display: block; + } + .socialNetworksContainer { + gap: 24px; + .socialNetworkLink { + height: 32px; + min-width: 32px; + margin: 0; + + &--facebook { + background: url('assets/svgs/facebook-footer-icon.svg'); + background-repeat: no-repeat; + background-position: center; + + } + + &--youtube { + background: url('assets/svgs/youtube-footer-icon.svg'); + background-repeat: no-repeat; + background-position: center; + } + + &--instagram { + background: url('assets/svgs/instagram-footer-icon.svg'); + background-repeat: no-repeat; + background-position: center; + } + } + } + + .socialNetworkImage { + display: none; + } +} \ No newline at end of file diff --git a/styles/sass/partials/footer/vtex.store-link.scss b/styles/sass/partials/footer/vtex.store-link.scss new file mode 100644 index 00000000..96009549 --- /dev/null +++ b/styles/sass/partials/footer/vtex.store-link.scss @@ -0,0 +1,48 @@ +.link--talk-to-us-link { + display: flex; + align-items: center; + justify-content: center; + padding: 10px 0; + height: 20px; + max-width: 157px; + border-radius: 2px; + background:#FFF; + box-sizing: content-box; + color:#18181B; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: -0.14px; + text-decoration: none; + + &:first-child { + margin-bottom: 8px; + } + + .label--footer-help-center, + .label--backstage { + display: flex; + justify-content: center; + align-items: center; + gap: 8px; + &::before { + width: 16px; + height: 16px; + display: block; + } + } + + .label--footer-help-center { + &::before { + content: url('data:image/svg+xml,'); + } + } + + .label--backstage { + &::before { + content: url('data:image/svg+xml,'); + } + } +} \ No newline at end of file From 1616c039d07ff09edea8d1dadf626a1bc1afd5ef Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 27 Jun 2024 12:47:31 -0300 Subject: [PATCH 068/310] chore: Update menu button background image and fix top bar position on tablet --- react/components/Menu/components/MenuContent/styles.css | 1 + styles/sass/partials/header/vtex.flex-layout.scss | 4 ++-- styles/sass/partials/header/vtex.store-components.scss | 4 ++++ styles/sass/partials/header/vtex.store-link.scss | 2 -- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/react/components/Menu/components/MenuContent/styles.css b/react/components/Menu/components/MenuContent/styles.css index 750c5c74..1c42d261 100644 --- a/react/components/Menu/components/MenuContent/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -77,6 +77,7 @@ .menuButton { background: transparent; background-image: url('data:image/svg+xml,'); + background-repeat: no-repeat; width: 21px; height: 21px; border: none; diff --git a/styles/sass/partials/header/vtex.flex-layout.scss b/styles/sass/partials/header/vtex.flex-layout.scss index ce6cd61a..3ee8bccd 100644 --- a/styles/sass/partials/header/vtex.flex-layout.scss +++ b/styles/sass/partials/header/vtex.flex-layout.scss @@ -60,8 +60,8 @@ } .flexRow--topbar-wrapper { - @media screen and (max-width: 768px) { - width: 100%; + @media screen and (max-width: 1024px) { + width: 100%; } } diff --git a/styles/sass/partials/header/vtex.store-components.scss b/styles/sass/partials/header/vtex.store-components.scss index 9f15db74..483b03a6 100644 --- a/styles/sass/partials/header/vtex.store-components.scss +++ b/styles/sass/partials/header/vtex.store-components.scss @@ -34,6 +34,10 @@ background: #FFF; margin: unset; + @media screen and (max-width: 1024px) { + max-width: 100%; + } + .searchBarIcon--search-bar { background-image: url('assets/svgs/search-icon.svg'); diff --git a/styles/sass/partials/header/vtex.store-link.scss b/styles/sass/partials/header/vtex.store-link.scss index 9d3f2ca9..42e68c4d 100644 --- a/styles/sass/partials/header/vtex.store-link.scss +++ b/styles/sass/partials/header/vtex.store-link.scss @@ -42,7 +42,6 @@ } &-roland { - .label--link-roland { font-size: 0; background-image: url('assets/svgs/roland-button.svg'); @@ -51,7 +50,6 @@ } &-boss { - .label--link-boss { font-size: 0; background-image: url('assets/svgs/boss-button.svg'); From aef51be00f10640e19de0fb42b864eb978560aca Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:04:58 -0300 Subject: [PATCH 069/310] feat: Add back-to-top button to home page --- store/blocks/pages/home/home.jsonc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/store/blocks/pages/home/home.jsonc b/store/blocks/pages/home/home.jsonc index c8c75a86..96f0f20f 100644 --- a/store/blocks/pages/home/home.jsonc +++ b/store/blocks/pages/home/home.jsonc @@ -8,6 +8,7 @@ "flex-layout.row#simple-shelf-container-1", "flex-layout.row#simple-double-banner", "flex-layout.row#blog-posts", + "back-to-top-button#home", "flex-layout.row#newsletter" ], "props": { @@ -18,6 +19,11 @@ "footer": "flex-layout.row#footer-roland" } }, + "back-to-top-button#home": { + "props":{ + "displayThreshold": 800 + } + }, "flex-layout.row#main-banner": { "title": "Banner Principal", "props": { From e3bb0721907c361c6a2467d30942277bbd0d0ceb Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 27 Jun 2024 14:12:16 -0300 Subject: [PATCH 070/310] feat: Add back-to-top button to home page --- store/blocks/pages/home/home.jsonc | 10 +++- .../sass/components/shelf/vtex.wish-list.scss | 1 + .../pages/home/vtex.store-components.scss | 59 +++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 styles/sass/pages/home/vtex.store-components.scss diff --git a/store/blocks/pages/home/home.jsonc b/store/blocks/pages/home/home.jsonc index 96f0f20f..1f8f3740 100644 --- a/store/blocks/pages/home/home.jsonc +++ b/store/blocks/pages/home/home.jsonc @@ -8,7 +8,7 @@ "flex-layout.row#simple-shelf-container-1", "flex-layout.row#simple-double-banner", "flex-layout.row#blog-posts", - "back-to-top-button#home", + "flex-layout.row#back-to-top-button", "flex-layout.row#newsletter" ], "props": { @@ -19,6 +19,14 @@ "footer": "flex-layout.row#footer-roland" } }, + "flex-layout.row#back-to-top-button": { + "title": "Back to Top Button", + "props": { + "blockClass": ["back-to-top-button"], + "fullWidth": true + }, + "children": ["back-to-top-button#home"] + }, "back-to-top-button#home": { "props":{ "displayThreshold": 800 diff --git a/styles/sass/components/shelf/vtex.wish-list.scss b/styles/sass/components/shelf/vtex.wish-list.scss index 44018715..b2d0b8bd 100644 --- a/styles/sass/components/shelf/vtex.wish-list.scss +++ b/styles/sass/components/shelf/vtex.wish-list.scss @@ -2,6 +2,7 @@ right: 0; top: 0; width: fit-content!important; + position: absolute; :global(.vtex-button), :global(.vtex-button__label) { diff --git a/styles/sass/pages/home/vtex.store-components.scss b/styles/sass/pages/home/vtex.store-components.scss new file mode 100644 index 00000000..86470d16 --- /dev/null +++ b/styles/sass/pages/home/vtex.store-components.scss @@ -0,0 +1,59 @@ +:global(.vtex-flex-layout-0-x-flexRow--back-to-top-button) { + .backToTopButtonContainer { + width: fit-content !important; + right: 32px; + + :global(.vtex-button) { + padding: 12px; + width: fit-content; + height: fit-content; + border-radius: 4px; + border: 1.25px solid #E1E3E1; + background: #FFF; + box-shadow: none; + display: flex; + align-items: center; + justify-content: center; + + &::before { + content: url('data:image/svg+xml,'); + width: 20px; + height: 20px; + display: block; + } + } + + @media screen and (max-width: 768px) { + position: unset; + z-index: 1; + margin: 16px auto; + + :global(.vtex-button) { + padding: 12px 20px; + margin: 0 auto; + display: flex; + align-items: center; + gap: 8px; + &::before { + content: "Voltra ao topo"; + color: #130C0E; + font-family: "Proxima Nova"; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: 20px; + letter-spacing: -0.14px; + width: fit-content; + text-transform: math-auto; + } + + &::after { + content: url('data:image/svg+xml,'); + width: 20px; + height: 20px; + display: block + } + } + } + } +} \ No newline at end of file From 98d9debdebb503c8788f0a3e4c9f5993f7f98a37 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 27 Jun 2024 15:25:28 -0300 Subject: [PATCH 071/310] Update simple shelf titles and add new shelf --- store/blocks/components/shelves/simple-shelf-1.jsonc | 12 ++++++++++-- store/blocks/pages/home/home.jsonc | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/store/blocks/components/shelves/simple-shelf-1.jsonc b/store/blocks/components/shelves/simple-shelf-1.jsonc index 8b0a76a8..5055a5cc 100644 --- a/store/blocks/components/shelves/simple-shelf-1.jsonc +++ b/store/blocks/components/shelves/simple-shelf-1.jsonc @@ -1,6 +1,13 @@ { "flex-layout.row#simple-shelf-container-1": { - "title": "Vitrine Simples", + "title": "Vitrine Simples 1", + "children": ["flex-layout.col#shelf-container-1"], + "props": { + "blockClass": ["shelf-container", "home-content-container"] + } + }, + "flex-layout.row#simple-shelf-container-2": { + "title": "Vitrine Simples 2", "children": ["flex-layout.col#shelf-container-1"], "props": { "blockClass": ["shelf-container", "home-content-container"] @@ -54,7 +61,8 @@ "blocks": ["product-summary.shelf#general"], "children": ["slider-layout#shelf-slider-1"], "props": { - "orderBy": "OrderByReleaseDateDESC" + "orderBy": "OrderByReleaseDateDESC", + "collection": "162" } }, "slider-layout#shelf-slider-1": { diff --git a/store/blocks/pages/home/home.jsonc b/store/blocks/pages/home/home.jsonc index 7638977d..f35123e5 100644 --- a/store/blocks/pages/home/home.jsonc +++ b/store/blocks/pages/home/home.jsonc @@ -5,7 +5,7 @@ "flex-layout.row#main-banner", "flex-layout.row#simple-shelf-container-1", "flex-layout.row#explore-our-categories", - "flex-layout.row#simple-shelf-container-1", + "flex-layout.row#simple-shelf-container-2", "flex-layout.row#simple-double-banner", "flex-layout.row#blog-posts", "flex-layout.row#newsletter" From 8761910d0a1ea398ffbd1199c41135a05d6050c6 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Thu, 27 Jun 2024 15:41:03 -0300 Subject: [PATCH 072/310] chore: Update padding in headerStickyRow--search-container --- styles/sass/partials/header/vtex.store-header.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/styles/sass/partials/header/vtex.store-header.scss b/styles/sass/partials/header/vtex.store-header.scss index 133eddce..3d2e2ed6 100644 --- a/styles/sass/partials/header/vtex.store-header.scss +++ b/styles/sass/partials/header/vtex.store-header.scss @@ -36,7 +36,7 @@ @media screen and (max-width: 1025px) { .headerStickyRow--search-container { - padding: 0 16px 12px 16px; + padding: 2px 16px 12px 16px; background-color: #fff; } From 744a442b5d3a7584724f2950cdf73b6d8707ed3a Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Fri, 28 Jun 2024 11:33:16 -0300 Subject: [PATCH 073/310] chore: Update padding and alignment in MenuContent and product summary components --- react/components/Menu/components/MenuContent/styles.css | 2 +- styles/sass/components/shelf/vtex.product-summary.scss | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/react/components/Menu/components/MenuContent/styles.css b/react/components/Menu/components/MenuContent/styles.css index 1c42d261..91e39c35 100644 --- a/react/components/Menu/components/MenuContent/styles.css +++ b/react/components/Menu/components/MenuContent/styles.css @@ -156,7 +156,6 @@ .menuList { display: flex; align-items: center; - gap: 32px; list-style: none; padding: 0; margin: 0; @@ -164,6 +163,7 @@ .menuItem { padding-bottom: 8px; + padding-right: 32px; cursor: pointer; } diff --git a/styles/sass/components/shelf/vtex.product-summary.scss b/styles/sass/components/shelf/vtex.product-summary.scss index aa5473d6..334bca8c 100644 --- a/styles/sass/components/shelf/vtex.product-summary.scss +++ b/styles/sass/components/shelf/vtex.product-summary.scss @@ -23,11 +23,19 @@ height: 268px; margin-bottom: 12px; + :global(.vtex-store-components-3-x-discountContainer) { + height: 100%; + } + @media screen and (max-width: 768px) { height: 136px; } } +.imageContainer--product-summary-image { + height: 100%; +} + .element--product-summary-general { align-items: flex-start; position: relative; From 0d8503ac96a2716fc85d97d2ad93ac260cfe70c3 Mon Sep 17 00:00:00 2001 From: Gabriel Gotardo <87941903+gabgotardo@users.noreply.github.com> Date: Mon, 1 Jul 2024 11:30:38 -0300 Subject: [PATCH 074/310] chore: Update linting and formatting configuration --- checkout-ui-settings/.editorconfig | 13 + checkout-ui-settings/.eslintignore | 6 + checkout-ui-settings/.eslintrc | 12 + checkout-ui-settings/.gitignore | 56 + checkout-ui-settings/.prettierignore | 7 + checkout-ui-settings/.prettierrc | 1 + checkout-ui-settings/.vtexignore | 13 + checkout-ui-settings/CHANGELOG.md | 1165 + checkout-ui-settings/admin/navigation.json | 20 + checkout-ui-settings/admin/routes.json | 6 + .../checkout-ui-custom/.gitignore | 7 + .../checkout-ui-custom/checkout5-custom.css | 7 + .../checkout-ui-custom/checkout5-custom.js | 1 + .../checkout-ui-custom/checkout6-custom.css | 1 + .../checkout-ui-custom/checkout6-custom.js | 1 + .../checkout-ui-custom/package.json | 33 + .../checkout-ui-custom/postcss.config.js | 5 + .../checkout-ui-custom/src/_js/_countries.js | 18866 ++++++++++++++++ .../src/_js/_customAddressForm.js | 1222 + .../checkout-ui-custom/src/_js/_debug.js | 33 + .../src/_js/_locale-infos.js | 691 + .../checkout-ui-custom/src/_js/_utils.js | 52 + .../src/_js/_v.custom.checkout.ui.js | 1394 ++ .../src/_scss/_components/_RTL.scss | 353 + .../src/_scss/_components/_buttons.scss | 108 + .../src/_scss/_components/_card-flags.scss | 49 + .../src/_scss/_components/_cart.scss | 1062 + .../_scss/_components/_customAddressForm.scss | 245 + .../src/_scss/_components/_debug.scss | 3 + .../src/_scss/_components/_fns.scss | 9 + .../src/_scss/_components/_footer.scss | 31 + .../src/_scss/_components/_global.scss | 159 + .../src/_scss/_components/_header.scss | 139 + .../_scss/_components/_hide-email-step.scss | 26 + .../src/_scss/_components/_input.scss | 49 + .../_scss/_components/_jsInteractions.scss | 162 + .../src/_scss/_components/_modals.scss | 24 + .../src/_scss/_components/_overwriting.scss | 178 + .../src/_scss/_components/_payment.scss | 1336 ++ .../src/_scss/_components/_pre-email.scss | 195 + .../src/_scss/_components/_steps.scss | 251 + .../src/_scss/_components/_titles.scss | 21 + .../src/_scss/_components/_vtexId.scss | 69 + .../src/_scss/_configs/_style.app.scss | 54 + .../src/_scss/_configs/_style.scss | 54 + .../checkout-ui-custom/src/_scss/_custom.scss | 1 + .../src/app.checkout6-custom.js | 20 + .../src/app.checkout6-custom.scss | 29 + .../src/checkout6-custom.js | 22 + .../src/checkout6-custom.scss | 27 + .../checkout-ui-custom/webpack.config.js | 34 + .../checkout-ui-custom/webpack.prod.js | 77 + .../checkout-ui-custom/yarn.lock | 4905 ++++ checkout-ui-settings/crowdin.yml | 3 + checkout-ui-settings/docs/README.md | 108 + .../docs/images/screenshot.png | Bin 0 -> 116433 bytes checkout-ui-settings/graphql/schema.graphql | 59 + checkout-ui-settings/lint.sh | 5 + checkout-ui-settings/manifest.json | 83 + checkout-ui-settings/messages/ar.json | 66 + checkout-ui-settings/messages/context.json | 66 + checkout-ui-settings/messages/de.json | 66 + checkout-ui-settings/messages/en.json | 66 + checkout-ui-settings/messages/es.json | 66 + checkout-ui-settings/messages/fi.json | 66 + checkout-ui-settings/messages/it.json | 66 + checkout-ui-settings/messages/ja-JP.json | 66 + checkout-ui-settings/messages/ko-KR.json | 66 + checkout-ui-settings/messages/pt.json | 66 + checkout-ui-settings/messages/ro-RO.json | 66 + checkout-ui-settings/messages/th-TH.json | 66 + checkout-ui-settings/node/clients/index.ts | 10 + .../node/clients/server-settings.ts | 19 + checkout-ui-settings/node/graphql/index.ts | 289 + checkout-ui-settings/node/index.ts | 45 + .../node/middlewares/getCountryRules.ts | 56 + .../node/middlewares/holidays.ts | 32 + checkout-ui-settings/node/package.json | 33 + checkout-ui-settings/node/service.json | 17 + .../node/templates/checkout6-custom.css | 1 + .../node/templates/checkout6-custom.js | 1 + checkout-ui-settings/node/tsconfig.json | 9 + checkout-ui-settings/node/tslint.json | 3 + .../node/typings/vtex.address-form.d.ts | 1 + checkout-ui-settings/node/yarn.lock | 3118 +++ checkout-ui-settings/package.json | 33 + checkout-ui-settings/react/.eslintrc | 13 + checkout-ui-settings/react/Admin.tsx | 467 + .../react/components/Colors.tsx | 307 + checkout-ui-settings/react/components/Css.tsx | 117 + .../react/components/History.tsx | 140 + .../react/components/Javascript.tsx | 118 + .../react/components/Layout.tsx | 498 + .../react/images/cart-quantity-price-off.png | Bin 0 -> 16853 bytes .../react/images/cart-quantity-price-on.png | Bin 0 -> 12501 bytes .../react/images/email-step-off.png | Bin 0 -> 31510 bytes .../react/images/email-step-on.png | Bin 0 -> 14323 bytes .../react/images/notes-field-off.png | Bin 0 -> 4293 bytes .../react/images/notes-field-on.png | Bin 0 -> 4528 bytes .../react/images/payments-tabs-off.png | Bin 0 -> 16114 bytes .../react/images/payments-tabs-on.png | Bin 0 -> 6023 bytes .../react/images/shipping-date-number.png | Bin 0 -> 4258 bytes .../react/images/shipping-date-text.png | Bin 0 -> 4490 bytes .../react/images/usaddressform-off.png | Bin 0 -> 10409 bytes .../react/images/usaddressform-on.png | Bin 0 -> 27432 bytes .../react/mutations/buildFiles.gql | 0 .../react/mutations/saveConfiguration.gql | 21 + checkout-ui-settings/react/package.json | 39 + .../react/queries/getById.gql | 10 + .../react/queries/getConfig.gql | 9 + .../react/queries/getHistory.gql | 9 + .../react/queries/getLast.gql | 11 + checkout-ui-settings/react/tsconfig.json | 28 + .../react/typings/graphql.d.ts | 6 + .../react/typings/storefront.d.ts | 14 + .../react/typings/vtex.styleguide.d.ts | 40 + checkout-ui-settings/react/yarn.lock | 13307 +++++++++++ checkout-ui-settings/yarn.lock | 2521 +++ 118 files changed, 55696 insertions(+) create mode 100644 checkout-ui-settings/.editorconfig create mode 100644 checkout-ui-settings/.eslintignore create mode 100644 checkout-ui-settings/.eslintrc create mode 100644 checkout-ui-settings/.gitignore create mode 100644 checkout-ui-settings/.prettierignore create mode 100644 checkout-ui-settings/.prettierrc create mode 100644 checkout-ui-settings/.vtexignore create mode 100644 checkout-ui-settings/CHANGELOG.md create mode 100644 checkout-ui-settings/admin/navigation.json create mode 100644 checkout-ui-settings/admin/routes.json create mode 100644 checkout-ui-settings/checkout-ui-custom/.gitignore create mode 100644 checkout-ui-settings/checkout-ui-custom/checkout5-custom.css create mode 100644 checkout-ui-settings/checkout-ui-custom/checkout5-custom.js create mode 100644 checkout-ui-settings/checkout-ui-custom/checkout6-custom.css create mode 100644 checkout-ui-settings/checkout-ui-custom/checkout6-custom.js create mode 100644 checkout-ui-settings/checkout-ui-custom/package.json create mode 100644 checkout-ui-settings/checkout-ui-custom/postcss.config.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_js/_countries.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_js/_customAddressForm.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_js/_debug.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_js/_locale-infos.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_js/_utils.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_js/_v.custom.checkout.ui.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_RTL.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_buttons.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_card-flags.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_cart.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_customAddressForm.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_debug.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_fns.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_footer.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_global.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_header.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_hide-email-step.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_input.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_jsInteractions.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_modals.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_overwriting.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_payment.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_pre-email.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_steps.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_titles.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_vtexId.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_configs/_style.app.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_configs/_style.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/_scss/_custom.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/app.checkout6-custom.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/app.checkout6-custom.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/src/checkout6-custom.js create mode 100644 checkout-ui-settings/checkout-ui-custom/src/checkout6-custom.scss create mode 100644 checkout-ui-settings/checkout-ui-custom/webpack.config.js create mode 100644 checkout-ui-settings/checkout-ui-custom/webpack.prod.js create mode 100644 checkout-ui-settings/checkout-ui-custom/yarn.lock create mode 100644 checkout-ui-settings/crowdin.yml create mode 100644 checkout-ui-settings/docs/README.md create mode 100644 checkout-ui-settings/docs/images/screenshot.png create mode 100644 checkout-ui-settings/graphql/schema.graphql create mode 100644 checkout-ui-settings/lint.sh create mode 100644 checkout-ui-settings/manifest.json create mode 100644 checkout-ui-settings/messages/ar.json create mode 100644 checkout-ui-settings/messages/context.json create mode 100644 checkout-ui-settings/messages/de.json create mode 100644 checkout-ui-settings/messages/en.json create mode 100644 checkout-ui-settings/messages/es.json create mode 100644 checkout-ui-settings/messages/fi.json create mode 100644 checkout-ui-settings/messages/it.json create mode 100644 checkout-ui-settings/messages/ja-JP.json create mode 100644 checkout-ui-settings/messages/ko-KR.json create mode 100644 checkout-ui-settings/messages/pt.json create mode 100644 checkout-ui-settings/messages/ro-RO.json create mode 100644 checkout-ui-settings/messages/th-TH.json create mode 100644 checkout-ui-settings/node/clients/index.ts create mode 100644 checkout-ui-settings/node/clients/server-settings.ts create mode 100644 checkout-ui-settings/node/graphql/index.ts create mode 100644 checkout-ui-settings/node/index.ts create mode 100644 checkout-ui-settings/node/middlewares/getCountryRules.ts create mode 100644 checkout-ui-settings/node/middlewares/holidays.ts create mode 100644 checkout-ui-settings/node/package.json create mode 100644 checkout-ui-settings/node/service.json create mode 100644 checkout-ui-settings/node/templates/checkout6-custom.css create mode 100644 checkout-ui-settings/node/templates/checkout6-custom.js create mode 100644 checkout-ui-settings/node/tsconfig.json create mode 100644 checkout-ui-settings/node/tslint.json create mode 100644 checkout-ui-settings/node/typings/vtex.address-form.d.ts create mode 100644 checkout-ui-settings/node/yarn.lock create mode 100644 checkout-ui-settings/package.json create mode 100644 checkout-ui-settings/react/.eslintrc create mode 100644 checkout-ui-settings/react/Admin.tsx create mode 100644 checkout-ui-settings/react/components/Colors.tsx create mode 100644 checkout-ui-settings/react/components/Css.tsx create mode 100644 checkout-ui-settings/react/components/History.tsx create mode 100644 checkout-ui-settings/react/components/Javascript.tsx create mode 100644 checkout-ui-settings/react/components/Layout.tsx create mode 100644 checkout-ui-settings/react/images/cart-quantity-price-off.png create mode 100644 checkout-ui-settings/react/images/cart-quantity-price-on.png create mode 100644 checkout-ui-settings/react/images/email-step-off.png create mode 100644 checkout-ui-settings/react/images/email-step-on.png create mode 100644 checkout-ui-settings/react/images/notes-field-off.png create mode 100644 checkout-ui-settings/react/images/notes-field-on.png create mode 100644 checkout-ui-settings/react/images/payments-tabs-off.png create mode 100644 checkout-ui-settings/react/images/payments-tabs-on.png create mode 100644 checkout-ui-settings/react/images/shipping-date-number.png create mode 100644 checkout-ui-settings/react/images/shipping-date-text.png create mode 100644 checkout-ui-settings/react/images/usaddressform-off.png create mode 100644 checkout-ui-settings/react/images/usaddressform-on.png create mode 100644 checkout-ui-settings/react/mutations/buildFiles.gql create mode 100644 checkout-ui-settings/react/mutations/saveConfiguration.gql create mode 100644 checkout-ui-settings/react/package.json create mode 100644 checkout-ui-settings/react/queries/getById.gql create mode 100644 checkout-ui-settings/react/queries/getConfig.gql create mode 100644 checkout-ui-settings/react/queries/getHistory.gql create mode 100644 checkout-ui-settings/react/queries/getLast.gql create mode 100644 checkout-ui-settings/react/tsconfig.json create mode 100644 checkout-ui-settings/react/typings/graphql.d.ts create mode 100644 checkout-ui-settings/react/typings/storefront.d.ts create mode 100644 checkout-ui-settings/react/typings/vtex.styleguide.d.ts create mode 100644 checkout-ui-settings/react/yarn.lock create mode 100644 checkout-ui-settings/yarn.lock diff --git a/checkout-ui-settings/.editorconfig b/checkout-ui-settings/.editorconfig new file mode 100644 index 00000000..458bc5a6 --- /dev/null +++ b/checkout-ui-settings/.editorconfig @@ -0,0 +1,13 @@ +# editorconfig.org +root = true + +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/checkout-ui-settings/.eslintignore b/checkout-ui-settings/.eslintignore new file mode 100644 index 00000000..b12c1ce1 --- /dev/null +++ b/checkout-ui-settings/.eslintignore @@ -0,0 +1,6 @@ +node_modules/ +coverage/ +*.snap.ts +node/templates/ +checkout-ui-custom/checkout6-custom.js +checkout-ui-custom/checkout6-custom.css diff --git a/checkout-ui-settings/.eslintrc b/checkout-ui-settings/.eslintrc new file mode 100644 index 00000000..828f6f6c --- /dev/null +++ b/checkout-ui-settings/.eslintrc @@ -0,0 +1,12 @@ +{ + "extends": "vtex", + "root": true, + "env": { + "node": true, + "browser": true + }, + "globals": { + "window": true, + "$": true + } +} diff --git a/checkout-ui-settings/.gitignore b/checkout-ui-settings/.gitignore new file mode 100644 index 00000000..8d2e82af --- /dev/null +++ b/checkout-ui-settings/.gitignore @@ -0,0 +1,56 @@ +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# webpack +.happypack/ +webpack_cache/ + +# Optional REPL history +.node_repl_history + +# Generate directory +render_build +accounts + +.vscode + +lib + +entrypoints.json +jsconfig.json +.DS_Store + +# Typescript builds +dist diff --git a/checkout-ui-settings/.prettierignore b/checkout-ui-settings/.prettierignore new file mode 100644 index 00000000..55ba459a --- /dev/null +++ b/checkout-ui-settings/.prettierignore @@ -0,0 +1,7 @@ +node_modules/ +coverage/ +*.snap.ts +node/templates/ +node/__mocks__/fixtures/** +checkout-ui-custom/checkout6-custom.js +checkout-ui-custom/checkout6-custom.css \ No newline at end of file diff --git a/checkout-ui-settings/.prettierrc b/checkout-ui-settings/.prettierrc new file mode 100644 index 00000000..320bc0c1 --- /dev/null +++ b/checkout-ui-settings/.prettierrc @@ -0,0 +1 @@ +"@vtex/prettier-config" \ No newline at end of file diff --git a/checkout-ui-settings/.vtexignore b/checkout-ui-settings/.vtexignore new file mode 100644 index 00000000..04834def --- /dev/null +++ b/checkout-ui-settings/.vtexignore @@ -0,0 +1,13 @@ +.DS_Store +.git/ +.happypack/ +.vscode/ +node_modules/ +service/node_modules/ +render_build/ +src/ +.editorconfig +.eslintrc +.gitignore +gulpfile.js +tsconfig.json diff --git a/checkout-ui-settings/CHANGELOG.md b/checkout-ui-settings/CHANGELOG.md new file mode 100644 index 00000000..ba3ab95c --- /dev/null +++ b/checkout-ui-settings/CHANGELOG.md @@ -0,0 +1,1165 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.18.6] - 2024-05-28 + +### Fixed + +- Malta's list of Councils + +## [0.18.5] - 2024-05-07 + +### Fixed + +- Set default locale for google address form as GBR + +### Added + +- Add IRL in locales file + +## [0.18.4] - 2024-05-07 + +### Changed + +- Updated version reference to Address-form in order to reflect Malta's locale addition + +## [0.18.3] - 2024-04-30 + +## [0.18.2] - 2024-04-29 + +### Fixed + +- Product unavailable warning message outside the items container + +## [0.18.1] - 2024-03-05 + +### Fixed + +- double number in address for ITA + +## [0.18.0] - 2024-02-27 + +### Changed +- Update version to clean possible poisoned cache due to an IO db update + +## [0.17.1] - 2024-02-16 + +### Fixed + +- Fix: removes trim() from shipping validation + +## [0.17.0] - 2024-02-07 + +### Fixed + +- Build files again + +## [0.16.0] - 2024-02-02 + +### Added + +- Export `_countries`, `_countriesrules`, `_cities`, and `_addressPlaceholder` variables so that other scripts can access them + +### Fixed + +- Linting and code cleanup +- Update webpack package to 5.x + +## [0.15.6] - 2024-01-24 + +## [0.15.5] - 2024-01-17 + +## Fixed + +- Fix trim errors + +## [0.15.4] - 2024-01-10 + +## [0.15.3] - 2024-01-09 + +## [0.15.1] - 2023-12-22 + +## [0.15.0] - 2023-12-19 + +### Fixed + +- https avoiding tls + +## [0.14.0] - 2023-12-14 + +### Added + +- add holidays to date calculation + +## [0.13.11] - 2023-11-29 + +### Added + +- Code Editor for CSS and JS + +### Fixed + +- Arabic, German, English, Spanish, Finnish, Italian, Japanese, Korean, Portuguese, Romanian and Thai translations. + +## [0.13.9] - 2023-09-24 + +### Added + +- scroll on go to shipping button + +## [0.13.8] - 2023-09-22 + +### Fixed + +- Fix issue with console log countryLang + +## [0.13.7] - 2023-09-20 + +### Fixed + +- display undeliverable message instead of a alert + +## [0.13.6] - 2023-09-12 + +### Fixed + +- fallback for country selection when changing trade policies + +## [0.13.5] - 2023-09-12 + +### Fixed + +- Address form fixed for the states of Croatia and CZE + +## [0.13.4] - 2023-08-30 + +### Fixed + +- Add operator to fix issue in the undefined or null city + +## [0.13.3] - 2023-08-15 + +### Fixed + +- match of shipping step as indexOf +- indexedItems when having gift + +## [0.13.2] - 2023-08-04 + +### Fixed + +- fallback when have an error in the orderform + +## [0.13.1] - 2023-08-04 + +## [0.13.0] - 2023-08-02 + +### Fixed + +- events for validation + +### Added + +- Change redirect of empty address for a message + +## [0.12.9] - 2023-08-01 + +### Fixed + +- typo + conditional to orderform + +## [0.12.8] - 2023-08-01 + +### Fixed + +- enchance for summary cart +- change price for free item +- Fix `_this` reference for `this.lang` +- editable address + +## [0.12.7] - 2023-07-18 + +### Fixed + +- Change Receiver name of function avoind returning `null` + +## [0.12.6] - 2023-07-12 + +## [0.12.5] - 2023-07-13 + +## [0.12.5] - 2023-07-13 + +### Fixed + +- Fix for when editing address with isDisposable + +## [0.12.4] - 2023-07-12 + +### Fixed + +- Remove coupong error message when using it with a campaign audience promotion. + +## [0.12.3] - 2023-07-11 + +### Added + +- Receiver name when using Google Form + +### Fixed + +- Try catch on the fallback for gmaps script + +## [0.12.2] - 2023-07-11 + +### Fixed + +- Try catch for address trigger + +## [0.12.1] - 2023-07-11 + +### Fixed + +- Fix probably undefined error for `customAddressFormInit` + +## [0.12.0] - 2023-06-27 + +### Added + +- Added offset scroll on mobile when user changes their address + +## [0.11.1] - 2023-05-19 + +### Added + +- AUSTRIA configuration + +### Fixed + +- German translations on shipping / pick up times +- Missing translations on the config file + +### Fixed + +- Major change in the google address form function + +## [0.10.1] - 2023-04-27 + +### Fixed + +- Bug on Safari causing "Proceed to Payment" / "Checkout" button to disappear from cart page + +## [0.10.0] - 2023-04-18 + +### Added + +- Added more info into the README + +## [0.9.3] - 2023-04-13 + +### Added + +- Puerto Rico country rules + +### Fixed + +- address form duplicated number + +## [0.9.2] - 2023-04-07 + +### Fixed + +- Address field open at checkout + +## [0.9.1] - 2023-03-28 + +### Fixed + +- fix minor typo + +## [0.9.0] - 2023-03-28 + +### Added + +- German translation. + +## [0.8.33] - 2023-03-27 + +### Added + +- Puerto Rico cities & states + +## [0.8.32] - 2023-01-11 + +### Removed + +- Unused `jsonwebtoken` package + +## [0.8.31] - 2022-12-22 + +### Fixed + +- Add additional `showDeliveryOptions` call in case the first one is triggered too early + +## [0.8.30] - 2022-12-21 + +### Fixed + +- restore country field for addressFrom + +## [0.8.29] - 2022-12-21 + +### Fixed + +- Possibility do edit address when using the custom form + +## [0.8.28] - 2022-11-15 + +### Fixed + +- Avoid Google address form from rendering in the Pickup points selection +- Show Google address form, for adding a new address, even if smart-checkout is activated + +## [0.8.27] - 2022-11-11 + +### Fixed + +- Corrected a French province name + +## [0.8.26] - 2022-11-10 + +### Fixed + +- Select state from dropdown options using long name when Google returns a short name different from `shortCode` in `_cities` mapping + +## [0.8.25] - 2022-11-10 + +### Fixed + +- Bump package versions to fix critial vulnerabilities + +## [0.8.24] - 2022-11-08 + +### Fixed + +- Don't prevent user from proceeding to payment step based on incomplete shipping address if their `addressType` is `search` (i.e. if store pickup is selected) + +## [0.8.23] - 2022-11-08 + +### Fixed + +- Set `this.lang` based on client's language if client locale or store country is not listed in `_locale` + +## [0.8.22] - 2022-10-18 + +### Fixed + +- validation of payload before redirect to shipping (it fixes an KI in the checkout when having 2 addresses in the selected address) + +## [0.8.21] - 2022-10-14 + +### Fixed + +- loading assemblies when having more than 10 products + +## [0.8.20] - 2022-10-07 + +### Fixed + +- Making field state required accordingly to its rules + +## [0.8.19] - 2022-10-07 + +### Added + +- Italian translations + +### Fixed + +- English, Portuguese and Spanish translations + +### Changed + +- GitHub reusable workflow and cy-runner upated to version 2 + +## [0.8.18] - 2022-09-29 + +### Fixed + +- Returning buyer issue with custom address form + +## [0.8.17] - 2022-09-23 + +### Fixed + +- Prevent Custom Address From from rendering in the pickup point tab + +## [0.8.16] - 2022-09-23 + +### Fixed + +- Fixed custom address form state selected value + +## [0.8.15] - 2022-09-12 + +### Fixed + +- Fixed custom address form render wrong place + +## [0.8.14] - 2022-09-08 + +### Fixed + +- Fixed alignment of element in the cart + +## [0.8.13] - 2022-09-08 + +### Fixed + +- Fixed incorrect state name + +## [0.8.12] - 2022-09-06 + +### Added + +- Updated address-form dependency + +## [0.8.11] - 2022-09-06 + +### Fixed + +- Fix issue to proceed to payment method Germany + +## [0.8.10] - 2022-09-01 + +### Added + +- Build files added + +### Fixed + +- Stopped address form from rendering in the pickup point tab + +## [0.8.9] - 2022-09-01 + +### Fixed + +- Fix attachments ui when rendered and after orderForm update + +## [0.8.8] - 2022-08-25 + +## Fixed + +- Changed the type of the button from submit to button. + +## [0.8.6] - 2022-08-17 + +### Fixed + +- Fixed duplicated CustomAddress Form + +## [0.8.5] - 2022-08-02 + +### Added + +- Added latest version of AddressForm to package JSON + +## [0.8.4] - 2022-07-22 + +### Added + +- GeoCode API +- Added country Rule for complement + +## [0.8.3] - 2022-07-21 + +### Added + +- Added translations to the italy + +## [0.8.2] - 2022-07-20 + +### Added + +- Added vtex.email-checkout-conflict as dependency. + +## [0.8.1] - 2022-07-19 + +### Fixed + +- Short Code for Spain + +## [0.8.0] - 2022-07-19 + +### Added + +- Added a route to get the rules from address-form app. + +## [0.7.13] - 2022-07-14 + +### Added + +- Added rules for SPAIN +- Added missing translation for number in SPAIN + +## [0.7.12] - 2022-07-11 + +### Added + +- Added missing translations for different European countries + +## [0.7.11] - 2022-07-08 + +### Added + +- Added Licence manager product ID in order to restrict access to other users + +## [0.7.10] - 2022-07-07 + +### Fixed + +- Added translation to button in shipping step + +## [0.7.9] - 2022-07-01 + +### Fixed + +- Observer DOM mutation added. + +## [0.7.8] - 2022-06-30 + +### Fixed + +- Update city address rule for Germany + +## [0.7.7] - 2022-06-28 + +### Fixed + +- Fix the address form country rules for Germany + +## [0.7.6] - 2022-06-22 + +### Fixed + +- Add validation if the user reaches payment method and doesn't have a valid address + +## [0.7.5] - 2022-06-16 + +### Fixed + +- Send number as null when USA. +- Change rules for DEU number to true. +- Fix update the labels when country change. + +## [0.7.4] - 2022-06-08 + +### Fixed + +- Show number when send the address. +- Update the form when change the country. + +## [0.7.3] - 2022-06-08 + +### Fixed + +- Translations for missing elements in the checkout. + +## [0.7.2] - 2022-06-03 + +### Fixed + +- When number is false dont use find types function. + +## [0.7.1] - 2022-06-03 + +### Removed + +- Removed all references to fonts.gstatic.com. + +## [0.7.0] - 2022-06-03 + +### Added + +- Japanese, Korean, Romanian, Thai general message translations and translation of checkout messages for Greece, Switzerland, Croatia, Romania, Netherlands, Belgium, and Czechia (Czech Republic). + +### Fixed + +- Spanish translations. + +## [0.6.22] - 2022-06-01 + +### Fixed + +- Get country information again when trying to retrieve getCountries +- Fixed error adding Google Maps Appkey multiple times + +## [0.6.21] - 2022-06-01 + +### Added + +- Add Russia in the Google Address Form. +- Convert country rules in an array to take the next value in the array. +- Hide state select in Google Address Form if it is false. +- Set as false selectedSlaDays in case of no sla found. + +## [0.6.20] - 2022-05-19 + +### Added + +- Added PANAMA Country Address rules + +## [0.6.19] - 2022-05-09 + +### Changed + +- Added some other countries for Europe which they are `GRC`, `CHE`, `AUT`, `NLD`, `BEL`, `CZE` + +## [0.6.18] - 2022-05-05 + +### Added + +- Added missing countries for Europe + +## [0.6.17] - 2022-04-26 + +### Fixed + +- Fixed notes field not rendering + +## [0.6.16] - 2022-04-21 + +### Fixed + +- Fixed callback function error + +## [0.6.15] - 2022-04-19 + +### Added + +- Added country rules for Belgium and Netherlands + +## [0.6.14] - 2022-04-18 + +### Fixed + +- Create a method to wait for instances using setInterval. +- Set cart items when clicking on the forward browser arrow. + +## [0.6.13] - 2022-03-17 + +### Fixed + +- conditioning waitForRuntime extensions for delivery options. + +## [0.6.12] - 2022-02-25 + +### Fixed + +- Inconsistency in the “delivery-options” field fixed + +## [0.6.11] - 2022-02-09 + +### Fixed + +- Lint changes + +## [0.6.10] - 2022-01-20 + +## [0.6.9] - 2022-01-07 + +### Added = + +- Poland language support + +## [0.6.8] - 2021-12-23 + +### fixed + +- Fixed issue in deliveryDateFormat + +## [0.6.7] - 2021-12-10 + +### Added + +- Support RTL views for Arabic + +## [0.6.6] - 2021-12-01 + +### Added + +- Cyrilic + +### Fixed + +- Number requirement using Google Address Format + +## [0.6.5] - 2021-12-01 + +### Fixed + +- Geocoordinates reversed + +## [0.6.4] - 2021-11-22 + +### Fixed + +- Fix comma when adding new addres in the custom address form + +## [0.6.3] - 2021-10-07 + +### Fixed + +- Fix address form to Argentina + +## [0.6.2] - 2021-10-05 + +### Added + +- Number placeholder to Italy + +## [0.6.1] - 2021-10-04 + +### Fix + +- Remove input placeholders to Italy + +## [0.6.0] - 2021-09-30 + +### Added + +- I18n Ar. + +### Fixed + +- Italian placeholders. + +## [0.5.8] - 2021-09-28 + +### Fixed + +- Shipping preview on the first load + +## [0.5.7] - 2021-09-27 + +### Fixed + +- Addressform needs to insert the direction not the place in to make the order be invoiced properly. + +## [0.5.6] - 2021-09-22 + +### Fix + +- Append shipping preview in the first load + +## [0.5.5] - 2021-09-15 + +- Update status of `select` for orderForm SLAs when the setting `deliveryDateFormat` is set to true + +## [0.5.4] - 2021-09-09 + +### Fixed + +- Wrap item in the cart when having more than 20 items + +## [0.5.3] - 2021-08-27 + +### Fix + +- Validation when `Google Maps key` is not added + +## [0.5.2] - 2021-08-25 + +### Added + +- Google Address Form supporting Argentina (beta) + +## [0.5.1] - 2021-08-17 + +### Fixed + +- InStore files being overwritten by `checkout-ui-custom` + +### Removed + +- Files `checkout-confirmation-custom.[js-css]`, `checkout-instore-custom.[js-css]` + +## [0.5.0] - 2021-06-30 + +### Changed + +- Now compiled files will be pushed to VBase to improve performance + +## [0.4.6] - 2021-06-07 + +### Fixed + +- Removing hardcoded custom css (!) + +## [0.4.5] - 2021-06-07 + +### Fixed + +- Fix pickup-point form + +## [0.4.4] - 2021-05-11 + +## [0.4.3] - 2021-05-03 + +### Fixed + +- Lang condition for `eachLabel` + +## [0.4.2] - 2021-04-29 + +### Fixed + +- Cleaning custom address form js +- Fix event load of gmaps script fallback + +### Added + +- Added Panama to locale infos + +## [0.4.1] - 2021-04-27 + +### Added + +- Add COL and MEX in locales + +### Fixed + +- Delivery estimated time in /cart when using date format feature +- Fallback to custom address form by country + +## [0.4.0] - 2021-04-22 + +### Added + +- I18n Fi. +- Crowdin configuration file. + +## [0.3.11] - 2021-04-20 + +### Fixed + +- Translations issues when using custom addressform +- Date format for spanish checkout + +## [0.3.10] - 2021-04-15 + +## [0.3.9] - 2021-04-15 + +### Fixed + +- Fixed an error on the App's first load, when it still don't have the initial config defined + +## [0.3.8] - 2021-04-14 + +### Fixed + +- Country and Cities when editing an address +- Number for Vatican +- Fallback of the edit event + +## [0.3.7] - 2021-04-09 + +### Fix + +- Fix country short code for Vatican + +## [0.3.6] - 2021-04-08 + +### Added + +- New custom address form + +## [0.3.5] - 2021-04-05 + +### Fixed + +- Show gift sections when using mobile + +## [0.3.4] - 2021-03-15 + +### Fixed + +- Attached product in the product summary + +## [0.3.3] - 2021-02-18 + +### Added + +- Countries: Spain and Portugal + +### Fixed + +- increase timeout + +## [0.3.2] - 2021-02-16 + +## [0.3.1] - 2021-02-09 + +### Fixed + +- German language + +## [0.3.0] - 2021-01-28 + +### Added + +- Admin v4 sidebar link. + +## [0.2.4] - 2021-01-18 + +### Added + +- Adding SE, FI, DE langs + +### Fixed + +- Fix canadian locale translations + +## [0.2.3] - 2021-01-05 + +### Added + +- Better descriptions of metadata + +## [0.2.2] - 2020-12-30 + +### Fixed + +- Remove duplicated css + +## [0.2.1] - 2020-12-23 + +### Fixed + +- Not refreshing last app version number +- Applying translated warning message + +## [0.2.0] - 2020-12-23 + +### Added + +- Published message +- Self closing modal after publishing +- Warning message when a new version is available + +### Updated + +- Code cleanup + +## [0.1.8] - 2020-12-22 + +### Fix + +- Duplicated indexed skus + +## [0.1.7] - 2020-12-11 + +### Fix + +- Remove custom css + +## [0.1.6] - 2020-12-11 + +### Fix + +- Fix indented products on summary + +## [0.1.5] - 2020-12-08 + +### Added + +- French language + +## [0.1.4] - 2020-12-03 + +### Fix + +- Fixing indented products on summary and cart + +## [0.1.3] - 2020-12-03 + +### Fix + +- Fix field sizes on second card step + +## [0.1.2] - 2020-11-04 + +### Fix + +- Formatted date on shipping preview when having more than 1 package + +## [0.1.1] - 2020-11-02 + +### Added + +- Add italian language + +## [0.1.0] - 2020-11-02 + +### Fix + +- Elem change shipping info in the Shipping Preview + +## [0.0.24] - 2020-10-28 + +### Added + +- Tooltip displaying custom taxes + +## [0.0.23] - 2020-10-22 + +### Added + +- Toggle to hide the e-mail step + +## [0.0.22] - 2020-10-21 + +### Fixed + +- @media max-width increased to support current devices on responsive + +## [0.0.21] - 2020-10-13 + +### Fixed + +- Saved cards when using tabs +- Margins + +## [0.0.20] - 2020-09-20 + +### Fixed + +- Border on shipping preview +- Focus on input + +## [0.0.19] - 2020-09-10 + +### Fixed + +- fixing tab js + +## [0.0.18] - 2020-09-10 + +### Fixed + +- Shipping inputs +- Javascript loops + +### Added + +- Loyalty program styling + +## [0.0.17] - 2020-09-04 + +### Fixed + +- Shipping preview on /cart +- Flags on debit card payment + +### Fixed + +- Updated `README.md` file (image link was presenting an error). + +## [0.0.16] - 2020-08-27 + +### Fixed + +Message fix when shipping is broken + +## [0.0.15] - 2020-08-26 + +## [0.0.14] - 2020-08-26 + +### Fixed + +General fixes + change image of preview tabs off + +## [0.0.13] - 2020-08-19 + +### Added + +- Gift extension style + +## [0.0.12] - 2020-08-19 + +### Fixed + +- "Shipping date" helper and image inverted + +## [0.0.11] - 2020-08-19 + +### Added + +- Portuguese translation for the App Store +- Fixed SVG fill color to the payment icon + +## [0.0.10] - 2020-08-19 + +### Added + +- Assets for the App Store + +## [0.0.9] - 2020-08-18 + +### Updated + +- Doc update +- Translation files + +### Added + +- Confirmation dialog to production environment + +## [0.0.8] - 2020-08-18 + +- Doc update + +## [0.0.7] - 2020-08-18 + +### Fixed + +- note field condition to buy button + +## [0.0.6] - 2020-08-18 + +### Updated + +- English translation + +## [0.0.5] - 2020-08-17 + +### Updated + +- Doc update + +## [0.0.4] - 2020-08-17 + +## [0.0.3] - 2020-08-17 + +### Updated + +- Doc update + +### Fixed + +- Admin UI Route + +## [0.0.2] - 2020-08-17 + +### Added + +- Initial version + +### Updated + +- App name diff --git a/checkout-ui-settings/admin/navigation.json b/checkout-ui-settings/admin/navigation.json new file mode 100644 index 00000000..1e16d6b3 --- /dev/null +++ b/checkout-ui-settings/admin/navigation.json @@ -0,0 +1,20 @@ +[ + { + "section": "storeSetup", + "titleId": "admin/checkout-ui.navigation.title", + "path": "/admin/vtex-checkout-ui-custom/", + "LMProductId": "27" + }, + { + "section": "storeSettings", + "subSection": "storeFront", + "adminVersion": 4, + "LMProductId": "27", + "subSectionItems": [ + { + "labelId": "admin/checkout-ui.navigation.title", + "path": "/admin/vtex-checkout-ui-custom/" + } + ] + } +] diff --git a/checkout-ui-settings/admin/routes.json b/checkout-ui-settings/admin/routes.json new file mode 100644 index 00000000..b0170d25 --- /dev/null +++ b/checkout-ui-settings/admin/routes.json @@ -0,0 +1,6 @@ +{ + "admin.app.checkout-ui": { + "component": "Admin", + "path": "/admin/app/vtex-checkout-ui-custom" + } +} diff --git a/checkout-ui-settings/checkout-ui-custom/.gitignore b/checkout-ui-settings/checkout-ui-custom/.gitignore new file mode 100644 index 00000000..28b05073 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/.gitignore @@ -0,0 +1,7 @@ +### SublimeText ### +*.sublime-workspace + +# App specific +node_modules/ +npm-debug.log +build/ diff --git a/checkout-ui-settings/checkout-ui-custom/checkout5-custom.css b/checkout-ui-settings/checkout-ui-custom/checkout5-custom.css new file mode 100644 index 00000000..a3f88f82 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/checkout5-custom.css @@ -0,0 +1,7 @@ +/* /files/checkout5-custom.css */ + +/* Displays the option to enter a foreign document */ +.document-box { display: block; } + +/* Displays the option to enter an international phone */ +.phone-box { display: block; } diff --git a/checkout-ui-settings/checkout-ui-custom/checkout5-custom.js b/checkout-ui-settings/checkout-ui-custom/checkout5-custom.js new file mode 100644 index 00000000..907a76ae --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/checkout5-custom.js @@ -0,0 +1 @@ +// WARNING: THE USAGE OF CUSTOM SCRIPTS IS NOT SUPPORTED. VTEX IS NOT LIABLE FOR ANY DAMAGES THIS MAY CAUSE. THIS MAY BREAK YOUR STORE AND STOP SALES. IN CASE OF ERRORS, PLEASE DELETE THE CONTENT OF THIS SCRIPT. diff --git a/checkout-ui-settings/checkout-ui-custom/checkout6-custom.css b/checkout-ui-settings/checkout-ui-custom/checkout6-custom.css new file mode 100644 index 00000000..70bfb188 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/checkout6-custom.css @@ -0,0 +1 @@ +input,select,button{outline:none !important}.vcustom--vtex-omnishipping-1-x-address input,#app-container input[type=text],#app-container input[type=tel],#app-container input[type=email],#app-container select,.orderform-template .summary-note .note-textarea,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation input,.orderform-template-holder #client-profile-data form.client-pre-email input[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email select:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data select:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=text]:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=email]:not(.pac-target-input),.orderform-template-holder #shipping-data select:not(.pac-target-input),.orderform-template-holder #payment-data input[type=text]:not(.pac-target-input),.orderform-template-holder #payment-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #payment-data input[type=email]:not(.pac-target-input),.orderform-template-holder #payment-data select:not(.pac-target-input),.cart-more-options .srp-container .vtex-shipping-preview-0-x-addressFormPart1.vtex-shipping-preview-0-x-geolocation input,.cart-more-options .srp-container select,.cart-more-options .srp-container input[type=text]:not(.pac-target-input),.summary-template-holder .summary-coupon fieldset.coupon-fieldset input[type=text],.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit],.table.cart-items td.quantity input,.table.cart-items tbody tr td .product-service select,.table.cart-items tr.item-attachments-content input,.table.cart-items tr.item-attachments-content select,#vtexIdContainer input{height:40px;line-height:40px;max-height:initial;display:inline-block;padding:0px 10px;border-radius:4px;border:1px solid #cbcbcb;outline:initial;font-family:"Roboto",sans-serif;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.vcustom--vtex-omnishipping-1-x-address input.error,#app-container input.error[type=text],#app-container input.error[type=tel],#app-container input.error[type=email],#app-container select.error,.orderform-template .summary-note .error.note-textarea,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation input.error,.orderform-template-holder #client-profile-data form.client-pre-email input.error[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input.error[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input.error[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email select.error:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input.error[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input.error[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input.error[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data select.error:not(.pac-target-input),.orderform-template-holder #shipping-data input.error[type=text]:not(.pac-target-input),.orderform-template-holder #shipping-data input.error[type=tel]:not(.pac-target-input),.orderform-template-holder #shipping-data input.error[type=email]:not(.pac-target-input),.orderform-template-holder #shipping-data select.error:not(.pac-target-input),.orderform-template-holder #payment-data input.error[type=text]:not(.pac-target-input),.orderform-template-holder #payment-data input.error[type=tel]:not(.pac-target-input),.orderform-template-holder #payment-data input.error[type=email]:not(.pac-target-input),.orderform-template-holder #payment-data select.error:not(.pac-target-input),.cart-more-options .srp-container .vtex-shipping-preview-0-x-addressFormPart1.vtex-shipping-preview-0-x-geolocation input.error,.cart-more-options .srp-container select.error,.cart-more-options .srp-container input.error[type=text]:not(.pac-target-input),.summary-template-holder .summary-coupon fieldset.coupon-fieldset input.error[type=text],.summary-template-holder .summary-coupon fieldset.coupon-fieldset button.error[type=submit],.table.cart-items td.quantity input.error,.table.cart-items tbody tr td .product-service select.error,.table.cart-items tr.item-attachments-content input.error,.table.cart-items tr.item-attachments-content select.error,#vtexIdContainer input.error{border-color:#ff4c4c}.vcustom--vtex-omnishipping-1-x-address input:focus,#app-container input[type=text]:focus,#app-container input[type=tel]:focus,#app-container input[type=email]:focus,#app-container select:focus,.orderform-template .summary-note .note-textarea:focus,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation input:focus,.orderform-template-holder #client-profile-data form.client-pre-email input[type=text]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=tel]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=email]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email select:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=text]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=tel]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=email]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data select:focus:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=text]:focus:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=tel]:focus:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=email]:focus:not(.pac-target-input),.orderform-template-holder #shipping-data select:focus:not(.pac-target-input),.orderform-template-holder #payment-data input[type=text]:focus:not(.pac-target-input),.orderform-template-holder #payment-data input[type=tel]:focus:not(.pac-target-input),.orderform-template-holder #payment-data input[type=email]:focus:not(.pac-target-input),.orderform-template-holder #payment-data select:focus:not(.pac-target-input),.cart-more-options .srp-container .vtex-shipping-preview-0-x-addressFormPart1.vtex-shipping-preview-0-x-geolocation input:focus,.cart-more-options .srp-container select:focus,.cart-more-options .srp-container input[type=text]:focus:not(.pac-target-input),.summary-template-holder .summary-coupon fieldset.coupon-fieldset input[type=text]:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit]:focus,.table.cart-items td.quantity input:focus,.table.cart-items tbody tr td .product-service select:focus,.table.cart-items tr.item-attachments-content input:focus,.table.cart-items tr.item-attachments-content select:focus,#vtexIdContainer input:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,0,0,.4)}input#creditCardpayment-card-0Number,input#creditCardpayment-card-0Code,input#creditCardpayment-card-1Number,input#creditCardpayment-card-1Code{font-size:18px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{animation:input_background_autofill 0s forwards}@keyframes input_background_autofill{100%{background-color:rgba(0,0,0,0)}}.btn,.orderform-template-holder #payment-data .payment-discounts-list table td.action a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a{font-family:"Roboto",sans-serif;text-shadow:none;border-radius:30px;outline:none !important;text-align:center;font-size:12px;padding:5px 12px;box-sizing:border-box;display:inline-block;background:none;box-shadow:none}.btn,.orderform-template-holder #payment-data .payment-discounts-list table td.action a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.btn:hover,.btn:focus{transition:all ease .3s}.btn:hover,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:hover,.btn:focus,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:focus{background:none}.btn-large,.client-pre-email .client-email.input.text .btn-success{padding:17px 19px}.btn-link,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a{color:#1a73e8}.btn-link:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:hover,.btn-link:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:focus{color:#1d63be}.btn-success{background:#2fba2d;border:1px solid #2fba2d;font-size:13px}.btn-success:hover,.btn-success:focus,.btn-success:active{background:#269e24;border:1px solid #269e24}.btn-success[disabled]{background:#2fba2d}.btn-primary{background:#1a73e8;border:1px solid #1a73e8;color:#f1f7ff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:#1d63be;border:1px solid #1d63be}.btn-secondary,.orderform-template-holder #payment-data #btn-add-gift-card,.orderform-template-holder #payment-data .payment-discounts-list table td.action a,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit],.table.cart-items tbody tr td .product-service input[type=submit],.table.cart-items tbody tr td.product-name .add-service.btn,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.add-service,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.add-service,.table.cart-items tbody tr td.product-name .clone-item.btn,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item,.table.cart-items tbody tr td.product-name .add-item-attachment-container a{background:rgba(0,0,0,0);border:1px solid #1a73e8;color:#1a73e8}.btn-secondary:hover,.orderform-template-holder #payment-data #btn-add-gift-card:hover,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:hover,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn:hover,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit]:hover,.table.cart-items tbody tr td .product-service input[type=submit]:hover,.table.cart-items tbody tr td.product-name .add-service.btn:hover,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.add-service:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.add-service:hover,.table.cart-items tbody tr td.product-name .clone-item.btn:hover,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item:hover,.table.cart-items tbody tr td.product-name .add-item-attachment-container a:hover,.btn-secondary:focus,.orderform-template-holder #payment-data #btn-add-gift-card:focus,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:focus,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn:focus,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit]:focus,.table.cart-items tbody tr td .product-service input[type=submit]:focus,.table.cart-items tbody tr td.product-name .add-service.btn:focus,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.add-service:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.add-service:focus,.table.cart-items tbody tr td.product-name .clone-item.btn:focus,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item:focus,.table.cart-items tbody tr td.product-name .add-item-attachment-container a:focus,.btn-secondary:active,.orderform-template-holder #payment-data #btn-add-gift-card:active,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:active,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn:active,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit]:active,.table.cart-items tbody tr td .product-service input[type=submit]:active,.table.cart-items tbody tr td.product-name .add-service.btn:active,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.add-service:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.add-service:active,.table.cart-items tbody tr td.product-name .clone-item.btn:active,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item:active,.table.cart-items tbody tr td.product-name .add-item-attachment-container a:active{background:#f1f7ff;border:1px solid #1d63be;color:#1d63be}.btn-outlined{background:rgba(0,0,0,0);border:1px solid #2fba2d;color:#2fba2d}.btn-outlined:hover,.btn-outlined:focus,.btn-outlined:active{background:rgba(0,0,0,0);border:1px solid #269e24}.btn#payment-data-submit span,.orderform-template-holder #payment-data .payment-discounts-list table td.action a#payment-data-submit span,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a#payment-data-submit span{font-size:14px;margin-left:5px;font-weight:bold}.orderform-template .cart-template.mini-cart h2,.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle,.orderform-template-holder #shipping-data .accordion-toggle,.orderform-template-holder #payment-data .accordion-toggle,.client-pre-email h3.client-pre-email-h span:after,.cart-more-options .srp-container .srp-main-title{font-size:calc(12px + 2px);text-transform:uppercase;border-bottom:1px solid #eee;font-weight:bold;margin-bottom:15px;padding:7px 0 !important;color:#999;color:#323232;border:none;font-size:20px;text-transform:initial;margin-bottom:0px}.payment-data .gift-card-section,.payment-data .payment-discounts-alert{margin:0;width:100% !important;box-sizing:border-box}.input-append,.input-prepend{display:flex !important;align-items:stretch}.input-append .btn,.input-append .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .input-append a,.input-append .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .input-append a,.input-append .add-on,.input-prepend .btn,.input-prepend .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .input-prepend a,.input-prepend .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .input-prepend a,.input-prepend .add-on{height:40px;line-height:40px;box-sizing:border-box;padding:0;width:20px}.input-append .add-on,.input-prepend .add-on{height:initial !important}.input-append input,.input-prepend input{border-radius:0 4px 4px 0 !important;width:100% !important;max-width:100px !important}.payment-discoints-table .number,.gift-card-provider-group .number,.payment-discoints-table .action,.gift-card-provider-group .action{text-align:right}@media(max-width: 690px){.orderform-template-holder .client-profile-data input[type=text]{width:100% !important}}@media(max-width: 690px){.item-quantity-change{display:inline-block}.item-quantity-change{float:left;padding:3px 5px 3px 0px}.item-quantity-change-increment{padding-left:5px;padding-right:0}.full-cart .cart-links-bottom .btn-success{width:83%;display:block;margin-top:10px}.full-cart .cart table{display:block;margin-top:0 !important}.full-cart .cart table thead{display:none}.full-cart .cart table tbody{display:block}.full-cart .cart table tbody tr+tr{border-top:1px dashed #ddd}.full-cart .cart table tbody tr{display:block;margin-top:10px;padding:10px 0;position:relative}.full-cart .cart table tbody tr .product-name a,.full-cart .cart table tbody tr .product-name .seller{overflow:hidden}.full-cart .cart table tbody tr td{display:inline-block;padding:4px 0}.full-cart .cart table tbody tr td.product-name .seller{display:block;line-height:120%;font-size:80%;margin:4px 0}.full-cart .cart table tbody tr td.product-image,.full-cart .cart table tbody tr td.bundle-item-image{left:0;position:absolute}.full-cart .cart table tbody tr td.product-name{display:block;margin-left:60px;text-align:left;line-height:140%;width:auto}.full-cart .cart table tbody tr td.product-name{padding:0 0 10px !important}.full-cart .cart table tbody tr td.empty,.full-cart .cart table tbody tr td.shipping-date,.full-cart .cart table tbody tr td .brand{display:none}.full-cart .cart table tbody tr td.product-name a,.full-cart .cart table tbody tr td.bundle-item-name span{display:block;padding-right:20px}.full-cart .cart table tbody tr td.quantity{width:81px;padding:0px;margin-left:60px}.full-cart .cart table tbody tr td.quantity input{float:left;margin:0;width:25px}.full-cart .cart table tbody tr td.product-price{text-align:right;float:right;margin-right:5px;padding:0}.full-cart .cart table tbody tr td.quantity-price{display:none}.full-cart .cart table tbody tr td.item-remove{position:absolute;top:2px;right:0;width:24px}.cart-links-bottom{float:none;margin-top:5px;margin-bottom:40px;text-align:right}.more{margin-right:0}.full-cart .cart-links-bottom .btn-success{width:auto}.full-cart .cart table tbody tr.item-attachments-head{border:0;margin:0;padding:0}.full-cart .cart table tbody tr.item-attachments-head .item-attachments-header{top:auto}.full-cart .cart table tbody tr.item-attachments-head .item-attachments-header:after{content:none}.full-cart .cart table tbody tr.item-attachments-head .item-attachments-header strong{box-shadow:none}.full-cart .cart table tbody tr.item-attachments-content{margin:0;border:0;padding:0}.full-cart .cart table tbody tr.item-attachments-content .item-attachments-item-fields{margin-left:5px;width:95%}}.default-modal{border-radius:4px;height:auto}.modal .btn,.modal .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .modal a,.modal .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .modal a{background:#fff}.modal.guest-login-modal button.btn{width:auto}.modal.guest-login-modal,.modal.modal-email-template,.modal.modal-payment-template,.modal.modal-masked-info-template{background:#2fba2d}.payment-confirmation-message{width:100%}#vtexIdContainer{position:fixed !important}.vtexIdUI{position:absolute;top:50% !important;transform:translateY(-50%) !important}#vtexIdContainer{position:fixed}#vtexIdContainer a{color:#1a73e8}#vtexIdContainer .vtexIdUI .modal-footer{background:none}#vtexIdContainer .vtexIdUI .btn,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a{border-radius:30px;height:40px;line-height:40px;box-shadow:none !important;font-size:12px;padding:0 30px}#vtexIdContainer .vtexIdUI .btn.btn-success,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a.btn-success,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a.btn-success,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.btn-success,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a.btn-success{background:#2fba2d;border:1px solid #2fba2d}#vtexIdContainer .vtexIdUI .btn.btn-success:hover,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a.btn-success:hover,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a.btn-success:hover,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.btn-success:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a.btn-success:hover,#vtexIdContainer .vtexIdUI .btn.btn-success:focus,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a.btn-success:focus,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a.btn-success:focus,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.btn-success:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a.btn-success:focus,#vtexIdContainer .vtexIdUI .btn.btn-success:active,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a.btn-success:active,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a.btn-success:active,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.btn-success:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a.btn-success:active{background:#269e24;border:1px solid #269e24}#vtexIdContainer .vtexIdUI .btn#vtexIdUI-facebook,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a#vtexIdUI-facebook,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a#vtexIdUI-facebook,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a#vtexIdUI-facebook,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a#vtexIdUI-facebook{background:#4568ad !important}@media(max-width: 768px){#vtexIdContainer{position:fixed !important}#vtexIdContainer .vtexIdUI{overflow:auto;border-radius:0;width:100%;left:0;margin:0;top:0;height:100% !important;border:none}#vtexIdContainer .vtexIdUI .modal-header .close{top:0;right:0;margin:0;padding:4px 8px}}body{font-family:"Roboto",sans-serif;min-width:initial !important;padding:0;background:#f4f2f2;padding-bottom:40px !important;min-height:93vh;position:relative;font-size:12px;overflow-x:hidden}body a{color:#1a73e8}body a:hover{color:#1d63be}@media(max-width: 768px){body{padding-bottom:0px !important}}body .cart-template.full-cart>*{opacity:0;transition-delay:1.2s;transition-property:opacity;-webkit-transition-duration:.5s}body.v-custom-loaded .cart-template.full-cart>*{opacity:initial}body.returningUser.v-custom-addressForm-on.v-custom-step-shipping .accordion-inner.shipping-container .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation{display:block}body.returningUser.v-custom-addressForm-on.v-custom-step-shipping .accordion-inner.shipping-container .vtex-omnishipping-1-x-deliveryGroup{display:block}body.returningUser.v-custom-addressForm-on.v-custom-step-shipping .accordion-inner.shipping-container .vtex-omnishipping-1-x-submitPaymentButton{display:block}.onda-v1 .br-pill,.step,.cart,.totalizers{border-radius:4px}.loading.loading-bg{background:#f4f2f2}.container{max-width:980px;width:calc(100% - 40px)}@media(max-width: 690px){.container{width:calc(100% - 20px)}}.checkout-container{overflow:initial !important;z-index:2}@media(max-width: 768px){.checkout-container{margin-bottom:30px}}.checkout-container .orderform-template,.checkout-container .cart-template{display:flex;justify-content:space-between;align-items:flex-start;transition:position ease .8s,opacity ease .8s,margin ease .8s}.checkout-container .orderform-template.inactive,.checkout-container .cart-template.inactive{max-height:50vh;overflow:hidden;top:0;position:absolute}.checkout-container .full-cart.inactive{margin-left:-140%}.checkout-container .orderform-template.inactive{left:140%;margin:0;display:none !important}.container-cart h1,h1#orderform-title{font-size:22px !important;font-weight:400 !important;color:#323232 !important}h1#orderform-title{display:none !important}.v-custom-assemblies{margin:10px 0 3px 0;overflow:hidden;border-top:1px solid #cbcbcb;padding-top:7px}@media(max-width: 690px){.v-custom-assemblies{width:100%;left:0;margin-bottom:2px}}.v-custom-assemblies p{display:none}.v-custom-assemblies__values{list-style:none;padding:0;margin:0}.v-custom-assemblies__values__item strong:after{content:":"}.v-custom-assemblies__values__item span,.v-custom-assemblies__values__item strong{line-height:14px}.client-pre-email h3.client-pre-email-h span:before,.client-profile-data .accordion-toggle>span:before,.shipping-data .accordion-toggle:before,.payment-data .accordion-toggle>span:not(.payment-edit-link):before{background:#fff;border:1px solid #323232;color:#323232;width:26px;height:26px;line-height:26px;font-size:15px}body.js-vcustom-hideEmailStep .client-profile-data .accordion-toggle>span:before,body.v-custom-step-payment .payment-data .accordion-toggle>span:not(.payment-edit-link):before,body.v-custom-step-shipping .shipping-data .accordion-toggle:before,body.v-custom-step-profile .client-profile-data .accordion-toggle>span:before,body.v-custom-step-email .client-pre-email h3.client-pre-email-h span:before,body.v-custom-step-profile .client-pre-email h3.client-pre-email-h span:before,body.v-custom-step-payment .client-pre-email h3.client-pre-email-h span:before,body.v-custom-step-payment .client-profile-data .accordion-toggle>span:before,body.v-custom-step-payment .shipping-data .accordion-toggle:before,body.v-custom-step-shipping .client-pre-email h3.client-pre-email-h span:before,body.v-custom-step-shipping .client-profile-data .accordion-toggle>span:before,body.v-custom-step-profile .client-pre-email h3.client-pre-email-h span:before{background:#1a73e8;border-color:#1a73e8;color:#fff}.client-pre-email h3.client-pre-email-h span:before,.client-profile-data .accordion-toggle>span:before,.shipping-data .accordion-toggle:before,.payment-data .accordion-toggle>span:not(.payment-edit-link):before{text-align:center;margin-right:10px;border-radius:100%;display:inline-block;font-weight:bold;vertical-align:middle;margin-top:-2px}.client-pre-email h3.client-pre-email-h span:before{content:"1"}.client-profile-data .accordion-toggle>span:before{content:"2"}.shipping-data .accordion-toggle:before{content:"3"}.payment-data .accordion-toggle>span:not(.payment-edit-link):before{content:"4"}@media(max-width: 690px){body:before{width:0;height:4px;background:#1a73e8;display:block;content:"";position:fixed;top:0;transition:all ease .3s;z-index:999}body.v-custom-step-email:before{width:23%}body.v-custom-step-profile:before{width:46%}body.v-custom-step-shipping:before{width:69%}body.v-custom-step-payment:before{width:92%}}body.v-custom-step-payment .checkout-steps_item_cart .text,body.v-custom-step-payment .checkout-steps_item_identification .text,body.v-custom-step-payment .checkout-steps_item_shipping .text,body.v-custom-step-payment .checkout-steps_item_payment .text,body.v-custom-step-shipping .checkout-steps_item_cart .text,body.v-custom-step-shipping .checkout-steps_item_identification .text,body.v-custom-step-shipping .checkout-steps_item_shipping .text,body.v-custom-step-email .checkout-steps_item_cart .text,body.v-custom-step-email .checkout-steps_item_identification .text,body.v-custom-step-profile .checkout-steps_item_cart .text,body.v-custom-step-profile .checkout-steps_item_identification .text,body.v-custom-step-cart .checkout-steps_item_cart .text{color:#323232;font-weight:bold;pointer-events:initial}body.v-custom-step-cart .checkout-steps_item_cart{opacity:1}body.v-custom-step-cart .checkout-steps_item_cart .text{pointer-events:none}body.v-custom-step-cart .checkout-steps_item_cart:before{background:#1a73e8;border-color:#1a73e8}body.v-custom-step-email .checkout-steps_bar_inner-active,body.v-custom-step-profile .checkout-steps_bar_inner-active{width:20%}body.v-custom-step-email .checkout-steps_item_cart,body.v-custom-step-email .checkout-steps_item_identification,body.v-custom-step-profile .checkout-steps_item_cart,body.v-custom-step-profile .checkout-steps_item_identification{opacity:1}body.v-custom-step-email .checkout-steps_item_cart:before,body.v-custom-step-email .checkout-steps_item_identification:before,body.v-custom-step-profile .checkout-steps_item_cart:before,body.v-custom-step-profile .checkout-steps_item_identification:before{background:#1a73e8;border-color:#1a73e8}body.v-custom-step-email .checkout-steps_item_identification .text,body.v-custom-step-profile .checkout-steps_item_identification .text{pointer-events:none}body.v-custom-step-shipping .checkout-steps_bar_inner-active{width:40%}body.v-custom-step-shipping .checkout-steps_item_cart,body.v-custom-step-shipping .checkout-steps_item_identification,body.v-custom-step-shipping .checkout-steps_item_shipping{opacity:1}body.v-custom-step-shipping .checkout-steps_item_cart:before,body.v-custom-step-shipping .checkout-steps_item_identification:before,body.v-custom-step-shipping .checkout-steps_item_shipping:before{background:#1a73e8;border-color:#1a73e8}body.v-custom-step-shipping .checkout-steps_item_shipping .text{pointer-events:none}body.v-custom-step-payment .checkout-steps_bar_inner-active{width:60%}body.v-custom-step-payment .checkout-steps_item_cart,body.v-custom-step-payment .checkout-steps_item_identification,body.v-custom-step-payment .checkout-steps_item_shipping,body.v-custom-step-payment .checkout-steps_item_payment{opacity:1}body.v-custom-step-payment .checkout-steps_item_cart:before,body.v-custom-step-payment .checkout-steps_item_identification:before,body.v-custom-step-payment .checkout-steps_item_shipping:before,body.v-custom-step-payment .checkout-steps_item_payment:before{background:#1a73e8;border-color:#1a73e8}body.v-custom-step-payment .checkout-steps_item_payment .text{pointer-events:none}.checkout-steps{display:none;position:relative;min-width:470px;width:100%;display:block}@media(max-width: 690px){.checkout-steps{display:none !important}}.checkout-steps_bar_inner-active{width:0;background:#1a73e8}.checkout-steps_items{display:flex;justify-content:space-between}.checkout-steps_item{position:relative;text-align:center;flex-grow:1;display:flex;align-items:center;justify-content:flex-start;opacity:.6}.checkout-steps_item:after{content:"";height:2px;background:#1a73e8;margin:0px 5px;min-width:10px}.checkout-steps_item .text{clear:both;display:flex;align-items:center;color:#999;font-weight:500;cursor:pointer;pointer-events:none}.checkout-steps_item .text:before{content:"";width:7px;height:7px;background:#1a73e8;border:2px solid #1a73e8;display:inline-block;border-radius:100%;margin-right:7px;transition:all ease .3s}.checkout-steps_item_cart:after{width:calc(100% - 50px)}.checkout-steps_item_identification:after{width:calc(100% - 103px)}.checkout-steps_item_shipping:after{width:calc(100% - 77px)}.checkout-steps_item_payment:after{width:calc(100% - 77px)}.checkout-steps_item_confirmation:after{display:none}body .main-header{padding:12px 0;text-align:center;border-bottom:1px solid #cbcbcb;position:relative;background-color:#fff;margin-bottom:40px}body .main-header,body .main-header>.container{display:flex;align-items:center}@media(max-width: 690px){body .main-header,body .main-header>.container{justify-content:center}}body .main-header>.container:before,body .main-header>.container:after{display:none}body .main-header .header-link{position:absolute;left:0px;top:calc(100% + 18px);display:none}body .main-header .header-link a{height:20px;font-size:11px;line-height:115%;padding-left:0px;color:#676767;display:flex;align-items:center}body .main-header .header-link a:before{display:block;float:left;width:10px;height:10px;-webkit-mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDQzLjUyIDQ0My41MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQzLjUyIDQ0My41MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxwYXRoIGQ9Ik0xNDMuNDkyLDIyMS44NjNMMzM2LjIyNiwyOS4xMjljNi42NjMtNi42NjQsNi42NjMtMTcuNDY4LDAtMjQuMTMyYy02LjY2NS02LjY2Mi0xNy40NjgtNi42NjItMjQuMTMyLDBsLTIwNC44LDIwNC44DQoJCQljLTYuNjYyLDYuNjY0LTYuNjYyLDE3LjQ2OCwwLDI0LjEzMmwyMDQuOCwyMDQuOGM2Ljc4LDYuNTQ4LDE3LjU4NCw2LjM2LDI0LjEzMi0wLjQyYzYuMzg3LTYuNjE0LDYuMzg3LTE3LjA5OSwwLTIzLjcxMg0KCQkJTDE0My40OTIsMjIxLjg2M3oiLz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==) no-repeat 50% 50%;mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDQzLjUyIDQ0My41MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQzLjUyIDQ0My41MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxwYXRoIGQ9Ik0xNDMuNDkyLDIyMS44NjNMMzM2LjIyNiwyOS4xMjljNi42NjMtNi42NjQsNi42NjMtMTcuNDY4LDAtMjQuMTMyYy02LjY2NS02LjY2Mi0xNy40NjgtNi42NjItMjQuMTMyLDBsLTIwNC44LDIwNC44DQoJCQljLTYuNjYyLDYuNjY0LTYuNjYyLDE3LjQ2OCwwLDI0LjEzMmwyMDQuOCwyMDQuOGM2Ljc4LDYuNTQ4LDE3LjU4NCw2LjM2LDI0LjEzMi0wLjQyYzYuMzg3LTYuNjE0LDYuMzg3LTE3LjA5OSwwLTIzLjcxMg0KCQkJTDE0My40OTIsMjIxLjg2M3oiLz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==) no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:#676767;content:""}body .main-header .header-link a.back-cart-link{display:none}@media(max-width: 690px){body .main-header .header-link{top:50%;transform:translateY(-50%)}body .main-header .header-link a{max-width:80px}body .main-header .header-link a:before{width:17px;height:17px}}body .main-header .logo{max-width:calc(100% - 180px)}body .main-header .logo svg.vtex-logo{height:50px}body .main-header .logo,body .main-header .logo img{display:inline-block;font-size:24px;border:none;line-height:39px}body .main-header .checkout-steps{max-width:540px;margin-left:auto;padding-right:10px}@media(max-width: 690px){body:not(.body-cart) .main-header{padding:4px 0;margin-bottom:10px}body:not(.body-cart) .main-header .v-custom-mhide{display:none !important}body:not(.body-cart) .main-header,body:not(.body-cart) .main-header>.container{background:none;border:none;justify-content:center}body:not(.body-cart) .main-header .logo{cursor:default;pointer-events:none;font-weight:bold}body:not(.body-cart) .main-header .logo svg,body:not(.body-cart) .main-header .logo img{display:none !important}body:not(.body-cart) .main-header .logo:before{content:"checkout";text-transform:uppercase}body:not(.body-cart) .main-header .logo,body:not(.body-cart) .main-header .logo:hover{color:#323232;font-size:14px}body:not(.body-cart) .main-header .header-link{display:block}body:not(.body-cart) .main-header a.buy-more-link{display:none}body:not(.body-cart) .main-header a.back-cart-link{display:block !important;font-size:0}body:not(.body-cart) .main-header a.back-cart-link:before{background:#323232}}.main-footer{clear:both;text-align:center;padding:2px 0;border-top:1px solid #cbcbcb;position:absolute;bottom:0;width:100%;z-index:-1}.main-footer .container{position:initial}@media(max-width: 768px){.main-footer{position:relative}}.main-footer a.credits-vtex{width:100px;display:block;margin:0 auto}.main-footer .vtex-logo{display:block;margin:0 auto}.main-footer svg,.main-footer svg path{fill:#999}.cart{border:none;padding:0}body.v-custom-step-cart .main-header .header-link{display:block}body.v-custom-cart-empty #cart-title,body.v-custom-cart-empty #shipping-preview-container,body.v-custom-cart-empty .summary-template-holder,body.v-custom-cart-empty .checkout-steps,body.v-custom-cart-empty .cart-more-options{display:none !important}body.v-custom-cart-empty .cart-template-holder{margin:0 auto}.empty-cart-content{padding:50px 0}h1#cart-title{display:none !important}.cart-more-options,.cart-template-holder .cart{padding:20px 30px;background:#fff;margin:0;border-radius:4px}@media(max-width: 690px){.cart-more-options,.cart-template-holder .cart{padding:12px}}.cart-template-holder .cart{border:none;margin-bottom:20px}.table.cart-items{display:block}.table.cart-items thead{width:100%;display:block}.table.cart-items thead tr{display:flex;align-items:center}.table.cart-items thead tr th.product{width:calc(100% - 235px) !important}.table.cart-items thead tr th.product-price,.table.cart-items thead tr th.quantity-price{width:90px !important}.table.cart-items thead tr th.item-remove,.table.cart-items thead tr th.quantity-price,.table.cart-items thead tr th.shipping-date{display:none}.table.cart-items thead tr th.quantity{min-width:62px}.table.cart-items thead tr th.product-image{order:1}.table.cart-items thead tr th.product-name{order:2}.table.cart-items thead tr th.shipping-date{order:3}.table.cart-items thead tr th.quantity{order:4}.table.cart-items thead tr th.product-price,.table.cart-items thead tr th.quantity-price{order:5}.table.cart-items tr.item-attachments-head{border:none !important;justify-content:center}.table.cart-items tr.item-attachments-head .help-arrow{display:none}.table.cart-items td.shipping-date{display:none}.table.cart-items tbody{display:flex;flex-wrap:wrap;width:100%}.table.cart-items tbody tr{width:100%;display:flex;flex-wrap:wrap;border-top:1px solid #eee}.table.cart-items tbody tr.hide{display:none}.table.cart-items tbody tr>.v-custom-bundles{width:100%}@media(max-width: 690px){.table.cart-items tbody tr{margin-top:0 !important}.table.cart-items tbody tr:first-child{border:none}}.table.cart-items tbody tr.item-attachments-head,.table.cart-items tbody tr.item-attachments-content{display:none}.table.cart-items tbody tr .v-custom-product-item-wrap{width:100%;display:flex;align-items:center;position:relative;padding:20px 0}@media(max-width: 690px){.table.cart-items tbody tr .v-custom-product-item-wrap{display:block;padding:10px 0}.table.cart-items tbody tr .v-custom-product-item-wrap:after{content:"";clear:both;display:block}}.table.cart-items tbody tr td{width:auto;border:none}.table.cart-items tbody tr td.product-name .add-service-container,.table.cart-items tbody tr td.product-name .clone-item.btn,.table.cart-items tbody tr td.product-name .orderform-template-holder #payment-data .payment-discounts-list table td.action a.clone-item,.orderform-template-holder #payment-data .payment-discounts-list table td.action .table.cart-items tbody tr td.product-name a.clone-item,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item,.table.cart-items tbody tr td.product-name .add-item-attachment-container{margin:10px 0}.table.cart-items tbody tr td.product-name .add-service-container+p,.table.cart-items tbody tr td.product-name .clone-item.btn+p,.table.cart-items tbody tr td.product-name .orderform-template-holder #payment-data .payment-discounts-list table td.action a.clone-item+p,.orderform-template-holder #payment-data .payment-discounts-list table td.action .table.cart-items tbody tr td.product-name a.clone-item+p,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item+p,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item+p,.table.cart-items tbody tr td.product-name .add-item-attachment-container+p{display:none}@media(min-width: 769px){.table.cart-items tbody tr td.product-name{width:calc(100% - 355px) !important}}.table.cart-items tbody tr td.product-name .seller{display:block}.table.cart-items tbody tr td.product-price,.table.cart-items tbody tr td.quantity-price{width:90px !important;white-space:nowrap;margin:0 10px;line-height:16px}.table.cart-items tbody tr td.product-price br,.table.cart-items tbody tr td.quantity-price br{display:none}@media(max-width: 690px){.table.cart-items tbody tr td.product-price,.table.cart-items tbody tr td.quantity-price{width:initial !important;text-align:right;float:right;margin:0;padding:0}}.table.cart-items tbody tr td.product-price .new-product-price-label,.table.cart-items tbody tr td.product-price .old-product-price-label,.table.cart-items tbody tr td.quantity-price .new-product-price-label,.table.cart-items tbody tr td.quantity-price .old-product-price-label{display:none}.table.cart-items tbody tr td.product-price .list-price,.table.cart-items tbody tr td.quantity-price .list-price{font-size:10px}.table.cart-items tbody tr td.product-price .total-selling-price,.table.cart-items tbody tr td.product-price .best-price,.table.cart-items tbody tr td.quantity-price .total-selling-price,.table.cart-items tbody tr td.quantity-price .best-price{font-weight:bold;position:relative}@media(max-width: 690px){.table.cart-items tbody tr td.product-price .total-selling-price,.table.cart-items tbody tr td.product-price .best-price,.table.cart-items tbody tr td.quantity-price .total-selling-price,.table.cart-items tbody tr td.quantity-price .best-price{display:flex;justify-content:flex-end;margin-top:7px}.table.cart-items tbody tr td.product-price .total-selling-price .discount,.table.cart-items tbody tr td.product-price .best-price .discount,.table.cart-items tbody tr td.quantity-price .total-selling-price .discount,.table.cart-items tbody tr td.quantity-price .best-price .discount{margin-left:5px;display:block}}.table.cart-items tbody tr td.product-price .new-product-real-price-per-unit,.table.cart-items tbody tr td.quantity-price .new-product-real-price-per-unit{display:inline-block}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__best,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__best{font-weight:bold;font-size:12px}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list{display:block;font-size:10px}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--list,.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--list,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling{display:block}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--list,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--list{text-decoration:line-through;color:#999}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list,.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling{color:#676767;font-size:10px;line-height:11px}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling{margin-bottom:3px}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling .discount,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling .discount{display:none}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling:after,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling:after{content:")"}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling:before,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling:before{content:"("}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling .best-price,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling .best-price{font-weight:normal;display:inline-block}@media(max-width: 690px){.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list>*:last-child,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list>*:last-child{margin-bottom:-7px}}.table.cart-items tbody tr td.product-price.v-custom-quantity-price-active>.list-price,.table.cart-items tbody tr td.quantity-price.v-custom-quantity-price-active>.list-price{display:none !important}.table.cart-items tbody tr td.product-price>span.list-price,.table.cart-items tbody tr td.product-price>span.best-price,.table.cart-items tbody tr td.quantity-price>span.list-price,.table.cart-items tbody tr td.quantity-price>span.best-price{display:block}.table.cart-items tbody tr td.product-price span.product-manualprice,.table.cart-items tbody tr td.product-price a.manualprice-link-remove,.table.cart-items tbody tr td.quantity-price span.product-manualprice,.table.cart-items tbody tr td.quantity-price a.manualprice-link-remove{z-index:2}.table.cart-items tbody tr td.product-price a.manualprice-link-remove,.table.cart-items tbody tr td.quantity-price a.manualprice-link-remove{position:absolute;top:-2px;left:-4px;background:#fff}.table.cart-items tbody tr td.product-price a.manualprice-link-remove i.icon-remove:before,.table.cart-items tbody tr td.quantity-price a.manualprice-link-remove i.icon-remove:before{width:10px !important;height:10px !important}.table.cart-items tbody tr td.product-price span.product-manualprice,.table.cart-items tbody tr td.quantity-price span.product-manualprice{padding:5px 5px 5px 31px;border:1px solid #ccc;display:inline-block;background:#fff;border-radius:5px;box-shadow:0 0 19px #777;position:absolute;top:0;left:0;transform:translate(-15%, -34%)}@media(max-width: 690px){.table.cart-items tbody tr td.product-price span.list-price:not(.hide)+br+span.best-price{margin-top:0}}.table.cart-items tbody tr td.item-remove{margin-left:auto;width:20px !important}@media(max-width: 690px){.table.cart-items tbody tr td.item-remove{top:0 !important}}.table.cart-items tbody tr td.product-image{order:1}.table.cart-items tbody tr td.product-name{order:2;width:60%}.table.cart-items tbody tr td.shipping-date{order:3}.table.cart-items tbody tr td.quantity{order:4}.table.cart-items tbody tr td.product-price,.table.cart-items tbody tr td.quantity-price{order:5}.table.cart-items tbody tr td.item-remove{order:10}.table.cart-items tbody tr td.quantity-price{display:none !important}.table.cart-items tbody tr td.product-price{display:block !important}.table.cart-items tbody tr td .field-help{background:#1a73e8;border-color:#1a73e8}.table.cart-items tbody tr td i.icon-question-sign{color:#1a73e8}.table.cart-items tbody tr td .add-item-attachment-container,.table.cart-items tbody tr td .clone-item,.table.cart-items tbody tr td p.clone-item-container{display:none !important}.table.cart-items tbody tr td hr.clone-item-sep{margin:0;clear:both;border:none}.table.cart-items tbody tr td .product-service{height:calc(40px + 10px);margin-top:10px;position:relative}@media(min-width: 690px){.table.cart-items tbody tr td .product-service fieldset{width:100%;position:absolute;min-width:250px}}.table.cart-items tbody tr td .product-service p{display:flex}.table.cart-items tbody tr td .product-service select{background:#fff;width:100%;margin-right:10px}.table.cart-items tbody tr td.quantity input{line-height:inherit}.table.cart-items tbody tr .v-custom-assemblies{clear:both}.table.cart-items tbody tr.v-custom-bundles-in .product-service{display:none}.table.cart-items tbody tr.item-unavailable{margin:10px 0;border-radius:10px;border:none !important}@media(max-width: 690px){.table.cart-items tbody tr.item-unavailable{padding:0;text-align:center}}.table.cart-items tbody tr.v-custom-indexedItems-in+tr.item-unavailable{display:none}.table.cart-items tbody tr.v-custom-indexed-item{border:none}.table.cart-items tbody tr.v-custom-indexed-item,.table.cart-items tbody tr.item-service{margin:0 0 10px 0;padding:0;border-top:none}.table.cart-items tbody tr.v-custom-indexed-item .v-custom-product-item-wrap,.table.cart-items tbody tr.v-custom-indexed-item .v-custom-trservice-wrap,.table.cart-items tbody tr.item-service .v-custom-product-item-wrap,.table.cart-items tbody tr.item-service .v-custom-trservice-wrap{background:#f1f7ff;border:1px dashed #cbcbcb;border-radius:4px;width:100%;display:flex;align-items:center;box-sizing:border-box;padding:5px 10px}.table.cart-items tbody tr.v-custom-indexed-item .v-custom-trservice-wrap,.table.cart-items tbody tr.item-service .v-custom-trservice-wrap{margin-bottom:10px;margin-top:10px}.table.cart-items tbody tr.v-custom-indexed-item td.quantity,.table.cart-items tbody tr.item-service td.quantity{background:#fff;width:25px;height:20px;text-align:center;justify-content:center}.table.cart-items tbody tr.v-custom-indexed-item td.quantity p,.table.cart-items tbody tr.item-service td.quantity p{width:100%}.table.cart-items tbody tr.v-custom-indexed-item td.product-price,.table.cart-items tbody tr.item-service td.product-price{display:none !important}.table.cart-items tbody tr.v-custom-indexed-item td.quantity-price,.table.cart-items tbody tr.item-service td.quantity-price{display:block !important}.table.cart-items tbody tr.v-custom-indexed-item .item-remove,.table.cart-items tbody tr.item-service .item-remove{margin-left:auto;position:initial;width:auto}.table.cart-items tbody tr.v-custom-indexed-item .item-remove i.icon.icon-remove.item-remove-ico:before,.table.cart-items tbody tr.item-service .item-remove i.icon.icon-remove.item-remove-ico:before{content:"-";background:#ff4c4c;color:#fff;line-height:9px;border-radius:100%;width:16px;height:16px;font-size:27px}@media(max-width: 690px){.table.cart-items tbody tr.v-custom-indexed-item,.table.cart-items tbody tr.item-service{border-top:none !important}.table.cart-items tbody tr.v-custom-indexed-item .product-price,.table.cart-items tbody tr.v-custom-indexed-item .quantity,.table.cart-items tbody tr.item-service .product-price,.table.cart-items tbody tr.item-service .quantity{margin:auto !important;width:auto !important;min-width:initial !important}}.table.cart-items tbody tr.v-custom-indexed-item:last-child{margin-bottom:20px}.table.cart-items tbody tr.v-custom-indexed-item td.product-image{display:none}@media(max-width: 690px){.table.cart-items tbody tr.v-custom-indexed-item td.quantity{display:none}}.table.cart-items tbody tr.v-custom-indexed-item td.product-name{margin-left:0 !important;padding:0 !important;width:100% !important;margin-right:15px}.table.cart-items tbody tr.v-custom-indexed-item p{margin:0;padding:0}.table.cart-items tbody tr:last-child{border-bottom:none}.table.cart-items tbody>tr.v-custom-indexed-item,.table.cart-items tbody>tr[data-parentitemindex]{display:none}.table.cart-items tbody>tr.v-custom-indexed-item+.item-unavailable,.table.cart-items tbody>tr[data-parentitemindex]+.item-unavailable{display:none}.table.cart-items td.product-image a{overflow:hidden;border-radius:4px}.table.cart-items td.product-image a{margin-right:20px}.table.cart-items td.product-image a,.table.cart-items td.product-image img{width:100px;display:block;max-width:initial;height:auto}@media(max-width: 690px){.table.cart-items td.product-image a,.table.cart-items td.product-image img{width:70px}}.table.cart-items td.product-name a,.table.cart-items td.product-name a:hover{color:#333;font-weight:bold;text-decoration:none}.table.cart-items td.quantity{margin:0 0 0 10px;display:flex;align-items:center;padding:0;border-radius:4px;border:1px solid #cbcbcb;float:left;min-width:30px;text-align:center;justify-content:center}.table.cart-items td.quantity input{margin:0;width:30px !important;height:30px !important;padding:0;border:none;box-shadow:none}.table.cart-items td.quantity .item-quantity-change{position:initial;left:initial;top:initial;bottom:initial;height:initial;display:flex;align-items:center;justify-content:center;padding:0}.table.cart-items td.quantity .item-quantity-change i{background:none;line-height:30px;display:inline-block}.table.cart-items td.quantity .item-quantity-change i:before{font-weight:bold;font-size:22px;width:25px;height:25px;line-height:25px;color:#000;border-radius:100%}.table.cart-items td.quantity .item-quantity-change>p{margin:0}.table.cart-items td.quantity .item-quantity-change.item-quantity-change-decrement i:before{content:"-";line-height:21px}.table.cart-items td.quantity .item-quantity-change.item-quantity-change-increment i:before{content:"+"}@media(max-width: 690px){.table.cart-items td.quantity{width:97px}.table.cart-items td.product-name,.table.cart-items td.quantity{margin-left:90px !important}}.table.cart-items i.icon.icon-remove.item-remove-ico:before{content:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyLjAwMSA1MTIuMDAxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIuMDAxIDUxMi4wMDE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNMjg0LjI4NiwyNTYuMDAyTDUwNi4xNDMsMzQuMTQ0YzcuODExLTcuODExLDcuODExLTIwLjQ3NSwwLTI4LjI4NWMtNy44MTEtNy44MS0yMC40NzUtNy44MTEtMjguMjg1LDBMMjU2LDIyNy43MTcNCgkJCUwzNC4xNDMsNS44NTljLTcuODExLTcuODExLTIwLjQ3NS03LjgxMS0yOC4yODUsMGMtNy44MSw3LjgxMS03LjgxMSwyMC40NzUsMCwyOC4yODVsMjIxLjg1NywyMjEuODU3TDUuODU4LDQ3Ny44NTkNCgkJCWMtNy44MTEsNy44MTEtNy44MTEsMjAuNDc1LDAsMjguMjg1YzMuOTA1LDMuOTA1LDkuMDI0LDUuODU3LDE0LjE0Myw1Ljg1N2M1LjExOSwwLDEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdMMjU2LDI4NC4yODcNCgkJCWwyMjEuODU3LDIyMS44NTdjMy45MDUsMy45MDUsOS4wMjQsNS44NTcsMTQuMTQzLDUuODU3czEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdjNy44MTEtNy44MTEsNy44MTEtMjAuNDc1LDAtMjguMjg1DQoJCQlMMjg0LjI4NiwyNTYuMDAyeiIvPg0KCTwvZz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K");width:15px;height:15px}.summary-template-holder{background:#fff;padding:20px;text-align:left;box-sizing:border-box;border-radius:4px;position:sticky;top:20px;border:none}.summary-template-holder .summary-totalizers,.summary-template-holder .summary-coupon-wrap{width:100% !important}.summary-template-holder .cart-more-options{display:none !important}.summary-template-holder .summary-coupon{text-align:center;margin:0 auto !important;min-width:initial}.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data{display:none !important}.summary-template-holder .summary-coupon fieldset.coupon-fieldset p{margin:0;color:#676767}.summary-template-holder .summary-coupon fieldset.coupon-fieldset p label{cursor:initial;font-size:13px}.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data{margin:0;width:100%}.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a{width:100%;text-decoration:underline}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div{display:flex;justify-content:space-between;align-items:center}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div[style*=none]{display:block !important}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div[style*=none] p.coupon-label{display:none}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div[style*=flex] p.coupon-label{display:none}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div[style*=flex] p.coupon-fields{width:100%}.summary-template-holder .summary-coupon p.coupon-fields span{display:flex;width:100%;position:relative}.summary-template-holder .summary-coupon p.coupon-fields span.info{align-items:center;padding:0;color:#323232}.summary-template-holder .summary-coupon p.coupon-fields span.info>span{text-align:left;margin-right:10px;color:#1a73e8}.summary-template-holder .summary-coupon p.coupon-fields span input{width:100%;margin-right:10px}.summary-template-holder .summary-coupon p.coupon-fields .delete{width:auto}.summary-template-holder .summary-coupon p.coupon-fields .delete #cart-coupon-remove{color:#ff4c4c;font-size:0;display:flex;align-items:center}.summary-template-holder .summary-coupon p.coupon-fields .delete #cart-coupon-remove:before{content:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyLjAwMSA1MTIuMDAxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIuMDAxIDUxMi4wMDE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNMjg0LjI4NiwyNTYuMDAyTDUwNi4xNDMsMzQuMTQ0YzcuODExLTcuODExLDcuODExLTIwLjQ3NSwwLTI4LjI4NWMtNy44MTEtNy44MS0yMC40NzUtNy44MTEtMjguMjg1LDBMMjU2LDIyNy43MTcNCgkJCUwzNC4xNDMsNS44NTljLTcuODExLTcuODExLTIwLjQ3NS03LjgxMS0yOC4yODUsMGMtNy44MSw3LjgxMS03LjgxMSwyMC40NzUsMCwyOC4yODVsMjIxLjg1NywyMjEuODU3TDUuODU4LDQ3Ny44NTkNCgkJCWMtNy44MTEsNy44MTEtNy44MTEsMjAuNDc1LDAsMjguMjg1YzMuOTA1LDMuOTA1LDkuMDI0LDUuODU3LDE0LjE0Myw1Ljg1N2M1LjExOSwwLDEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdMMjU2LDI4NC4yODcNCgkJCWwyMjEuODU3LDIyMS44NTdjMy45MDUsMy45MDUsOS4wMjQsNS44NTcsMTQuMTQzLDUuODU3czEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdjNy44MTEtNy44MTEsNy44MTEtMjAuNDc1LDAtMjguMjg1DQoJCQlMMjg0LjI4NiwyNTYuMDAyeiIvPg0KCTwvZz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K");width:11px;height:12px;display:block;line-height:10px}.summary-template-holder .summary-coupon i.icon-spin.loading-coupon{border:1px solid #666;border-top:none;border-radius:100%;font-size:0;width:20px;height:20px;padding:0;line-height:0;display:none;margin:0;position:absolute;top:25%;right:10px;z-index:-1}.summary-template-holder span.link-choose-more-products-wrapper{display:none}.summary-template-holder .cart-links-bottom{float:none;margin:10px 0 0 0}.summary-template-holder .cart-links-bottom .btn,.summary-template-holder .cart-links-bottom .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .summary-template-holder .cart-links-bottom a,.summary-template-holder .cart-links-bottom .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-links-bottom a{width:100%;box-sizing:border-box}.summary-template-holder .cart-links-bottom .btn-success{font-weight:bold}@media(max-width: 690px){.summary-template-holder .cart-links-bottom{position:fixed;bottom:0;width:100%;left:0;z-index:10000}.summary-template-holder .cart-links-bottom a{border-radius:0}}.summary-template-holder .summary-totalizers .table td.space,.summary-template-holder .summary-totalizers .table td.empty,.summary-template-holder .summary-totalizers tbody.shipping-calculate{display:none}.summary-template-holder .shipping-reset{display:none}.summary-template-holder .accordion-inner{margin-top:10px}.summary-template-holder tr:not(.Shipping){display:flex !important;justify-content:space-between;border:none !important}.summary-template-holder tr:not(.Shipping).CustomTax:not(.CustomTax--total){display:none !important}.summary-template-holder tbody{border-top:1px solid #cbcbcb;border-bottom:1px solid #cbcbcb;padding:15px 0;display:block}.summary-template-holder tbody td{display:inline-block;text-align:left !important;width:auto;color:#676767;font-size:13px;padding:0 0 3px 0 !important}.summary-template-holder tbody td.monetary{text-align:right !important;margin-left:auto;float:right}.summary-template-holder tfoot tr td{padding:14px 0 !important;color:#323232;font-size:14px;font-weight:bold}.summary-template-holder tfoot tr td.monetary{text-align:right !important;margin-left:auto;float:right;color:#1a73e8}.summary-coupon{width:100% !important}.cart-select-gift-placeholder{width:auto !important;display:none !important}.cart-more-options{width:100% !important;margin:0 !important;border:none;padding:0;min-height:0 !important;display:flex !important;flex-wrap:wrap}.cart-more-options .cart-select-gift-placeholder{display:block !important}.cart-more-options .vtex-shipping-preview-0-x-alert .shp-alert-content.vtex-shipping-preview-0-x-content{display:flex;align-items:center}.cart-more-options .srp-container{max-width:100% !important}.cart-more-options .srp-container span.error{display:none}.cart-more-options .srp-container .srp-toggle__wrapper label{background:#fff;padding:10px 0;border-radius:4px}.cart-more-options .srp-container .srp-delivery-info .b--light-gray{background:#fff;border-radius:4px}.cart-more-options .srp-container select,.cart-more-options .srp-container input[type=text]:not(.pac-target-input){outline:initial}.cart-more-options .srp-container form.srp-postal-code__form.dib.relative{width:100%}.cart-more-options .srp-container button.shp-open-options{border-color:#1d63be}.cart-more-options .srp-container .onda-v1 .blue{color:#1a73e8;outline:none}.cart-more-options .srp-container .onda-v1 .b--blue{border-color:#1a73e8;outline:none}.cart-more-options .srp-container .onda-v1 .bg-blue{background:#1a73e8;outline:initial}.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .ship-country{width:98%}.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a{height:40px;outline:initial;border-radius:4px}.cart-more-options .srp-container .ship-postalCode{width:auto !important;max-width:190px}.cart-more-options .srp-container .ship-postalCode input#ship-postalCode{width:100%}.cart-more-options .cart-select-gift-placeholder,.cart-more-options #shipping-preview-container{margin:20px;width:100%}@media(min-width: 690px){.cart-more-options .cart-select-gift-placeholder{margin-bottom:0}}.cart-more-options .cart-select-gift-placeholder:empty{display:none}.cart-more-options #shipping-preview-container{width:100% !important}@media(max-width: 690px){.cart-more-options #shipping-preview-container{display:none !important}}.cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode .btn,.cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode a,.cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode a{padding:13px 0}.cart-select-gift-placeholder .available-gift-item.active{background:#f1f7ff}.cart-select-gift-placeholder .label-vertical-group:hover,.cart-select-gift-placeholder .icon-check-empty,.cart-select-gift-placeholder .icon-check-sign{color:#676767}.cart-select-gift-placeholder .label-vertical-group:hover .icon-check-empty,.cart-select-gift-placeholder .icon-check-sign{color:#1a73e8}.body-cart-vertical .cart-template-holder{width:calc(70% - 20px)}@media(max-width: 998px){.body-cart-vertical .cart-template-holder{width:100%}}.body-cart-vertical .summary-template-holder{width:30%}@media(max-width: 998px){.body-cart-vertical .summary-template-holder{width:100%;margin-top:20px}}.body-cart-vertical .cart-template.full-cart.active{display:flex;flex-flow:wrap;justify-content:space-between;align-items:flex-start}.body-cart-vertical .cart-template.full-cart.active .extensions-checkout-buttons-container{width:auto !important;margin:0}.body-cart-vertical .cart-template.full-cart.active .totalizers.summary-totalizers.cart-totalizers{width:100%;padding:0;margin:0}.client-pre-email{background:none;width:100%;border-top:none;position:relative;text-align:left}.client-pre-email fieldset.pre-email{box-sizing:border-box}.client-pre-email label{margin:0;line-height:20px}.client-pre-email label small{font-size:12px;padding:0;margin:0;color:#323232;font-weight:400;margin:0;vertical-align:top;display:block;margin-bottom:13px;margin-top:20px}.client-pre-email .link-cart{display:none}.client-pre-email h3.client-pre-email-h{margin:0}.client-pre-email h3.client-pre-email-h span{display:block;position:relative;font-size:0;padding:7px 0 !important}.client-pre-email h3.client-pre-email-h span:after{content:"Email";vertical-align:middle;display:inline-block;margin:0}.client-pre-email h3.client-pre-email-h span:after{padding:0 !important}.client-pre-email h3.client-pre-email-h .link-box-edit{display:none}.client-pre-email a#orderform-to-cart{color:#1a73e8}.client-pre-email .client-email.input.text{margin:0;width:100%;position:initial}.client-pre-email .client-email.input.text input[type=email]{width:100%;box-sizing:border-box}.client-pre-email .client-email.input.text .btn-success{width:20%;margin:0;height:initial;position:absolute;top:initial;bottom:15px;right:initial;left:50%;transform:translateX(-50%);min-width:55%}@media(max-width: 768px){.client-pre-email .client-email.input.text .btn-success{width:calc(100% - 60px)}}.client-pre-email .client-email.input.text .loading-inline{position:absolute;color:#fff;font-size:16px;bottom:35px;top:initial;right:50% !important;margin-right:-10px}.client-pre-email .client-email.input.text .loading-inline[style=""]+#btn-client-pre-email{font-size:0}.client-pre-email .emailInfo{margin-top:20px;width:80%;box-sizing:border-box}.client-pre-email .emailInfo .icon-ok,.client-pre-email .emailInfo h3{color:#1a73e8}@media(max-width: 690px){.client-pre-email .emailInfo{width:100%}}.client-pre-email .emailInfo .icon-lock{color:#eee}@media(max-width: 690px){.client-pre-email .link-cart{display:none !important}}.client-pre-email+.client-profile-data .accordion-body:before{content:"Waiting for more information";display:block}.client-pre-email+.client-profile-data .accordion-body .accordion-inner{display:none}.client-pre-email+.client-profile-data.filled .accordion-body:before{display:none}.client-pre-email[style*="display: none"]{padding-bottom:20px !important}.client-pre-email[style*="display: none"] .link-box-edit{display:block !important}.client-pre-email[style*="display: none"] label small{display:none !important}.client-pre-email[style*="display: none"] input#client-pre-email{padding:0 !important;border:none !important;box-shadow:none !important;font-size:12px;font-weight:400;pointer-events:none;cursor:text;background:none !important;color:#676767}.client-pre-email[style*="display: none"] .emailInfo,.client-pre-email[style*="display: none"] #btn-client-pre-email{display:none}.client-pre-email[style*="display: none"]+.client-profile-data .accordion-body:before{display:none}.client-pre-email[style*="display: none"]+.client-profile-data .accordion-inner{display:block}body:not(.v-custom-step-email) .client-pre-email span.help.error{display:none !important}.payment-group-item-cards .card-flag{width:32px !important;background-size:auto 20px;min-width:auto;height:20px}.payment-group-item-cards .card-flag.Visa{background-position:0 0}.payment-group-item-cards .card-flag.Mastercard{background-position:-32px 0}.payment-group-item-cards .card-flag.Diners{background-position:-64px 0}.payment-group-item-cards .card-flag.Amex,.payment-group-item-cards .card-flag.American{background-position:-96px 0}.payment-group-item-cards .card-flag.Hipercard{background-position:-128px 0}.payment-group-item-cards .card-flag.Discover{background-position:-160px 0}.payment-group-item-cards .card-flag.Aura{background-position:-192px 0}.payment-group-item-cards .card-flag.Banricompras{background-position:-224px 0}.payment-group-item-cards .card-flag.Elo{background-position:-256px 0}.payment-group-item-cards .card-flag.JCB{background-position:-288px 0}.payment-group-item-cards .card-flag.Cabal{background-position:-320px 0}.payment-group-item-cards .card-flag.Maestro{background-position:-352px 0}.payment-group-item-cards .card-flag.Credz{background-position:-384px 0}.vcustom--vtex-omnishipping-1-x-address label,.orderform-template-holder .step .input.text label{margin:10px 0 5px 0;display:block;color:#999}@keyframes placeHolderShimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address:before,.js-v-custom-is-loadAddress #shipping-data .accordion-group.shipping-data:after,.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded) li.item:after{animation-duration:1.25s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:#a9a9a9;background:linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%);background-size:800px 104px}svg.pickup-marker-blue,svg.pickup-marker-blue path,svg.pkpmodal-pickup-point-marker-image,svg.pkpmodal-pickup-point-marker-image path,svg.vtex-omnishipping-1-x-svg,svg.vtex-omnishipping-1-x-svg path,svg.pkpmodal-pickup-point-best-marker-image path:not([fill=white]){fill:#1a73e8}@media(max-width: 768px){.container.container-main.container-order-form{width:calc(100% - 20px)}}.orderform-template-holder #client-profile-data{width:100%}.orderform-template-holder #client-profile-data form.client-pre-email,.orderform-template-holder #client-profile-data .step.client-profile-data,.orderform-template-holder #shipping-data,.orderform-template-holder #payment-data{width:100% !important;padding:0;margin:0;box-sizing:border-box;background:#fff;border-radius:4px;margin-bottom:20px !important;z-index:initial;border:none;padding:30px}@media(max-width: 768px){.orderform-template-holder #client-profile-data form.client-pre-email,.orderform-template-holder #client-profile-data .step.client-profile-data,.orderform-template-holder #shipping-data,.orderform-template-holder #payment-data{padding:20px}}.orderform-template-holder #client-profile-data form.client-pre-email.client-pre-email,.orderform-template-holder #client-profile-data .step.client-profile-data.client-pre-email,.orderform-template-holder #shipping-data.client-pre-email,.orderform-template-holder #payment-data.client-pre-email{display:block !important;padding-bottom:calc(40px + 14px + 30px)}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit,.orderform-template-holder #shipping-data .link-box-edit,.orderform-template-holder #payment-data .link-box-edit{background:none;box-shadow:none;border:none;color:#1a73e8;outline:none;position:absolute;right:0;top:50%;padding:1px;font-size:14px;transform:translateY(-50%);opacity:.7;transition:all ease .2s}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit:hover,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit:hover,.orderform-template-holder #shipping-data .link-box-edit:hover,.orderform-template-holder #payment-data .link-box-edit:hover{opacity:1}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit i.icon-spinner,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit i.icon-spinner,.orderform-template-holder #shipping-data .link-box-edit i.icon-spinner,.orderform-template-holder #payment-data .link-box-edit i.icon-spinner{font-size:17px;position:absolute;right:0;display:none;top:-7px}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit.active i.icon-edit,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit.active i.icon-edit,.orderform-template-holder #shipping-data .link-box-edit.active i.icon-edit,.orderform-template-holder #payment-data .link-box-edit.active i.icon-edit{display:none}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit.active i.icon-spinner,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit.active i.icon-spinner,.orderform-template-holder #shipping-data .link-box-edit.active i.icon-spinner,.orderform-template-holder #payment-data .link-box-edit.active i.icon-spinner{display:block}.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle,.orderform-template-holder #shipping-data .accordion-toggle,.orderform-template-holder #payment-data .accordion-toggle{padding:0}.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle>i,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle>i,.orderform-template-holder #shipping-data .accordion-toggle>i,.orderform-template-holder #payment-data .accordion-toggle>i{display:none}.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle>span,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle>span,.orderform-template-holder #shipping-data .accordion-toggle>span,.orderform-template-holder #payment-data .accordion-toggle>span{line-height:20px;display:block;vertical-align:middle;line-height:initial}.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle,.orderform-template-holder #client-profile-data form.client-pre-email .accordion-inner,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-inner,.orderform-template-holder #shipping-data .accordion-toggle,.orderform-template-holder #shipping-data .accordion-inner,.orderform-template-holder #payment-data .accordion-toggle,.orderform-template-holder #payment-data .accordion-inner{padding:0}.orderform-template-holder #client-profile-data form.client-pre-email input[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email select:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data select:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=text]:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=email]:not(.pac-target-input),.orderform-template-holder #shipping-data select:not(.pac-target-input),.orderform-template-holder #payment-data input[type=text]:not(.pac-target-input),.orderform-template-holder #payment-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #payment-data input[type=email]:not(.pac-target-input),.orderform-template-holder #payment-data select:not(.pac-target-input){width:100%;max-width:100%;outline:initial}.orderform-template-holder #payment-data p.link.link-gift-card,.orderform-template-holder #payment-data .payment-group-item{box-sizing:border-box;margin:0 6px 10px 0;border-radius:4px;border:1px solid #cbcbcb;opacity:1;text-decoration:none;color:#323232;transition:all ease .3s;padding:11px;text-align:center;display:flex;align-items:center;justify-content:center;background:#f3f3f3;float:left;width:100%}.orderform-template-holder #payment-data p.link.link-gift-card.active,.orderform-template-holder #payment-data .payment-group-item.active{background:#fff}.orderform-template-holder #payment-data p.link.link-gift-card.active span,.orderform-template-holder #payment-data .payment-group-item.active span{color:#000}.orderform-template-holder #payment-data p.link.link-gift-card.active,.orderform-template-holder #payment-data p.link.link-gift-card:hover,.orderform-template-holder #payment-data .payment-group-item.active,.orderform-template-holder #payment-data .payment-group-item:hover{box-shadow:0 0 6px #cbcbcb;border:1px solid #1a73e8}.orderform-template-holder #payment-data p.link.link-gift-card,.orderform-template-holder #payment-data fieldset.payment-group{width:100%;left:0;display:block;background:none;position:relative;margin:0}.orderform-template-holder #payment-data #iframe-placeholder-creditCardPaymentGroup{padding-top:32px}.orderform-template-holder #payment-data #iframe-placeholder-creditCardPaymentGroup>.payment-group-item-cards{display:block;overflow:hidden;position:absolute;right:0;top:0}.orderform-template-holder #payment-data #iframe-placeholder-creditCardPaymentGroup>.payment-group-item-cards .card-flag{opacity:1}.orderform-template-holder #payment-data p.link.link-gift-card{margin-bottom:10px;padding:0}.orderform-template-holder #payment-data p.link.link-gift-card a{padding:10px 10px;display:block;text-align:left}.orderform-template-holder #payment-data .payment-group-list-btn{width:100%}.orderform-template-holder #payment-data p.link.link-gift-card *,.orderform-template-holder #payment-data .payment-group-item *{font-size:12px !important;font-weight:bold}.orderform-template-holder #payment-data .payment-group-item{position:relative;height:40px}.orderform-template-holder #payment-data .payment-group-item span.payment-group-item-text{padding:0;line-height:17px;background:none !important}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+2),.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+2)~.payment-group-item{width:calc(50% - 3px)}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+3),.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+3)~.payment-group-item{width:calc(33.3% - 4px)}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+4),.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+4)~.payment-group-item{width:calc(25% - 4.8px)}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5),.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5)~.payment-group-item{width:100%;margin-right:0;height:auto}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5):after,.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5):before,.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5)~.payment-group-item:after,.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5)~.payment-group-item:before{display:none}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5):hover,.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5)~.payment-group-item:hover{top:0}.orderform-template-holder #payment-data .payment-group-item:last-child{margin-right:0}.orderform-template-holder #payment-data .payment-group-item:hover{position:relative;background:#fff;top:-2px}.orderform-template-holder #payment-data .payment-group-item.active:after,.orderform-template-holder #payment-data .payment-group-item.active:before{content:"";display:block;position:absolute;left:50%;transform:translateX(-50%);top:100%;width:0;height:0;border-style:solid}.orderform-template-holder #payment-data .payment-group-item.active:after{border-color:#fff rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:6px}.orderform-template-holder #payment-data .payment-group-item.active:before{border-color:#1a73e8 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:7px}.orderform-template-holder #payment-data .gift-card-section.form-step.box-default{padding:0;margin:0;width:100%}.orderform-template-holder #payment-data .gift-card-section.form-step.box-default label{font-weight:bold;color:#000;font-size:12px}.orderform-template-holder #payment-data p.payment-discounts-options,.orderform-template-holder #payment-data p.gift-card-provider-options{display:flex;align-items:center;padding-bottom:10px}.orderform-template-holder #payment-data p.payment-discounts-options input,.orderform-template-holder #payment-data p.payment-discounts-options select,.orderform-template-holder #payment-data p.gift-card-provider-options input,.orderform-template-holder #payment-data p.gift-card-provider-options select{margin:0 10px}.orderform-template-holder #payment-data p.payment-discounts-options label,.orderform-template-holder #payment-data p.gift-card-provider-options label{line-height:12px;margin:0}.orderform-template-holder #payment-data .payment-discounts-list{margin-bottom:10px}.orderform-template-holder #payment-data .payment-discounts-list .gift-card-provider-group-loyalty-program{border-bottom:1px solid #eee}.orderform-template-holder #payment-data .payment-discounts-list table{width:100%}.orderform-template-holder #payment-data .payment-discounts-list table td{padding:0}.orderform-template-holder #payment-data .payment-discounts-list table tbody,.orderform-template-holder #payment-data .payment-discounts-list table tr{display:flex;width:100%;flex-wrap:wrap;align-items:center}.orderform-template-holder #payment-data .payment-discounts-list table td.code,.orderform-template-holder #payment-data .payment-discounts-list table td.number{margin-right:20px;flex-grow:1;padding:0}.orderform-template-holder #payment-data .payment-discounts-list table #remove-gift-card{text-decoration:underline;color:#ff4c4c}.orderform-template-holder #payment-data input#payment-discounts-code{width:100% !important}.orderform-template-holder #payment-data #btn-add-gift-card{height:40px;border-radius:4px}.orderform-template-holder #payment-data .steps-view{width:100% !important;padding:0;min-height:initial}.orderform-template-holder #payment-data .steps-view iframe{margin:0}.orderform-template-holder #payment-data p.notification{font-weight:bold;font-weight:400;color:#323232}.orderform-template-holder #payment-data p.notification:not([style="display: none;"])+.box-step{padding:0;border:none}@media(min-width: 769px){.orderform-template-holder #payment-data:last-child{margin-bottom:0px !important}}.orderform-template-holder #payment-data .v-custom-payment-item-wrap{box-sizing:border-box;border-radius:4px;background:#fff;border:1px solid #cbcbcb;color:#323232;transition:all ease .3s;overflow:hidden;margin-bottom:10px}.orderform-template-holder #payment-data .v-custom-payment-item-wrap.active,.orderform-template-holder #payment-data .v-custom-payment-item-wrap:hover{border-color:#1a73e8;box-shadow:0 0 6px #ddd}.orderform-template-holder #payment-data .v-custom-payment-item-wrap #iframe-placeholder-creditCardPaymentGroup{padding-top:0}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item{border:none;border-bottom:1px solid rgba(0,0,0,0);box-shadow:none;margin:0;width:100% !important;height:auto;top:0}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text{margin-right:auto;text-align:left;line-height:27px !important;white-space:nowrap}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text:before{content:"";width:20px;height:20px;display:inline-block;border:1px solid #999;border-radius:100%;vertical-align:middle;margin:-3px 10px 0 0}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-cards{display:flex;justify-content:flex-end;flex-wrap:wrap}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-cards .card-flag:last-child{margin:0}@media(max-width: 360px){.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-cards{display:none}}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item.active{background:#f1f7ff;border-bottom:1px solid #1a73e8}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item.active .payment-group-item-text:before{background:#1a73e8;border-color:#1a73e8;box-shadow:inset 0 0 0 3px #fff}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item.active .payment-group-item-cards span{opacity:1}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item:hover .payment-group-item-text:before{border-color:#1a73e8}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item:before,.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item:after{display:none}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-payPalPaymentGroup{position:relative}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-payPalPaymentGroup:after{content:"";width:50px;height:20px;display:block;background:url("https://io.vtex.com.br/checkout-ui/v6.18.19/img/payment-paypal-landscape.png") center no-repeat;background-size:contain;position:absolute;top:50%;transform:translateY(-50%);right:12px;left:initial;border:none}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-AffirmPaymentGroup:after{content:"";width:65px;height:25px;display:block;background:url(https://cdn-assets.affirm.com/images/black_logo-transparent_bg.png) center no-repeat;background-size:contain;position:absolute;top:49%;transform:translateY(-50%);right:3px;left:initial;border:none}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item.active+div,.orderform-template-holder #payment-data .v-custom-payment-item-wrap.active>div{padding:20px;overflow:hidden;box-sizing:border-box}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .SecurityEnvironmentIcon{display:none}.orderform-template-holder .step{border:none;padding:0;background:none;margin-bottom:0}@media(max-width: 868px){.orderform-template-holder .step{width:100%}}.orderform-template-holder .step .box-info{color:#323232}.orderform-template-holder .step .box-info[style*="display: block"]{margin-top:10px}.orderform-template-holder .step .form-step fieldset{width:100%;float:none}.orderform-template-holder .step .form-step fieldset p{position:relative}@media(max-width: 690px){.orderform-template-holder .step .form-step fieldset p{float:none !important}}.orderform-template-holder .step .form-step fieldset p.client-last-name,.orderform-template-holder .step .form-step fieldset p.client-first-name{width:calc(50% - 5px);position:relative}@media(max-width: 690px){.orderform-template-holder .step .form-step fieldset p.client-last-name,.orderform-template-holder .step .form-step fieldset p.client-first-name{width:100%}.orderform-template-holder .step .form-step fieldset p.client-last-name input[type=text],.orderform-template-holder .step .form-step fieldset p.client-first-name input[type=text]{width:100% !important}}.orderform-template-holder .step .form-step fieldset p span.help.error{position:absolute;font-size:11px;margin-top:0}.orderform-template-holder .step .form-step fieldset.box-client-info-pj{padding-top:15px}.orderform-template-holder .step .form-step fieldset.box-payment-option h3{display:none}.orderform-template-holder .step .form-step #is-corporate-client{color:#1a73e8}.orderform-template-holder .step.client-profile-data .client-notice.notice{margin:0 0 10px 0}.orderform-template-holder .step.client-profile-data .box-client-info{margin-bottom:20px}.orderform-template-holder .step.client-profile-data .client-document,.orderform-template-holder .step.client-profile-data .client-phone{width:calc(50% - 5px)}@media(max-width: 690px){.orderform-template-holder .step.client-profile-data .client-document,.orderform-template-holder .step.client-profile-data .client-phone{width:100%}}.orderform-template-holder .step.shipping-data .box-step{display:flex;flex-wrap:wrap}.orderform-template-holder .step.shipping-data .box-step>*{width:100%;order:1}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-addressFormPart1{order:1}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-addressForm{order:2}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-addressInfo{order:3}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-deliveryGroup{order:4}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-submitPaymentButton{order:100}.orderform-template-holder .step.shipping-data .box-step>*.btn-link.vtex-omnishipping-1-x-btnDelivery,.orderform-template-holder .step.shipping-data .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .box-step>a.vtex-omnishipping-1-x-btnDelivery,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .orderform-template-holder .step.shipping-data .box-step>a.vtex-omnishipping-1-x-btnDelivery{order:5;margin-top:20px;background:#1a73e8}.orderform-template-holder .step.shipping-data .box-step>*#postalCode-finished-loading,.orderform-template-holder .step.shipping-data .box-step>*:last-child{margin:0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-address{margin:0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressSummaryActive .address-summary{background:url("data:image/svg+xml;utf8, ") no-repeat;background-position:12px 9px;border:1px solid #cbcbcb}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-content{align-items:center}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsOption{background:#fff}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-pickupButton,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionActive,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionActive:hover,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionActive:active,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionActive:focus,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsTogglePickup,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsOption.vtex-omnishipping-1-x-deliveryOptionActive{background:#1a73e8;border-color:#1a73e8;border-radius:4px}.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionInctive{color:#1a73e8;border-color:#1a73e8;border-radius:4px}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressItemOption:hover,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-active{background-color:#f1f7ff}.orderform-template-holder .step.shipping-data .shipping-method-toggle{border-color:#1a73e8}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-alert{border-color:#ffb100;display:flex;align-items:center}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-linkEdit{text-decoration:underline}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsWrapper,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsToggle{border-radius:4px}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsWrapper{border:1px solid #cbcbcb;width:100%;overflow:hidden;margin:0 0 20px 0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-summaryChange{background:#f1f7ff;border-color:#cbcbcb;color:#1a73e8}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-leanShippingGroupList{border-color:#eee;margin:0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-option:hover,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-leanShippingOptionActive,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-leanShippingOption{background:#fff !important}.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-modalDetailsBackLnk svg path,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-modalDetailsBackLnk{color:#676767;fill:#676767}.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-primary{outline:none;background:#1a73e8;border-color:#1a73e8}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-pickupPointChange{border-color:#1a73e8}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-address p{clear:both;float:none;margin:0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-address p.input.ship-checkboxNumberLabel.text{width:auto;align-self:flex-end;display:flex;align-items:center;margin-left:10px !important;height:40px}.orderform-template-holder .step.shipping-data input#ship-addressQuery{width:100%}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-container.shp-pickup-receiver{display:block}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-container.shp-pickup-receiver svg.person-blue path{fill:#1a73e8}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-container.shp-pickup-receiver .vtex-omnishipping-1-x-btn{color:#1a73e8}@media(max-width: 490px){.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-dateLink{width:100%}}.orderform-template-holder .step .submit.btn.btn-success,.orderform-template-holder .step .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.submit.btn-success,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .orderform-template-holder .step a.submit.btn-success,.orderform-template-holder .step #payment-data .payment-discounts-list table td.action a.submit.btn-success,.orderform-template-holder #payment-data .payment-discounts-list table td.action .step a.submit.btn-success{display:block;margin:20px auto 0 auto;min-width:55%}.orderform-template{display:flex !important;padding-top:0px;min-height:400px !important;align-items:flex-start}@media(max-width: 768px){.orderform-template{flex-wrap:wrap}}.orderform-template .orderform-template-holder{width:100%}@media(min-width: 769px){.orderform-template .orderform-template-holder{width:61% !important;padding-right:20px;max-width:calc(100% - 271px);float:left;box-sizing:border-box}}@media(max-width: 690px){.orderform-template{width:100%;padding-top:0px}}.orderform-template .cart-template.mini-cart{width:39%;min-width:255px;position:-webkit-sticky;position:-moz-sticky;position:-o-sticky;position:-ms-sticky;position:sticky;bottom:0px;top:20px;right:0;float:right;margin:0}@media(max-width: 768px){.orderform-template .cart-template.mini-cart{width:100%;position:relative;top:0}}.orderform-template .cart-template.mini-cart .cart-items>.v-custom-indexed-item{display:none !important}.orderform-template .cart-template.mini-cart .cart-fixed{height:auto !important;position:relative !important;max-width:100%;width:100% !important;top:0;min-height:initial}@media(min-width: 769px){.orderform-template .cart-template.mini-cart .cart-fixed.affix-top{position:relative !important}}.orderform-template .cart-template.mini-cart h2{text-align:left;border-top:none;background:none !important;margin-bottom:15px}.orderform-template .cart-template.mini-cart .quantity{min-width:10px;width:auto;height:10px;display:inline-block;background:#f1f7ff;color:#1a73e8}.orderform-template .cart-template.mini-cart .summary-template-holder{width:100%;background:none;border:none;padding:0}.orderform-template .cart-template.mini-cart .summary-template-holder .accordion-inner{margin-top:0px}.orderform-template .cart-template.mini-cart .summary-template-holder .summary>.summary-coupon-wrap,.orderform-template .cart-template.mini-cart .summary-template-holder .summary-coupon-wrap>.summary-coupon{display:block !important}.orderform-template .cart-template.mini-cart .summary-template-holder .summary-coupon p{margin:0}.orderform-template .cart-template.mini-cart .summary-template-holder .summary>.summary-coupon-wrap{border-top:1px solid #cbcbcb;padding:8px 0}.orderform-template .cart-template.mini-cart .summary-template-holder input[type=text],.orderform-template .cart-template.mini-cart .summary-template-holder button[type=submit],.orderform-template .cart-template.mini-cart .summary-template-holder p.coupon-fields span.info>span{line-height:30px !important;height:30px !important}.orderform-template .cart-template.mini-cart .item{padding:10px 0;margin:0;border:none;border-bottom:1px solid #eee}.orderform-template .cart-template.mini-cart .item:last-child{border:none}.orderform-template .cart-template.mini-cart .item ul.service-list.unstyled{margin:0;float:none;width:100%;background:none;display:inline-block;clear:both}.orderform-template .cart-template.mini-cart .item .service-item,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item{background:#f1f7ff;border:1px dashed #cbcbcb;border-radius:4px;width:100%;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:5px 10px;margin:10px 0 0 0}.orderform-template .cart-template.mini-cart .item .service-item .description,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .description{margin-top:0}.orderform-template .cart-template.mini-cart .item .service-item>a,.orderform-template .cart-template.mini-cart .item .service-item .quantity,.orderform-template .cart-template.mini-cart .item .service-item .shipping-date,.orderform-template .cart-template.mini-cart .item .service-item .item-subscription,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item>a,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .quantity,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .shipping-date,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .item-subscription{display:none}.orderform-template .cart-template.mini-cart .item .service-item .price,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .price{margin:0}.orderform-template .cart-template.mini-cart .item .service-item:last-child,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item:last-child{margin-bottom:0}.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .item-unavailable{display:none}.orderform-template .cart-template.mini-cart .item .fn{width:calc(82% - 20px)}.orderform-template .cart-template.mini-cart .item .description{display:flex;justify-content:space-between}.orderform-template .cart-template.mini-cart .item .price,.orderform-template .cart-template.mini-cart .item span.shipping-date{white-space:nowrap}.orderform-template .cart-template.mini-cart .item .url{border-radius:4px;overflow:hidden}.orderform-template .cart-template.mini-cart .summary-totalizers{margin-bottom:0}.orderform-template .cart-template.mini-cart #go-to-cart-button{position:absolute;top:0px;right:7px;color:#1a73e8;text-decoration:underline}@media(max-width: 690px){.orderform-template .cart-template.mini-cart #go-to-cart-button{display:none}}.orderform-template .cart-template.mini-cart .summary-totalizers tbody{border-top:1px solid #cbcbcb;border-bottom:1px solid #cbcbcb;padding:14px 0;display:block}.orderform-template .cart-template.mini-cart .summary-totalizers tbody tr.CustomTax:not(.CustomTax--total){display:none !important}.orderform-template .cart-template.mini-cart .summary-totalizers tbody td{display:inline-block;text-align:left !important;width:auto;color:#666;font-size:13px;padding:0 0 3px 0 !important}.orderform-template .cart-template.mini-cart .summary-totalizers tbody td.monetary{text-align:right !important;margin-left:auto;float:right}.orderform-template .cart-template.mini-cart .summary-totalizers tbody+tbody{border-top:none}.orderform-template .cart-template.mini-cart .summary-totalizers tbody.shipping-reset,.orderform-template .cart-template.mini-cart .summary-totalizers tbody.shipping-calculate{display:none !important}.orderform-template .cart-template.mini-cart .summary-totalizers tfoot tr td{padding:14px 0 !important;color:#000;font-size:14px;font-weight:bold;text-align:left}.orderform-template .cart-template.mini-cart .summary-totalizers tfoot tr td.monetary{text-align:right !important;margin-left:auto;float:right;color:#1a73e8}.orderform-template .cart-template.mini-cart .cart{margin-bottom:0;max-height:calc(100vh - 355px);overflow:auto}.orderform-template .cart-template.mini-cart .cart::-webkit-scrollbar{width:6px}.orderform-template .cart-template.mini-cart .cart::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:4px}.orderform-template .cart-template.mini-cart .cart::-webkit-scrollbar-thumb{background:#cbcbcb;border-radius:30px}.orderform-template .cart-template.mini-cart .cart:hover::-webkit-scrollbar-thumb{background:#eee}.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded){max-height:100px;overflow:hidden}.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded) li.item{overflow:hidden;position:relative;border:none !important}.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded) li.item>*{opacity:0}.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded) li.item:after{content:"";width:100%;height:100%;display:block;top:0px;left:0;position:absolute}.orderform-template .payment-confirmation-wrap{border:none;padding:0}.orderform-template .payment-confirmation-wrap .payment-submit-wrap{margin:10px 0 0 0}@media(max-width: 768px){.orderform-template .payment-confirmation-wrap .payment-submit-wrap{z-index:9999;position:fixed;bottom:0;width:100%;left:0;padding:0;background:#fff;margin:0 !important}.orderform-template .payment-confirmation-wrap .payment-submit-wrap button{border-radius:0 !important}}@media(max-width: 768px){.orderform-template .payment-confirmation-wrap{border:none !important}.orderform-template .payment-confirmation-wrap .payment-submit-wrap,.orderform-template .payment-confirmation-wrap button{margin:0 !important}}.orderform-template .payment-confirmation-wrap #payment-data-submit:disabled span{display:none}.orderform-template .summary-note{display:none !important}.orderform-template .summary-note p.note-data{display:none !important}.orderform-template .summary-note>div{display:block !important}.orderform-template .summary-note .note-textarea{height:50px;line-height:20px;max-width:100%;width:100%;font-family:"Roboto",sans-serif;max-height:100px}.orderform-template .custom-cart-template-wrap{position:relative;background:#fff;padding:17px 20px;text-align:left;box-sizing:border-box;border-radius:4px;border:none}.orderform-template .custom-cart-template-wrap .summary-cart-template-holder{height:auto !important}.orderform-template .custom-cart-template-wrap .summary-template-holder{margin-top:0}.step.client-profile-data.active .box-step .form-step[style*="display: block"],.step.shipping-data.active .accordion-inner.shipping-container,#payment-data .box-step form.form-step{padding-top:20px !important}.orderform-template-holder #shipping-data .shipping-summary-info,.orderform-template-holder .step .accordion-body p.notification,.client-pre-email+.client-profile-data .accordion-body:before{display:none}body.v-custom-step-shipping #shipping-data .shipping-summary-info,body.v-custom-step-payment #shipping-data .shipping-summary-info{display:block}.steps-view,.gift-card-section,.App.iframe-credit-card-payment-group{background:#fff}#app-container{min-height:100vh;background:#fff}#app-container input[type=text],#app-container input[type=tel],#app-container input[type=email],#app-container select{width:100%}#app-container span.help.error{margin:0 !important;display:none}#app-container .SecurityEnvironmentIcon{margin-bottom:20px;display:none}#app-container .CardForm>div{position:relative;clear:both}#app-container .CardForm .PaymentValue{display:none}#app-container .CardForm input#creditCardpayment-card-0Number[value=""]{background:#fff;position:relative;z-index:1}#app-container .CardForm .SavedCardsList{width:calc(100% - 1px)}#app-container .CardForm .SavedCard .link-delete{right:8px;top:50%;margin-top:-10px;border:1px solid #ccc;background:#fff;width:20px;height:20px;line-height:17px}#app-container .FormFieldLabel{line-height:30px}#app-container .PaymentCardFlags{position:absolute;top:calc(30px + (40px - 25px)/2);right:16px;padding:0}#app-container .PaymentCardFlags .card-flag-label input{display:none}#app-container .PaymentCardFlags .card-flag-label{width:auto}#app-container .PaymentCardFlags .card-flag{opacity:.7;display:none}#app-container .PaymentCardFlags .card-flag.card-selected{opacity:1;display:block}#app-container input#creditCardpayment-card-0Code,#app-container input#creditCardpayment-card-1Code{width:100px !important}#app-container .label-vertical-group{padding:9px}#app-container .label-vertical-group:hover{color:#1a73e8}#app-container .label-vertical-group.active{color:#1a73e8;background:#f1f7ff}#app-container .label-vertical-group:not(.SavedCard) .card-flag{position:absolute;left:5px;top:8px}#app-container .label-vertical-group .icon-ok-circle,#app-container .label-vertical-group .icon-circle-blank{top:9px}#app-container .label-vertical-group.UseAnotherCard{background-color:#eee;padding:4px;font-size:11px;text-decoration:underline}#app-container .label-vertical-group.UseAnotherCard #use-another-card{color:#676767}#app-container .label-vertical-group.UseAnotherCard:hover #use-another-card{text-decoration:underline;color:#999}#app-container label.FormFieldLabel{display:block;clear:both;width:auto;margin-right:10px}#app-container .AddressForm{display:flex;flex-wrap:wrap}#app-container .AddressForm>*{width:100%;order:10}#app-container .AddressForm input{max-width:100%}#app-container .AddressForm .payment-billing-address-street{order:1}#app-container .AddressForm .payment-billing-address-complement{order:2}#app-container .AddressForm .payment-billing-address-city{order:3}#app-container .AddressForm .payment-billing-address-state{order:4}#app-container .AddressForm .PostalCode{order:5}.orderform-template .summary-note.js-active{display:block !important}body.js-vcustom-showNoteField .orderform-template .payment-confirmation-wrap{display:block !important}body.js-vcustom-showNoteField .orderform-template .payment-confirmation-wrap .payment-submit-wrap{display:none}body.js-vcustom-showNoteField .orderform-template .summary-note{display:block !important}body.js-vcustom-showNoteField.v-custom-step-payment .orderform-template .payment-confirmation-wrap .payment-submit-wrap{display:block !important}.summary-coupon fieldset.coupon-fieldset .vcustom-showCustomMsgCoupon{border:1px dashed #ffb100;padding:1px;font-size:11px;background:#fff6e0;border-radius:4px;margin-top:4px !important;clear:both}.vcustom-customTax-tot{display:inline-block;position:relative;margin-left:5px}.vcustom-customTax-tot>span{background:#eee;width:15px;height:15px;line-height:15px;display:inline-block;border-radius:100%;text-align:center;cursor:pointer}.vcustom-customTax-tot:hover .vcustom-customTax-resume{display:block}.vcustom-customTax-resume{position:absolute;left:calc(100% + 10px);width:128px;background:#eee;top:50%;font-size:11px;padding:10px;transform:translateY(-50%);display:none}.vcustom-customTax-resume__i{display:flex;justify-content:space-between;margin:0}.vcustom-customTax-resume:before{content:"";display:block;position:absolute;left:-4px;top:calc(50% - 4px);width:0;height:0;border:0 solid rgba(0,0,0,0);border-top-width:4px;border-bottom-width:4px;border-right:4px solid #eee}.v-custom-addLabels-active-flag{background:#fff;color:#323232;padding:1px 4px;border-radius:4px;display:inline-block;align-items:center;font-size:11px;border:1px solid #cbcbcb}.v-custom-addLabels-active-flag:before{content:"";display:inline-block;width:14px;height:14px;background:url("//io.vtex.com.br/front-libs/bootstrap/2.3.2/img/glyphicons-halflings.png");background-repeat:no-repeat;background-position:0 -48px;margin-right:4px;opacity:.9;vertical-align:middle}.v-custom-assemblies{margin:10px 0 3px 0;overflow:hidden;border-top:1px solid #cbcbcb;padding-top:7px}@media(max-width: 690px){.v-custom-assemblies{width:100%;left:0;margin-bottom:2px}}.v-custom-assemblies p{display:none}.v-custom-assemblies__values{list-style:none;padding:0;margin:0}.v-custom-assemblies__values__item strong:after{content:":"}.v-custom-assemblies__values__item span,.v-custom-assemblies__values__item strong{line-height:14px}body.v-custom-paymentBuilder-accordion .steps-view{display:none}body.v-custom-changeShippingTimeInfo .orderform-template .cart-template.mini-cart .item span.shipping-date{display:none}#shipping-data .accordion-group.shipping-data:after{opacity:0;transition:all ease .3s}.js-v-custom-is-loadAddress .vtex-omnishipping-1-x-warning{display:none !important}.js-v-custom-is-loadAddress #shipping-data .accordion-group.shipping-data:after{content:"";display:block;opacity:1;left:0;top:0;width:100%;height:20px;z-index:2;margin:0 0 20px 0;border-radius:3px}.js-v-custom-is-loadAddress #postalCode-finished-loading+.mb5{display:none !important}.vcustom--vtex-omnishipping-1-x-address{display:none}body.v-custom-addressForm-on.v-custom-step-shipping .vcustom--vtex-omnishipping-1-x-address{display:block}body.v-custom-addressForm-on.v-custom-step-shipping .v-custom-ship-info{display:flex}body.v-custom-addressForm-on.v-custom-step-shipping .v-custom-ship-info .ship-number{margin-right:10px}body.v-custom-addressForm-on.v-custom-step-shipping .vtex-omnishipping-1-x-addressForm,body.v-custom-addressForm-on.v-custom-step-shipping .vtex-omnishipping-1-x-deliveryGroup,body.v-custom-addressForm-on.v-custom-step-shipping .vtex-omnishipping-1-x-submitPaymentButton{display:none}.vtex-omnishipping-1-x-submitShippingStepButton{margin:20px 0 0 0}body.v-custom-googleForm-on .vtex-omnishipping-1-x-deliveryGroup,body.v-custom-googleForm-on .vtex-omnishipping-1-x-addressForm,body.v-custom-googleForm-on .vtex-omnishipping-1-x-submitPaymentButton,body.v-custom-googleForm-on .vtex-omnishipping-1-x-btnDelivery{display:none}body.v-custom-googleForm-on .alert-noStreet{display:none}.v-custom-googleFormScript-added.v-custom-googleForm-on .accordion-inner.shipping-container>*{display:none}body.v-custom-fnsCustomAddressForm .accordion-inner.shipping-container{padding-top:0 !important}body.v-custom-fnsCustomAddressForm .accordion-inner.shipping-container{transition:all ease .3s}body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-selectDeliveryText+div{margin:0 !important}body.v-custom-fnsCustomAddressForm .orderform-template-holder p.vtex-omnishipping-1-x-submitPaymentButton.btn-submit-wrapper.btn-go-to-payment-wrapper{margin-bottom:0 !important}body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-addressFormPart1 .input.ship-country,body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-addressFormPart1 .input.ship-addressQuery,body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-addressFormPart1 .input.ship-postalCode{display:none}body.v-custom-fnsCustomAddressForm.returningUser .vtex-omnishipping-1-x-addressFormPart1 .input.ship-postalCode{display:block}body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-container.shp-pickup-receiver+.vtex-omnishipping-1-x-shippingSectionTitle+#back-to-address-list+.vtex-omnishipping-1-x-addressFormPart1 p.input.ship-postalCode,body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-container.shp-pickup-receiver+.vtex-omnishipping-1-x-shippingSectionTitle+.vtex-omnishipping-1-x-addressFormPart1 p.input.ship-postalCode{display:block}body.v-custom-fnsCustomAddressForm .orderform-template-holder .step.shipping-data .box-step .vtex-omnishipping-1-x-addressFormPart1{order:1}body.v-custom-fnsCustomAddressForm .pac-logo[style*=none]{border:0}body.v-custom-fnsCustomAddressForm .pac-logo[style*=none]:after{display:none}body.v-custom-fnsCustomAddressForm #shipping-data .accordion-inner+.vcustom--vtex-omnishipping-1-x-address{display:none}body.v-custom-fnsCustomAddressForm div#shipping-data{display:flex;flex-wrap:wrap}body.v-custom-fnsCustomAddressForm div#shipping-data>*{width:100%}body.v-custom-fnsCustomAddressForm div#shipping-data .step.accordion-group.shipping-data{order:1}body.v-custom-fnsCustomAddressForm div#shipping-data .vcustom--vtex-omnishipping-1-x-address{order:3}.js-v-custom-is-loading .accordion-inner.shipping-container,.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address{overflow:hidden}.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address{height:120px;position:relative}.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address:before{content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%;z-index:2}.js-v-custom-is-loading .accordion-inner.shipping-container>*,.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address>*{opacity:.5}.vcustom--vtex-omnishipping-1-x-address{transition:all ease .3s}.vcustom--vtex-omnishipping-1-x-address p.input{float:none;width:100%;margin:0}.vcustom--vtex-omnishipping-1-x-address span.help.error{display:none}.vcustom--vtex-omnishipping-1-x-address input{max-width:initial;width:100%}.vcustom--vtex-omnishipping-1-x-address input.error+span.help.error,.vcustom--vtex-omnishipping-1-x-address select.error+span.help.error{display:block}.vcustom--vtex-omnishipping-1-x-address__state{display:flex;margin:0 -5px}.vcustom--vtex-omnishipping-1-x-address__state p.input{margin:0 5px}@media(max-width: 768px){.vcustom--vtex-omnishipping-1-x-address__state{flex-wrap:wrap;margin:0}.vcustom--vtex-omnishipping-1-x-address__state p.input.ship-state{margin:0}}.pac-container.pac-logo{border:1px solid #cbcbcb;border-radius:4px}.pac-logo:after{background:#fbfbfb url(https://developers.google.com/maps/documentation/images/powered_by_google_on_white.png) no-repeat 10px center;padding:14px;background-size:110px}.address-list.vtex-omnishipping-1-x-addressList+p.input.ship-addressQuery.text{display:none}.alert-noStreet{margin:30px auto 0 auto;text-align:center}body.js-vcustom-hideEmailStep .orderform-template-holder #client-profile-data form.client-pre-email.client-pre-email{display:none !important}body.js-vcustom-hideEmailStep .client-profile-data .accordion-toggle>span:before{content:"1"}body.js-vcustom-hideEmailStep .shipping-data .accordion-toggle:before{content:"2"}body.js-vcustom-hideEmailStep .payment-data .accordion-toggle>span:not(.payment-edit-link):before{content:"3"}body.js-vcustom-hideEmailStep .client-pre-email+.client-profile-data .accordion-body .accordion-inner{display:block}.RTL-checkout select{direction:rtl}.RTL-checkout .cart-template-holder{order:2}.RTL-checkout body .main-header .header-link{left:initial;right:0}.RTL-checkout body .main-header .checkout-steps{margin-left:initial;margin-right:auto}.RTL-checkout .main-header .logo{order:2}.RTL-checkout .summary-template-holder tr .info{order:2;text-align:right !important}.RTL-checkout .orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit,.RTL-checkout .orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit,.RTL-checkout .orderform-template-holder #shipping-data .link-box-edit,.RTL-checkout .orderform-template-holder #payment-data .link-box-edit{right:initial;left:0}.RTL-checkout .summary-template-holder tbody td.monetary,.RTL-checkout .summary-template-holder tfoot tr td.monetary{margin-right:auto;margin-left:initial !important;text-align:left !important}.RTL-checkout .summary-template-holder .summary-coupon p.coupon-fields span{flex-direction:row-reverse}.RTL-checkout .summary-template-holder .summary-coupon p.coupon-fields span input{margin:0 0 0 10px}.RTL-checkout .table.cart-items tbody tr .v-custom-product-item-wrap,.RTL-checkout .table.cart-items tbody tr,.RTL-checkout .table.cart-items thead tr,.RTL-checkout .table.cart-items thead tr th.product{flex-direction:row-reverse;text-align:right}.RTL-checkout .table.cart-items tbody tr td.product-name{text-align:right}.RTL-checkout .orderform-template .orderform-template-holder{order:2;padding:0 0 0 20px}.RTL-checkout .orderform-template .cart-template.mini-cart .summary-totalizers tfoot tr td.monetary{text-align:left !important}.RTL-checkout br{width:100%;height:1px;content:" " !important;display:block !important;clear:both}.RTL-checkout .table.cart-items td.quantity{direction:rtl}.RTL-checkout .checkout-steps_items{direction:rtl}.RTL-checkout .checkout-steps_items .text:before{margin:0 0 0 7px}.RTL-checkout .srp-toggle__wrapper{direction:rtl}.RTL-checkout .srp-toggle__wrapper .vtex-shipping-preview-0-x-framePickup{left:0}.RTL-checkout .srp-toggle__wrapper .vtex-shipping-preview-0-x-frameDelivery{left:50%}.RTL-checkout .srp-delivery-header.mb3{direction:rtl;display:flex}.RTL-checkout .srp-delivery-current-many .flex{direction:rtl;text-align:right}.RTL-checkout .step{direction:rtl}.RTL-checkout .step .accordion-toggle>span:before,.RTL-checkout .step .accordion-toggle:before{margin-right:0 !important;margin-left:10px !important}.RTL-checkout fieldset.box-client-info-pf{display:flex;flex-wrap:wrap}.RTL-checkout .orderform-template-holder .step .form-step fieldset p,.RTL-checkout .orderform-template-holder .step .form-step fieldset div{width:100%}.RTL-checkout p.client-first-name,.RTL-checkout p.client-different-document,.RTL-checkout p.client-document,.RTL-checkout p.client-company-ie,.RTL-checkout p.client-company-postal-code,.RTL-checkout p.client-document-type,.RTL-checkout p.payment-card-due-date{margin-left:10px;margin-right:0}.RTL-checkout p.client-document,.RTL-checkout p.client-phone,.RTL-checkout p.client-company-document,.RTL-checkout p.client-company-ie,.RTL-checkout p.client-company-postal-code,.RTL-checkout p.client-company-phone,.RTL-checkout p.payment-card-due-month,.RTL-checkout p.payment-card-lash,.RTL-checkout p.payment-card-due-year{float:right}.RTL-checkout input.success:not([invalid=true]){background-position:left top}.RTL-checkout .vtexIdUI .vtexIdUI-page{direction:rtl}.RTL-checkout .vtexIdUI .modal-header .close{left:-1px;right:initial}.RTL-checkout .vtexIdUI .pull-left{float:right}.RTL-checkout .orderform-template-holder .step .box-info p{display:flex;flex-wrap:wrap;width:100%}.RTL-checkout .vtex-omnishipping-1-x-leanShippingIcon.shp-option-icon,.RTL-checkout .vtex-omnishipping-1-x-addressItemIcon{margin:0 0 0 10px}.RTL-checkout .vtex-omnishipping-1-x-leanShippingText{padding-right:10px}.RTL-checkout .address-summary{display:flex;flex-wrap:wrap}.RTL-checkout br.line1-delimiter{width:100%;height:1px;content:" " !important;display:block !important;clear:both}.RTL-checkout .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-AffirmPaymentGroup:after,.RTL-checkout .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-payPalPaymentGroup:after{right:initial;left:10px}.RTL-checkout .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text{margin-left:auto;margin-right:inherit}.RTL-checkout .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text:before{margin-right:initial;margin-left:10px}.RTL-checkout .orderform-template-holder #payment-data p.link.link-gift-card a{text-align:right}.RTL-checkout .orderform-template .custom-cart-template-wrap .summary-cart-template-holder{direction:rtl}.RTL-checkout .pull-right{float:left !important}.RTL-checkout .orderform-template .cart-template.mini-cart .item .price{margin-right:auto;direction:initial}.RTL-checkout .orderform-template .cart-template.mini-cart .item .url{float:right;margin:0 0 0 6px}.RTL-checkout .orderform-template .cart-template.mini-cart .item .fn{text-align:right;float:right}.RTL-checkout .orderform-template .cart-template.mini-cart h2{text-align:right}.RTL-checkout .orderform-template .cart-template.mini-cart #go-to-cart-button{left:7px;right:initial}.RTL-checkout .vtex-omnishipping-1-x-SummaryItemInfo{border:none;border-left:1px solid #eee;padding:0 0 0 6px}.RTL-checkout .vtexIdUI .vtexIdUI-page{direction:rtl}.RTL-checkout .vtexIdUI .modal-header .close{left:-1px;right:initial}.RTL-checkout .vtexIdUI .pull-left{float:right}.RTL-checkout #app-container{direction:rtl}.RTL-checkout #app-container .PaymentCardDueDate.clearfix{display:flex}.RTL-checkout #app-container label.FormFieldLabel{margin:0 0 0 10px}.RTL-checkout #app-container .PaymentCardCVV{display:flex}.RTL-checkout #app-container p.AddressToggle{display:flex}.RTL-checkout #app-container .AddressToggle input{margin:3px 0 0 5px}@media(max-width: 998px){.RTL-checkout.body-cart-vertical .summary-template-holder{order:2}}@media(max-width: 768px){.RTL-checkout .orderform-template .cart-template.mini-cart{order:2}}@media(max-width: 690px){.RTL-checkout .table.cart-items td.product-image a{margin-right:0;margin-left:20px}.RTL-checkout .full-cart .cart table tbody tr td.product-image,.RTL-checkout .full-cart .cart table tbody tr td.bundle-item-image{left:initial;right:0}.RTL-checkout .table.cart-items td.product-name,.RTL-checkout .table.cart-items td.quantity{margin-left:0 !important;margin-right:90px !important}.RTL-checkout .table.cart-items td.quantity{float:right}.RTL-checkout .full-cart .cart table tbody tr td.product-name a,.RTL-checkout .full-cart .cart table tbody tr td.bundle-item-name span{padding:0 0 0 20px}.RTL-checkout .full-cart .cart table tbody tr td.product-price{float:left}.RTL-checkout .full-cart .cart table tbody tr td.item-remove{left:0;right:initial}}body.debug-on>*:not(.container-main,.main-header,.main-footer,#vtexIdContainer,.vtex-front-messages-placeholder,.pac-container){display:none} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/checkout6-custom.js b/checkout-ui-settings/checkout-ui-custom/checkout6-custom.js new file mode 100644 index 00000000..254cd2b5 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/checkout6-custom.js @@ -0,0 +1 @@ +(()=>{var e={195:(e,o,a)=>{e.exports=a.p+"checkout6-custom.css"},540:e=>{e.exports._countriesrules={ITA:{state:{valueIn:"short_name",types:["administrative_area_level_2"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0},GBR:{state:{valueIn:"short_name",types:["postal_town"]},city:{valueIn:"long_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0},SMR:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},number:!0,city:{valueIn:"long_name",types:["locality"]},postalCode:!0},USA:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0},CAN:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0},ESP:{state:{valueIn:"short_name",types:["administrative_area_level_2"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0},NLD:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0,postalCodeLength:6},BEL:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0},AUT:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"long_name",types:["locality"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!0,postalCode:!0},HRV:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},CYP:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},DNK:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},EST:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},FIN:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},DEU:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},complement:{valueIn:"long_name",types:["subpremise"]},neighborhood:{valueIn:"long_name",types:["administrative_area_level_3"]},number:!0,postalCode:!0,postalCodeLength:5},GRC:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"long_name",types:["administrative_area_level_3"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},CZE:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["sublocality_level_1"]},neighborhood:!1,number:!1,postalCode:!0,postalCodeLength:5},CHE:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0,postalCodeLength:4},ROU:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0,postalCodeLength:6},HUN:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},IRL:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"short_name",types:["postal_town"]},number:!1,postalCode:!0,postalCodeLength:7},LVA:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},LTU:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0,postalCodeLength:5},LUX:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},MLT:{state:!1,number:!1,street:{valueIn:"long_name",types:["route"]},neighborhood:{valueIn:"long_name",types:["neighborhood","sublocality_level_1","sublocality_level_2","sublocality_level_3","sublocality_level_4","sublocality_level_5"]},city:{valueIn:"long_name",types:["administrative_area_level_2","locality"]},receiverName:{required:!0},postalCode:!0},PRT:{state:!1,city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:7},SVK:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},SVN:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},SWE:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["postal_town"]},city:{valueIn:"short_name",types:["sublocality_level_1"]},number:!0,postalCode:!0},ARG:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0,postalCodeLength:4},VAT:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0},BRA:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0},ARE:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:[{valueIn:"long_name",types:["locality"]}]},number:!0,postalCode:!1},RUS:{number:!1,city:{valueIn:"long_name",types:["locality","administrative_area_level_2"]},state:!1,neighborhood:{valueIn:"long_name",types:["administrative_area_level_3"]},postalCode:!0},WWD:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0},ZAF:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0},PAN:{state:"administrative_area_level_1",city:"administrative_are_level_2",neighborhood:"locality",number:!1,postalCode:!0},PRI:{state:"administrative_area_level_1",city:"administrative_are_level_2",neighborhood:"locality",number:!1,postalCode:!0}},e.exports._countries=[["AF","AFG"],["AX","ALA"],["AL","ALB"],["DZ","DZA"],["AS","ASM"],["AD","AND"],["AO","AGO"],["AI","AIA"],["AQ","ATA"],["AG","ATG"],["AR","ARG"],["AM","ARM"],["AW","ABW"],["AU","AUS"],["AT","AUT"],["AZ","AZE"],["BS","BHS"],["BH","BHR"],["BD","BGD"],["BB","BRB"],["BY","BLR"],["BE","BEL"],["BZ","BLZ"],["BJ","BEN"],["BM","BMU"],["BT","BTN"],["BO","BOL"],["BQ","BES"],["BA","BIH"],["BW","BWA"],["BV","BVT"],["BR","BRA"],["IO","IOT"],["BN","BRN"],["BG","BGR"],["BF","BFA"],["BI","BDI"],["KH","KHM"],["CM","CMR"],["CA","CAN"],["CV","CPV"],["KY","CYM"],["CF","CAF"],["TD","TCD"],["CL","CHL"],["CN","CHN"],["CX","CXR"],["CC","CCK"],["CO","COL"],["KM","COM"],["CG","COG"],["CD","COD"],["CK","COK"],["CR","CRI"],["CI","CIV"],["HR","HRV"],["CU","CUB"],["CW","CUW"],["CY","CYP"],["CZ","CZE"],["DK","DNK"],["DJ","DJI"],["DM","DMA"],["DO","DOM"],["EC","ECU"],["EG","EGY"],["SV","SLV"],["GQ","GNQ"],["ER","ERI"],["EE","EST"],["ET","ETH"],["FK","FLK"],["FO","FRO"],["FJ","FJI"],["FI","FIN"],["FR","FRA"],["GF","GUF"],["PF","PYF"],["TF","ATF"],["GA","GAB"],["GM","GMB"],["GE","GEO"],["DE","DEU"],["GH","GHA"],["GI","GIB"],["GR","GRC"],["GL","GRL"],["GD","GRD"],["GP","GLP"],["GU","GUM"],["GT","GTM"],["GG","GGY"],["GN","GIN"],["GW","GNB"],["GY","GUY"],["HT","HTI"],["HM","HMD"],["VA","VAT"],["HN","HND"],["HK","HKG"],["HU","HUN"],["IS","ISL"],["IN","IND"],["ID","IDN"],["IR","IRN"],["IQ","IRQ"],["IE","IRL"],["IM","IMN"],["IL","ISR"],["IT","ITA"],["JM","JAM"],["JP","JPN"],["JE","JEY"],["JO","JOR"],["KZ","KAZ"],["KE","KEN"],["KI","KIR"],["KP","PRK"],["KR","KOR"],["KW","KWT"],["KG","KGZ"],["LA","LAO"],["LV","LVA"],["LB","LBN"],["LS","LSO"],["LR","LBR"],["LY","LBY"],["LI","LIE"],["LT","LTU"],["LU","LUX"],["MO","MAC"],["MK","MKD"],["MG","MDG"],["MW","MWI"],["MY","MYS"],["MV","MDV"],["ML","MLI"],["MT","MLT"],["MH","MHL"],["MQ","MTQ"],["MR","MRT"],["MU","MUS"],["YT","MYT"],["MX","MEX"],["FM","FSM"],["MD","MDA"],["MC","MCO"],["MN","MNG"],["ME","MNE"],["MS","MSR"],["MA","MAR"],["MZ","MOZ"],["MM","MMR"],["NA","NAM"],["NR","NRU"],["NP","NPL"],["NL","NLD"],["NC","NCL"],["NZ","NZL"],["NI","NIC"],["NE","NER"],["NG","NGA"],["NU","NIU"],["NF","NFK"],["MP","MNP"],["NO","NOR"],["OM","OMN"],["PK","PAK"],["PW","PLW"],["PS","PSE"],["PA","PAN"],["PG","PNG"],["PY","PRY"],["PE","PER"],["PH","PHL"],["PN","PCN"],["PL","POL"],["PT","PRT"],["PR","PRI"],["QA","QAT"],["RE","REU"],["RO","ROU"],["RU","RUS"],["RW","RWA"],["BL","BLM"],["SH","SHN"],["KN","KNA"],["LC","LCA"],["MF","MAF"],["PM","SPM"],["VC","VCT"],["WS","WSM"],["SM","SMR"],["ST","STP"],["SA","SAU"],["SN","SEN"],["RS","SRB"],["SC","SYC"],["SL","SLE"],["SG","SGP"],["SX","SXM"],["SK","SVK"],["SI","SVN"],["SB","SLB"],["SO","SOM"],["ZA","ZAF"],["GS","SGS"],["SS","SSD"],["ES","ESP"],["LK","LKA"],["SD","SDN"],["SR","SUR"],["SJ","SJM"],["SZ","SWZ"],["SE","SWE"],["CH","CHE"],["SY","SYR"],["TW","TWN"],["TJ","TJK"],["TZ","TZA"],["TH","THA"],["TL","TLS"],["TG","TGO"],["TK","TKL"],["TO","TON"],["TT","TTO"],["TN","TUN"],["TR","TUR"],["TM","TKM"],["TC","TCA"],["TV","TUV"],["UG","UGA"],["UA","UKR"],["AE","ARE"],["GB","GBR"],["US","USA"],["UM","UMI"],["UY","URY"],["UZ","UZB"],["VU","VUT"],["VE","VEN"],["VN","VNM"],["VG","VGB"],["VI","VIR"],["WF","WLF"],["EH","ESH"],["YE","YEM"],["ZM","ZMB"],["ZW","ZWE"],["XK","XKX"]],e.exports._cities=[{countryName:"Albania",countryShortCode:"AL",regions:[{name:"Berat",shortCode:"01"},{name:"Dibër",shortCode:"09"},{name:"Durrës",shortCode:"02"},{name:"Elbasan",shortCode:"03"},{name:"Fier",shortCode:"04"},{name:"Gjirokastër",shortCode:"05"},{name:"Korçë",shortCode:"06"},{name:"Kukës",shortCode:"07"},{name:"Lezhë",shortCode:"08"},{name:"Shkodër",shortCode:"10"},{name:"Tirana",shortCode:"11"},{name:"Vlorë",shortCode:"12"}]},{countryName:"Algeria",countryShortCode:"DZ",regions:[{name:"Adrar",shortCode:"01"},{name:"Aïn Defla",shortCode:"44"},{name:"Aïn Témouchent",shortCode:"46"},{name:"Algiers",shortCode:"16"},{name:"Annaba",shortCode:"23"},{name:"Batna",shortCode:"05"},{name:"Béchar",shortCode:"08"},{name:"Béjaïa",shortCode:"06"},{name:"Biskra",shortCode:"07"},{name:"Blida",shortCode:"09"},{name:"Bordj Bou Arréridj",shortCode:"34"},{name:"Bouïra",shortCode:"10"},{name:"Boumerdès",shortCode:"35"},{name:"Chlef",shortCode:"02"},{name:"Constantine",shortCode:"25"},{name:"Djelfa",shortCode:"17"},{name:"El Bayadh",shortCode:"32"},{name:"El Oued",shortCode:"39"},{name:"El Tarf",shortCode:"36"},{name:"Ghardaïa",shortCode:"47"},{name:"Guelma",shortCode:"24"},{name:"Illizi",shortCode:"33"},{name:"Jijel",shortCode:"18"},{name:"Khenchela",shortCode:"40"},{name:"Laghouat",shortCode:"03"},{name:"Mascara",shortCode:"29"},{name:"Médéa",shortCode:"26"},{name:"Mila",shortCode:"43"},{name:"Mostaganem",shortCode:"27"},{name:"Msila",shortCode:"28"},{name:"Naâma",shortCode:"45"},{name:"Oran",shortCode:"31"},{name:"Ouargla",shortCode:"30"},{name:"Oum el Bouaghi",shortCode:"04"},{name:"Relizane",shortCode:"48"},{name:"Saïda",shortCode:"20"},{name:"Sétif",shortCode:"19"},{name:"Sidi Bel Abbès",shortCode:"22"},{name:"Skikda",shortCode:"21"},{name:"Souk Ahras",shortCode:"41"},{name:"Tamanghasset",shortCode:"11"},{name:"Tébessa",shortCode:"12"},{name:"Tiaret",shortCode:"14"},{name:"Tindouf",shortCode:"37"},{name:"Tipaza",shortCode:"42"},{name:"Tissemsilt",shortCode:"38"},{name:"Tizi Ouzou",shortCode:"15"},{name:"Tlemcen",shortCode:"13"}]},{countryName:"Andorra",countryShortCode:"AD",regions:[{name:"Andorra la Vella",shortCode:"07"},{name:"Canillo",shortCode:"02"},{name:"Encamp",shortCode:"03"},{name:"Escaldes-Engordany",shortCode:"08"},{name:"La Massana",shortCode:"04"},{name:"Ordino",shortCode:"05"},{name:"Sant Julià de Lòria",shortCode:"06"}]},{countryName:"Angola",countryShortCode:"AO",regions:[{name:"Bengo",shortCode:"BGO"},{name:"Benguela",shortCode:"BGU"},{name:"Bié",shortCode:"BIE"},{name:"Cabinda",shortCode:"CAB"},{name:"Cuando Cubango",shortCode:"CCU"},{name:"Cuanza Norte",shortCode:"CNO"},{name:"Cuanza Sul",shortCode:"CUS"},{name:"Cunene",shortCode:"CNN"},{name:"Huambo",shortCode:"HUA"},{name:"Huíla",shortCode:"HUI"},{name:"Luanda",shortCode:"LUA"},{name:"Lunda Norte",shortCode:"LNO"},{name:"Lunda Sul",shortCode:"LSU"},{name:"Malanje",shortCode:"MAL"},{name:"Moxico",shortCode:"MOX"},{name:"Namibe",shortCode:"NAM"},{name:"Uíge",shortCode:"UIG"},{name:"Zaire",shortCode:"ZAI"}]},{countryName:"Anguilla",countryShortCode:"AI",regions:[{name:"Anguilla",shortCode:"01"},{name:"Anguillita Island",shortCode:"02"},{name:"Blowing Rock",shortCode:"03"},{name:"Cove Cay",shortCode:"04"},{name:"Crocus Cay",shortCode:"05"},{name:"Deadman's Cay",shortCode:"06"},{name:"Dog Island",shortCode:"07"},{name:"East Cay",shortCode:"08"},{name:"Little Island",shortCode:"09"},{name:"Little Scrub Island",shortCode:"10"},{name:"Mid Cay",shortCode:"11"},{name:"North Cay",shortCode:"12"},{name:"Prickly Pear Cays",shortCode:"13"},{name:"Rabbit Island",shortCode:"14"},{name:"Sandy Island/Sand Island",shortCode:"15"},{name:"Scilly Cay",shortCode:"16"},{name:"Scrub Island",shortCode:"17"},{name:"Seal Island",shortCode:"18"},{name:"Sombrero/Hat Island",shortCode:"19"},{name:"South Cay",shortCode:"20"},{name:"South Wager Island",shortCode:"21"},{name:"West Cay",shortCode:"22"}]},{countryName:"Antigua and Barbuda",countryShortCode:"AG",regions:[{name:"Antigua Island",shortCode:"01"},{name:"Barbuda Island",shortCode:"02"},{name:"Bird Island",shortCode:"04"},{name:"Bishop Island",shortCode:"05"},{name:"Blake Island",shortCode:"06"},{name:"Crump Island",shortCode:"09"},{name:"Dulcina Island",shortCode:"10"},{name:"Exchange Island",shortCode:"11"},{name:"Five Islands",shortCode:"12"},{name:"Great Bird Island",shortCode:"13"},{name:"Green Island",shortCode:"14"},{name:"Guiana Island",shortCode:"15"},{name:"Hawes Island",shortCode:"17"},{name:"Hells Gate Island",shortCode:"16"},{name:"Henry Island",shortCode:"18"},{name:"Johnson Island",shortCode:"19"},{name:"Kid Island",shortCode:"20"},{name:"Lobster Island",shortCode:"22"},{name:"Maiden Island",shortCode:"24"},{name:"Moor Island",shortCode:"25"},{name:"Nanny Island",shortCode:"26"},{name:"Pelican Island",shortCode:"27"},{name:"Prickly Pear Island",shortCode:"28"},{name:"Rabbit Island",shortCode:"29"},{name:"Red Head Island",shortCode:"31"},{name:"Redonda Island",shortCode:"03"},{name:"Sandy Island",shortCode:"32"},{name:"Smith Island",shortCode:"33"},{name:"The Sisters",shortCode:"34"},{name:"Vernon Island",shortCode:"35"},{name:"Wicked Will Island",shortCode:"36"},{name:"York Island",shortCode:"37"}]},{countryName:"Argentina",countryShortCode:"AR",regions:[{name:"Ciudad Autónoma de Buenos Aires",shortCode:"Ciudad Autónoma de Buenos Aires"},{name:"Buenos Aires",shortCode:"Buenos Aires"},{name:"Catamarca",shortCode:"Catamarca"},{name:"Chaco",shortCode:"Chaco"},{name:"Chubut",shortCode:"Chubut"},{name:"Córdoba",shortCode:"Córdoba"},{name:"Corrientes",shortCode:"Corrientes"},{name:"Entre Ríos",shortCode:"Entre Ríos"},{name:"Formosa",shortCode:"Formosa"},{name:"Jujuy",shortCode:"Jujuy"},{name:"La Pampa",shortCode:"La Pampa"},{name:"La Rioja",shortCode:"La Rioja"},{name:"Mendoza",shortCode:"Mendoza"},{name:"Misiones",shortCode:"Misiones"},{name:"Neuquén",shortCode:"Neuquén"},{name:"Río Negro",shortCode:"Río Negro"},{name:"Salta",shortCode:"Salta"},{name:"San Juan",shortCode:"San Juan"},{name:"San Luis",shortCode:"San Luis"},{name:"Santa Cruz",shortCode:"Santa Cruz"},{name:"Santa Fe",shortCode:"Santa Fe"},{name:"Santiago del Estero",shortCode:"Santiago del Estero"},{name:"Tierra del Fuego",shortCode:"Tierra del Fuego"},{name:"Tucumán",shortCode:"Tucumán"}]},{countryName:"Armenia",countryShortCode:"AM",regions:[{name:"Aragatsotn",shortCode:"AG"},{name:"Ararat",shortCode:"AR"},{name:"Armavir",shortCode:"AV"},{name:"Gegharkunik",shortCode:"GR"},{name:"Kotayk",shortCode:"KT"},{name:"Lori",shortCode:"LO"},{name:"Shirak",shortCode:"SH"},{name:"Syunik",shortCode:"SU"},{name:"Tavush",shortCode:"TV"},{name:"Vayots Dzor",shortCode:"VD"},{name:"Yerevan",shortCode:"ER"}]},{countryName:"Australia",countryShortCode:"AU",regions:[{name:"Australian Capital Territory",shortCode:"ACT"},{name:"New South Wales",shortCode:"NSW"},{name:"Northern Territory",shortCode:"NT"},{name:"Queensland",shortCode:"QLD"},{name:"South Australia",shortCode:"SA"},{name:"Tasmania",shortCode:"TAS"},{name:"Victoria",shortCode:"VIC"},{name:"Western Australia",shortCode:"WA"}]},{countryName:"Austria",countryShortCode:"AT",regions:[{name:"Burgenland",shortCode:"Burgenland"},{name:"Kärnten",shortCode:"Kärnten"},{name:"Niederösterreich",shortCode:"Niederösterreich"},{name:"Oberösterreich",shortCode:"Oberösterreich"},{name:"Salzburg",shortCode:"Salzburg"},{name:"Steiermark",shortCode:"Steiermark"},{name:"Tirol",shortCode:"Tirol"},{name:"Vorarlberg",shortCode:"Vorarlberg"},{name:"Wien",shortCode:"Wien"}]},{countryName:"Bahamas",countryShortCode:"BS",regions:[{name:"Acklins Island",shortCode:"01"},{name:"Berry Islands",shortCode:"22"},{name:"Bimini",shortCode:"02"},{name:"Black Point",shortCode:"23"},{name:"Cat Island",shortCode:"03"},{name:"Central Abaco",shortCode:"24"},{name:"Crooked Island and Long Cay",shortCode:"28"},{name:"East Grand Bahama",shortCode:"29"},{name:"Exuma",shortCode:"04"},{name:"Freeport",shortCode:"05"},{name:"Fresh Creek",shortCode:"06"},{name:"Governor's Harbour",shortCode:"07"},{name:"Green Turtle Cay",shortCode:"08"},{name:"Harbour Island",shortCode:"09"},{name:"High Rock",shortCode:"10"},{name:"Inagua",shortCode:"11"},{name:"Kemps Bay",shortCode:"12"},{name:"Long Island",shortCode:"13"},{name:"Marsh Harbour",shortCode:"14"},{name:"Mayaguana",shortCode:"15"},{name:"Moore’s Island",shortCode:"40"},{name:"New Providence",shortCode:"16"},{name:"Nichollstown and Berry Islands",shortCode:"17"},{name:"North Abaco",shortCode:"42"},{name:"North Andros",shortCode:"41"},{name:"North Eleuthera",shortCode:"33"},{name:"Ragged Island",shortCode:"18"},{name:"Rock Sound",shortCode:"19"},{name:"San Salvador and Rum Cay",shortCode:"20"},{name:"Sandy Point",shortCode:"21"},{name:"South Abaco",shortCode:"35"},{name:"South Andros",shortCode:"36"},{name:"South Eleuthera",shortCode:"37"},{name:"West Grand Bahama",shortCode:"39"}]},{countryName:"Bahrain",countryShortCode:"BH",regions:[{name:"Al Janūbīyah",shortCode:"14"},{name:"Al Manāmah",shortCode:"13"},{name:"Al Muḩarraq",shortCode:"15"},{name:"Al Wusţá",shortCode:"16"},{name:"Ash Shamālīyah",shortCode:"17"}]},{countryName:"Barbados",countryShortCode:"BB",regions:[{name:"Christ Church",shortCode:"01"},{name:"Saint Andrew",shortCode:"02"},{name:"Saint George",shortCode:"03"},{name:"Saint James",shortCode:"04"},{name:"Saint John",shortCode:"05"},{name:"Saint Joseph",shortCode:"06"},{name:"Saint Lucy",shortCode:"07"},{name:"Saint Michael",shortCode:"08"},{name:"Saint Peter",shortCode:"09"},{name:"Saint Philip",shortCode:"10"},{name:"Saint Thomas",shortCode:"11"}]},{countryName:"Belarus",countryShortCode:"BY",regions:[{name:"Brest voblast",shortCode:"BR"},{name:"Gorod Minsk",shortCode:"HM"},{name:"Homiel voblast",shortCode:"HO"},{name:"Hrodna voblast",shortCode:"HR"},{name:"Mahilyow voblast",shortCode:"MA"},{name:"Minsk voblast",shortCode:"MI"},{name:"Vitsebsk voblast",shortCode:"VI"}]},{countryName:"Belgium",countryShortCode:"BE",regions:[{name:"Brussels",shortCode:"BRU"},{name:"Flanders",shortCode:"VLG"},{name:"Wallonia",shortCode:"WAL"}]},{countryName:"Belize",countryShortCode:"BZ",regions:[{name:"Belize District",shortCode:"BZ"},{name:"Cayo District",shortCode:"CY"},{name:"Corozal District",shortCode:"CZL"},{name:"Orange Walk District",shortCode:"OW"},{name:"Stann Creek District",shortCode:"SC"},{name:"Toledo District",shortCode:"TOL"}]},{countryName:"Benin",countryShortCode:"BJ",regions:[{name:"Alibori",shortCode:"AL"},{name:"Atakora",shortCode:"AK"},{name:"Atlantique",shortCode:"AQ"},{name:"Borgou",shortCode:"BO"},{name:"Collines Department",shortCode:"CO"},{name:"Donga",shortCode:"DO"},{name:"Kouffo",shortCode:"KO"},{name:"Littoral Department",shortCode:"LI"},{name:"Mono Department",shortCode:"MO"},{name:"Ouémé",shortCode:"OU"},{name:"Plateau",shortCode:"PL"},{name:"Zou",shortCode:"ZO"}]},{countryName:"Bermuda",countryShortCode:"BM",regions:[{name:"City of Hamilton",shortCode:"03"},{name:"Devonshire Parish",shortCode:"01"},{name:"Hamilton Parish",shortCode:"02"},{name:"Paget Parish",shortCode:"04"},{name:"Pembroke Parish",shortCode:"05"},{name:"Sandys Parish",shortCode:"08"},{name:"Smith's Parish",shortCode:"09"},{name:"Southampton Parish",shortCode:"10"},{name:"St. George's Parish",shortCode:"07"},{name:"Town of St. George",shortCode:"06"},{name:"Warwick Parish",shortCode:"11"}],countryName:"Bhutan",countryShortCode:"BT",regions:[{name:"Bumthang",shortCode:"33"},{name:"Chhukha",shortCode:"12"},{name:"Dagana",shortCode:"22"},{name:"Gasa",shortCode:"GA"},{name:"Haa",shortCode:"13"},{name:"Lhuntse",shortCode:"44"},{name:"Mongar",shortCode:"42"},{name:"Paro",shortCode:"11"},{name:"Pemagatshel",shortCode:"43"},{name:"Punakha",shortCode:"23"},{name:"Samdrup Jongkhar",shortCode:"45"},{name:"Samtse",shortCode:"14"},{name:"Sarpang",shortCode:"31"},{name:"Thimphu",shortCode:"15"},{name:"Trashigang",shortCode:"41"},{name:"Trashiyangtse",shortCode:"TY"},{name:"Trongsa",shortCode:"32"},{name:"Tsirang",shortCode:"21"},{name:"Wangdue Phodrang",shortCode:"24"},{name:"Zhemgang",shortCode:"34"}]},{countryName:"Bolivia",countryShortCode:"BO",regions:[{name:"Beni",shortCode:"B"},{name:"Chuquisaca",shortCode:"H"},{name:"Cochabamba",shortCode:"C"},{name:"La Paz",shortCode:"L"},{name:"Oruro",shortCode:"O"},{name:"Pando",shortCode:"N"},{name:"Potosí",shortCode:"P"},{name:"Santa Cruz",shortCode:"S"},{name:"Tarija",shortCode:"T"}]},{countryName:"Bosnia and Herzegovina",countryShortCode:"BA",regions:[{name:"Brčko Distrikt",shortCode:"BRC"},{name:"Federacija Bosne i Hercegovine",shortCode:"BIH"},{name:"Republika Srpska",shortCode:"SRP"}]},{countryName:"Brazil",countryShortCode:"BR",regions:[{name:"Acre",shortCode:"AC"},{name:"Alagoas",shortCode:"AL"},{name:"Amapá",shortCode:"AP"},{name:"Amazonas",shortCode:"AM"},{name:"Bahia",shortCode:"BA"},{name:"Ceará",shortCode:"CE"},{name:"Distrito Federal",shortCode:"DF"},{name:"Espírito Santo",shortCode:"ES"},{name:"Goiás",shortCode:"GO"},{name:"Maranhão",shortCode:"MA"},{name:"Mato Grosso",shortCode:"MT"},{name:"Mato Grosso do Sul",shortCode:"MS"},{name:"Minas Gerais",shortCode:"MG"},{name:"Pará",shortCode:"PA"},{name:"Paraíba",shortCode:"PB"},{name:"Paraná",shortCode:"PR"},{name:"Pernambuco",shortCode:"PE"},{name:"Piauí",shortCode:"PI"},{name:"Rio de Janeiro",shortCode:"RJ"},{name:"Rio Grande do Norte",shortCode:"RN"},{name:"Rio Grande do Sul",shortCode:"RS"},{name:"Rondônia",shortCode:"RO"},{name:"Roraima",shortCode:"RR"},{name:"Santa Catarina",shortCode:"SC"},{name:"São Paulo",shortCode:"SP"},{name:"Sergipe",shortCode:"SE"},{name:"Tocantins",shortCode:"TO"}]},{countryName:"British Indian Ocean Territory",countryShortCode:"IO",regions:[{name:"British Indian Ocean Territory",shortCode:"IO"}]},{countryName:"Brunei Darussalam",countryShortCode:"BN",regions:[{name:"Belait",shortCode:"BE"},{name:"Brunei Muara",shortCode:"BM"},{name:"Temburong",shortCode:"TE"},{name:"Tutong",shortCode:"TU"}]},{countryName:"Bulgaria",countryShortCode:"BG",regions:[{name:"Blagoevgrad",shortCode:"01"},{name:"Burgas",shortCode:"02"},{name:"Dobrich",shortCode:"08"},{name:"Gabrovo",shortCode:"07"},{name:"Jambol",shortCode:"28"},{name:"Khaskovo",shortCode:"26"},{name:"Kjustendil",shortCode:"10"},{name:"Kurdzhali",shortCode:"09"},{name:"Lovech",shortCode:"11"},{name:"Montana",shortCode:"12"},{name:"Pazardzhik",shortCode:"13"},{name:"Pernik",shortCode:"14"},{name:"Pleven",shortCode:"15"},{name:"Plovdiv",shortCode:"16"},{name:"Razgrad",shortCode:"17"},{name:"Ruse",shortCode:"18"},{name:"Shumen",shortCode:"27"},{name:"Silistra",shortCode:"19"},{name:"Sliven",shortCode:"20"},{name:"Smoljan",shortCode:"21"},{name:"Sofija",shortCode:"23"},{name:"Sofija-Grad",shortCode:"22"},{name:"Stara Zagora",shortCode:"24"},{name:"Turgovishhe",shortCode:"25"},{name:"Varna",shortCode:"03"},{name:"Veliko Turnovo",shortCode:"04"},{name:"Vidin",shortCode:"05"},{name:"Vraca",shortCode:"06"}]},{countryName:"Cambodia",countryShortCode:"KH",regions:[{name:"Baat Dambang",shortCode:"2"},{name:"Banteay Mean Chey",shortCode:"1"},{name:"Kampong Chaam",shortCode:"3"},{name:"Kampong Chhnang",shortCode:"4"},{name:"Kampong Spueu",shortCode:"5"},{name:"Kampong Thum",shortCode:"6"},{name:"Kampot",shortCode:"7"},{name:"Kandaal",shortCode:"8"},{name:"Kaoh Kong",shortCode:"9"},{name:"Kracheh",shortCode:"10"},{name:"Krong Kaeb",shortCode:"23"},{name:"Krong Pailin",shortCode:"24"},{name:"Krong Preah Sihanouk",shortCode:"18"},{name:"Mondol Kiri",shortCode:"11"},{name:"Otdar Mean Chey",shortCode:"22"},{name:"Phnom Penh",shortCode:"12"},{name:"Pousaat",shortCode:"15"},{name:"Preah Vihear",shortCode:"13"},{name:"Prey Veaeng",shortCode:"14"},{name:"Rotanah Kiri",shortCode:"16"},{name:"Siem Reab",shortCode:"17"},{name:"Stueng Treng",shortCode:"19"},{name:"Svaay Rieng",shortCode:"20"},{name:"Taakaev",shortCode:"21"},{name:"Tbong Khmum",shortCode:"25"}]},{countryName:"Canada",countryShortCode:"CA",regions:[{name:"Alberta",shortCode:"AB"},{name:"British Columbia",shortCode:"BC"},{name:"Manitoba",shortCode:"MB"},{name:"New Brunswick",shortCode:"NB"},{name:"Newfoundland and Labrador",shortCode:"NL"},{name:"Northwest Territories",shortCode:"NT"},{name:"Nova Scotia",shortCode:"NS"},{name:"Nunavut",shortCode:"NU"},{name:"Ontario",shortCode:"ON"},{name:"Prince Edward Island",shortCode:"PE"},{name:"Quebec",shortCode:"QC"},{name:"Saskatchewan",shortCode:"SK"},{name:"Yukon",shortCode:"YT"}]},{countryName:"Cape Verde",countryShortCode:"CV",regions:[{name:"Boa Vista",shortCode:"BV"},{name:"Brava",shortCode:"BR"},{name:"Calheta de São Miguel",shortCode:"CS"},{name:"Maio",shortCode:"MA"},{name:"Mosteiros",shortCode:"MO"},{name:"Paúl",shortCode:"PA"},{name:"Porto Novo",shortCode:"PN"},{name:"Praia",shortCode:"PR"},{name:"Ribeira Brava",shortCode:"RB"},{name:"Ribeira Grande",shortCode:"RG"},{name:"Sal",shortCode:"SL"},{name:"Santa Catarina",shortCode:"CA"},{name:"Santa Cruz",shortCode:"CR"},{name:"São Domingos",shortCode:"SD"},{name:"São Filipe",shortCode:"SF"},{name:"São Nicolau",shortCode:"SN"},{name:"São Vicente",shortCode:"SV"},{name:"Tarrafal",shortCode:"TA"},{name:"Tarrafal de São Nicolau",shortCode:"TS"}]},{countryName:"Cayman Islands",countryShortCode:"KY",regions:[{name:"Creek"},{name:"Eastern"},{name:"Midland"},{name:"South Town"},{name:"Spot Bay"},{name:"Stake Bay"},{name:"West End"},{name:"Western"}]},{countryName:"Central African Republic",countryShortCode:"CF",regions:[{name:"Bamingui-Bangoran",shortCode:"BB"},{name:"Bangui",shortCode:"BGF"},{name:"Basse-Kotto",shortCode:"BK"},{name:"Haute-Kotto",shortCode:"HK"},{name:"Haut-Mbomou",shortCode:"HM"},{name:"Kémo",shortCode:"KG"},{name:"Lobaye",shortCode:"LB"},{name:"Mambéré-Kadéï",shortCode:"HS"},{name:"Mbomou",shortCode:"MB"},{name:"Nana-Grebizi",shortCode:"10"},{name:"Nana-Mambéré",shortCode:"NM"},{name:"Ombella-M'Poko",shortCode:"MP"},{name:"Ouaka",shortCode:"UK"},{name:"Ouham",shortCode:"AC"},{name:"Ouham Péndé",shortCode:"OP"},{name:"Sangha-Mbaéré",shortCode:"SE"},{name:"Vakaga",shortCode:"VK"}]},{countryName:"Chad",countryShortCode:"TD",regions:[{name:"Bahr el Ghazal",shortCode:"BG"},{name:"Batha",shortCode:"BA"},{name:"Borkou",shortCode:"BO"},{name:"Chari-Baguirmi",shortCode:"CB"},{name:"Ennedi-Est",shortCode:"EE"},{name:"Ennedi-Ouest",shortCode:"EO"},{name:"Guéra",shortCode:"GR"},{name:"Hadjer Lamis",shortCode:"HL"},{name:"Kanem",shortCode:"KA"},{name:"Lac",shortCode:"LC"},{name:"Logone Occidental",shortCode:"LO"},{name:"Logone Oriental",shortCode:"LR"},{name:"Mondoul",shortCode:"MA"},{name:"Mayo-Kébbi-Est",shortCode:"ME"},{name:"Moyen-Chari",shortCode:"MC"},{name:"Ouaddai",shortCode:"OD"},{name:"Salamat",shortCode:"SA"},{name:"Sila",shortCode:"SI"},{name:"Tandjilé",shortCode:"TA"},{name:"Tibesti",shortCode:"TI"},{name:"Ville de Ndjamena",shortCode:"ND"},{name:"Wadi Fira",shortCode:"WF"}]},{countryName:"Chile",countryShortCode:"CL",regions:[{name:"Aisén del General Carlos Ibáñez del Campo",shortCode:"AI"},{name:"Antofagasta",shortCode:"AN"},{name:"Araucanía",shortCode:"AR"},{name:"Arica y Parinacota",shortCode:"AP"},{name:"Atacama",shortCode:"AT"},{name:"Bío-Bío",shortCode:"BI"},{name:"Coquimbo",shortCode:"CO"},{name:"Libertador General Bernardo O'Higgins",shortCode:"LI"},{name:"Los Lagos",shortCode:"LL"},{name:"Los Ríos",shortCode:"LR"},{name:"Magallanes y Antartica Chilena",shortCode:"MA"},{name:"Marga-Marga",shortCode:""},{name:"Maule",shortCode:"ML"},{name:"Ñuble",shortCode:"NB"},{name:"Región Metropolitana de Santiago",shortCode:"RM"},{name:"Tarapacá",shortCode:"TA"},{name:"Valparaíso",shortCode:"VS"}]},{countryName:"China",countryShortCode:"CN",regions:[{name:"Anhui",shortCode:"34"},{name:"Beijing",shortCode:"11"},{name:"Chongqing",shortCode:"50"},{name:"Fujian",shortCode:"35"},{name:"Gansu",shortCode:"62"},{name:"Guangdong",shortCode:"44"},{name:"Guangxi",shortCode:"45"},{name:"Guizhou",shortCode:"52"},{name:"Hainan",shortCode:"46"},{name:"Hebei",shortCode:"13"},{name:"Heilongjiang",shortCode:"23"},{name:"Henan",shortCode:"41"},{name:"Hong Kong",shortCode:"91"},{name:"Hubei",shortCode:"42"},{name:"Hunan",shortCode:"43"},{name:"Inner Mongolia",shortCode:"15"},{name:"Jiangsu",shortCode:"32"},{name:"Jiangxi",shortCode:"36"},{name:"Jilin",shortCode:"22"},{name:"Liaoning",shortCode:"21"},{name:"Macau",shortCode:"92"},{name:"Ningxia",shortCode:"64"},{name:"Qinghai",shortCode:"63"},{name:"Shaanxi",shortCode:"61"},{name:"Shandong",shortCode:"37"},{name:"Shanghai",shortCode:"31"},{name:"Shanxi",shortCode:"14"},{name:"Sichuan",shortCode:"51"},{name:"Tianjin",shortCode:"12"},{name:"Tibet",shortCode:"54"},{name:"Xinjiang",shortCode:"65"},{name:"Yunnan",shortCode:"53"},{name:"Zhejiang",shortCode:"33"}]},{countryName:"Christmas Island",countryShortCode:"CX",regions:[{name:"Christmas Island",shortCode:"CX"}]},{countryName:"Colombia",countryShortCode:"CO",regions:[{name:"Amazonas",shortCode:"AMA"},{name:"Antioquia",shortCode:"ANT"},{name:"Arauca",shortCode:"ARA"},{name:"Archipiélago de San Andrés",shortCode:"SAP"},{name:"Atlántico",shortCode:"ATL"},{name:"Bogotá D.C.",shortCode:"DC"},{name:"Bolívar",shortCode:"BOL"},{name:"Boyacá",shortCode:"BOY"},{name:"Caldas",shortCode:"CAL"},{name:"Caquetá",shortCode:"CAQ"},{name:"Casanare",shortCode:"CAS"},{name:"Cauca",shortCode:"CAU"},{name:"Cesar",shortCode:"CES"},{name:"Chocó",shortCode:"CHO"},{name:"Córdoba",shortCode:"COR"},{name:"Cundinamarca",shortCode:"CUN"},{name:"Guainía",shortCode:"GUA"},{name:"Guaviare",shortCode:"GUV"},{name:"Huila",shortCode:"HUI"},{name:"La Guajira",shortCode:"LAG"},{name:"Magdalena",shortCode:"MAG"},{name:"Meta",shortCode:"MET"},{name:"Nariño",shortCode:"NAR"},{name:"Norte de Santander",shortCode:"NSA"},{name:"Putumayo",shortCode:"PUT"},{name:"Quindío",shortCode:"QUI"},{name:"Risaralda",shortCode:"RIS"},{name:"Santander",shortCode:"SAN"},{name:"Sucre",shortCode:"SUC"},{name:"Tolima",shortCode:"TOL"},{name:"Valle del Cauca",shortCode:"VAC"},{name:"Vaupés",shortCode:"VAU"},{name:"Vichada",shortCode:"VID"}]},{countryName:"Comoros",countryShortCode:"KM",regions:[{name:"Andjazîdja",shortCode:"G"},{name:"Andjouân",shortCode:"A"},{name:"Moûhîlî",shortCode:"M"}]},{countryName:"Congo, Republic of the (Brazzaville)",countryShortCode:"CG",regions:[{name:"Bouenza",shortCode:"11"},{name:"Brazzaville",shortCode:"BZV"},{name:"Cuvette",shortCode:"8"},{name:"Cuvette-Ouest",shortCode:"15"},{name:"Kouilou",shortCode:"5"},{name:"Lékoumou",shortCode:"2"},{name:"Likouala",shortCode:"7"},{name:"Niari",shortCode:"9"},{name:"Plateaux",shortCode:"14"},{name:"Pointe-Noire",shortCode:"16"},{name:"Pool",shortCode:"12"},{name:"Sangha",shortCode:"13"}]},{countryName:"Congo, the Democratic Republic of the (Kinshasa)",countryShortCode:"CD",regions:[{name:"Bandundu",shortCode:"BN"},{name:"Bas-Congo",shortCode:"BC"},{name:"Équateur",shortCode:"EQ"},{name:"Kasaï-Occidental",shortCode:"KE"},{name:"Kasaï-Oriental",shortCode:"KW"},{name:"Katanga",shortCode:"KA"},{name:"Kinshasa",shortCode:"KN"},{name:"Maniema",shortCode:"MA"},{name:"Nord-Kivu",shortCode:"NK"},{name:"Orientale",shortCode:"OR"},{name:"Sud-Kivu",shortCode:"SK"}]},{countryName:"Cook Islands",countryShortCode:"CK",regions:[{name:"Aitutaki"},{name:"Atiu"},{name:"Avarua"},{name:"Mangaia"},{name:"Manihiki"},{name:"Ma'uke"},{name:"Mitiaro"},{name:"Nassau"},{name:"Palmerston"},{name:"Penrhyn"},{name:"Pukapuka"},{name:"Rakahanga"}]},{countryName:"Costa Rica",countryShortCode:"CR",regions:[{name:"Alajuela",shortCode:"2"},{name:"Cartago",shortCode:"3"},{name:"Guanacaste",shortCode:"5"},{name:"Heredia",shortCode:"4"},{name:"Limón",shortCode:"7"},{name:"Puntarenas",shortCode:"6"},{name:"San José",shortCode:"1"}]},{countryName:"Côte d'Ivoire, Republic of",countryShortCode:"CI",regions:[{name:"Agnéby",shortCode:"16"},{name:"Bafing",shortCode:"17"},{name:"Bas-Sassandra",shortCode:"09"},{name:"Denguélé",shortCode:"10"},{name:"Dix-Huit Montagnes",shortCode:"06"},{name:"Fromager",shortCode:"18"},{name:"Haut-Sassandra",shortCode:"02"},{name:"Lacs",shortCode:"07"},{name:"Lagunes",shortCode:"01"},{name:"Marahoué",shortCode:"12"},{name:"Moyen-Cavally",shortCode:"19"},{name:"Moyen-Comoé",shortCode:"05"},{name:"N'zi-Comoé",shortCode:"11"},{name:"Savanes",shortCode:"03"},{name:"Sud-Bandama",shortCode:"15"},{name:"Sud-Comoé",shortCode:"13"},{name:"Vallée du Bandama",shortCode:"04"},{name:"Worodougou",shortCode:"14"},{name:"Zanzan",shortCode:"08"}]},{countryName:"Croatia",countryShortCode:"HR",regions:[{name:"Bjelovarsko-bilogorska županija",shortCode:"Bjelovarsko-bilogorska županija"},{name:"Brodsko-posavska županija",shortCode:"Brodsko-posavska županija"},{name:"Dubrovačko-neretvanska županija",shortCode:"Dubrovačko-neretvanska županija"},{name:"Grad Zagreb",shortCode:"Grad Zagreb"},{name:"Istarska županija",shortCode:"Istarska županija"},{name:"Karlovačka županija",shortCode:"Karlovačka županija"},{name:"Koprivničko-križevačka županija",shortCode:"Koprivničko-križevačka županija"},{name:"Krapinsko-zagorska županija",shortCode:"Krapinsko-zagorska županija"},{name:"Ličko-senjska županija",shortCode:"Ličko-senjska županija"},{name:"Međimurska županija",shortCode:"Međimurska županija"},{name:"Osječko-baranjska županija",shortCode:"Osijek-Baranja County"},{name:"Požeško-slavonska županija",shortCode:"Požeško-slavonska županija"},{name:"Primorsko-goranska županija",shortCode:"Primorsko-goranska županija"},{name:"Sisačko-moslavačka županija",shortCode:"Sisačko-moslavačka županija"},{name:"Splitsko-dalmatinska županija",shortCode:"Splitsko-dalmatinska županija"},{name:"Šibensko-kninska županija",shortCode:"Šibensko-kninska županija"},{name:"Varaždinska županija",shortCode:"Varaždinska županija"},{name:"Virovitičko-podravska županija",shortCode:"Virovitičko-podravska županija"},{name:"Vukovarsko-srijemska županija",shortCode:"Vukovarsko-srijemska županija"},{name:"Zadarska županija",shortCode:"Zadarska županija"},{name:"Zagrebačka županija",shortCode:"Zagrebačka županija"}]},{countryName:"Cuba",countryShortCode:"CU",regions:[{name:"Artemisa",shortCode:"15"},{name:"Camagüey",shortCode:"09"},{name:"Ciego de Ávila",shortCode:"08"},{name:"Cienfuegos",shortCode:"06"},{name:"Granma",shortCode:"12"},{name:"Guantánamo",shortCode:"14"},{name:"Holguín",shortCode:"11"},{name:"Isla de la Juventud",shortCode:"99"},{name:"La Habana",shortCode:"03"},{name:"Las Tunas",shortCode:"10"},{name:"Matanzas",shortCode:"04"},{name:"Mayabeque",shortCode:"16"},{name:"Pinar del Río",shortCode:"01"},{name:"Sancti Spíritus",shortCode:"07"},{name:"Santiago de Cuba",shortCode:"13"},{name:"Villa Clara",shortCode:"05"}]},{countryName:"Curaçao",countryShortCode:"CW",regions:[{name:"Curaçao",shortCode:"CW"}]},{countryName:"Cyprus",countryShortCode:"CY",regions:[{name:"Ammochostos",shortCode:"Famagusta"},{name:"Keryneia",shortCode:"05"},{name:"Larnaka",shortCode:"Larnaca"},{name:"Lefkosia",shortCode:"Nicosia"},{name:"Lemesos",shortCode:"Limassol"},{name:"Pafos",shortCode:"Paphos"}]},{countryName:"Czech Republic",countryShortCode:"CZ",regions:[{name:"Hlavní město Praha",shortCode:"Hlavní město Praha"},{name:"Jihočeský kraj",shortCode:"Jihočeský kraj"},{name:"Jihomoravský kraj",shortCode:"Jihomoravský kraj"},{name:"Karlovarský kraj",shortCode:"Karlovarský kraj"},{name:"Královéhradecký kraj",shortCode:"Královéhradecký kraj"},{name:"Liberecký kraj",shortCode:"Liberecký kraj"},{name:"Moravskoslezský kraj",shortCode:"Moravskoslezský kraj"},{name:"Olomoucký kraj",shortCode:"Olomoucký kraj"},{name:"Pardubický kraj",shortCode:"Pardubický kraj"},{name:"Plzeňský kraj",shortCode:"Plzeňský kraj"},{name:"Středočeský kraj",shortCode:"Středočeský kraj"},{name:"Ústecký kraj",shortCode:"Ústecký kraj"},{name:"Vysočina",shortCode:"Kraj Vysočina"},{name:"Zlínský kraj",shortCode:"Zlínský kraj"}]},{countryName:"Denmark",countryShortCode:"DK",regions:[{name:"Hovedstaden",shortCode:"84"},{name:"Kujalleq",shortCode:"GL-KU"},{name:"Midtjylland",shortCode:"82"},{name:"Norderøerne",shortCode:"FO-01"},{name:"Nordjylland",shortCode:"81"},{name:"Østerø",shortCode:"FO-06"},{name:"Qaasuitsup",shortCode:"GL-QA"},{name:"Qeqqata",shortCode:"GL-QE"},{name:"Sandø",shortCode:"FO-02"},{name:"Sermersooq",shortCode:"GL-SM"},{name:"Sjælland",shortCode:"85"},{name:"Strømø",shortCode:"FO-03"},{name:"Suderø",shortCode:"FO-04"},{name:"Syddanmark",shortCode:"83"},{name:"Vågø",shortCode:"FO-05"}]},{countryName:"Djibouti",countryShortCode:"DJ",regions:[{name:"Ali Sabieh",shortCode:"AS"},{name:"Arta",shortCode:"AR"},{name:"Dikhil",shortCode:"DI"},{name:"Obock",shortCode:"OB"},{name:"Tadjourah",shortCode:"TA"}]},{countryName:"Dominica",countryShortCode:"DM",regions:[{name:"Saint Andrew Parish",shortCode:"02"},{name:"Saint David Parish",shortCode:"03"},{name:"Saint George Parish",shortCode:"04"},{name:"Saint John Parish",shortCode:"05"},{name:"Saint Joseph Parish",shortCode:"06"},{name:"Saint Luke Parish",shortCode:"07"},{name:"Saint Mark Parish",shortCode:"08"},{name:"Saint Patrick Parish",shortCode:"09"},{name:"Saint Paul Parish",shortCode:"10"},{name:"Saint Peter Parish",shortCode:"11"}]},{countryName:"Dominican Republic",countryShortCode:"DO",regions:[{name:"Cibao Central",shortCode:"02"},{name:"Del Valle",shortCode:"37"},{name:"Distrito Nacional",shortCode:"01"},{name:"Enriquillo",shortCode:"38"},{name:"Norcentral",shortCode:"04"},{name:"Nordeste",shortCode:"34"},{name:"Noroeste",shortCode:"34"},{name:"Norte",shortCode:"35"},{name:"Valdesia",shortCode:"42"}]},{countryName:"Ecuador",countryShortCode:"EC",regions:[{name:"Azuay",shortCode:"A"},{name:"Bolívar",shortCode:"B"},{name:"Cañar",shortCode:"F"},{name:"Carchi",shortCode:"C"},{name:"Chimborazo",shortCode:"H"},{name:"Cotopaxi",shortCode:"X"},{name:"El Oro",shortCode:"O"},{name:"Esmeraldas",shortCode:"E"},{name:"Galápagos",shortCode:"W"},{name:"Guayas",shortCode:"G"},{name:"Imbabura",shortCode:"I"},{name:"Loja",shortCode:"L"},{name:"Los Ríos",shortCode:"R"},{name:"Manabí",shortCode:"M"},{name:"Morona-Santiago",shortCode:"S"},{name:"Napo",shortCode:"N"},{name:"Orellana",shortCode:"D"},{name:"Pastaza",shortCode:"Y"},{name:"Pichincha",shortCode:"P"},{name:"Santa Elena",shortCode:"SE"},{name:"Santo Domingo de los Tsáchilas",shortCode:"SD"},{name:"Sucumbíos",shortCode:"U"},{name:"Tungurahua",shortCode:"T"},{name:"Zamora-Chinchipe",shortCode:"Z"}]},{countryName:"Egypt",countryShortCode:"EG",regions:[{name:"Alexandria",shortCode:"ALX"},{name:"Aswan",shortCode:"ASN"},{name:"Asyout",shortCode:"AST"},{name:"Bani Sueif",shortCode:"BNS"},{name:"Beheira",shortCode:"BH"},{name:"Cairo",shortCode:"C"},{name:"Daqahlia",shortCode:"DK"},{name:"Dumiat",shortCode:"DT"},{name:"El Bahr El Ahmar",shortCode:"BA"},{name:"El Ismailia",shortCode:"IS"},{name:"El Suez",shortCode:"SUZ"},{name:"El Wadi El Gedeed",shortCode:"WAD"},{name:"Fayoum",shortCode:"FYM"},{name:"Gharbia",shortCode:"GH"},{name:"Giza",shortCode:"SUZ"},{name:"Helwan",shortCode:"HU"},{name:"Kafr El Sheikh",shortCode:"KFS"},{name:"Luxor",shortCode:"LX"},{name:"Matrouh",shortCode:"MT"},{name:"Menia",shortCode:"MN"},{name:"Menofia",shortCode:"MNF"},{name:"North Sinai",shortCode:"SIN"},{name:"Port Said",shortCode:"PTS"},{name:"Qalubia",shortCode:"KB"},{name:"Qena",shortCode:"KN"},{name:"Sharqia",shortCode:"SHR"},{name:"Sixth of October",shortCode:"SU"},{name:"Sohag",shortCode:"SHG"},{name:"South Sinai",shortCode:"JS"}]},{countryName:"El Salvador",countryShortCode:"SV",regions:[{name:"Ahuachapán",shortCode:"AH"},{name:"Cabañas",shortCode:"CA"},{name:"Cuscatlán",shortCode:"CU"},{name:"Chalatenango",shortCode:"CH"},{name:"La Libertad",shortCode:"LI"},{name:"La Paz",shortCode:"PA"},{name:"La Unión",shortCode:"UN"},{name:"Morazán",shortCode:"MO"},{name:"San Miguel",shortCode:"SM"},{name:"San Salvador",shortCode:"SS"},{name:"Santa Ana",shortCode:"SA"},{name:"San Vicente",shortCode:"SV"},{name:"Sonsonate",shortCode:"SO"},{name:"Usulután",shortCode:"US"}]},{countryName:"Equatorial Guinea",countryShortCode:"GQ",regions:[{name:"Annobón",shortCode:"AN"},{name:"Bioko Norte",shortCode:"BN"},{name:"Bioko Sur",shortCode:"BS"},{name:"Centro Sur",shortCode:"CS"},{name:"Kié-Ntem",shortCode:"KN"},{name:"Litoral",shortCode:"LI"},{name:"Wele-Nzas",shortCode:"WN"}]},{countryName:"Eritrea",countryShortCode:"ER",regions:[{name:"Anseba",shortCode:"AN"},{name:"Debub",shortCode:"DU"},{name:"Debub-Keih-Bahri",shortCode:"DK"},{name:"Gash-Barka",shortCode:"GB"},{name:"Maekel",shortCode:"MA"},{name:"Semien-Keih-Bahri",shortCode:"SK"}]},{countryName:"Estonia",countryShortCode:"EE",regions:[{name:"Harjumaa (Tallinn)",shortCode:"Harju County"},{name:"Hiiumaa (Kardla)",shortCode:"Hiiu County"},{name:"Ida-Virumaa (Johvi)",shortCode:"Ida-Viru County"},{name:"Järvamaa (Paide)",shortCode:"Järva County"},{name:"Jõgevamaa (Jogeva)",shortCode:"Jõgeva County"},{name:"Läänemaa",shortCode:"Lääne County"},{name:"Lääne-Virumaa (Rakvere)",shortCode:"Lääne-Viru County"},{name:"Pärnumaa (Parnu)",shortCode:"Pärnu County"},{name:"Põlvamaa (Polva)",shortCode:"Põlva County"},{name:"Raplamaa (Rapla)",shortCode:"Rapla County"},{name:"Saaremaa (Kuessaare)",shortCode:"Saare County"},{name:"Tartumaa (Tartu)",shortCode:"Tartu County"},{name:"Valgamaa (Valga)",shortCode:"Valga County"},{name:"Viljandimaa (Viljandi)",shortCode:"Viljandi County"},{name:"Võrumaa (Voru)",shortCode:"Võru County"}]},{countryName:"Ethiopia",countryShortCode:"ET",regions:[{name:"Addis Ababa",shortCode:"AA"},{name:"Afar",shortCode:"AF"},{name:"Amhara",shortCode:"AM"},{name:"Benshangul-Gumaz",shortCode:"BE"},{name:"Dire Dawa",shortCode:"DD"},{name:"Gambela",shortCode:"GA"},{name:"Harari",shortCode:"HA"},{name:"Oromia",shortCode:"OR"},{name:"Somali",shortCode:"SO"},{name:"Southern Nations Nationalities and People's Region",shortCode:"SN"},{name:"Tigray",shortCode:"TI"}]},{countryName:"Falkland Islands (Islas Malvinas)",countryShortCode:"FK",regions:[{name:"Falkland Islands (Islas Malvinas)"}]},{countryName:"Faroe Islands",countryShortCode:"FO",regions:[{name:"Bordoy"},{name:"Eysturoy"},{name:"Mykines"},{name:"Sandoy"},{name:"Skuvoy"},{name:"Streymoy"},{name:"Suduroy"},{name:"Tvoroyri"},{name:"Vagar"}]},{countryName:"Fiji",countryShortCode:"FJ",regions:[{name:"Ba",shortCode:"01"},{name:"Bua",shortCode:"01"},{name:"Cakaudrove",shortCode:"03"},{name:"Kadavu",shortCode:"04"},{name:"Lau",shortCode:"05"},{name:"Lomaiviti",shortCode:"06"},{name:"Macuata",shortCode:"07"},{name:"Nadroga and Navosa",shortCode:"08"},{name:"Naitasiri",shortCode:"09"},{name:"Namosi",shortCode:"10"},{name:"Ra",shortCode:"011"},{name:"Rewa",shortCode:"12"},{name:"Rotuma",shortCode:"R"},{name:"Serua",shortCode:"12"},{name:"Tailevu",shortCode:"14"}]},{countryName:"Finland",countryShortCode:"FI",regions:[{name:"Ahvenanmaan maakunta",shortCode:"FI-01"},{name:"Etelä-Karjala",shortCode:"FI-02"},{name:"Etelä-Pohjanmaa",shortCode:"FI-03"},{name:"Etelä-Savo",shortCode:"FI-04"},{name:"Kainuu",shortCode:"FI-05"},{name:"Kanta-Häme",shortCode:"FI-06"},{name:"Keski-Pohjanmaa",shortCode:"FI-07"},{name:"Keski-Suomi",shortCode:"FI-08"},{name:"Kymenlaakso",shortCode:"FI-09"},{name:"Lappi",shortCode:"FI-10"},{name:"Pirkanmaa",shortCode:"FI-11"},{name:"Pohjanmaa",shortCode:"FI-12"},{name:"Pohjois-Karjala",shortCode:"FI-13"},{name:"Pohjois-Pohjanmaa",shortCode:"FI-14"},{name:"Pohjois-Savo",shortCode:"FI-15"},{name:"Päijät-Häme",shortCode:"FI-16"},{name:"Satakunta",shortCode:"FI-17"},{name:"Uusimaa",shortCode:"FI-18"},{name:"Varsinais-Suomi",shortCode:"FI-19"}]},{countryName:"France",countryShortCode:"FR",regions:[{name:"Auvergne-Rhône-Alpes",shortCode:"ARA"},{name:"Bourgogne-Franche-Comté",shortCode:"BFC"},{name:"Bretagne",shortCode:"BRE"},{name:"Centre-Val de Loire",shortCode:"CVL"},{name:"Corse",shortCode:"COR"},{name:"Grand Est",shortCode:"GES"},{name:"Hauts-de-France",shortCode:"HDF"},{name:"Île-de-France",shortCode:"IDF"},{name:"Normandie",shortCode:"NOR"},{name:"Nouvelle-Aquitaine",shortCode:"NAQ"},{name:"Occitanie",shortCode:"OCC"},{name:"Pays de la Loire",shortCode:"PDL"},{name:"Provence-Alpes-Côte d'Azur",shortCode:"PAC"},{name:"Clipperton",shortCode:"CP"},{name:"Guadeloupe",shortCode:"GP"},{name:"Guyane",shortCode:"GF"},{name:"Martinique",shortCode:"MQ"},{name:"Mayotte",shortCode:"YT"},{name:"Novelle-Calédonie",shortCode:"NC"},{name:"Polynésie",shortCode:"PF"},{name:"Saint-Pierre-et-Miquelon",shortCode:"PM"},{name:"Saint Barthélemy",shortCode:"BL"},{name:"Saint Martin",shortCode:"MF"},{name:"Réunion",shortCode:"RE"},{name:"Terres Australes Françaises",shortCode:"TF"},{name:"Wallis-et-Futuna",shortCode:"WF"}]},{countryName:"French Guiana",countryShortCode:"GF",regions:[{name:"French Guiana"}]},{countryName:"French Polynesia",countryShortCode:"PF",regions:[{name:"Archipel des Marquises"},{name:"Archipel des Tuamotu"},{name:"Archipel des Tubuai"},{name:"Iles du Vent"},{name:"Iles Sous-le-Vent"}]},{countryName:"French Southern and Antarctic Lands",countryShortCode:"TF",regions:[{name:"Adelie Land"},{name:"Ile Crozet"},{name:"Iles Kerguelen"},{name:"Iles Saint-Paul et Amsterdam"}]},{countryName:"Gabon",countryShortCode:"GA",regions:[{name:"Estuaire",shortCode:"1"},{name:"Haut-Ogooué",shortCode:"2"},{name:"Moyen-Ogooué",shortCode:"3"},{name:"Ngounié",shortCode:"4"},{name:"Nyanga",shortCode:"5"},{name:"Ogooué-Ivindo",shortCode:"6"},{name:"Ogooué-Lolo",shortCode:"7"},{name:"Ogooué-Maritime",shortCode:"8"},{name:"Woleu-Ntem",shortCode:"9"}]},{countryName:"Gambia, The",countryShortCode:"GM",regions:[{name:"Banjul",shortCode:"B"},{name:"Central River",shortCode:"M"},{name:"Lower River",shortCode:"L"},{name:"North Bank",shortCode:"N"},{name:"Upper River",shortCode:"U"},{name:"Western",shortCode:"W"}]},{countryName:"Georgia",countryShortCode:"GE",regions:[{name:"Abkhazia (Sokhumi)",shortCode:"AB"},{name:"Ajaria (Bat'umi)",shortCode:"AJ"},{name:"Guria",shortCode:"GU"},{name:"Imereti",shortCode:"IM"},{name:"K'akheti",shortCode:"KA"},{name:"Kvemo Kartli",shortCode:"KK"},{name:"Mtshkheta-Mtianeti",shortCode:"MM"},{name:"Rach'a-Lexhkumi-KvemoSvaneti",shortCode:"RL"},{name:"Samegrelo-Zemo Svaneti",shortCode:"SZ"},{name:"Samtskhe-Javakheti",shortCode:"SJ"},{name:"Shida Kartli",shortCode:"SK"},{name:"Tbilisi",shortCode:"TB"}]},{countryName:"Germany",countryShortCode:"DE",regions:[{name:"Baden-Württemberg",shortCode:"Baden-Württemberg"},{name:"Bayern",shortCode:"Bayern"},{name:"Berlin",shortCode:"Berlin"},{name:"Brandenburg",shortCode:"Brandenburg"},{name:"Bremen",shortCode:"Brandenburg"},{name:"Hamburg",shortCode:"Hamburg"},{name:"Hessen",shortCode:"Hessen"},{name:"Mecklenburg-Vorpommern",shortCode:"Mecklenburg-Vorpommern"},{name:"Niedersachsen",shortCode:"Niedersachsen"},{name:"Nordrhein-Westfalen",shortCode:"Nordrhein-Westfalen"},{name:"Rheinland-Pfalz",shortCode:"Rheinland-Pfalz"},{name:"Saarland",shortCode:"Saarland"},{name:"Sachsen",shortCode:"Sachsen"},{name:"Sachsen-Anhalt",shortCode:"Sachsen-Anhalt"},{name:"Schleswig-Holstein",shortCode:"Schleswig-Holstein"},{name:"Thüringen",shortCode:"Thüringen"}]},{countryName:"Ghana",countryShortCode:"GH",regions:[{name:"Ahafo"},{name:"Ashanti",shortCode:"AH"},{name:"Bono"},{name:"Bono East"},{name:"Central",shortCode:"CP"},{name:"Eastern",shortCode:"EP"},{name:"Greater Accra",shortCode:"AA"},{name:"Northern",shortCode:"NP"},{name:"North East"},{name:"Oti"},{name:"Savannah"},{name:"Upper East",shortCode:"UE"},{name:"Upper West",shortCode:"UW"},{name:"Volta",shortCode:"TV"},{name:"Western",shortCode:"WP"},{name:"Western North"}]},{countryName:"Gibraltar",countryShortCode:"GI",regions:[{name:"Gibraltar"}]},{countryName:"Greece",countryShortCode:"GR",regions:[{name:"Anatolikí Makedonía kai Thráki",shortCode:"A"},{name:"Attikḯ",shortCode:"I"},{name:"Dytikí Elláda",shortCode:"G"},{name:"Dytikí Makedonía",shortCode:"C"},{name:"Ionía Nísia",shortCode:"F"},{name:"Kentrikí Makedonía",shortCode:"B"},{name:"Krítí",shortCode:"M"},{name:"Notío Aigaío",shortCode:"L"},{name:"Peloponnísos",shortCode:"J"},{name:"Stereá Elláda",shortCode:"H"},{name:"Thessalía",shortCode:"E"},{name:"Voreío Aigaío",shortCode:"K"},{name:"Ípeiros",shortCode:"D"},{name:"Ágion Óros",shortCode:"69"}]},{countryName:"Greenland",countryShortCode:"GL",regions:[{name:"Kommune Kujalleq",shortCode:"KU"},{name:"Kommuneqarfik Sermersooq",shortCode:"SM"},{name:"Qaasuitsup Kommunia",shortCode:"QA"},{name:"Qeqqata Kommunia",shortCode:"QE"}]},{countryName:"Grenada",countryShortCode:"GD",regions:[{name:"Saint Andrew",shortCode:"01"},{name:"Saint David",shortCode:"02"},{name:"Saint George",shortCode:"03"},{name:"Saint John",shortCode:"04"},{name:"Saint Mark",shortCode:"05"},{name:"Saint Patrick",shortCode:"06"},{name:"Southern Grenadine Islands",shortCode:"10"}]},{countryName:"Guadeloupe",countryShortCode:"GP",regions:[{name:"Guadeloupe"}]},{countryName:"Guam",countryShortCode:"GU",regions:[{name:"Guam"}]},{countryName:"Guatemala",countryShortCode:"GT",regions:[{name:"Alta Verapaz",shortCode:"AV"},{name:"Baja Verapaz",shortCode:"BV"},{name:"Chimaltenango",shortCode:"CM"},{name:"Chiquimula",shortCode:"CQ"},{name:"El Progreso",shortCode:"PR"},{name:"Escuintla",shortCode:"ES"},{name:"Guatemala",shortCode:"GU"},{name:"Huehuetenango",shortCode:"HU"},{name:"Izabal",shortCode:"IZ"},{name:"Jalapa",shortCode:"JA"},{name:"Jutiapa",shortCode:"JU"},{name:"Petén",shortCode:"PE"},{name:"Quetzaltenango",shortCode:"QZ"},{name:"Quiché",shortCode:"QC"},{name:"Retalhuleu",shortCode:"Re"},{name:"Sacatepéquez",shortCode:"SA"},{name:"San Marcos",shortCode:"SM"},{name:"Santa Rosa",shortCode:"SR"},{name:"Sololá",shortCode:"SO"},{name:"Suchitepéquez",shortCode:"SU"},{name:"Totonicapán",shortCode:"TO"},{name:"Zacapa",shortCode:"ZA"}]},{countryName:"Guernsey",countryShortCode:"GG",regions:[{name:"Castel"},{name:"Forest"},{name:"St. Andrew"},{name:"St. Martin"},{name:"St. Peter Port"},{name:"St. Pierre du Bois"},{name:"St. Sampson"},{name:"St. Saviour"},{name:"Torteval"},{name:"Vale"}]},{countryName:"Guinea",countryShortCode:"GN",regions:[{name:"Boké",shortCode:"B"},{name:"Conakry",shortCode:"C"},{name:"Faranah",shortCode:"F"},{name:"Kankan",shortCode:"K"},{name:"Kindia",shortCode:"D"},{name:"Labé",shortCode:"L"},{name:"Mamou",shortCode:"M"},{name:"Nzérékoré",shortCode:"N"}]},{countryName:"Guinea-Bissau",countryShortCode:"GW",regions:[{name:"Bafatá",shortCode:"BA"},{name:"Biombo",shortCode:"BM"},{name:"Bissau",shortCode:"BS"},{name:"Bolama-Bijagos",shortCode:"BL"},{name:"Cacheu",shortCode:"CA"},{name:"Gabú",shortCode:"GA"},{name:"Oio",shortCode:"OI"},{name:"Quinara",shortCode:"QU"},{name:"Tombali",shortCode:"TO"}]},{countryName:"Guyana",countryShortCode:"GY",regions:[{name:"Barima-Waini",shortCode:"BA"},{name:"Cuyuni-Mazaruni",shortCode:"CU"},{name:"Demerara-Mahaica",shortCode:"DE"},{name:"East Berbice-Corentyne",shortCode:"EB"},{name:"Essequibo Islands-West Demerara",shortCode:"ES"},{name:"Mahaica-Berbice",shortCode:"MA"},{name:"Pomeroon-Supenaam",shortCode:"PM"},{name:"Potaro-Siparuni",shortCode:"PT"},{name:"Upper Demerara-Berbice",shortCode:"UD"},{name:"Upper Takutu-Upper Essequibo",shortCode:"UT"}]},{countryName:"Haiti",countryShortCode:"HT",regions:[{name:"Artibonite",shortCode:"AR"},{name:"Centre",shortCode:"CE"},{name:"Grand'Anse",shortCode:"GA"},{name:"Nippes",shortCode:"NI"},{name:"Nord",shortCode:"ND"},{name:"Nord-Est",shortCode:"NE"},{name:"Nord-Ouest",shortCode:"NO"},{name:"Ouest",shortCode:"OU"},{name:"Sud",shortCode:"SD"},{name:"Sud-Est",shortCode:"SE"}]},{countryName:"Heard Island and McDonald Islands",countryShortCode:"HM",regions:[{name:"Heard Island and McDonald Islands"}]},{countryName:"Holy See (Vatican City)",countryShortCode:"VA",regions:[{name:"Holy See (Vatican City)",shortCode:"VA"}]},{countryName:"Honduras",countryShortCode:"HN",regions:[{name:"Atlántida",shortCode:"AT"},{name:"Choluteca",shortCode:"CH"},{name:"Colón",shortCode:"CL"},{name:"Comayagua",shortCode:"CM"},{name:"Copán",shortCode:"CP"},{name:"Cortés",shortCode:"CR"},{name:"El Paraíso",shortCode:"EP"},{name:"Francisco Morazan",shortCode:"FM"},{name:"Gracias a Dios",shortCode:"GD"},{name:"Intibucá",shortCode:"IN"},{name:"Islas de la Bahía",shortCode:"IB"},{name:"La Paz",shortCode:"LP"},{name:"Lempira",shortCode:"LE"},{name:"Ocotepeque",shortCode:"OC"},{name:"Olancho",shortCode:"OL"},{name:"Santa Bárbara",shortCode:"SB"},{name:"Valle",shortCode:"VA"},{name:"Yoro",shortCode:"YO"}]},{countryName:"Hong Kong",countryShortCode:"HK",regions:[{name:"Hong Kong",shortCode:"HK"}]},{countryName:"Hungary",countryShortCode:"HU",regions:[{name:"Bács-Kiskun",shortCode:"BK"},{name:"Baranya",shortCode:"BA"},{name:"Békés",shortCode:"BE"},{name:"Békéscsaba",shortCode:"BC"},{name:"Borsod-Abauj-Zemplen",shortCode:"BZ"},{name:"Budapest",shortCode:"BU"},{name:"Csongrád",shortCode:"CS"},{name:"Debrecen",shortCode:"DE"},{name:"Dunaújváros",shortCode:"DU"},{name:"Eger",shortCode:"EG"},{name:"Érd",shortCode:"ER"},{name:"Fejér",shortCode:"FE"},{name:"Győr",shortCode:"GY"},{name:"Győr-Moson-Sopron",shortCode:"GS"},{name:"Hajdú-Bihar",shortCode:"HB"},{name:"Heves",shortCode:"HE"},{name:"Hódmezővásárhely",shortCode:"HV"},{name:"Jász-Nagykun-Szolnok",shortCode:"N"},{name:"Kaposvár",shortCode:"KV"},{name:"Kecskemét",shortCode:"KM"},{name:"Komárom-Esztergom",shortCode:"KE"},{name:"Miskolc",shortCode:"MI"},{name:"Nagykanizsa",shortCode:"NK"},{name:"Nógrád",shortCode:"NO"},{name:"Nyíregyháza",shortCode:"NY"},{name:"Pécs",shortCode:"PS"},{name:"Pest",shortCode:"PE"},{name:"Salgótarján",shortCode:"ST"},{name:"Somogy",shortCode:"SO"},{name:"Sopron",shortCode:"SN"},{name:"Szabolcs-á-Bereg",shortCode:"SZ"},{name:"Szeged",shortCode:"SD"},{name:"Székesfehérvár",shortCode:"SF"},{name:"Szekszárd",shortCode:"SS"},{name:"Szolnok",shortCode:"SK"},{name:"Szombathely",shortCode:"SH"},{name:"Tatabánya",shortCode:"TB"},{name:"Tolna",shortCode:"TO"},{name:"Vas",shortCode:"VA"},{name:"Veszprém",shortCode:"VE"},{name:"Veszprém (City)",shortCode:"VM"},{name:"Zala",shortCode:"ZA"},{name:"Zalaegerszeg",shortCode:"ZE"}]},{countryName:"Iceland",countryShortCode:"IS",regions:[{name:"Austurland",shortCode:"7"},{name:"Höfuðborgarsvæði utan Reykjavíkur",shortCode:"1"},{name:"Norðurland eystra",shortCode:"6"},{name:"Norðurland vestra",shortCode:"5"},{name:"Suðurland",shortCode:"8"},{name:"Suðurnes",shortCode:"2"},{name:"Vestfirðir",shortCode:"4"},{name:"Vesturland",shortCode:"3"}]},{countryName:"India",countryShortCode:"IN",regions:[{name:"Andaman and Nicobar Islands",shortCode:"AN"},{name:"Andhra Pradesh",shortCode:"AP"},{name:"Arunachal Pradesh",shortCode:"AR"},{name:"Assam",shortCode:"AS"},{name:"Bihar",shortCode:"BR"},{name:"Chandigarh",shortCode:"CH"},{name:"Chhattisgarh",shortCode:"CT"},{name:"Dadra and Nagar Haveli",shortCode:"DN"},{name:"Daman and Diu",shortCode:"DD"},{name:"Delhi",shortCode:"DL"},{name:"Goa",shortCode:"GA"},{name:"Gujarat",shortCode:"GJ"},{name:"Haryana",shortCode:"HR"},{name:"Himachal Pradesh",shortCode:"HP"},{name:"Jammu and Kashmir",shortCode:"JK"},{name:"Jharkhand",shortCode:"JH"},{name:"Karnataka",shortCode:"KA"},{name:"Kerala",shortCode:"KL"},{name:"Lakshadweep",shortCode:"LD"},{name:"Madhya Pradesh",shortCode:"MP"},{name:"Maharashtra",shortCode:"MH"},{name:"Manipur",shortCode:"MN"},{name:"Meghalaya",shortCode:"ML"},{name:"Mizoram",shortCode:"MZ"},{name:"Nagaland",shortCode:"NL"},{name:"Odisha",shortCode:"OR"},{name:"Puducherry",shortCode:"PY"},{name:"Punjab",shortCode:"PB"},{name:"Rajasthan",shortCode:"RJ"},{name:"Sikkim",shortCode:"WK"},{name:"Tamil Nadu",shortCode:"TN"},{name:"Telangana",shortCode:"TG"},{name:"Tripura",shortCode:"TR"},{name:"Uttarakhand",shortCode:"UT"},{name:"Uttar Pradesh",shortCode:"UP"},{name:"West Bengal",shortCode:"WB"}]},{countryName:"Indonesia",countryShortCode:"ID",regions:[{name:"Aceh",shortCode:"AC"},{name:"Bali",shortCode:"BA"},{name:"Bangka Belitung",shortCode:"BB"},{name:"Banten",shortCode:"BT"},{name:"Bengkulu",shortCode:"BE"},{name:"Gorontalo",shortCode:"GO"},{name:"Jakarta Raya",shortCode:"JK"},{name:"Jambi",shortCode:"JA"},{name:"Jawa Barat",shortCode:"JB"},{name:"Jawa Tengah",shortCode:"JT"},{name:"Jawa Timur",shortCode:"JI"},{name:"Kalimantan Barat",shortCode:"KB"},{name:"Kalimantan Selatan",shortCode:"KS"},{name:"Kalimantan Tengah",shortCode:"KT"},{name:"Kalimantan Timur",shortCode:"KI"},{name:"Kalimantan Utara",shortCode:"KU"},{name:"Kepulauan Riau",shortCode:"KR"},{name:"Lampung",shortCode:"LA"},{name:"Maluku",shortCode:"MA"},{name:"Maluku Utara",shortCode:"MU"},{name:"Nusa Tenggara Barat",shortCode:"NB"},{name:"Nusa Tenggara Timur",shortCode:"NT"},{name:"Papua",shortCode:"PA"},{name:"Papua Barat",shortCode:"PB"},{name:"Riau",shortCode:"RI"},{name:"Sulawesi Selatan",shortCode:"SR"},{name:"Sulawesi Tengah",shortCode:"ST"},{name:"Sulawesi Tenggara",shortCode:"SG"},{name:"Sulawesi Utara",shortCode:"SA"},{name:"Sumatera Barat",shortCode:"SB"},{name:"Sumatera Selatan",shortCode:"SS"},{name:"Sumatera Utara",shortCode:"SU"},{name:"Yogyakarta",shortCode:"YO"}]},{countryName:"Iran, Islamic Republic of",countryShortCode:"IR",regions:[{name:"Alborz",shortCode:"32"},{name:"Ardabīl",shortCode:"03"},{name:"Āz̄arbāyjān-e Gharbī",shortCode:"02"},{name:"Āz̄arbāyjān-e Sharqī",shortCode:"01"},{name:"Būshehr",shortCode:"06"},{name:"Chahār Maḩāl va Bakhtīārī",shortCode:"08"},{name:"Eşfahān",shortCode:"04"},{name:"Fārs",shortCode:"14"},{name:"Gīlān",shortCode:"19"},{name:"Golestān",shortCode:"27"},{name:"Hamadān",shortCode:"24"},{name:"Hormozgān",shortCode:"23"},{name:"Īlām",shortCode:"05"},{name:"Kermān",shortCode:"15"},{name:"Kermānshāh",shortCode:"17"},{name:"Khorāsān-e Jonūbī",shortCode:"29"},{name:"Khorāsān-e Raẕavī",shortCode:"30"},{name:"Khorāsān-e Shomālī",shortCode:"61"},{name:"Khūzestān",shortCode:"10"},{name:"Kohgīlūyeh va Bowyer Aḩmad",shortCode:"18"},{name:"Kordestān",shortCode:"16"},{name:"Lorestān",shortCode:"20"},{name:"Markazi",shortCode:"22"},{name:"Māzandarān",shortCode:"21"},{name:"Qazvīn",shortCode:"28"},{name:"Qom",shortCode:"26"},{name:"Semnān",shortCode:"12"},{name:"Sīstān va Balūchestān",shortCode:"13"},{name:"Tehrān",shortCode:"07"},{name:"Yazd",shortCode:"25"},{name:"Zanjān",shortCode:"11"}]},{countryName:"Iraq",countryShortCode:"IQ",regions:[{name:"Al Anbār",shortCode:"AN"},{name:"Al Başrah",shortCode:"BA"},{name:"Al Muthanná",shortCode:"MU"},{name:"Al Qādisīyah",shortCode:"QA"},{name:"An Najaf",shortCode:"NA"},{name:"Arbīl",shortCode:"AR"},{name:"As Sulaymānīyah",shortCode:"SU"},{name:"Bābil",shortCode:"BB"},{name:"Baghdād",shortCode:"BG"},{name:"Dohuk",shortCode:"DA"},{name:"Dhī Qār",shortCode:"DQ"},{name:"Diyālá",shortCode:"DI"},{name:"Karbalā'",shortCode:"KA"},{name:"Kirkuk",shortCode:"KI"},{name:"Maysān",shortCode:"MA"},{name:"Nīnawá",shortCode:"NI"},{name:"Şalāḩ ad Dīn",shortCode:"SD"},{name:"Wāsiţ",shortCode:"WA"}]},{countryName:"Ireland",countryShortCode:"IE",regions:[{name:"Carlow",shortCode:"CW"},{name:"Cavan",shortCode:"CN"},{name:"Clare",shortCode:"CE"},{name:"Cork",shortCode:"CO"},{name:"Donegal",shortCode:"DL"},{name:"Dublin",shortCode:"D"},{name:"Galway",shortCode:"G"},{name:"Kerry",shortCode:"KY"},{name:"Kildare",shortCode:"KE"},{name:"Kilkenny",shortCode:"KK"},{name:"Laois",shortCode:"LS"},{name:"Leitrim",shortCode:"LM"},{name:"Limerick",shortCode:"LK"},{name:"Longford",shortCode:"LD"},{name:"Louth",shortCode:"LH"},{name:"Mayo",shortCode:"MO"},{name:"Meath",shortCode:"MH"},{name:"Monaghan",shortCode:"MN"},{name:"Offaly",shortCode:"OY"},{name:"Roscommon",shortCode:"RN"},{name:"Sligo",shortCode:"SO"},{name:"Tipperary",shortCode:"TA"},{name:"Waterford",shortCode:"WD"},{name:"Westmeath",shortCode:"WH"},{name:"Wexford",shortCode:"WX"},{name:"Wicklow",shortCode:"WW"}]},{countryName:"Isle of Man",countryShortCode:"IM",regions:[{name:"Isle of Man"}]},{countryName:"Israel",countryShortCode:"IL",regions:[{name:"HaDarom",shortCode:"D"},{name:"HaMerkaz",shortCode:"M"},{name:"HaTsafon",shortCode:"Z"},{name:"H̱efa",shortCode:"HA"},{name:"Tel-Aviv",shortCode:"TA"},{name:"Yerushalayim",shortCode:"JM"}]},{countryName:"Italy",countryShortCode:"IT",regions:[{name:"Agrigento",shortCode:"AG"},{name:"Alessandria",shortCode:"AL"},{name:"Ancona",shortCode:"AN"},{name:"Aosta",shortCode:"AO"},{name:"Arezzo",shortCode:"AR"},{name:"Ascoli Piceno",shortCode:"AP"},{name:"Asti",shortCode:"AT"},{name:"Avellino",shortCode:"AV"},{name:"Bari",shortCode:"BA"},{name:"Barletta-Andria-Trani",shortCode:"BT"},{name:"Belluno",shortCode:"BL"},{name:"Benevento",shortCode:"BN"},{name:"Bergamo",shortCode:"BG"},{name:"Biella",shortCode:"BI"},{name:"Bologna",shortCode:"BO"},{name:"Bolzano",shortCode:"BZ"},{name:"Brescia",shortCode:"BS"},{name:"Brindisi",shortCode:"BR"},{name:"Cagliari",shortCode:"CA"},{name:"Caltanissetta",shortCode:"CL"},{name:"Campobasso",shortCode:"CB"},{name:"Carbonia-Iglesias",shortCode:"CI"},{name:"Caserta",shortCode:"CE"},{name:"Catania",shortCode:"CT"},{name:"Catanzaro",shortCode:"CZ"},{name:"Chieti",shortCode:"CH"},{name:"Como",shortCode:"CO"},{name:"Cosenza",shortCode:"CS"},{name:"Cremona",shortCode:"CR"},{name:"Crotone",shortCode:"KR"},{name:"Cuneo",shortCode:"CN"},{name:"Enna",shortCode:"EN"},{name:"Fermo",shortCode:"FM"},{name:"Ferrara",shortCode:"FE"},{name:"Firenze",shortCode:"FI"},{name:"Foggia",shortCode:"FG"},{name:"Forlì-Cesena",shortCode:"FC"},{name:"Frosinone",shortCode:"FR"},{name:"Genova",shortCode:"GE"},{name:"Gorizia",shortCode:"GO"},{name:"Grosseto",shortCode:"GR"},{name:"Imperia",shortCode:"IM"},{name:"Isernia",shortCode:"IS"},{name:"L'Aquila",shortCode:"AQ"},{name:"La Spezia",shortCode:"SP"},{name:"Latina",shortCode:"LT"},{name:"Lecce",shortCode:"LE"},{name:"Lecco",shortCode:"LC"},{name:"Livorno",shortCode:"LI"},{name:"Lodi",shortCode:"LO"},{name:"Lucca",shortCode:"LU"},{name:"Macerata",shortCode:"MC"},{name:"Mantova",shortCode:"MN"},{name:"Massa-Carrara",shortCode:"MS"},{name:"Matera",shortCode:"MT"},{name:"Medio Campidano",shortCode:"VS"},{name:"Messina",shortCode:"ME"},{name:"Milano",shortCode:"MI"},{name:"Modena",shortCode:"MO"},{name:"Monza e Brianza",shortCode:"MB"},{name:"Napoli",shortCode:"NA"},{name:"Novara",shortCode:"NO"},{name:"Nuoro",shortCode:"NU"},{name:"Ogliastra",shortCode:"OG"},{name:"Olbia-Tempio",shortCode:"OT"},{name:"Oristano",shortCode:"OR"},{name:"Padova",shortCode:"PD"},{name:"Palermo",shortCode:"PA"},{name:"Parma",shortCode:"PR"},{name:"Pavia",shortCode:"PV"},{name:"Perugia",shortCode:"PG"},{name:"Pesaro e Urbino",shortCode:"PU"},{name:"Pescara",shortCode:"PE"},{name:"Piacenza",shortCode:"PC"},{name:"Pisa",shortCode:"PI"},{name:"Pistoia",shortCode:"PT"},{name:"Pordenone",shortCode:"PN"},{name:"Potenza",shortCode:"PZ"},{name:"Prato",shortCode:"PO"},{name:"Ragusa",shortCode:"RG"},{name:"Ravenna",shortCode:"RA"},{name:"Reggio Calabria",shortCode:"RC"},{name:"Reggio Emilia",shortCode:"RE"},{name:"Rieti",shortCode:"RI"},{name:"Rimini",shortCode:"RN"},{name:"Roma",shortCode:"RM"},{name:"Rovigo",shortCode:"RO"},{name:"Salerno",shortCode:"SA"},{name:"Sassari",shortCode:"SS"},{name:"Savona",shortCode:"SV"},{name:"Siena",shortCode:"SI"},{name:"Siracusa",shortCode:"SR"},{name:"Sondrio",shortCode:"SO"},{name:"Taranto",shortCode:"TA"},{name:"Teramo",shortCode:"TE"},{name:"Terni",shortCode:"TR"},{name:"Torino",shortCode:"TO"},{name:"Trapani",shortCode:"TP"},{name:"Trento",shortCode:"TN"},{name:"Treviso",shortCode:"TV"},{name:"Trieste",shortCode:"TS"},{name:"Udine",shortCode:"UD"},{name:"Varese",shortCode:"VA"},{name:"Venezia",shortCode:"VE"},{name:"Verbano-Cusio-Ossola",shortCode:"VB"},{name:"Vercelli",shortCode:"VC"},{name:"Verona",shortCode:"VR"},{name:"Vibo Valentia",shortCode:"VV"},{name:"Vicenza",shortCode:"VI"},{name:"Viterbo",shortCode:"VT"}]},{countryName:"Jamaica",countryShortCode:"JM",regions:[{name:"Clarendon",shortCode:"13"},{name:"Hanover",shortCode:"09"},{name:"Kingston",shortCode:"01"},{name:"Manchester",shortCode:"12"},{name:"Portland",shortCode:"04"},{name:"Saint Andrew",shortCode:"02"},{name:"Saint Ann",shortCode:"06"},{name:"Saint Catherine",shortCode:"14"},{name:"Saint Elizabeth",shortCode:"11"},{name:"Saint James",shortCode:"08"},{name:"Saint Mary",shortCode:"05"},{name:"Saint Thomas",shortCode:"03"},{name:"Trelawny",shortCode:"07"},{name:"Westmoreland",shortCode:"10"}]},{countryName:"Japan",countryShortCode:"JP",regions:[{name:"Aichi",shortCode:"23"},{name:"Akita",shortCode:"05"},{name:"Aomori",shortCode:"02"},{name:"Chiba",shortCode:"12"},{name:"Ehime",shortCode:"38"},{name:"Fukui",shortCode:"18"},{name:"Fukuoka",shortCode:"40"},{name:"Fukushima",shortCode:"07"},{name:"Gifu",shortCode:"21"},{name:"Gunma",shortCode:"10"},{name:"Hiroshima",shortCode:"34"},{name:"Hokkaido",shortCode:"01"},{name:"Hyogo",shortCode:"28"},{name:"Ibaraki",shortCode:"08"},{name:"Ishikawa",shortCode:"17"},{name:"Iwate",shortCode:"03"},{name:"Kagawa",shortCode:"37"},{name:"Kagoshima",shortCode:"46"},{name:"Kanagawa",shortCode:"14"},{name:"Kochi",shortCode:"39"},{name:"Kumamoto",shortCode:"43"},{name:"Kyoto",shortCode:"26"},{name:"Mie",shortCode:"24"},{name:"Miyagi",shortCode:"04"},{name:"Miyazaki",shortCode:"45"},{name:"Nagano",shortCode:"20"},{name:"Nagasaki",shortCode:"42"},{name:"Nara",shortCode:"29"},{name:"Niigata",shortCode:"15"},{name:"Oita",shortCode:"44"},{name:"Okayama",shortCode:"33"},{name:"Okinawa",shortCode:"47"},{name:"Osaka",shortCode:"27"},{name:"Saga",shortCode:"41"},{name:"Saitama",shortCode:"11"},{name:"Shiga",shortCode:"25"},{name:"Shimane",shortCode:"32"},{name:"Shizuoka",shortCode:"22"},{name:"Tochigi",shortCode:"09"},{name:"Tokushima",shortCode:"36"},{name:"Tokyo",shortCode:"13"},{name:"Tottori",shortCode:"31"},{name:"Toyama",shortCode:"16"},{name:"Wakayama",shortCode:"30"},{name:"Yamagata",shortCode:"06"},{name:"Yamaguchi",shortCode:"35"},{name:"Yamanashi",shortCode:"19"}]},{countryName:"Jersey",countryShortCode:"JE",regions:[{name:"Jersey"}]},{countryName:"Jordan",countryShortCode:"JO",regions:[{name:"‘Ajlūn",shortCode:"AJ"},{name:"Al 'Aqabah",shortCode:"AQ"},{name:"Al Balqā’",shortCode:"BA"},{name:"Al Karak",shortCode:"KA"},{name:"Al Mafraq",shortCode:"MA"},{name:"Al ‘A̅şimah",shortCode:"AM"},{name:"Aţ Ţafīlah",shortCode:"AT"},{name:"Az Zarqā’",shortCode:"AZ"},{name:"Irbid",shortCode:"IR"},{name:"Jarash",shortCode:"JA"},{name:"Ma‘ān",shortCode:"MN"},{name:"Mādabā",shortCode:"MD"}]},{countryName:"Kazakhstan",countryShortCode:"KZ",regions:[{name:"Almaty",shortCode:"ALA"},{name:"Aqmola",shortCode:"AKM"},{name:"Aqtobe",shortCode:"AKT"},{name:"Astana",shortCode:"AST"},{name:"Atyrau",shortCode:"ATY"},{name:"Batys Qazaqstan",shortCode:"ZAP"},{name:"Bayqongyr"},{name:"Mangghystau",shortCode:"MAN"},{name:"Ongtustik Qazaqstan",shortCode:"YUZ"},{name:"Pavlodar",shortCode:"PAV"},{name:"Qaraghandy",shortCode:"KAR"},{name:"Qostanay",shortCode:"KUS"},{name:"Qyzylorda",shortCode:"KZY"},{name:"Shyghys Qazaqstan",shortCode:"VOS"},{name:"Soltustik Qazaqstan",shortCode:"SEV"},{name:"Zhambyl",shortCode:"ZHA"}]},{countryName:"Kenya",countryShortCode:"KE",regions:[{name:"Baringo",shortCode:"01"},{name:"Bomet",shortCode:"02"},{name:"Bungoma",shortCode:"03"},{name:"Busia",shortCode:"04"},{name:"Eleyo/Marakwet",shortCode:"05"},{name:"Embu",shortCode:"06"},{name:"Garissa",shortCode:"07"},{name:"Homa Bay",shortCode:"08"},{name:"Isiolo",shortCode:"09"},{name:"Kajiado",shortCode:"10"},{name:"Kakamega",shortCode:"11"},{name:"Kericho",shortCode:"12"},{name:"Kiambu",shortCode:"13"},{name:"Kilifi",shortCode:"14"},{name:"Kirinyaga",shortCode:"15"},{name:"Kisii",shortCode:"16"},{name:"Kisumu",shortCode:"17"},{name:"Kitui",shortCode:"18"},{name:"Kwale",shortCode:"19"},{name:"Laikipia",shortCode:"20"},{name:"Lamu",shortCode:"21"},{name:"Machakos",shortCode:"22"},{name:"Makueni",shortCode:"23"},{name:"Mandera",shortCode:"24"},{name:"Marsabit",shortCode:"25"},{name:"Meru",shortCode:"26"},{name:"Migori",shortCode:"27"},{name:"Mombasa",shortCode:"28"},{name:"Murang'a",shortCode:"29"},{name:"Nairobi City",shortCode:"30"},{name:"Nakuru",shortCode:"31"},{name:"Nandi",shortCode:"32"},{name:"Narok",shortCode:"33"},{name:"Nyamira",shortCode:"34"},{name:"Nyandarua",shortCode:"35"},{name:"Nyeri",shortCode:"36"},{name:"Samburu",shortCode:"37"},{name:"Siaya",shortCode:"38"},{name:"Taita/Taveta",shortCode:"39"},{name:"Tana River",shortCode:"40"},{name:"Tharaka-Nithi",shortCode:"41"},{name:"Trans Nzoia",shortCode:"42"},{name:"Turkana",shortCode:"43"},{name:"Uasin Gishu",shortCode:"44"},{name:"Vihiga",shortCode:"45"},{name:"Wajir",shortCode:"46"},{name:"West Pokot",shortCode:"47"}]},{countryName:"Kiribati",countryShortCode:"KI",regions:[{name:"Abaiang"},{name:"Abemama"},{name:"Aranuka"},{name:"Arorae"},{name:"Banaba"},{name:"Beru"},{name:"Butaritari"},{name:"Central Gilberts"},{name:"Gilbert Islands",shortCode:"G"},{name:"Kanton"},{name:"Kiritimati"},{name:"Kuria"},{name:"Line Islands",shortCode:"L"},{name:"Maiana"},{name:"Makin"},{name:"Marakei"},{name:"Nikunau"},{name:"Nonouti"},{name:"Northern Gilberts"},{name:"Onotoa"},{name:"Phoenix Islands",shortCode:"P"},{name:"Southern Gilberts"},{name:"Tabiteuea"},{name:"Tabuaeran"},{name:"Tamana"},{name:"Tarawa"},{name:"Teraina"}]},{countryName:"Korea, Democratic People's Republic of",countryShortCode:"KP",regions:[{name:"Chagang-do (Chagang Province)",shortCode:"04"},{name:"Hamgyong-bukto (North Hamgyong Province)",shortCode:"09"},{name:"Hamgyong-namdo (South Hamgyong Province)",shortCode:"08"},{name:"Hwanghae-bukto (North Hwanghae Province)",shortCode:"06"},{name:"Hwanghae-namdo (South Hwanghae Province)",shortCode:"05"},{name:"Kangwon-do (Kangwon Province)",shortCode:"07"},{name:"Nasŏn (Najin-Sŏnbong)",shortCode:"13"},{name:"P'yongan-bukto (North P'yongan Province)",shortCode:"03"},{name:"P'yongan-namdo (South P'yongan Province)",shortCode:"02"},{name:"P'yongyang-si (P'yongyang City)",shortCode:"01"},{name:"Yanggang-do (Yanggang Province)",shortCode:"10"}]},{countryName:"Korea, Republic of",countryShortCode:"KR",regions:[{name:"Ch'ungch'ongbuk-do",shortCode:"43"},{name:"Ch'ungch'ongnam-do",shortCode:"44"},{name:"Cheju-do",shortCode:"49"},{name:"Chollabuk-do",shortCode:"45"},{name:"Chollanam-do",shortCode:"46"},{name:"Inch'on-Kwangyokhi",shortCode:"28"},{name:"Kang-won-do",shortCode:"42"},{name:"Kwangju-Kwangyokshi",shortCode:"28"},{name:"Kyonggi-do",shortCode:"41"},{name:"Kyongsangbuk-do",shortCode:"47"},{name:"Kyongsangnam-do",shortCode:"48"},{name:"Pusan-Kwangyokshi",shortCode:"26"},{name:"Seoul-T'ukpyolshi",shortCode:"11"},{name:"Sejong",shortCode:"50"},{name:"Taegu-Kwangyokshi",shortCode:"27"},{name:"Taejon-Kwangyokshi",shortCode:"30"},{name:"Ulsan-Kwangyokshi",shortCode:"31"}]},{countryName:"Kuwait",countryShortCode:"KW",regions:[{name:"Al Aḩmadi",shortCode:"AH"},{name:"Al Farwānīyah",shortCode:"FA"},{name:"Al Jahrā’",shortCode:"JA"},{name:"Al ‘Āşimah",shortCode:"KU"},{name:"Ḩawallī",shortCode:"HA"},{name:"Mubārak al Kabir",shortCode:"MU"}]},{countryName:"Kyrgyzstan",countryShortCode:"KG",regions:[{name:"Batken Oblasty",shortCode:"B"},{name:"Bishkek Shaary",shortCode:"GB"},{name:"Chuy Oblasty (Bishkek)",shortCode:"C"},{name:"Jalal-Abad Oblasty",shortCode:"J"},{name:"Naryn Oblasty",shortCode:"N"},{name:"Osh Oblasty",shortCode:"O"},{name:"Talas Oblasty",shortCode:"T"},{name:"Ysyk-Kol Oblasty (Karakol)",shortCode:"Y"}]},{countryName:"Laos",countryShortCode:"LA",regions:[{name:"Attapu",shortCode:"AT"},{name:"Bokèo",shortCode:"BK"},{name:"Bolikhamxai",shortCode:"BL"},{name:"Champasak",shortCode:"CH"},{name:"Houaphan",shortCode:"HO"},{name:"Khammouan",shortCode:"KH"},{name:"Louang Namtha",shortCode:"LM"},{name:"Louangphabang",shortCode:"LP"},{name:"Oudômxai",shortCode:"OU"},{name:"Phôngsali",shortCode:"PH"},{name:"Salavan",shortCode:"SL"},{name:"Savannakhét",shortCode:"SV"},{name:"Vientiane",shortCode:"VI"},{name:"Xaignabouli",shortCode:"XA"},{name:"Xékong",shortCode:"XE"},{name:"Xaisomboun",shortCode:"XS"},{name:"Xiangkhouang",shortCode:"XI"}]},{countryName:"Latvia",countryShortCode:"LV",regions:[{name:"Aglona",shortCode:"001"},{name:"Aizkraukle",shortCode:"002"},{name:"Aizpute",shortCode:"003"},{name:"Aknīste",shortCode:"004"},{name:"Aloja",shortCode:"005"},{name:"Alsunga",shortCode:"06"},{name:"Alūksne",shortCode:"007"},{name:"Amata",shortCode:"008"},{name:"Ape",shortCode:"009"},{name:"Auce",shortCode:"010"},{name:"Ādaži",shortCode:"011"},{name:"Babīte",shortCode:"012"},{name:"Baldone",shortCode:"013"},{name:"Baltinava",shortCode:"014"},{name:"Balvi",shortCode:"015"},{name:"Bauska",shortCode:"016"},{name:"Beverīna",shortCode:"017"},{name:"Brocēni",shortCode:"018"},{name:"Burtnieki",shortCode:"019"},{name:"Carnikava",shortCode:"020"},{name:"Cesvaine",shortCode:"021"},{name:"Cēsis",shortCode:"022"},{name:"Cibla",shortCode:"023"},{name:"Dagda",shortCode:"024"},{name:"Daugavpils",shortCode:"025"},{name:"Daugavpils (City)",shortCode:"DGV"},{name:"Dobele",shortCode:"026"},{name:"Dundaga",shortCode:"027"},{name:"Durbe",shortCode:"028"},{name:"Engure",shortCode:"029"},{name:"Ērgļi",shortCode:"030"},{name:"Garkalne",shortCode:"031"},{name:"Grobiņa",shortCode:"032"},{name:"Gulbene",shortCode:"033"},{name:"Iecava",shortCode:"034"},{name:"Ikšķile",shortCode:"035"},{name:"Ilūkste",shortCode:"036"},{name:"Inčukalns",shortCode:"037"},{name:"Jaunjelgava",shortCode:"038"},{name:"Jaunpiebalga",shortCode:"039"},{name:"Jaunpils",shortCode:"040"},{name:"Jelgava",shortCode:"041"},{name:"Jelgava (City)",shortCode:"JEL"},{name:"Jēkabpils",shortCode:"042"},{name:"Jēkabpils (City)",shortCode:"JKB"},{name:"Jūrmala (City)",shortCode:"JUR"},{name:"Kandava",shortCode:"043"},{name:"Kārsava",shortCode:"044"},{name:"Kocēni",shortCode:"045"},{name:"Koknese",shortCode:"046"},{name:"Krāslava",shortCode:"047"},{name:"Krimulda",shortCode:"048"},{name:"Krustpils",shortCode:"049"},{name:"Kuldīga",shortCode:"050"},{name:"Ķegums",shortCode:"051"},{name:"Ķekava",shortCode:"052"},{name:"Lielvārde",shortCode:"053"},{name:"Liepāja",shortCode:"LPX"},{name:"Limbaži",shortCode:"054"},{name:"Līgatne",shortCode:"055"},{name:"Līvāni",shortCode:"056"},{name:"Lubāna",shortCode:"057"},{name:"Ludza",shortCode:"058"},{name:"Madona",shortCode:"059"},{name:"Mazsalaca",shortCode:"060"},{name:"Mālpils",shortCode:"061"},{name:"Mārupe",shortCode:"062"},{name:"Mērsrags",shortCode:"063"},{name:"Naukšēni",shortCode:"064"},{name:"Nereta",shortCode:"065"},{name:"Nīca",shortCode:"066"},{name:"Ogre",shortCode:"067"},{name:"Olaine",shortCode:"068"},{name:"Ozolnieki",shortCode:"069"},{name:"Pārgauja",shortCode:"070"},{name:"Pāvilosta",shortCode:"071"},{name:"Pļaviņas",shortCode:"072"},{name:"Preiļi",shortCode:"073"},{name:"Priekule",shortCode:"074"},{name:"Priekuļi",shortCode:"075"},{name:"Rauna",shortCode:"076"},{name:"Rēzekne",shortCode:"077"},{name:"Rēzekne (City)",shortCode:"REZ"},{name:"Riebiņi",shortCode:"078"},{name:"Rīga",shortCode:"RIX"},{name:"Roja",shortCode:"079"},{name:"Ropaži",shortCode:"080"},{name:"Rucava",shortCode:"081"},{name:"Rugāji",shortCode:"082"},{name:"Rundāle",shortCode:"083"},{name:"Rūjiena",shortCode:"084"},{name:"Sala",shortCode:"085"},{name:"Salacgrīva",shortCode:"086"},{name:"Salaspils",shortCode:"087"},{name:"Saldus",shortCode:"088"},{name:"Saulkrasti",shortCode:"089"},{name:"Sēja",shortCode:"090"},{name:"Sigulda",shortCode:"091"},{name:"Skrīveri",shortCode:"092"},{name:"Skrunda",shortCode:"093"},{name:"Smiltene",shortCode:"094"},{name:"Stopiņi",shortCode:"095"},{name:"Strenči",shortCode:"096"},{name:"Talsi",shortCode:"097"},{name:"Tērvete",shortCode:"098"},{name:"Tukums",shortCode:"099"},{name:"Vaiņode",shortCode:"100"},{name:"Valka",shortCode:"101"},{name:"Valmiera",shortCode:"VMR"},{name:"Varakļāni",shortCode:"102"},{name:"Vārkava",shortCode:"103"},{name:"Vecpiebalga",shortCode:"104"},{name:"Vecumnieki",shortCode:"105"},{name:"Ventspils",shortCode:"106"},{name:"Ventspils (City)",shortCode:"VEN"},{name:"Viesīte",shortCode:"107"},{name:"Viļaka",shortCode:"108"},{name:"Viļāni",shortCode:"109"},{name:"Zilupe",shortCode:"110"}]},{countryName:"Lebanon",countryShortCode:"LB",regions:[{name:"Aakkâr",shortCode:"AK"},{name:"Baalbelk-Hermel",shortCode:"BH"},{name:"Béqaa",shortCode:"BI"},{name:"Beyrouth",shortCode:"BA"},{name:"Liban-Nord",shortCode:"AS"},{name:"Liban-Sud",shortCode:"JA"},{name:"Mont-Liban",shortCode:"JL"},{name:"Nabatîyé",shortCode:"NA"}]},{countryName:"Lesotho",countryShortCode:"LS",regions:[{name:"Berea",shortCode:"D"},{name:"Butha-Buthe",shortCode:"B"},{name:"Leribe",shortCode:"C"},{name:"Mafeteng",shortCode:"E"},{name:"Maseru",shortCode:"A"},{name:"Mohales Hoek",shortCode:"F"},{name:"Mokhotlong",shortCode:"J"},{name:"Qacha's Nek",shortCode:"H"},{name:"Quthing",shortCode:"G"},{name:"Thaba-Tseka",shortCode:"K"}]},{countryName:"Liberia",countryShortCode:"LR",regions:[{name:"Bomi",shortCode:"BM"},{name:"Bong",shortCode:"BG"},{name:"Gbarpolu",shortCode:"GP"},{name:"Grand Bassa",shortCode:"GB"},{name:"Grand Cape Mount",shortCode:"CM"},{name:"Grand Gedeh",shortCode:"GG"},{name:"Grand Kru",shortCode:"GK"},{name:"Lofa",shortCode:"LO"},{name:"Margibi",shortCode:"MG"},{name:"Maryland",shortCode:"MY"},{name:"Montserrado",shortCode:"MO"},{name:"Nimba",shortCode:"NI"},{name:"River Cess",shortCode:"RI"},{name:"River Geee",shortCode:"RG"},{name:"Sinoe",shortCode:"SI"}]},{countryName:"Libya",countryShortCode:"LY",regions:[{name:"Al Buţnān",shortCode:"BU"},{name:"Al Jabal al Akhḑar",shortCode:"JA"},{name:"Al Jabal al Gharbī",shortCode:"JG"},{name:"Al Jafārah",shortCode:"JA"},{name:"Al Jufrah",shortCode:"JU"},{name:"Al Kufrah",shortCode:"FK"},{name:"Al Marj",shortCode:"MJ"},{name:"Al Marquab",shortCode:"MB"},{name:"Al Wāḩāt",shortCode:"WA"},{name:"An Nuqaţ al Khams",shortCode:"NQ"},{name:"Az Zāwiyah",shortCode:"ZA"},{name:"Banghāzī",shortCode:"BA"},{name:"Darnah",shortCode:"DR"},{name:"Ghāt",shortCode:"GH"},{name:"Mişrātah",shortCode:"MI"},{name:"Murzuq",shortCode:"MQ"},{name:"Nālūt",shortCode:"NL"},{name:"Sabhā",shortCode:"SB"},{name:"Surt",shortCode:"SR"},{name:"Ţarābulus",shortCode:"TB"},{name:"Yafran",shortCode:"WD"},{name:"Wādī ash Shāţiʾ",shortCode:"WS"}]},{countryName:"Liechtenstein",countryShortCode:"LI",regions:[{name:"Balzers",shortCode:"01"},{name:"Eschen",shortCode:"02"},{name:"Gamprin",shortCode:"03"},{name:"Mauren",shortCode:"04"},{name:"Planken",shortCode:"05"},{name:"Ruggell",shortCode:"06"},{name:"Schaan",shortCode:"07"},{name:"Schellenberg",shortCode:"08"},{name:"Triesen",shortCode:"09"},{name:"Triesenberg",shortCode:"10"},{name:"Vaduz",shortCode:"11"}]},{countryName:"Lithuania",countryShortCode:"LT",regions:[{name:"Alytaus",shortCode:"AL"},{name:"Kauno",shortCode:"KU"},{name:"Klaipėdos",shortCode:"KL"},{name:"Marijampolės",shortCode:"MR"},{name:"Panevėžio",shortCode:"PN"},{name:"Šiaulių",shortCode:"SA"},{name:"Tauragės",shortCode:"TA"},{name:"Telšių",shortCode:"TE"},{name:"Utenos",shortCode:"UT"},{name:"Vilniaus",shortCode:"VL"}]},{countryName:"Luxembourg",countryShortCode:"LU",regions:[{name:"Capellen",shortCode:"CA"},{name:"Clevaux",shortCode:"CL"},{name:"Diekirch",shortCode:"DI"},{name:"Echternach",shortCode:"EC"},{name:"Esch-sur-Alzette",shortCode:"ES"},{name:"Grevenmacher",shortCode:"GR"},{name:"Luxembourg",shortCode:"LU"},{name:"Mersch",shortCode:"ME"},{name:"Redange",shortCode:"RD"},{name:"Remich",shortCode:"RM"},{name:"Vianden",shortCode:"VD"},{name:"Wiltz",shortCode:"WI"}]},{countryName:"Macao",countryShortCode:"MO",regions:[{name:"Macao"}]},{countryName:"Macedonia, Republic of",countryShortCode:"MK",regions:[{name:"Aračinovo",shortCode:"02"},{name:"Berovo",shortCode:"03"},{name:"Bitola",shortCode:"04"},{name:"Bogdanci",shortCode:"05"},{name:"Bogovinje",shortCode:"06"},{name:"Bosilovo",shortCode:"07"},{name:"Brvenica",shortCode:"08"},{name:"Centar Župa",shortCode:"78"},{name:"Čaška",shortCode:"08"},{name:"Češinovo-Obleševo",shortCode:"81"},{name:"Čučer Sandevo",shortCode:"82"},{name:"Debar",shortCode:"21"},{name:"Debarca",shortCode:"22"},{name:"Delčevo",shortCode:"23"},{name:"Demir Hisar",shortCode:"25"},{name:"Demir Kapija",shortCode:"24"},{name:"Doran",shortCode:"26"},{name:"Dolneni",shortCode:"27"},{name:"Gevgelija",shortCode:"18"},{name:"Gostivar",shortCode:"19"},{name:"Gradsko",shortCode:"20"},{name:"Ilinden",shortCode:"34"},{name:"Jegunovce",shortCode:"35"},{name:"Karbinci",shortCode:"37"},{name:"Kavadarci",shortCode:"36"},{name:"Kičevo",shortCode:"40"},{name:"Kočani",shortCode:"42"},{name:"Konče",shortCode:"41"},{name:"Kratovo",shortCode:"43"},{name:"Kriva Palanka",shortCode:"44"},{name:"Krivogaštani",shortCode:"45"},{name:"Kruševo",shortCode:"46"},{name:"Kumanovo",shortCode:"47"},{name:"Lipkovo",shortCode:"48"},{name:"Lozovo",shortCode:"49"},{name:"Makedonska Kamenica",shortCode:"51"},{name:"Makedonski Brod",shortCode:"52"},{name:"Mavrovo i Rostuša",shortCode:"50"},{name:"Mogila",shortCode:"53"},{name:"Negotino",shortCode:"54"},{name:"Novaci",shortCode:"55"},{name:"Novo Selo",shortCode:"56"},{name:"Ohrid",shortCode:"58"},{name:"Pehčevo",shortCode:"60"},{name:"Petrovec",shortCode:"59"},{name:"Plasnica",shortCode:"61"},{name:"Prilep",shortCode:"62"},{name:"Probištip",shortCode:"63"},{name:"Radoviš",shortCode:""},{name:"Rankovce",shortCode:"65"},{name:"Resen",shortCode:"66"},{name:"Rosoman",shortCode:"67"},{name:"Skopje",shortCode:"85"},{name:"Sopište",shortCode:"70"},{name:"Staro Nagoričane",shortCode:"71"},{name:"Struga",shortCode:"72"},{name:"Strumica",shortCode:"73"},{name:"Studeničani",shortCode:"74"},{name:"Sveti Nikole",shortCode:"69"},{name:"Štip",shortCode:"83"},{name:"Tearce",shortCode:"75"},{name:"Tetovo",shortCode:"76"},{name:"Valandovo",shortCode:"10"},{name:"Vasilevo",shortCode:"11"},{name:"Veles",shortCode:"13"},{name:"Vevčani",shortCode:"12"},{name:"Vinica",shortCode:"14"},{name:"Vrapčište",shortCode:"16"},{name:"Zelenikovo",shortCode:"32"},{name:"Zrnovci",shortCode:"33"},{name:"Želino",shortCode:"30"}]},{countryName:"Madagascar",countryShortCode:"MG",regions:[{name:"Antananarivo",shortCode:"T"},{name:"Antsiranana",shortCode:"D"},{name:"Fianarantsoa",shortCode:"F"},{name:"Mahajanga",shortCode:"M"},{name:"Toamasina",shortCode:"A"},{name:"Toliara",shortCode:"U"}]},{countryName:"Malawi",countryShortCode:"MW",regions:[{name:"Balaka",shortCode:"BA"},{name:"Blantyre",shortCode:"BL"},{name:"Chikwawa",shortCode:"CK"},{name:"Chiradzulu",shortCode:"CR"},{name:"Chitipa",shortCode:"CT"},{name:"Dedza",shortCode:"DE"},{name:"Dowa",shortCode:"DO"},{name:"Karonga",shortCode:"KR"},{name:"Kasungu",shortCode:"KS"},{name:"Likoma",shortCode:"LK"},{name:"Lilongwe",shortCode:"LI"},{name:"Machinga",shortCode:"MH"},{name:"Mangochi",shortCode:"MG"},{name:"Mchinji",shortCode:"MC"},{name:"Mulanje",shortCode:"MU"},{name:"Mwanza",shortCode:"MW"},{name:"Mzimba",shortCode:"MZ"},{name:"Nkhata Bay",shortCode:"NE"},{name:"Nkhotakota",shortCode:"NB"},{name:"Nsanje",shortCode:"NS"},{name:"Ntcheu",shortCode:"NU"},{name:"Ntchisi",shortCode:"NI"},{name:"Phalombe",shortCode:"PH"},{name:"Rumphi",shortCode:"RU"},{name:"Salima",shortCode:"SA"},{name:"Thyolo",shortCode:"TH"},{name:"Zomba",shortCode:"ZO"}]},{countryName:"Malaysia",countryShortCode:"MY",regions:[{name:"Johor",shortCode:"01"},{name:"Kedah",shortCode:"02"},{name:"Kelantan",shortCode:"03"},{name:"Melaka",shortCode:"04"},{name:"Negeri Sembilan",shortCode:"05"},{name:"Pahang",shortCode:"06"},{name:"Perak",shortCode:"08"},{name:"Perlis",shortCode:"09"},{name:"Pulau Pinang",shortCode:"07"},{name:"Sabah",shortCode:"12"},{name:"Sarawak",shortCode:"13"},{name:"Selangor",shortCode:"10"},{name:"Terengganu",shortCode:"11"},{name:"Wilayah Persekutuan (Kuala Lumpur)",shortCode:"14"},{name:"Wilayah Persekutuan (Labuan)",shortCode:"15"},{name:"Wilayah Persekutuan (Putrajaya)",shortCode:"16"}]},{countryName:"Maldives",countryShortCode:"MV",regions:[{name:"Alifu Alifu",shortCode:"02"},{name:"Alifu Dhaalu",shortCode:"00"},{name:"Baa",shortCode:"20"},{name:"Dhaalu",shortCode:"17"},{name:"Faafu",shortCode:"14"},{name:"Gaafu Alifu",shortCode:"27"},{name:"Gaafu Dhaalu",shortCode:"28"},{name:"Gnaviyani",shortCode:"29"},{name:"Haa Alifu",shortCode:"07"},{name:"Haa Dhaalu",shortCode:"23"},{name:"Kaafu",shortCode:"29"},{name:"Laamu",shortCode:"05"},{name:"Lhaviyani",shortCode:"03"},{name:"Malé",shortCode:"MLE"},{name:"Meemu",shortCode:"12"},{name:"Noonu",shortCode:"25"},{name:"Raa",shortCode:"13"},{name:"Seenu",shortCode:"01"},{name:"Shaviyani",shortCode:"24"},{name:"Thaa",shortCode:"08"},{name:"Vaavu",shortCode:"04"}]},{countryName:"Mali",countryShortCode:"ML",regions:[{name:"Bamako",shortCode:"BKO"},{name:"Gao",shortCode:"7"},{name:"Kayes",shortCode:"1"},{name:"Kidal",shortCode:"8"},{name:"Koulikoro",shortCode:"2"},{name:"Mopti",shortCode:"5"},{name:"Segou",shortCode:"4"},{name:"Sikasso",shortCode:"3"},{name:"Tombouctou",shortCode:"6"}]},{countryName:"Malta",countryShortCode:"MT",regions:[{name:"Attard",shortCode:"Attard (Attard)"},{name:"Balzan",shortCode:"Balzan (Balzan)"},{name:"Birkirkara",shortCode:"Birkirkara (Birkirkara)"},{name:"Birżebbuġa",shortCode:"Birżebbuġa (Birzebbuga)"},{name:"Cospicua",shortCode:"Cospicua (Cospicua)"},{name:"Dingli",shortCode:"Dingli (Dingli)"},{name:"Fgura",shortCode:"Fgura (Fgura)"},{name:"Floriana",shortCode:"Floriana (Floriana)"},{name:"Fontana",shortCode:"Fontana (Fontana)"},{name:"Għajnsielem",shortCode:"Għajnsielem (Ghajnsielem)"},{name:"Għarb",shortCode:"Għarb (Gharb)"},{name:"Għargħur",shortCode:"Għargħur (Gharghur)"},{name:"Għasri",shortCode:"Għasri (Ghasri)"},{name:"Għaxaq",shortCode:"Għaxaq (Ghaxaq)"},{name:"Gudja",shortCode:"Gudja (Gudja)"},{name:"Gżira",shortCode:"Gżira (Gzira)"},{name:"Ħamrun",shortCode:"Ħamrun (Hamrun)"},{name:"Iklin",shortCode:"Iklin (Iklin)"},{name:"Kalkara",shortCode:"Kalkara (Kalkara)"},{name:"Kercem",shortCode:"Kercem (Kercem)"},{name:"Kirkop",shortCode:"Kirkop (Kirkop)"},{name:"Lija",shortCode:"Lija (Lija)"},{name:"Luqa",shortCode:"Luqa (Luqa)"},{name:"Marsa",shortCode:"Marsa (Marsa)"},{name:"Marsaskala",shortCode:"Marsaskala (Marsaskala)"},{name:"Marsaxlokk",shortCode:"Marsaxlokk (Marsaxlokk)"},{name:"Mdina",shortCode:"Mdina (Mdina)"},{name:"Mellieha",shortCode:"Mellieha (Mellieha)"},{name:"Mgarr",shortCode:"Mgarr (Mgarr)"},{name:"Mosta",shortCode:"Mosta (Mosta)"},{name:"Mqabba",shortCode:"Mqabba (Mqabba)"},{name:"Msida",shortCode:"Msida (Msida)"},{name:"Mtarfa",shortCode:"Mtarfa (Imtarfa)"},{name:"Munxar",shortCode:"Munxar (Munxar)"},{name:"Nadur",shortCode:"Nadur (Nadur)"},{name:"Naxxar",shortCode:"Naxxar (Naxxar)"},{name:"Paola",shortCode:"Paola (Paola)"},{name:"Pembroke",shortCode:"Pembroke (Pembroke)"},{name:"Pietà",shortCode:"Pietà (Pietà)"},{name:"Qala",shortCode:"Qala (Qala)"},{name:"Qormi",shortCode:"Qormi (Qormi)"},{name:"Qrendi",shortCode:"Qrendi (Qrendi)"},{name:"Rabat",shortCode:"Rabat (Rabat)"},{name:"Safi",shortCode:"Safi (Safi)"},{name:"St. Julian's",shortCode:"St. Julian’s (St. Julian's)"},{name:"San Gwann ",shortCode:"San Gwann (San gwann)"},{name:"San Lawrenz ",shortCode:"San Lawrenz (San Lawrenz)"},{name:"Senglea",shortCode:"Senglea (Senglea)"},{name:"St. Paul's Bay",shortCode:"St. Paul’s Bay (St. Paul's Bay)"},{name:"Sannat",shortCode:"Sannat (Sannat)"},{name:"Santa Lucija ",shortCode:"Santa Lucija (Santa Lucija)"},{name:"Santa Venera ",shortCode:"Santa Venera (Santa Venera)"},{name:"Siggiewi",shortCode:"Siggiewi (Siggiewi)"},{name:"Sliema",shortCode:"Sliema (Sliema)"},{name:"Swieqi",shortCode:"Swieqi (Swieqi)"},{name:"Tarxien",shortCode:"Tarxien (Tarxien)"},{name:"Ta' Xbiex",shortCode:"Ta' Xbiex (Ta' Xbiex)"},{name:"Valletta",shortCode:"Valletta (Valletta)"},{name:"Victoria",shortCode:"Victoria (Victoria-Gozo)"},{name:"Vittoriosa",shortCode:"Vittoriosa (Birgu)"},{name:"Xaghra",shortCode:"Xaghra (Xaghra)"},{name:"Xewkija",shortCode:"Xewkija (Xewkija)"},{name:"Xghajra",shortCode:"Xghajra (Xaghjra)"},{name:"Zabbar",shortCode:"Zabbar (Zabbar)"},{name:"Żebbuġ",shortCode:"Żebbuġ (Zebbug)"},{name:"Zebbug",shortCode:"Zebbug (Zebbug-Gozo)"},{name:"Zejtun",shortCode:"Zejtun (Zejtun)"},{name:"Zurrieq",shortCode:"Zurrieq (Zurrieq)"}]},{countryName:"Marshall Islands",countryShortCode:"MH",regions:[{name:"Ailinglaplap",shortCode:"ALL"},{name:"Ailuk",shortCode:"ALK"},{name:"Arno",shortCode:"ARN"},{name:"Aur",shortCode:"AUR"},{name:"Bikini and Kili",shortCode:"KIL"},{name:"Ebon",shortCode:"EBO"},{name:"Jabat",shortCode:"JAB"},{name:"Jaluit",shortCode:"JAL"},{name:"Kwajalein",shortCode:"KWA"},{name:"Lae",shortCode:"LAE"},{name:"Lib",shortCode:"LIB"},{name:"Likiep",shortCode:"LIK"},{name:"Majuro",shortCode:"MAJ"},{name:"Maloelap",shortCode:"MAL"},{name:"Mejit",shortCode:"MEJ"},{name:"Namdrik",shortCode:"NMK"},{name:"Namu",shortCode:"NMU"},{name:"Rongelap",shortCode:"RON"},{name:"Ujae",shortCode:"UJA"},{name:"Utrik",shortCode:"UTI"},{name:"Wotho",shortCode:"WTH"},{name:"Wotje",shortCode:"WTJ"}]},{countryName:"Martinique",countryShortCode:"MQ",regions:[{name:"Martinique"}]},{countryName:"Mauritania",countryShortCode:"MR",regions:[{name:"Adrar",shortCode:"07"},{name:"Assaba",shortCode:"03"},{name:"Brakna",shortCode:"05"},{name:"Dakhlet Nouadhibou",shortCode:"08"},{name:"Gorgol",shortCode:"04"},{name:"Guidimaka",shortCode:"10"},{name:"Hodh Ech Chargui",shortCode:"01"},{name:"Hodh El Gharbi",shortCode:"02"},{name:"Inchiri",shortCode:"12"},{name:"Nouakchott Nord",shortCode:"14"},{name:"Nouakchott Ouest",shortCode:"13"},{name:"Nouakchott Sud",shortCode:"15"},{name:"Tagant",shortCode:"09"},{name:"Tiris Zemmour",shortCode:"11"},{name:"Trarza",shortCode:"06"}]},{countryName:"Mauritius",countryShortCode:"MU",regions:[{name:"Agalega Islands",shortCode:"AG"},{name:"Beau Bassin-Rose Hill",shortCode:"BR"},{name:"Black River",shortCode:"BL"},{name:"Cargados Carajos Shoals",shortCode:"CC"},{name:"Curepipe",shortCode:"CU"},{name:"Flacq",shortCode:"FL"},{name:"Grand Port",shortCode:"GP"},{name:"Moka",shortCode:"MO"},{name:"Pamplemousses",shortCode:"PA"},{name:"Plaines Wilhems",shortCode:"PW"},{name:"Port Louis (City)",shortCode:"PU"},{name:"Port Louis",shortCode:"PL"},{name:"Riviere du Rempart",shortCode:"RR"},{name:"Rodrigues Island",shortCode:"RO"},{name:"Savanne",shortCode:"SA"},{name:"Vacoas-Phoenix",shortCode:"CP"}]},{countryName:"Mayotte",countryShortCode:"YT",regions:[{name:"Dzaoudzi",shortCode:"01"},{name:"Pamandzi",shortCode:"02"},{name:"Mamoudzou",shortCode:"03"},{name:"Dembeni",shortCode:"04"},{name:"Bandrélé",shortCode:"05"},{name:"Kani-Kéli",shortCode:"06"},{name:"Bouéni",shortCode:"07"},{name:"Chirongui",shortCode:"08"},{name:"Sada",shortCode:"09"},{name:"Ouangani",shortCode:"10"},{name:"Chiconi",shortCode:"11"},{name:"Tsingoni",shortCode:"12"},{name:"M'Tsangamouji",shortCode:"13"},{name:"Acoua",shortCode:"14"},{name:"Mtsamboro",shortCode:"15"},{name:"Bandraboua",shortCode:"16"},{name:"Koungou",shortCode:"17"}]},{countryName:"Mexico",countryShortCode:"MX",regions:[{name:"Aguascalientes",shortCode:"Aguascalientes"},{name:"Baja California",shortCode:"Baja California"},{name:"Baja California Sur",shortCode:"Baja California Sur"},{name:"Campeche",shortCode:"Campeche"},{name:"Ciudad de México",shortCode:"Ciudad de México"},{name:"Chiapas",shortCode:"Chiapas"},{name:"Chihuahua",shortCode:"Chihuahua"},{name:"Coahuila de Zaragoza",shortCode:"Coahuila de Zaragoza"},{name:"Colima",shortCode:"Colima"},{name:"Durango",shortCode:"Durango"},{name:"Estado de México",shortCode:"Estado de México"},{name:"Guanajuato",shortCode:"Guanajuato"},{name:"Guerrero",shortCode:"Guerrero"},{name:"Hidalgo",shortCode:"Hidalgo"},{name:"Jalisco",shortCode:"Jalisco"},{name:"Michoacán de Ocampo",shortCode:"Michoacán de Ocampo"},{name:"Morelos",shortCode:"Morelos"},{name:"Nayarit",shortCode:"Nayarit"},{name:"Nuevo León",shortCode:"Nuevo León"},{name:"Oaxaca",shortCode:"Oaxaca"},{name:"Puebla",shortCode:"Puebla"},{name:"Querétaro de Arteaga",shortCode:"Querétaro de Arteaga"},{name:"Quintana Roo",shortCode:"Quintana Roo"},{name:"San Luis Potosí",shortCode:"San Luis Potosí"},{name:"Sinaloa",shortCode:"Sinaloa"},{name:"Sonora",shortCode:"Sonora"},{name:"Tabasco",shortCode:"Tabasco"},{name:"Tamaulipas",shortCode:"Tamaulipas"},{name:"Tlaxcala",shortCode:"Tlaxcala"},{name:"Veracruz",shortCode:"Veracruz"},{name:"Yucatán",shortCode:"Yucatán"},{name:"Zacatecas",shortCode:"Zacatecas"}]},{countryName:"Micronesia, Federated States of",countryShortCode:"FM",regions:[{name:"Chuuk (Truk)",shortCode:"TRK"},{name:"Kosrae",shortCode:"KSA"},{name:"Pohnpei",shortCode:"PNI"},{name:"Yap",shortCode:"YAP"}]},{countryName:"Moldova",countryShortCode:"MD",regions:[{name:"Aenii Noi",shortCode:"AN"},{name:"Basarabeasca",shortCode:"BS"},{name:"Bălți",shortCode:"BA"},{name:"Bender",shortCode:"BD"},{name:"Briceni",shortCode:"BR"},{name:"Cahul",shortCode:"CA"},{name:"Cantemir",shortCode:"CT"},{name:"Călărași",shortCode:"CL"},{name:"Căușeni",shortCode:"CS"},{name:"Chișinău",shortCode:"CU"},{name:"Cimișlia",shortCode:"CM"},{name:"Criuleni",shortCode:"CR"},{name:"Dondușeni",shortCode:"DO"},{name:"Drochia",shortCode:"DR"},{name:"Dubăsari",shortCode:"DU"},{name:"Edineț",shortCode:"ED"},{name:"Fălești",shortCode:"FA"},{name:"Florești",shortCode:"FL"},{name:"Găgăuzia",shortCode:"GA"},{name:"Glodeni",shortCode:"GL"},{name:"Hîncești",shortCode:"HI"},{name:"Ialoveni",shortCode:"IA"},{name:"Leova",shortCode:"LE"},{name:"Nisporeni",shortCode:"NI"},{name:"Ocnița",shortCode:"OC"},{name:"Orhei",shortCode:"OR"},{name:"Rezina",shortCode:"RE"},{name:"Rîșcani",shortCode:"RI"},{name:"Sîngerei",shortCode:"SI"},{name:"Soroca",shortCode:"SO"},{name:"Stînga Nistrului",shortCode:"SN"},{name:"Strășeni",shortCode:"ST"},{name:"Șoldănești",shortCode:"SD"},{name:"Ștefan Vodă",shortCode:"SV"},{name:"Taraclia",shortCode:"TA"},{name:"Telenești",shortCode:"TE"},{name:"Ungheni",shortCode:"UN"}]},{countryName:"Monaco",countryShortCode:"MC",regions:[{name:"Colle",shortCode:"CL"},{name:"Condamine",shortCode:"CO"},{name:"Fontvieille",shortCode:"FO"},{name:"Gare",shortCode:"GA"},{name:"Jardin Exotique",shortCode:"JE"},{name:"Larvotto",shortCode:"LA"},{name:"Malbousquet",shortCode:"MA"},{name:"Monaco-Ville",shortCode:"MO"},{name:"Moneghetti",shortCode:"MG"},{name:"Monte-Carlo",shortCode:"MC"},{name:"Moulins",shortCode:"MU"},{name:"Port-Hercule",shortCode:"PH"},{name:"Saint-Roman",shortCode:"SR"},{name:"Sainte-Dévote",shortCode:"SD"},{name:"Source",shortCode:"SO"},{name:"Spélugues",shortCode:"SP"},{name:"Vallon de la Rousse",shortCode:"VR"}]},{countryName:"Mongolia",countryShortCode:"MN",regions:[{name:"Arhangay",shortCode:"073"},{name:"Bayan-Olgiy",shortCode:"071"},{name:"Bayanhongor",shortCode:"069"},{name:"Bulgan",shortCode:"067"},{name:"Darhan",shortCode:"037"},{name:"Dornod",shortCode:"061"},{name:"Dornogovi",shortCode:"063"},{name:"Dundgovi",shortCode:"059"},{name:"Dzavhan",shortCode:"065"},{name:"Govi-Altay",shortCode:"065"},{name:"Govi-Sumber",shortCode:"064"},{name:"Hovd",shortCode:"043"},{name:"Hovsgol",shortCode:"041"},{name:"Omnogovi",shortCode:"053"},{name:"Ovorhangay",shortCode:"055"},{name:"Selenge",shortCode:"049"},{name:"Suhbaatar",shortCode:"051"},{name:"Tov",shortCode:"047"},{name:"Ulaanbaatar",shortCode:"1"},{name:"Uvs",shortCode:"046"}]},{countryName:"Montenegro",countryShortCode:"ME",regions:[{name:"Andrijevica",shortCode:"01"},{name:"Bar",shortCode:"02"},{name:"Berane",shortCode:"03"},{name:"Bijelo Polje",shortCode:"04"},{name:"Budva",shortCode:"05"},{name:"Cetinje",shortCode:"06"},{name:"Danilovgrad",shortCode:"07"},{name:"Gusinje",shortCode:"22"},{name:"Herceg Novi",shortCode:"08"},{name:"Kolašin",shortCode:"09"},{name:"Kotor",shortCode:"10"},{name:"Mojkovac",shortCode:"11"},{name:"Nikšić",shortCode:"12"},{name:"Petnica",shortCode:"23"},{name:"Plav",shortCode:"13"},{name:"Plužine",shortCode:"14"},{name:"Pljevlja",shortCode:"15"},{name:"Podgorica",shortCode:"16"},{name:"Rožaje",shortCode:"17"},{name:"Šavnik",shortCode:"18"},{name:"Tivat",shortCode:"19"},{name:"Ulcinj",shortCode:"20"},{name:"Žabljak",shortCode:"21"}]},{countryName:"Montserrat",countryShortCode:"MS",regions:[{name:"Saint Anthony"},{name:"Saint Georges"},{name:"Saint Peter's"}]},{countryName:"Morocco",countryShortCode:"MA",regions:[{name:"Chaouia-Ouardigha",shortCode:"09"},{name:"Doukhala-Abda",shortCode:"10"},{name:"Fès-Boulemane",shortCode:"05"},{name:"Gharb-Chrarda-Beni Hssen",shortCode:"02"},{name:"Grand Casablanca",shortCode:"08"},{name:"Guelmim-Es Semara",shortCode:"14"},{name:"Laâyoune-Boujdour-Sakia el Hamra",shortCode:"15"},{name:"Marrakech-Tensift-Al Haouz",shortCode:"11"},{name:"Meknès-Tafilalet",shortCode:"06"},{name:"Oriental",shortCode:"04"},{name:"Oued ed Dahab-Lagouira",shortCode:"16"},{name:"Souss-Massa-Drâa",shortCode:"13"},{name:"Tadla-Azilal",shortCode:"12"},{name:"Tanger-Tétouan",shortCode:"01"},{name:"Taza-Al Hoceima-Taounate",shortCode:"03"}]},{countryName:"Mozambique",countryShortCode:"MZ",regions:[{name:"Cabo Delgado",shortCode:"P"},{name:"Gaza",shortCode:"G"},{name:"Inhambane",shortCode:"I"},{name:"Manica",shortCode:"B"},{name:"Maputo",shortCode:"L"},{name:"Maputo (City)",shortCode:"MPM"},{name:"Nampula",shortCode:"N"},{name:"Niassa",shortCode:"A"},{name:"Sofala",shortCode:"S"},{name:"Tete",shortCode:"T"},{name:"Zambezia",shortCode:"Q"}]},{countryName:"Myanmar",countryShortCode:"MM",regions:[{name:"Ayeyarwady",shortCode:"07"},{name:"Bago",shortCode:"02"},{name:"Chin",shortCode:"14"},{name:"Kachin",shortCode:"11"},{name:"Kayah",shortCode:"12"},{name:"Kayin",shortCode:"13"},{name:"Magway",shortCode:"03"},{name:"Mandalay",shortCode:"04"},{name:"Mon",shortCode:"15"},{name:"Nay Pyi Taw",shortCode:"18"},{name:"Rakhine",shortCode:"16"},{name:"Sagaing",shortCode:"01"},{name:"Shan",shortCode:"17"},{name:"Tanintharyi",shortCode:"05"},{name:"Yangon",shortCode:"06"}]},{countryName:"Namibia",countryShortCode:"NA",regions:[{name:"Erongo",shortCode:"ER"},{name:"Hardap",shortCode:"HA"},{name:"Kavango East",shortCode:"KE"},{name:"Kavango West",shortCode:"KW"},{name:"Karas",shortCode:"KA"},{name:"Khomas",shortCode:"KH"},{name:"Kunene",shortCode:"KU"},{name:"Ohangwena",shortCode:"OW"},{name:"Omaheke",shortCode:"OH"},{name:"Omusati",shortCode:"OS"},{name:"Oshana",shortCode:"ON"},{name:"Oshikoto",shortCode:"OT"},{name:"Otjozondjupa",shortCode:"OD"},{name:"Zambezi",shortCode:"CA"}]},{countryName:"Nauru",countryShortCode:"NR",regions:[{name:"Aiwo",shortCode:"01"},{name:"Anabar",shortCode:"02"},{name:"Anetan",shortCode:"03"},{name:"Anibare",shortCode:"04"},{name:"Baiti",shortCode:"05"},{name:"Boe",shortCode:"06"},{name:"Buada",shortCode:"07"},{name:"Denigomodu",shortCode:"08"},{name:"Ewa",shortCode:"09"},{name:"Ijuw",shortCode:"10"},{name:"Meneng",shortCode:"11"},{name:"Nibok",shortCode:"12"},{name:"Uaboe",shortCode:"13"},{name:"Yaren",shortCode:"14"}]},{countryName:"Nepal",countryShortCode:"NP",regions:[{name:"Bagmati",shortCode:"BA"},{name:"Bheri",shortCode:"BH"},{name:"Dhawalagiri",shortCode:"DH"},{name:"Gandaki",shortCode:"GA"},{name:"Janakpur",shortCode:"JA"},{name:"Karnali",shortCode:"KA"},{name:"Kosi",shortCode:"KO"},{name:"Lumbini",shortCode:"LU"},{name:"Mahakali",shortCode:"MA"},{name:"Mechi",shortCode:"ME"},{name:"Narayani",shortCode:"NA"},{name:"Rapti",shortCode:"RA"},{name:"Sagarmatha",shortCode:"SA"},{name:"Seti",shortCode:"SE"}]},{countryName:"Netherlands",countryShortCode:"NL",regions:[{name:"Drenthe",shortCode:"DR"},{name:"Flevoland",shortCode:"FL"},{name:"Friesland",shortCode:"FR"},{name:"Gelderland",shortCode:"GE"},{name:"Groningen",shortCode:"GR"},{name:"Limburg",shortCode:"LI"},{name:"Noord-Brabant",shortCode:"NB"},{name:"Noord-Holland",shortCode:"NH"},{name:"Overijssel",shortCode:"OV"},{name:"Utrecht",shortCode:"UT"},{name:"Zeeland",shortCode:"ZE"},{name:"Zuid-Holland",shortCode:"ZH"}]},{countryName:"New Caledonia",countryShortCode:"NC",regions:[{name:"Iles Loyaute"},{name:"Nord"},{name:"Sud"}]},{countryName:"New Zealand",countryShortCode:"NZ",regions:[{name:"Auckland",shortCode:"AUK"},{name:"Bay of Plenty",shortCode:"BOP"},{name:"Canterbury",shortCode:"CAN"},{name:"Gisborne",shortCode:"GIS"},{name:"Hawke's Bay",shortCode:"HKB"},{name:"Marlborough",shortCode:"MBH"},{name:"Manawatu-Wanganui",shortCode:"MWT"},{name:"Northland",shortCode:"NTL"},{name:"Nelson",shortCode:"NSN"},{name:"Otago",shortCode:"OTA"},{name:"Southland",shortCode:"STL"},{name:"Taranaki",shortCode:"TKI"},{name:"Tasman",shortCode:"TAS"},{name:"Waikato",shortCode:"WKO"},{name:"Wellington",shortCode:"WGN"},{name:"West Coast",shortCode:"WTC"},{name:"Chatham Islands Territory",shortCode:"CIT"}]},{countryName:"Nicaragua",countryShortCode:"NI",regions:[{name:"Boaco",shortCode:"BO"},{name:"Carazo",shortCode:"CA"},{name:"Chinandega",shortCode:"CI"},{name:"Chontales",shortCode:"CO"},{name:"Estelí",shortCode:"ES"},{name:"Granada",shortCode:"GR"},{name:"Jinotega",shortCode:"JI"},{name:"León",shortCode:"LE"},{name:"Madriz",shortCode:"MD"},{name:"Managua",shortCode:"MN"},{name:"Masaya",shortCode:"MS"},{name:"Matagalpa",shortCode:"MT"},{name:"Nueva Segovia",shortCode:"NS"},{name:"Río San Juan",shortCode:"SJ"},{name:"Rivas",shortCode:"RI"},{name:"Atlántico Norte",shortCode:"AN"},{name:"Atlántico Sur",shortCode:"AS"}]},{countryName:"Niger",countryShortCode:"NE",regions:[{name:"Agadez",shortCode:"1"},{name:"Diffa",shortCode:"2"},{name:"Dosso",shortCode:"3"},{name:"Maradi",shortCode:"4"},{name:"Niamey",shortCode:"8"},{name:"Tahoua",shortCode:"5"},{name:"Tillabéri",shortCode:"6"},{name:"Zinder",shortCode:"7"}]},{countryName:"Nigeria",countryShortCode:"NG",regions:[{name:"Abia",shortCode:"AB"},{name:"Abuja Federal Capital Territory",shortCode:"FC"},{name:"Adamawa",shortCode:"AD"},{name:"Akwa Ibom",shortCode:"AK"},{name:"Anambra",shortCode:"AN"},{name:"Bauchi",shortCode:"BA"},{name:"Bayelsa",shortCode:"BY"},{name:"Benue",shortCode:"BE"},{name:"Borno",shortCode:"BO"},{name:"Cross River",shortCode:"CR"},{name:"Delta",shortCode:"DE"},{name:"Ebonyi",shortCode:"EB"},{name:"Edo",shortCode:"ED"},{name:"Ekiti",shortCode:"EK"},{name:"Enugu",shortCode:"EN"},{name:"Gombe",shortCode:"GO"},{name:"Imo",shortCode:"IM"},{name:"Jigawa",shortCode:"JI"},{name:"Kaduna",shortCode:"KD"},{name:"Kano",shortCode:"KN"},{name:"Katsina",shortCode:"KT"},{name:"Kebbi",shortCode:"KE"},{name:"Kogi",shortCode:"KO"},{name:"Kwara",shortCode:"KW"},{name:"Lagos",shortCode:"LA"},{name:"Nassarawa",shortCode:"NA"},{name:"Niger",shortCode:"NI"},{name:"Ogun",shortCode:"OG"},{name:"Ondo",shortCode:"ON"},{name:"Osun",shortCode:"OS"},{name:"Oyo",shortCode:"OY"},{name:"Plateau",shortCode:"PL"},{name:"Rivers",shortCode:"RI"},{name:"Sokoto",shortCode:"SO"},{name:"Taraba",shortCode:"TA"},{name:"Yobe",shortCode:"YO"},{name:"Zamfara",shortCode:"ZA"}]},{countryName:"Niue",countryShortCode:"NU",regions:[{name:"Niue"}]},{countryName:"Norfolk Island",countryShortCode:"NF",regions:[{name:"Norfolk Island"}]},{countryName:"Northern Mariana Islands",countryShortCode:"MP",regions:[{name:"Northern Islands"},{name:"Rota"},{name:"Saipan"},{name:"Tinian"}]},{countryName:"Norway",countryShortCode:"NO",regions:[{name:"Akershus",shortCode:"02"},{name:"Aust-Agder",shortCode:"09"},{name:"Buskerud",shortCode:"06"},{name:"Finnmark",shortCode:"20"},{name:"Hedmark",shortCode:"04"},{name:"Hordaland",shortCode:"12"},{name:"Møre og Romsdal",shortCode:"15"},{name:"Nordland",shortCode:"18"},{name:"Nord-Trøndelag",shortCode:"17"},{name:"Oppland",shortCode:"05"},{name:"Oslo",shortCode:"03"},{name:"Rogaland",shortCode:"11"},{name:"Sogn og Fjordane",shortCode:"14"},{name:"Sør-Trøndelag",shortCode:"16"},{name:"Telemark",shortCode:"08"},{name:"Troms",shortCode:"19"},{name:"Vest-Agder",shortCode:"10"},{name:"Vestfold",shortCode:"07"},{name:"Østfold",shortCode:"01"},{name:"Jan Mayen",shortCode:"22"},{name:"Svalbard",shortCode:"21"}]},{countryName:"Oman",countryShortCode:"OM",regions:[{name:"Ad Dakhiliyah",shortCode:"DA"},{name:"Al Buraymi",shortCode:"BU"},{name:"Al Wusta",shortCode:"WU"},{name:"Az Zahirah",shortCode:"ZA"},{name:"Janub al Batinah",shortCode:"BS"},{name:"Janub ash Sharqiyah",shortCode:"SS"},{name:"Masqat",shortCode:"MA"},{name:"Musandam",shortCode:"MU"},{name:"Shamal al Batinah",shortCode:"BJ"},{name:"Shamal ash Sharqiyah",shortCode:"SJ"},{name:"Zufar",shortCode:"ZU"}]},{countryName:"Pakistan",countryShortCode:"PK",regions:[{name:"Āzād Kashmīr",shortCode:"JK"},{name:"Balōchistān",shortCode:"BA"},{name:"Gilgit-Baltistān",shortCode:"GB"},{name:"Islāmābād",shortCode:"IS"},{name:"Khaībar Pakhtūnkhwās",shortCode:"KP"},{name:"Punjāb",shortCode:"PB"},{name:"Sindh",shortCode:"SD"},{name:"Federally Administered Tribal Areas",shortCode:"TA"}]},{countryName:"Palau",countryShortCode:"PW",regions:[{name:"Aimeliik",shortCode:"002"},{name:"Airai",shortCode:"004"},{name:"Angaur",shortCode:"010"},{name:"Hatobohei",shortCode:"050"},{name:"Kayangel",shortCode:"100"},{name:"Koror",shortCode:"150"},{name:"Melekeok",shortCode:"212"},{name:"Ngaraard",shortCode:"214"},{name:"Ngarchelong",shortCode:"218"},{name:"Ngardmau",shortCode:"222"},{name:"Ngatpang",shortCode:"224"},{name:"Ngchesar",shortCode:"226"},{name:"Ngeremlengui",shortCode:"227"},{name:"Ngiwal",shortCode:"228"},{name:"Peleliu",shortCode:"350"},{name:"Sonsoral",shortCode:"350"}]},{countryName:"Palestine, State of",countryShortCode:"PS",regions:[{name:"Ak Khalīl",shortCode:"HBN"},{name:"Al Quds",shortCode:"JEM"},{name:"Arīḩā wal Aghwār",shortCode:"JRH"},{name:"Bayt Laḩm",shortCode:"BTH"},{name:"Dayr al Balaḩ",shortCode:"DEB"},{name:"Ghazzah",shortCode:"GZA"},{name:"Janīn",shortCode:"JEN"},{name:"Khān Yūnis",shortCode:"KYS"},{name:"Nāblus",shortCode:"NBS"},{name:"Qalqīyah",shortCode:"QQA"},{name:"Rafaḩ",shortCode:"RFH"},{name:"Rām Allāh wal Bīrah",shortCode:"RBH"},{name:"Salfīt",shortCode:"SLT"},{name:"Shamāl Ghazzah",shortCode:"NGZ"},{name:"Ţūbās",shortCode:"TBS"},{name:"Ţūlkarm",shortCode:"TKM"}]},{countryName:"Panama",countryShortCode:"PA",regions:[{name:"Bocas del Toro",shortCode:"1"},{name:"Chiriquí",shortCode:"4"},{name:"Coclé",shortCode:"2"},{name:"Colón",shortCode:"3"},{name:"Darién",shortCode:"5"},{name:"Emberá",shortCode:"EM"},{name:"Herrera",shortCode:"6"},{name:"Kuna Yala",shortCode:"KY"},{name:"Los Santos",shortCode:"7"},{name:"Ngäbe-Buglé",shortCode:"NB"},{name:"Panamá",shortCode:"8"},{name:"Panamá Oeste",shortCode:"10"},{name:"Veraguas",shortCode:"9"}]},{countryName:"Papua New Guinea",countryShortCode:"PG",regions:[{name:"Bougainville",shortCode:"NSB"},{name:"Central",shortCode:"CPM"},{name:"Chimbu",shortCode:"CPK"},{name:"East New Britain",shortCode:"EBR"},{name:"East Sepik",shortCode:"ESW"},{name:"Eastern Highlands",shortCode:"EHG"},{name:"Enga",shortCode:"EPW"},{name:"Gulf",shortCode:"GPK"},{name:"Hela",shortCode:"HLA"},{name:"Jiwaka",shortCode:"JWK"},{name:"Madang",shortCode:"MOM"},{name:"Manus",shortCode:"MRL"},{name:"Milne Bay",shortCode:"MBA"},{name:"Morobe",shortCode:"MPL"},{name:"Port Moresby",shortCode:"NCD"},{name:"New Ireland",shortCode:"NIK"},{name:"Northern",shortCode:"NPP"},{name:"Southern Highlands",shortCode:"SHM"},{name:"West New Britain",shortCode:"WBK"},{name:"West Sepik",shortCode:"SAN"},{name:"Western",shortCode:"WPD"},{name:"Western Highlands",shortCode:"WHM"}]},{countryName:"Paraguay",countryShortCode:"PY",regions:[{name:"Alto Paraguay",shortCode:"16"},{name:"Alto Parana",shortCode:"10"},{name:"Amambay",shortCode:"13"},{name:"Asuncion",shortCode:"ASU"},{name:"Caaguazu",shortCode:"5"},{name:"Caazapa",shortCode:"6"},{name:"Canindeyu",shortCode:"14"},{name:"Central",shortCode:"11"},{name:"Concepcion",shortCode:"1"},{name:"Cordillera",shortCode:"3"},{name:"Boqueron",shortCode:"17"},{name:"Guaira",shortCode:"4"},{name:"Itapua",shortCode:"7"},{name:"Misiones",shortCode:"8"},{name:"Neembucu",shortCode:"12"},{name:"Paraguari",shortCode:"9"},{name:"Presidente Hayes",shortCode:"15"},{name:"San Pedro",shortCode:"2"}]},{countryName:"Peru",countryShortCode:"PE",regions:[{name:"Amazonas",shortCode:"AMA"},{name:"Ancash",shortCode:"ANC"},{name:"Apurimac",shortCode:"APU"},{name:"Arequipa",shortCode:"ARE"},{name:"Ayacucho",shortCode:"AYA"},{name:"Cajamarca",shortCode:"CAJ"},{name:"Callao",shortCode:"CAL"},{name:"Cusco",shortCode:"CUS"},{name:"Huancavelica",shortCode:"HUV"},{name:"Huanuco",shortCode:"HUC"},{name:"Ica",shortCode:"ICA"},{name:"Junin",shortCode:"JUN"},{name:"La Libertad",shortCode:"LAL"},{name:"Lambayeque",shortCode:"LAM"},{name:"Lima",shortCode:"LIM"},{name:"Loreto",shortCode:"LOR"},{name:"Madre de Dios",shortCode:"MDD"},{name:"Moquegua",shortCode:"MOQ"},{name:"Municipalidad Metropolitana de Lima",shortCode:"LMA"},{name:"Pasco",shortCode:"PAS"},{name:"Piura",shortCode:"PIU"},{name:"Puno",shortCode:"PUN"},{name:"San Martin",shortCode:"SAM"},{name:"Tacna",shortCode:"TAC"},{name:"Tumbes",shortCode:"TUM"},{name:"Ucayali",shortCode:"UCA"}]},{countryName:"Philippines",countryShortCode:"PH",regions:[{name:"Abra",shortCode:"ABR"},{name:"Agusan del Norte",shortCode:"AGN"},{name:"Agusan del Sur",shortCode:"AGS"},{name:"Aklan",shortCode:"AKL"},{name:"Albay",shortCode:"ALB"},{name:"Antique",shortCode:"ANT"},{name:"Apayao",shortCode:"APA"},{name:"Aurora",shortCode:"AUR"},{name:"Basilan",shortCode:"BAS"},{name:"Bataan",shortCode:"BAN"},{name:"Batanes",shortCode:"BTN"},{name:"Batangas",shortCode:"BTG"},{name:"Benguet",shortCode:"BEN"},{name:"Biliran",shortCode:"BIL"},{name:"Bohol",shortCode:"BOH"},{name:"Bukidnon",shortCode:"BUK"},{name:"Bulacan",shortCode:"BUL"},{name:"Cagayan",shortCode:"CAG"},{name:"Camarines Norte",shortCode:"CAN"},{name:"Camarines Sur",shortCode:"CAS"},{name:"Camiguin",shortCode:"CAM"},{name:"Capiz",shortCode:"CAP"},{name:"Catanduanes",shortCode:"CAT"},{name:"Cavite",shortCode:"CAV"},{name:"Cebu",shortCode:"CEB"},{name:"Compostela",shortCode:"COM"},{name:"Cotabato",shortCode:"NCO"},{name:"Davao del Norte",shortCode:"DAV"},{name:"Davao del Sur",shortCode:"DAS"},{name:"Davao Occidental",shortCode:"DVO"},{name:"Davao Oriental",shortCode:"DAO"},{name:"Dinagat Islands",shortCode:"DIN"},{name:"Eastern Samar",shortCode:"EAS"},{name:"Guimaras",shortCode:"GUI"},{name:"Ifugao",shortCode:"IFU"},{name:"Ilocos Norte",shortCode:"ILN"},{name:"Ilocos Sur",shortCode:"ILS"},{name:"Iloilo",shortCode:"ILI"},{name:"Isabela",shortCode:"ISA"},{name:"Kalinga",shortCode:"KAL"},{name:"La Union",shortCode:"LUN"},{name:"Laguna",shortCode:"LAG"},{name:"Lanao del Norte",shortCode:"LAN"},{name:"Lanao del Sur",shortCode:"LAS"},{name:"Leyte",shortCode:"LEY"},{name:"Maguindanao",shortCode:"MAG"},{name:"Masbate",shortCode:"MAS"},{name:"Metro Manila",shortCode:"00"},{name:"Mindoro Occidental",shortCode:"MDC"},{name:"Mindoro Oriental",shortCode:"MDR"},{name:"Misamis Occidental",shortCode:"MSC"},{name:"Misamis Oriental",shortCode:"MSR"},{name:"Mountain Province",shortCode:"MOU"},{name:"Negros Occidental",shortCode:"NEC"},{name:"Negros Oriental",shortCode:"NER"},{name:"Northern Samar",shortCode:"NSA"},{name:"Nueva Ecija",shortCode:"NUE"},{name:"Nueva Vizcaya",shortCode:"NUV"},{name:"Palawan",shortCode:"PLW"},{name:"Pampanga",shortCode:"PAM"},{name:"Pangasinan",shortCode:"PAN"},{name:"Quezon",shortCode:"QUE"},{name:"Quirino",shortCode:"QUI"},{name:"Rizal",shortCode:"RIZ"},{name:"Romblon",shortCode:"ROM"},{name:"Samar",shortCode:"WSA"},{name:"Sarangani",shortCode:"SAR"},{name:"Siquijor",shortCode:"SIG"},{name:"Sorsogon",shortCode:"SOR"},{name:"Southern Leyte",shortCode:"SLE"},{name:"Sultan Kudarat",shortCode:"AUK"},{name:"Sulu",shortCode:"SLU"},{name:"Surigao del Norte",shortCode:"SUN"},{name:"Surigao del Sur",shortCode:"SUR"},{name:"Tarlac",shortCode:"TAR"},{name:"Tawi-Tawi",shortCode:"TAW"},{name:"Zambales",shortCode:"ZMB"},{name:"Zamboanga del Norte",shortCode:"ZAN"},{name:"Zamboanga del Sur",shortCode:"ZAS"},{name:"Zamboanga Sibugay",shortCode:"ZSI"}]},{countryName:"Pitcairn",countryShortCode:"PN",regions:[{name:"Pitcairn Islands"}]},{countryName:"Poland",countryShortCode:"PL",regions:[{name:"Dolnośląskie",shortCode:"DS"},{name:"Kujawsko-pomorskie",shortCode:"KP"},{name:"Łódzkie",shortCode:"LD"},{name:"Lubelskie",shortCode:"LU"},{name:"Lubuskie",shortCode:"LB"},{name:"Małopolskie",shortCode:"MA"},{name:"Mazowieckie",shortCode:"MZ"},{name:"Opolskie",shortCode:"OP"},{name:"Podkarpackie",shortCode:"PK"},{name:"Podlaskie",shortCode:"PD"},{name:"Pomorskie",shortCode:"PM"},{name:"Śląskie",shortCode:"SL"},{name:"Świętokrzyskie",shortCode:"SK"},{name:"Warmińsko-mazurskie",shortCode:"WN"},{name:"Wielkopolskie",shortCode:"WP"},{name:"Zachodniopomorskie",shortCode:"ZP"}]},{countryName:"Portugal",countryShortCode:"PT",regions:[{name:"Açores",shortCode:"Aveiro District"},{name:"Aveiro",shortCode:"Aveiro District"},{name:"Beja",shortCode:"Beja District"},{name:"Braga",shortCode:"Braga"},{name:"Bragança",shortCode:"Bragança District"},{name:"Castelo Branco",shortCode:"Castelo Branco District"},{name:"Coimbra",shortCode:"Coimbra District"},{name:"Évora",shortCode:"Évora District"},{name:"Faro",shortCode:"Faro District"},{name:"Guarda",shortCode:"Guarda District"},{name:"Leiria",shortCode:"Leiria District"},{name:"Lisboa",shortCode:"Lisbon"},{name:"Madeira",shortCode:"Castelo Branco"},{name:"Portalegre",shortCode:"Portalegre District"},{name:"Porto",shortCode:"Porto District"},{name:"Santarém",shortCode:"Santarém District"},{name:"Setúbal",shortCode:"Setubal"},{name:"Viana do Castelo",shortCode:"Viana do Castelo District"},{name:"Vila Real",shortCode:"Vila Real District"},{name:"Viseu",shortCode:"Viseu District"}]},{countryName:"Puerto Rico",countryShortCode:"PR",regions:[{name:"Adjuntas",shortCode:"Adjuntas"},{name:"Aguada",shortCode:"Aguada"},{name:"Aguadilla",shortCode:"Aguadilla"},{name:"Aguas Buenas",shortCode:"Aguas Buenas"},{name:"Aibonito",shortCode:"Aibonito"},{name:"Anasco",shortCode:"Anasco"},{name:"Arecibo",shortCode:"Arecibo"},{name:"Arroyo",shortCode:"Arroyo"},{name:"Barceloneta",shortCode:"Barceloneta"},{name:"Barranquitas",shortCode:"Barranquitas"},{name:"Bayamon",shortCode:"Bayamon"},{name:"Cabo Rojo",shortCode:"Cabo Rojo"},{name:"Caguas",shortCode:"Caguas"},{name:"Camuy",shortCode:"Camuy"},{name:"Canovanas",shortCode:"Canovanas"},{name:"Carolina",shortCode:"Carolina"},{name:"Cat",shortCode:"Cat"},{name:"Ceiba",shortCode:"Ceiba"},{name:"Ciales",shortCode:"Ciales"},{name:"Cidra",shortCode:"Cidra"},{name:"Coamo",shortCode:"Coamo"},{name:"Comerio",shortCode:"Comerio"},{name:"Corozal",shortCode:"Corozal"},{name:"Culebra",shortCode:"Culebra"},{name:"Dorado",shortCode:"Dorado"},{name:"Fajardo",shortCode:"Fajardo"},{name:"Florida",shortCode:"Florida"},{name:"Guanica",shortCode:"Guanica"},{name:"Guayama",shortCode:"Guayama"},{name:"Guayanilla",shortCode:"Guayanilla"},{name:"Guaynabo",shortCode:"Guaynabo"},{name:"Gurabo",shortCode:"Gurabo"},{name:"Hatillo",shortCode:"Hatillo"},{name:"Hormigueros",shortCode:"Hormigueros"},{name:"Humacao",shortCode:"Humacao"},{name:"Isabe",shortCode:"Isabe"},{name:"Juana Diaz",shortCode:"Juana Diaz"},{name:"Juncos",shortCode:"Juncos"},{name:"Lajas",shortCode:"Lajas"},{name:"Lares",shortCode:"Lares"},{name:"Las Marias",shortCode:"Las Marias"},{name:"Las oiza",shortCode:"Las oiza"},{name:"Luquillo",shortCode:"Luquillo"},{name:"Manati",shortCode:"Manati"},{name:"Maricao",shortCode:"Maricao"},{name:"Maunabo",shortCode:"Maunabo"},{name:"Mayaguez",shortCode:"Mayaguez"},{name:"Moca",shortCode:"Moca"},{name:"Morovis",shortCode:"Morovis"},{name:"Naguabo",shortCode:"Naguabo"},{name:"Naranjito",shortCode:"Naranjito"},{name:"Orocovis",shortCode:"Orocovis"},{name:"Patillas",shortCode:"Patillas"},{name:"Penuelas",shortCode:"Penuelas"},{name:"Ponce",shortCode:"Ponce"},{name:"Quebradillas",shortCode:"Quebradillas"},{name:"Rincon",shortCode:"Rincon"},{name:"Rio Grande",shortCode:"Rio Grande"},{name:"Sabana linas",shortCode:"Sabana linas"},{name:"San German",shortCode:"San German"},{name:"San Juan",shortCode:"San Juan"},{name:"San Lorenzo",shortCode:"San Lorenzo"},{name:"San Sebastian",shortCode:"San Sebastian"},{name:"Santa Isabel",shortCode:"Santa Isabel"},{name:"Toa Alta",shortCode:"Toa Alta"},{name:"Toa Baja",shortCode:"Toa Baja"},{name:"Trujillo Alto",shortCode:"Trujillo Alto"},{name:"Utuado",shortCode:"Utuado"},{name:"Vega Alta",shortCode:"Vega Alta"},{name:"Vega ues",shortCode:"Vega ues"},{name:"Villalba",shortCode:"Villalba"},{name:"Yabucoa",shortCode:"Yabucoa"},{name:"Yauco",shortCode:"Yauco"}]},{countryName:"Qatar",countryShortCode:"QA",regions:[{name:"Ad Dawḩah",shortCode:"DA"},{name:"Al Khawr wa adh Dhakhīrah",shortCode:"KH"},{name:"Al Wakrah",shortCode:"WA"},{name:"Ar Rayyān",shortCode:"RA"},{name:"Ash Shamāl",shortCode:"MS"},{name:"Az̧ Za̧`āyin",shortCode:"ZA"},{name:"Umm Şalāl",shortCode:"US"}]},{countryName:"Réunion",countryShortCode:"RE",regions:[{name:"Réunion"}]},{countryName:"Romania",countryShortCode:"RO",regions:[{name:"Alba",shortCode:"AB"},{name:"Arad",shortCode:"AR"},{name:"Arges",shortCode:"AG"},{name:"Bacau",shortCode:"BC"},{name:"Bihor",shortCode:"BH"},{name:"Bistrita-Nasaud",shortCode:"BN"},{name:"Botosani",shortCode:"BT"},{name:"Braila",shortCode:"BR"},{name:"Brasov",shortCode:"BV"},{name:"Bucuresti",shortCode:"B"},{name:"Buzau",shortCode:"BZ"},{name:"Calarasi",shortCode:"CL"},{name:"Caras-Severin",shortCode:"CS"},{name:"Cluj",shortCode:"CJ"},{name:"Constanta",shortCode:"CT"},{name:"Covasna",shortCode:"CV"},{name:"Dambovita",shortCode:"DB"},{name:"Dolj",shortCode:"DJ"},{name:"Galati",shortCode:"GL"},{name:"Giurgiu",shortCode:"GR"},{name:"Gorj",shortCode:"GJ"},{name:"Harghita",shortCode:"HR"},{name:"Hunedoara",shortCode:"HD"},{name:"Ialomita",shortCode:"IL"},{name:"Iasi",shortCode:"IS"},{name:"Maramures",shortCode:"MM"},{name:"Mehedinti",shortCode:"MH"},{name:"Mures",shortCode:"MS"},{name:"Neamt",shortCode:"NT"},{name:"Olt",shortCode:"OT"},{name:"Prahova",shortCode:"PH"},{name:"Salaj",shortCode:"SJ"},{name:"Satu Mare",shortCode:"SM"},{name:"Sibiu",shortCode:"SB"},{name:"Suceava",shortCode:"SV"},{name:"Teleorman",shortCode:"TR"},{name:"Timis",shortCode:"TM"},{name:"Tulcea",shortCode:"TL"},{name:"Valcea",shortCode:"VL"},{name:"Vaslui",shortCode:"VS"},{name:"Vrancea",shortCode:"VN"}]},{countryName:"Russian Federation",countryShortCode:"RU",regions:[{name:"Admiralteyskiy",shortCode:"Admiralteyskiy"},{name:"Moskva",shortCode:"Moskva"},{name:"Republic of Adygea",shortCode:"AD"},{name:"Republic of Altai (Gorno-Altaysk)",shortCode:"AL"},{name:"Altai Krai",shortCode:"ALT"},{name:"Amur Oblast",shortCode:"AMU"},{name:"Arkhangelsk Oblast",shortCode:"ARK"},{name:"Astrakhan Oblast",shortCode:"AST"},{name:"Republic of Bashkortostan",shortCode:"BA"},{name:"Belgorod Oblast",shortCode:"BEL"},{name:"Bryansk Oblast",shortCode:"BRY"},{name:"Republic of Buryatia",shortCode:"BU"},{name:"Chechen Republic",shortCode:"CE"},{name:"Chelyabinsk Oblast",shortCode:"CHE"},{name:"Chukotka Autonomous Okrug",shortCode:"CHU"},{name:"Chuvash Republic",shortCode:"CU"},{name:"Republic of Dagestan",shortCode:"DA"},{name:"Republic of Ingushetia",shortCode:"IN"},{name:"Irkutsk Oblast",shortCode:"IRK"},{name:"Ivanovo Oblast",shortCode:"IVA"},{name:"Jewish Autonomous Oblast",shortCode:"JEW"},{name:"Kabardino-Balkar Republic",shortCode:"KB"},{name:"Kaliningrad Oblast",shortCode:"KLN"},{name:"Republic of Kalmykia",shortCode:"KL"},{name:"Kaluga Oblast",shortCode:"KLU"},{name:"Kamchatka Krai",shortCode:"KAM"},{name:"Karachay-Cherkess Republic",shortCode:"KC"},{name:"Republic of Karelia",shortCode:"KR"},{name:"Khabarovsk Krai",shortCode:"KHA"},{name:"Republic of Khakassia",shortCode:"KK"},{name:"Khanty-Mansi Autonomous Okrug - Yugra",shortCode:"KHM"},{name:"Kemerovo Oblast",shortCode:"KEM"},{name:"Kirov Oblast",shortCode:"KIR"},{name:"Komi Republic",shortCode:"KO"},{name:"Kostroma Oblast",shortCode:"KOS"},{name:"Krasnodar Krai",shortCode:"KDA"},{name:"Krasnoyarsk Krai",shortCode:"KYA"},{name:"Kurgan Oblast",shortCode:"KGN"},{name:"Kursk Oblast",shortCode:"KRS"},{name:"Leningrad Oblast",shortCode:"LEN"},{name:"Lipetsk Oblast",shortCode:"LIP"},{name:"Magadan Oblast",shortCode:"MAG"},{name:"Mari El Republic",shortCode:"ME"},{name:"Republic of Mordovia",shortCode:"MO"},{name:"Moscow Oblast",shortCode:"MOS"},{name:"Moscow",shortCode:"MOW"},{name:"Murmansk Oblast",shortCode:"MU"},{name:"Nenets Autonomous Okrug",shortCode:"NEN"},{name:"Nizhny Novgorod Oblast",shortCode:"NIZ"},{name:"Novgorod Oblast",shortCode:"NGR"},{name:"Novosibirsk Oblast",shortCode:"NVS"},{name:"Omsk Oblast",shortCode:"OMS"},{name:"Orenburg Oblast",shortCode:"ORE"},{name:"Oryol Oblast",shortCode:"ORL"},{name:"Penza Oblast",shortCode:"PNZ"},{name:"Perm Krai",shortCode:"PER"},{name:"Primorsky Krai",shortCode:"PRI"},{name:"Pskov Oblast",shortCode:"PSK"},{name:"Rostov Oblast",shortCode:"ROS"},{name:"Ryazan Oblast",shortCode:"RYA"},{name:"Saint Petersburg",shortCode:"SPE"},{name:"Sakha (Yakutia) Republic",shortCode:"SA"},{name:"Sakhalin Oblast",shortCode:"SAK"},{name:"Samara Oblast",shortCode:"SAM"},{name:"Saratov Oblast",shortCode:"SAR"},{name:"Republic of North Ossetia-Alania",shortCode:"NOA"},{name:"Smolensk Oblast",shortCode:"SMO"},{name:"Stavropol Krai",shortCode:"STA"},{name:"Sverdlovsk Oblast",shortCode:"SVE"},{name:"Tambov Oblast",shortCode:"TAM"},{name:"Republic of Tatarstan",shortCode:"TA"},{name:"Tomsk Oblast",shortCode:"TOM"},{name:"Tuva Republic",shortCode:"TU"},{name:"Tula Oblast",shortCode:"TUL"},{name:"Tver Oblast",shortCode:"TVE"},{name:"Tyumen Oblast",shortCode:"TYU"},{name:"Udmurt Republic",shortCode:"UD"},{name:"Ulyanovsk Oblast",shortCode:"ULY"},{name:"Vladimir Oblast",shortCode:"VLA"},{name:"Volgograd Oblast",shortCode:"VGG"},{name:"Vologda Oblast",shortCode:"VLG"},{name:"Voronezh Oblast",shortCode:"VOR"},{name:"Yamalo-Nenets Autonomous Okrug",shortCode:"YAN"},{name:"Yaroslavl Oblast",shortCode:"YAR"},{name:"Zabaykalsky Krai",shortCode:"ZAB"}]},{countryName:"Rwanda",countryShortCode:"RW",regions:[{name:"Kigali",shortCode:"01"},{name:"Eastern",shortCode:"02"},{name:"Northern",shortCode:"03"},{name:"Western",shortCode:"04"},{name:"Southern",shortCode:"05"}]},{countryName:"Saint Barthélemy",countryShortCode:"BL",regions:[{name:"Au Vent",shortCode:"02"},{name:"Sous le Vent",shortCode:"01"}]},{countryName:"Saint Helena, Ascension and Tristan da Cunha",countryShortCode:"SH",regions:[{name:"Ascension",shortCode:"AC"},{name:"Saint Helena",shortCode:"HL"},{name:"Tristan da Cunha",shortCode:"TA"}]},{countryName:"Saint Kitts and Nevis",countryShortCode:"KN",regions:[{name:"Saint Kitts",shortCode:"K"},{name:"Nevis",shortCode:"N"}]},{countryName:"Saint Lucia",countryShortCode:"LC",regions:[{name:"Anse-la-Raye",shortCode:"01"},{name:"Canaries",shortCode:"12"},{name:"Castries",shortCode:"02"},{name:"Choiseul",shortCode:"03"},{name:"Dennery",shortCode:"05"},{name:"Gros Islet",shortCode:"06"},{name:"Laborie",shortCode:"07"},{name:"Micoud",shortCode:"08"},{name:"Soufriere",shortCode:"10"},{name:"Vieux Fort",shortCode:"11"}]},{countryName:"Saint Martin",countryShortCode:"MF",regions:[{name:"Saint Martin"}]},{countryName:"Saint Pierre and Miquelon",countryShortCode:"PM",regions:[{name:"Miquelon"},{name:"Saint Pierre"}]},{countryName:"Saint Vincent and the Grenadines",countryShortCode:"VC",regions:[{name:"Charlotte",shortCode:"01"},{name:"Grenadines",shortCode:"06"},{name:"Saint Andrew",shortCode:"02"},{name:"Saint David",shortCode:"03"},{name:"Saint George",shortCode:"04"},{name:"Saint Patrick",shortCode:"05"}]},{countryName:"Samoa",countryShortCode:"WS",regions:[{name:"A'ana",shortCode:"AA"},{name:"Aiga-i-le-Tai",shortCode:"AL"},{name:"Atua",shortCode:"AT"},{name:"Fa'asaleleaga",shortCode:"FA"},{name:"Gaga'emauga",shortCode:"GE"},{name:"Gagaifomauga",shortCode:"GI"},{name:"Palauli",shortCode:"PA"},{name:"Satupa'itea",shortCode:"SA"},{name:"Tuamasaga",shortCode:"TU"},{name:"Va'a-o-Fonoti",shortCode:"VF"},{name:"Vaisigano",shortCode:"VS"}]},{countryName:"San Marino",countryShortCode:"SM",regions:[{name:"San Marino",shortCode:"SM"}]},{countryName:"Sao Tome and Principe",countryShortCode:"ST",regions:[{name:"Principe",shortCode:"P"},{name:"Sao Tome",shortCode:"S"}]},{countryName:"Saudi Arabia",countryShortCode:"SA",regions:[{name:"'Asir",shortCode:"14"},{name:"Al Bahah",shortCode:"11"},{name:"Al Hudud ash Shamaliyah",shortCode:"08"},{name:"Al Jawf",shortCode:"12"},{name:"Al Madinah al Munawwarah",shortCode:"03"},{name:"Al Qasim",shortCode:"05"},{name:"Ar Riyad",shortCode:"01"},{name:"Ash Sharqiyah",shortCode:"04"},{name:"Ha'il",shortCode:"06"},{name:"Jazan",shortCode:"09"},{name:"Makkah al Mukarramah",shortCode:"02"},{name:"Najran",shortCode:"10"},{name:"Tabuk",shortCode:"07"}]},{countryName:"Senegal",countryShortCode:"SN",regions:[{name:"Dakar",shortCode:"DK"},{name:"Diourbel",shortCode:"DB"},{name:"Fatick",shortCode:"FK"},{name:"Kaffrine",shortCode:"KA"},{name:"Kaolack",shortCode:"KL"},{name:"Kedougou",shortCode:"KE"},{name:"Kolda",shortCode:"KD"},{name:"Louga",shortCode:"LG"},{name:"Matam",shortCode:"MT"},{name:"Saint-Louis",shortCode:"SL"},{name:"Sedhiou",shortCode:"SE"},{name:"Tambacounda",shortCode:"TC"},{name:"Thies",shortCode:"TH"},{name:"Ziguinchor",shortCode:"ZG"}]},{countryName:"Serbia",countryShortCode:"RS",regions:[{name:"Beograd (Belgrade)",shortCode:"00"},{name:"Borski",shortCode:"14"},{name:"Braničevski",shortCode:"11"},{name:"Jablanički",shortCode:"23"},{name:"Južnobački",shortCode:"06"},{name:"Južnobanatski",shortCode:"04"},{name:"Kolubarski",shortCode:"09"},{name:"Kosovski",shortCode:"25"},{name:"Kosovsko-Mitrovački",shortCode:"28"},{name:"Kosovsko-Pomoravski",shortCode:"29"},{name:"Mačvanski",shortCode:"08"},{name:"Moravički",shortCode:"17"},{name:"Nišavski",shortCode:"20"},{name:"Pčinjski",shortCode:"24"},{name:"Pećki",shortCode:"26"},{name:"Pirotski",shortCode:"22"},{name:"Podunavski",shortCode:"10"},{name:"Pomoravski",shortCode:"13"},{name:"Prizrenski",shortCode:"27"},{name:"Rasinski",shortCode:"19"},{name:"Raški",shortCode:"18"},{name:"Severnobački",shortCode:"01"},{name:"Severnobanatski",shortCode:"03"},{name:"Srednjebanatski",shortCode:"02"},{name:"Sremski",shortCode:"07"},{name:"Šumadijski",shortCode:"12"},{name:"Toplički",shortCode:"21"},{name:"Zaječarski",shortCode:"15"},{name:"Zapadnobački",shortCode:"05"},{name:"Zlatiborski",shortCode:"16"}]},{countryName:"Seychelles",countryShortCode:"SC",regions:[{name:"Anse aux Pins",shortCode:"01"},{name:"Anse Boileau",shortCode:"02"},{name:"Anse Etoile",shortCode:"03"},{name:"Anse Royale",shortCode:"05"},{name:"Anu Cap",shortCode:"04"},{name:"Baie Lazare",shortCode:"06"},{name:"Baie Sainte Anne",shortCode:"07"},{name:"Beau Vallon",shortCode:"08"},{name:"Bel Air",shortCode:"09"},{name:"Bel Ombre",shortCode:"10"},{name:"Cascade",shortCode:"11"},{name:"Glacis",shortCode:"12"},{name:"Grand'Anse Mahe",shortCode:"13"},{name:"Grand'Anse Praslin",shortCode:"14"},{name:"La Digue",shortCode:"15"},{name:"La Riviere Anglaise",shortCode:"16"},{name:"Les Mamelles",shortCode:"24"},{name:"Mont Buxton",shortCode:"17"},{name:"Mont Fleuri",shortCode:"18"},{name:"Plaisance",shortCode:"19"},{name:"Pointe La Rue",shortCode:"20"},{name:"Port Glaud",shortCode:"21"},{name:"Roche Caiman",shortCode:"25"},{name:"Saint Louis",shortCode:"22"},{name:"Takamaka",shortCode:"23"}]},{countryName:"Sierra Leone",countryShortCode:"SL",regions:[{name:"Eastern",shortCode:"E"},{name:"Northern",shortCode:"N"},{name:"Southern",shortCode:"S"},{name:"Western",shortCode:"W"}]},{countryName:"Singapore",countryShortCode:"SG",regions:[{name:"Central Singapore",shortCode:"01"},{name:"North East",shortCode:"02"},{name:"North West",shortCode:"03"},{name:"South East",shortCode:"04"},{name:"South West",shortCode:"05"}]},{countryName:"Sint Maarten (Dutch part)",countryShortCode:"SX",regions:[{name:"Sint Maarten"}]},{countryName:"Slovakia",countryShortCode:"SK",regions:[{name:"Banskobystricky",shortCode:"BC"},{name:"Bratislavsky",shortCode:"BL"},{name:"Kosicky",shortCode:"KI"},{name:"Nitriansky",shortCode:"NI"},{name:"Presovsky",shortCode:"PV"},{name:"Trenciansky",shortCode:"TC"},{name:"Trnavsky",shortCode:"TA"},{name:"Zilinsky",shortCode:"ZI"}]},{countryName:"Slovenia",countryShortCode:"SI",regions:[{name:"Ajdovscina",shortCode:"Ajdovščina"},{name:"Apace",shortCode:"Gornja Radgona"},{name:"Beltinci",shortCode:"Murska Sobota"},{name:"Benedikt",shortCode:"Lenart"},{name:"Bistrica ob Sotli",shortCode:"Šmarje pri Jelšah"},{name:"Bled",shortCode:"Radovljica"},{name:"Bloke",shortCode:"Cerknica"},{name:"Bohinj",shortCode:"Radovljica"},{name:"Borovnica",shortCode:"Vrhnika"},{name:"Bovec",shortCode:"Tolmin"},{name:"Braslovce",shortCode:"Žalec"},{name:"Brda",shortCode:"Radovljica"},{name:"Brezice",shortCode:"Brežice"},{name:"Brezovica",shortCode:"Radovljica"},{name:"Cankova",shortCode:"Murska Sobota"},{name:"Celje",shortCode:"Celje"},{name:"Cerklje na Gorenjskem",shortCode:"Kranj"},{name:"Cerknica",shortCode:"Cerknica"},{name:"Cerkno",shortCode:"Idrija"},{name:"Cerkvenjak",shortCode:"Lenart"},{name:"Cirkulane",shortCode:"Ptuj"},{name:"Crensovci",shortCode:"Lendava"},{name:"Crna na Koroskem",shortCode:"Ravne na Koroškem"},{name:"Crnomelj",shortCode:"Črnomelj"},{name:"Destrnik",shortCode:"Ptuj"},{name:"Divaca",shortCode:"Sežana"},{name:"Dobje",shortCode:"Litija"},{name:"Dobrepolje",shortCode:"Grosuplje"},{name:"Dobrna",shortCode:"Celje"},{name:"Dobrova-Polhov Gradec",shortCode:"Ljubljana"},{name:"Dobrovnik",shortCode:"Lendava"},{name:"Dol pri Ljubljani",shortCode:"Ljubljana"},{name:"Dolenjske Toplice",shortCode:"Novo Mesto"},{name:"Domzale",shortCode:"Domžale"},{name:"Dornava",shortCode:"Ptuj"},{name:"Dravograd",shortCode:"Dravograd"},{name:"Duplek",shortCode:"Administrative unit Maribor"},{name:"Gorenja Vas-Poljane",shortCode:"Škofja Loka"},{name:"Gorisnica",shortCode:"Ptuj"},{name:"Gorje",shortCode:"Idrija"},{name:"Gornja Radgona",shortCode:"Gornja Radgona"},{name:"Gornji Grad",shortCode:"Mozirje"},{name:"Gornji Petrovci",shortCode:"Murska Sobota"},{name:"Grad",shortCode:"Murska Sobota"},{name:"Grosuplje",shortCode:"Grosuplje"},{name:"Hajdina",shortCode:"Ptuj"},{name:"Hoce-Slivnica",shortCode:"Administrative unit Maribor"},{name:"Hodos",shortCode:"Murska Sobota"},{name:"Horjul",shortCode:"Ljubljana"},{name:"Hrastnik",shortCode:"Municipality of Hrastnik"},{name:"Hrpelje-Kozina",shortCode:"Sežana"},{name:"Idrija",shortCode:"Idrija"},{name:"Ig",shortCode:"Ljubljana"},{name:"Ilirska Bistrica",shortCode:"Ilirska Bistrica"},{name:"Ivancna Gorica",shortCode:"Grosuplje"},{name:"Izola",shortCode:"Izola"},{name:"Jesenice",shortCode:"Jesenice"},{name:"Jursinci",shortCode:"Ptuj"},{name:"Kamnik",shortCode:"Kamnik"},{name:"Kanal",shortCode:"Nova Gorica"},{name:"Kidricevo",shortCode:"Ptuj"},{name:"Kobarid",shortCode:"Tolmin"},{name:"Kobilje",shortCode:"Lendava"},{name:"Kocevje",shortCode:"Kočevje"},{name:"Komen",shortCode:"Sežana"},{name:"Komenda",shortCode:"Kamnik"},{name:"Koper",shortCode:"Koper"},{name:"Kodanjevica na Krki",shortCode:"Krško"},{name:"Kostel",shortCode:"Kočevje"},{name:"Kozje",shortCode:"Šmarje pri Jelšah"},{name:"Kranj",shortCode:"Kranj"},{name:"Kranjska Gora",shortCode:"Jesenice"},{name:"Krizevci",shortCode:"Murska Sobota"},{name:"Krsko",shortCode:"Krško"},{name:"Kungota",shortCode:"Pesnica"},{name:"Kuzma",shortCode:"Murska Sobota"},{name:"Lasko",shortCode:"Laško"},{name:"Lenart",shortCode:"Lenart"},{name:"Lendava",shortCode:"Lendava"},{name:"Litija",shortCode:"Litija"},{name:"Ljubljana",shortCode:"Ljubljana"},{name:"Ljubno",shortCode:"Radovljica"},{name:"Ljutomer",shortCode:"Ljutomer"},{name:"Log-Dragomer",shortCode:"Vrhnika"},{name:"Logatec",shortCode:"Logatec"},{name:"Loska Dolina",shortCode:"Cerknica"},{name:"Loski Potok",shortCode:"Ribnica"},{name:"Lovrenc na Pohorju",shortCode:"Ruše"},{name:"Lukovica",shortCode:"Domžale"},{name:"Luce",shortCode:"Mozirje"},{name:"Majsperk",shortCode:"Ptuj"},{name:"Makole",shortCode:"Slovenska Bistrica"},{name:"Maribor",shortCode:"Administrative unit Maribor"},{name:"Markovci",shortCode:"Ptuj"},{name:"Medvode",shortCode:"Ljubljana"},{name:"Menges",shortCode:"Domžale"},{name:"Metlika",shortCode:"Metlika"},{name:"Mezica",shortCode:"Ravne na Koroškem"},{name:"Miklavz na Dravskem Polju",shortCode:"Administrative unit Maribor"},{name:"Miren-Kostanjevica",shortCode:"Nova Gorica"},{name:"Mirna",shortCode:"Trebnje"},{name:"Mirna Pec",shortCode:"Novo Mesto"},{name:"Mislinja",shortCode:"Slovenj Gradec"},{name:"Mokronog-Trebelno",shortCode:"Trebnje"},{name:"Moravce",shortCode:"Domžale"},{name:"Moravske Toplice",shortCode:"Murska Sobota"},{name:"Mozirje",shortCode:"Mozirje"},{name:"Murska Sobota",shortCode:"Murska Sobota"},{name:"Naklo",shortCode:"Kranj"},{name:"Nazarje",shortCode:"Mozirje"},{name:"Nova Gorica",shortCode:"Nova Gorica"},{name:"Novo Mesto",shortCode:"Novo Mesto"},{name:"Odranci",shortCode:"Lendava"},{name:"Ormoz",shortCode:"Ormož"},{name:"Osilnica",shortCode:"Kočevje"},{name:"Pesnica",shortCode:"Pesnica"},{name:"Piran",shortCode:"Piran"},{name:"Pivka",shortCode:"Postojna"},{name:"Podcetrtek",shortCode:"Šmarje pri Jelšah"},{name:"Podlehnik",shortCode:"Ptuj"},{name:"Podvelka",shortCode:"Radlje ob DraviRadlje ob Dravi"},{name:"Poljcane",shortCode:"Slovenska Bistrica"},{name:"Postojna",shortCode:"Slovenska Bistrica"},{name:"Prebold",shortCode:"Žalec"},{name:"Preddvor",shortCode:"Kranj"},{name:"Prevalje",shortCode:"Ravne na Koroškem"},{name:"Ptuj",shortCode:"Ptuj"},{name:"Race-Fram",shortCode:"Administrative unit Maribor"},{name:"Radece",shortCode:"Laško"},{name:"Radenci",shortCode:"Gornja Radgona"},{name:"Radlje ob Dravi",shortCode:"Radlje ob Dravi"},{name:"Radovljica",shortCode:"Radovljica"},{name:"Ravne na Koroskem",shortCode:"Ravne na Koroškem"},{name:"Razkrizje",shortCode:"Ljutomer"},{name:"Recica ob Savinji",shortCode:"Mozirje"},{name:"Rence-Vogrsko",shortCode:"Nova Gorica"},{name:"Ribnica",shortCode:"Ribnica"},{name:"Ribnica na Pohorju",shortCode:"Radlje ob Dravi"},{name:"Rogaska Slatina",shortCode:"Šmarje pri JelšahŠmarje pri Jelšah"},{name:"Rogasovci",shortCode:"Murska Sobota"},{name:"Rogatec",shortCode:"Šmarje pri Jelšah"},{name:"Ruse",shortCode:"Ruše"},{name:"Salovci",shortCode:"Murska Sobota"},{name:"Selnica ob Dravi",shortCode:"Ruše"},{name:"Semic",shortCode:"Črnomelj"},{name:"Sempeter-Vrtojba",shortCode:"Nova Gorica"},{name:"Sencur",shortCode:"Nova Gorica"},{name:"Sentilj",shortCode:"Pesnica"},{name:"Sentjernej",shortCode:"Novo Mesto"},{name:"Sentjur",shortCode:"Šentjur"},{name:"Sentrupert",shortCode:"Trebnje"},{name:"Sevnica",shortCode:"Sevnica"},{name:"Sezana",shortCode:"Sežana"},{name:"Skocjan",shortCode:"Novo Mesto"},{name:"Skofja Loka",shortCode:"Škofja Loka"},{name:"Skofljica",shortCode:"Ljubljana"},{name:"Slovenj Gradec",shortCode:"Slovenj Gradec"},{name:"Slovenska Bistrica",shortCode:"Slovenska Bistrica"},{name:"Slovenske Konjice",shortCode:"Slovenske Konjice"},{name:"Smarje pri elsah",shortCode:"Šmarje pri Jelšah"},{name:"Smarjeske Toplice",shortCode:"Novo Mesto"},{name:"Smartno ob Paki",shortCode:"Velenje"},{name:"Smartno pri Litiji",shortCode:"Litija"},{name:"Sodrazica",shortCode:"Ribnica"},{name:"Solcava",shortCode:"Mozirje"},{name:"Sostanj",shortCode:"Velenje"},{name:"Sredisce ob Dravi",shortCode:"Ormož"},{name:"Starse",shortCode:"Administrative unit Maribor"},{name:"Store",shortCode:"Celje"},{name:"Straza",shortCode:"Celje"},{name:"Sveta Ana",shortCode:"Lenart"},{name:"Sveta Trojica v Slovenskih Goricah",shortCode:"Lenart"},{name:"Sveta Andraz v Slovenskih Goricah",shortCode:"Lenart"},{name:"Sveti Jurij",shortCode:"Murska Sobota"},{name:"Sveti Jurij v Slovenskih Goricah",shortCode:"Lenart"},{name:"Sveti Tomaz",shortCode:"Ormož"},{name:"Tabor",shortCode:"Žalec"},{name:"Tisina",shortCode:"Murska Sobota"},{name:"Tolmin",shortCode:"Tolmin"},{name:"Trbovlje",shortCode:"Tolmin"},{name:"Trebnje",shortCode:"Trebnje"},{name:"Trnovska Vas",shortCode:"Ptuj"},{name:"Trzin",shortCode:"Domžale"},{name:"Trzic",shortCode:"Tržič"},{name:"Turnisce",shortCode:"Lendava"},{name:"Velenje",shortCode:"Lendava"},{name:"Velika Polana",shortCode:"Lendava"},{name:"Velike Lasce",shortCode:"Ljubljana"},{name:"Verzej",shortCode:"Ljutomer"},{name:"Videm",shortCode:"Grosuplje"},{name:"Vipava",shortCode:"Ajdovščina"},{name:"Vitanje",shortCode:"Slovenske Konjice"},{name:"Vodice",shortCode:"Slovenske Konjice"},{name:"Vojnik",shortCode:"Celje"},{name:"Vransko",shortCode:"Žalec"},{name:"Vrhnika",shortCode:"Vrhnika"},{name:"Vuzenica",shortCode:"Radlje ob Dravi"},{name:"Zagorje ob Savi",shortCode:"Zagorje ob Savi"},{name:"Zavrc",shortCode:"Ptuj"},{name:"Zrece",shortCode:"Slovenske Konjice"},{name:"Zalec",shortCode:"Žalec"},{name:"Zelezniki",shortCode:"Škofja Loka"},{name:"Zetale",shortCode:"Ptuj"},{name:"Ziri",shortCode:"Škofja Loka"},{name:"Zirovnica",shortCode:"Jesenice"},{name:"Zuzemberk",shortCode:"Novo Mesto"}]},{countryName:"Solomon Islands",countryShortCode:"SB",regions:[{name:"Central",shortCode:"CE"},{name:"Choiseul",shortCode:"CH"},{name:"Guadalcanal",shortCode:"GU"},{name:"Honiara",shortCode:"CT"},{name:"Isabel",shortCode:"IS"},{name:"Makira-Ulawa",shortCode:"MK"},{name:"Malaita",shortCode:"ML"},{name:"Rennell and Bellona",shortCode:"RB"},{name:"Temotu",shortCode:"TE"},{name:"Western",shortCode:"WE"}]},{countryName:"Somalia",countryShortCode:"SO",regions:[{name:"Awdal",shortCode:"AW"},{name:"Bakool",shortCode:"BK"},{name:"Banaadir",shortCode:"BN"},{name:"Bari",shortCode:"BR"},{name:"Bay",shortCode:"BY"},{name:"Galguduud",shortCode:"GA"},{name:"Gedo",shortCode:"GE"},{name:"Hiiraan",shortCode:"HI"},{name:"Jubbada Dhexe",shortCode:"JD"},{name:"Jubbada Hoose",shortCode:"JH"},{name:"Mudug",shortCode:"MU"},{name:"Nugaal",shortCode:"NU"},{name:"Sanaag",shortCode:"SA"},{name:"Shabeellaha Dhexe",shortCode:"SD"},{name:"Shabeellaha Hoose",shortCode:"SH"},{name:"Sool",shortCode:"SO"},{name:"Togdheer",shortCode:"TO"},{name:"Woqooyi Galbeed",shortCode:"WO"}]},{countryName:"South Africa",countryShortCode:"ZA",regions:[{name:"Eastern Cape",shortCode:"EC"},{name:"Free State",shortCode:"FS"},{name:"Gauteng",shortCode:"GP"},{name:"KwaZulu-Natal",shortCode:"KZN"},{name:"Limpopo",shortCode:"LP"},{name:"Mpumalanga",shortCode:"MP"},{name:"Northern Cape",shortCode:"NC"},{name:"North West",shortCode:"NW"},{name:"Western Cape",shortCode:"WC"}]},{countryName:"South Georgia and South Sandwich Islands",countryShortCode:"GS",regions:[{name:"Bird Island"},{name:"Bristol Island"},{name:"Clerke Rocks"},{name:"Montagu Island"},{name:"Saunders Island"},{name:"South Georgia"},{name:"Southern Thule"},{name:"Traversay Islands"}]},{countryName:"South Sudan",countryShortCode:"SS",regions:[{name:"Central Equatoria",shortCode:"CE"},{name:"Eastern Equatoria",shortCode:"EE"},{name:"Jonglei",shortCode:"JG"},{name:"Lakes",shortCode:"LK"},{name:"Northern Bahr el Ghazal",shortCode:"BN"},{name:"Unity",shortCode:"UY"},{name:"Upper Nile",shortCode:"NU"},{name:"Warrap",shortCode:"WR"},{name:"Western Bahr el Ghazal",shortCode:"BW"},{name:"Western Equatoria",shortCode:"EW"}]},{countryName:"Spain",countryShortCode:"ES",regions:[{name:"Albacete",shortCode:"Albacete"},{name:"Alicante",shortCode:"Alicante"},{name:"Almería",shortCode:"Almería"},{name:"Araba/Álava",shortCode:"Álava"},{name:"Asturias",shortCode:"Asturias"},{name:"Ávila",shortCode:"Avila"},{name:"Badajoz",shortCode:"Badajoz"},{name:"Barcelona",shortCode:"Barcelona"},{name:"Bizkaia",shortCode:"Vizcaya"},{name:"Burgos",shortCode:"Burgos"},{name:"Cáceres",shortCode:"Cáceres"},{name:"Cádiz",shortCode:"Cádiz"},{name:"Cantabria",shortCode:"Cantabria"},{name:"Castellón/Castelló",shortCode:"Castellón"},{name:"Ceuta",shortCode:"Ceuta"},{name:"Ciudad Real",shortCode:"Ciudad Real"},{name:"Córdoba",shortCode:"Córdoba"},{name:"LA Coruña",shortCode:"La Coruña"},{name:"Cuenca",shortCode:"Cuenca"},{name:"Gipuzkoa",shortCode:"Guipúzcoa"},{name:"Girona",shortCode:"Gerona"},{name:"Granada",shortCode:"Granada"},{name:"Guadalajara",shortCode:"Guadalajara"},{name:"Huelva",shortCode:"Huelva"},{name:"Huesca",shortCode:"Huesca"},{name:"Illes Balears",shortCode:"Islas Baleares"},{name:"Jaén",shortCode:"Jaen"},{name:"León",shortCode:"León"},{name:"Lleida",shortCode:"Lérida"},{name:"Lugo",shortCode:"Lugo"},{name:"Madrid",shortCode:"Madrid"},{name:"Málaga",shortCode:"Málaga"},{name:"Melilla",shortCode:"Melilla"},{name:"Murcia",shortCode:"Murcia"},{name:"Navarra/Nafarroa",shortCode:"Navarra"},{name:"Ourense",shortCode:"Orense"},{name:"Palencia",shortCode:"Palencia"},{name:"Las Palmas",shortCode:"Las Palmas"},{name:"Pontevedra",shortCode:"Pontevedra"},{name:"La Rioja",shortCode:"La Rioja"},{name:"Salamanca",shortCode:"Salamanca"},{name:"Santa Cruz de Tenerife",shortCode:"S.C.Tenerife"},{name:"Segovia",shortCode:"Segovia"},{name:"Sevilla",shortCode:"Sevilla"},{name:"Soria",shortCode:"Soria"},{name:"Tarragona",shortCode:"Tarragona"},{name:"Teruel",shortCode:"Teruel"},{name:"Toledo",shortCode:"Toledo"},{name:"Valencia/València",shortCode:"Valencia"},{name:"Valladolid",shortCode:"Valladolid"},{name:"Zamora",shortCode:"Zamora"},{name:"Zaragoza",shortCode:"Zaragoza"}]},{countryName:"Sri Lanka",countryShortCode:"LK",regions:[{name:"Basnahira",shortCode:"1"},{name:"Dakunu",shortCode:"3"},{name:"Madhyama",shortCode:"2"},{name:"Naegenahira",shortCode:"5"},{name:"Sabaragamuwa",shortCode:"9"},{name:"Uturu",shortCode:"4"},{name:"Uturumaeda",shortCode:"7"},{name:"Vayamba",shortCode:"6"},{name:"Uva",shortCode:"8"}]},{countryName:"Sudan",countryShortCode:"SD",regions:[{name:"Al Bahr al Ahmar",shortCode:"RS"},{name:"Al Jazirah",shortCode:"GZ"},{name:"Al Khartum",shortCode:"KH"},{name:"Al Qadarif",shortCode:"GD"},{name:"An Nil al Abyad",shortCode:"NW"},{name:"An Nil al Azraq",shortCode:"NB"},{name:"Ash Shamaliyah",shortCode:"NO"},{name:"Gharb Darfur",shortCode:"DW"},{name:"Gharb Kurdufan",shortCode:"GK"},{name:"Janub Darfur",shortCode:"DS"},{name:"Janub Kurdufan",shortCode:"KS"},{name:"Kassala",shortCode:"KA"},{name:"Nahr an Nil",shortCode:"NR"},{name:"Shamal Darfur",shortCode:"DN"},{name:"Sharq Darfur",shortCode:"DE"},{name:"Shiamal Kurdufan",shortCode:"KN"},{name:"Sinnar",shortCode:"SI"},{name:"Wasat Darfur Zalinjay",shortCode:"DC"}]},{countryName:"Suriname",countryShortCode:"SR",regions:[{name:"Brokopondo",shortCode:"BR"},{name:"Commewijne",shortCode:"CM"},{name:"Coronie",shortCode:"CR"},{name:"Marowijne",shortCode:"MA"},{name:"Nickerie",shortCode:"NI"},{name:"Para",shortCode:"PR"},{name:"Paramaribo",shortCode:"PM"},{name:"Saramacca",shortCode:"SA"},{name:"Sipaliwini",shortCode:"SI"},{name:"Wanica",shortCode:"WA"}]},{countryName:"Swaziland",countryShortCode:"SZ",regions:[{name:"Hhohho",shortCode:"HH"},{name:"Lubombo",shortCode:"LU"},{name:"Manzini",shortCode:"MA"},{name:"Shiselweni",shortCode:"SH"}]},{countryName:"Sweden",countryShortCode:"SE",regions:[{name:"Blekinge",shortCode:"K"},{name:"Dalarna",shortCode:"W"},{name:"Gävleborg",shortCode:"X"},{name:"Gotland",shortCode:"I"},{name:"Halland",shortCode:"N"},{name:"Jämtland",shortCode:"Z"},{name:"Jönköping",shortCode:"F"},{name:"Kalmar",shortCode:"H"},{name:"Kronoberg",shortCode:"G"},{name:"Norrbotten",shortCode:"BD"},{name:"Örebro",shortCode:"T"},{name:"Östergötland",shortCode:"E"},{name:"Skåne",shortCode:"M"},{name:"Södermanland",shortCode:"D"},{name:"Stockholm",shortCode:"AB"},{name:"Uppsala",shortCode:"C"},{name:"Värmland",shortCode:"S"},{name:"Västerbotten",shortCode:"AC"},{name:"Västernorrland",shortCode:"Y"},{name:"Västmanland",shortCode:"U"},{name:"Västra Götaland",shortCode:"O"}]},{countryName:"Switzerland",countryShortCode:"CH",regions:[{name:"Aargau",shortCode:"AG"},{name:"Appenzell Ausserrhoden",shortCode:"AR"},{name:"Appenzell Innerhoden",shortCode:"AI"},{name:"Basel-Landschaft",shortCode:"BL"},{name:"Basel-Stadt",shortCode:"BS"},{name:"Bern",shortCode:"BE"},{name:"Fribourg",shortCode:"FR"},{name:"Genève",shortCode:"GE"},{name:"Glarus",shortCode:"GL"},{name:"Graubünden",shortCode:"GR"},{name:"Jura",shortCode:"JU"},{name:"Luzern",shortCode:"LU"},{name:"Neuchâtel",shortCode:"NE"},{name:"Nidwalden",shortCode:"NW"},{name:"Obwalden",shortCode:"OW"},{name:"Sankt Gallen",shortCode:"SG"},{name:"Schaffhausen",shortCode:"SH"},{name:"Schwyz",shortCode:"SZ"},{name:"Solothurn",shortCode:"SO"},{name:"Thurgau",shortCode:"TG"},{name:"Ticino",shortCode:"TI"},{name:"Uri",shortCode:"UR"},{name:"Valais",shortCode:"VS"},{name:"Vaud",shortCode:"VD"},{name:"Zug",shortCode:"ZG"},{name:"Zürich",shortCode:"ZH"}]},{countryName:"Syrian Arab Republic",countryShortCode:"SY",regions:[{name:"Al Hasakah",shortCode:"HA"},{name:"Al Ladhiqiyah",shortCode:"LA"},{name:"Al Qunaytirah",shortCode:"QU"},{name:"Ar Raqqah",shortCode:"RA"},{name:"As Suwayda'",shortCode:"SU"},{name:"Dar'a",shortCode:"DR"},{name:"Dayr az Zawr",shortCode:"DY"},{name:"Dimashq",shortCode:"DI"},{name:"Halab",shortCode:"HL"},{name:"Hamah",shortCode:"HM"},{name:"Hims",shortCode:"HI"},{name:"Idlib",shortCode:"ID"},{name:"Rif Dimashq",shortCode:"RD"},{name:"Tartus",shortCode:"TA"}]},{countryName:"Taiwan",countryShortCode:"TW",regions:[{name:"Chang-hua",shortCode:"CHA"},{name:"Chia-i",shortCode:"CYQ"},{name:"Hsin-chu",shortCode:"HSQ"},{name:"Hua-lien",shortCode:"HUA"},{name:"Kao-hsiung",shortCode:"KHH"},{name:"Keelung",shortCode:"KEE"},{name:"Kinmen",shortCode:"KIN"},{name:"Lienchiang",shortCode:"LIE"},{name:"Miao-li",shortCode:"MIA"},{name:"Nan-t'ou",shortCode:"NAN"},{name:"P'eng-hu",shortCode:"PEN"},{name:"New Taipei",shortCode:"NWT"},{name:"P'ing-tung",shortCode:"PING"},{name:"T'ai-chung",shortCode:"TXG"},{name:"T'ai-nan",shortCode:"TNN"},{name:"T'ai-pei",shortCode:"TPE"},{name:"T'ai-tung",shortCode:"TTT"},{name:"T'ao-yuan",shortCode:"TAO"},{name:"Yi-lan",shortCode:"ILA"},{name:"Yun-lin",shortCode:"YUN"}]},{countryName:"Tajikistan",countryShortCode:"TJ",regions:[{name:"Dushanbe",shortCode:"DU"},{name:"Kŭhistoni Badakhshon",shortCode:"GB"},{name:"Khatlon",shortCode:"KT"},{name:"Sughd",shortCode:"SU"}]},{countryName:"Tanzania, United Republic of",countryShortCode:"TZ",regions:[{name:"Arusha",shortCode:"01"},{name:"Coast",shortCode:"19"},{name:"Dar es Salaam",shortCode:"02"},{name:"Dodoma",shortCode:"03"},{name:"Iringa",shortCode:"04"},{name:"Kagera",shortCode:"05"},{name:"Kigoma",shortCode:"08"},{name:"Kilimanjaro",shortCode:"09"},{name:"Lindi",shortCode:"12"},{name:"Manyara",shortCode:"26"},{name:"Mara",shortCode:"13"},{name:"Mbeya",shortCode:"14"},{name:"Morogoro",shortCode:"16"},{name:"Mtwara",shortCode:"17"},{name:"Mwanza",shortCode:"18"},{name:"Pemba North",shortCode:"06"},{name:"Pemba South",shortCode:"10"},{name:"Rukwa",shortCode:"20"},{name:"Ruvuma",shortCode:"21"},{name:"Shinyanga",shortCode:"22"},{name:"Singida",shortCode:"23"},{name:"Tabora",shortCode:"24"},{name:"Tanga",shortCode:"25"},{name:"Zanzibar North",shortCode:"07"},{name:"Zanzibar Central/South",shortCode:"11"},{name:"Zanzibar Urban/West",shortCode:"15"}]},{countryName:"Thailand",countryShortCode:"TH",regions:[{name:"Amnat Charoen",shortCode:"37"},{name:"Ang Thong",shortCode:"15"},{name:"Bueng Kan",shortCode:"38"},{name:"Buri Ram",shortCode:"31"},{name:"Chachoengsao",shortCode:"24"},{name:"Chai Nat",shortCode:"18"},{name:"Chaiyaphum",shortCode:"36"},{name:"Chanthaburi",shortCode:"22"},{name:"Chiang Mai",shortCode:"50"},{name:"Chiang Rai",shortCode:"57"},{name:"Chon Buri",shortCode:"20"},{name:"Chumphon",shortCode:"86"},{name:"Kalasin",shortCode:"46"},{name:"Kamphaeng Phet",shortCode:"62"},{name:"Kanchanaburi",shortCode:"71"},{name:"Khon Kaen",shortCode:"40"},{name:"Krabi",shortCode:"81"},{name:"Krung Thep Mahanakhon (Bangkok)",shortCode:"10"},{name:"Lampang",shortCode:"52"},{name:"Lamphun",shortCode:"51"},{name:"Loei",shortCode:"42"},{name:"Lop Buri",shortCode:"16"},{name:"Mae Hong Son",shortCode:"58"},{name:"Maha Sarakham",shortCode:"44"},{name:"Mukdahan",shortCode:"49"},{name:"Nakhon Nayok",shortCode:"26"},{name:"Nakhon Phathom",shortCode:"73"},{name:"Nakhon Phanom",shortCode:"48"},{name:"Nakhon Ratchasima",shortCode:"30"},{name:"Nakhon Sawan",shortCode:"60"},{name:"Nakhon Si Thammarat",shortCode:"80"},{name:"Nan",shortCode:"55"},{name:"Narathiwat",shortCode:"96"},{name:"Nong Bua Lam Phu",shortCode:"39"},{name:"Nong Khai",shortCode:"43"},{name:"Nonthaburi",shortCode:"12"},{name:"Pathum Thani",shortCode:"13"},{name:"Pattani",shortCode:"94"},{name:"Phangnga",shortCode:"82"},{name:"Phatthalung",shortCode:"93"},{name:"Phayao",shortCode:"56"},{name:"Phetchabun",shortCode:"76"},{name:"Phetchaburi",shortCode:"76"},{name:"Phichit",shortCode:"66"},{name:"Phitsanulok",shortCode:"65"},{name:"Phra Nakhon Si Ayutthaya",shortCode:"14"},{name:"Phrae",shortCode:"54"},{name:"Phuket",shortCode:"83"},{name:"Prachin Buri",shortCode:"25"},{name:"Prachuap Khiri Khan",shortCode:"77"},{name:"Ranong",shortCode:"85"},{name:"Ratchaburi",shortCode:"70"},{name:"Rayong",shortCode:"21"},{name:"Roi Et",shortCode:"45"},{name:"Sa Kaeo",shortCode:"27"},{name:"Sakon Nakhon",shortCode:"47"},{name:"Samut Prakan",shortCode:"11"},{name:"Samut Sakhon",shortCode:"74"},{name:"Samut Songkhram",shortCode:"75"},{name:"Saraburi",shortCode:"19"},{name:"Satun",shortCode:"91"},{name:"Sing Buri",shortCode:"17"},{name:"Si Sa ket",shortCode:"33"},{name:"Songkhla",shortCode:"90"},{name:"Sukhothai",shortCode:"64"},{name:"Suphan Buri",shortCode:"72"},{name:"Surat Thani",shortCode:"84"},{name:"Surin",shortCode:"32"},{name:"Tak",shortCode:"63"},{name:"Trang",shortCode:"92"},{name:"Trat",shortCode:"23"},{name:"Ubon Ratchathani",shortCode:"34"},{name:"Udon Thani",shortCode:"41"},{name:"Uthai Thani",shortCode:"61"},{name:"Uttaradit",shortCode:"53"},{name:"Yala",shortCode:"95"},{name:"Yasothon",shortCode:"35"}]},{countryName:"Timor-Leste",countryShortCode:"TL",regions:[{name:"Aileu",shortCode:"AL"},{name:"Ainaro",shortCode:"AN"},{name:"Baucau",shortCode:"BA"},{name:"Bobonaro",shortCode:"BO"},{name:"Cova Lima",shortCode:"CO"},{name:"Dili",shortCode:"DI"},{name:"Ermera",shortCode:"ER"},{name:"Lautem",shortCode:"LA"},{name:"Liquica",shortCode:"LI"},{name:"Manatuto",shortCode:"MT"},{name:"Manufahi",shortCode:"MF"},{name:"Oecussi",shortCode:"OE"},{name:"Viqueque",shortCode:"VI"}]},{countryName:"Togo",countryShortCode:"TG",regions:[{name:"Centre",shortCode:"C"},{name:"Kara",shortCode:"K"},{name:"Maritime",shortCode:"M"},{name:"Plateaux",shortCode:"P"},{name:"Savannes",shortCode:"S"}]},{countryName:"Tokelau",countryShortCode:"TK",regions:[{name:"Atafu"},{name:"Fakaofo"},{name:"Nukunonu"}]},{countryName:"Tonga",countryShortCode:"TO",regions:[{name:"'Eua",shortCode:"01"},{name:"Ha'apai",shortCode:"02"},{name:"Niuas",shortCode:"03"},{name:"Tongatapu",shortCode:"04"},{name:"Vava'u",shortCode:"05"}]},{countryName:"Trinidad and Tobago",countryShortCode:"TT",regions:[{name:"Arima",shortCode:"ARI"},{name:"Chaguanas",shortCode:"CHA"},{name:"Couva-Tabaquite-Talparo",shortCode:"CTT"},{name:"Diefo Martin",shortCode:"DMN"},{name:"Mayaro-Rio Claro",shortCode:"MRC"},{name:"Penal-Debe",shortCode:"PED"},{name:"Point Fortin",shortCode:"PTF"},{name:"Port-of-Spain",shortCode:"POS"},{name:"Princes Town",shortCode:"PRT"},{name:"San Fernando",shortCode:"SFO"},{name:"San Juan-Laventille",shortCode:"SJL"},{name:"Sangre Grande",shortCode:"SGE"},{name:"Siparia",shortCode:"SIP"},{name:"Tobago",shortCode:"TOB"},{name:"Tunapuna-Piarco",shortCode:"TUP"}]},{countryName:"Tunisia",countryShortCode:"TN",regions:[{name:"Ariana",shortCode:"12"},{name:"Beja",shortCode:"31"},{name:"Ben Arous",shortCode:"13"},{name:"Bizerte",shortCode:"23"},{name:"Gabes",shortCode:"81"},{name:"Gafsa",shortCode:"71"},{name:"Jendouba",shortCode:"32"},{name:"Kairouan",shortCode:"41"},{name:"Kasserine",shortCode:"42"},{name:"Kebili",shortCode:"73"},{name:"Kef",shortCode:"33"},{name:"Mahdia",shortCode:"53"},{name:"Medenine",shortCode:"82"},{name:"Monastir",shortCode:"52"},{name:"Nabeul",shortCode:"21"},{name:"Sfax",shortCode:"61"},{name:"Sidi Bouzid",shortCode:"43"},{name:"Siliana",shortCode:"34"},{name:"Sousse",shortCode:"51"},{name:"Tataouine",shortCode:"83"},{name:"Tozeur",shortCode:"72"},{name:"Tunis",shortCode:"11"},{name:"Zaghouan",shortCode:"22"}]},{countryName:"Turkey",countryShortCode:"TR",regions:[{name:"Adana",shortCode:"01"},{name:"Adiyaman",shortCode:"02"},{name:"Afyonkarahisar",shortCode:"03"},{name:"Agri",shortCode:"04"},{name:"Aksaray",shortCode:"68"},{name:"Amasya",shortCode:"05"},{name:"Ankara",shortCode:"06"},{name:"Antalya",shortCode:"07"},{name:"Ardahan",shortCode:"75"},{name:"Artvin",shortCode:"08"},{name:"Aydin",shortCode:"09"},{name:"Balikesir",shortCode:"10"},{name:"Bartin",shortCode:"74"},{name:"Batman",shortCode:"72"},{name:"Bayburt",shortCode:"69"},{name:"Bilecik",shortCode:"11"},{name:"Bingol",shortCode:"12"},{name:"Bitlis",shortCode:"13"},{name:"Bolu",shortCode:"14"},{name:"Burdur",shortCode:"15"},{name:"Bursa",shortCode:"16"},{name:"Canakkale",shortCode:"17"},{name:"Cankiri",shortCode:"18"},{name:"Corum",shortCode:"19"},{name:"Denizli",shortCode:"20"},{name:"Diyarbakir",shortCode:"21"},{name:"Duzce",shortCode:"81"},{name:"Edirne",shortCode:"22"},{name:"Elazig",shortCode:"23"},{name:"Erzincan",shortCode:"24"},{name:"Erzurum",shortCode:"25"},{name:"Eskisehir",shortCode:"26"},{name:"Gaziantep",shortCode:"27"},{name:"Giresun",shortCode:"28"},{name:"Gumushane",shortCode:"29"},{name:"Hakkari",shortCode:"30"},{name:"Hatay",shortCode:"31"},{name:"Igdir",shortCode:"76"},{name:"Isparta",shortCode:"32"},{name:"Istanbul",shortCode:"34"},{name:"Izmir",shortCode:"35"},{name:"Kahramanmaras",shortCode:"46"},{name:"Karabuk",shortCode:"78"},{name:"Karaman",shortCode:"70"},{name:"Kars",shortCode:"36"},{name:"Kastamonu",shortCode:"37"},{name:"Kayseri",shortCode:"38"},{name:"Kilis",shortCode:"79"},{name:"Kirikkale",shortCode:"71"},{name:"Kirklareli",shortCode:"39"},{name:"Kirsehir",shortCode:"40"},{name:"Kocaeli",shortCode:"41"},{name:"Konya",shortCode:"42"},{name:"Kutahya",shortCode:"43"},{name:"Malatya",shortCode:"44"},{name:"Manisa",shortCode:"45"},{name:"Mardin",shortCode:"47"},{name:"Mersin",shortCode:"33"},{name:"Mugla",shortCode:"48"},{name:"Mus",shortCode:"49"},{name:"Nevsehir",shortCode:"50"},{name:"Nigde",shortCode:"51"},{name:"Ordu",shortCode:"52"},{name:"Osmaniye",shortCode:"80"},{name:"Rize",shortCode:"53"},{name:"Sakarya",shortCode:"54"},{name:"Samsun",shortCode:"55"},{name:"Sanliurfa",shortCode:"63"},{name:"Siirt",shortCode:"56"},{name:"Sinop",shortCode:"57"},{name:"Sirnak",shortCode:"73"},{name:"Sivas",shortCode:"58"},{name:"Tekirdag",shortCode:"59"},{name:"Tokat",shortCode:"60"},{name:"Trabzon",shortCode:"61"},{name:"Tunceli",shortCode:"62"},{name:"Usak",shortCode:"64"},{name:"Van",shortCode:"65"},{name:"Yalova",shortCode:"77"},{name:"Yozgat",shortCode:"66"},{name:"Zonguldak",shortCode:"67"}]},{countryName:"Turkmenistan",countryShortCode:"TM",regions:[{name:"Ahal",shortCode:"A"},{name:"Asgabat",shortCode:"S"},{name:"Balkan",shortCode:"B"},{name:"Dashoguz",shortCode:"D"},{name:"Lebap",shortCode:"L"},{name:"Mary",shortCode:"M"}]},{countryName:"Turks and Caicos Islands",countryShortCode:"TC",regions:[{name:"Turks and Caicos Islands"}]},{countryName:"Tuvalu",countryShortCode:"TV",regions:[{name:"Funafuti",shortCode:"FUN"},{name:"Nanumanga",shortCode:"NMG"},{name:"Nanumea",shortCode:"NMA"},{name:"Niutao",shortCode:"NIT"},{name:"Nui",shortCode:"NUI"},{name:"Nukufetau",shortCode:"NKF"},{name:"Nukulaelae",shortCode:"NKL"},{name:"Vaitupu",shortCode:"VAU"}]},{countryName:"Uganda",countryShortCode:"UG",regions:[{name:"Abim",shortCode:"317"},{name:"Adjumani",shortCode:"301"},{name:"Amolatar",shortCode:"314"},{name:"Amuria",shortCode:"216"},{name:"Amuru",shortCode:"319"},{name:"Apac",shortCode:"302"},{name:"Arua",shortCode:"303"},{name:"Budaka",shortCode:"217"},{name:"Bududa",shortCode:"223"},{name:"Bugiri",shortCode:"201"},{name:"Bukedea",shortCode:"224"},{name:"Bukwa",shortCode:"218"},{name:"Buliisa",shortCode:"419"},{name:"Bundibugyo",shortCode:"401"},{name:"Bushenyi",shortCode:"402"},{name:"Busia",shortCode:"202"},{name:"Butaleja",shortCode:"219"},{name:"Dokolo",shortCode:"318"},{name:"Gulu",shortCode:"304"},{name:"Hoima",shortCode:"403"},{name:"Ibanda",shortCode:"416"},{name:"Iganga",shortCode:"203"},{name:"Isingiro",shortCode:"417"},{name:"Jinja",shortCode:"204"},{name:"Kaabong",shortCode:"315"},{name:"Kabale",shortCode:"404"},{name:"Kabarole",shortCode:"405"},{name:"Kaberamaido",shortCode:"213"},{name:"Kalangala",shortCode:"101"},{name:"Kaliro",shortCode:"220"},{name:"Kampala",shortCode:"102"},{name:"Kamuli",shortCode:"205"},{name:"Kamwenge",shortCode:"413"},{name:"Kanungu",shortCode:"414"},{name:"Kapchorwa",shortCode:"206"},{name:"Kasese",shortCode:"406"},{name:"Katakwi",shortCode:"207"},{name:"Kayunga",shortCode:"112"},{name:"Kibaale",shortCode:"407"},{name:"Kiboga",shortCode:"103"},{name:"Kiruhura",shortCode:"418"},{name:"Kisoro",shortCode:"408"},{name:"Kitgum",shortCode:"305"},{name:"Koboko",shortCode:"316"},{name:"Kotido",shortCode:"306"},{name:"Kumi",shortCode:"208"},{name:"Kyenjojo",shortCode:"415"},{name:"Lira",shortCode:"307"},{name:"Luwero",shortCode:"104"},{name:"Lyantonde",shortCode:"116"},{name:"Manafwa",shortCode:"221"},{name:"Maracha",shortCode:"320"},{name:"Masaka",shortCode:"105"},{name:"Masindi",shortCode:"409"},{name:"Mayuge",shortCode:"214"},{name:"Mbale",shortCode:"209"},{name:"Mbarara",shortCode:"410"},{name:"Mityana",shortCode:"114"},{name:"Moroto",shortCode:"308"},{name:"Moyo",shortCode:"309"},{name:"Mpigi",shortCode:"106"},{name:"Mubende",shortCode:"107"},{name:"Mukono",shortCode:"108"},{name:"Nakapiripirit",shortCode:"311"},{name:"Nakaseke",shortCode:"115"},{name:"Nakasongola",shortCode:"109"},{name:"Namutumba",shortCode:"222"},{name:"Nebbi",shortCode:"310"},{name:"Ntungamo",shortCode:"411"},{name:"Oyam",shortCode:"321"},{name:"Pader",shortCode:"312"},{name:"Pallisa",shortCode:"210"},{name:"Rakai",shortCode:"110"},{name:"Rukungiri",shortCode:"412"},{name:"Sembabule",shortCode:"111"},{name:"Sironko",shortCode:"215"},{name:"Soroti",shortCode:"211"},{name:"Tororo",shortCode:"212"},{name:"Wakiso",shortCode:"113"},{name:"Yumbe",shortCode:"313"}]},{countryName:"Ukraine",countryShortCode:"UA",regions:[{name:"Cherkasy",shortCode:"71"},{name:"Chernihiv",shortCode:"74"},{name:"Chernivtsi",shortCode:"77"},{name:"Dnipropetrovsk",shortCode:"12"},{name:"Donetsk",shortCode:"14"},{name:"Ivano-Frankivsk",shortCode:"26"},{name:"Kharkiv",shortCode:"63"},{name:"Kherson",shortCode:"65"},{name:"Khmelnytskyi",shortCode:"68"},{name:"Kiev",shortCode:"32"},{name:"Kirovohrad",shortCode:"35"},{name:"Luhansk",shortCode:"09"},{name:"Lviv",shortCode:"46"},{name:"Mykolaiv",shortCode:"48"},{name:"Odessa",shortCode:"51"},{name:"Poltava",shortCode:"53"},{name:"Rivne",shortCode:"56"},{name:"Sumy",shortCode:"59"},{name:"Ternopil",shortCode:"61"},{name:"Vinnytsia",shortCode:"05"},{name:"Volyn",shortCode:"07"},{name:"Zakarpattia",shortCode:"21"},{name:"Zaporizhia",shortCode:"23"},{name:"Zhytomyr",shortCode:"18"},{name:"Avtonomna Respublika Krym",shortCode:"43"},{name:"Kyïv",shortCode:"30"},{name:"Sevastopol",shortCode:"40"}]},{countryName:"United Arab Emirates",countryShortCode:"AE",regions:[{name:"Abu Dhabi",shortCode:"AZ"},{name:"Ajman",shortCode:"AJ"},{name:"Dubai",shortCode:"DU"},{name:"Fujairah",shortCode:"FU"},{name:"Ras al Khaimah",shortCode:"RK"},{name:"Sharjah",shortCode:"SH"},{name:"Umm Al Quwain",shortCode:"UQ"}]},{countryName:"United Kingdom",countryShortCode:"GB",regions:[{name:"Aberdeen City",shortCode:"Aberdeen City"},{name:"Aberdeenshire",shortCode:"Aberdeenshire"},{name:"Angus",shortCode:"Angus"},{name:"Antrim and Newtownabbey",shortCode:"Antrim and Newtownabbey"},{name:"Ards and North Down",shortCode:"Ards and North Down"},{name:"Argyll and Bute",shortCode:"Argyll and Bute"},{name:"Armagh, Banbridge and Craigavon",shortCode:"Armagh, Banbridge and Craigavon"},{name:"Barking and Dagenham",shortCode:"Barking and Dagenham"},{name:"Barnet",shortCode:"Barnet"},{name:"Barnsley",shortCode:"Barnsley"},{name:"Bath and North East Somerset",shortCode:"Bath and North East Somerset"},{name:"Bedford",shortCode:"Bedford"},{name:"Belfast",shortCode:"Belfast"},{name:"Bexley",shortCode:"Bexley"},{name:"Birmingham",shortCode:"Birmingham"},{name:"Blackburn with Darwen",shortCode:"Blackburn with Darwen"},{name:"Blackpool",shortCode:"Blackpool"},{name:"Blaenau Gwent",shortCode:"Blaenau Gwent"},{name:"Bolton",shortCode:"Bolton"},{name:"Bournemouth",shortCode:"Bournemouth"},{name:"Bracknell Forest",shortCode:"Bracknell Forest"},{name:"Bradford",shortCode:"Bradford"},{name:"Brent",shortCode:"Brent"},{name:"Bridgend",shortCode:"Bridgend"},{name:"Brighton and Hove",shortCode:"Brighton and Hove"},{name:"Bristol, City of",shortCode:"Bristol, City of"},{name:"Bromley",shortCode:"Bromley"},{name:"Buckinghamshire",shortCode:"Buckinghamshire"},{name:"Bury",shortCode:"Bury"},{name:"Caerphilly",shortCode:"Caerphilly"},{name:"Calderdale",shortCode:"Calderdale"},{name:"Cambridgeshire",shortCode:"Cambridgeshire"},{name:"Camden",shortCode:"Camden"},{name:"Cardiff",shortCode:"Cardiff"},{name:"Carmarthenshire",shortCode:"Carmarthenshire"},{name:"Causeway Coast and Glens",shortCode:"Causeway Coast and Glens"},{name:"Central Bedfordshire",shortCode:"Central Bedfordshire"},{name:"Ceredigion",shortCode:"Ceredigion"},{name:"Cheshire East",shortCode:"Cheshire East"},{name:"Cheshire West and Chester",shortCode:"Cheshire West and Chester"},{name:"Clackmannanshire",shortCode:"Clackmannanshire"},{name:"Conwy",shortCode:"Conwy"},{name:"Cornwall",shortCode:"Cornwall"},{name:"Coventry",shortCode:"Coventry"},{name:"Croydon",shortCode:"Croydon"},{name:"Cumbria",shortCode:"Cumbria"},{name:"Darlington",shortCode:"Darlington"},{name:"Denbighshire",shortCode:"Denbighshire"},{name:"Derby",shortCode:"Derby"},{name:"Derbyshire",shortCode:"Derbyshire"},{name:"Derry and Strabane",shortCode:"Derry and Strabane"},{name:"Devon",shortCode:"Devon"},{name:"Doncaster",shortCode:"Doncaster"},{name:"Dorset",shortCode:"Dorset"},{name:"Dudley",shortCode:"Dudley"},{name:"Dumfries and Galloway",shortCode:"Dumfries and Galloway"},{name:"Dundee City",shortCode:"Dundee City"},{name:"Durham County",shortCode:"Durham County"},{name:"Ealing",shortCode:"Ealing"},{name:"East Ayrshire",shortCode:"East Ayrshire"},{name:"East Dunbartonshire",shortCode:"East Dunbartonshire"},{name:"East Lothian",shortCode:"East Lothian"},{name:"East Renfrewshire",shortCode:"East Renfrewshire"},{name:"East Riding of Yorkshire",shortCode:"East Riding of Yorkshire"},{name:"East Sussex",shortCode:"East Sussex"},{name:"Edinburgh, City of",shortCode:"Edinburgh, City of"},{name:"Eilean Siar",shortCode:"Eilean Siar"},{name:"Enfield",shortCode:"Enfield"},{name:"Essex",shortCode:"Essex"},{name:"Falkirk",shortCode:"Falkirk"},{name:"Fermanagh and Omagh",shortCode:"Fermanagh and Omagh"},{name:"Fife",shortCode:"Fife"},{name:"Flintshire",shortCode:"Flintshire"},{name:"Gateshead",shortCode:"Gateshead"},{name:"Glasgow City",shortCode:"Glasgow City"},{name:"Gloucestershire",shortCode:"Gloucestershire"},{name:"Greenwich",shortCode:"Greenwich"},{name:"Gwynedd",shortCode:"Gwynedd"},{name:"Hackney",shortCode:"Hackney"},{name:"Halton",shortCode:"Halton"},{name:"Hammersmith and Fulham",shortCode:"Hammersmith and Fulham"},{name:"Hampshire",shortCode:"Hampshire"},{name:"Haringey",shortCode:"Haringey"},{name:"Harrow",shortCode:"Harrow"},{name:"Hartlepool",shortCode:"Hartlepool"},{name:"Havering",shortCode:"Havering"},{name:"Herefordshire",shortCode:"Herefordshire"},{name:"Hertfordshire",shortCode:"Hertfordshire"},{name:"Highland",shortCode:"Highland"},{name:"Hillingdon",shortCode:"Hillingdon"},{name:"Hounslow",shortCode:"Hounslow"},{name:"Inverclyde",shortCode:"Inverclyde"},{name:"Isle of Anglesey",shortCode:"Isle of Anglesey"},{name:"Isle of Wight",shortCode:"Isle of Wight"},{name:"Isles of Scilly",shortCode:"Isles of Scilly"},{name:"Islington",shortCode:"Islington"},{name:"Kensington and Chelsea",shortCode:"Kensington and Chelsea"},{name:"Kent",shortCode:"Kent"},{name:"Kingston upon Hull",shortCode:"Kingston upon Hull"},{name:"Kingston upon Thames",shortCode:"Kingston upon Thames"},{name:"Kirklees",shortCode:"Kirklees"},{name:"Knowsley",shortCode:"Knowsley"},{name:"Lambeth",shortCode:"Lambeth"},{name:"Lancashire",shortCode:"Lancashire"},{name:"Leeds",shortCode:"Leeds"},{name:"Leicester",shortCode:"Leicester"},{name:"Leicestershire",shortCode:"Leicestershire"},{name:"Lewisham",shortCode:"Lewisham"},{name:"Lincolnshire",shortCode:"Lincolnshire"},{name:"Lisburn and Castlereagh",shortCode:"Lisburn and Castlereagh"},{name:"Liverpool",shortCode:"Liverpool"},{name:"London",shortCode:"London"},{name:"Luton",shortCode:"Luton"},{name:"Manchester",shortCode:"Manchester"},{name:"Medway",shortCode:"Medway"},{name:"Merthyr Tydfil",shortCode:"Merthyr Tydfil"},{name:"Merton",shortCode:"Merton"},{name:"Mid and East Antrim",shortCode:"Mid and East Antrim"},{name:"Mid Ulster",shortCode:"Mid Ulster"},{name:"Middlesbrough",shortCode:"Middlesbrough"},{name:"Midlothian",shortCode:"Midlothian"},{name:"Milton Keynes",shortCode:"Milton Keynes"},{name:"Monmouthshire",shortCode:"Monmouthshire"},{name:"Moray",shortCode:"Moray"},{name:"Neath Port Talbot",shortCode:"Neath Port Talbot"},{name:"Newcastle upon Tyne",shortCode:"Newcastle upon Tyne"},{name:"Newham",shortCode:"Newham"},{name:"Newport",shortCode:"Newport"},{name:"Newry, Mourne and Down",shortCode:"Newry, Mourne and Down"},{name:"Norfolk",shortCode:"Norfolk"},{name:"North Ayrshire",shortCode:"North Ayrshire"},{name:"North East Lincolnshire",shortCode:"North East Lincolnshire"},{name:"North Lanarkshire",shortCode:"North Lanarkshire"},{name:"North Lincolnshire",shortCode:"North Lincolnshire"},{name:"North Somerset",shortCode:"North Somerset"},{name:"North Tyneside",shortCode:"North Tyneside"},{name:"North Yorkshire",shortCode:"North Yorkshire"},{name:"Northamptonshire",shortCode:"Northamptonshire"},{name:"Northumberland",shortCode:"Northumberland"},{name:"Nottingham",shortCode:"Nottingham"},{name:"Nottinghamshire",shortCode:"Nottinghamshire"},{name:"Oldham",shortCode:"Oldham"},{name:"Orkney Islands",shortCode:"Orkney Islands"},{name:"Oxfordshire",shortCode:"Oxfordshire"},{name:"Pembrokeshire",shortCode:"Pembrokeshire"},{name:"Perth and Kinross",shortCode:"Perth and Kinross"},{name:"Peterborough",shortCode:"Peterborough"},{name:"Plymouth",shortCode:"Plymouth"},{name:"Poole",shortCode:"Poole"},{name:"Portsmouth",shortCode:"Portsmouth"},{name:"Powys",shortCode:"Powys"},{name:"Reading",shortCode:"Reading"},{name:"Redbridge",shortCode:"Redbridge"},{name:"Redcar and Cleveland",shortCode:"Redcar and Cleveland"},{name:"Renfrewshire",shortCode:"Renfrewshire"},{name:"Rhondda, Cynon, Taff",shortCode:"Rhondda, Cynon, Taff"},{name:"Richmond upon Thames",shortCode:"Richmond upon Thames"},{name:"Rochdale",shortCode:"Rochdale"},{name:"Rotherham",shortCode:"Rotherham"},{name:"Rutland",shortCode:"Rutland"},{name:"St. Helens",shortCode:"St. Helens"},{name:"Salford",shortCode:"Salford"},{name:"Sandwell",shortCode:"Sandwell"},{name:"Scottish Borders, The",shortCode:"Scottish Borders, The"},{name:"Sefton",shortCode:"Sefton"},{name:"Sheffield",shortCode:"Sheffield"},{name:"Shetland Islands",shortCode:"Shetland Islands"},{name:"Shropshire",shortCode:"Shropshire"},{name:"Slough",shortCode:"Slough"},{name:"Solihull",shortCode:"Solihull"},{name:"Somerset",shortCode:"Somerset"},{name:"South Ayrshire",shortCode:"South Ayrshire"},{name:"South Gloucestershire",shortCode:"South Gloucestershire"},{name:"South Lanarkshire",shortCode:"South Lanarkshire"},{name:"South Tyneside",shortCode:"South Tyneside"},{name:"Southampton",shortCode:"Southampton"},{name:"Southend-on-Sea",shortCode:"Southend-on-Sea"},{name:"Southwark",shortCode:"Southwark"},{name:"Staffordshire",shortCode:"Staffordshire"},{name:"Stirling",shortCode:"Stirling"},{name:"Stockport",shortCode:"Stockport"},{name:"Stockton-on-Tees",shortCode:"Stockton-on-Tees"},{name:"Stoke-on-Trent",shortCode:"Stoke-on-Trent"},{name:"Suffolk",shortCode:"Suffolk"},{name:"Sunderland",shortCode:"Sunderland"},{name:"Surrey",shortCode:"Surrey"},{name:"Sutton",shortCode:"Sutton"},{name:"Swansea",shortCode:"Swansea"},{name:"Swindon",shortCode:"Swindon"},{name:"Tameside",shortCode:"Tameside"},{name:"Telford and Wrekin",shortCode:"Telford and Wrekin"},{name:"Thurrock",shortCode:"Thurrock"},{name:"Torbay",shortCode:"Torbay"},{name:"Torfaen",shortCode:"Torfaen"},{name:"Tower Hamlets",shortCode:"Tower Hamlets"},{name:"Trafford",shortCode:"Trafford"},{name:"Vale of Glamorgan, The",shortCode:"Vale of Glamorgan, The"},{name:"Wakefield",shortCode:"Wakefield"},{name:"Walsall",shortCode:"Walsall"},{name:"Waltham Forest",shortCode:"Waltham Forest"},{name:"Wandsworth",shortCode:"Wandsworth"},{name:"Warrington",shortCode:"Warrington"},{name:"Warwickshire",shortCode:"Warwickshire"},{name:"West Berkshire",shortCode:"West Berkshire"},{name:"West Dunbartonshire",shortCode:"West Dunbartonshire"},{name:"West Lothian",shortCode:"West Lothian"},{name:"West Sussex",shortCode:"West Sussex"},{name:"Westminster",shortCode:"Westminster"},{name:"Wigan",shortCode:"Wigan"},{name:"Wiltshire",shortCode:"Wiltshire"},{name:"Windsor and Maidenhead",shortCode:"Windsor and Maidenhead"},{name:"Wirral",shortCode:"Wirral"},{name:"Wokingham",shortCode:"Wokingham"},{name:"Wolverhampton",shortCode:"Wolverhampton"},{name:"Worcestershire",shortCode:"Worcestershire"},{name:"Wrexham",shortCode:"Wrexham"},{name:"York",shortCode:"York"}]},{countryName:"United States",countryShortCode:"US",regions:[{name:"Alabama",shortCode:"AL"},{name:"Alaska",shortCode:"AK"},{name:"American Samoa",shortCode:"AS"},{name:"Arizona",shortCode:"AZ"},{name:"Arkansas",shortCode:"AR"},{name:"California",shortCode:"CA"},{name:"Colorado",shortCode:"CO"},{name:"Connecticut",shortCode:"CT"},{name:"Delaware",shortCode:"DE"},{name:"District of Columbia",shortCode:"DC"},{name:"Micronesia",shortCode:"FM"},{name:"Florida",shortCode:"FL"},{name:"Georgia",shortCode:"GA"},{name:"Guam",shortCode:"GU"},{name:"Hawaii",shortCode:"HI"},{name:"Idaho",shortCode:"ID"},{name:"Illinois",shortCode:"IL"},{name:"Indiana",shortCode:"IN"},{name:"Iowa",shortCode:"IA"},{name:"Kansas",shortCode:"KS"},{name:"Kentucky",shortCode:"KY"},{name:"Louisiana",shortCode:"LA"},{name:"Maine",shortCode:"ME"},{name:"Marshall Islands",shortCode:"MH"},{name:"Maryland",shortCode:"MD"},{name:"Massachusetts",shortCode:"MA"},{name:"Michigan",shortCode:"MI"},{name:"Minnesota",shortCode:"MN"},{name:"Mississippi",shortCode:"MS"},{name:"Missouri",shortCode:"MO"},{name:"Montana",shortCode:"MT"},{name:"Nebraska",shortCode:"NE"},{name:"Nevada",shortCode:"NV"},{name:"New Hampshire",shortCode:"NH"},{name:"New Jersey",shortCode:"NJ"},{name:"New Mexico",shortCode:"NM"},{name:"New York",shortCode:"NY"},{name:"North Carolina",shortCode:"NC"},{name:"North Dakota",shortCode:"ND"},{name:"Northern Mariana Islands",shortCode:"MP"},{name:"Ohio",shortCode:"OH"},{name:"Oklahoma",shortCode:"OK"},{name:"Oregon",shortCode:"OR"},{name:"Palau",shortCode:"PW"},{name:"Pennsylvania",shortCode:"PA"},{name:"Puerto Rico",shortCode:"PR"},{name:"Rhode Island",shortCode:"RI"},{name:"South Carolina",shortCode:"SC"},{name:"South Dakota",shortCode:"SD"},{name:"Tennessee",shortCode:"TN"},{name:"Texas",shortCode:"TX"},{name:"Utah",shortCode:"UT"},{name:"Vermont",shortCode:"VT"},{name:"Virgin Islands",shortCode:"VI"},{name:"Virginia",shortCode:"VA"},{name:"Washington",shortCode:"WA"},{name:"West Virginia",shortCode:"WV"},{name:"Wisconsin",shortCode:"WI"},{name:"Wyoming",shortCode:"WY"},{name:"Armed Forces Americas",shortCode:"AA"},{name:"Armed Forces Europe, Canada, Africa and Middle East",shortCode:"AE"},{name:"Armed Forces Pacific",shortCode:"AP"}]},{countryName:"Vietnam",countryShortCode:"VN",regions:[{name:"Đồng Nai",shortCode:"39"},{name:"Đồng Tháp",shortCode:"45"},{name:"Gia Lai",shortCode:"30"},{name:"Hà Giang",shortCode:"03"},{name:"Hà Nam",shortCode:"63"},{name:"Hà Tây",shortCode:"15"},{name:"Hà Tĩnh",shortCode:"23"},{name:"Hải Dương",shortCode:"61"},{name:"Hậu Giang",shortCode:"73"},{name:"Hòa Bình",shortCode:"14"},{name:"Hưng Yên",shortCode:"66"},{name:"Khánh Hòa",shortCode:"34"},{name:"Kiên Giang",shortCode:"47"},{name:"Kon Tum",shortCode:"28"},{name:"Lai Châu",shortCode:"01"},{name:"Lâm Đồng",shortCode:"35"},{name:"Lạng Sơn",shortCode:"09"},{name:"Lào Cai",shortCode:"02"},{name:"Long An",shortCode:"41"},{name:"Nam Định",shortCode:"67"},{name:"Nghệ An",shortCode:"22"},{name:"Ninh Bình",shortCode:"18"},{name:"Ninh Thuận",shortCode:"36"},{name:"Phú Thọ",shortCode:"68"},{name:"Phú Yên",shortCode:"32"},{name:"Quảng Bình",shortCode:"24"},{name:"Quảng Nam",shortCode:"27"},{name:"Quảng Ngãi",shortCode:"29"},{name:"Quảng Ninh",shortCode:"13"},{name:"Quảng Trị",shortCode:"25"},{name:"Sóc Trăng",shortCode:"52"},{name:"Sơn La",shortCode:"05"},{name:"Tây Ninh",shortCode:"37"},{name:"Thái Bình",shortCode:"20"},{name:"Thái Nguyên",shortCode:"69"},{name:"Thanh Hóa",shortCode:"21"},{name:"Thừa Thiên–Huế",shortCode:"26"},{name:"Tiền Giang",shortCode:"46"},{name:"Trà Vinh",shortCode:"51"},{name:"Tuyên Quang",shortCode:"07"},{name:"Vĩnh Long",shortCode:"49"},{name:"Vĩnh Phúc",shortCode:"70"},{name:"Yên Bái",shortCode:"06"},{name:"Cần Thơ",shortCode:"CT"},{name:"Đà Nẵng",shortCode:"DN"},{name:"Hà Nội",shortCode:"HN"},{name:"Hải Phòng",shortCode:"HP"},{name:"Hồ Chí Minh (Sài Gòn)",shortCode:"SG"}]},{countryName:"Virgin Islands, British",countryShortCode:"VG",regions:[{name:"Anegada",shortCode:"ANG"},{name:"Jost Van Dyke",shortCode:"JVD"},{name:"Tortola",shortCode:"TTA"},{name:"Virgin Gorda",shortCode:"VGD"}]},{countryName:"Virgin Islands, U.S.",countryShortCode:"VI",regions:[{name:"St. Thomas",shortCode:"STH"},{name:"St. John",shortCode:"SJO"},{name:"St. Croix",shortCode:"SCR"}]}],e.exports._addressPlaceholder={ARG:"Eg: Av. del Libertador 1473, Buenos Aires",BOL:"Eg: Av Arce, 2556, La Paz",BRA:"Ex: Av Paulista, 1578, São Paulo",CAN:"Eg: 450 Wilbrod St, Ottawa",CHL:"Eg: Los Militares, 6191, Santiago",COL:"Eg: Calle 93 # 14-20, Bogotá",ECU:"Eg: Av Rio Amazonas, N 37-61, Quito",ESP:"Eg: Calle Fernando el Santo, 6, Madrid",GTM:"Eg: 6A Calle 6, Guatemala",MEX:"Eg: Calle de Tacuba 8, Ciudad de México",PER:"Eg: Av. José Pardo, 850, Miraflores, Lima",PRT:"Eg: Av. da França 20, Porto",PRY:"Eg: Avenida Eusebio Ayala, 100, Assunção",UNI:"Eg: 225 East 41st Street, New York",URY:"Eg: Bulevar Artigas, 1394, Montevidéu",USA:"Eg: 225 East 41st Street, New York",VEN:"Eg: Avenida Mohedano, Caracas",ROU:"Eg: Bulevardul Ion Mihalache, București 011192, Romania",BGR:"Eg: улица Елин Пелин 13, София",DEU:"Eg: Rheinalleee 95, Düsseldorf",FRA:"Eg: 7 Rue Hautefeuille, Paris",GBR:"Eg: 29 High Street Poole BH15 1AB",ITA:"Eg: Corso Vittorio Emanuele 69, Milano",NLD:"Eg: Surinamestraat 27, Amsterdam",POL:"Eg: Ulica Twarda 3, Szczecin",ZAF:"Eg: 234 Brickfield Rd, Salt River, Cape Town, 7501, South Africa",PAN:"Eg: C. Enrique Linares 4502",RUS:"Eg: Arbat St, 3 Moscow, Russia"}},117:(e,o,a)=>{const{_locale:t}=a(146),{_countries:n,_countriesrules:r,_cities:s,_addressPlaceholder:d}=a(540),{getShipStateValue:i}=a(255);window.callbackMap=()=>{window.vtexjs.checkout.getOrderForm((e=>{window.vcustom&&window.vcustom.checkout&&window.vcustom.customAddressFormInit&&window.vcustom.checkout.customAddressFormInit(e)}))},e.exports=class{constructor({active:e=!1}={}){this.BodyFormClasses=["v-custom-addressForm-on","v-custom-googleForm-on"],this.active=e,this.googleMapsApiKey=window.vtex.googleMapsApiKey,this.orderForm="",this.classOn="v-custom-fnsCustomAddressForm",this.deliveryCountries="",this.mainCountry="",this.lang="",this.isPickupPoint=!1,this.locale="",this.address={country:"",postalCode:"",city:"",state:"",street:"",complement:"",addressQuery:"",addressId:"",geoCoordinates:[]},this.validate=!0,this.gPlacesAutocomplete="",this.firstAttempt=!1}loadScript(){$("body").append(`` + ) + } + + messageTrigger(_message) { + const message = { + content: { + title: '', + detail: _message, + }, + type: 'warning', + } + + $(window).trigger('addMessage', message) + } + + updateAddress( + country = '', + postalCode = '', + city = '', + state = '', + street = '', + number = null, + complement = '', + addressQuery = '', + addressId = '', + geoCoordinates = '' + ) { + this.address = { + country, + postalCode, + addressId, + city, + state, + geoCoordinates, + street, + number, + complement, + addressQuery, + } + + if (country === '') { + this.setForm('') + } + } + + setForm( + country = '', + street = '', + formattedStreet = '', + number = '', + postalCode = '', + city = '', + state = '', + complement = '', + neighborhood = '', + geoCoordinates = '' + ) { + const _this = this + + $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').val( + 'number' in _this.addressrules && + _this.addressrules.number && + _this.addressrules.number.required + ? street + : formattedStreet || street + ) + + $('.vcustom--vtex-omnishipping-1-x-address #ship-complement').val( + complement + ) + $('.vcustom--vtex-omnishipping-1-x-address #ship-number').val(number) + $('.vcustom--vtex-omnishipping-1-x-address #ship-city').val(city) + $('.vcustom--vtex-omnishipping-1-x-address #ship-postalCode').val( + postalCode + ) + $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').attr( + 'data-street', + 'number' in _this.addressrules && + _this.addressrules.number && + _this.addressrules.number.required + ? street + : formattedStreet || street + ) + $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').attr( + 'data-number', + 'number' in _this.addressrules && + _this.addressrules.number && + _this.addressrules.number.required + ? number + : null + ) + $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').attr( + 'data-neighborhood', + neighborhood + ) + $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').attr( + 'data-geocoordinates', + geoCoordinates + ) + + $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-country').attr( + 'data-country', + country + ) + + $('.vcustom--vtex-omnishipping-1-x-address #ship-state').val( + getShipStateValue(state) || '' + ) + } + + updateGoogleForm(countryCode = 'usa') { + const _this = this + const labels = [ + { + default: 'Street address', + prop: 'address1Placeholder', + element: $('label#address1-label'), + }, + { default: 'Number', prop: 'number', element: $('label#number-label') }, + { + default: 'Complements', + prop: 'address2Placeholder', + element: $('label#address2-label'), + }, + { default: 'City', prop: 'city', element: $('label#city-label') }, + { default: 'State', prop: 'state', element: $('label#state-label') }, + { + default: 'Country', + prop: 'country', + element: $('label#country-label'), + }, + { + default: 'Postal Code', + prop: 'postalCode', + element: $('label#postalCode-label'), + }, + ] + + _this._locale = _locale[countryCode.toUpperCase()] || _locale.USA + + for (let i = 0; i < labels.length; i++) { + const label = labels[i] + + label.element.text(_this._locale[label.prop] || label.default) + } + + $('input#v-custom-ship-street').attr( + 'placeholder', + _addressPlaceholder[countryCode.toUpperCase()] + ? _addressPlaceholder[countryCode.toUpperCase()] + : '' + ) + this.gPlacesAutocomplete.setComponentRestrictions({ + country: [countryCode], + }) + } + + returnAddressFRules(components, attrs) { + if (!attrs) return '' + const { valueIn = 'short_name', types } = attrs + + for (let i = 0; i < types.length; i++) { + const ruleComponent = types[i] + + if ( + components.find(component => + component.types.some(v => v === ruleComponent) + ) + ) { + return components.find(component => + component.types.some(v => v === ruleComponent) + )[valueIn] + } + } + + return '' + } + + googleForm() { + const _this = this + const input = document.getElementById('v-custom-ship-street') + const geocodeClient = new window.google.maps.Geocoder() + + _this.gPlacesAutocomplete = new window.google.maps.places.Autocomplete( + input + ) + + _this.gPlacesAutocomplete.addListener('place_changed', function () { + const place = _this.gPlacesAutocomplete.getPlace() + + geocodeClient.geocode({ address: place.formatted_address }) + + if (~window.location.host.indexOf('myvtex')) { + console.log(place) + } + + const [, country] = _countries.find( + c => + c[0] === + place.address_components.filter( + item => item.types[0] === 'country' + )[0].short_name + ) + + const street = place.address_components.find( + item => item.types[0] === 'route' + ) + ? place.address_components.find(item => item.types[0] === 'route') + .long_name + : place.vicinity + + let state = _this.returnAddressFRules( + place.address_components, + _this.addressrules.state + ) + + const neighborhood = _this.addressrules.neighborhood + ? _this.returnAddressFRules( + place.address_components, + _this.addressrules.neighborhood + ) + : '' + + if ( + 'number' in _this.addressrules && + _this.addressrules.number && + _this.addressrules.number.required + ) { + $('.vcustom--vtex-omnishipping-1-x-address #ship-number').val( + _this.returnAddressFRules(place.address_components, { + types: ['street_number'], + }) + ) + } + + const number = + 'number' in _this.addressrules && + _this.addressrules.number && + _this.addressrules.number.required + ? $('.vcustom--vtex-omnishipping-1-x-address #ship-number').val() + : _this.returnAddressFRules(place.address_components, { + types: ['street_number'], + }) + + const complement = _this.addressrules.complement + ? _this.returnAddressFRules(place.address_components, { + types: ['subpremise'], + }) + : $('.vcustom--vtex-omnishipping-1-x-address #ship-complement').val() + + const geoCoordinates = [ + place.geometry.location.lng(), + place.geometry.location.lat(), + ] + + const formattedAddress = $('
    ') + + formattedAddress.html(place.adr_address) + let formattedStreet = $('.street-address', formattedAddress).text() + + let city = + _this.returnAddressFRules( + place.address_components, + _this.addressrules.city + ) || $('.locality', formattedAddress).text() + + let postalCode = _this.addressrules.postalCode + ? _this.returnAddressFRules(place.address_components, { + types: ['postal_code'], + }) + : '00000' + + // temporaly workaround for ARG + + if (country === 'ARG') { + formattedStreet = street + postalCode = postalCode.replace(/\D/gi, '') + if (state === 'Provincia de Buenos Aires') state = 'Buenos Aires' + if (state.toUpperCase() === 'CABA') { + state = 'Ciudad Autónoma de Buenos Aires' + city = 'Ciudad Autónoma de Buenos Aires' + } + } + + _this.setForm( + country, + street, + formattedStreet, + number, + postalCode, + city, + state, + complement, + neighborhood, + geoCoordinates + ) + _this.validateAllFields() + _this.updateAddress( + country, + postalCode, + city, + state, + street, + number, + complement, + place.formatted_address, + _this.address.addressId, + geoCoordinates + ) + }) + + $('body').on('keyup', '#v-custom-ship-street', function () { + $(this).attr('autocomplete', 'none') + $(this).attr('data-number', '') + $(this).attr('data-street', $(this).context.value) + }) + + $('body').on('focus', '#v-custom-ship-street', function () { + $(this).attr('autocomplete', 'none') + }) + } + + triggerAddressValidation() { + window.store.dispatch({ + type: 'DISABLE_CALCULATE_BUTTON', + isCalculateBttnEnabled: false, + }) + } + + receiverNameF() { + const _this = this + + if ( + _this.orderForm.clientProfileData && + _this.orderForm.clientProfileData.firstName && + _this.orderForm.clientProfileData.lastName && + !~window.vtexjs.checkout.orderForm.clientProfileData.firstName.indexOf( + '*' + ) + ) { + return `${_this.orderForm.clientProfileData.firstName} ${ + _this.orderForm.clientProfileData.lastName + ? _this.orderForm.clientProfileData.lastName + : '' + }` + } + + return '' + } + + geti18n() { + const _this = this + + const { locale } = _this.orderForm.clientPreferencesData + const _lang = window.vtex.i18n[locale] + + const lang = _lang || window.vtex.i18n[locale.split(`-`)[0]] + + if (!lang) window.vtex.i18n.en + + return lang + } + + sendAddress( + _country, + _street, + _number, + _state, + _postalCode, + _city, + _complement, + _addressQuery, + _addressId, + _neighborhood, + geoCoordinates + ) { + const _this = this + + if (~geoCoordinates.indexOf(',')) { + const [lat, lng] = geoCoordinates.split(',') + + geoCoordinates = [parseFloat(lat), parseFloat(lng)] + + // temporaly workaround for ARG_country === 'MLT' + if (_country === 'ARG' && _city.toUpperCase() === 'CABA') { + _city = 'Ciudad Autónoma de Buenos Aires' + } + // end temporaly workaround for ARG + + // temporaly workaround for MLT + if (_country === 'MLT') { + _state = null + _postalCode = null + } + // end temporaly workaround for MLT + + // temporaly workaround for USA and CAN + if ( + _country === 'USA' || + _country === 'ITA' || + _country === 'CAN' + ) { + _number = null + } + // end temporaly workaround for USA + + // if (!_this.addressrules.state) { + // _state = '' + // } + } else { + geoCoordinates = [] + } + + $('body').addClass('js-v-custom-is-loading') + + const shippingInfo = { + selectedAddresses: [ + { + addressType: 'residential', + receiverName: _this.receiverNameF(), + isDisposable: false, + postalCode: _postalCode, + city: _city, + state: _state, + country: _country, + street: _street, + number: _number || '', + neighborhood: _neighborhood, + complement: _complement, + reference: null, + geoCoordinates: geoCoordinates || [], + addressQuery: _addressQuery, + }, + ], + clearAddressIfPostalCodeNotFound: false, + } + + window.vtexjs.checkout + .sendAttachment('shippingData', {}) + .done(function () { + $(window).trigger('VCUSTOM__ADDRESSFORM__CLEARED') + + $('button.vtex-front-messages-close-all.close').trigger('click') + $('.vtex-omnishipping-1-x-warning').hide() + $('.alert-noStreet').hide() + $( + '.shp-alert.vtex-omnishipping-1-x-alert.shp-alert-shipping-unavailable.vtex-omnishipping-1-x-alertPickup, .button-unavailable-delivery-pickup-wrapper' + ).hide() + _this.firstAttempt = true + + window.vtexjs.checkout + .sendAttachment('shippingData', shippingInfo) + .done(function (orderForm) { + if ( + orderForm.error || + !orderForm.shippingData.address || + orderForm.items.filter( + item => item.availability == 'cannotBeDelivered' + ).length == orderForm.items.length + ) { + // eslint-disable-next-line no-alert + $( + '.vtex-omnishipping-1-x-warning, .step.shipping-data .box-step' + ).show() + $('body') + .addClass(_this.BodyFormClasses.join(' ')) + .removeClass( + 'js-v-custom-is-loading js-v-custom-is-loadAddress' + ) + if (orderForm.error && orderForm.error.message) + // eslint-disable-next-line no-alert + alert( + `Something went wrong: ${ + orderForm.error ? orderForm.error.message : 'null address' + }` + ) + + if ( + orderForm.items.filter( + item => item.availability == 'cannotBeDelivered' + ).length == orderForm.items.length + ) { + _this.messageTrigger( + _this.geti18n().cart.unavailableForDelivery + ) + } + } else { + _this.updateAddress( + _country, + _postalCode, + _city, + _state, + _street, + _number, + _complement, + '', + _addressQuery || '', + _addressId || '', + geoCoordinates || [] + ) + $('body') + .removeClass(_this.BodyFormClasses.join(' ')) + .removeClass('js-v-custom-is-loading') + _this.orderForm = orderForm + _this.triggerAddressValidation() + $(window).trigger('VCUSTOM__ADDRESSFORM__UPDATED') + } + }) + .fail(function (error) { + _this.orderForm = window.vtexjs.checkout.orderForm + $('body').removeClass( + 'js-v-custom-is-loading js-v-custom-is-loadAddress' + ) + console.error( + `Something went wrong: Custom Address Form (sendAddress) --> ${error}` + ) + }) + }) + .fail(function (error) { + _this.orderForm = window.vtexjs.checkout.orderForm + $('body').removeClass( + 'js-v-custom-is-loading js-v-custom-is-loadAddress' + ) + console.error( + `Something went wrong: Custom Address Form (sendAddress) --> ${error}` + ) + }) + } + + getRegions(country) { + const countryRegions = _cities.find( + city => city.countryShortCode === country + ) + + return countryRegions.regions.map(i => { + return `` + }) + } + + getCountries() { + const _this = this + + /* eslint eqeqeq: 0 */ + if ( + _this.deliveryCountries == ['BRA'] || + _this.deliveryCountries == 'BRA' + ) { + _this.deliveryCountries = + window.vtexjs.checkout.orderForm.shippingData.logisticsInfo[0].shipsTo + } + + return _this.deliveryCountries.map(countryCode => { + const _i18n = window.vtex.i18n[_this.lang] + ? window.vtex.i18n[_this.lang] + : window.vtex.i18n[window.vtex.i18n.locale] + + let ret = '' + + if (_i18n.countries[countryCode]) { + ret = `` + } + + return ret + }) + } + + updateFormFieldByCountry(addressrules) { + const number = $('.vcustom--vtex-omnishipping-1-x-address p.ship-number') + const state = $('.vcustom--vtex-omnishipping-1-x-address p.ship-state') + + if ( + 'number' in addressrules && + addressrules.number && + addressrules.number.required + ) { + number.show() + number.find('input').attr('required', 'required') + } else { + number.hide() + number.find('input').removeAttr('required') + } + + if (addressrules.state) { + state.show() + state.find('select').attr('required', 'required') + } else { + state.hide() + state.find('select').removeAttr('required') + } + } + + form(orderForm) { + const _this = this + + const { shippingData } = orderForm + + const country = _countries.find(c => c[1] === _this.mainCountry) + + const { isPickupPoint } = this + + const form = ` +
    +
    +
    +

    ${ + _this.locale.requiredField + ? _this.locale.requiredField + : 'This field is required.' + }

    +
    +

    ${ + _this.locale ? _this.locale.requiredField : 'This field is required.' + }

    +

    +
    +
    +

    +

    ${ + _this.locale.requiredField + ? _this.locale.requiredField + : 'This field is required.' + }

    +

    + + ${ + _this.locale.requiredField + ? _this.locale.requiredField + : 'This field is required.' + } +

    +

    ${ + _this.locale.requiredField + ? _this.locale.requiredField + : 'This field is required.' + }

    +
    +

    +
    +
    +
    + ` + + if (shippingData.address && !isPickupPoint) { + $('.vcustom--vtex-omnishipping-1-x-address #ship-state').val( + getShipStateValue(shippingData.address.state) + ) + } + + if ( + $('.vcustom--vtex-omnishipping-1-x-address.step').length == 0 && + shippingData.logisticsInfo[0].selectedDeliveryChannel !== + 'pickup-in-point' && + window.location.href.indexOf('shipping') !== -1 + ) { + $('.orderform-template-holder #shipping-data').append(form) + } + + if ( + $('#shipping-option-pickup-in-point').hasClass( + 'vtex-omnishipping-1-x-deliveryOptionActive' + ) + ) { + $('body').removeClass('v-custom-addressForm-on') + } + + this.googleForm() + this.updateGoogleForm(country[1].toLowerCase()) + + // sort countries + const sel = $('.vcustom--vtex-omnishipping-1-x-address #ship-country') + const selected = sel.val() // cache selected value, before reordering + const optsList = sel.find('option') + + optsList.sort(function (a, b) { + return $(a).text() > $(b).text() ? 1 : -1 + }) + sel.html('').append(optsList) + sel.val(selected) // set cached selected value + + shippingData.address && shippingData.address.addressType === 'search' + ? (this.isPickupPoint = true) + : (this.isPickupPoint = false) + } + + validateAllFields() { + const _this = this + + _this.validate = true + $( + '.vcustom--vtex-omnishipping-1-x-address input:required, .vcustom--vtex-omnishipping-1-x-address select:required' + ).each(function () { + if (this.value === '') { + $(this).addClass('error') + _this.validate = false + } else { + $(this).removeClass('error') + } + }) + } + + scrollToAddress() { + const doc = document.documentElement + const scrollTop = + (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0) + + const posSPtop = $('#shipping-data').offset().top + + if (scrollTop > posSPtop) window.scrollTo(0, posSPtop) + } + + submitAddressForm() { + const _this = this + + _this.validateAllFields() + + if (!_this.validate) return + + const _st = $( + '.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street' + ) + + const country = $( + '.vcustom--vtex-omnishipping-1-x-address #ship-country' + ).val() + + const street = _st.attr('data-street') || '' + const number = $( + '.vcustom--vtex-omnishipping-1-x-address #ship-number' + ).val() + ? $('.vcustom--vtex-omnishipping-1-x-address #ship-number').val() + : _st.attr('data-number') || '' + + const geoCoordinates = _st.attr('data-geocoordinates') || [] + const neighborhood = _st.attr('data-neighborhood') || null + const complement = $( + '.vcustom--vtex-omnishipping-1-x-address #ship-complement' + ).val() + + const city = $('.vcustom--vtex-omnishipping-1-x-address #ship-city').val() + const [stateShortCode, stateName] = $( + '.vcustom--vtex-omnishipping-1-x-address #ship-state' + ) + .val() + .split(',') + + const state = stateShortCode || stateName + + const postalCode = $( + '.vcustom--vtex-omnishipping-1-x-address #ship-postalCode' + ).val() + + _this.sendAddress( + country, + street, + number, + state, + postalCode, + city, + complement, + _this.address.addressQuery, + _this.address.addressId, + neighborhood, + geoCoordinates + ) + } + + updateFormByCountry(countryCode) { + if (~window.location.host.indexOf('myvtex')) { + console.log('countryCode:', countryCode) + } + + const _this = this + const country = _countries.find(c => c[1] === countryCode) + const state = _this.address.state || null + + _this.getCountryRule(country[1]).then(rules => { + _this.addressrules = rules + _this.updateFormFieldByCountry(_this.addressrules) + $("select[name='v-custom-state']").html( + `${_this.getRegions(country[0]).join('')}` + ) + if (state && getShipStateValue(state)) { + $('.vcustom--vtex-omnishipping-1-x-address #ship-state').val( + getShipStateValue(state) + ) + } + + _this.updateGoogleForm(countryCode.toLowerCase()) + }) + } + + bind() { + const _this = this + + $('body').on( + 'click', + '.step.shipping-data .vtex-omnishipping-1-x-buttonEditAddress, .step.shipping-data .vtex-omnishipping-1-x-linkEdit', + function () { + if ( + !$('#shipping-option-pickup-in-point').hasClass( + 'vtex-omnishipping-1-x-deliveryOptionActive' + ) + ) { + const indexAddress = $( + '.vtex-omnishipping-1-x-addressItemOption.vtex-omnishipping-1-x-active' + ).index() + + let addressClicked = _this.orderForm.shippingData.availableAddresses.find( + address => { + return ( + address.addressId == + _this.orderForm.shippingData.address.addressId + ) + } + ) + + if (!addressClicked) { + if (indexAddress < 0) { + addressClicked = addressClicked.selectedAddresses[0] + } else { + addressClicked = addressClicked.availableAddresses[indexAddress] + } + } + + if ( + addressClicked && + addressClicked.city && + addressClicked.city.indexOf('*') < 0 + ) { + try { + $('body').addClass(_this.BodyFormClasses.join(' ')) + if ( + addressClicked.isDisposable || + ~window.location.origin.indexOf('myvtex') + ) { + setTimeout(() => { + let countryClicked = _this.deliveryCountries.filter( + country => country == addressClicked.country + ) + + countryClicked = countryClicked.length + ? countryClicked[0] + : _this.deliveryCountries[0] + + addressClicked.street = addressClicked.street || '' + _this.updateAddress( + countryClicked, + addressClicked.postalCode, + addressClicked.city, + addressClicked.state, + addressClicked.number, + addressClicked.street, + addressClicked.complement, + '', + addressClicked.addressId, + addressClicked.geoCoordinates + ) + + $( + '.vcustom--vtex-omnishipping-1-x-address #ship-country' + ).val(countryClicked) + _this.updateFormByCountry(countryClicked) + _this.setForm( + countryClicked, + addressClicked.street, + addressClicked.addressQuery, + addressClicked.number, + addressClicked.postalCode, + addressClicked.city, + addressClicked.state, + addressClicked.complement, + addressClicked.neighborhood, + addressClicked.geoCoordinates + ) + + _this.triggerAddressValidation() + }, 100) + } + } catch (e) { + $('body').removeClass(_this.BodyFormClasses.join(' ')) + } + } else { + $('body').removeClass(_this.BodyFormClasses.join(' ')) + } + } + } + ) + + $('body').on( + 'click', + '.vtex-omnishipping-1-x-buttonCreateAddress, .vtex-omnishipping-1-x-disclaimer a#remove-unavailable-items', + function () { + if ( + !$('#shipping-option-pickup-in-point').hasClass( + 'vtex-omnishipping-1-x-deliveryOptionActive' + ) + ) { + $('body').addClass(_this.BodyFormClasses.join(' ')) + _this.address.addressId = '' + _this.updateAddress('') + } + } + ) + + $('body').on('click', '#shipping-option-pickup-in-point', function () { + $('body').removeClass(_this.BodyFormClasses.join(' ')) + }) + + $('body').on( + 'click', + '.vtex-omnishipping-1-x-backToAddressList', + function () { + $('body').removeClass(_this.BodyFormClasses.join(' ')) + _this.address.addressId = '' + } + ) + + $('body').on( + 'click', + '.vtex-omnishipping-1-x-addressItemOption', + function () { + _this.address.addressId = _this.orderForm.shippingData + .availableAddresses[$(this).index()] + ? _this.orderForm.shippingData.availableAddresses[$(this).index()] + .addressId + : '' + } + ) + + $('body').on('change', "select[name='v-custom-country']", function (e) { + e.stopImmediatePropagation() + try { + _this.updateFormByCountry(this.value) + _this.updateAddress('') + } catch (err) { + console.error(`updateFormByCountry ${this.value} error:`, err) + } + }) + + $('body').on('click', '#btn-go-to-shippping-method', function (e) { + e.preventDefault() + e.stopImmediatePropagation() + _this.submitAddressForm() + _this.scrollToAddress() + }) + + $('body').on( + 'keyup', + '.vcustom--vtex-omnishipping-1-x-address input', + function () { + if (this.value !== '') { + $(this).removeClass('error') + } + } + ) + } + + checkFirstLogin(orderForm) { + const _this = this + + if (orderForm && orderForm.shippingData) { + if ( + (orderForm.shippingData.address === null || + orderForm.shippingData.address.addressType === 'search') && + !_this.firstAttempt && + $('.vtex-omnishipping-1-x-deliveryOptionActive').attr('id') === + 'shipping-option-delivery' + ) { + $('body').addClass(_this.BodyFormClasses[0]) + } + } + } + + getCountryRule(country) { + const _this = this + + return fetch(`/rules/${country}`) + .then(res => res.json()) + .then(jsonRes => { + const { data: rules, success } = jsonRes + + if(country=="MLT") { + return _countriesrules.MLT + } + + return success ? rules.geolocation : _this.getCountryRule('default') + }) + .catch(error => { + throw new Error(error) + }) + } + + loadingAddress() { + $(window).on('VCUSTOM__ADDRESSFORM__CLEARED', function () { + console.log('VCUSTOM__ADDRESSFORM__CLEARED') + $('body').addClass('js-v-custom-is-loadAddress') + }) + + $(window).on('VCUSTOM__ADDRESSFORM__UPDATED', function () { + console.log('VCUSTOM__ADDRESSFORM__UPDATED') + $('body').removeClass('js-v-custom-is-loadAddress') + }) + } + + events() { + const _this = this + + _this.loadingAddress() + $(window).on('orderFormUpdated.vtex', function (evt, orderForm) { + _this.orderForm = orderForm + _this.checkFirstLogin(orderForm) + }) + } + + init(orderForm) { + const _this = this + + try { + if (!window.google) _this.loadScript() + } catch (e) { + console.warn( + `Error in customFormInit while loading "loadScript" function` + ) + } + + if ( + orderForm && + window.google && + $('.vcustom--vtex-omnishipping-1-x-address').length < 1 && + orderForm.items.length + ) { + + const lastCountry = _this.orderForm.shippingData?.address?.country || _this.orderForm.storePreferencesData.countryCode + + $('body').addClass(`${this.classOn}`) + _this.orderForm = orderForm + _this + .getCountryRule(lastCountry) + .then(rules => { + _this.addressrules = rules + _this.bind() + _this.deliveryCountries = window.checkout.deliveryCountries() + _this.mainCountry = window.checkout.countryCode() + _this.lang = _this.orderForm.clientPreferencesData.locale + + _this.locale = + _locale[_this.orderForm.storePreferencesData.countryCode] || + _locale.GBR + + if (_this.lang === 'es-AR') _this.lang = 'es' + + if (_this.orderForm && _this.orderForm.shippingData) { + const shippingData = _this.orderForm.shippingData.address + + if (shippingData) { + _this.updateAddress( + shippingData.country, + shippingData.postalCode, + shippingData.city, + shippingData.state, + shippingData.street, + shippingData.number, + shippingData.complement, + '', + shippingData.addressId, + shippingData.geoCoordinates + ) + } else { + _this.updateAddress('') + } + } + + _this.form(orderForm) + }) + } + } +} + +module.exports = fnsCustomAddressForm diff --git a/checkout-ui-settings/checkout-ui-custom/src/_js/_debug.js b/checkout-ui-settings/checkout-ui-custom/src/_js/_debug.js new file mode 100644 index 00000000..d4479edd --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_js/_debug.js @@ -0,0 +1,33 @@ +/* eslint-disable no-console */ +class debug { + constructor({ + logo = '', + } = {}) { + this.classOn = 'debug-on' + + this.logo = logo + this.headerHTML = `
    ` + this.footerHTML = `
    ` + } + + headernFooter() { + $('body').prepend(this.headerHTML) + $('body').append(this.footerHTML) + } + + start() { + $('body').addClass(this.classOn) + this.headernFooter() + console.log( + "%c >>>>> YOU ARE CURRENTLY DEBUGING THE HEADER, IT'S A BETA! ISSUES CAN HAPPEN... Use `vcustom.debug.stop()` to stop! ", + 'background: #111; color: #bada55' + ) + } + + stop() { + $('body').removeClass(this.classOn) + $('.debug-elem').remove() + } +} + +module.exports = debug diff --git a/checkout-ui-settings/checkout-ui-custom/src/_js/_locale-infos.js b/checkout-ui-settings/checkout-ui-custom/src/_js/_locale-infos.js new file mode 100644 index 00000000..e1a394e9 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_js/_locale-infos.js @@ -0,0 +1,691 @@ +module.exports._locale = { + BRA: { + couponInactive: 'Nenhum desconto aplicado. Confira as regras.', + editLabel: 'Editar', + deliveryDateText: 'Entrega até', + PickupDateText: 'Pronto até', + eachLabel: 'cada', + tomorrowLabel: 'Amanhã', + cartSubmitButton: 'Continuar pagamento', + checkoutStepsLabelCart: 'Carrinho', + checkoutStepsLabelIdentification: 'Identificação', + checkoutStepsLabelShipping: 'Entrega', + checkoutStepsLabelPayment: 'Pagamento', + checkoutStepsLabelConfirmation: 'Confirmação', + city: 'Cidade', + state: 'Estado', + number: 'Número', + postalCode: 'Código postal', + address1Placeholder: 'Endereço', + address2Placeholder: 'Complemento', + requiredField: 'Este campo é obrigatório.', + locale: 'pt-BR', + }, + CAN: { + couponInactive: 'No discounts available. Check the conditions.', + editLabel: 'Edit', + paypalImg: '', + paypalPhone: '1 (888) 221-1161', + cartSubmitButton: 'Proceed to Payment', + deliveryDateText: 'Arrives by', + PickupDateText: 'Ready by', + eachLabel: 'each', + tomorrowLabel: 'Tomorrow', + cartNoteLabel: 'Gift Message or Comments', + identifiedUserMessage: `Thanks for coming back!\nTo expedite your transaction, we have securely populated your information for you.`, + address1Placeholder: 'Street address', + address2Placeholder: 'Apartment, suite, building, floor, etc (optional)', + checkoutStepsLabelCart: 'Cart', + checkoutStepsLabelIdentification: 'Identification', + checkoutStepsLabelShipping: 'Shipping', + checkoutStepsLabelPayment: 'Payment', + checkoutStepsLabelConfirmation: 'Confirmation', + googleAddressLabel: 'Street Address', + requiredField: 'This field is required.', + city: 'City', + state: 'State', + locale: 'en-CA', + }, + USA: { + country: 'Country', + postalCode: 'Postal Code', + couponInactive: 'No discounts available. Check the conditions.', + editLabel: 'Edit', + paypalImg: '', + paypalPhone: '1 (888) 221-1161', + cartSubmitButton: 'Proceed to Payment', + deliveryDateText: 'Arrives by', + PickupDateText: 'Ready by', + eachLabel: 'each', + tomorrowLabel: 'Tomorrow', + cartNoteLabel: 'Gift Message or Comments', + identifiedUserMessage: `Thanks for coming back!\nTo expedite your transaction, we have securely populated your information for you.`, + address1Placeholder: 'Street address or P.O. Box', + address2Placeholder: 'Apartment, suite, building, floor, etc (optional)', + checkoutStepsLabelCart: 'Cart', + checkoutStepsLabelIdentification: 'Identification', + checkoutStepsLabelShipping: 'Shipping', + checkoutStepsLabelPayment: 'Payment', + checkoutStepsLabelConfirmation: 'Confirmation', + googleAddressLabel: 'Street Address', + requiredField: 'This field is required.', + city: 'City', + state: 'State', + locale: 'en-US', + noStreetAddress: + 'Your shipping information is missing a required field, please include a street or P.O. Box', + }, + GBR: { + couponInactive: 'No discounts available. Check the conditions.', + editLabel: 'Edit', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Proceed to Payment', + deliveryDateText: 'Arrives by', + PickupDateText: 'Ready by', + eachLabel: 'each', + tomorrowLabel: 'Tomorrow', + cartNoteLabel: 'Gift Message or Comments', + identifiedUserMessage: `Thanks for coming back!\nTo expedite your transaction, we have securely populated your information for you.`, + address1Placeholder: 'Street address', + address2Placeholder: 'Apartment, suite, building, floor, etc (optional)', + checkoutStepsLabelCart: 'Cart', + checkoutStepsLabelIdentification: 'Identification', + checkoutStepsLabelShipping: 'Shipping', + checkoutStepsLabelPayment: 'Payment', + checkoutStepsLabelConfirmation: 'Confirmation', + requiredField: 'This field is required.', + city: 'Town', + state: 'County', + number: 'Number', + postalCode: 'Postal Code', + locale: 'en-GB', + }, + IRL: { + couponInactive: 'No discounts available. Check the conditions.', + editLabel: 'Edit', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Proceed to Payment', + deliveryDateText: 'Arrives by', + PickupDateText: 'Ready by', + eachLabel: 'each', + tomorrowLabel: 'Tomorrow', + cartNoteLabel: 'Gift Message or Comments', + identifiedUserMessage: `Thanks for coming back!\nTo expedite your transaction, we have securely populated your information for you.`, + address1Placeholder: 'Street address', + address2Placeholder: 'Apartment, suite, building, floor, etc (optional)', + checkoutStepsLabelCart: 'Cart', + checkoutStepsLabelIdentification: 'Identification', + checkoutStepsLabelShipping: 'Shipping', + checkoutStepsLabelPayment: 'Payment', + checkoutStepsLabelConfirmation: 'Confirmation', + requiredField: 'This field is required.', + city: 'Town', + state: 'County', + number: 'Number', + postalCode: 'Postal Code', + locale: 'en-IE', + }, + POR: { + couponInactive: 'Nenhum desconto aplicado. Confira as regras.', + editLabel: 'Editar', + paypalImg: '', + paypalPhone: '', + deliveryDateText: 'Entrega até', + PickupDateText: 'Pronto até', + eachLabel: 'cada', + tomorrowLabel: 'Amanhã', + checkoutStepsLabelCart: 'Carrinho', + checkoutStepsLabelIdentification: 'Identificação', + checkoutStepsLabelShipping: 'Entrega', + checkoutStepsLabelPayment: 'Pagamento', + checkoutStepsLabelConfirmation: 'Confirmação', + requiredField: 'Este campo é obrigatório', + locale: 'pt-BR', + }, + ESP: { + couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.', + editLabel: 'Editar', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Proceder al pago', + deliveryDateText: 'Llega por', + PickupDateText: 'Disponible', + eachLabel: 'cada', + tomorrowLabel: 'Mañana', + cartNoteLabel: 'Mensaje de regalo o comentarios', + address1Placeholder: 'Dirección', + address2Placeholder: 'Dirección Complementaria', + checkoutStepsLabelCart: 'Carrito', + checkoutStepsLabelIdentification: 'Identificación', + checkoutStepsLabelShipping: 'Entrega', + checkoutStepsLabelPayment: 'Pago', + checkoutStepsLabelConfirmation: 'Confirmación', + city: 'Ciudad', + postalCode: 'Código Postal', + goToShipping: 'Ir para la Entrega', + state: 'Provincia', + requiredField: 'Este campo es obligatorio.', + number: 'Número', + locale: 'es', + }, + ARG: { + couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.', + editLabel: 'Editar', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Proceder al pago', + deliveryDateText: 'Llega por', + PickupDateText: 'Disponible', + eachLabel: 'cada', + tomorrowLabel: 'Mañana', + cartNoteLabel: 'Mensaje de regalo o comentarios', + address1Placeholder: 'Dirección', + address2Placeholder: 'Dirección Complementaria', + checkoutStepsLabelCart: 'Carrito', + checkoutStepsLabelIdentification: 'Identificación', + checkoutStepsLabelShipping: 'Entrega', + checkoutStepsLabelPayment: 'Pago', + checkoutStepsLabelConfirmation: 'Confirmación', + requiredField: 'Este campo es obligatorio.', + city: 'Ciudad', + state: 'Província', + locale: 'ar', + }, + COL: { + couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.', + editLabel: 'Editar', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Proceder al pago', + deliveryDateText: 'Llega por', + PickupDateText: 'Disponible', + eachLabel: 'cada', + tomorrowLabel: 'Mañana', + cartNoteLabel: 'Mensaje de regalo o comentarios', + address1Placeholder: 'Dirección', + address2Placeholder: 'Dirección Complementaria', + checkoutStepsLabelCart: 'Carrito', + checkoutStepsLabelIdentification: 'Identificación', + checkoutStepsLabelShipping: 'Entrega', + checkoutStepsLabelPayment: 'Pago', + checkoutStepsLabelConfirmation: 'Confirmación', + requiredField: 'Este campo es obligatorio.', + locale: 'es-CO', + }, + PAN: { + couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.', + editLabel: 'Editar', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Proceder al pago', + deliveryDateText: 'Llega por', + PickupDateText: 'Disponible', + eachLabel: 'cada', + tomorrowLabel: 'Mañana', + cartNoteLabel: 'Mensaje de regalo o comentarios', + address1Placeholder: 'Dirección', + address2Placeholder: 'Dirección Complementaria', + checkoutStepsLabelCart: 'Carrito', + checkoutStepsLabelIdentification: 'Identificación', + checkoutStepsLabelShipping: 'Entrega', + checkoutStepsLabelPayment: 'Pago', + checkoutStepsLabelConfirmation: 'Confirmación', + requiredField: 'Este campo es obligatorio.', + city: 'Ciudad', + state: 'Estado', + locale: 'es-PA', + }, + MEX: { + couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.', + editLabel: 'Editar', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Proceder al pago', + deliveryDateText: 'Llega por', + PickupDateText: 'Disponible', + eachLabel: 'cada', + tomorrowLabel: 'Mañana', + cartNoteLabel: 'Mensaje de regalo o comentarios', + address1Placeholder: 'Dirección', + address2Placeholder: 'Dirección Complementaria', + checkoutStepsLabelCart: 'Carrito', + checkoutStepsLabelIdentification: 'Identificación', + checkoutStepsLabelShipping: 'Entrega', + checkoutStepsLabelPayment: 'Pago', + checkoutStepsLabelConfirmation: 'Confirmación', + requiredField: 'Este campo es obligatorio.', + locale: 'es-MX', + }, + ITA: { + couponInactive: 'Nessuno sconto disponibile. Controlla le condizioni.', + editLabel: 'Modifica', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Procedi al pagamento', + deliveryDateText: 'In consegna entro', + PickupDateText: 'Pronto entro', + eachLabel: 'ciascuno', + tomorrowLabel: 'Domani', + country: 'Paese', + cartNoteLabel: "Messaggio d'auguri o note", + address1Placeholder: 'Indirizzo', + address2Placeholder: 'Complementi', + checkoutStepsLabelCart: 'Carrello', + checkoutStepsLabelIdentification: 'Identificazione', + checkoutStepsLabelShipping: 'Spedizione', + checkoutStepsLabelPayment: 'Pagamento', + checkoutStepsLabelConfirmation: 'Conferma', + city: 'Città', + state: 'Provincia', + number: 'Numero', + postalCode: 'Codice Postale', + requiredField: 'Questo campo è obbligatorio.', + numberPlaceholder: ' ', + locale: 'it', + goToShipping: 'Vai alla spedizione', + }, + FRA: { + couponInactive: 'Aucune réduction disponible. Vérifiez les conditions.', + editLabel: 'Modifier', + paypalImg: '', + paypalPhone: '+33 0186995653', + cartSubmitButton: 'Procéder au paiement', + deliveryDateText: 'Arrive le', + PickupDateText: 'Prêt le', + eachLabel: 'chaque', + tomorrowLabel: 'Demain', + address1Placeholder: 'Adresse ou Boîte postale', + address2Placeholder: + 'Appartement, suite, bâtiment, étage, etc (facultatif)', + checkoutStepsLabelCart: 'Panier', + checkoutStepsLabelIdentification: 'Identification', + checkoutStepsLabelShipping: 'Expédition', + checkoutStepsLabelPayment: 'Paiement', + checkoutStepsLabelConfirmation: 'Confirmation', + requiredField: 'Ce champ est obligatoire.', + city: 'Ville', + state: 'État', + number: 'Numéro', + postalCode: 'Code Postal', + locale: 'fr', + }, + FIN: { + couponInactive: 'Alennuksia ei saatavilla. Tarkasta ehdot.', + editLabel: 'Muokkaa', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Jatka maksuun', + deliveryDateText: 'Saapumisarvio', + PickupDateText: 'Valmiusarvio', + eachLabel: 'kappale', + tomorrowLabel: 'Huomenna', + checkoutStepsLabelCart: 'Ostoskori', + checkoutStepsLabelIdentification: 'Tunniste', + checkoutStepsLabelShipping: 'Toimitus', + checkoutStepsLabelPayment: 'Maksu', + checkoutStepsLabelConfirmation: 'Vahvistus', + locale: 'fi', + }, + SWE: { + couponInactive: 'Inga rabatter tillgängliga, kontrollera villkoren.', + editLabel: 'Redigera', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Fortsätt till betalning', + deliveryDateText: 'Ankommer den', + PickupDateText: 'Redo den', + eachLabel: 'var', + tomorrowLabel: 'Imorgon', + checkoutStepsLabelCart: 'Kundvagn', + checkoutStepsLabelIdentification: 'Identifikation', + checkoutStepsLabelShipping: 'Leverans', + checkoutStepsLabelPayment: 'Betalning', + checkoutStepsLabelConfirmation: 'Bekräftelse', + locale: 'sv', + }, + AUT: { + couponInactive: 'Kein Rabatt verfügbar. Überprüfen Sie die Bedingungen.', + editLabel: 'Anpassen', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Weiter zur Zahlung', + deliveryDateText: 'Lieferung bis', + PickupDateText: 'Abholbereit bis', + eachLabel: 'jedes/jeder', + tomorrowLabel: 'Morgen', + address1Placeholder: 'Straße', + address2Placeholder: 'Straße (weiter)', + postalCode: 'Postleitzahl', + country: 'Land', + city: 'Stadt', + state: 'Bundesland', + number: 'Hausnummer', + checkoutStepsLabelCart: 'Warenkorb', + checkoutStepsLabelIdentification: 'Anmeldung', + checkoutStepsLabelShipping: 'Versand', + checkoutStepsLabelPayment: 'Zahlung', + checkoutStepsLabelConfirmation: 'Bestätigung', + googleAddressLabel: 'Adresse', + locale: 'de-DE', + cartNoteLabel: 'Bestellhinweis', + identifiedUserMessage: + 'Willkommen zurück!\nUm Ihren Einkauf zu vereinfachen haben wir Ihre sicher gespeicherten Informationen eingetragen.', + requiredField: 'Pflichftfeld.', + }, + DEU: { + couponInactive: 'Kein Rabatt verfügbar. Überprüfen Sie die Bedingungen.', + editLabel: 'Anpassen', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Weiter zur Zahlung', + deliveryDateText: 'Lieferung bis', + PickupDateText: 'Abholbereit bis', + eachLabel: 'jedes/jeder', + tomorrowLabel: 'Morgen', + address1Placeholder: 'Straße', + address2Placeholder: 'Straße (weiter)', + postalCode: 'Postleitzahl', + country: 'Land', + city: 'Stadt', + state: 'Bundesland', + number: 'Hausnummer', + checkoutStepsLabelCart: 'Warenkorb', + checkoutStepsLabelIdentification: 'Anmeldung', + checkoutStepsLabelShipping: 'Versand', + checkoutStepsLabelPayment: 'Zahlung', + checkoutStepsLabelConfirmation: 'Bestätigung', + googleAddressLabel: 'Adresse', + locale: 'de-DE', + cartNoteLabel: 'Bestellhinweis', + identifiedUserMessage: + 'Willkommen zurück!\nUm Ihren Einkauf zu vereinfachen haben wir Ihre sicher gespeicherten Informationen eingetragen.', + }, + ARA: { + couponInactive: 'لا توجد خصومات متاحة. تحقق من الشروط.', + editLabel: 'تعديل', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'انتقل إلى الدفع', + deliveryDateText: 'تصل قبل', + PickupDateText: 'جاهزة قبل', + eachLabel: 'كل', + tomorrowLabel: 'غدًا', + cartNoteLabel: 'رسالة هدية أو تعليقات', + identifiedUserMessage: `شكرًا على عودتك!\nTلتسريع معاملتك، قمنا بتعبئة معلوماتك بشكل آمن.`, + address1Placeholder: 'عنوان الشارع', + address2Placeholder: 'شقة، جناح، مبنى، طابق، إلخ (اختياري)', + checkoutStepsLabelCart: 'عربة التسوق', + checkoutStepsLabelIdentification: 'الهوية', + checkoutStepsLabelShipping: 'التسوق', + checkoutStepsLabelPayment: 'الدفع', + checkoutStepsLabelConfirmation: 'تأكيد', + requiredField: 'هذا الحقل مطلوب.', + locale: 'ar-TN', + }, + RUS: { + couponInactive: 'Скидки недоступны. Проверьте условия.', + editLabel: 'Редактировать', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Перейте к оплате', + deliveryDateText: 'Дата прибытия', + PickupDateText: 'Дата готовности', + eachLabel: 'каждый', + tomorrowLabel: 'Завтра', + cartNoteLabel: 'Сообщение о подарке или комментарии', + identifiedUserMessage: `Спасибо, что вернулись!\nДля ускорения вашей транзакции мы заполнили вашу информацию. Не волнуйтесь, ваши данные надёжно защищены.`, + address1Placeholder: 'Адрес проживания/улица или адрес почтового ящика', + address2Placeholder: 'Квартира, номер дома, этаж (дополнительно)', + checkoutStepsLabelCart: 'Корзина', + checkoutStepsLabelIdentification: 'Идентификация', + checkoutStepsLabelShipping: 'Доставка', + checkoutStepsLabelPayment: 'Оплата', + checkoutStepsLabelConfirmation: 'Подтверждение', + googleAddressLabel: 'Улица и номер дома', + requiredField: 'Это обязательное поле.', + city: 'Город', + state: 'Область', + locale: 'ru', + }, + POL: { + couponInactive: 'Brak dostępnych upustów. Sprawdź warunki.', + editLabel: 'Edytuj', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Przejdź do płatności', + deliveryDateText: 'Dotrze do', + PickupDateText: 'Gotowe do', + eachLabel: 'sztuka', + tomorrowLabel: 'Jutro', + cartNoteLabel: 'Wiadomość o podarunku lub komentarze', + identifiedUserMessage: + 'Dziękujemy, że do nas wróciłeś!\nAby usprawnić Twoją transakcję, w bezpieczny sposób wypełniliśmy za Ciebie Twoje dane.', + address1Placeholder: 'Adres domowy lub skrzynka pocztowa', + address2Placeholder: + 'Mieszkanie, apartament, budynek, piętro itd. (opcjonalnie)', + checkoutStepsLabelCart: 'Koszyk', + checkoutStepsLabelIdentification: 'Identyfikacja', + checkoutStepsLabelShipping: 'Wysyłka', + checkoutStepsLabelPayment: 'Płatność', + checkoutStepsLabelConfirmation: 'Potwierdzenie', + googleAddressLabel: 'Adres domowy', + requiredField: 'To pole jest wymagane.', + city: 'Miejscowość', + state: 'Stan (województwo)', + locale: 'pl', + }, + ZAF: { + couponInactive: 'No discounts available. Check the conditions.', + editLabel: 'Edit', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Proceed to Payment', + deliveryDateText: 'Arrives by', + PickupDateText: 'Ready by', + eachLabel: 'each', + tomorrowLabel: 'Tomorrow', + cartNoteLabel: 'Gift Message or Comments', + identifiedUserMessage: `Thanks for coming back!\nTo expedite your transaction, we have securely populated your information for you.`, + address1Placeholder: 'Street address or P.O. Box', + address2Placeholder: 'Apartment number, unit, floor, etc.', + checkoutStepsLabelCart: 'Cart', + checkoutStepsLabelIdentification: 'Identification', + checkoutStepsLabelShipping: 'Shipping', + checkoutStepsLabelPayment: 'Payment', + checkoutStepsLabelConfirmation: 'Confirmation', + googleAddressLabel: 'Street Address', + requiredField: 'This field is required.', + city: 'City', + state: 'State', + locale: 'en-ZA', + }, + GRC: { + couponInactive: 'Δεν υπάρχουν διαθέσιμες εκπτώσεις. Ελέγξτε τους όρους.', + editLabel: 'Επεξεργασία', + paypallmg: '', + paypalPhone: '', + cartSubmitButton: 'Μετάβαση στην Πληρωμή', + deliveryDateText: 'Άφιξη έως', + PickupDateText: 'Έτοιμο έως', + eachLabel: 'καθεμία', + tomorrowLabel: 'Αύριο', + cartNoteLabel: 'Μήνυμα δώρου ή Σχόλια', + identifiedUserMessage: + 'Ευχαριστούμε που επανήλθατε!\n Για να επισπεύσουμε τη συναλλαγή σας, έχουμε συμπληρώσει με ασφάλεια τις πληροφορίες για εσάς.', + address1Placeholder: 'Διεύθυνση οδού ή Ταχυδρομική Θυρίδα', + address2Placeholder: 'Διαμέρισμα, σουίτα, κτήριο, όροφος κλπ (προαιρετικό)', + checkoutStepsLabelCart: 'Καρότσι', + checkoutStepsLabelIdentification: 'Αναγνώριση', + checkoutStepsLabelShipping: 'Αποστολή', + checkoutStepsLabelPayment: 'Πληρωμή', + checkoutStepsLabelConfirmation: 'Επιβεβαίωση', + googleAddressLabel: 'Διεύθυνση οδού', + requiredField: 'Αυτό το πεδίο είναι υποχρεωτικό.', + city: 'Πόλη', + state: 'Χώρα', + locale: 'gr', + }, + CHE: { + couponInactive: 'Keine Rabatte verfügbar. Prüfen Sie die Bedingungen.', + editLabel: 'Bearbeiten', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Zur Zahlung übergehen', + deliveryDateText: 'Kommt an bis', + PickupDateText: 'Bereit bis', + eachLabel: 'jeder', + tomorrowLabel: 'Morgen', + cartNoteLabel: 'Geschenknachricht oder Kommentare', + identifiedUserMessage: + 'Danke, dass Sie zurückgekommen sind!\nUm Ihre Transaktion zu beschleunigen, haben wir Ihre Daten für Sie sicher ausgefüllt.', + address1Placeholder: 'Straße oder Anschrift Box', + address2Placeholder: + 'Wohnung, Appartement, Gebäude, Stockwerk, usw. (optional)', + checkoutStepsLabelCart: 'Warenkorb', + checkoutStepsLabelIdentification: 'Kennzeichnung', + checkoutStepsLabelShipping: 'Versand', + checkoutStepsLabelPayment: 'Zahlung', + checkoutStepsLabelConfirmation: 'Bestätigung', + googleAddressLabel: 'Straße und Hausnummer', + requiredField: 'Dieses Feld ist erforderlich.', + city: 'Stadt', + state: 'Staat', + locale: 'fr-CH', + }, + HRV: { + couponInactive: 'Popusti niso na voljo. Preverite pogoje.', + editLabel: 'Uredi', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Nadaljujte na plačilom', + deliveryDateText: 'Prispe do', + PickupDateText: 'Pripravljeno do', + eachLabel: 'posamezen', + tomorrowLabel: 'Jutri', + cartNoteLabel: 'Darilno sporočilo ali komentarji', + identifiedUserMessage: + 'Hvala, ker ste se vrnili! Da bi pospešili vašo transakcijo, smo za vas varno izpolnili vaše podatke.', + address1Placeholder: 'Ulični naslov ali poštna št', + address2Placeholder: + 'Apartma, apartma, stavba, nadstropje itd. (neobvezno)', + checkoutStepsLabelCart: 'Košarica', + checkoutStepsLabelIdentification: 'Identifikacija', + checkoutStepsLabelShipping: 'Odpošiljanje', + checkoutStepsLabelPayment: 'Plačilo', + checkoutStepsLabelConfirmation: 'Potrditev', + googleAddressLabel: 'Naslov ulice', + requiredField: 'To polje je obvezno.', + city: 'Mesto', + state: 'Država', + locale: 'hr', + }, + ROU: { + couponInactive: + 'Nu sunt disponibile reduceri. Este necesară verificarea condițiilor.', + editLabel: 'Editează', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Mergi la plată', + deliveryDateText: 'Sosește până la', + PickupDateText: 'Este pregătit până la', + eachLabel: 'fiecare', + tomorrowLabel: 'Mâine', + cartNoteLabel: 'Mesaj cadou sau observații', + identifiedUserMessage: + 'Îți mulțumim că ai revenit!\nPentru a-ți accelera tranzacția, am populat în condiții de siguranță informațiile tale', + address1Placeholder: 'Strada sau cutia poștală', + address2Placeholder: 'Apartament, clădire, etaj etc. (opțional)', + checkoutStepsLabelCart: 'Coș de cumpărături', + checkoutStepsLabelIdentification: 'Identificare', + checkoutStepsLabelShipping: 'Expediere', + checkoutStepsLabelPayment: 'Plată', + checkoutStepsLabelConfirmation: 'Confirmare', + googleAddressLabel: 'Adresa', + requiredField: 'Acest câmp este obligatoriu.', + city: 'Oraș', + state: 'Stat', + locale: 'ro-MD', + }, + NLD: { + couponInactive: 'Geen kortingen beschikbaar. Controleer de voorwaarden.', + editLabel: 'Bewerken', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Ga naar betaling', + deliveryDateText: 'Word geleverd op', + PickupDateText: 'Klaar op', + eachLabel: 'elk', + tomorrowLabel: 'Morgen', + cartNoteLabel: 'Geschenkboodschap of commentaar', + identifiedUserMessage: + 'Bedankt dat u terugkwam!\nOm uw transactie te bespoedigen, hebben wij uw gegevens veilig voor u ingevuld.', + address1Placeholder: 'Adres of postbus ', + address2Placeholder: + 'Appartement, suite, gebouw, verdieping, enz (facultatief)', + checkoutStepsLabelCart: 'Winkelwagen', + checkoutStepsLabelIdentification: 'Identificatie', + checkoutStepsLabelShipping: 'Verzending', + checkoutStepsLabelPayment: 'Betaling', + checkoutStepsLabelConfirmation: 'Bevestiging', + googleAddressLabel: 'Adres', + requiredField: 'Dit veld is verplicht.', + city: 'Stad', + state: 'Staat', + locale: 'nl', + }, + BEL: { + couponInactive: 'Geen kortingen beschikbaar. Controleer de voorwaarden.', + editLabel: 'Bewerken', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Ga naar betaling', + deliveryDateText: 'Word geleverd op', + PickupDateText: 'Klaar op', + eachLabel: 'elk', + tomorrowLabel: 'Morgen', + cartNoteLabel: 'Geschenkboodschap of commentaar', + identifiedUserMessage: + 'Bedankt dat u terugkwam!\nOm uw transactie te bespoedigen, hebben wij uw gegevens veilig voor u ingevuld.', + address1Placeholder: 'Adres of postbus ', + address2Placeholder: + 'Appartement, suite, gebouw, verdieping, enz (facultatief)', + checkoutStepsLabelCart: 'Winkelwagen', + checkoutStepsLabelIdentification: 'Identificatie', + checkoutStepsLabelShipping: 'Verzending', + checkoutStepsLabelPayment: 'Betaling', + checkoutStepsLabelConfirmation: 'Bevestiging', + googleAddressLabel: 'Adres', + requiredField: 'Dit veld is verplicht.', + city: 'Stad', + state: 'Staat', + locale: 'nl-BE', + }, + CZE: { + couponInactive: 'Nie sú dostupné žiadne zľavy. Pozrite si podmienky.', + editLabel: 'Upraviť', + paypalImg: '', + paypalPhone: '', + cartSubmitButton: 'Pokračovať k platbe', + deliveryDateText: 'Bude doručené do', + PickupDateText: 'Pripravené na vyzdvihnutie', + eachLabel: 'každé', + tomorrowLabel: 'zajtra', + cartNoteLabel: 'Odkaz k darčeku alebo komentáre', + identifiedUserMessage: + 'Ďakujeme, že ste tu znova!\nNa urýchlenie vašej transakcie sme za vás bezpečne vyplnili vaše informácie.', + address1Placeholder: 'Ulica alebo P.O. box', + address2Placeholder: 'Byt, apartmán, budova, poschodie atď. (voliteľné)', + checkoutStepsLabelCart: 'Košík', + checkoutStepsLabelIdentification: 'Identifikácia', + checkoutStepsLabelShipping: 'Dodanie', + checkoutStepsLabelPayment: 'Platba', + checkoutStepsLabelConfirmation: 'Potvrdenie', + googleAddressLabel: 'Ulica', + requiredField: 'Toto pole je povinné.', + city: 'Mesto', + state: 'Štát', + locale: 'cs', + }, +} diff --git a/checkout-ui-settings/checkout-ui-custom/src/_js/_utils.js b/checkout-ui-settings/checkout-ui-custom/src/_js/_utils.js new file mode 100644 index 00000000..754d4432 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_js/_utils.js @@ -0,0 +1,52 @@ +module.exports.debounce = (func, wait) => { + let timeout + + return function executedFunction(...args) { + const later = () => { + clearTimeout(timeout) + func(...args) + } + + clearTimeout(timeout) + timeout = setTimeout(later, wait) + } +} + +module.exports.formatCurrency = (_locale, _currency, _value) => { + const price = _value / 100 + + new Intl.NumberFormat(_locale, { + style: 'currency', + currency: _currency, + }).format(price) + + return price +} + +module.exports.findClosestLang = (clientLocale, locales) => { + const [clientLang] = clientLocale.split('-') + + return Object.values(locales).find(country => { + const [countryLang] = country.locale.split('-') + + return clientLang === countryLang + }) +} + +module.exports.getShipStateValue = state => { + const stateValue = + $( + `.vcustom--vtex-omnishipping-1-x-address #ship-state option[value^='${state}']` + ).val() || + $( + `.vcustom--vtex-omnishipping-1-x-address #ship-state option[value$='${state}']` + ).val() + + return stateValue +} + +module.exports.parseDateBd = input => { + const parts = input.match(/(\d+)/g) + + return new Date(parts[0], parts[1] - 1, parts[2]) // months are 0-based +} diff --git a/checkout-ui-settings/checkout-ui-custom/src/_js/_v.custom.checkout.ui.js b/checkout-ui-settings/checkout-ui-custom/src/_js/_v.custom.checkout.ui.js new file mode 100644 index 00000000..b46bcccf --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_js/_v.custom.checkout.ui.js @@ -0,0 +1,1394 @@ +/* eslint-disable no-prototype-builtins */ +/* eslint-disable vtex/prefer-early-return */ +/* eslint-disable func-names */ +const { _locale } = require('./_locale-infos.js') +const { + debounce, + formatCurrency, + findClosestLang, + parseDateBd, +} = require('./_utils.js') +const { + _countriesrules, + _countries, + _cities, + _addressPlaceholder, +} = require('./_countries.js') +const FnsCustomAddressForm = require('./_customAddressForm.js') + +class checkoutCustom { + constructor({ + type = 'vertical', + accordionPayments = true, + deliveryDateFormat = false, + quantityPriceCart = false, + showNoteField = false, + customAddressForm = false, + hideEmailStep = true, + } = {}) { + this.type = type // ["vertical"] + this.orderForm = '' + this.orderId = this.orderForm ? this.orderForm.orderFormId : '' + this.lang = '' + this.checkoutButton = null + + this.accordionPayments = accordionPayments + this.deliveryDateFormat = deliveryDateFormat + this.quantityPriceCart = quantityPriceCart + this.showNoteField = showNoteField + this.customAddressForm = customAddressForm + this.hideEmailStep = hideEmailStep + + this._holidays = null + this.countriesRules = _countriesrules + this.countries = _countries + this.cities = _cities + this.addressPlaceholder = _addressPlaceholder + } + + general() { + if (!$('.custom-cart-template-wrap').length) { + $('.cart-template.mini-cart .cart-fixed > *').wrapAll( + '
    ' + ) + } + + $('.table.cart-items tbody tr.product-item').each(function () { + if (!$(this).find('.v-custom-product-item-wrap').length) { + $(this).find('> *').wrapAll(`
    `) + } + }) + + $('body').addClass('v-custom-loaded') + } + + onDomMutation({ targetNode, callback, disconnectCondition = true }) { + const observeDOM = (function () { + const MutationObserver = + window.MutationObserver || window.WebKitMutationObserver + + return function (obj, callback1) { + if (!obj || obj.nodeType !== 1) return + + if (MutationObserver) { + // define a new observer + const mutationObserver = new MutationObserver(callback1) + + // have the observer observe foo for changes in children + mutationObserver.observe(obj, { + childList: true, + subtree: true, + }) + + return mutationObserver + } + + // browser support fallback + if (window.addEventListener) { + obj.addEventListener('DOMNodeInserted', callback1, false) + obj.addEventListener('DOMNodeRemoved', callback1, false) + } + } + })() + + const observer = new MutationObserver(function () { + if (targetNode && disconnectCondition) { + observer.disconnect() + + observeDOM(targetNode, () => callback()) + } + }) + + observer.observe(document.body, { + childList: true, + subtree: true, + }) + } + + buildVertical() { + $('body').addClass('body-cart-vertical') + if ($('.cart-template .cart-links-bottom:eq(0)').length) { + this.checkoutButton = $('.cart-template .cart-links-bottom:eq(0)') + } + + if (this.checkoutButton) { + this.checkoutButton.appendTo('.cart-template > .summary-template-holder') + } + } + + buildHorizontal() {} + + showDeliveryOptions() { + $( + '.cart-template .cart-more-options:eq(0), .cart-template .extensions-checkout-buttons-container' + ).appendTo('.cart-template-holder') + } + + builder() { + const _this = this + + if (_this.type === 'vertical') { + _this.buildVertical() + } else if (_this.type === 'horizontal') { + _this.buildHorizontal() + } else { + console.error('No `type` identified, check your code') + } + + if (_this.showNoteField) { + $('body').addClass('js-vcustom-showNoteField') + } + + if (_this.hideEmailStep) { + $('body').addClass('js-vcustom-hideEmailStep') + } + + _this.showDeliveryOptions() + } + + checkEmpty(items) { + if (items.length === 0) { + $('body').addClass('v-custom-cart-empty') + } else { + $('body').removeClass('v-custom-cart-empty') + } + } + + addEditButtoninLogin() { + $('#v-custom-edit-login-data').remove() + $('.client-pre-email h3.client-pre-email-h span').append(` + + + + + `) + } + + addStepsHeader() { + if ($('.checkout-steps').length > 0 || !this.lang) return false + + const addStepsHeaderHtml = ` +
    +
    + + + + +
    + + ${ + this.lang.checkoutStepsLabelCart || 'Cart' + } + + + ${ + this.lang.checkoutStepsLabelIdentification || 'Identification' + } + + + ${ + this.lang.checkoutStepsLabelShipping || 'Shipping' + } + + + ${ + this.lang.checkoutStepsLabelPayment || 'Payment' + } + + + ${ + this.lang.checkoutStepsLabelConfirmation || 'Confirmation' + } + +
    +
    +
    + ` + + if ($('header.main-header').length) { + $('header.main-header .container').append(addStepsHeaderHtml) + } + } + + addAssemblies(orderForm) { + try { + $.each(orderForm.items, function (i) { + const _item = this + + if (_item.assemblies.length > 0) { + let _assembliesHtml = `
    ` + + $.each(_item.assemblies, function () { + const _assemblies = this + + const inptValues = _assemblies.inputValues + + _assembliesHtml += `

    ${_assemblies.id}

    ` + _assembliesHtml += `
      ` + Object.entries(inptValues).forEach(([key, val]) => { + _assembliesHtml += `
    • + ${key} + ${val.trim()} +
    • ` + }) + _assembliesHtml += `
    ` + }) + _assembliesHtml += `
    ` + if ( + !$(`.table.cart-items tbody > tr.product-item:eq(${i})`).hasClass( + 'v-custom-assemblies-in' + ) + ) { + $(`.table.cart-items tbody > tr.product-item:eq(${i})`) + .addClass('v-custom-assemblies-in') + .find('td.product-name') + .append(_assembliesHtml) + } + } + }) + } catch (e) { + console.error('addAssemblies error:', e) + } + } + + bundleItems(orderForm) { + try { + $.each(orderForm.items, function (i) { + if (this.bundleItems.length > 0) { + $(`.table.cart-items tbody > tr.product-item:eq(${i})`) + .addClass('v-custom-bundles-in') + .find('td.product-name') + } else { + $(`.table.cart-items tbody > tr.product-item:eq(${i})`).removeClass( + 'v-custom-bundles-in' + ) + } + }) + $('.table.cart-items tbody tr.item-service').each(function () { + if ($(this).find('.v-custom-trservice-wrap').length > 0) return false + $(this).find('> *').wrapAll(`
    `) + }) + } catch (e) { + console.error('bundleItems error:', e) + } + } + + showCustomMsgCoupon(orderForm) { + const _this = this + const _coupon = orderForm.marketingData.coupon + + const couponItemsCount = orderForm.items.reduce(function ( + accumulator, + item + ) { + return ( + accumulator + + (item.priceTags.length + ? item.priceTags.filter(_pricetag => { + return _pricetag.ratesAndBenefitsIdentifier + ? _pricetag.ratesAndBenefitsIdentifier.matchedParameters[ + 'couponCode@Marketing' + ] === _coupon + : 0 + }).length + : 0) + ) + }, + 0) + + // Match coupon with rateAndBenefitsIdentifiers + let couponMatch = null + + if ( + orderForm.ratesAndBenefitsData && + orderForm.ratesAndBenefitsData.rateAndBenefitsIdentifiers.length + ) { + couponMatch = orderForm.ratesAndBenefitsData.rateAndBenefitsIdentifiers.find( + item => item.name === _coupon + ) + } + + if (!_coupon || couponItemsCount > 0 || couponMatch) { + $('fieldset.coupon-fieldset').removeClass( + 'js-vcustom-showCustomMsgCoupon' + ) + $('.vcustom-showCustomMsgCoupon').remove() + + return false + } + + if ($('.vcustom-showCustomMsgCoupon').length === 0) { + $('fieldset.coupon-fieldset') + .addClass('js-vcustom-showCustomMsgCoupon') + .append( + `

    ${_this.lang.couponInactive}

    ` + ) + } + } + + addLabels(orderForm) { + const _coupon = orderForm.marketingData.coupon + const _couponItems = [] + + if (!_coupon) return false + + try { + $( + `.table.cart-items tbody tr.product-item, .mini-cart .cart-items li` + ).removeClass('v-custom-addLabels-active js-vcustom-addLabels') + $(`.v-custom-addLabels-active-flag`).remove() + $.each(orderForm.items, function (i) { + if (this.priceTags.length > 0) { + if ( + this.priceTags.filter(_pricetag => { + return _pricetag.ratesAndBenefitsIdentifier + ? _pricetag.ratesAndBenefitsIdentifier.matchedParameters[ + 'couponCode@Marketing' + ] === _coupon + : false + }).length > 0 + ) { + _couponItems.push(this) + $(`.table.cart-items tbody tr.product-item:eq(${i})`) + .addClass('v-custom-addLabels-active js-vcustom-addLabels') + .find('.product-name') + .append( + `${_coupon}` + ) + } + } + }) + } catch (e) { + console.error(e) + } + } + + buildMiniCart(orderForm) { + /* overide refresh from vtex */ + if ( + orderForm.items.filter(item => { + return item.parentItemIndex !== null + }).length === 0 + ) { + return false + } + + const _items = orderForm.items + + if ($('.mini-cart .cart-items > li').length === _items.length) { + $(`.mini-cart .cart-items`).html(`${$(`.mini-cart .cart-items`).html()}`) + $.each(orderForm.items, function (i) { + if (this.availability === 'available') { + $(`.mini-cart .cart-items > li:eq(${i})`) + .find('.item-unavailable') + .remove() + } + }) + } + } + + setParentIndex(orderForm) { + const _orderForm = orderForm.items.filter(item => !item.isGift) // remove gift + + $.each(_orderForm, function (i) { + if (this.parentItemIndex !== null) { + $(`.table.cart-items tbody > tr.product-item:eq(${i})`).attr( + 'data-parentItemIndex', + this.parentItemIndex + ) + } + }) + } + + handleBreakpointChange() { + if (window.innerWidth <= 767) { + $('body').on('click', '#edit-address-button', () => { + setTimeout(() => { + const shippingDataElement = document.getElementById('shipping-data') + const offset = shippingDataElement.offsetTop - 200 + + window.scrollTo({ + top: offset, + behavior: 'smooth', + }) + }, 500) + }) + } + } + + removeMCLoader() { + $(`.mini-cart .cart-items`).addClass('v-loaded') + } + + removeCILoader() { + $(`.cart-items`).addClass('v-loaded') + } + + enchanceSummary(key, obj) { + const _this = this + + if ( + _this.orderForm && + $('.mini-cart .cart-items > li').length === _this.orderForm.items.length + ) { + $(`.mini-cart .cart-items > li:eq(${key})`) + .find(`.v-custom-bundles`) + .remove() + $(`.mini-cart .cart-items > li:eq(${key})`) + .append(`
    `) + .addClass('v-custom-indexedItems-in') + if ( + $(`.mini-cart .cart-items > li:eq(${key})`) + .find(' > .v-custom-bundles') + .html() === '' + ) { + for (const prop in obj) { + if (!obj.hasOwnProperty(prop)) continue + const iiItem = obj[prop] + + $(`.mini-cart .cart-items > li:eq(${key}) > .v-custom-bundles`) + .append(` +
    + + ${iiItem.name} + + ${iiItem.name} + ${iiItem.quantity} +
    + + ${ + iiItem.sellingPrice + ? `${ + _this.orderForm.storePreferencesData.currencySymbol + } ${formatCurrency( + _this.orderForm.clientPreferencesData.locale, + _this.orderForm.storePreferencesData.currencyCode, + iiItem.sellingPrice + ).toFixed(2)}` + : `Free` + } +
    +
    + `) + $(`.mini-cart .cart-items > li[data-sku='${iiItem.id}']`).addClass( + 'v-custom-indexed-item' + ) + } + } + } + } + + indexedInItems(orderForm) { + const _this = this + + try { + if ( + orderForm.items.filter(item => { + return item.parentItemIndex !== null + }).length === 0 + ) { + _this.removeMCLoader() + + return false + } + + const _orderForm = orderForm.items.filter(item => !item.isGift) // remove gift + + if (_orderForm.length) { + const indexedInItems = _orderForm.reduce((c, v) => { + if (v.parentItemIndex !== null) { + const index = v.parentItemIndex + + c[index] = c[index] || [] + c[index].push(v) + } + + return c + }, {}) + + for (const key in indexedInItems) { + const obj = indexedInItems[key] + + if ( + !$(`.table.cart-items tbody > tr.product-item:eq(${key})`).find( + '.v-custom-bundles' + ).length + ) { + $(`.table.cart-items tbody > tr.product-item:eq(${key})`) + .append(`
    `) + .addClass('v-custom-indexedItems-in') + if ( + $(`.table.cart-items tbody > tr.product-item:eq(${key})`) + .find('.v-custom-bundles') + .html() === '' + ) { + for (const prop in obj) { + if (!obj.hasOwnProperty(prop)) continue + const iiItem = obj[prop] + + $( + `.table.cart-items tbody > tr.product-item[data-sku='${iiItem.id}'][data-parentitemindex='${iiItem.parentItemIndex}'], .table.cart-items tbody > tr.product-item[data-sku='${iiItem.id}'][data-parentitemindex='${iiItem.parentItemIndex}'] + .item-unavailable` + ) + .addClass('v-custom-indexed-item') + .clone() + .appendTo( + `.table.cart-items tbody > tr.product-item:eq(${key}) > .v-custom-bundles` + ) + } + } + } + + _this.enchanceSummary(key, obj) + setTimeout(function () { + _this.enchanceSummary(key, obj) + }, 150) + } + + _this.removeMCLoader() + } + } catch (e) { + _this.removeMCLoader() + } + } + + holidaysBetweenDates(d0, d1, _holidays) { + /* Two working days and an sunday (not working day) */ + const holidays = _holidays + + let holidaysCount = 0 + + holidays.forEach(day => { + if (new Date(day) >= d0 && new Date(day) <= d1) { + /* If it is not saturday (6) or sunday (0), substract it */ + if (parseDateBd(day).getDay() % 6 !== 0) { + holidaysCount++ + } + } + }) + + return holidaysCount + } + + addBusinessDays(n, days, lang = window.i18n.options.lng) { + const _this = this + + const typeDays = days.replace(/[0-9]/g, '') + + try { + let d = new Date() + + d = new Date(d.getTime()) + const day = d.getDay() + + if (typeDays === 'd') { + d.setDate(d.getDate() + n) + } else { + d.setDate( + d.getDate() + + n + + (day === 6 ? 2 : +!day) + + Math.floor((n - 1 + (day % 6 || 1)) / 5) * 2 + ) + } + + let bdHolidays = 0 + + if (_this._holidays) { + bdHolidays = _this.holidaysBetweenDates( + new Date(), + d, + _this._holidays.map(hd => hd.startDate.split('T')[0]) + ) + } + + if (_this._holidays && _this._holidays.name === 'Error') bdHolidays = 0 + + let dhd = new Date() + + if (bdHolidays) { + dhd = new Date(dhd.getTime()) + const dhdDay = dhd.getDay() + + dhd.setDate( + dhd.getDate() + + (n + bdHolidays) + + (dhdDay === 6 ? 2 : +!dhdDay) + + Math.floor((n + bdHolidays - 1 + (dhdDay % 6 || 1)) / 5) * 2 + ) + } + + let newDate = bdHolidays ? dhd : d + + let doptions = { weekday: 'long', month: 'short', day: 'numeric' } + + if (lang === 'pt') { + doptions = { weekday: 'short', month: 'short', day: 'numeric' } + } + + if (d.getDate() - new Date().getDate() === 1) { + return _this.lang.tomorrowLabel || 'Tomorrow' + } + + newDate = newDate.toLocaleDateString(lang, doptions) + + return newDate + } catch (e) { + console.error(`Error at "addBusinessDays":`, e) + } + } + + changeShippingTimeInfo() { + const _this = this + + $('body').addClass('v-custom-changeShippingTimeInfo') + const mainSTIelems = [ + '.shp-summary-package-time > span', + 'p.vtex-omnishipping-1-x-sla.sla', + '.vtex-omnishipping-1-x-leanShippingTextLabelSingle > span', + 'span.shipping-date', + '.shp-option-text-time', + '.pkpmodal-pickup-point-sla', + '.shp-option-text-package', + '.srp-delivery-current-many__sla', + '.shipping-estimate-date:eq(0)', + '.srp-shipping-current-single__sla', + ] + + const [ + logisticsInfo, + ] = window.vtexjs.checkout.orderForm.shippingData.logisticsInfo + + const availableSlas = logisticsInfo.slas + + const { selectedSla } = logisticsInfo + + const selectedSlaDays = availableSlas.find(e => e.name === selectedSla) + ? availableSlas.find(e => e.name === selectedSla).shippingEstimate + : false + + try { + $(` + .vtex-omnishipping-1-x-summaryPackage.shp-summary-package:not(.v-changeShippingTimeInfo-active), + .vtex-omnishipping-1-x-leanShippingOption, + .vtex-omnishipping-1-x-packageItem:not(.v-changeShippingTimeInfo-active), + .orderform-template .cart-template.mini-cart .item, + .vtex-pickup-points-modal-3-x-pickupPointSlaAvailability, + .srp-delivery-current-many, + td.shipping-date, + .srp-shipping-current-single + `).each(function () { + const txtselectin = $(this) + .find( + mainSTIelems + .map(elem => `${elem}:not(.v-changeShippingTimeInfo-elem-active)`) + .join(', ') + ) + .text() + + let days + + if (!$(this).hasClass('srp-delivery-current-many')) { + if ( + txtselectin !== '' && + txtselectin.match(/(day)|(dia)|(día)|(tag)/gm) + ) { + days = parseInt(txtselectin.match(/\d+/), 10) + } + } else if (selectedSlaDays) { + days = parseInt(selectedSlaDays.match(/\d+/), 10) + } + + if (days) { + let _delivtext = _this.lang.deliveryDateText + + if ( + $(this) + .find(mainSTIelems.join(', ')) + .text() + .toLowerCase() + .match( + /(ready in up)|(pronto)|(a partir de)|(hasta)|(fertig in)/gm + ) + ) { + _delivtext = _this.lang.PickupDateText + } // check if is pickup. OBS: none of others solutions worked, needs constantly update + + $(this) + .find(mainSTIelems.join(', ')) + .html( + `${_delivtext} ${_this.addBusinessDays( + days, + selectedSlaDays + )}` + ) + .addClass('v-changeShippingTimeInfo-elem-active') + } + + $(this).addClass('v-changeShippingTimeInfo-active') + }) + + // temporaly + const shippingPreviewPackges = $( + '.srp-delivery-info .srp-packages:not(.v-changeShippingTimeInfo-elem-active)' + ) + + $('.js-shippingPreviewPackges').remove() + if (shippingPreviewPackges.length) { + const a = shippingPreviewPackges + .text() + .split(':')[1] + .split(/,| and | e | y /) + + const deliveryDates = [] + + $.each(a, function (i) { + const txtselectin = a[i] + + if ( + txtselectin !== '' && + txtselectin.match(/(day)|(dia)|(día)|(tag)/gm) + ) { + const days = parseInt(txtselectin.match(/\d+/), 10) + + if (days) { + let _delivtext = _this.lang.deliveryDateText + + if ( + txtselectin + .toLowerCase() + .match( + /(ready in up)|(pronto)|(a partir de)|(hasta)|(fertig in)/gm + ) + ) { + _delivtext = _this.lang.PickupDateText + } // check if is pickup. OBS: none of others solutions worked, needs constantly update + + deliveryDates.push( + `${_delivtext} ${_this.addBusinessDays( + days, + selectedSlaDays + )}` + ) + } + } + }) + shippingPreviewPackges + .hide() + .after( + `

    ${ + shippingPreviewPackges.text().split(':')[0] + }: ${deliveryDates.join('; ')}

    ` + ) + .addClass('v-changeShippingTimeInfo-active') + } + } catch (e) { + console.error('changeShippingTimeInfo Error:', e) + } + } + + fetchHolidays() { + const _this = this + const roothPath = + window.__RUNTIME__.rootPath || + window.location.pathname.split(`/checkout`)[0] + + if (_this._holidays) return + + fetch(`${roothPath}/_v/holidays`, { + method: 'GET', + }) + .then(response => response.json()) + .then(function (data) { + _this._holidays = data + }) + } + + changeShippingTimeInfoInit() { + const _this = this + + if (_this.lang && _this.deliveryDateFormat) { + _this.fetchHolidays() + _this.changeShippingTimeInfo() + } + } + + enchancementTotalPrice(orderForm) { + const _this = this + + if (!_this.quantityPriceCart) return + try { + $.each(orderForm.items, function (i) { + const _item = this + const _trElem = $(`.table.cart-items tbody tr.product-item:eq(${i})`) + + if ( + _item.quantity === 1 || + _trElem.find('td.product-price').find('.best-price').length === 0 + ) { + return + } + + const totalValue = _trElem.find('.total-selling-price:eq(0)').text() + const _eachprice = ` +
    + + ${ + _item.listPrice > _item.sellingPrice + ? `${ + orderForm.storePreferencesData.currencySymbol + } ${(_item.listPrice / 100).toFixed(2)}` + : '' + } + +
    + ` + + _trElem.find('td.product-price').find('.vqc-ldelem').remove() + // _trElem.find("td.quantity-price").prepend(_eachprice); + _trElem + .find('td.product-price') + .addClass('v-custom-quantity-price-active') + .prepend(_eachprice) + .append( + `
    ${totalValue}
    ` + ) + _trElem + .find('td.product-price') + .find('> .best-price') + .wrap(`
    `) + _trElem + .find('td.product-price') + .find('.v-custom-quantity-price__list--selling') + .append( + ` ${ + _this.lang ? _this.lang.eachLabel : 'each' + }` + ) + }) + } catch (e) { + console.error('enchancementTotalPrice error:', e) + } + } + + condensedTaxes(orderForm) { + const customtax = orderForm.totalizers.filter(val => val.id === 'CustomTax') + + if (customtax && customtax.length < 2) return false + + const tooltip = ` +
    + ${customtax + .map( + i => + `

    ${ + i.name + }${ + orderForm.storePreferencesData.currencySymbol + } ${(i.value / 100).toFixed(2)}

    ` + ) + .join('')} +
    + ` + + const customTaxElem = $('tr.CustomTax.CustomTax--total') + + if (customTaxElem.length) { + customTaxElem.find('.vcustom-customTax-tot').remove() + customTaxElem + .find('.info') + .append( + `
    ? ${tooltip}
    ` + ) + } + } + + update(orderForm) { + const _this = this + + this.checkEmpty(orderForm.items) + this.addAssemblies(orderForm) + this.enchancementTotalPrice(orderForm) + this.bundleItems(orderForm) + this.buildMiniCart(orderForm) + this.condensedTaxes(orderForm) + this.setParentIndex(orderForm) + this.indexedInItems(orderForm) + + // debounce to prevent append from default script + const updateDebounce = debounce(function () { + if (orderForm.marketingData) { + _this.addLabels(orderForm) + _this.showCustomMsgCoupon(orderForm) + } + }, 250) + + updateDebounce() + } + + updateStep() { + const prefixClass = 'v-custom-step-' + const bClassStep = ['cart', 'email', 'profile', 'shipping', 'payment'] + + $('body').removeClass( + bClassStep + .map(step => { + return prefixClass + step + }) + .join(' ') + ) + if (window.location.hash) { + const [, hashstep] = window.location.hash.split('/') + + const classStep = bClassStep.filter(st => { + return ~hashstep.indexOf(st) + }) + + if (classStep.length) { + $('body').addClass(prefixClass + classStep[0]) + } + } + } + + updateLang(orderForm) { + const clientLocale = orderForm.clientPreferencesData.locale + + this.lang = + Object.values(_locale).find(country => country.locale === clientLocale) || + _locale[orderForm.storePreferencesData.countryCode] || + findClosestLang(clientLocale, _locale) || + _locale.USA + + if (!this.lang) return false + const _lang = this.lang + + if (_lang.editLabel) $('.link-box-edit').attr('title', _lang.editLabel) + if (_lang.cartSubmitButton) { + $('#cart-to-orderform').text(_lang.cartSubmitButton) + } + + if (_lang.cartNoteLabel) $('p.note-label label').text(_lang.cartNoteLabel) + + if (_lang.identifiedUserMessage) { + $('.identified-user-modal-body p.identified-user-message').html( + _lang.identifiedUserMessage + ) + } + + // paypal + if (_lang.paypalPhone) { + $('.payment-paypal-help-number').text(_lang.paypalPhone) + } + + if (_lang.paypalImg) { + $('.payment-paypal-title-short-logo').css( + 'background-image', + `url(${_lang.paypalImg})` + ) + } else if (_lang.paypalImg === '') { + $('.payment-paypal-title-short-logo').hide() + } + + // shipping + + if (_lang.googleAddressLabel) { + const geoElem = $('.vtex-omnishipping-1-x-geolocation') + + if (geoElem.length) { + geoElem + .find('.ship-addressQuery > label') + .text(_lang.googleAddressLabel) + } + } + + // placeholders + + if (_lang.address1Placeholder) { + $('.vtex-omnishipping-1-x-address input#ship-street').attr( + 'placeholder', + _lang.address1Placeholder + ) + } + + if (_lang.address2Placeholder) { + $('.vtex-omnishipping-1-x-address input#ship-complement').attr( + 'placeholder', + _lang.address2Placeholder + ) + } + + if (_lang.numberPlaceholder) { + $('.vtex-omnishipping-1-x-address input#ship-number').attr( + 'placeholder', + _lang.numberPlaceholder + ) + } + } + + paymentBuilder(orderForm) { + const _this = this + + if (orderForm && $('.payment-group-item-cards').length === 0) { + if (orderForm.paymentData) { + const paymentGroups = [ + 'debitCardPaymentGroup', + 'creditCardPaymentGroup', + ] + + let paymentGroupCardsHtml = `` + + $.each(paymentGroups, function (p) { + paymentGroupCardsHtml = `` + $.each( + orderForm.paymentData.paymentSystems.filter( + item => item.groupName === paymentGroups[p] + ), + function () { + paymentGroupCardsHtml += `${this.name}` + } + ) + paymentGroupCardsHtml += `` + if (_this.accordionPayments) { + $(`#payment-group-${paymentGroups[p]}`).append( + paymentGroupCardsHtml + ) + } + }) + + if (!_this.accordionPayments) { + $('#iframe-placeholder-creditCardPaymentGroup').prepend( + paymentGroupCardsHtml + ) + } + } + } + + if ( + !this.accordionPayments || + $('.payment-group-list-btn').find('.v-custom-payment-item-wrap').length > + 0 + ) { + return false + } + + $('body').addClass('v-custom-paymentBuilder-accordion') + + $('.payment-group-item').each(function () { + $(this).wrap( + `
    ` + ) + }) + + $('.payment-group-item').each(function () { + $(`#payment-data .steps-view > div:eq(${0})`).appendTo( + $(this).closest('.v-custom-payment-item-wrap') + ) + }) + } + + customAddressFormLoader() { + const _this = this + + if (!window.vtex.googleMapsApiKey) { + console.warn( + 'You might need to add your Google Maps API Key in your admin' + ) + _this.customAddressForm = false + + return false + } + + if (_this.customAddressForm) { + _this.customAddressForm = new FnsCustomAddressForm({}) + _this.customAddressForm.events() + } + } + + goToShippingStep() { + window.location.hash = '#/shipping' + } + + appendMessageEmptyStreet(orderForm) { + const _this = this + + if ( + !( + (orderForm && + orderForm.shippingData && + orderForm.shippingData.address && + orderForm.shippingData.address.street != null) || + (undefined && orderForm.shippingData.address.street.trim()) + ) + ) { + if ( + !$('.alert-noStreet').length && + $('.accordion-inner.shipping-container').length + ) + $('.orderform-template-holder #shipping-data .accordion-inner').append( + `
    ${ + _this.locale + ? _this.locale.noStreetAddress || + 'Your shipping information is missing a required field, please include a street' + : 'Your shipping information is missing a required field, please include a street' + }
    ` + ) + } else { + $('.alert-noStreet').remove() + } + } + + URLHasIncludePayment(orderForm) { + const _this = this + + let street = '' + + try { + if ( + orderForm && + orderForm.shippingData && + orderForm.shippingData.address && + orderForm.shippingData.address.street + ) { + street = orderForm.shippingData.address.street + } + + if ( + window.location.hash === '#/payment' && + orderForm && + orderForm.shippingData && + orderForm.shippingData.address && + orderForm.shippingData.address.addressType !== 'search' && + !street.trim() && + _this.customAddressForm + ) { + _this.goToShippingStep() + _this.appendMessageEmptyStreet(orderForm) + } + } catch (error) { + console.error('URLHasIncludePayment error:', error) + } + } + + customAddressFormInit(orderForm) { + const _this = this + const _orderForm = orderForm || window.vtexjs.checkout.orderForm + + if (_this.customAddressForm) { + if (_orderForm.canEditData) { + $('body').removeClass('returningUser') + } else { + $('body').addClass('returningUser') + } + + try { + _this.customAddressForm.init(_orderForm) + } catch (e) { + console.warn(`Error in "customAddressFormInit"`) + } + } + } + + checkProfileFocus() { + const _this = this + + if (_this.hideEmailStep) { + if ( + ~window.location.hash.indexOf('#/email') && + $('#client-email').val() === '' + ) { + $('#client-email').focus() + } + } + } + + rtlUI() { + if ( + window.vtex.i18n.getLocale() === 'ar' || + window.vtex.i18n.getLocale() === 'ar-SA' || + window.vtex.i18n.getLocale() === 'ar-IQ' + ) { + $('body').addClass('RTL-checkout') + } + } + + bind() { + const _this = this + + $('body').on('click', '#v-custom-edit-login-data', function (e) { + e.preventDefault() + + $(this).addClass('active') + + const data = null + const xhr = new XMLHttpRequest() + + xhr.addEventListener('readystatechange', function () { + if (this.readyState === this.DONE) { + window.location.reload() + setTimeout(function () { + $('#v-custom-edit-login-data').removeClass('active') + }, 1000) + } + }) + + xhr.open( + 'GET', + `/checkout/changeToAnonymousUser/${_this.orderForm.orderFormId}` + ) + xhr.setRequestHeader('content-type', 'application/json') + xhr.setRequestHeader('accept', 'application/json') + + xhr.send(data) + }) + + $('body').on('click', '.v-custom-payment-item-wrap', function () { + $('.v-custom-payment-item-wrap').removeClass('active') + $(this).addClass('active') + }) + + $('body').on( + 'click', + '.vtex-pickup-points-modal-3-x-pickupDetailsHeaderButton, #map-canvas img, .vtex-omnishipping-1-x-pickupPointChange, .pkpmodal-pickup-point, .vtex-pickup-points-modal-3-x-modalDetailsBackLnk', + function () { + setTimeout(() => { + _this.changeShippingTimeInfoInit() + }, 100) + } + ) + + $('body').on('click', '.js-checkout-steps-item .text', function () { + window.location = $(this).closest('.checkout-steps_item').attr('data-url') + }) + + window.addEventListener('resize', _this.handleBreakpointChange) + + _this.handleBreakpointChange() + + $('body').on( + 'click', + '.vtex-omnishipping-1-x-linkEdit.link-edit', + function () { + setTimeout(() => { + _this.updateLang(_this.orderForm) + }, 50) + } + ) + + $('body').on('click', '#btn-client-pre-email', function () { + setTimeout(function () { + if (!$('input#client-pre-email').hasClass('error')) { + $('input#client-email').focus() + } + }, 1000) + }) + + $('body').on('click', '#shipping-option-delivery', function () { + _this.customAddressFormInit(_this.orderForm) + }) + + $('body').on('click', '.show-more-items-button', function () { + _this.general() + _this.setParentIndex(window.vtexjs.checkout.orderForm) + window.vtexjs.checkout.getOrderForm() + }) + } + + init() { + const _this = this + + _this.orderForm = + window.vtexjs.checkout && window.vtexjs.checkout.orderForm + ? window.vtexjs.checkout.orderForm + : false + _this.general() + _this.updateStep() + _this.builder() + + _this.changeShippingTimeInfoInit() + if (_this.orderForm) { + _this.updateLang(_this.orderForm) + _this.update(_this.orderForm) + _this.addStepsHeader() + _this.paymentBuilder(_this.orderForm) + } + + _this.addEditButtoninLogin() + } + + start() { + const _this = this + + try { + $(function () { + _this.bind() + _this.customAddressFormLoader() + _this.rtlUI() + }) + + $(document).ajaxComplete(function () { + _this.init() + }) + + $(window).on('hashchange', function () { + const cartItems = document.querySelector('.cart-items') + + _this.updateStep() + _this.changeShippingTimeInfoInit() + _this.checkProfileFocus() + + if (_this.orderForm) { + _this.buildMiniCart(_this.orderForm) + _this.indexedInItems(_this.orderForm) + _this.updateLang(_this.orderForm) + _this.paymentBuilder(_this.orderForm) + _this.customAddressFormInit(_this.orderForm) + _this.removeCILoader() + _this.URLHasIncludePayment(_this.orderForm) + + _this.onDomMutation({ + targetNode: cartItems, + callback: () => _this.removeCILoader(), + }) + } + }) + + $(window).on('orderFormUpdated.vtex', function (evt, orderForm) { + _this.update(orderForm) + _this.customAddressFormInit(orderForm) + }) + + $(window).load(function () { + $(window).one('componentValidated.vtex', () => _this.builder()) + _this.checkProfileFocus() + _this.changeShippingTimeInfoInit() + _this.indexedInItems(window.vtexjs.checkout.orderForm) + _this.showDeliveryOptions() + + if (_this.customAddressForm && typeof store !== 'undefined') { + window.store.dispatch({ + type: 'DISABLE_CALCULATE_BUTTON', + isCalculateBttnEnabled: false, + }) + } + }) + + // eslint-disable-next-line no-console + console.log(`🎉 Yay! You are using the vtex.checkout.ui customization !!`) + } catch (e) { + _this.general() + } + } +} + +module.exports = checkoutCustom diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_RTL.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_RTL.scss new file mode 100644 index 00000000..63931ef6 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_RTL.scss @@ -0,0 +1,353 @@ +.RTL-checkout { + + select { + direction: rtl; + } + + .cart-template-holder { + order: 2; + } + + body .main-header .header-link { + left: initial; + right: 0; + } + + body .main-header .checkout-steps { + margin-left: initial; + margin-right: auto; + } + + .main-header .logo { + order: 2; + } + + .summary-template-holder tr { + .info { + order:2; + text-align: right !important; + } + } + + .orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit, + .orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit, + .orderform-template-holder #shipping-data .link-box-edit, + .orderform-template-holder #payment-data .link-box-edit { + right: initial; + left: 0; + } + + .summary-template-holder tbody td.monetary, + .summary-template-holder tfoot tr td.monetary { + margin-right: auto; + margin-left: initial !important; + text-align: left !important; + } + + + .summary-template-holder { + .summary-coupon p.coupon-fields span { + flex-direction: row-reverse; + input { + margin: 0 0 0 10px; + } + } + } + + + .table.cart-items tbody tr .v-custom-product-item-wrap, + .table.cart-items tbody tr, + .table.cart-items thead tr, + .table.cart-items thead tr th.product{ + flex-direction: row-reverse; + text-align:right; + } + + .table.cart-items tbody tr td.product-name { + text-align: right; + } + + .orderform-template .orderform-template-holder { + order: 2; + padding: 0 0 0 20px; + } + + .orderform-template .cart-template.mini-cart .summary-totalizers tfoot tr td.monetary { + text-align: left !important; + } + + br { + width: 100%; + height: 1px; + content: " " !important; + display: block !important; + clear:both; + } + + .table.cart-items td.quantity { + direction: rtl; + } + + .checkout-steps_items { + direction: rtl; + .text:before { + margin: 0 0 0 7px; + } + } + + .srp-toggle__wrapper { + direction: rtl; + .vtex-shipping-preview-0-x-framePickup { + left: 0; + } + .vtex-shipping-preview-0-x-frameDelivery { + left: 50%; + } + } + + .srp-delivery-header.mb3 { + direction: rtl; + display: flex; + } + + .srp-delivery-current-many .flex {direction: rtl;text-align: right;} + + + //profile + + .step { + direction: rtl; + } + + .step .accordion-toggle > span:before, + .step .accordion-toggle:before { + margin-right: 0 !important; + margin-left: 10px !important; + } + + fieldset.box-client-info-pf { + display: flex; + flex-wrap: wrap; + } + + .orderform-template-holder .step .form-step fieldset p, .orderform-template-holder .step .form-step fieldset div { + width: 100%; + } + + p.client-first-name, p.client-different-document, p.client-document, p.client-company-ie, p.client-company-postal-code, p.client-document-type, p.payment-card-due-date { + margin-left: 10px; + margin-right: 0; + } + + p.client-document, p.client-phone, p.client-company-document, p.client-company-ie, p.client-company-postal-code, p.client-company-phone, p.payment-card-due-month, p.payment-card-lash, p.payment-card-due-year { + float: right; + } + + input.success:not([invalid="true"]) { + background-position: left top; + } + + .vtexIdUI .vtexIdUI-page { + direction: rtl; + } + + .vtexIdUI .modal-header .close { + left: -1px; + right: initial; + } + + + .vtexIdUI .pull-left { + float: right; + } + + .orderform-template-holder .step .box-info p { + display: flex; + flex-wrap: wrap; + width: 100%; + } + + + + //shipping + + .vtex-omnishipping-1-x-leanShippingIcon.shp-option-icon, + .vtex-omnishipping-1-x-addressItemIcon { + margin: 0 0 0 10px; + } + + .vtex-omnishipping-1-x-leanShippingText { + padding-right: 10px; + } + + .address-summary { + /* direction: unset; */ + display: flex; + flex-wrap: wrap; + } + + br.line1-delimiter { + width: 100%; + height: 1px; + content: " " !important; + display: block !important; + clear:both; + } + + //payment + + .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-AffirmPaymentGroup:after, + .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-payPalPaymentGroup:after { + right: initial; + left: 10px; + } + + + .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text {margin-left: auto;margin-right: inherit;} + + .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text:before { + margin-right: initial; + margin-left: 10px; + } + + .orderform-template-holder #payment-data p.link.link-gift-card a { + text-align: right; + } + + //summary + + + .orderform-template .custom-cart-template-wrap .summary-cart-template-holder { + direction: rtl; + } + + .pull-right { + float: left !important; + } + + .orderform-template .cart-template.mini-cart .item .price { + margin-right:auto; + direction: initial; + } + + .orderform-template .cart-template.mini-cart .item .url { + float: right; + margin: 0 0 0 6px; + } + + .orderform-template .cart-template.mini-cart .item .fn { + text-align: right; + float: right; + } + + .orderform-template .cart-template.mini-cart h2 { + text-align: right; + } + + .orderform-template .cart-template.mini-cart #go-to-cart-button { + left: 7px; + right: initial; + } + + .vtex-omnishipping-1-x-SummaryItemInfo { + border: none; + border-left: 1px solid #eee; + padding: 0 0 0 6px; + } + + // login modal + + .vtexIdUI { + .vtexIdUI-page { + direction: rtl; + } + + .modal-header .close { + left: -1px; + right: initial; + } + .pull-left { + float: right; + } + } + + //payment + + #app-container { + direction: rtl; + + + .PaymentCardDueDate.clearfix { + display: flex; + } + + label.FormFieldLabel { + margin: 0 0 0 10px; + } + + .PaymentCardCVV { + display: flex; + } + + p.AddressToggle { + display: flex; + } + + .AddressToggle input { + margin: 3px 0 0 5px; + } + } + + + + @media (max-width: 998px) { + &.body-cart-vertical { + .summary-template-holder { + order: 2; + } + } + } + + @media (max-width: 768px) { + .orderform-template .cart-template.mini-cart { + order: 2; + } + } + + @media (max-width: 690px) { + + .table.cart-items td.product-image a { + margin-right: 0; + margin-left: 20px; + } + .full-cart .cart table tbody tr td.product-image, + .full-cart .cart table tbody tr td.bundle-item-image { + left:initial; + right:0; + } + + .table.cart-items td.product-name, + .table.cart-items td.quantity { + margin-left:0 !important; + margin-right:90px !important; + } + + .table.cart-items td.quantity { + float: right; + } + + .full-cart .cart table tbody tr td.product-name a, + .full-cart .cart table tbody tr td.bundle-item-name span { + padding: 0 0 0 20px; + } + + .full-cart .cart table tbody tr td.product-price { + float: left; + } + + .full-cart .cart table tbody tr td.item-remove { + left: 0; + right: initial; + } + } +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_buttons.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_buttons.scss new file mode 100644 index 00000000..1e8fc7a6 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_buttons.scss @@ -0,0 +1,108 @@ +// _buttons.scss + + +.btn { + font-family:$fontFamily; + text-shadow: none; + border-radius:$btnBorderRadius; + outline: none !important; + text-align: center; + font-size: $fontSize; + padding: 5px 12px; + box-sizing: border-box; + display: inline-block; + + &, + &:hover, + &:focus { + transition: all ease 0.3s; + } + + @if $buttonShadow { + + } @else { + background: none; + box-shadow: none; + &:hover, + &:focus { + background:none; + } + } + + &-large { + padding:17px 19px; + } + + &-link { + color:$actionPrimary; + &:hover, + &:focus { + color:$actionPrimaryDarken; + } + } + + &-success { + background: $success; + border:1px solid $success; + font-size:13px; + + &:hover, + &:focus, + &:active { + background:$successDarken; + border:1px solid $successDarken; + } + + &[disabled] { + background: $success; + } + } + + &-primary { + background: $actionPrimary; + border:1px solid $actionPrimary; + color:$actionSecondary; + + &:hover, + &:focus, + &:active { + background:$actionPrimaryDarken; + border:1px solid $actionPrimaryDarken; + } + } + + &-secondary { + background: transparent; + border:1px solid $actionPrimary; + color:$actionPrimary; + + &:hover, + &:focus, + &:active { + background:$actionSecondary; + border:1px solid $actionPrimaryDarken; + color:$actionPrimaryDarken; + } + } + + &-outlined { + background: transparent; + border:1px solid $success; + color:$success; + + &:hover, + &:focus, + &:active { + background:transparent; + border:1px solid $successDarken; + } + } + + &#payment-data-submit { + span { + font-size: 14px; + margin-left: 5px; + font-weight: bold; + } + } +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_card-flags.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_card-flags.scss new file mode 100644 index 00000000..38314011 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_card-flags.scss @@ -0,0 +1,49 @@ +.payment-group-item-cards { + .card-flag { + width: 32px !important; + background-size: auto 20px; + min-width: auto; + height: 20px; + } + + .card-flag.Visa { + background-position: 0 0; + } + .card-flag.Mastercard { + background-position: -32px 0; + } + .card-flag.Diners { + background-position: -64px 0; + } + .card-flag.Amex, + .card-flag.American { + background-position: -96px 0; + } + .card-flag.Hipercard { + background-position: -128px 0; + } + .card-flag.Discover { + background-position: -160px 0; + } + .card-flag.Aura { + background-position: -192px 0; + } + .card-flag.Banricompras { + background-position: -224px 0; + } + .card-flag.Elo { + background-position: -256px 0; + } + .card-flag.JCB { + background-position: -288px 0; + } + .card-flag.Cabal { + background-position: -320px 0; + } + .card-flag.Maestro { + background-position: -352px 0; + } + .card-flag.Credz { + background-position: -384px 0; + } +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_cart.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_cart.scss new file mode 100644 index 00000000..4634e63f --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_cart.scss @@ -0,0 +1,1062 @@ +.cart { + border:none; + padding:0; +} + +body.v-custom-step-cart { +.main-header { + .header-link { + display: block; + } +} +} +// empty cart + +body.v-custom-cart-empty { + +#cart-title, +#shipping-preview-container, +.summary-template-holder, +.checkout-steps, +.cart-more-options {display:none !important;} +.cart-template-holder { + margin:0 auto; +} +} +.empty-cart-content {padding:50px 0;} + + +// end empty cart + +h1#cart-title {display:none !important;} + +.cart-more-options, +.cart-template-holder .cart { + padding: 20px 30px; + background: #fff; + margin: 0; + border-radius: $borderRadius; + @media (max-width: $mobileWidth) { + padding: 12px; + } +} + + +.cart-template-holder .cart { + border:$bordersContainers; + margin-bottom:20px; +} + +.table.cart-items { + + display: block; + + thead { + width: 100%; + display: block; + tr { + display:flex; + align-items: center; + th { + &.product { + width: calc(100% - 235px) !important; + } + + &.product-price, + &.quantity-price { + width:90px !important; + } + + &.item-remove, + &.quantity-price, + &.shipping-date { + display: none; + } + + &.quantity { min-width: 62px; } + + &.product-image {order:1;} + &.product-name {order:2;} + &.shipping-date {order:3;} + &.quantity {order:4;} + &.product-price, + &.quantity-price {order:5;} + + + } + } + } + + tr { + &.item-attachments-head { + border:none !important; + justify-content: center; + .help-arrow {display: none;} + } + &.item-attachments-content { + input, + select { + @extend %input-style; + } + } + + + } + + td.shipping-date { + display:none; + } + + tbody { + display:flex; + flex-wrap:wrap; + width: 100%; + tr { + width:100%; + display: flex; + flex-wrap:wrap; + border-top:1px solid $muted5; + + &.hide { + display:none; + } + + > .v-custom-bundles { + width: 100%; + } + + @media(max-width: $mobileWidth) { + margin-top:0 !important; + &:first-child { + border:none; + } + } + + &.item-attachments-head, + &.item-attachments-content {display: none;} + + + + .v-custom-product-item-wrap { + width:100%; + display: flex; + align-items: center; + position:relative; + padding:20px 0; + @media(max-width: $mobileWidth) { + display: block; + padding:10px 0; + &:after { + content:""; + clear:both; + display:block; + } + } + } + + td { + width: auto; + border:none; + + &.product-name { + .add-service-container, + .clone-item.btn, + .add-item-attachment-container { + margin:10px 0; + + p {display: none;} + } + + .add-service.btn, + .clone-item.btn, + .add-item-attachment-container a{ + @extend .btn-secondary; + } + + @media(min-width: 769px) { + width: calc(100% - 355px) !important; + } + + .seller { + display:block; + } + } + + &.product-price, + &.quantity-price { + width: 90px !important; + white-space: nowrap; + margin: 0 10px; + line-height: 16px; + + br {display:none;} + + @media (max-width: $mobileWidth) { + width: initial !important; + text-align: right; + float: right; + margin: 0; + padding: 0; + } + + .new-product-price-label, + .old-product-price-label { + display: none; + } + + .list-price { + font-size: 10px; + } + + .total-selling-price, + .best-price { + font-weight: bold; + position: relative; + @media (max-width: $mobileWidth) { + display: flex; + justify-content: flex-end; + margin-top: 7px; + .discount {margin-left: 5px;display: block;} + } + } + + + .new-product-real-price-per-unit {display: inline-block;} + + .v-custom-quantity-price { + &__best { + font-weight:bold; + font-size:$fontSize; + } + &__list { + display: block; + font-size: 10px; + + + &--list, + &--selling { + display:block; + } + &--list { + text-decoration: line-through; + color: $muted3; + } + + &, + &--selling { + color: $muted2; + font-size: 10px; + line-height: 11px; + } + + &--selling { + margin-bottom: 3px; + .discount {display:none;} + + &:after {content:")";} + &:before {content:"(";} + + .best-price { + font-weight:normal; + display: inline-block; + } + } + + > *:last-child { + @media (max-width: $mobileWidth) { + margin-bottom:-7px; + } + } + } + + } + + &.v-custom-quantity-price-active { + > .list-price {display:none !important;} + } + + > span.list-price, + > span.best-price { + display: block; + } + + //manual pricing + span.product-manualprice, + a.manualprice-link-remove { + z-index: 2; + } + + + a.manualprice-link-remove { + position: absolute; + top: -2px; + left: -4px; + background: #FFF; + } + + a.manualprice-link-remove i.icon-remove:before { + width: 10px !important; + height: 10px !important; + } + + span.product-manualprice { + padding: 5px 5px 5px 31px; + border: 1px solid #ccc; + display: inline-block; + background: #FFF; + border-radius:5px; + box-shadow: 0 0 19px #777; + position: absolute; + top: 0; + left: 0; + transform:translate(-15%, -34%); + } + + + } + + &.product-price { + @media (max-width: $mobileWidth) { + span.list-price:not(.hide) + br + span.best-price {margin-top:0;} + } + } + + + &.item-remove { + margin-left: auto; + width: 20px !important; + @media (max-width: $mobileWidth) { + top:0 !important; + } + } + + + + &.product-image {order:1;} + &.product-name {order:2;width: 60%;} + &.shipping-date {order:3;} + + &.quantity {order:4;} + &.product-price, + &.quantity-price {order:5;} + &.item-remove {order:10;} + + + &.quantity-price {display: none !important;} + &.product-price {display: block !important;} + + + .field-help { + background:$actionPrimary; + border-color:$actionPrimary; + } + + i.icon-question-sign { + color:$actionPrimary; + } + + .add-item-attachment-container, + .clone-item, + p.clone-item-container { + display: none !important; + } + + hr.clone-item-sep { + margin:0; + clear: both; + border:none; + } + + .product-service { + height:calc( #{$inputHeight} + 10px); + margin-top: 10px; + position: relative; + + @media (min-width:$mobileWidth) { + fieldset { + width: 100%; + position: absolute; + min-width: 250px; + } + } + + p {display: flex;} + select { + @extend %input-style; + background:#FFF; + width: 100%; + margin-right: 10px; + } + input[type=submit] { + @extend .btn-secondary; + } + } + + &.quantity input { + line-height: inherit; + } + + } + + .v-custom-assemblies { + clear: both; + } + + &.v-custom-bundles-in { + .product-service {display: none;} + } + + &.item-unavailable { + margin: 10px 0; + border-radius: 10px; + border: none !important; + + @media (max-width:$mobileWidth) { + padding: 0; + text-align: center; + } + } + + &.v-custom-indexedItems-in { + & + tr.item-unavailable { display:none } + } + + &.v-custom-indexed-item { + border:none; + } + + + &.v-custom-indexed-item, + &.item-service { + margin:0 0 10px 0; + padding:0; + border-top:none; + + .v-custom-product-item-wrap, + .v-custom-trservice-wrap { + background:$actionSecondary; + border:1px dashed $muted4; + border-radius:$borderRadius; + + width: 100%; + display: flex; + align-items: center; + + box-sizing: border-box; + padding: 5px 10px; + } + + .v-custom-trservice-wrap { + margin-bottom: 10px; + margin-top: 10px; + } + + td.quantity { + background: #FFF; + width:25px; + height:20px; + text-align:center; + justify-content: center; + p { + width:100%; + } + } + + + td.product-price {display: none !important;} + td.quantity-price {display: block !important;} + + .item-remove { + margin-left: auto; + position: initial; + width: auto; + i.icon.icon-remove.item-remove-ico:before { + content: "-"; + background: $danger; + color: #FFF; + line-height: 9px; + border-radius: 100%; + width: 16px; + height: 16px; + font-size: 27px; + } + } + + @media(max-width: $mobileWidth) { + border-top:none !important; + .product-price, + .quantity { + margin:auto !important; + width:auto !important; + min-width:initial !important; + } + } + } + + &.v-custom-indexed-item { + &:last-child { + margin-bottom: 20px; + } + td.product-image {display:none;} + td.quantity { + @media (max-width:$mobileWidth) { + display:none; + } + } + td.product-name { + margin-left:0 !important; + padding: 0 !important; + width: 100% !important; + margin-right:15px; + } + p {margin:0;padding:0;} + } + + &:last-child { + border-bottom:none; + } + + &.v-custom-assemblies-in .v-custom-product-item-wrap { + + } + &.v-custom-assemblies-in.v-custom-indexed-item .v-custom-product-item-wrap { + .v-custom-assemblies { + + } + } + } + + > tr.v-custom-indexed-item, + > tr[data-parentitemindex] { + display:none; + + & + .item-unavailable { + display:none; + } + } + } + + td.product-image { + + a { + overflow: hidden; + border-radius: $borderRadius; + } + a {margin-right:20px;} + a, + img { + width:100px; + display:block; + max-width: initial; + height: auto; + + @media(max-width: $mobileWidth) { + width: 70px; + } + } + } + + td.product-name { + a, + a:hover { + color:#333; + font-weight:bold; + text-decoration:none; + } + + + } + + td.quantity { + margin: 0 0 0 10px; + display:flex; + align-items: center; + padding: 0; + border-radius: $borderRadius; + border:1px solid $muted4; + float:left; + min-width: 30px; + text-align: center; + justify-content: center; + + input { + margin:0; + @extend %input-style; + width: 30px !important; + height:30px !important; + padding:0; + border:none; + box-shadow:none; + } + .item-quantity-change { + position:initial; + left:initial; + top:initial; + bottom:initial; + height: initial; + display: flex; + align-items: center; + justify-content: center; + padding: 0; + + i { + background:none; + line-height:30px; + display: inline-block; + &:before { + font-weight:bold; + font-size:22px; + width:25px; + height:25px; + line-height:25px; + color:#000; + border-radius:100%; + } + } + + > p { + margin: 0; + } + + &.item-quantity-change-decrement i:before { + content:"-"; + line-height:21px; + } + &.item-quantity-change-increment i:before { + content:"+" + } + } + } + + @media(max-width: $mobileWidth) { + + + td.quantity {width: 97px;} + td.product-name, + td.quantity { + margin-left: 90px !important; + } + } + + i.icon.icon-remove.item-remove-ico:before { + content:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyLjAwMSA1MTIuMDAxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIuMDAxIDUxMi4wMDE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNMjg0LjI4NiwyNTYuMDAyTDUwNi4xNDMsMzQuMTQ0YzcuODExLTcuODExLDcuODExLTIwLjQ3NSwwLTI4LjI4NWMtNy44MTEtNy44MS0yMC40NzUtNy44MTEtMjguMjg1LDBMMjU2LDIyNy43MTcNCgkJCUwzNC4xNDMsNS44NTljLTcuODExLTcuODExLTIwLjQ3NS03LjgxMS0yOC4yODUsMGMtNy44MSw3LjgxMS03LjgxMSwyMC40NzUsMCwyOC4yODVsMjIxLjg1NywyMjEuODU3TDUuODU4LDQ3Ny44NTkNCgkJCWMtNy44MTEsNy44MTEtNy44MTEsMjAuNDc1LDAsMjguMjg1YzMuOTA1LDMuOTA1LDkuMDI0LDUuODU3LDE0LjE0Myw1Ljg1N2M1LjExOSwwLDEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdMMjU2LDI4NC4yODcNCgkJCWwyMjEuODU3LDIyMS44NTdjMy45MDUsMy45MDUsOS4wMjQsNS44NTcsMTQuMTQzLDUuODU3czEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdjNy44MTEtNy44MTEsNy44MTEtMjAuNDc1LDAtMjguMjg1DQoJCQlMMjg0LjI4NiwyNTYuMDAyeiIvPg0KCTwvZz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K"); + width:15px; + height:15px; + } + +} + +.summary-template-holder { + background: #fff; + padding: 20px; + text-align: left; + + box-sizing: border-box; + border-radius: $borderRadius; + + position: sticky; + top: 20px; + + border: $bordersContainers; + + .summary-totalizers, + .summary-coupon-wrap { + width: 100% !important; + } + + .cart-more-options { + display: none !important; + } + + .summary-coupon { + text-align: center; + margin: 0 auto !important; + min-width: initial; + + fieldset.coupon-fieldset { + @if $showCouponField { + .coupon-data { + display: none !important; + } + } + + p { + margin: 0; + color: $muted2; + label { + cursor: initial; + font-size: 13px; + } + } + + input[type="text"], + button[type="submit"] { + @extend %input-style; + } + button[type="submit"] { + @extend .btn-secondary; + } + + .coupon-data { + margin: 0; + width: 100%; + a { + @extend .btn, .btn-link; + width: 100%; + text-decoration: underline; + } + } + + > div { + display: flex; + justify-content: space-between; + align-items: center; + + @if $showCouponField { + &[style*="none"] { + p.coupon-label { + display: none; + } + display: block !important; + } + } + + &[style*="flex"] { + p.coupon-label { + display: none; + } + p.coupon-fields { + width: 100%; + } + } + } + } + + p.coupon-fields { + span { + display: flex; + width: 100%; + position: relative; + &.info { + align-items: center; + padding: 0; + color: $muted1; + > span { + text-align: left; + margin-right: 10px; + color: $actionPrimary; + } + } + input { + width: 100%; + margin-right: 10px; + } + } + .delete { + width: auto; + #cart-coupon-remove { + color: $danger; + font-size: 0; + display: flex; + align-items: center; + + &:before { + content: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyLjAwMSA1MTIuMDAxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIuMDAxIDUxMi4wMDE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNMjg0LjI4NiwyNTYuMDAyTDUwNi4xNDMsMzQuMTQ0YzcuODExLTcuODExLDcuODExLTIwLjQ3NSwwLTI4LjI4NWMtNy44MTEtNy44MS0yMC40NzUtNy44MTEtMjguMjg1LDBMMjU2LDIyNy43MTcNCgkJCUwzNC4xNDMsNS44NTljLTcuODExLTcuODExLTIwLjQ3NS03LjgxMS0yOC4yODUsMGMtNy44MSw3LjgxMS03LjgxMSwyMC40NzUsMCwyOC4yODVsMjIxLjg1NywyMjEuODU3TDUuODU4LDQ3Ny44NTkNCgkJCWMtNy44MTEsNy44MTEtNy44MTEsMjAuNDc1LDAsMjguMjg1YzMuOTA1LDMuOTA1LDkuMDI0LDUuODU3LDE0LjE0Myw1Ljg1N2M1LjExOSwwLDEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdMMjU2LDI4NC4yODcNCgkJCWwyMjEuODU3LDIyMS44NTdjMy45MDUsMy45MDUsOS4wMjQsNS44NTcsMTQuMTQzLDUuODU3czEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdjNy44MTEtNy44MTEsNy44MTEtMjAuNDc1LDAtMjguMjg1DQoJCQlMMjg0LjI4NiwyNTYuMDAyeiIvPg0KCTwvZz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K"); + width: 11px; + height: 12px; + display: block; + line-height: 10px; + } + } + } + } + + i.icon-spin.loading-coupon { + border: 1px solid #666; + border-top: none; + border-radius: 100%; + font-size: 0; + width: 20px; + height: 20px; + padding: 0; + line-height: 0; + display: none; + margin: 0; + position: absolute; + top: 25%; + right: 10px; + z-index: -1; + } + } + + // .summary-coupon + + span.link-choose-more-products-wrapper { + display: none; + } + + .cart-links-bottom { + float: none; + margin: 10px 0 0 0; + + .btn { + width: 100%; + box-sizing: border-box; + &-success { + font-weight: bold; + } + } + + @media (max-width: $mobileWidth) { + position: fixed; + bottom: 0; + width: 100%; + left: 0; + z-index: 10000; + a { + border-radius: 0; + } + } + } + + .summary-totalizers { + .table td.space, + .table td.empty, + tbody.shipping-calculate { + display: none; + } + } + + .shipping-reset { + display:none; + } + + .accordion-inner { + margin-top: 10px; + } + + tr:not(.Shipping) { + display: flex !important; + justify-content: space-between; + border: none !important; + + &.CustomTax:not(.CustomTax--total) { + display: none !important; + } + } + + tbody { + border-top: 1px solid $muted4; + border-bottom: 1px solid $muted4; + padding: 15px 0; + display: block; + + td { + display: inline-block; + text-align: left !important; + width: auto; + color: $muted2; + font-size: 13px; + padding: 0 0 3px 0 !important; + &.monetary { + text-align: right !important; + margin-left: auto; + float: right; + } + } + } + tfoot { + tr td { + padding: 14px 0 !important; + color: $muted1; + font-size: 14px; + font-weight: bold; + &.monetary { + text-align: right !important; + margin-left: auto; + float: right; + color: $actionPrimary; + } + } + } +} + + +.summary-coupon {width: 100% !important;} + +.cart-select-gift-placeholder { + width: auto !important; + display: none !important; +} + +.cart-more-options { + width:100% !important; + margin:0 !important; + border:$bordersContainers; + padding:0; + min-height:0 !important; + display: flex !important; + flex-wrap: wrap; + + .cart-select-gift-placeholder { + display: block !important; + } + + .vtex-shipping-preview-0-x-alert { + .shp-alert-content.vtex-shipping-preview-0-x-content { + display: flex; + align-items:center; + } + } + + .srp-container { + + max-width:100% !important; + + .srp-main-title { + @extend %steps-title; + } + + span.error {display:none;} + .srp-toggle__wrapper { + label { + background:#FFF; + padding:10px 0; + border-radius:$borderRadius; + } + } + + .srp-delivery-info { + .b--light-gray { + background:#FFF; + border-radius:$borderRadius; + } + } + select, + input[type=text]:not(.pac-target-input) { + @extend %input-style; + outline: initial; + } + + form.srp-postal-code__form.dib.relative { + width: 100%; + } + button.shp-open-options {border-color:$actionPrimaryDarken;} + .onda-v1 .blue { + color:$actionPrimary; + outline: none; + } + .onda-v1 .b--blue { + border-color:$actionPrimary; + outline: none; + + } + + .onda-v1 .bg-blue { + background:$actionPrimary; + outline: initial; + + } + .vtex-shipping-preview-0-x-addressFormPart1.vtex-shipping-preview-0-x-geolocation input { + @extend %input-style; + } + .vtex-shipping-preview-0-x-pc .ship-country {width:98%;} + .vtex-shipping-preview-0-x-pc .btn { + @extend .btn-secondary; + height: $inputHeight; + outline: initial; + border-radius:$borderRadius; + } + + .ship-postalCode { + width: auto !important; + max-width: 190px; + input#ship-postalCode {width:100%;} + } + } + + .cart-select-gift-placeholder, + #shipping-preview-container { + margin:20px; + width:100%; + } + + .cart-select-gift-placeholder { + @media(min-width: $mobileWidth) {margin-bottom: 0;} + &:empty {display: none;} + } + + #shipping-preview-container { + width: 100% !important; + } + + @media(max-width: $mobileWidth) { + #shipping-preview-container {display: none !important;} + } + + .vtex-pickup-points-modal-3-x-pickupViewMode { + .btn { + padding:13px 0; + } + } + +} + + +.cart-select-gift-placeholder { + .available-gift-item.active { + background:$actionSecondary; + } + + .label-vertical-group:hover, + .icon-check-empty, + .icon-check-sign { + color: $muted2; + } + + .label-vertical-group:hover .icon-check-empty, + .icon-check-sign { + color: $actionPrimary; + } +} + + +// !IMPORTANT split cart in 2 columns + +.body-cart-vertical { + + .cart-template-holder { + width:calc(70% - 20px); + @media(max-width:998px) { + width:100%; + } + } + + .summary-template-holder { + width: 30%; + @media(max-width:998px) { + width:100%; + margin-top: 20px; + } + } + + .cart-template.full-cart.active { + display: flex; + flex-flow: wrap; + justify-content: space-between; + align-items: flex-start; + + .extensions-checkout-buttons-container { + width: auto !important; + margin:0; + } + + .totalizers.summary-totalizers.cart-totalizers { + width: 100%; + padding:0; + margin:0; + } + } +} + + +// end split cart in 2 columns diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_customAddressForm.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_customAddressForm.scss new file mode 100644 index 00000000..2f5fd2d6 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_customAddressForm.scss @@ -0,0 +1,245 @@ + + + +#shipping-data .accordion-group.shipping-data:after { + opacity: 0; + transition: all ease 0.3s; +} +.js-v-custom-is-loadAddress { + .vtex-omnishipping-1-x-warning { + display: none !important; + } + + #shipping-data .accordion-group.shipping-data:after { + content: ""; + display: block; + opacity: 1; + left: 0; + top: 0; + width: 100%; + height: 20px; + z-index: 2; + margin:0 0 20px 0; + border-radius: 3px; + @extend %loading-shimmer; + } + + #postalCode-finished-loading + .mb5 { + display: none !important; + } + +} + + +.vcustom--vtex-omnishipping-1-x-address { + display: none; +} +body.v-custom-addressForm-on { + + + &.v-custom-step-shipping { + .vcustom--vtex-omnishipping-1-x-address { + display: block; + } + .v-custom-ship-info { + display:flex; + .ship-number { + margin-right: 10px; + } + } + .vtex-omnishipping-1-x-addressForm, .vtex-omnishipping-1-x-deliveryGroup, .vtex-omnishipping-1-x-submitPaymentButton { + display: none; + } + } + +} + +.vtex-omnishipping-1-x-submitShippingStepButton { + margin: 20px 0 0 0; +} + + +body.v-custom-googleForm-on { + .pac-container.pac-logo { + //display: block !important; + } + + .vtex-omnishipping-1-x-deliveryGroup, + .vtex-omnishipping-1-x-addressForm, + .vtex-omnishipping-1-x-submitPaymentButton, + .vtex-omnishipping-1-x-btnDelivery { + display:none + } + + .alert-noStreet { + display: none; + } + +} + +.v-custom-googleFormScript-added.v-custom-googleForm-on .accordion-inner.shipping-container > * { + display: none; +} + + + +body.v-custom-fnsCustomAddressForm { + + .accordion-inner.shipping-container { + padding-top:0 !important; + } + + + .accordion-inner.shipping-container { + transition:all ease 0.3s; + } + + .vtex-omnishipping-1-x-selectDeliveryText + div {margin:0 !important;} + + .orderform-template-holder p.vtex-omnishipping-1-x-submitPaymentButton.btn-submit-wrapper.btn-go-to-payment-wrapper { + margin-bottom:0 !important; + } + + .vtex-omnishipping-1-x-addressFormPart1 { + .input.ship-country, + .input.ship-addressQuery, + .input.ship-postalCode {display: none;} + } + + &.returningUser { + .vtex-omnishipping-1-x-addressFormPart1 { + .input.ship-postalCode {display: block;} + } + } + + .vtex-omnishipping-1-x-container.shp-pickup-receiver + + .vtex-omnishipping-1-x-shippingSectionTitle + + #back-to-address-list + + .vtex-omnishipping-1-x-addressFormPart1 p.input.ship-postalCode, + .vtex-omnishipping-1-x-container.shp-pickup-receiver + + .vtex-omnishipping-1-x-shippingSectionTitle + + .vtex-omnishipping-1-x-addressFormPart1 p.input.ship-postalCode { + display:block; + } + + .orderform-template-holder { + .step.shipping-data .box-step { + .vtex-omnishipping-1-x-addressFormPart1 {order: 1;} + } + } + + .pac-logo[style*="none"] { + border:0; + } + .pac-logo[style*="none"]:after { + display: none; + } + + #shipping-data .accordion-inner + .vcustom--vtex-omnishipping-1-x-address { + display: none; + } + + div#shipping-data { + display: flex; + flex-wrap: wrap; + > * { + width:100%; + } + + .step.accordion-group.shipping-data {order: 1;} + .vcustom--vtex-omnishipping-1-x-address {order: 3;} + } + + + +} + +.js-v-custom-is-loading { + + .accordion-inner.shipping-container, + .vcustom--vtex-omnishipping-1-x-address { + overflow: hidden; + } + + .vcustom--vtex-omnishipping-1-x-address { + height: 120px; + position:relative; + + &:before { + content:""; + display:block; + position:absolute; + left:0; + top:0; + width:100%; + height:100%; + z-index:2; + @extend %loading-shimmer; + } + } + + .accordion-inner.shipping-container > *, + .vcustom--vtex-omnishipping-1-x-address > * { + opacity:0.5 + } + +} + +.vcustom--vtex-omnishipping-1-x-address { + transition:all ease 0.3s; + + p.input { + float: none; + width: 100%; + margin: 0; + } + + label { + @extend %label; + } + + span.help.error {display: none;} + + input { + @extend %input-style; + max-width: initial; + width: 100%; + + + } + + input.error + span.help.error, + select.error + span.help.error {display: block;} + + &__state { + display: flex; + margin: 0 -5px; + p.input { + margin:0 5px; + } + @media (max-width:768px) { + flex-wrap:wrap; + margin: 0; + p.input.ship-state {margin:0;} + } + } + +} + +//google address form + +.pac-container.pac-logo {border: 1px solid $muted4; border-radius: $borderRadius;} + +.pac-logo:after { + background: #fbfbfb url(https://developers.google.com/maps/documentation/images/powered_by_google_on_white.png) no-repeat 10px center; + padding: 14px; + background-size: 110px; +} + + +.address-list.vtex-omnishipping-1-x-addressList + p.input.ship-addressQuery.text {display:none;} + +.alert-noStreet { + margin: 30px auto 0 auto; + text-align: center; +} diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_debug.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_debug.scss new file mode 100644 index 00000000..80aee4ea --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_debug.scss @@ -0,0 +1,3 @@ +body.debug-on > *:not(.container-main, .main-header, .main-footer, #vtexIdContainer,.vtex-front-messages-placeholder, .pac-container) { + display:none; +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_fns.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_fns.scss new file mode 100644 index 00000000..f62fa519 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_fns.scss @@ -0,0 +1,9 @@ +@function str-replace($string, $search, $replace: '') { + $index: str-index($string, $search); + + @if $index { + @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); + } + + @return $string; +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_footer.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_footer.scss new file mode 100644 index 00000000..91daef2d --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_footer.scss @@ -0,0 +1,31 @@ +.main-footer { + clear: both; + text-align: center; + padding: 2px 0; + border-top:1px solid $muted4; + + position: absolute; + bottom: 0; + width: 100%; + z-index:-1; + + .container {position: initial;} + + @media(max-width: 768px) { + position:relative; + } + + a.credits-vtex { + width: 100px; + display: block; + margin: 0 auto; + } + .vtex-logo { + display: block; + margin: 0 auto; + } + + svg, svg path { + fill:$muted3; + } +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_global.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_global.scss new file mode 100644 index 00000000..fe22d85b --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_global.scss @@ -0,0 +1,159 @@ +// _global.scss + +body { + font-family:$fontFamily; + min-width: initial !important; + padding: 0; + background: $base; + padding-bottom:40px !important; + + min-height: 93vh; + position: relative; + font-size: $fontSize; + + overflow-x:hidden; + + a { + color:$actionPrimary; + &:hover { + color:$actionPrimaryDarken; + } + } + + @media(max-width: 768px) { + padding-bottom:0px !important; + } + + //short preloader to don't show a empty cart + .cart-template.full-cart { + > * { + opacity: 0; + transition-delay:1.2s; + transition-property: opacity; + -webkit-transition-duration:0.5s; + } + } + &.v-custom-loaded { + .cart-template.full-cart { + > * {opacity: initial;} + } + } + //end short preloader to don't show a empty cart + + &.returningUser.v-custom-addressForm-on.v-custom-step-shipping + .accordion-inner.shipping-container { + + .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation { + display: block; + } + + .vtex-omnishipping-1-x-deliveryGroup { + display: block; + } + + .vtex-omnishipping-1-x-submitPaymentButton { + display: block; + } + } +} + +.onda-v1 .br-pill, +.step, .cart, .totalizers { + border-radius:$borderRadius; +} + +.container-main { +} + +.loading.loading-bg { + background:$base; +} + +// containers + +.container { + max-width:$maxWrapper; + width:calc(100% - 40px); + @media(max-width: $mobileWidth) { + width:calc(100% - 20px); + } +} + + + +.checkout-container { + overflow: initial !important; + z-index: 2; + + @media(max-width: 768px) { + margin-bottom: 30px; + } + + .orderform-template, + .cart-template { + display: flex; + justify-content: space-between; + align-items: flex-start; + transition:position ease 0.8s, opacity ease 0.8s, margin ease 0.8s; + &.inactive { + max-height: 50vh; + overflow:hidden; + top:0; + position: absolute; + } + } + .full-cart { + &.inactive { + margin-left: -140%;; + } + } + .orderform-template { + &.inactive { + left: 140%; + margin: 0; + display:none !important; + } + } +} + + +//titles + + .container-cart h1, + h1#orderform-title { + font-size: 22px !important; + font-weight: 400 !important; + color: $muted1 !important; + } + + h1#orderform-title {display:none !important;} + + +// assemblies custom vtex + + .v-custom-assemblies { + margin: 10px 0 3px 0; + overflow: hidden; + border-top: 1px solid $muted4; + padding-top: 7px; + @media(max-width: $mobileWidth) { + width: 100%; + left:0; + margin-bottom: 2px; + } + + p {display: none;} + &__values { + list-style: none; + padding: 0; + margin: 0; + + &__item { + strong { + &:after {content:":";} + } + span, strong {line-height: 14px;} + } + } + + } \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_header.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_header.scss new file mode 100644 index 00000000..1b0c2a6c --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_header.scss @@ -0,0 +1,139 @@ +// _global.scss + + +body { + .main-header { + padding:12px 0; + text-align: center; + border-bottom: 1px solid $muted4; + position:relative; + background-color: #FFF; + margin-bottom:40px; + + &, > .container { + display:flex; + align-items: center; + @media (max-width:$mobileWidth) { + justify-content: center; + } + } + > .container { + &:before, + &:after {display: none;} + } + + + .header-link { + position:absolute; + left:0px; + top: calc(100% + 18px); + display: none; + a { + height:20px; + font-size:11px; + line-height: 115%; + padding-left:0px; + color:$muted2; + display: flex; + align-items: center; + + &:before { + display:block; + float:left; + width:10px; + height: 10px; + + -webkit-mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDQzLjUyIDQ0My41MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQzLjUyIDQ0My41MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxwYXRoIGQ9Ik0xNDMuNDkyLDIyMS44NjNMMzM2LjIyNiwyOS4xMjljNi42NjMtNi42NjQsNi42NjMtMTcuNDY4LDAtMjQuMTMyYy02LjY2NS02LjY2Mi0xNy40NjgtNi42NjItMjQuMTMyLDBsLTIwNC44LDIwNC44DQoJCQljLTYuNjYyLDYuNjY0LTYuNjYyLDE3LjQ2OCwwLDI0LjEzMmwyMDQuOCwyMDQuOGM2Ljc4LDYuNTQ4LDE3LjU4NCw2LjM2LDI0LjEzMi0wLjQyYzYuMzg3LTYuNjE0LDYuMzg3LTE3LjA5OSwwLTIzLjcxMg0KCQkJTDE0My40OTIsMjIxLjg2M3oiLz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==) no-repeat 50% 50%; + mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDQzLjUyIDQ0My41MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQzLjUyIDQ0My41MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxwYXRoIGQ9Ik0xNDMuNDkyLDIyMS44NjNMMzM2LjIyNiwyOS4xMjljNi42NjMtNi42NjQsNi42NjMtMTcuNDY4LDAtMjQuMTMyYy02LjY2NS02LjY2Mi0xNy40NjgtNi42NjItMjQuMTMyLDBsLTIwNC44LDIwNC44DQoJCQljLTYuNjYyLDYuNjY0LTYuNjYyLDE3LjQ2OCwwLDI0LjEzMmwyMDQuOCwyMDQuOGM2Ljc4LDYuNTQ4LDE3LjU4NCw2LjM2LDI0LjEzMi0wLjQyYzYuMzg3LTYuNjE0LDYuMzg3LTE3LjA5OSwwLTIzLjcxMg0KCQkJTDE0My40OTIsMjIxLjg2M3oiLz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==) no-repeat 50% 50%; + -webkit-mask-size: cover; + mask-size: cover; + background-color: $muted2; + content:""; + } + + &.back-cart-link {display:none;} + } + @media (max-width:$mobileWidth) { + top:50%; + transform: translateY(-50%); + a { + max-width: 80px; + &:before { + width: 17px; + height: 17px; + } + } + } + } + + .logo { + max-width: calc(100% - 180px); + + svg.vtex-logo { + height:50px; + } + } + .logo, + .logo img { + display: inline-block; + font-size:24px; + border:none; + line-height: 39px; + + } + + .checkout-steps { + max-width: 540px; + margin-left: auto; + padding-right: 10px; + } + + } + + &:not(.body-cart) { + .main-header { + @media (max-width: $mobileWidth) { + padding:4px 0; + margin-bottom: 10px; + + .v-custom-mhide {display: none !important;} + + &, > .container { + background:none; + border:none; + justify-content: center; + } + + .logo { + + cursor: default; + pointer-events: none; + font-weight: bold; + + svg, + img {display: none !important;} + &:before { + content:"checkout"; + text-transform: uppercase; + } + + &, &:hover { + color:$muted1; + font-size: 14px; + } + } + + .header-link {display: block;} + a.buy-more-link {display:none;} + a.back-cart-link { + display:block !important; + font-size: 0; + &:before { + background: $muted1; + } + } + } + } + } +} + diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_hide-email-step.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_hide-email-step.scss new file mode 100644 index 00000000..60e6f5dc --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_hide-email-step.scss @@ -0,0 +1,26 @@ + + +body.js-vcustom-hideEmailStep { + .orderform-template-holder #client-profile-data form.client-pre-email.client-pre-email { + display:none !important; + } + + .client-profile-data .accordion-toggle>span:before { + content:"1"; + } + + .shipping-data .accordion-toggle:before { + content:"2"; + } + + .payment-data .accordion-toggle>span:not(.payment-edit-link):before { + content:"3"; + } + + .client-profile-data .accordion-toggle > span:before {@extend %countingStepsActive;} + + .client-pre-email+.client-profile-data .accordion-body .accordion-inner { + display: block; + } +} + diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_input.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_input.scss new file mode 100644 index 00000000..4e027ebf --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_input.scss @@ -0,0 +1,49 @@ + +input, select, button { + outline: none !important; +} +//input + +%input-style { + height: $inputHeight; + line-height:$inputHeight; + max-height:initial; + display:inline-block; + padding:0px 10px ; + border-radius:$borderRadius; + border:1px solid $muted4; + outline: initial; + font-family:$fontFamily; + + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + + &.error { + border-color:$danger; + } + + &:focus { + box-shadow:inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(0,0,0,0.4); + } +} + + +input#creditCardpayment-card-0Number, +input#creditCardpayment-card-0Code, +input#creditCardpayment-card-1Number, +input#creditCardpayment-card-1Code{ + font-size:18px; +} + +//remove autofill from chrome + +input:-webkit-autofill, +input:-webkit-autofill:hover, +input:-webkit-autofill:focus, +input:-webkit-autofill:active { + animation: input_background_autofill 0s forwards; +} +@keyframes input_background_autofill { + 100% { background-color: transparent } +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_jsInteractions.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_jsInteractions.scss new file mode 100644 index 00000000..9727f2ed --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_jsInteractions.scss @@ -0,0 +1,162 @@ + +//note field + +.orderform-template .summary-note { + &.js-active { + display:block !important; + } +} + +// coupon field + +body.js-vcustom-showNoteField { + .orderform-template { + .payment-confirmation-wrap { + display:block !important; + .payment-submit-wrap {display:none;} + } + .summary-note {display: block !important;} + } + &.v-custom-step-payment { + .orderform-template { + .payment-confirmation-wrap { + .payment-submit-wrap {display:block !important;} + } + } + } +} + +.summary-coupon fieldset.coupon-fieldset { + .vcustom-showCustomMsgCoupon { + border: 1px dashed $warning; + padding: 1px; + font-size: 11px; + background: $warningFaded; + border-radius: $borderRadius; + margin-top:4px !important; + clear: both; + } +} + + +// custom tax + +.vcustom-customTax-tot { + display: inline-block; + position: relative; + margin-left:5px; + > span { + background:$muted5; + width:15px; + height:15px; + line-height:15px; + display:inline-block; + border-radius:100%; + text-align:center; + cursor: pointer; + } + + &:hover { + .vcustom-customTax-resume { + display: block; + } + } +} + +.vcustom-customTax-resume { + position: absolute; + left: calc(100% + 10px); + width: 128px; + background: $muted5; + top: 50%; + font-size: 11px; + padding: 10px; + transform: translateY(-50%); + display: none; + &__i { + display: flex; + justify-content: space-between; + margin: 0; + } + &:before { + content:""; + display:block; + position:absolute; + left:-4px; + top:calc(50% - 4px); + width: 0; + height: 0; + border: 0 solid transparent; + border-top-width: 4px; + border-bottom-width: 4px; + border-right: 4px solid $muted5; + } +} + +// custom coupon flag + +.v-custom-addLabels-active-flag { + background:#FFF; + color: $muted1; + padding: 1px 4px; + border-radius: $borderRadius; + display: inline-block; + align-items: center; + font-size: 11px; + border:1px solid $muted4; + + &:before { + content:""; + display:inline-block; + width: 14px; + height: 14px; + background:url("//io.vtex.com.br/front-libs/bootstrap/2.3.2/img/glyphicons-halflings.png"); + background-repeat: no-repeat; + background-position: 0 -48px; + margin-right: 4px; + opacity: 0.9; + vertical-align: middle; + } +} + +.table.cart-items tbody tr.product-item, .mini-cart .cart-items li { + .v-custom-addLabels-active-flag { + } +} + +// assemblies custom vtex + + .v-custom-assemblies { + margin: 10px 0 3px 0; + overflow: hidden; + border-top: 1px solid $muted4; + padding-top: 7px; + @media(max-width: $mobileWidth) { + width: 100%; + left:0; + margin-bottom: 2px; + } + + p {display: none;} + &__values { + list-style: none; + padding: 0; + margin: 0; + + &__item { + strong { + &:after {content:":";} + } + span, strong {line-height: 14px;} + } + } + + } + +//js + + +body.v-custom-paymentBuilder-accordion .steps-view {display: none;} +body.v-custom-changeShippingTimeInfo .orderform-template .cart-template.mini-cart .item span.shipping-date { + display: none; +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_modals.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_modals.scss new file mode 100644 index 00000000..678cfe94 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_modals.scss @@ -0,0 +1,24 @@ +.default-modal { + border-radius:$borderRadius; + height:auto; +} + +.modal { + .btn { + background: #FFF; + } +} + +.modal.guest-login-modal {} + .modal.guest-login-modal button.btn {width:auto;} + +.modal.guest-login-modal, +.modal.modal-email-template , +.modal.modal-payment-template, +.modal.modal-masked-info-template { + background:$success; +} + +.payment-confirmation-message { + width:100%; +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_overwriting.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_overwriting.scss new file mode 100644 index 00000000..a1258b8c --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_overwriting.scss @@ -0,0 +1,178 @@ + +.payment-data .gift-card-section, .payment-data .payment-discounts-alert { + margin: 0; + width: 100% !important; + box-sizing: border-box; +} + +.input-append, .input-prepend { + display: flex !important; + align-items: stretch; + + .btn, + .add-on { + height: $inputHeight; + line-height:$inputHeight; + box-sizing: border-box; + padding: 0; + width:20px; + } + .add-on { + height: initial !important; + } + input { + border-radius: 0 $borderRadius $borderRadius 0 !important; + width:100% !important; + max-width: 100px !important; + } +} + +.payment-discoints-table .number, .gift-card-provider-group .number, .payment-discoints-table .action, .gift-card-provider-group .action { + text-align:right; +} + + +@media (max-width: $mobileWidth) { + .orderform-template-holder .client-profile-data input[type="text"] { + width:100% !important; + } + +} + +//imported from io.vtex (just changing the @media width) +@media (max-width: $mobileWidth) { + .item-quantity-change { + display: inline-block; + } + .item-quantity-change { + float: left; + padding: 3px 5px 3px 0px; + } + .item-quantity-change-increment { + padding-left: 5px; + padding-right: 0; + } + .full-cart .cart-links-bottom .btn-success { + width: 83%; + display: block; + margin-top: 10px; + } + .full-cart .cart table { + display: block; + margin-top: 0 !important; + } + .full-cart .cart table thead { + display: none; + } + .full-cart .cart table tbody { + display: block; + } + .full-cart .cart table tbody tr + tr { + border-top: 1px dashed #ddd; + } + .full-cart .cart table tbody tr { + display: block; + margin-top: 10px; + padding: 10px 0; + position: relative; + } + .full-cart .cart table tbody tr .product-name a, + .full-cart .cart table tbody tr .product-name .seller { + overflow: hidden; + } + .full-cart .cart table tbody tr td { + display: inline-block; + padding: 4px 0; + } + .full-cart .cart table tbody tr td.product-name .seller { + display: block; + line-height: 120%; + font-size: 80%; + margin: 4px 0; + } + .full-cart .cart table tbody tr td.product-image, + .full-cart .cart table tbody tr td.bundle-item-image { + left: 0; + position: absolute; + } + .full-cart .cart table tbody tr td.product-name { + display: block; + margin-left: 60px; + text-align: left; + line-height: 140%; + width: auto; + } + .full-cart .cart table tbody tr td.product-name { + padding: 0 0 10px !important; + } + .full-cart .cart table tbody tr td.empty, + .full-cart .cart table tbody tr td.shipping-date, + .full-cart .cart table tbody tr td .brand { + display: none; + } + .full-cart .cart table tbody tr td.product-name a, + .full-cart .cart table tbody tr td.bundle-item-name span { + display: block; + padding-right: 20px; + } + .full-cart .cart table tbody tr td.quantity { + width: 81px; + padding: 0px; + margin-left: 60px; + } + .full-cart .cart table tbody tr td.quantity input { + float: left; + margin: 0; + width: 25px; + } + .full-cart .cart table tbody tr td.product-price { + text-align: right; + float: right; + margin-right: 5px; + padding: 0; + } + .full-cart .cart table tbody tr td.quantity-price { + display: none; + } + .full-cart .cart table tbody tr td.item-remove { + position: absolute; + top: 2px; + right: 0; + width: 24px; + } + .cart-links-bottom { + float: none; + margin-top: 5px; + margin-bottom: 40px; + text-align: right; + } + .more { + margin-right: 0; + } + .full-cart .cart-links-bottom .btn-success { + width: auto; + } + .full-cart .cart table tbody tr.item-attachments-head { + border: 0; + margin: 0; + padding: 0; + } + .full-cart .cart table tbody tr.item-attachments-head .item-attachments-header { + top: auto; + } + .full-cart .cart table tbody tr.item-attachments-head .item-attachments-header:after { + content: none; + } + .full-cart .cart table tbody tr.item-attachments-head .item-attachments-header strong { + box-shadow: none; + } + .full-cart .cart table tbody tr.item-attachments-content { + margin: 0; + border: 0; + padding: 0; + } + .full-cart .cart table tbody tr.item-attachments-content .item-attachments-item-fields { + margin-left: 5px; + width: 95%; + } +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_payment.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_payment.scss new file mode 100644 index 00000000..d366896e --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_payment.scss @@ -0,0 +1,1336 @@ + +@import '_card-flags.scss'; + +%label { + margin:10px 0 5px 0;display:block;color:$muted3; +} +// loadin shhimer + + +@keyframes placeHolderShimmer{ + 0%{ + background-position: -468px 0 + } + 100%{ + background-position: 468px 0 + } +} + +%loading-shimmer { + animation-duration: 1.25s; + animation-fill-mode: forwards; + animation-iteration-count: infinite; + animation-name: placeHolderShimmer; + animation-timing-function: linear; + background: darkgray; + background: linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%); + background-size: 800px 104px; + +} +// set svgs + + svg.pickup-marker-blue, + svg.pickup-marker-blue path, + svg.pkpmodal-pickup-point-marker-image, + svg.pkpmodal-pickup-point-marker-image path, + svg.vtex-omnishipping-1-x-svg, + svg.vtex-omnishipping-1-x-svg path, + svg.pkpmodal-pickup-point-best-marker-image path:not([fill="white"]) { + fill: $actionPrimary; + } + +// -- vertical checkout + + +.container.container-main.container-order-form { + @media(max-width: 768px) { + width: calc(100% - 20px); + } +} + +.orderform-template-holder{ + + + + #client-profile-data {width: 100%;} + #client-profile-data form.client-pre-email, + #client-profile-data .step.client-profile-data, + #shipping-data, + #payment-data { + width:100% !important; + padding:0; + margin:0; + box-sizing: border-box; + + background:#FFF; + border-radius:$borderRadius; + + margin-bottom:20px !important; + z-index: initial; + + border:$bordersContainers; + + + @if $countingSteps { + padding:30px; + @media(max-width: 768px) { + padding:20px; + } + } @else { + padding:4px 15px 15px 10px; + } + + &.client-pre-email {display:block !important;padding-bottom: calc( #{$inputHeight} + 14px + 30px);} + + .link-box-edit { + background: none; + box-shadow: none; + border: none; + color: $actionPrimary; + outline: none; + + position: absolute; + right: 0; + top: 50%; + padding: 1px; + font-size: 14px; + transform: translateY(-50%); + opacity: 0.7; + + transition: all ease 0.2s; + + + &:hover { + opacity: 1; + } + + i.icon-spinner { + font-size: 17px; + position: absolute; + right: 0; + display: none; + top: -7px; + } + + &.active { + i.icon-edit {display: none;} + i.icon-spinner { display: block; } + } + } + + .accordion-toggle { + padding:0; + @extend %steps-title; + > i {display: none;} + > span { + line-height: 20px; + display: block; + vertical-align: middle; + @if $countingSteps { + line-height: initial; + } + } + } + + + .accordion-toggle, + .accordion-inner { + padding: 0; + } + + + input[type=text], + input[type=tel], + input[type=email], + select { + &:not(.pac-target-input) { + @extend %input-style; + width: 100%; + max-width: 100%; + outline: initial; + } + } + + &.active { + + @if $countingSteps { + + } + } + + } + + #payment-data { + + + p.link.link-gift-card, + .payment-group-item { + box-sizing: border-box; + margin: 0 6px 10px 0; + border-radius: $borderRadius; + border:1px solid $muted4; + opacity: 1; + text-decoration: none; + color: $muted1; + transition: all ease 0.3s; + + padding: 11px; + text-align: center; + display: flex; + align-items: center; + justify-content: center; + background: $muted6; + float: left; + width:100%; + + &.active { + background:#FFF; + span { + color:$emphasis; + + } + } + + &.active, + &:hover { + box-shadow:0 0 6px $muted4; + border:1px solid $actionPrimary; + } + } + + + + p.link.link-gift-card, + fieldset.payment-group { + width: 100%; + left: 0; + display:block; + background: none; + position: relative; + margin:0; + } + + #iframe-placeholder-creditCardPaymentGroup { + padding-top: 32px; + > .payment-group-item-cards { + display: block; + overflow: hidden; + position: absolute; + right: 0; + top:0; + .card-flag { + opacity:1; + } + } + } + + p.link.link-gift-card { + margin-bottom: 10px; + padding:0; + a{ + padding: 10px 10px; + display: block; + text-align: left; + } + } + + .payment-group-list-btn { + width: 100%; + } + + p.link.link-gift-card *, + .payment-group-item * { + font-size:12px !important; + font-weight:bold; + } + + .payment-group-item { + position: relative; + height: 40px; + span.payment-group-item-text { + padding: 0; + line-height: 17px; + background: none !important; + } + + &:first-child:nth-last-child(n + 2), + &:first-child:nth-last-child(n + 2) ~ .payment-group-item { + width: calc(50% - 3px); + } + &:first-child:nth-last-child(n + 3), + &:first-child:nth-last-child(n + 3) ~ .payment-group-item { + width: calc(33.3% - 4px); + } + &:first-child:nth-last-child(n + 4), + &:first-child:nth-last-child(n + 4) ~ .payment-group-item { + width: calc(25% - 4.8px); + } + &:first-child:nth-last-child(n + 5), + &:first-child:nth-last-child(n + 5) ~ .payment-group-item { + width: 100%; + margin-right: 0; + height: auto; + &:after, + &:before { + display: none; + } + &:hover { + top:0; + } + } + &:last-child { + margin-right:0; + } + &:hover { + position: relative; + background: #FFF; + top: -2px; + } + + &.active { + + &:after, + &:before { + content: ''; + display: block; + position: absolute; + left: 50%; + transform:translateX(-50%); + top:100%; + width: 0; + height: 0; + border-style: solid; + } + + &:after { + border-color: #FFF transparent transparent transparent; + border-width: 6px; + } + + &:before { + border-color: $actionPrimary transparent transparent transparent; + border-width: 7px; + } + } + } + + .gift-card-section.form-step.box-default { + padding: 0; + margin: 0; + width: 100%; + label { + font-weight:bold; + color:#000; + font-size:12px; + } + } + + p.payment-discounts-options, + p.gift-card-provider-options { + display:flex; + align-items: center; + padding-bottom: 10px; + input, select {margin:0 10px;} + + label { + line-height: 12px; + margin: 0; + } + } + + .payment-discounts-list { + margin-bottom: 10px; + .gift-card-provider-group-loyalty-program { + border-bottom: 1px solid $muted5; + } + table { + width: 100%; + + td {padding:0;} + tbody, + tr { + display:flex; + width: 100%; + flex-wrap: wrap; + align-items: center; + } + td.code, + td.number { + margin-right:20px; + flex-grow: 1; + padding:0; + } + #remove-gift-card { + text-decoration:underline; + color:$danger; + } + + td.action { + a { + @extend .btn, .btn-secondary; + } + } + } + + } + + input#payment-discounts-code { + width:100% !important; + } + + .gift-card-multiple-providers { + + } + + #btn-add-gift-card { + @extend .btn-secondary; + height: $inputHeight; + border-radius: $borderRadius; + } + + .steps-view { + width: 100% !important; + padding: 0; + min-height: initial; + + iframe { + margin:0; + } + } + + p.notification { + font-weight: bold; + font-weight: 400; + color:$muted1; + &:not([style="display: none;"]) + .box-step { + padding:0; + border:none; + } + } + + &:last-child { + @media (min-width: 769px) { + margin-bottom:0px !important; + } + } + + //custom (from js) + + .v-custom-payment-item-wrap { + box-sizing: border-box; + border-radius: $borderRadius; + background:#FFF; + border:1px solid $muted4; + color: $muted1; + transition: all ease 0.3s; + overflow: hidden; + margin-bottom: 10px; + + &.active, + &:hover { + border-color:$actionPrimary; + box-shadow:0 0 6px #ddd; + } + + #iframe-placeholder-creditCardPaymentGroup { + padding-top: 0; + } + + .payment-group-item { + border:none; + border-bottom: 1px solid transparent; + box-shadow:none; + margin:0; + width: 100% !important; + height:auto; + top:0; + + &-text { + margin-right: auto; + text-align: left; + line-height: 27px !important; + white-space: nowrap; + &:before { + content:""; + width:20px; + height:20px; + display:inline-block; + border:1px solid $muted3; + border-radius:100%; + vertical-align: middle; + margin: -3px 10px 0 0; + } + } + + &-cards { + display:flex; + justify-content: flex-end; + flex-wrap: wrap; + .card-flag { + + &:last-child { + margin: 0; + } + } + + @media(max-width:360px) { + display:none; + } + } + + &.active { + background: $actionSecondary; + border-bottom:1px solid $actionPrimary; + .payment-group-item-text { + + &:before { + background: $actionPrimary; + border-color:$actionPrimary; + box-shadow:inset 0 0 0 3px #FFF; + } + } + + .payment-group-item-cards { + span {opacity:1;} + } + } + + &:hover { + .payment-group-item-text { + &:before { + border-color:$actionPrimary; + } + } + } + + &:before, + &:after {display: none;} + + &#payment-group-payPalPaymentGroup { + position: relative; + &:after { + content:""; + width: 50px; + height:20px; + display:block; + background: url('https://io.vtex.com.br/checkout-ui/v6.18.19/img/payment-paypal-landscape.png') center no-repeat; + background-size: contain; + position: absolute; + top: 50%; + transform: translateY(-50%); + right: 12px; + left: initial; + border: none; + } + } + &#payment-group-AffirmPaymentGroup:after { + content: ""; + width: 65px; + height: 25px; + display: block; + background: url(https://cdn-assets.affirm.com/images/black_logo-transparent_bg.png) center no-repeat; + background-size: contain; + position: absolute; + top: 49%; + transform: translateY(-50%); + right: 3px; + left: initial; + border: none; + } + } + + .payment-group-item.active + div, + &.active > div { + padding:20px; + overflow: hidden; + box-sizing: border-box; + } + + .SecurityEnvironmentIcon {display: none;} + + } + } + + .step { + + border:none; + padding:0; + background: none; + margin-bottom: 0; + + @media(max-width:868px) { + width:100%; + } + + .box-info { + color:$muted1; + &[style*="display: block"] { + margin-top: 10px; + } + } + + .form-step { + fieldset { + width: 100%; + float:none; + + p { + position:relative; + @media(max-width: $mobileWidth) { + float:none !important; + } + + &.client-last-name, + &.client-first-name { + width: calc(50% - 5px); + position: relative; + @media(max-width: $mobileWidth) { + width: 100%; + input[type="text"] {width: 100% !important;} + } + } + span.help.error { + position:absolute; + font-size:11px; + margin-top: 0; + } + + } + + &.box-client-info-pj {padding-top:15px;} + + &.box-payment-option { + h3 {display:none;} + } + } + + + #is-corporate-client {color:$actionPrimary;} + + } + + .input.text { + label {@extend %label;} + } + + &.client-profile-data { + .client-notice.notice {margin: 0 0 10px 0;} + .box-client-info { + margin-bottom: 20px; + } + .client-document, .client-phone { + width:calc(50% - 5px); + @media(max-width:$mobileWidth) { + width:100%; + } + } + + + } + + &.shipping-data { + .box-step { + display: flex; + flex-wrap: wrap; + > * { + width:100%; + order: 1; + + //&:not(#postalCode-finished-loading), + //&:not(.vtex-omnishipping-1-x-geolocation) {margin:0 0 20px 0;} + + &.vtex-omnishipping-1-x-addressFormPart1 {order: 1;} + &.vtex-omnishipping-1-x-addressForm { order: 2; } + &.vtex-omnishipping-1-x-addressInfo { order: 3; } + &.vtex-omnishipping-1-x-deliveryGroup { order: 4; } + &.vtex-omnishipping-1-x-submitPaymentButton { order: 100; } + &.btn-link.vtex-omnishipping-1-x-btnDelivery { + order: 5; + margin-top: 20px; + background: $actionPrimary; + } + + &#postalCode-finished-loading, + &:last-child { + margin:0; + } + } + } + + .vtex-omnishipping-1-x-address { + margin:0; + + } + + .vtex-omnishipping-1-x-addressSummaryActive .address-summary { + background: url("data:image/svg+xml;utf8, ") no-repeat; + background-position: 12px 9px; + border:1px solid $muted4; + } + + .vtex-omnishipping-1-x-SummaryItemGroup {} + + .vtex-omnishipping-1-x-content {align-items: center;} + .vtex-omnishipping-1-x-deliveryChannelsOption { + background:#FFF; + } + .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation input { + @extend %input-style; + } + .vtex-omnishipping-1-x-pickupButton, + .vtex-pickup-points-modal-3-x-pickupViewOptionActive, + .vtex-pickup-points-modal-3-x-pickupViewOptionActive:hover, + .vtex-pickup-points-modal-3-x-pickupViewOptionActive:active, + .vtex-pickup-points-modal-3-x-pickupViewOptionActive:focus, + .vtex-omnishipping-1-x-deliveryChannelsTogglePickup, + .vtex-omnishipping-1-x-deliveryChannelsOption.vtex-omnishipping-1-x-deliveryOptionActive { + background:$actionPrimary; + border-color:$actionPrimary; + border-radius: $borderRadius; + } + + .vtex-pickup-points-modal-3-x-pickupViewOptionInctive { + color:$actionPrimary; + border-color:$actionPrimary; + border-radius: $borderRadius; + } + + .vtex-omnishipping-1-x-addressItemOption:hover, + .vtex-omnishipping-1-x-active { + background-color: $actionSecondary; + } + + .shipping-method-toggle { + border-color:$actionPrimary; + } + + + .vtex-omnishipping-1-x-alert { + border-color:$warning; + display: flex; + align-items:center; + } + + .vtex-omnishipping-1-x-linkEdit { text-decoration: underline; } + .vtex-omnishipping-1-x-deliveryChannelsWrapper, + .vtex-omnishipping-1-x-deliveryChannelsToggle {border-radius: $borderRadius;} + .vtex-omnishipping-1-x-deliveryChannelsWrapper { + border:1px solid $muted4; + width:100%; + overflow: hidden; + margin:0 0 20px 0; + } + .vtex-omnishipping-1-x-summaryChange { + background:$actionSecondary; + border-color:$muted4; + color:$actionPrimary; + } + + .vtex-omnishipping-1-x-leanShippingGroupList { + border-color:$muted5; + margin: 0; + } + + .vtex-omnishipping-1-x-option:hover, + .vtex-omnishipping-1-x-leanShippingOptionActive, + .vtex-omnishipping-1-x-leanShippingOption { + background:#FFF !important; + } + + .vtex-pickup-points-modal-3-x-modalDetailsBackLnk svg path, + .vtex-pickup-points-modal-3-x-modalDetailsBackLnk { + color: $muted2; + fill:$muted2; + } + + .vtex-pickup-points-modal-3-x-primary { + outline:none; + background:$actionPrimary; + border-color:$actionPrimary; + } + + .vtex-omnishipping-1-x-pickupPointChange { + border-color:$actionPrimary; + } + + .vtex-omnishipping-1-x-address { + p { + clear:both; + float: none; + margin: 0; + &.input.ship-checkboxNumberLabel.text { + width: auto; + align-self: flex-end; + display: flex; + align-items: center; + margin-left: 10px !important; + height: $inputHeight; + } + } + } + + input#ship-addressQuery { + width: 100%; + } + + .vtex-omnishipping-1-x-container.shp-pickup-receiver { + display: block; + svg.person-blue path {fill: $actionPrimary;} + .vtex-omnishipping-1-x-btn {color: $actionPrimary;} + } + + @media (max-width: 490px) { + .vtex-omnishipping-1-x-dateLink { + width: 100%; + } + } + } + + .submit.btn.btn-success { + display:block; + margin:20px auto 0 auto; + min-width:55%; + } + + } + +} + +.orderform-template { + display: flex !important; + + padding-top: 0px; + min-height: 400px !important; + align-items:flex-start; + + @media(max-width: 768px) { + flex-wrap:wrap; + } + + .orderform-template-holder{ + width: 100%; + + @media(min-width: 769px) { + + + width: 61% !important; + padding-right:20px; + max-width: calc(100% - 271px); + float:left; + box-sizing: border-box; + } + + } + + @media(max-width: $mobileWidth) { + width:100%; + padding-top:0px; + } + + .cart-template.mini-cart { + width: 39%; + min-width: 255px; + + position: -webkit-sticky; + position: -moz-sticky; + position: -o-sticky; + position: -ms-sticky; + position: sticky; + bottom: 0px; + top: 20px; + right:0; + float: right; + margin:0; + + @media(max-width: 768px) { + width:100%; + position: relative; + top:0; + } + + .cart-items { + > .v-custom-indexed-item {display:none !important;} + } + + .cart-fixed { + height: auto !important; + position: relative !important; + max-width: 100%; + width: 100% !important; + top:0; + min-height: initial; + + @media(min-width: 769px) { + &.affix { + } + &.affix-top {position: relative !important;} + } + } + + h2 { + @extend %steps-title; + text-align: left; + border-top:none; + background:none !important; + margin-bottom: 15px; + } + + + .quantity { + min-width: 10px; + width: auto; + height: 10px; + display: inline-block; + background:$actionSecondary; + color:$actionPrimary; + } + + .summary-template-holder { + width:100%; + background: none; + border: none; + padding: 0; + + .accordion-inner {margin-top: 0px;} + + .summary > .summary-coupon-wrap, + .summary-coupon-wrap > .summary-coupon { + display: block !important; + } + + .summary-coupon p { + margin:0; + } + + .summary > .summary-coupon-wrap { + border-top:1px solid $muted4; + padding:8px 0; + } + + input[type=text], + button[type=submit], + p.coupon-fields span.info > span { + line-height: 30px !important; + height:30px !important; + } + } + + .item { + padding: 10px 0; + margin: 0; + border: none; + border-bottom: 1px solid $muted5; + &:last-child {border:none;} + + ul.service-list.unstyled { + margin: 0; + float: none; + width: 100%; + background: none; + display: inline-block; + clear: both; + } + .service-item, + &.v-custom-indexed-item { + background:$actionSecondary; + border:1px dashed $muted4; + border-radius:$borderRadius; + + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + + box-sizing: border-box; + padding: 5px 10px; + margin:10px 0 0 0; + + .description {margin-top:0;} + > a, + .quantity, + .shipping-date, + .item-subscription {display:none;} + + .price {margin:0;} + + &:last-child {margin-bottom:0;} + } + + &.v-custom-indexed-item { + .item-unavailable {display:none;} + } + + .fn { width: calc(82% - 20px); } + + .description { + display: flex; + justify-content: space-between; + } + + .price, + span.shipping-date { + white-space: nowrap; + } + + .url { + border-radius: $borderRadius; + overflow: hidden; + } + + } + + .summary-totalizers { + margin-bottom: 0; + } + + #go-to-cart-button { + position: absolute; + top:0px; + right: 7px; + color:$actionPrimary; + text-decoration: underline; + @media (max-width: $mobileWidth) { + display: none; + } + } + + + + .summary-totalizers { + tbody { + border-top:1px solid $muted4; + border-bottom:1px solid $muted4; + padding: 14px 0; + display: block; + + tr { + &.CustomTax:not(.CustomTax--total) { + display:none !important; + } + } + + td { + display: inline-block; + text-align: left !important; + width: auto; + color:#666; + font-size:13px; + padding: 0 0 3px 0 !important; + &.monetary { + text-align: right !important; + margin-left: auto; + float: right; + } + } + + & + tbody { + border-top: none; + } + &.shipping-reset, + &.shipping-calculate {display: none !important;} + } + tfoot { + tr td { + padding:14px 0 !important; + color:#000; + font-size:14px; + font-weight:bold; + text-align: left; + &.monetary { + text-align: right !important; + margin-left: auto; + float: right; + color:$actionPrimary; + } + } + } + } + + .cart { + margin-bottom: 0; + max-height: calc(100vh - 355px); + overflow:auto; + + &::-webkit-scrollbar { + width: 6px + } + + &::-webkit-scrollbar-track { + background: transparent; + border-radius: $borderRadius + } + + &::-webkit-scrollbar-thumb { + background: $muted4; + border-radius: 30px + } + + &:hover::-webkit-scrollbar-thumb { + background: $muted5; + } + + .cart-items:not(.v-loaded) { + max-height: 100px; + overflow: hidden; + li.item { + overflow:hidden; + position:relative; + border: none !important; + > * {opacity:0;} + + &:after { + content:""; + width:100%; + height:100%; + display:block; + top:0px; + left:0; + position:absolute; + @extend %loading-shimmer; + } + } + } + } + + + } + + .payment-confirmation-wrap { + border:none; + padding:0; + + .payment-submit-wrap { + margin:10px 0 0 0; + + @media(max-width: 768px) { + z-index: 9999; + position: fixed; + bottom: 0; + width: 100%; + left: 0; + padding: 0; + background:#FFF; + margin: 0 !important; + button { + border-radius:0 !important; + } + } + } + @media(max-width: 768px) { + border:none !important; + .payment-submit-wrap, + button { margin:0 !important; } + } + + #payment-data-submit { + &:disabled span { + display:none; + } + } + } + + .summary-note { + display:none !important; + p.note-data {display: none !important;} + > div { + display: block !important; + } + .note-textarea { + @extend %input-style; + height:50px; + line-height: 20px; + max-width: 100%; + width: 100%; + font-family:$fontFamily; + max-height: 100px; + } + } + + .custom-cart-template-wrap { + position: relative; + background: #FFF; + padding: 17px 20px; + text-align: left; + box-sizing: border-box; + border-radius:$borderRadius; + + border: $bordersContainers; + + + .summary-cart-template-holder { + height: auto !important; + } + .summary-template-holder {margin-top: 0;} + } + +} + +// counting steps + + @if $countingSteps { + + .step.client-profile-data.active .box-step .form-step[style*="display: block"], + .step.shipping-data.active .accordion-inner.shipping-container, + #payment-data .box-step form.form-step { + padding-top: 20px !important; + } + + + .orderform-template-holder #shipping-data .shipping-summary-info, + .orderform-template-holder .step .accordion-body p.notification, + .client-pre-email + .client-profile-data .accordion-body:before { + display: none; + } + body.v-custom-step-shipping #shipping-data .shipping-summary-info, + body.v-custom-step-payment #shipping-data .shipping-summary-info { + display:block + } + } + +// end counting steps + +//iframe + +.steps-view, .gift-card-section, +.App.iframe-credit-card-payment-group { + background:#FFF; +} + +#app-container { + min-height: 100vh; + background: #FFF; + + + input[type=text], + input[type=tel], + input[type=email], + select { + @extend %input-style; + width: 100%; + } + + span.help.error { + margin:0 !important; + display:none; + } + + .SecurityEnvironmentIcon { + margin-bottom:20px; + display: none; + } + + .CardForm { + > div {position: relative;clear: both;} + .PaymentValue {display:none;} + + input#creditCardpayment-card-0Number[value=""] { + background:#FFF; + position:relative; + z-index:1; + } + + .SavedCardsList { + width: calc(100% - 1px); + } + .SavedCard .link-delete { + right: 8px; + top: 50%; + margin-top: -10px; + border: 1px solid #ccc; + background: #FFF; + width: 20px; + height: 20px; + line-height: 17px; + } + } + .FormFieldLabel { + line-height: 30px; + } + + .PaymentCardFlags { + position: absolute; + top: calc(30px + ( #{$inputHeight} - 25px )/2); + right: 16px; + padding: 0; + .card-flag-label input { + display:none; + } + .card-flag-label {width:auto;} + .card-flag {opacity: 0.7;display: none;} + .card-flag.card-selected {opacity: 1;display:block;} + } + + input#creditCardpayment-card-0Code, + input#creditCardpayment-card-1Code{ + width: 100px !important; + } + + .label-vertical-group { + padding: 9px; + &:hover { + color:$actionPrimary; + } + &.active { + color:$actionPrimary; + background:$actionSecondary; + } + + + &:not(.SavedCard) { + .card-flag { + position: absolute; + left: 5px; + top: 8px; + } + } + + + .icon-ok-circle, .icon-circle-blank { + top: 9px; + } + &.UseAnotherCard { + background-color: $muted5; + padding:4px; + font-size: 11px; + text-decoration: underline; + + #use-another-card { + color:$muted2; + } + &:hover { + #use-another-card { + text-decoration: underline; + color:$muted3; + } + } + } + } + + + + + label.FormFieldLabel { + display: block; + clear: both; + width: auto; + margin-right: 10px; + } + + .AddressForm { + display:flex; + flex-wrap:wrap; + > * {width:100%;order:10;} + input { + max-width:100%; + } + + .payment-billing-address-street {order:1;} + .payment-billing-address-complement {order:2;} + .payment-billing-address-city {order:3;} + .payment-billing-address-state {order:4;} + .PostalCode {order:5;} + } + + + +} diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_pre-email.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_pre-email.scss new file mode 100644 index 00000000..f7d5b1ea --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_pre-email.scss @@ -0,0 +1,195 @@ +// pre email step + + +.client-pre-email { + background: none; + width: 100%; + border-top:none; + position:relative; + text-align: left; + + fieldset.pre-email { + box-sizing: border-box; + + } + + label { + margin: 0; + line-height: 20px; + + small { + font-size: $fontSize; + padding: 0; + margin: 0; + color: $muted1; + font-weight: 400; + margin: 0; + vertical-align: top; + display: block; + margin-bottom: 13px; + + margin-top: 20px; + + } + } + + .link-cart {display: none;} + + h3.client-pre-email-h { + margin: 0; + span { + + display: block; + position:relative; + + font-size: 0; + + &:after { + content: "Email"; + @extend %steps-title; + vertical-align: middle; + display: inline-block; + margin: 0; + } + + @if $countingSteps { + padding:7px 0 !important; + &:after{padding: 0 !important;} + } @else { + &:after{width: 100%;} + } + } + + .link-box-edit {display: none;} + } + + + + a#orderform-to-cart { + color:$actionPrimary; + } + + .client-email.input.text { + margin: 0; + width: 100%; + position:initial; + + input[type="email"] { + width: 100%; + box-sizing: border-box; + } + .btn-success { + width: 20%; + margin: 0; + height: initial; + position: absolute; + top: initial; + bottom:15px; + right: initial; + left: 50%; + transform: translateX(-50%); + min-width: 55%; + + @extend .btn-large; + + @media(max-width: 768px) { + width: calc(100% - 60px); + } + } + + .loading-inline { + position: absolute; + color: #FFF; + font-size: 16px; + bottom: 35px; + top: initial; + right: 50% !important; + margin-right: -10px; + } + + .loading-inline[style=""] + #btn-client-pre-email { + font-size:0; + } + } + + span.help.error { + } + + + + .emailInfo { + margin-top:20px; + width: 80%; + box-sizing:border-box; + .icon-ok, + h3 { + color:$actionPrimary; + } + + @media(max-width: $mobileWidth) { + width: 100%; + } + + .icon-lock { + color: $muted5; + } + } + + + @media(max-width: $mobileWidth) { + .link-cart { display: none !important;} + } + + & + .client-profile-data { + .accordion-body:before { + content:"Waiting for more information"; + display:block; + } + .accordion-body .accordion-inner {display:none;} + + &.filled { + .accordion-body:before { + display: none; + } + } + } + + &[style*="display: none"] { + padding-bottom:20px !important; + + .link-box-edit {display: block !important;} + label { + small {display: none !important;} + } + + input#client-pre-email { + padding: 0 !important; + border: none !important; + box-shadow: none !important; + font-size: 12px; + font-weight: 400; + pointer-events: none; + cursor: text; + background: none !important; + color:$muted2; + } + + .emailInfo, + #btn-client-pre-email { + display:none; + } + + & + .client-profile-data { + .accordion-body:before { + display: none; + } + .accordion-inner {display:block;} + } + } +} + + + +body:not(.v-custom-step-email) .client-pre-email span.help.error { + display: none !important; +} \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_steps.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_steps.scss new file mode 100644 index 00000000..7e21b779 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_steps.scss @@ -0,0 +1,251 @@ +//steps + + $numberStepSize:26px; + + + %countingStepsNormal { + background: #FFF; + border:1px solid $muted1; + color:$muted1; + + width:$numberStepSize; + height: $numberStepSize; + line-height: $numberStepSize; + font-size: 15px; + + } + + %countingStepsActive { + background:$actionPrimary; + border-color:$actionPrimary; + color:#FFF + } + + %countingStepsFilled { + @extend %countingStepsActive; + } + + + + //keep attention changing anything below + + @if $countingSteps { + .client-pre-email h3.client-pre-email-h span:before, + .client-profile-data .accordion-toggle > span:before, + .shipping-data .accordion-toggle:before, + .payment-data .accordion-toggle > span:not(.payment-edit-link):before { + + @extend %countingStepsNormal; + + text-align: center; + margin-right:10px; + border-radius: 100%; + + display: inline-block; + + font-weight:bold; + vertical-align: middle; + margin-top: -2px; + } + + .client-pre-email h3.client-pre-email-h span:before { content: "1" } + .client-profile-data .accordion-toggle > span:before { content: "2" } + .shipping-data .accordion-toggle:before { content: "3" } + .payment-data .accordion-toggle > span:not(.payment-edit-link):before { content: "4" } + } + + + //mobile + @media(max-width: $mobileWidth) { + body { + &:before { + width: 0; + height: 4px; + background:$actionPrimary; + display: block; + content:""; + position: fixed; + top: 0; + transition: all ease 0.3s; + z-index: 999; + } + &.v-custom-step-email:before {width: 23%;} + &.v-custom-step-profile:before {width: 46%;} + &.v-custom-step-shipping:before {width: 69%;} + &.v-custom-step-payment:before {width: 92%;} + } + + } + + + %checkout-steps-active { + color:$muted1; + font-weight: bold; + pointer-events: initial; + } + + body { + &.v-custom-step-cart .checkout-steps_item_cart { + opacity: 1; + .text {@extend %checkout-steps-active;pointer-events: none;} + &:before {background: $actionPrimary;border-color: $actionPrimary;} + } + &.v-custom-step-email, + &.v-custom-step-profile{ + + .checkout-steps_bar_inner-active {width: 20%;} + .checkout-steps_item_cart, + .checkout-steps_item_identification { + opacity: 1; + .text {@extend %checkout-steps-active;} + &:before {background: $actionPrimary;border-color: $actionPrimary;} + } + .checkout-steps_item_identification .text {pointer-events: none;} + + .client-pre-email h3.client-pre-email-h span:before { + @extend %countingStepsActive; + } + } + + &.v-custom-step-shipping { + .checkout-steps_bar_inner-active {width: 40%;} + .checkout-steps_item_cart, + .checkout-steps_item_identification, + .checkout-steps_item_shipping { + opacity: 1; + .text {@extend %checkout-steps-active;} + &:before {background: $actionPrimary;border-color: $actionPrimary;} + } + .checkout-steps_item_shipping .text {pointer-events: none;} + } + + &.v-custom-step-payment { + .checkout-steps_bar_inner-active {width: 60%;} + .checkout-steps_item_cart, + .checkout-steps_item_identification, + .checkout-steps_item_shipping, + .checkout-steps_item_payment { + opacity: 1; + .text {@extend %checkout-steps-active;} + &:before {background: $actionPrimary;border-color: $actionPrimary;} + } + .checkout-steps_item_payment .text {pointer-events: none;} + } + + &.v-custom-step-profile { + .client-pre-email h3.client-pre-email-h span:before { + @extend %countingStepsFilled; + } + + .client-profile-data .accordion-toggle > span:before {@extend %countingStepsActive;} + } + &.v-custom-step-shipping { + + .client-pre-email h3.client-pre-email-h span:before, + .client-profile-data .accordion-toggle > span:before { + @extend %countingStepsFilled; + } + + .shipping-data .accordion-toggle:before {@extend %countingStepsActive;} + } + &.v-custom-step-payment { + + .client-pre-email h3.client-pre-email-h span:before, + .client-profile-data .accordion-toggle > span:before, + .shipping-data .accordion-toggle:before { + @extend %countingStepsFilled; + } + + .payment-data .accordion-toggle > span:not(.payment-edit-link):before {@extend %countingStepsActive;} + } + } + .checkout-steps { + display: none; + position: relative; + min-width: 470px; + width:100%; + @if $showCheckoutSteps { + display: block; + } + @media(max-width: $mobileWidth) { + display: none !important; + } + + &-wrap { + + } + + /* + &_bar_inner, + &_bar_inner-active { + width: calc(100% - 20%); + height: 3px; + background: $actionSecondary; + display: block; + margin: 0 auto; + position: absolute; + left: 10%; + top: 7px; + transition: all ease 0.3s; + } + */ + + &_bar_inner-active {width:0;background: $actionPrimary;} + + &_items { + display:flex; + justify-content: space-between; + } + + &_item { + position:relative; + text-align: center; + flex-grow: 1; + display: flex; + align-items: center; + justify-content: flex-start; + opacity:0.6; + + &:after { + content:""; + height:2px; + background: $actionPrimary; + margin: 0px 5px; + min-width: 10px; + + } + + .text { + clear: both; + display: flex; + align-items: center; + color:$muted3; + font-weight: 500; + cursor:pointer; + pointer-events: none; + + &:before { + content: ""; + width: 7px; + height: 7px; + background: $actionPrimary; + border: 2px solid $actionPrimary; + display: inline-block; + border-radius:100%; + margin-right: 7px; + transition: all ease 0.3s; + } + } + + &_cart:after {width: calc(100% - 50px);} + &_identification:after {width: calc(100% - 103px);} + &_shipping:after {width: calc(100% - 77px);} + &_payment:after {width: calc(100% - 77px);} + &_confirmation:after {display:none;} + } + } + + + + +//end steps \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_titles.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_titles.scss new file mode 100644 index 00000000..2ec0953d --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_titles.scss @@ -0,0 +1,21 @@ + +//titles in third step checkout + +%steps-title { + font-size: calc( #{$fontSize} + 2px); + text-transform: uppercase; + border-bottom: 1px solid $muted5; + font-weight: bold; + margin-bottom: 15px; + padding:7px 0 !important; + color:$muted3; + + @if $countingSteps { + color: $muted1; + border: none; + font-size: 20px; + text-transform: initial; + margin-bottom: 0px; + } + +} diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_vtexId.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_vtexId.scss new file mode 100644 index 00000000..b8d295c8 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_vtexId.scss @@ -0,0 +1,69 @@ + +#vtexIdContainer { + position: fixed !important; +} + +.vtexIdUI { + position: absolute; + top: 50% !important; + transform: translateY(-50%) !important; + +} + + +#vtexIdContainer { + position: fixed; + a {color:$actionPrimary;} + + input {@extend %input-style;} + + .vtexIdUI { + .modal-footer { + background: none; + } + .btn { + border-radius:$btnBorderRadius; + height: $inputHeight; + line-height: $inputHeight; + box-shadow: none !important; + font-size: $fontSize; + padding:0 30px; + &.btn-success { + background: $success; + border:1px solid $success; + + &:hover, + &:focus, + &:active { + background:$successDarken; + border:1px solid $successDarken; + } + } + + &#vtexIdUI-facebook { + background: #4568ad !important; + } + } + + + } + @media (max-width:768px) { + position: fixed !important; + .vtexIdUI { + overflow: auto; + border-radius: 0; + width: 100%; + left: 0; + margin: 0; + top: 0; + height: 100% !important; + border: none; + .modal-header .close { + top: 0; + right: 0; + margin: 0; + padding: 4px 8px; + } + } + } +} diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_configs/_style.app.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_configs/_style.app.scss new file mode 100644 index 00000000..d81c2bb3 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_configs/_style.app.scss @@ -0,0 +1,54 @@ +// IMPORTED FROM STORE THEME + +$base: "{{base}}"; // body bg... +$baseInverted: "{{$baseInverted}}"; // general + +$actionPrimary: "{{actionPrimary}}"; //links, buttons borders, backgrounds +$actionPrimaryDarken: "{{actionPrimaryDarken}}"; // usually 15% more + +$actionSecondary: "{{actionSecondary}}"; + + +$emphasis: "{{emphasis}}"; +$disabled: "{{disabled}}"; + +$success: "{{success}}"; // success button, cta, usually the "checkout", "login", "pay" +$successDarken: "{{successDarken}}"; // usually 15% more +$successFaded: "{{successFaded}}"; + +$danger: "{{danger}}"; +$dangerFaded: "{{dangerFaded}}"; + +$warning: "{{warning}}"; +$warningFaded: "{{warningFaded}}"; + +$muted1: "{{muted1}}"; //titles & borders +$muted2: "{{muted2}}"; //borders +$muted3: "{{muted3}}"; //borders +$muted4: "{{muted4}}"; //borders +$muted5: "{{muted5}}"; //borders +$muted6: "{{muted6}}"; //borders & bg + +// CHECKOUT VARS + +$fontSize: "{{fontSize}}"; +$borderRadius:"{{borderRadius}}"; +$btnBorderRadius:"{{btnBorderRadius}}"; + +$maxWrapper: "{{maxWrapper}}"; +$inputHeight:"{{inputHeight}}"; + +$bordersContainers:"{{bordersContainers}}"; // 2px solid $muted5 + +//font + +$fontFamily: "{{fontFamily}}"; + + +// NOT included on admin -- kept for future (no change!) + +$showCouponField:true; +$countingSteps:true; +$showCheckoutSteps:true; +$buttonShadow:false; +$mobileWidth:690px; diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_configs/_style.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_configs/_style.scss new file mode 100644 index 00000000..9351c9ab --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_configs/_style.scss @@ -0,0 +1,54 @@ +// IMPORTED FROM STORE THEME + +$base: #f4f2f2; // body bg... +$baseInverted: #21364f; // general + +$actionPrimary: #1a73e8; //links, buttons borders, backgrounds +$actionPrimaryDarken: #1d63be; // usually 15% more + +$actionSecondary: #f1f7ff; + + +$emphasis: #000000; +$disabled: #999999; + +$success: #2fba2d; // success button, cta, usually the "checkout", "login", "pay" +$successDarken: #269e24; // usually 15% more +$successFaded: #beffa5; + +$danger: #ff4c4c; +$dangerFaded: #ffe6e6; + +$warning: #ffb100; +$warningFaded: #fff6e0; + +$muted1: #323232; //titles & borders +$muted2: #676767; //borders +$muted3: #999999; //borders +$muted4: #cbcbcb; //borders +$muted5: #eee; //borders +$muted6: #f3f3f3; //borders & bg + +// CHECKOUT VARS + +$fontSize: 12px; +$borderRadius:4px; +$btnBorderRadius:30px; + +$maxWrapper: 980px; +$inputHeight:40px; + +$bordersContainers:none; // 2px solid $muted5 + +//font + +$fontFamily: 'Roboto', sans-serif; + + +// NOT included on admin -- kept for future (no change!) + +$showCouponField:true; +$countingSteps:true; +$showCheckoutSteps:true; +$buttonShadow:false; +$mobileWidth:690px; diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_custom.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_custom.scss new file mode 100644 index 00000000..aa0ae402 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_custom.scss @@ -0,0 +1 @@ +// custom CSS diff --git a/checkout-ui-settings/checkout-ui-custom/src/app.checkout6-custom.js b/checkout-ui-settings/checkout-ui-custom/src/app.checkout6-custom.js new file mode 100644 index 00000000..4e89c90b --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/app.checkout6-custom.js @@ -0,0 +1,20 @@ +const Debug = require('./_js/_debug.js') +const CheckoutCustom = require('./_js/_v.custom.checkout.ui.js') + +window.vcustom = { + checkout: new CheckoutCustom({ + type: '"{{type}}"', // ["vertical" , "horizontal"] + accordionPayments: '{{accordionPayments}}', + deliveryDateFormat: '{{deliveryDateFormat}}', + quantityPriceCart: '{{showCartQuantityPrice}}', + showNoteField: '{{showNoteField}}', + customAddressForm: '{{customAddressForm}}', + hideEmailStep: '{{hideEmailStep}}', + }), + debug: new Debug({ + dbg: false, + logo: '', + }), +} + +window.vcustom.checkout.start() diff --git a/checkout-ui-settings/checkout-ui-custom/src/app.checkout6-custom.scss b/checkout-ui-settings/checkout-ui-custom/src/app.checkout6-custom.scss new file mode 100644 index 00000000..7c4f3040 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/app.checkout6-custom.scss @@ -0,0 +1,29 @@ +@import '_scss/_components/_fns.scss'; +@import '_scss/_configs/_style.app.scss'; +@import '_scss/_components/_input.scss'; +@import '_scss/_components/_buttons.scss'; +@import '_scss/_components/_titles.scss'; + +@import '_scss/_components/_overwriting.scss'; +@import '_scss/_components/_modals.scss'; +@import '_scss/_components/_vtexId.scss'; + +@import '_scss/_components/_global.scss'; +@import '_scss/_components/_steps.scss'; +@import '_scss/_components/_header.scss'; +@import '_scss/_components/_footer.scss'; + +@import '_scss/_components/_cart.scss'; +@import '_scss/_components/_pre-email.scss'; +@import '_scss/_components/_payment.scss'; + +@import '_scss/_components/_jsInteractions.scss'; +@import '_scss/_components/_customAddressForm.scss'; +@import '_scss/_components/_hide-email-step.scss'; +@import '_scss/_components/_RTL.scss'; + + +@import '_scss/_custom.scss'; + +@import '_scss/_components/_debug.scss'; + diff --git a/checkout-ui-settings/checkout-ui-custom/src/checkout6-custom.js b/checkout-ui-settings/checkout-ui-custom/src/checkout6-custom.js new file mode 100644 index 00000000..c5eb0d9b --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/checkout6-custom.js @@ -0,0 +1,22 @@ +const Debug = require('./_js/_debug.js') +const CheckoutCustom = require('./_js/_v.custom.checkout.ui.js') + +window.vcustom = { + checkout: new CheckoutCustom({ + type: 'vertical', // ["vertical" , "horizontal"] + accordionPayments: true, + deliveryDateFormat: false, + quantityPriceCart: false, + showNoteField: false, + customAddressForm: true, + hideEmailStep: true, + }), + debug: new Debug({ + dbg: false, + logo: '', + }), +} + +window.vcustom.checkout.start() + +// vcustom.debug.start(); diff --git a/checkout-ui-settings/checkout-ui-custom/src/checkout6-custom.scss b/checkout-ui-settings/checkout-ui-custom/src/checkout6-custom.scss new file mode 100644 index 00000000..4e1aa07f --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/src/checkout6-custom.scss @@ -0,0 +1,27 @@ +@import '_scss/_components/_fns.scss'; +@import '_scss/_configs/_style.scss'; +@import '_scss/_components/_input.scss'; +@import '_scss/_components/_buttons.scss'; +@import '_scss/_components/_titles.scss'; + +@import '_scss/_components/_overwriting.scss'; +@import '_scss/_components/_modals.scss'; +@import '_scss/_components/_vtexId.scss'; + +@import '_scss/_components/_global.scss'; +@import '_scss/_components/_steps.scss'; +@import '_scss/_components/_header.scss'; +@import '_scss/_components/_footer.scss'; + +@import '_scss/_components/_cart.scss'; +@import '_scss/_components/_pre-email.scss'; +@import '_scss/_components/_payment.scss'; + +@import '_scss/_components/_jsInteractions.scss'; +@import '_scss/_components/_customAddressForm.scss'; +@import '_scss/_components/_hide-email-step.scss'; +@import '_scss/_components/_RTL.scss'; + +@import '_scss/_custom.scss'; + +@import '_scss/_components/_debug.scss'; diff --git a/checkout-ui-settings/checkout-ui-custom/webpack.config.js b/checkout-ui-settings/checkout-ui-custom/webpack.config.js new file mode 100644 index 00000000..0eeeeb50 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/webpack.config.js @@ -0,0 +1,34 @@ +const path = require('path') + +module.exports = { + mode: process.env.NODE_ENV === 'production' ? 'production' : 'development', + entry: ['./src/checkout6-custom.js', './src/checkout6-custom.scss'], + output: { + filename: 'checkout6-custom.js', + path: path.resolve(__dirname, './'), + }, + module: { + rules: [ + { + test: /\.scss$/, + use: [ + { + loader: 'file-loader', + options: { + name: '[name].css', + }, + }, + { + loader: 'extract-loader', + }, + { + loader: 'css-loader?-url', + }, + { + loader: 'sass-loader', + }, + ], + }, + ], + }, +} diff --git a/checkout-ui-settings/checkout-ui-custom/webpack.prod.js b/checkout-ui-settings/checkout-ui-custom/webpack.prod.js new file mode 100644 index 00000000..585a9536 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/webpack.prod.js @@ -0,0 +1,77 @@ +const path = require('path') + +const config = { + // TODO: Add common Configuration + module: {}, +} + +const defaultConfig = { + ...config, + mode: process.env.NODE_ENV === 'production' ? 'production' : 'development', + entry: ['./src/checkout6-custom.js', './src/checkout6-custom.scss'], + output: { + filename: 'checkout6-custom.js', + path: path.resolve(__dirname, './'), + }, + module: { + rules: [ + { + test: /\.scss$/, + use: [ + { + loader: 'file-loader', + options: { + name: '[name].css', + }, + }, + { + loader: 'extract-loader', + }, + { + loader: 'css-loader?-url', + }, + { + loader: 'sass-loader', + }, + ], + }, + ], + }, +} + +const appConfig = { + ...config, + mode: 'production', + entry: ['./src/app.checkout6-custom.js', './src/app.checkout6-custom.scss'], + output: { + filename: 'checkout6-custom.js', + path: path.resolve(__dirname, '../node/templates'), + }, + module: { + rules: [ + { + test: /\.scss$/, + use: [ + { + loader: 'file-loader', + options: { + name: 'checkout6-custom.css', + }, + }, + { + loader: 'extract-loader', + }, + { + loader: 'css-loader?-url', + }, + { + loader: 'sass-loader', + }, + ], + }, + ], + }, +} + +// Return Array of Configurations +module.exports = [defaultConfig, appConfig] diff --git a/checkout-ui-settings/checkout-ui-custom/yarn.lock b/checkout-ui-settings/checkout-ui-custom/yarn.lock new file mode 100644 index 00000000..9dc24467 --- /dev/null +++ b/checkout-ui-settings/checkout-ui-custom/yarn.lock @@ -0,0 +1,4905 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/core@^7.0.0": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.10.4.tgz" + integrity sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.10.4" + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz" + integrity sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng== + dependencies: + "@babel/types" "^7.10.4" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz" + integrity sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz" + integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-transforms@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz" + integrity sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + lodash "^4.17.13" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-replace-supers@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz" + integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-simple-access@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz" + integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== + dependencies: + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-split-export-declaration@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz" + integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + +"@babel/helpers@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz" + integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz" + integrity sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA== + +"@babel/runtime-corejs2@^7.0.0": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.10.4.tgz" + integrity sha512-9sArmpZDQsnR1yyAcU51DxQrntWxt0LUKjPp3pIyo7kVLfaqKt8muppcT87QmFkXV5H50qXAF8JWOjk0jaXRYA== + dependencies: + core-js "^2.6.5" + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.7": + version "7.20.1" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz" + integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg== + dependencies: + regenerator-runtime "^0.13.10" + +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz" + integrity sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz" + integrity sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@emotion/babel-utils@^0.6.4": + version "0.6.10" + resolved "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.10.tgz" + integrity sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow== + dependencies: + "@emotion/hash" "^0.6.6" + "@emotion/memoize" "^0.6.6" + "@emotion/serialize" "^0.9.1" + convert-source-map "^1.5.1" + find-root "^1.1.0" + source-map "^0.7.2" + +"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6": + version "0.6.6" + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz" + integrity sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ== + +"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6": + version "0.6.6" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz" + integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ== + +"@emotion/serialize@^0.9.1": + version "0.9.1" + resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.1.tgz" + integrity sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ== + dependencies: + "@emotion/hash" "^0.6.6" + "@emotion/memoize" "^0.6.6" + "@emotion/unitless" "^0.6.7" + "@emotion/utils" "^0.8.2" + +"@emotion/stylis@^0.7.0": + version "0.7.1" + resolved "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz" + integrity sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ== + +"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7": + version "0.6.7" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz" + integrity sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg== + +"@emotion/utils@^0.8.2": + version "0.8.2" + resolved "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz" + integrity sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== + +"@eslint/eslintrc@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz" + integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.5.2" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.40.0": + version "8.40.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz" + integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA== + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@hypnosphi/create-react-context@^0.3.1": + version "0.3.1" + resolved "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz" + integrity sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A== + dependencies: + gud "^1.0.0" + warning "^4.0.3" + +"@icons/material@^0.2.4": + version "0.2.4" + resolved "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz" + integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + +"@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.56.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" + integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.8": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json-schema@^7.0.4": + version "7.0.5" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz" + integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/node@*": + version "14.0.22" + resolved "https://registry.npmjs.org/@types/node/-/node-14.0.22.tgz" + integrity sha512-emeGcJvdiZ4Z3ohbmw93E/64jRzUHAItSHt8nF7M4TGgQTiWqFVGB8KNpLGFmUHmHLvjvBgFwVlqNcq+VuGv9g== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@vtex/address-form@^3.27.2": + version "3.27.2" + resolved "https://registry.npmjs.org/@vtex/address-form/-/address-form-3.27.2.tgz" + integrity sha512-T6yWQC7+DajbQ8JRcdsLNhjyLF1pjXSvrXy/QgPYf4EGkwkT1qgc4vaE8pOqBZyiHM7kz+Mg5PlkiUrUHXLcJA== + dependencies: + "@vtex/styleguide" "^9.112.28" + axios "^0.16.2" + classnames "^2.2.5" + load-google-maps-api "^1.0.0" + lodash "^4.17.4" + msk "^1.0.5" + recompose "^0.27.1" + +"@vtex/styleguide@^9.112.28": + version "9.146.3" + resolved "https://registry.npmjs.org/@vtex/styleguide/-/styleguide-9.146.3.tgz" + integrity sha512-a9Fvrtxs2VTM/6oU3Z+U/ZMq4CzbfcK7rieZc7MYiwx1V1dGTnqX4p2Sa96P1FDLPc7pCBg4eNCCkhFTkvEUqQ== + dependencies: + autoprefixer "^9.6.1" + case-sensitive-paths-webpack-plugin "^2.2.0" + date-fns "^2.0.1" + focus-visible "^4.1.5" + fromentries "^1.1.0" + react-color "^2.17.0" + react-datepicker "^2.3.0" + react-docgen-displayname-handler "^2.1.1" + react-dropzone "^10.2.1" + react-icons "^3.7.0" + react-number-format "^4.0.6" + react-outside-click-handler "^1.2.2" + react-overlays "^1.1.2" + react-responsive-modal "^3.1.0" + react-select "^2.1.2" + react-sticky "^6.0.3" + react-virtualized "^9.19.1" + use-media "^1.4.0" + uuid "^3.3.2" + vtex-tachyons "^3.2.0" + whatwg-fetch "2.0.4" + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abbrev@1: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.7.1, acorn@^8.8.2: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +airbnb-prop-types@^2.15.0: + version "2.16.0" + resolved "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz" + integrity sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg== + dependencies: + array.prototype.find "^2.1.1" + function.prototype.name "^1.1.2" + is-regex "^1.1.0" + object-is "^1.1.2" + object.assign "^4.1.0" + object.entries "^1.1.2" + prop-types "^15.7.2" + prop-types-exact "^1.2.0" + react-is "^16.13.1" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: + version "3.5.1" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.1.tgz" + integrity sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA== + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.12.2: + version "6.12.2" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz" + integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.find@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.2.1.tgz" + integrity sha512-I2ri5Z9uMpMvnsNrHre9l3PaX+z9D0/z6F7Yt2u15q7wt0I62g5kX6xUKR1SJiefgG+u2/gJUmM8B47XRvQR6w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types@0.13.2: + version "0.13.2" + resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz" + integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA== + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +attr-accept@^2.0.0: + version "2.2.2" + resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + +autoprefixer@^9.6.1: + version "9.8.8" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + picocolors "^0.2.1" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +axios@^0.16.2: + version "0.16.2" + resolved "https://registry.npmjs.org/axios/-/axios-0.16.2.tgz" + integrity sha512-IMYFDrcVbUksQhsMYtWCM6KdNaDpr1NY56dpzaIgj92ecPVI29bf2sOgAf8aGTiq8UoixJD61Pj0Ahej5DPv7w== + dependencies: + follow-redirects "^1.2.3" + is-buffer "^1.1.5" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-loader@^8.0.0: + version "8.1.0" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz" + integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== + dependencies: + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" + pify "^4.0.1" + schema-utils "^2.6.5" + +babel-plugin-emotion@^9.2.11: + version "9.2.11" + resolved "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz" + integrity sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@emotion/babel-utils" "^0.6.4" + "@emotion/hash" "^0.6.2" + "@emotion/memoize" "^0.6.1" + "@emotion/stylis" "^0.7.0" + babel-plugin-macros "^2.0.0" + babel-plugin-syntax-jsx "^6.18.0" + convert-source-map "^1.5.0" + find-root "^1.1.0" + mkdirp "^0.5.1" + source-map "^0.5.7" + touch "^2.0.1" + +babel-plugin-macros@^2.0.0: + version "2.8.0" + resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-syntax-jsx@^6.18.0: + version "6.18.0" + resolved "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz" + integrity sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw== + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.12.0: + version "4.21.4" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +browserslist@^4.21.10: + version "4.22.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6" + integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== + dependencies: + caniuse-lite "^1.0.30001580" + electron-to-chromium "^1.4.648" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001400: + version "1.0.30001431" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz" + integrity sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ== + +caniuse-lite@^1.0.30001580: + version "1.0.30001583" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001583.tgz#abb2970cc370801dc7e27bf290509dc132cfa390" + integrity sha512-acWTYaha8xfhA/Du/z4sNZjHUWjkiuoAi2LM+T/aL+kemKQgPT1xBb/YKjlQ0Qo8gvbHsGNplrEJ+9G3gL7i4Q== + +case-sensitive-paths-webpack-plugin@^2.2.0: + version "2.4.0" + resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" + integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +change-emitter@^0.1.2: + version "0.1.6" + resolved "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz" + integrity sha512-YXzt1cQ4a2jqazhcuSWEOc1K2q8g9H6eWNsyZgi640LDzRWVQ2eDe+Y/kVdftH+vYdPF2rgDb3dLdpxE1jvAxw== + +"chokidar@>=3.0.0 <4.0.0": + version "3.4.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz" + integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + +chokidar@^2.0.0: + version "2.1.8" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + dependencies: + tslib "^1.9.0" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@^2.2.5, classnames@^2.2.6: + version "2.3.2" + resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clsx@^1.0.4: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +"consolidated-events@^1.1.1 || ^2.0.0": + version "2.0.2" + resolved "https://registry.npmjs.org/consolidated-events/-/consolidated-events-2.0.2.tgz" + integrity sha512-2/uRVMdRypf5z/TW/ncD/66l75P5hH2vM/GR8Jf8HLc2xnfJtmina6F6du8+v4Z2vTrMo7jC+W1tmEEuuELgkQ== + +convert-source-map@^1.5.0, convert-source-map@^1.5.1, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz" + integrity sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA== + +core-js@^2.4.0, core-js@^2.6.5: + version "2.6.11" + resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +create-emotion@^9.2.12: + version "9.2.12" + resolved "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz" + integrity sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA== + dependencies: + "@emotion/hash" "^0.6.2" + "@emotion/memoize" "^0.6.1" + "@emotion/stylis" "^0.7.0" + "@emotion/unitless" "^0.6.2" + csstype "^2.5.2" + stylis "^3.5.0" + stylis-rule-sheet "^0.0.10" + +cross-env@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.1.tgz#b2c76c1ca7add66dc874d11798466094f551b34d" + integrity sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ== + dependencies: + cross-spawn "^6.0.5" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-loader@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz" + integrity sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw== + dependencies: + babel-code-frame "^6.26.0" + css-selector-tokenizer "^0.7.0" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash "^4.17.11" + postcss "^6.0.23" + postcss-modules-extract-imports "^1.2.0" + postcss-modules-local-by-default "^1.2.0" + postcss-modules-scope "^1.1.0" + postcss-modules-values "^1.3.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + +css-selector-tokenizer@^0.7.0: + version "0.7.2" + resolved "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz" + integrity sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw== + dependencies: + cssesc "^3.0.0" + fastparse "^1.1.2" + regexpu-core "^4.6.0" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^2.5.2: + version "2.6.21" + resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz" + integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== + +csstype@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + +date-fns@^2.0.1: + version "2.29.3" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz" + integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +debug@^4.1.1, debug@^4.3.2: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-equal@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +dependency-graph@^0.8.0: + version "0.8.1" + resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.8.1.tgz" + integrity sha512-g213uqF8fyk40W8SBjm079n3CZB4qSpCrA2ye1fLGzH/4HEgB6tzuW2CbLE7leb4t45/6h44Ud59Su1/ROTfqw== + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +document.contains@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/document.contains/-/document.contains-1.0.2.tgz" + integrity sha512-YcvYFs15mX8m3AO1QNQy3BlIpSMfNRj3Ujk2BEJxsZG+HZf7/hZ6jr7mDpXrF8q+ff95Vef5yjhiZxm8CGJr6Q== + dependencies: + define-properties "^1.1.3" + +dom-helpers@^3.4.0: + version "3.4.0" + resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz" + integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== + dependencies: + "@babel/runtime" "^7.1.2" + +dom-helpers@^5.1.3: + version "5.2.1" + resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +electron-to-chromium@^1.4.648: + version "1.4.655" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.655.tgz#112410db0d7f9c2b4ed8baa3b1b548522a6f89d4" + integrity sha512-2yszojF7vIZ68adIOvzV4bku8OZad9w5H9xF3ZAMZjPuOjBarlflUkjN6DggdV+L71WZuKUfKUhov/34+G5QHg== + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +emotion@^9.1.2: + version "9.2.12" + resolved "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz" + integrity sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ== + dependencies: + babel-plugin-emotion "^9.2.11" + create-emotion "^9.2.12" + +encoding@^0.1.11: + version "0.1.13" + resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.1: + version "4.2.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz" + integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +errno@^0.1.3: + version "0.1.7" + resolved "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.20.4" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz" + integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.3" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.2" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== + +eslint@^8.40.0: + version "8.40.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz" + integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.3" + "@eslint/js" "8.40.0" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.5.2" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.5.2: + version "9.5.2" + resolved "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz" + integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-loader@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/extract-loader/-/extract-loader-2.0.1.tgz" + integrity sha512-P/jwAXSgvtnzFlPCdlsQkgLHDPzOf7Syt+GpU1LkP6TwWAYm7Exfyas3kBffc8Lfq/mDah4qnY3P1uopNzhD4A== + dependencies: + loader-utils "^1.1.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastparse@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fbjs@^0.8.1: + version "0.8.18" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz" + integrity sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA== + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz" + integrity sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ== + dependencies: + loader-utils "^1.0.2" + schema-utils "^1.0.0" + +file-selector@^0.1.12: + version "0.1.19" + resolved "https://registry.npmjs.org/file-selector/-/file-selector-0.1.19.tgz" + integrity sha512-kCWw3+Aai8Uox+5tHCNgMFaUdgidxvMnLWO6fM5sZ0hA2wlHP5/DHGF0ECe84BiB95qdJbKNEJhWKVDvMN+JDQ== + dependencies: + tslib "^2.0.1" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +focus-trap-react@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-4.0.1.tgz" + integrity sha512-UUZKVEn5cFbF6yUnW7lbXNW0iqN617ShSqYKgxctUvWw1wuylLtyVmC0RmPQNnJ/U+zoKc/djb0tZMs0uN/0QQ== + dependencies: + focus-trap "^3.0.0" + +focus-trap@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/focus-trap/-/focus-trap-3.0.0.tgz" + integrity sha512-jTFblf0tLWbleGjj2JZsAKbgtZTdL1uC48L8FcmSDl4c2vDoU4NycN1kgV5vJhuq1mxNFkw7uWZ1JAGlINWvyw== + dependencies: + tabbable "^3.1.0" + xtend "^4.0.1" + +focus-visible@^4.1.5: + version "4.1.5" + resolved "https://registry.npmjs.org/focus-visible/-/focus-visible-4.1.5.tgz" + integrity sha512-yo/njtk/BB4Z2euzaZe3CZrg4u5s5uEi7ZwbHBJS2quHx51N0mmcx9nTIiImUGlgy+vf26d0CcQluahBBBL/Fw== + +follow-redirects@^1.2.3: + version "1.15.2" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fromentries@^1.1.0: + version "1.3.2" + resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz" + integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== + +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.2, function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +git@^0.1.5: + version "0.1.5" + resolved "https://registry.npmjs.org/git/-/git-0.1.5.tgz" + integrity sha1-nvYt+T+FHCdUIUO/UtHGixAXyhU= + dependencies: + mime "1.2.9" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3: + version "7.1.6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globby@^9.0.0: + version "9.2.0" + resolved "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.4" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +gud@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz" + integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hoist-non-react-statics@^2.3.1: + version "2.5.5" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz" + integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz" + integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI= + dependencies: + postcss "^6.0.1" + +ignore@^4.0.3: + version "4.0.6" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +immutable@^4.0.0: + version "4.3.5" + resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz" + integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.4, ini@^1.3.5: + version "1.3.5" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.0, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz" + integrity sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA== + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +js-sdsl@^4.1.4: + version "4.4.0" + resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz" + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.13.1: + version "3.14.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +load-google-maps-api@^1.0.0: + version "1.3.3" + resolved "https://registry.npmjs.org/load-google-maps-api/-/load-google-maps-api-1.3.3.tgz" + integrity sha512-THOSdgymg98eQz8KcZZ2BGjVQIcpMBMUxjKb+0vkgXPQauK238zMNBgUoQBb9JzoP73J9Qgq9dvyHGu3oYvBMQ== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.4.0: + version "1.4.1" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.1.tgz" + integrity sha512-1Qo97Y2oKaU+Ro2xnDMR26g1BwMT29jNbem1EvcujW2jqt+j5COXyscjM7bLQkM9HaxI7pkWeW7gnI072yMI9Q== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash-es@^4.17.15: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.0.1, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.4: + version "4.17.19" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +loose-envify@^1.0.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +material-colors@^1.2.1: + version "1.2.6" + resolved "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz" + integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memoize-one@^5.0.0: + version "5.2.1" + resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.2.9: + version "1.2.9" + resolved "https://registry.npmjs.org/mime/-/mime-1.2.9.tgz" + integrity sha1-AJzUCGe9Nd5SGzuWbwTi+NTRPQk= + +mimic-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.0.5, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.1, mkdirp@^0.5.3: + version "0.5.5" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +msk@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/msk/-/msk-1.0.5.tgz" + integrity sha512-IdnSUa9lWrsCiwfIVmdgPhXu6+HFIEIlxMk2QDktzTP6VVkz2pm2aMktYS7mnicsKFa/K/oO6rsPKK2eYAsAzQ== + +nan@^2.12.1: + version "2.18.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" + integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +neo-async@^2.5.0, neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-scroll@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/no-scroll/-/no-scroll-2.1.1.tgz" + integrity sha512-YTzGAJOo/B6hkodeT5SKKHpOhAzjMfkUCCXjLJwjWk2F4/InIg+HbdH9kmT7bKpleDuqLZDTRy2OdNtAj0IVyQ== + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== + dependencies: + abbrev "1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" + integrity sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg== + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.12.2, object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +object-is@^1.0.1, object-is@^1.1.2: + version "1.1.5" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.2: + version "1.1.6" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0: + version "1.1.6" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +popper.js@^1.14.4: + version "1.16.1" + resolved "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz" + integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-cli@^6.0.0: + version "6.1.3" + resolved "https://registry.npmjs.org/postcss-cli/-/postcss-cli-6.1.3.tgz" + integrity sha512-eieqJU+OR1OFc/lQqMsDmROTJpoMZFvoAQ+82utBQ8/8qGMTfH9bBSPsTdsagYA8uvNzxHw2I2cNSSJkLAGhvw== + dependencies: + chalk "^2.1.0" + chokidar "^2.0.0" + dependency-graph "^0.8.0" + fs-extra "^7.0.0" + get-stdin "^6.0.0" + globby "^9.0.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + postcss-reporter "^6.0.0" + pretty-hrtime "^1.0.3" + read-cache "^1.0.0" + yargs "^12.0.1" + +postcss-load-config@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz" + integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-modules-extract-imports@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz" + integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw== + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz" + integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz" + integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz" + integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-reporter@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz" + integrity sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw== + dependencies: + chalk "^2.4.1" + lodash "^4.17.11" + log-symbols "^2.2.0" + postcss "^7.0.7" + +postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^6.0.1, postcss@^6.0.23: + version "6.0.23" + resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^7.0.0, postcss@^7.0.32, postcss@^7.0.7: + version "7.0.32" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz" + integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +pretty-hrtime@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +prop-types-exact@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz" + integrity sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA== + dependencies: + has "^1.0.3" + object.assign "^4.1.0" + reflect.ownkeys "^0.2.0" + +prop-types-extra@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz" + integrity sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew== + dependencies: + react-is "^16.3.2" + warning "^4.0.0" + +prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +raf@^3.3.0, raf@^3.4.0: + version "3.4.1" + resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +react-color@^2.17.0: + version "2.19.3" + resolved "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz" + integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA== + dependencies: + "@icons/material" "^0.2.4" + lodash "^4.17.15" + lodash-es "^4.17.15" + material-colors "^1.2.1" + prop-types "^15.5.10" + reactcss "^1.2.0" + tinycolor2 "^1.4.1" + +react-context-toolbox@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/react-context-toolbox/-/react-context-toolbox-2.0.2.tgz" + integrity sha512-tY4j0imkYC3n5ZlYSgFkaw7fmlCp3IoQQ6DxpqeNHzcD0hf+6V+/HeJxviLUZ1Rv1Yn3N3xyO2EhkkZwHn0m1A== + +react-datepicker@^2.3.0: + version "2.16.0" + resolved "https://registry.npmjs.org/react-datepicker/-/react-datepicker-2.16.0.tgz" + integrity sha512-TvcmSY27rn0JKvuJuIXNNS+niGQNdgtuG/CsBttVYhPOA9KmSw7c2PvQBPVEvzkyV+QPNJ8jN/KVJNj9uvopqA== + dependencies: + classnames "^2.2.6" + date-fns "^2.0.1" + prop-types "^15.7.2" + react-onclickoutside "^6.9.0" + react-popper "^1.3.4" + +react-docgen-displayname-handler@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/react-docgen-displayname-handler/-/react-docgen-displayname-handler-2.1.3.tgz" + integrity sha512-XfQCjDC/8hy0rDZ+VudYplQCdp/fx3z7Ffp22+6s2MSbZ2I/1yw4Tn+ntxkUgI0hrQzB6Nidg/wzLpA5Dbj+xg== + dependencies: + ast-types "0.13.2" + +react-dropzone@^10.2.1: + version "10.2.2" + resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-10.2.2.tgz" + integrity sha512-U5EKckXVt6IrEyhMMsgmHQiWTGLudhajPPG77KFSvgsMqNEHSyGpqWvOMc5+DhEah/vH4E1n+J5weBNLd5VtyA== + dependencies: + attr-accept "^2.0.0" + file-selector "^0.1.12" + prop-types "^15.7.2" + +react-icons@^3.7.0: + version "3.11.0" + resolved "https://registry.npmjs.org/react-icons/-/react-icons-3.11.0.tgz" + integrity sha512-JRgiI/vdF6uyBgyZhVyYJUZAop95Sy4XDe/jmT3R/bKliFWpO/uZBwvSjWEdxwzec7SYbEPNPck0Kff2tUGM2Q== + dependencies: + camelcase "^5.0.0" + +react-input-autosize@^2.2.1: + version "2.2.2" + resolved "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz" + integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw== + dependencies: + prop-types "^15.5.8" + +react-is@^16.13.1, react-is@^16.3.2: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-minimalist-portal@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/react-minimalist-portal/-/react-minimalist-portal-2.3.1.tgz" + integrity sha512-WKFHsNLpFoL/A20AJ17ugoWLPOUqBVQdF+CceOBS7gqT48CzkDMlVop2sYjn/yBYKz9R7c3u/WuqfZ/PiV8Zfw== + dependencies: + prop-types "^15.6.1" + +react-number-format@^4.0.6: + version "4.9.4" + resolved "https://registry.npmjs.org/react-number-format/-/react-number-format-4.9.4.tgz" + integrity sha512-Gq20Z3ugqPLFgeaidnx5on9cNpbQZntPN3QgNAL/WJrNNlQnNznY0LCx7g8xtssmRBw0/hw+SCqw6zAcajooiA== + dependencies: + prop-types "^15.7.2" + +react-onclickoutside@^6.9.0: + version "6.12.2" + resolved "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz" + integrity sha512-NMXGa223OnsrGVp5dJHkuKxQ4czdLmXSp5jSV9OqiCky9LOpPATn3vLldc+q5fK3gKbEHvr7J1u0yhBh/xYkpA== + +react-outside-click-handler@^1.2.2: + version "1.3.0" + resolved "https://registry.npmjs.org/react-outside-click-handler/-/react-outside-click-handler-1.3.0.tgz" + integrity sha512-Te/7zFU0oHpAnctl//pP3hEAeobfeHMyygHB8MnjP6sX5OR8KHT1G3jmLsV3U9RnIYo+Yn+peJYWu+D5tUS8qQ== + dependencies: + airbnb-prop-types "^2.15.0" + consolidated-events "^1.1.1 || ^2.0.0" + document.contains "^1.0.1" + object.values "^1.1.0" + prop-types "^15.7.2" + +react-overlays@^1.1.2: + version "1.2.0" + resolved "https://registry.npmjs.org/react-overlays/-/react-overlays-1.2.0.tgz" + integrity sha512-i/FCV8wR6aRaI+Kz/dpJhOdyx+ah2tN1RhT9InPrexyC4uzf3N4bNayFTGtUeQVacj57j1Mqh1CwV60/5153Iw== + dependencies: + classnames "^2.2.6" + dom-helpers "^3.4.0" + prop-types "^15.6.2" + prop-types-extra "^1.1.0" + react-context-toolbox "^2.0.2" + react-popper "^1.3.2" + uncontrollable "^6.0.0" + warning "^4.0.2" + +react-popper@^1.3.2, react-popper@^1.3.4: + version "1.3.11" + resolved "https://registry.npmjs.org/react-popper/-/react-popper-1.3.11.tgz" + integrity sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg== + dependencies: + "@babel/runtime" "^7.1.2" + "@hypnosphi/create-react-context" "^0.3.1" + deep-equal "^1.1.1" + popper.js "^1.14.4" + prop-types "^15.6.1" + typed-styles "^0.0.7" + warning "^4.0.2" + +react-responsive-modal@^3.1.0: + version "3.6.0" + resolved "https://registry.npmjs.org/react-responsive-modal/-/react-responsive-modal-3.6.0.tgz" + integrity sha512-Wktr0yNWVbNCRsaIPTBlXq0guJeIeQM4krh86NyMpBuCp93cYIjWte1J6hi0KqGJhyuCM60S5yCeDKF8aOt5bQ== + dependencies: + classnames "^2.2.6" + focus-trap-react "^4.0.1" + no-scroll "^2.1.1" + prop-types "^15.6.2" + react-lifecycles-compat "^3.0.4" + react-minimalist-portal "^2.3.1" + react-transition-group "^2.4.0" + +react-select@^2.1.2: + version "2.4.4" + resolved "https://registry.npmjs.org/react-select/-/react-select-2.4.4.tgz" + integrity sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw== + dependencies: + classnames "^2.2.5" + emotion "^9.1.2" + memoize-one "^5.0.0" + prop-types "^15.6.0" + raf "^3.4.0" + react-input-autosize "^2.2.1" + react-transition-group "^2.2.1" + +react-sticky@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/react-sticky/-/react-sticky-6.0.3.tgz" + integrity sha512-LNH4UJlRatOqo29/VHxDZOf6fwbgfgcHO4mkEFvrie5FuaZCSTGtug5R8NGqJ0kSnX8gHw8qZN37FcvnFBJpTQ== + dependencies: + prop-types "^15.5.8" + raf "^3.3.0" + +react-transition-group@^2.2.1, react-transition-group@^2.4.0: + version "2.9.0" + resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz" + integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== + dependencies: + dom-helpers "^3.4.0" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react-lifecycles-compat "^3.0.4" + +react-virtualized@^9.19.1: + version "9.22.3" + resolved "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.3.tgz" + integrity sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw== + dependencies: + "@babel/runtime" "^7.7.2" + clsx "^1.0.4" + dom-helpers "^5.1.3" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-lifecycles-compat "^3.0.4" + +reactcss@^1.2.0: + version "1.2.3" + resolved "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz" + integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== + dependencies: + lodash "^4.0.1" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= + dependencies: + pify "^2.3.0" + +readable-stream@^2.0.1, readable-stream@^2.0.2: + version "2.3.7" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.4.0: + version "3.4.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz" + integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== + dependencies: + picomatch "^2.2.1" + +recompose@^0.27.1: + version "0.27.1" + resolved "https://registry.npmjs.org/recompose/-/recompose-0.27.1.tgz" + integrity sha512-p7xsyi/rfNjHfdP7vPU02uSFa+Q1eHhjKrvO+3+kRP4Ortj+MxEmpmd+UQtBGM2D2iNAjzNI5rCyBKp9Ob5McA== + dependencies: + babel-runtime "^6.26.0" + change-emitter "^0.1.2" + fbjs "^0.8.1" + hoist-non-react-statics "^2.3.1" + react-lifecycles-compat "^3.0.2" + symbol-observable "^1.0.4" + +reflect.ownkeys@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz" + integrity sha512-qOLsBKHCpSOFKK1NUOCGC5VyeufB6lEsFe92AL2bhIJsacZS1qdoOZSbPk3MYKuT2cFlRDnulKXuuElIrMjGUg== + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.1" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz" + integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.10: + version "0.13.10" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz" + integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== + +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpu-core@^4.6.0: + version "4.7.0" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.12.0, resolve@^1.3.2: + version "1.17.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-loader@^7.1.0: + version "7.3.1" + resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz" + integrity sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.0.1" + neo-async "^2.5.0" + pify "^4.0.1" + semver "^6.3.0" + +sass@^1.69.5: + version "1.70.0" + resolved "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz" + integrity sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.6.5: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +"source-map-js@>=0.6.2 <2.0.0": + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.2: + version "0.7.4" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimend@^1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +stylis-rule-sheet@^0.0.10: + version "0.0.10" + resolved "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz" + integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== + +stylis@^3.5.0: + version "3.5.4" + resolved "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz" + integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0, supports-color@^5.4.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +symbol-observable@^1.0.4: + version "1.2.0" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +tabbable@^3.1.0: + version "3.1.2" + resolved "https://registry.npmjs.org/tabbable/-/tabbable-3.1.2.tgz" + integrity sha512-wjB6puVXTYO0BSFtCmWQubA/KIn7Xvajw0x0l6eJUudMG/EAiJvIUnyNX6xO4NpGrJ16lbD0eUseB9WxW0vlpQ== + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.27.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" + integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +tinycolor2@^1.4.1: + version "1.4.2" + resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz" + integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +touch@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/touch/-/touch-2.0.2.tgz" + integrity sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A== + dependencies: + nopt "~1.0.10" + +tslib@^1.9.0: + version "1.13.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== + +tslib@^2.0.1: + version "2.4.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +typed-styles@^0.0.7: + version "0.0.7" + resolved "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz" + integrity sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q== + +ua-parser-js@^0.7.30: + version "0.7.32" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz" + integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +uncontrollable@^6.0.0: + version "6.2.3" + resolved "https://registry.npmjs.org/uncontrollable/-/uncontrollable-6.2.3.tgz" + integrity sha512-VgOAoBU2ptCL2bfTG2Mra0I8i1u6Aq84AFonD5tmCAYSfs3hWvr2Rlw0q2ntoxXTHjcQOmZOh3FKaN+UZVyREQ== + dependencies: + "@babel/runtime" "^7.4.5" + invariant "^2.2.4" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use-media@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/use-media/-/use-media-1.4.0.tgz" + integrity sha512-XsgyUAf3nhzZmEfhc5MqLHwyaPjs78bgytpVJ/xDl0TF4Bptf3vEpBNBBT/EIKOmsOc8UbuECq3mrP3mt1QANA== + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz" + integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + +vtex-tachyons@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/vtex-tachyons/-/vtex-tachyons-3.2.2.tgz" + integrity sha512-4M53uuvV+2XEjplVYiPgpBuaI5dtGksVgz/20NNjbZkXklJM7Lwgod/hOoh3PtIn36+95zZVVgXYfs3e6EU8YA== + +warning@^4.0.0, warning@^4.0.2, warning@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +webpack-cli@^3.1.0: + version "3.3.12" + resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz" + integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== + dependencies: + chalk "^2.4.2" + cross-spawn "^6.0.5" + enhanced-resolve "^4.1.1" + findup-sync "^3.0.0" + global-modules "^2.0.0" + import-local "^2.0.0" + interpret "^1.4.0" + loader-utils "^1.4.0" + supports-color "^6.1.0" + v8-compile-cache "^2.1.1" + yargs "^13.3.2" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.89.0: + version "5.90.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.1.tgz#62ab0c097d7cbe83d32523dbfbb645cdb7c3c01c" + integrity sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +whatwg-fetch@2.0.4, whatwg-fetch@>=0.10.0: + version "2.0.4" + resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz" + integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.14, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xtend@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^12.0.1: + version "12.0.5" + resolved "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/checkout-ui-settings/crowdin.yml b/checkout-ui-settings/crowdin.yml new file mode 100644 index 00000000..0d4e8da2 --- /dev/null +++ b/checkout-ui-settings/crowdin.yml @@ -0,0 +1,3 @@ +files: + - source: /messages/en.json + translation: /messages/%locale%.json \ No newline at end of file diff --git a/checkout-ui-settings/docs/README.md b/checkout-ui-settings/docs/README.md new file mode 100644 index 00000000..fd6d61cb --- /dev/null +++ b/checkout-ui-settings/docs/README.md @@ -0,0 +1,108 @@ +# Checkout UI Custom + +## ⚠️ Maintenance ⚠️ +*Starting June 1st 2023, this application will no longer be maintained by VTEX.* + +--- + +The Checkout UI Custom app is responsible for customizing your store's Checkout UI through the admin's interface. + +![checkout-ui-custom](https://user-images.githubusercontent.com/52087100/91737149-11cc4980-eb85-11ea-9b74-a54721de67bc.png) + +## Configuration + +1. Using your terminal and the [VTEX IO Toolbelt](https://vtex.io/docs/recipes/development/vtex-io-cli-installment-and-command-reference), log into the desired VTEX account. +2. Run `vtex install vtex.checkout-ui-custom` on the account you're working on. +3. Access your VTEX account's admin. +4. Access **Store Setup** and then **Checkout UI Custom**. +5. Make the desired changes using the interface and click on `Publish`. + +ℹ️ \_Once the app is installed in your account, the `checkout6-custom.js` and `checkout6-custom.css` files will be replaced by the ones generated by this app.* + +## Modus Operandi + +If you access your VTEX account's admin using a [Development workspace](https://vtex.io/docs/concepts/workspace/) and publish your changes, the configurations performed using the app will only be applied into the workspace you are working in and not in your store Checkout. + +However, notice the following: **you should not perform any changes in your account's Master workspace to make your Checkout UI configurations publicly available**. Instead, you should use a Development workspace and the **History** tab displayed on the admin app. + +The `History` tab enables you to load app change history and, therefore, helps your checkout UI coding by reusing configurations performed in previous workspaces. + +Let's assume you were working in a [Development workspace](https://vtex.io/docs/recipes/development/creating-a-development-workspace) called `testredcolor`, and now want your changes to be public. According to how workspaces work in the platform, your changes first need to be applied in a [Production workspace](https://vtex.io/docs/recipes/development/creating-a-production-workspace) that, in turn, will be [promoted to Master](https://vtex.io/docs/recipes/development/promoting-a-workspace-to-master) later. + +For this purpose, you can access the `History` tab using the desired Production workspace, load your last changes from `testredcolor` and then click on `Publish`, copying your configurations to the Production workspace you are currently working in. + +⚠️ _The Header and Footer HTMLs are still configured using the admin's Portal (`/admin/portal/#/sites`). In order to properly use the Checkout UI Custom app, it is strongly recommended to use the HTMLs stated below:_ + +- **Header HTML:** + +```html +
    + +
    +``` + +If you want to insert other contents, make sure of include the class `.v-custom-mhide` to hide it on mobile resolutions. For example: + +```html +
    ...
    +
    +
    + +
    + +``` + +
    + If you are yet using the classic CMS + You can create a workspace and install the app by there. While using the app, you will need apply your changes and copy/paste the content of the files to your portal. +
    + +## For VTEX Developers + +When developing a new version of Checkout UI Custom, take care to compile the checkout files prior to opening a PR and/or publishing a new version of the app. This can be done by running `yarn app` in your CLI, inside the app's `/checkout-ui-custom/` subfolder. + +During implementation, you will need to run `vtex link` on the root folder and also watch assets by running `yarn watch` in the `/checkout-ui-custom/` subfolder + +❗Note that during implementation, avoid publishing changes to the workspace. As this will permanently add the changes to the workspace and any changes to the app will not be shown. + + +# + + + +## Contributors ✨ + +Thanks goes to these wonderful people: + + + + + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + + diff --git a/checkout-ui-settings/docs/images/screenshot.png b/checkout-ui-settings/docs/images/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ac2aac03d3eb735a990fcbbf315b733c7f3bcf4c GIT binary patch literal 116433 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 Shy3}+TUAj@p;G?!`~LwkQCT { + await this.http + .post('/_v/checkout-ui-custom/savevb', data, { + headers: { 'content-type': 'application/json' }, + }) + .catch(err => { + throw new Error(err) + }) + } +} diff --git a/checkout-ui-settings/node/graphql/index.ts b/checkout-ui-settings/node/graphql/index.ts new file mode 100644 index 00000000..8c495e0b --- /dev/null +++ b/checkout-ui-settings/node/graphql/index.ts @@ -0,0 +1,289 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { promises as fs } from 'fs' +import * as path from 'path' + +import { method } from '@vtex/api' + +import { getCountryRules } from '../middlewares/getCountryRules' +import { holidays } from '../middlewares/holidays' + +const SCHEMA_VERSION = 'v0.1.3' +const DATA_ENTITY = 'checkoutcustom' + +const routes = { + getProfile: () => + `http://${process.env.VTEX_ACCOUNT}.vtexcommercestable.com.br/no-cache/profileSystem/getProfile`, + baseUrl: () => + `http://${process.env.VTEX_ACCOUNT}.vtexcommercestable.com.br/api`, + configEntity: () => `${routes.baseUrl()}/dataentities/${DATA_ENTITY}`, + listConfig: () => + `${routes.configEntity()}/search?_schema=${SCHEMA_VERSION}&_fields=id,email,workspace,creationDate,appVersion&_sort=creationDate DESC`, + getConfig: (id: string) => + `${routes.configEntity()}/documents/${id}?_fields=id,email,cartName,items,creationDate,subtotal,discounts,shipping,total,customData,address`, + saveSchema: () => `${routes.configEntity()}/schemas/${SCHEMA_VERSION}`, +} + +const getAppId = (): string => { + return process.env.VTEX_APP_ID ?? '' +} + +const schema = { + properties: { + email: { + type: 'string', + title: 'Email', + }, + workspace: { + type: 'string', + title: 'Workspace', + }, + creationDate: { + type: 'string', + title: 'Creation Date', + }, + appVersion: { + type: 'string', + title: 'App Version', + }, + layout: { + type: ['null', 'object'], + title: 'Layout', + }, + colors: { + type: ['null', 'object'], + title: 'Colors', + }, + javascript: { + type: ['null', 'string'], + title: 'Custom Javascript', + }, + css: { + type: ['null', 'string'], + title: 'Custom CSS', + }, + javascriptActive: { + type: 'boolean', + title: 'Activate custom Javascript', + }, + cssActive: { + type: 'boolean', + title: 'Activate custom CSS', + }, + javascriptBuild: { + type: ['null', 'string'], + title: 'Javascript Build', + }, + cssBuild: { + type: ['null', 'string'], + title: 'CSS Build', + }, + }, + 'v-indexed': ['email', 'workspace', 'creationDate', 'appVersion'], + 'v-default-fields': ['email', 'workspace', 'creationDate', 'appVersion'], + 'v-cache': false, +} + +const replacer = (template: string, keys: any) => { + return template.replace(/"?{{\w+}}"?/g, (key: string) => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore: Object is possibly 'null'. + return keys[key.match(/\w+/)[0]] || 'false' + }) +} + +export const resolvers = { + Routes: { + apiGetCountryRules: method({ + GET: [getCountryRules], + }), + getHolidays: method({ + GET: [holidays], + }), + }, + Mutation: { + saveChanges: async (_: any, params: any, ctx: Context) => { + const { + clients: { masterdata, server }, + } = ctx + + const keys = { ...params.layout, ...params.colors } + const cssTemplate = await fs.readFile( + path.join(__dirname, '../templates/checkout6-custom.css'), + { + encoding: 'utf-8', + } + ) + + const cssBuild = + replacer(cssTemplate, keys) + String(params.cssActive ? params.css : '') + + const jsTemplate = await fs.readFile( + path.join(__dirname, '../templates/checkout6-custom.js'), + { + encoding: 'utf-8', + } + ) + + const javascriptBuild = + replacer(jsTemplate, keys) + + String(params.javascriptActive ? params.javascript : '') + + const creationDate = String(new Date().getTime()) + const appVersion = process.env.VTEX_APP_VERSION + + const data = await masterdata.createDocument({ + dataEntity: DATA_ENTITY, + fields: { + ...params, + javascriptBuild, + cssBuild, + creationDate, + appVersion, + }, + schema: SCHEMA_VERSION, + }) + + server.saveVB({ + workspace: params.workspace, + field: 'cssBuild', + file: cssBuild, + }) + + server.saveVB({ + workspace: params.workspace, + field: 'javascriptBuild', + file: javascriptBuild, + }) + + return JSON.stringify(data) + }, + }, + Query: { + getSetupConfig: async (_: any, __: any, ctx: Context) => { + const { + clients: { masterdata, apps }, + } = ctx + + const app: string = getAppId() + const settings = await apps.getAppSettings(app) + + if ( + !settings.adminSetup || + !settings.adminSetup?.hasSchema || + settings.adminSetup?.schemaVersion !== SCHEMA_VERSION + ) { + if (!settings.adminSetup) { + settings.adminSetup = {} + } + + try { + await masterdata + .createOrUpdateSchema({ + dataEntity: DATA_ENTITY, + schemaName: SCHEMA_VERSION, + schemaBody: schema, + }) + .then(() => { + settings.adminSetup.hasSchema = true + settings.adminSetup.schemaVersion = SCHEMA_VERSION + }) + .catch((e: any) => { + settings.adminSetup.hasSchema = false + // eslint-disable-next-line vtex/prefer-early-return + if (e.response.status === 304) { + settings.adminSetup.hasSchema = true + settings.adminSetup.schemaVersion = SCHEMA_VERSION + } + }) + } catch (e) { + settings.adminSetup.hasSchema = false + } + + await apps.saveAppSettings(app, settings) + } + + settings.adminSetup.appVersion = process.env.VTEX_APP_VERSION + + return settings + }, + getHistory: async (_: any, __: any, ctx: any) => { + const { + clients: { masterdata }, + } = ctx + + const data = await masterdata.searchDocuments({ + dataEntity: DATA_ENTITY, + schema: SCHEMA_VERSION, + fields: ['id', 'email', 'workspace', 'creationDate', 'appVersion'], + sort: 'creationDate DESC', + pagination: { + page: 1, + pageSize: 30, + }, + }) + + return data + }, + getById: async (_: any, params: any, ctx: any) => { + const { + clients: { masterdata }, + } = ctx + + const data = await masterdata.getDocument({ + dataEntity: DATA_ENTITY, + fields: [ + 'css', + 'javascript', + 'layout', + 'colors', + 'javascriptActive', + 'cssActive', + ], + id: params.id, + }) + + return data + }, + getLast: async (_: any, params: any, ctx: any) => { + const { + clients: { masterdata }, + } = ctx + + const last = await masterdata + .searchDocuments({ + dataEntity: DATA_ENTITY, + schema: SCHEMA_VERSION, + fields: ['id'], + where: `workspace=${params.workspace}`, + sort: 'creationDate DESC', + pagination: { + page: 1, + pageSize: 1, + }, + }) + .then((res: any) => res) + + if (!last.length) return {} + + const data = await masterdata.getDocument({ + dataEntity: DATA_ENTITY, + id: last[0].id, + fields: [ + 'id', + 'email', + 'workspace', + 'creationDate', + 'appVersion', + 'layout', + 'javascript', + 'css', + 'colors', + 'javascriptActive', + 'cssActive', + ], + }) + + return data ?? {} + }, + }, +} diff --git a/checkout-ui-settings/node/index.ts b/checkout-ui-settings/node/index.ts new file mode 100644 index 00000000..1a5a914c --- /dev/null +++ b/checkout-ui-settings/node/index.ts @@ -0,0 +1,45 @@ +import type { Cached, ServiceContext, ClientsConfig } from '@vtex/api' +import { Service, LRUCache } from '@vtex/api' + +import { Clients } from './clients' +import { resolvers } from './graphql' + +const TIMEOUT_MS = 4000 +const defaultClientOptions = { + retries: 1, + timeout: TIMEOUT_MS, +} + +const memoryCache = new LRUCache({ max: 1000 }) + +declare global { + // We declare a global Context type just to avoid re-writing ServiceContext in every handler and resolver + type Context = ServiceContext + + // The shape of our State object found in `ctx.state`. This is used as state bag to communicate between middlewares. + interface State { + code: number + } +} + +const clients: ClientsConfig = { + implementation: Clients, + options: { + default: defaultClientOptions, + settings: { + memoryCache, + }, + }, +} + +// Export a service that defines route handlers and client options. +export default new Service({ + clients, + graphql: { + resolvers: { + Query: resolvers.Query, + Mutation: resolvers.Mutation, + }, + }, + routes: resolvers.Routes, +}) diff --git a/checkout-ui-settings/node/middlewares/getCountryRules.ts b/checkout-ui-settings/node/middlewares/getCountryRules.ts new file mode 100644 index 00000000..2a107d97 --- /dev/null +++ b/checkout-ui-settings/node/middlewares/getCountryRules.ts @@ -0,0 +1,56 @@ +import type { AddressRules } from '@vtex/address-form' + +interface PromiseType { + success: boolean + errorMessage: string + data: typeof AddressRules | undefined +} + +export async function getCountryRules( + ctx: Context, + next: () => Promise +) { + const { + vtex: { logger }, + } = ctx + + const { countryCode } = ctx.vtex.route.params + + if (!countryCode) { + throw new Error(`Error getting request`) + } + + const parsedCountryCode = + countryCode !== 'default' + ? (countryCode as string).toUpperCase() + : countryCode + + try { + const { default: rules } = await import( + `@vtex/address-form/lib/country/${parsedCountryCode}` + ) + + ctx.status = 200 + ctx.set('Cache-Control', 'no-cache') + ctx.body = { + success: true, + errorMessage: '', + data: rules, + } + } catch (error) { + ctx.status = 404 + ctx.set('Cache-Control', 'no-cache') + ctx.body = { + success: false, + errorMessage: 'Country not found', + data: {}, + } + + logger.error({ + message: 'getCountryRules-error', + error, + }) + } + + return next() +} diff --git a/checkout-ui-settings/node/middlewares/holidays.ts b/checkout-ui-settings/node/middlewares/holidays.ts new file mode 100644 index 00000000..5156de3e --- /dev/null +++ b/checkout-ui-settings/node/middlewares/holidays.ts @@ -0,0 +1,32 @@ +/* eslint-disable no-console */ + +import axios from 'axios' + +export async function holidays(ctx: Context) { + const { + clients: {}, + vtex: { authToken }, + } = ctx + + const account = ctx.headers['x-vtex-account'] + + // const { consultantId } = await json(req) + + const holidaysUrl = `http://${account}.vtexcommercestable.com.br/api/logistics/pvt/configuration/holidays` + + const { data: _holidays } = await axios.get(holidaysUrl, { + headers: { + 'VtexIdclientAutCookie': authToken, + 'X-Vtex-Use-Https': 'true' + }, + }) + + ctx.set('Content-Type', 'application/json') + ctx.set('Cache-Control', 'no-cache, no-store') + + let result = _holidays; + if(!holidays) result = "no holidays" + + ctx.response.status = 200 + ctx.response.body = result +} diff --git a/checkout-ui-settings/node/package.json b/checkout-ui-settings/node/package.json new file mode 100644 index 00000000..0076495c --- /dev/null +++ b/checkout-ui-settings/node/package.json @@ -0,0 +1,33 @@ +{ + "name": "vtex.checkout-ui-custom", + "version": "0.18.6", + "dependencies": { + "@vtex/address-form": "^3.35.2", + "@vtex/api": "6.46.1", + "co-body": "^6.0.0", + "ramda": "^0.25.0" + }, + "devDependencies": { + "@types/bluebird": "^3.5.25", + "@types/co-body": "0.0.3", + "@types/jest": "^27.0.2", + "@types/node": "^12.0.0", + "@types/ramda": "types/npm-ramda#dist", + "@vtex/api": "6.46.1", + "@vtex/prettier-config": "^0.3.1", + "@vtex/tsconfig": "^0.6.0", + "tslint": "^5.12.0", + "tslint-config-prettier": "^1.18.0", + "tslint-config-vtex": "^2.1.0", + "typescript": "3.9.7", + "vtex.checkout-ui-custom": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.checkout-ui-custom@0.18.1/public/@types/vtex.checkout-ui-custom", + "vtex.checkout-ui-settings-server": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.checkout-ui-settings-server@0.5.1/public/_types/react", + "vtex.email-checkout-conflict": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.email-checkout-conflict@0.3.0/public/_types/react", + "vtex.render-runtime": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.render-runtime@8.134.2/public/@types/vtex.render-runtime", + "vtex.store-resources": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.store-resources@0.96.0/public/@types/vtex.store-resources", + "vtex.styleguide": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.146.9/public/@types/vtex.styleguide" + }, + "scripts": { + "lint": "tsc --noEmit && tslint -c tslint.json './**/*.ts'" + } +} diff --git a/checkout-ui-settings/node/service.json b/checkout-ui-settings/node/service.json new file mode 100644 index 00000000..b1837c3f --- /dev/null +++ b/checkout-ui-settings/node/service.json @@ -0,0 +1,17 @@ +{ + "stack": "nodejs", + "memory": 1224, + "timeout": 40, + "minReplicas": 10, + "maxReplicas": 100, + "routes": { + "apiGetCountryRules": { + "path": "/rules/:countryCode", + "public": true + }, + "getHolidays": { + "path": "/_v/holidays", + "public": true + } + } +} diff --git a/checkout-ui-settings/node/templates/checkout6-custom.css b/checkout-ui-settings/node/templates/checkout6-custom.css new file mode 100644 index 00000000..7388eab0 --- /dev/null +++ b/checkout-ui-settings/node/templates/checkout6-custom.css @@ -0,0 +1 @@ +input,select,button{outline:none !important}.vcustom--vtex-omnishipping-1-x-address input,#app-container input[type=text],#app-container input[type=tel],#app-container input[type=email],#app-container select,.orderform-template .summary-note .note-textarea,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation input,.orderform-template-holder #client-profile-data form.client-pre-email input[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email select:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data select:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=text]:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=email]:not(.pac-target-input),.orderform-template-holder #shipping-data select:not(.pac-target-input),.orderform-template-holder #payment-data input[type=text]:not(.pac-target-input),.orderform-template-holder #payment-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #payment-data input[type=email]:not(.pac-target-input),.orderform-template-holder #payment-data select:not(.pac-target-input),.cart-more-options .srp-container .vtex-shipping-preview-0-x-addressFormPart1.vtex-shipping-preview-0-x-geolocation input,.cart-more-options .srp-container select,.cart-more-options .srp-container input[type=text]:not(.pac-target-input),.summary-template-holder .summary-coupon fieldset.coupon-fieldset input[type=text],.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit],.table.cart-items td.quantity input,.table.cart-items tbody tr td .product-service select,.table.cart-items tr.item-attachments-content input,.table.cart-items tr.item-attachments-content select,#vtexIdContainer input{height:"{{inputHeight}}";line-height:"{{inputHeight}}";max-height:initial;display:inline-block;padding:0px 10px;border-radius:"{{borderRadius}}";border:1px solid "{{muted4}}";outline:initial;font-family:"{{fontFamily}}";box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.vcustom--vtex-omnishipping-1-x-address input.error,#app-container input.error[type=text],#app-container input.error[type=tel],#app-container input.error[type=email],#app-container select.error,.orderform-template .summary-note .error.note-textarea,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation input.error,.orderform-template-holder #client-profile-data form.client-pre-email input.error[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input.error[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input.error[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email select.error:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input.error[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input.error[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input.error[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data select.error:not(.pac-target-input),.orderform-template-holder #shipping-data input.error[type=text]:not(.pac-target-input),.orderform-template-holder #shipping-data input.error[type=tel]:not(.pac-target-input),.orderform-template-holder #shipping-data input.error[type=email]:not(.pac-target-input),.orderform-template-holder #shipping-data select.error:not(.pac-target-input),.orderform-template-holder #payment-data input.error[type=text]:not(.pac-target-input),.orderform-template-holder #payment-data input.error[type=tel]:not(.pac-target-input),.orderform-template-holder #payment-data input.error[type=email]:not(.pac-target-input),.orderform-template-holder #payment-data select.error:not(.pac-target-input),.cart-more-options .srp-container .vtex-shipping-preview-0-x-addressFormPart1.vtex-shipping-preview-0-x-geolocation input.error,.cart-more-options .srp-container select.error,.cart-more-options .srp-container input.error[type=text]:not(.pac-target-input),.summary-template-holder .summary-coupon fieldset.coupon-fieldset input.error[type=text],.summary-template-holder .summary-coupon fieldset.coupon-fieldset button.error[type=submit],.table.cart-items td.quantity input.error,.table.cart-items tbody tr td .product-service select.error,.table.cart-items tr.item-attachments-content input.error,.table.cart-items tr.item-attachments-content select.error,#vtexIdContainer input.error{border-color:"{{danger}}"}.vcustom--vtex-omnishipping-1-x-address input:focus,#app-container input[type=text]:focus,#app-container input[type=tel]:focus,#app-container input[type=email]:focus,#app-container select:focus,.orderform-template .summary-note .note-textarea:focus,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation input:focus,.orderform-template-holder #client-profile-data form.client-pre-email input[type=text]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=tel]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=email]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email select:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=text]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=tel]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=email]:focus:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data select:focus:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=text]:focus:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=tel]:focus:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=email]:focus:not(.pac-target-input),.orderform-template-holder #shipping-data select:focus:not(.pac-target-input),.orderform-template-holder #payment-data input[type=text]:focus:not(.pac-target-input),.orderform-template-holder #payment-data input[type=tel]:focus:not(.pac-target-input),.orderform-template-holder #payment-data input[type=email]:focus:not(.pac-target-input),.orderform-template-holder #payment-data select:focus:not(.pac-target-input),.cart-more-options .srp-container .vtex-shipping-preview-0-x-addressFormPart1.vtex-shipping-preview-0-x-geolocation input:focus,.cart-more-options .srp-container select:focus,.cart-more-options .srp-container input[type=text]:focus:not(.pac-target-input),.summary-template-holder .summary-coupon fieldset.coupon-fieldset input[type=text]:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit]:focus,.table.cart-items td.quantity input:focus,.table.cart-items tbody tr td .product-service select:focus,.table.cart-items tr.item-attachments-content input:focus,.table.cart-items tr.item-attachments-content select:focus,#vtexIdContainer input:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,0,0,.4)}input#creditCardpayment-card-0Number,input#creditCardpayment-card-0Code,input#creditCardpayment-card-1Number,input#creditCardpayment-card-1Code{font-size:18px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{animation:input_background_autofill 0s forwards}@keyframes input_background_autofill{100%{background-color:rgba(0,0,0,0)}}.btn,.orderform-template-holder #payment-data .payment-discounts-list table td.action a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a{font-family:"{{fontFamily}}";text-shadow:none;border-radius:"{{btnBorderRadius}}";outline:none !important;text-align:center;font-size:"{{fontSize}}";padding:5px 12px;box-sizing:border-box;display:inline-block;background:none;box-shadow:none}.btn,.orderform-template-holder #payment-data .payment-discounts-list table td.action a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.btn:hover,.btn:focus{transition:all ease .3s}.btn:hover,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:hover,.btn:focus,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:focus{background:none}.btn-large,.client-pre-email .client-email.input.text .btn-success{padding:17px 19px}.btn-link,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a{color:"{{actionPrimary}}"}.btn-link:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:hover,.btn-link:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:focus{color:"{{actionPrimaryDarken}}"}.btn-success{background:"{{success}}";border:1px solid "{{success}}";font-size:13px}.btn-success:hover,.btn-success:focus,.btn-success:active{background:"{{successDarken}}";border:1px solid "{{successDarken}}"}.btn-success[disabled]{background:"{{success}}"}.btn-primary{background:"{{actionPrimary}}";border:1px solid "{{actionPrimary}}";color:"{{actionSecondary}}"}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:"{{actionPrimaryDarken}}";border:1px solid "{{actionPrimaryDarken}}"}.btn-secondary,.orderform-template-holder #payment-data #btn-add-gift-card,.orderform-template-holder #payment-data .payment-discounts-list table td.action a,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit],.table.cart-items tbody tr td .product-service input[type=submit],.table.cart-items tbody tr td.product-name .add-service.btn,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.add-service,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.add-service,.table.cart-items tbody tr td.product-name .clone-item.btn,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item,.table.cart-items tbody tr td.product-name .add-item-attachment-container a{background:rgba(0,0,0,0);border:1px solid "{{actionPrimary}}";color:"{{actionPrimary}}"}.btn-secondary:hover,.orderform-template-holder #payment-data #btn-add-gift-card:hover,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:hover,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn:hover,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit]:hover,.table.cart-items tbody tr td .product-service input[type=submit]:hover,.table.cart-items tbody tr td.product-name .add-service.btn:hover,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.add-service:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.add-service:hover,.table.cart-items tbody tr td.product-name .clone-item.btn:hover,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item:hover,.table.cart-items tbody tr td.product-name .add-item-attachment-container a:hover,.btn-secondary:focus,.orderform-template-holder #payment-data #btn-add-gift-card:focus,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:focus,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn:focus,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit]:focus,.table.cart-items tbody tr td .product-service input[type=submit]:focus,.table.cart-items tbody tr td.product-name .add-service.btn:focus,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.add-service:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.add-service:focus,.table.cart-items tbody tr td.product-name .clone-item.btn:focus,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item:focus,.table.cart-items tbody tr td.product-name .add-item-attachment-container a:focus,.btn-secondary:active,.orderform-template-holder #payment-data #btn-add-gift-card:active,.orderform-template-holder #payment-data .payment-discounts-list table td.action a:active,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn:active,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset button[type=submit]:active,.table.cart-items tbody tr td .product-service input[type=submit]:active,.table.cart-items tbody tr td.product-name .add-service.btn:active,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.add-service:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.add-service:active,.table.cart-items tbody tr td.product-name .clone-item.btn:active,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item:active,.table.cart-items tbody tr td.product-name .add-item-attachment-container a:active{background:"{{actionSecondary}}";border:1px solid "{{actionPrimaryDarken}}";color:"{{actionPrimaryDarken}}"}.btn-outlined{background:rgba(0,0,0,0);border:1px solid "{{success}}";color:"{{success}}"}.btn-outlined:hover,.btn-outlined:focus,.btn-outlined:active{background:rgba(0,0,0,0);border:1px solid "{{successDarken}}"}.btn#payment-data-submit span,.orderform-template-holder #payment-data .payment-discounts-list table td.action a#payment-data-submit span,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a#payment-data-submit span{font-size:14px;margin-left:5px;font-weight:bold}.orderform-template .cart-template.mini-cart h2,.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle,.orderform-template-holder #shipping-data .accordion-toggle,.orderform-template-holder #payment-data .accordion-toggle,.client-pre-email h3.client-pre-email-h span:after,.cart-more-options .srp-container .srp-main-title{font-size:calc({{fontSize}} + 2px);text-transform:uppercase;border-bottom:1px solid "{{muted5}}";font-weight:bold;margin-bottom:15px;padding:7px 0 !important;color:"{{muted3}}";color:"{{muted1}}";border:none;font-size:20px;text-transform:initial;margin-bottom:0px}.payment-data .gift-card-section,.payment-data .payment-discounts-alert{margin:0;width:100% !important;box-sizing:border-box}.input-append,.input-prepend{display:flex !important;align-items:stretch}.input-append .btn,.input-append .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .input-append a,.input-append .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .input-append a,.input-append .add-on,.input-prepend .btn,.input-prepend .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .input-prepend a,.input-prepend .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .input-prepend a,.input-prepend .add-on{height:"{{inputHeight}}";line-height:"{{inputHeight}}";box-sizing:border-box;padding:0;width:20px}.input-append .add-on,.input-prepend .add-on{height:initial !important}.input-append input,.input-prepend input{border-radius:0 "{{borderRadius}}" "{{borderRadius}}" 0 !important;width:100% !important;max-width:100px !important}.payment-discoints-table .number,.gift-card-provider-group .number,.payment-discoints-table .action,.gift-card-provider-group .action{text-align:right}@media(max-width: 690px){.orderform-template-holder .client-profile-data input[type=text]{width:100% !important}}@media(max-width: 690px){.item-quantity-change{display:inline-block}.item-quantity-change{float:left;padding:3px 5px 3px 0px}.item-quantity-change-increment{padding-left:5px;padding-right:0}.full-cart .cart-links-bottom .btn-success{width:83%;display:block;margin-top:10px}.full-cart .cart table{display:block;margin-top:0 !important}.full-cart .cart table thead{display:none}.full-cart .cart table tbody{display:block}.full-cart .cart table tbody tr+tr{border-top:1px dashed #ddd}.full-cart .cart table tbody tr{display:block;margin-top:10px;padding:10px 0;position:relative}.full-cart .cart table tbody tr .product-name a,.full-cart .cart table tbody tr .product-name .seller{overflow:hidden}.full-cart .cart table tbody tr td{display:inline-block;padding:4px 0}.full-cart .cart table tbody tr td.product-name .seller{display:block;line-height:120%;font-size:80%;margin:4px 0}.full-cart .cart table tbody tr td.product-image,.full-cart .cart table tbody tr td.bundle-item-image{left:0;position:absolute}.full-cart .cart table tbody tr td.product-name{display:block;margin-left:60px;text-align:left;line-height:140%;width:auto}.full-cart .cart table tbody tr td.product-name{padding:0 0 10px !important}.full-cart .cart table tbody tr td.empty,.full-cart .cart table tbody tr td.shipping-date,.full-cart .cart table tbody tr td .brand{display:none}.full-cart .cart table tbody tr td.product-name a,.full-cart .cart table tbody tr td.bundle-item-name span{display:block;padding-right:20px}.full-cart .cart table tbody tr td.quantity{width:81px;padding:0px;margin-left:60px}.full-cart .cart table tbody tr td.quantity input{float:left;margin:0;width:25px}.full-cart .cart table tbody tr td.product-price{text-align:right;float:right;margin-right:5px;padding:0}.full-cart .cart table tbody tr td.quantity-price{display:none}.full-cart .cart table tbody tr td.item-remove{position:absolute;top:2px;right:0;width:24px}.cart-links-bottom{float:none;margin-top:5px;margin-bottom:40px;text-align:right}.more{margin-right:0}.full-cart .cart-links-bottom .btn-success{width:auto}.full-cart .cart table tbody tr.item-attachments-head{border:0;margin:0;padding:0}.full-cart .cart table tbody tr.item-attachments-head .item-attachments-header{top:auto}.full-cart .cart table tbody tr.item-attachments-head .item-attachments-header:after{content:none}.full-cart .cart table tbody tr.item-attachments-head .item-attachments-header strong{box-shadow:none}.full-cart .cart table tbody tr.item-attachments-content{margin:0;border:0;padding:0}.full-cart .cart table tbody tr.item-attachments-content .item-attachments-item-fields{margin-left:5px;width:95%}}.default-modal{border-radius:"{{borderRadius}}";height:auto}.modal .btn,.modal .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .modal a,.modal .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .modal a{background:#fff}.modal.guest-login-modal button.btn{width:auto}.modal.guest-login-modal,.modal.modal-email-template,.modal.modal-payment-template,.modal.modal-masked-info-template{background:"{{success}}"}.payment-confirmation-message{width:100%}#vtexIdContainer{position:fixed !important}.vtexIdUI{position:absolute;top:50% !important;transform:translateY(-50%) !important}#vtexIdContainer{position:fixed}#vtexIdContainer a{color:"{{actionPrimary}}"}#vtexIdContainer .vtexIdUI .modal-footer{background:none}#vtexIdContainer .vtexIdUI .btn,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a{border-radius:"{{btnBorderRadius}}";height:"{{inputHeight}}";line-height:"{{inputHeight}}";box-shadow:none !important;font-size:"{{fontSize}}";padding:0 30px}#vtexIdContainer .vtexIdUI .btn.btn-success,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a.btn-success,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a.btn-success,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.btn-success,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a.btn-success{background:"{{success}}";border:1px solid "{{success}}"}#vtexIdContainer .vtexIdUI .btn.btn-success:hover,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a.btn-success:hover,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a.btn-success:hover,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.btn-success:hover,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a.btn-success:hover,#vtexIdContainer .vtexIdUI .btn.btn-success:focus,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a.btn-success:focus,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a.btn-success:focus,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.btn-success:focus,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a.btn-success:focus,#vtexIdContainer .vtexIdUI .btn.btn-success:active,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a.btn-success:active,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a.btn-success:active,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.btn-success:active,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a.btn-success:active{background:"{{successDarken}}";border:1px solid "{{successDarken}}"}#vtexIdContainer .vtexIdUI .btn#vtexIdUI-facebook,#vtexIdContainer .vtexIdUI .orderform-template-holder #payment-data .payment-discounts-list table td.action a#vtexIdUI-facebook,.orderform-template-holder #payment-data .payment-discounts-list table td.action #vtexIdContainer .vtexIdUI a#vtexIdUI-facebook,#vtexIdContainer .vtexIdUI .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a#vtexIdUI-facebook,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data #vtexIdContainer .vtexIdUI a#vtexIdUI-facebook{background:#4568ad !important}@media(max-width: 768px){#vtexIdContainer{position:fixed !important}#vtexIdContainer .vtexIdUI{overflow:auto;border-radius:0;width:100%;left:0;margin:0;top:0;height:100% !important;border:none}#vtexIdContainer .vtexIdUI .modal-header .close{top:0;right:0;margin:0;padding:4px 8px}}body{font-family:"{{fontFamily}}";min-width:initial !important;padding:0;background:"{{base}}";padding-bottom:40px !important;min-height:93vh;position:relative;font-size:"{{fontSize}}";overflow-x:hidden}body a{color:"{{actionPrimary}}"}body a:hover{color:"{{actionPrimaryDarken}}"}@media(max-width: 768px){body{padding-bottom:0px !important}}body .cart-template.full-cart>*{opacity:0;transition-delay:1.2s;transition-property:opacity;-webkit-transition-duration:.5s}body.v-custom-loaded .cart-template.full-cart>*{opacity:initial}body.returningUser.v-custom-addressForm-on.v-custom-step-shipping .accordion-inner.shipping-container .vtex-omnishipping-1-x-addressFormPart1.vtex-omnishipping-1-x-geolocation{display:block}body.returningUser.v-custom-addressForm-on.v-custom-step-shipping .accordion-inner.shipping-container .vtex-omnishipping-1-x-deliveryGroup{display:block}body.returningUser.v-custom-addressForm-on.v-custom-step-shipping .accordion-inner.shipping-container .vtex-omnishipping-1-x-submitPaymentButton{display:block}.onda-v1 .br-pill,.step,.cart,.totalizers{border-radius:"{{borderRadius}}"}.loading.loading-bg{background:"{{base}}"}.container{max-width:"{{maxWrapper}}";width:calc(100% - 40px)}@media(max-width: 690px){.container{width:calc(100% - 20px)}}.checkout-container{overflow:initial !important;z-index:2}@media(max-width: 768px){.checkout-container{margin-bottom:30px}}.checkout-container .orderform-template,.checkout-container .cart-template{display:flex;justify-content:space-between;align-items:flex-start;transition:position ease .8s,opacity ease .8s,margin ease .8s}.checkout-container .orderform-template.inactive,.checkout-container .cart-template.inactive{max-height:50vh;overflow:hidden;top:0;position:absolute}.checkout-container .full-cart.inactive{margin-left:-140%}.checkout-container .orderform-template.inactive{left:140%;margin:0;display:none !important}.container-cart h1,h1#orderform-title{font-size:22px !important;font-weight:400 !important;color:"{{muted1}}" !important}h1#orderform-title{display:none !important}.v-custom-assemblies{margin:10px 0 3px 0;overflow:hidden;border-top:1px solid "{{muted4}}";padding-top:7px}@media(max-width: 690px){.v-custom-assemblies{width:100%;left:0;margin-bottom:2px}}.v-custom-assemblies p{display:none}.v-custom-assemblies__values{list-style:none;padding:0;margin:0}.v-custom-assemblies__values__item strong:after{content:":"}.v-custom-assemblies__values__item span,.v-custom-assemblies__values__item strong{line-height:14px}.client-pre-email h3.client-pre-email-h span:before,.client-profile-data .accordion-toggle>span:before,.shipping-data .accordion-toggle:before,.payment-data .accordion-toggle>span:not(.payment-edit-link):before{background:#fff;border:1px solid "{{muted1}}";color:"{{muted1}}";width:26px;height:26px;line-height:26px;font-size:15px}body.js-vcustom-hideEmailStep .client-profile-data .accordion-toggle>span:before,body.v-custom-step-payment .payment-data .accordion-toggle>span:not(.payment-edit-link):before,body.v-custom-step-shipping .shipping-data .accordion-toggle:before,body.v-custom-step-profile .client-profile-data .accordion-toggle>span:before,body.v-custom-step-email .client-pre-email h3.client-pre-email-h span:before,body.v-custom-step-profile .client-pre-email h3.client-pre-email-h span:before,body.v-custom-step-payment .client-pre-email h3.client-pre-email-h span:before,body.v-custom-step-payment .client-profile-data .accordion-toggle>span:before,body.v-custom-step-payment .shipping-data .accordion-toggle:before,body.v-custom-step-shipping .client-pre-email h3.client-pre-email-h span:before,body.v-custom-step-shipping .client-profile-data .accordion-toggle>span:before,body.v-custom-step-profile .client-pre-email h3.client-pre-email-h span:before{background:"{{actionPrimary}}";border-color:"{{actionPrimary}}";color:#fff}.client-pre-email h3.client-pre-email-h span:before,.client-profile-data .accordion-toggle>span:before,.shipping-data .accordion-toggle:before,.payment-data .accordion-toggle>span:not(.payment-edit-link):before{text-align:center;margin-right:10px;border-radius:100%;display:inline-block;font-weight:bold;vertical-align:middle;margin-top:-2px}.client-pre-email h3.client-pre-email-h span:before{content:"1"}.client-profile-data .accordion-toggle>span:before{content:"2"}.shipping-data .accordion-toggle:before{content:"3"}.payment-data .accordion-toggle>span:not(.payment-edit-link):before{content:"4"}@media(max-width: 690px){body:before{width:0;height:4px;background:"{{actionPrimary}}";display:block;content:"";position:fixed;top:0;transition:all ease .3s;z-index:999}body.v-custom-step-email:before{width:23%}body.v-custom-step-profile:before{width:46%}body.v-custom-step-shipping:before{width:69%}body.v-custom-step-payment:before{width:92%}}body.v-custom-step-payment .checkout-steps_item_cart .text,body.v-custom-step-payment .checkout-steps_item_identification .text,body.v-custom-step-payment .checkout-steps_item_shipping .text,body.v-custom-step-payment .checkout-steps_item_payment .text,body.v-custom-step-shipping .checkout-steps_item_cart .text,body.v-custom-step-shipping .checkout-steps_item_identification .text,body.v-custom-step-shipping .checkout-steps_item_shipping .text,body.v-custom-step-email .checkout-steps_item_cart .text,body.v-custom-step-email .checkout-steps_item_identification .text,body.v-custom-step-profile .checkout-steps_item_cart .text,body.v-custom-step-profile .checkout-steps_item_identification .text,body.v-custom-step-cart .checkout-steps_item_cart .text{color:"{{muted1}}";font-weight:bold;pointer-events:initial}body.v-custom-step-cart .checkout-steps_item_cart{opacity:1}body.v-custom-step-cart .checkout-steps_item_cart .text{pointer-events:none}body.v-custom-step-cart .checkout-steps_item_cart:before{background:"{{actionPrimary}}";border-color:"{{actionPrimary}}"}body.v-custom-step-email .checkout-steps_bar_inner-active,body.v-custom-step-profile .checkout-steps_bar_inner-active{width:20%}body.v-custom-step-email .checkout-steps_item_cart,body.v-custom-step-email .checkout-steps_item_identification,body.v-custom-step-profile .checkout-steps_item_cart,body.v-custom-step-profile .checkout-steps_item_identification{opacity:1}body.v-custom-step-email .checkout-steps_item_cart:before,body.v-custom-step-email .checkout-steps_item_identification:before,body.v-custom-step-profile .checkout-steps_item_cart:before,body.v-custom-step-profile .checkout-steps_item_identification:before{background:"{{actionPrimary}}";border-color:"{{actionPrimary}}"}body.v-custom-step-email .checkout-steps_item_identification .text,body.v-custom-step-profile .checkout-steps_item_identification .text{pointer-events:none}body.v-custom-step-shipping .checkout-steps_bar_inner-active{width:40%}body.v-custom-step-shipping .checkout-steps_item_cart,body.v-custom-step-shipping .checkout-steps_item_identification,body.v-custom-step-shipping .checkout-steps_item_shipping{opacity:1}body.v-custom-step-shipping .checkout-steps_item_cart:before,body.v-custom-step-shipping .checkout-steps_item_identification:before,body.v-custom-step-shipping .checkout-steps_item_shipping:before{background:"{{actionPrimary}}";border-color:"{{actionPrimary}}"}body.v-custom-step-shipping .checkout-steps_item_shipping .text{pointer-events:none}body.v-custom-step-payment .checkout-steps_bar_inner-active{width:60%}body.v-custom-step-payment .checkout-steps_item_cart,body.v-custom-step-payment .checkout-steps_item_identification,body.v-custom-step-payment .checkout-steps_item_shipping,body.v-custom-step-payment .checkout-steps_item_payment{opacity:1}body.v-custom-step-payment .checkout-steps_item_cart:before,body.v-custom-step-payment .checkout-steps_item_identification:before,body.v-custom-step-payment .checkout-steps_item_shipping:before,body.v-custom-step-payment .checkout-steps_item_payment:before{background:"{{actionPrimary}}";border-color:"{{actionPrimary}}"}body.v-custom-step-payment .checkout-steps_item_payment .text{pointer-events:none}.checkout-steps{display:none;position:relative;min-width:470px;width:100%;display:block}@media(max-width: 690px){.checkout-steps{display:none !important}}.checkout-steps_bar_inner-active{width:0;background:"{{actionPrimary}}"}.checkout-steps_items{display:flex;justify-content:space-between}.checkout-steps_item{position:relative;text-align:center;flex-grow:1;display:flex;align-items:center;justify-content:flex-start;opacity:.6}.checkout-steps_item:after{content:"";height:2px;background:"{{actionPrimary}}";margin:0px 5px;min-width:10px}.checkout-steps_item .text{clear:both;display:flex;align-items:center;color:"{{muted3}}";font-weight:500;cursor:pointer;pointer-events:none}.checkout-steps_item .text:before{content:"";width:7px;height:7px;background:"{{actionPrimary}}";border:2px solid "{{actionPrimary}}";display:inline-block;border-radius:100%;margin-right:7px;transition:all ease .3s}.checkout-steps_item_cart:after{width:calc(100% - 50px)}.checkout-steps_item_identification:after{width:calc(100% - 103px)}.checkout-steps_item_shipping:after{width:calc(100% - 77px)}.checkout-steps_item_payment:after{width:calc(100% - 77px)}.checkout-steps_item_confirmation:after{display:none}body .main-header{padding:12px 0;text-align:center;border-bottom:1px solid "{{muted4}}";position:relative;background-color:#fff;margin-bottom:40px}body .main-header,body .main-header>.container{display:flex;align-items:center}@media(max-width: 690px){body .main-header,body .main-header>.container{justify-content:center}}body .main-header>.container:before,body .main-header>.container:after{display:none}body .main-header .header-link{position:absolute;left:0px;top:calc(100% + 18px);display:none}body .main-header .header-link a{height:20px;font-size:11px;line-height:115%;padding-left:0px;color:"{{muted2}}";display:flex;align-items:center}body .main-header .header-link a:before{display:block;float:left;width:10px;height:10px;-webkit-mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDQzLjUyIDQ0My41MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQzLjUyIDQ0My41MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxwYXRoIGQ9Ik0xNDMuNDkyLDIyMS44NjNMMzM2LjIyNiwyOS4xMjljNi42NjMtNi42NjQsNi42NjMtMTcuNDY4LDAtMjQuMTMyYy02LjY2NS02LjY2Mi0xNy40NjgtNi42NjItMjQuMTMyLDBsLTIwNC44LDIwNC44DQoJCQljLTYuNjYyLDYuNjY0LTYuNjYyLDE3LjQ2OCwwLDI0LjEzMmwyMDQuOCwyMDQuOGM2Ljc4LDYuNTQ4LDE3LjU4NCw2LjM2LDI0LjEzMi0wLjQyYzYuMzg3LTYuNjE0LDYuMzg3LTE3LjA5OSwwLTIzLjcxMg0KCQkJTDE0My40OTIsMjIxLjg2M3oiLz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==) no-repeat 50% 50%;mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDQzLjUyIDQ0My41MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQzLjUyIDQ0My41MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxwYXRoIGQ9Ik0xNDMuNDkyLDIyMS44NjNMMzM2LjIyNiwyOS4xMjljNi42NjMtNi42NjQsNi42NjMtMTcuNDY4LDAtMjQuMTMyYy02LjY2NS02LjY2Mi0xNy40NjgtNi42NjItMjQuMTMyLDBsLTIwNC44LDIwNC44DQoJCQljLTYuNjYyLDYuNjY0LTYuNjYyLDE3LjQ2OCwwLDI0LjEzMmwyMDQuOCwyMDQuOGM2Ljc4LDYuNTQ4LDE3LjU4NCw2LjM2LDI0LjEzMi0wLjQyYzYuMzg3LTYuNjE0LDYuMzg3LTE3LjA5OSwwLTIzLjcxMg0KCQkJTDE0My40OTIsMjIxLjg2M3oiLz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==) no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:"{{muted2}}";content:""}body .main-header .header-link a.back-cart-link{display:none}@media(max-width: 690px){body .main-header .header-link{top:50%;transform:translateY(-50%)}body .main-header .header-link a{max-width:80px}body .main-header .header-link a:before{width:17px;height:17px}}body .main-header .logo{max-width:calc(100% - 180px)}body .main-header .logo svg.vtex-logo{height:50px}body .main-header .logo,body .main-header .logo img{display:inline-block;font-size:24px;border:none;line-height:39px}body .main-header .checkout-steps{max-width:540px;margin-left:auto;padding-right:10px}@media(max-width: 690px){body:not(.body-cart) .main-header{padding:4px 0;margin-bottom:10px}body:not(.body-cart) .main-header .v-custom-mhide{display:none !important}body:not(.body-cart) .main-header,body:not(.body-cart) .main-header>.container{background:none;border:none;justify-content:center}body:not(.body-cart) .main-header .logo{cursor:default;pointer-events:none;font-weight:bold}body:not(.body-cart) .main-header .logo svg,body:not(.body-cart) .main-header .logo img{display:none !important}body:not(.body-cart) .main-header .logo:before{content:"checkout";text-transform:uppercase}body:not(.body-cart) .main-header .logo,body:not(.body-cart) .main-header .logo:hover{color:"{{muted1}}";font-size:14px}body:not(.body-cart) .main-header .header-link{display:block}body:not(.body-cart) .main-header a.buy-more-link{display:none}body:not(.body-cart) .main-header a.back-cart-link{display:block !important;font-size:0}body:not(.body-cart) .main-header a.back-cart-link:before{background:"{{muted1}}"}}.main-footer{clear:both;text-align:center;padding:2px 0;border-top:1px solid "{{muted4}}";position:absolute;bottom:0;width:100%;z-index:-1}.main-footer .container{position:initial}@media(max-width: 768px){.main-footer{position:relative}}.main-footer a.credits-vtex{width:100px;display:block;margin:0 auto}.main-footer .vtex-logo{display:block;margin:0 auto}.main-footer svg,.main-footer svg path{fill:"{{muted3}}"}.cart{border:none;padding:0}body.v-custom-step-cart .main-header .header-link{display:block}body.v-custom-cart-empty #cart-title,body.v-custom-cart-empty #shipping-preview-container,body.v-custom-cart-empty .summary-template-holder,body.v-custom-cart-empty .checkout-steps,body.v-custom-cart-empty .cart-more-options{display:none !important}body.v-custom-cart-empty .cart-template-holder{margin:0 auto}.empty-cart-content{padding:50px 0}h1#cart-title{display:none !important}.cart-more-options,.cart-template-holder .cart{padding:20px 30px;background:#fff;margin:0;border-radius:"{{borderRadius}}"}@media(max-width: 690px){.cart-more-options,.cart-template-holder .cart{padding:12px}}.cart-template-holder .cart{border:"{{bordersContainers}}";margin-bottom:20px}.table.cart-items{display:block}.table.cart-items thead{width:100%;display:block}.table.cart-items thead tr{display:flex;align-items:center}.table.cart-items thead tr th.product{width:calc(100% - 235px) !important}.table.cart-items thead tr th.product-price,.table.cart-items thead tr th.quantity-price{width:90px !important}.table.cart-items thead tr th.item-remove,.table.cart-items thead tr th.quantity-price,.table.cart-items thead tr th.shipping-date{display:none}.table.cart-items thead tr th.quantity{min-width:62px}.table.cart-items thead tr th.product-image{order:1}.table.cart-items thead tr th.product-name{order:2}.table.cart-items thead tr th.shipping-date{order:3}.table.cart-items thead tr th.quantity{order:4}.table.cart-items thead tr th.product-price,.table.cart-items thead tr th.quantity-price{order:5}.table.cart-items tr.item-attachments-head{border:none !important;justify-content:center}.table.cart-items tr.item-attachments-head .help-arrow{display:none}.table.cart-items td.shipping-date{display:none}.table.cart-items tbody{display:flex;flex-wrap:wrap;width:100%}.table.cart-items tbody tr{width:100%;display:flex;flex-wrap:wrap;border-top:1px solid "{{muted5}}"}.table.cart-items tbody tr.hide{display:none}.table.cart-items tbody tr>.v-custom-bundles{width:100%}@media(max-width: 690px){.table.cart-items tbody tr{margin-top:0 !important}.table.cart-items tbody tr:first-child{border:none}}.table.cart-items tbody tr.item-attachments-head,.table.cart-items tbody tr.item-attachments-content{display:none}.table.cart-items tbody tr .v-custom-product-item-wrap{width:100%;display:flex;align-items:center;position:relative;padding:20px 0}@media(max-width: 690px){.table.cart-items tbody tr .v-custom-product-item-wrap{display:block;padding:10px 0}.table.cart-items tbody tr .v-custom-product-item-wrap:after{content:"";clear:both;display:block}}.table.cart-items tbody tr td{width:auto;border:none}.table.cart-items tbody tr td.product-name .add-service-container,.table.cart-items tbody tr td.product-name .clone-item.btn,.table.cart-items tbody tr td.product-name .orderform-template-holder #payment-data .payment-discounts-list table td.action a.clone-item,.orderform-template-holder #payment-data .payment-discounts-list table td.action .table.cart-items tbody tr td.product-name a.clone-item,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item,.table.cart-items tbody tr td.product-name .add-item-attachment-container{margin:10px 0}.table.cart-items tbody tr td.product-name .add-service-container+p,.table.cart-items tbody tr td.product-name .clone-item.btn+p,.table.cart-items tbody tr td.product-name .orderform-template-holder #payment-data .payment-discounts-list table td.action a.clone-item+p,.orderform-template-holder #payment-data .payment-discounts-list table td.action .table.cart-items tbody tr td.product-name a.clone-item+p,.table.cart-items tbody tr td.product-name .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.clone-item+p,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .table.cart-items tbody tr td.product-name a.clone-item+p,.table.cart-items tbody tr td.product-name .add-item-attachment-container+p{display:none}@media(min-width: 769px){.table.cart-items tbody tr td.product-name{width:calc(100% - 355px) !important}}.table.cart-items tbody tr td.product-name .seller{display:block}.table.cart-items tbody tr td.product-price,.table.cart-items tbody tr td.quantity-price{width:90px !important;white-space:nowrap;margin:0 10px;line-height:16px}.table.cart-items tbody tr td.product-price br,.table.cart-items tbody tr td.quantity-price br{display:none}@media(max-width: 690px){.table.cart-items tbody tr td.product-price,.table.cart-items tbody tr td.quantity-price{width:initial !important;text-align:right;float:right;margin:0;padding:0}}.table.cart-items tbody tr td.product-price .new-product-price-label,.table.cart-items tbody tr td.product-price .old-product-price-label,.table.cart-items tbody tr td.quantity-price .new-product-price-label,.table.cart-items tbody tr td.quantity-price .old-product-price-label{display:none}.table.cart-items tbody tr td.product-price .list-price,.table.cart-items tbody tr td.quantity-price .list-price{font-size:10px}.table.cart-items tbody tr td.product-price .total-selling-price,.table.cart-items tbody tr td.product-price .best-price,.table.cart-items tbody tr td.quantity-price .total-selling-price,.table.cart-items tbody tr td.quantity-price .best-price{font-weight:bold;position:relative}@media(max-width: 690px){.table.cart-items tbody tr td.product-price .total-selling-price,.table.cart-items tbody tr td.product-price .best-price,.table.cart-items tbody tr td.quantity-price .total-selling-price,.table.cart-items tbody tr td.quantity-price .best-price{display:flex;justify-content:flex-end;margin-top:7px}.table.cart-items tbody tr td.product-price .total-selling-price .discount,.table.cart-items tbody tr td.product-price .best-price .discount,.table.cart-items tbody tr td.quantity-price .total-selling-price .discount,.table.cart-items tbody tr td.quantity-price .best-price .discount{margin-left:5px;display:block}}.table.cart-items tbody tr td.product-price .new-product-real-price-per-unit,.table.cart-items tbody tr td.quantity-price .new-product-real-price-per-unit{display:inline-block}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__best,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__best{font-weight:bold;font-size:"{{fontSize}}"}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list{display:block;font-size:10px}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--list,.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--list,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling{display:block}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--list,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--list{text-decoration:line-through;color:"{{muted3}}"}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list,.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling{color:"{{muted2}}";font-size:10px;line-height:11px}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling{margin-bottom:3px}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling .discount,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling .discount{display:none}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling:after,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling:after{content:")"}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling:before,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling:before{content:"("}.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list--selling .best-price,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list--selling .best-price{font-weight:normal;display:inline-block}@media(max-width: 690px){.table.cart-items tbody tr td.product-price .v-custom-quantity-price__list>*:last-child,.table.cart-items tbody tr td.quantity-price .v-custom-quantity-price__list>*:last-child{margin-bottom:-7px}}.table.cart-items tbody tr td.product-price.v-custom-quantity-price-active>.list-price,.table.cart-items tbody tr td.quantity-price.v-custom-quantity-price-active>.list-price{display:none !important}.table.cart-items tbody tr td.product-price>span.list-price,.table.cart-items tbody tr td.product-price>span.best-price,.table.cart-items tbody tr td.quantity-price>span.list-price,.table.cart-items tbody tr td.quantity-price>span.best-price{display:block}.table.cart-items tbody tr td.product-price span.product-manualprice,.table.cart-items tbody tr td.product-price a.manualprice-link-remove,.table.cart-items tbody tr td.quantity-price span.product-manualprice,.table.cart-items tbody tr td.quantity-price a.manualprice-link-remove{z-index:2}.table.cart-items tbody tr td.product-price a.manualprice-link-remove,.table.cart-items tbody tr td.quantity-price a.manualprice-link-remove{position:absolute;top:-2px;left:-4px;background:#fff}.table.cart-items tbody tr td.product-price a.manualprice-link-remove i.icon-remove:before,.table.cart-items tbody tr td.quantity-price a.manualprice-link-remove i.icon-remove:before{width:10px !important;height:10px !important}.table.cart-items tbody tr td.product-price span.product-manualprice,.table.cart-items tbody tr td.quantity-price span.product-manualprice{padding:5px 5px 5px 31px;border:1px solid #ccc;display:inline-block;background:#fff;border-radius:5px;box-shadow:0 0 19px #777;position:absolute;top:0;left:0;transform:translate(-15%, -34%)}@media(max-width: 690px){.table.cart-items tbody tr td.product-price span.list-price:not(.hide)+br+span.best-price{margin-top:0}}.table.cart-items tbody tr td.item-remove{margin-left:auto;width:20px !important}@media(max-width: 690px){.table.cart-items tbody tr td.item-remove{top:0 !important}}.table.cart-items tbody tr td.product-image{order:1}.table.cart-items tbody tr td.product-name{order:2;width:60%}.table.cart-items tbody tr td.shipping-date{order:3}.table.cart-items tbody tr td.quantity{order:4}.table.cart-items tbody tr td.product-price,.table.cart-items tbody tr td.quantity-price{order:5}.table.cart-items tbody tr td.item-remove{order:10}.table.cart-items tbody tr td.quantity-price{display:none !important}.table.cart-items tbody tr td.product-price{display:block !important}.table.cart-items tbody tr td .field-help{background:"{{actionPrimary}}";border-color:"{{actionPrimary}}"}.table.cart-items tbody tr td i.icon-question-sign{color:"{{actionPrimary}}"}.table.cart-items tbody tr td .add-item-attachment-container,.table.cart-items tbody tr td .clone-item,.table.cart-items tbody tr td p.clone-item-container{display:none !important}.table.cart-items tbody tr td hr.clone-item-sep{margin:0;clear:both;border:none}.table.cart-items tbody tr td .product-service{height:calc({{inputHeight}} + 10px);margin-top:10px;position:relative}@media(min-width: 690px){.table.cart-items tbody tr td .product-service fieldset{width:100%;position:absolute;min-width:250px}}.table.cart-items tbody tr td .product-service p{display:flex}.table.cart-items tbody tr td .product-service select{background:#fff;width:100%;margin-right:10px}.table.cart-items tbody tr td.quantity input{line-height:inherit}.table.cart-items tbody tr .v-custom-assemblies{clear:both}.table.cart-items tbody tr.v-custom-bundles-in .product-service{display:none}.table.cart-items tbody tr.item-unavailable{margin:10px 0;border-radius:10px;border:none !important}@media(max-width: 690px){.table.cart-items tbody tr.item-unavailable{padding:0;text-align:center}}.table.cart-items tbody tr.v-custom-indexedItems-in+tr.item-unavailable{display:none}.table.cart-items tbody tr.v-custom-indexed-item{border:none}.table.cart-items tbody tr.v-custom-indexed-item,.table.cart-items tbody tr.item-service{margin:0 0 10px 0;padding:0;border-top:none}.table.cart-items tbody tr.v-custom-indexed-item .v-custom-product-item-wrap,.table.cart-items tbody tr.v-custom-indexed-item .v-custom-trservice-wrap,.table.cart-items tbody tr.item-service .v-custom-product-item-wrap,.table.cart-items tbody tr.item-service .v-custom-trservice-wrap{background:"{{actionSecondary}}";border:1px dashed "{{muted4}}";border-radius:"{{borderRadius}}";width:100%;display:flex;align-items:center;box-sizing:border-box;padding:5px 10px}.table.cart-items tbody tr.v-custom-indexed-item .v-custom-trservice-wrap,.table.cart-items tbody tr.item-service .v-custom-trservice-wrap{margin-bottom:10px;margin-top:10px}.table.cart-items tbody tr.v-custom-indexed-item td.quantity,.table.cart-items tbody tr.item-service td.quantity{background:#fff;width:25px;height:20px;text-align:center;justify-content:center}.table.cart-items tbody tr.v-custom-indexed-item td.quantity p,.table.cart-items tbody tr.item-service td.quantity p{width:100%}.table.cart-items tbody tr.v-custom-indexed-item td.product-price,.table.cart-items tbody tr.item-service td.product-price{display:none !important}.table.cart-items tbody tr.v-custom-indexed-item td.quantity-price,.table.cart-items tbody tr.item-service td.quantity-price{display:block !important}.table.cart-items tbody tr.v-custom-indexed-item .item-remove,.table.cart-items tbody tr.item-service .item-remove{margin-left:auto;position:initial;width:auto}.table.cart-items tbody tr.v-custom-indexed-item .item-remove i.icon.icon-remove.item-remove-ico:before,.table.cart-items tbody tr.item-service .item-remove i.icon.icon-remove.item-remove-ico:before{content:"-";background:"{{danger}}";color:#fff;line-height:9px;border-radius:100%;width:16px;height:16px;font-size:27px}@media(max-width: 690px){.table.cart-items tbody tr.v-custom-indexed-item,.table.cart-items tbody tr.item-service{border-top:none !important}.table.cart-items tbody tr.v-custom-indexed-item .product-price,.table.cart-items tbody tr.v-custom-indexed-item .quantity,.table.cart-items tbody tr.item-service .product-price,.table.cart-items tbody tr.item-service .quantity{margin:auto !important;width:auto !important;min-width:initial !important}}.table.cart-items tbody tr.v-custom-indexed-item:last-child{margin-bottom:20px}.table.cart-items tbody tr.v-custom-indexed-item td.product-image{display:none}@media(max-width: 690px){.table.cart-items tbody tr.v-custom-indexed-item td.quantity{display:none}}.table.cart-items tbody tr.v-custom-indexed-item td.product-name{margin-left:0 !important;padding:0 !important;width:100% !important;margin-right:15px}.table.cart-items tbody tr.v-custom-indexed-item p{margin:0;padding:0}.table.cart-items tbody tr:last-child{border-bottom:none}.table.cart-items tbody>tr.v-custom-indexed-item,.table.cart-items tbody>tr[data-parentitemindex]{display:none}.table.cart-items tbody>tr.v-custom-indexed-item+.item-unavailable,.table.cart-items tbody>tr[data-parentitemindex]+.item-unavailable{display:none}.table.cart-items td.product-image a{overflow:hidden;border-radius:"{{borderRadius}}"}.table.cart-items td.product-image a{margin-right:20px}.table.cart-items td.product-image a,.table.cart-items td.product-image img{width:100px;display:block;max-width:initial;height:auto}@media(max-width: 690px){.table.cart-items td.product-image a,.table.cart-items td.product-image img{width:70px}}.table.cart-items td.product-name a,.table.cart-items td.product-name a:hover{color:#333;font-weight:bold;text-decoration:none}.table.cart-items td.quantity{margin:0 0 0 10px;display:flex;align-items:center;padding:0;border-radius:"{{borderRadius}}";border:1px solid "{{muted4}}";float:left;min-width:30px;text-align:center;justify-content:center}.table.cart-items td.quantity input{margin:0;width:30px !important;height:30px !important;padding:0;border:none;box-shadow:none}.table.cart-items td.quantity .item-quantity-change{position:initial;left:initial;top:initial;bottom:initial;height:initial;display:flex;align-items:center;justify-content:center;padding:0}.table.cart-items td.quantity .item-quantity-change i{background:none;line-height:30px;display:inline-block}.table.cart-items td.quantity .item-quantity-change i:before{font-weight:bold;font-size:22px;width:25px;height:25px;line-height:25px;color:#000;border-radius:100%}.table.cart-items td.quantity .item-quantity-change>p{margin:0}.table.cart-items td.quantity .item-quantity-change.item-quantity-change-decrement i:before{content:"-";line-height:21px}.table.cart-items td.quantity .item-quantity-change.item-quantity-change-increment i:before{content:"+"}@media(max-width: 690px){.table.cart-items td.quantity{width:97px}.table.cart-items td.product-name,.table.cart-items td.quantity{margin-left:90px !important}}.table.cart-items i.icon.icon-remove.item-remove-ico:before{content:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyLjAwMSA1MTIuMDAxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIuMDAxIDUxMi4wMDE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNMjg0LjI4NiwyNTYuMDAyTDUwNi4xNDMsMzQuMTQ0YzcuODExLTcuODExLDcuODExLTIwLjQ3NSwwLTI4LjI4NWMtNy44MTEtNy44MS0yMC40NzUtNy44MTEtMjguMjg1LDBMMjU2LDIyNy43MTcNCgkJCUwzNC4xNDMsNS44NTljLTcuODExLTcuODExLTIwLjQ3NS03LjgxMS0yOC4yODUsMGMtNy44MSw3LjgxMS03LjgxMSwyMC40NzUsMCwyOC4yODVsMjIxLjg1NywyMjEuODU3TDUuODU4LDQ3Ny44NTkNCgkJCWMtNy44MTEsNy44MTEtNy44MTEsMjAuNDc1LDAsMjguMjg1YzMuOTA1LDMuOTA1LDkuMDI0LDUuODU3LDE0LjE0Myw1Ljg1N2M1LjExOSwwLDEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdMMjU2LDI4NC4yODcNCgkJCWwyMjEuODU3LDIyMS44NTdjMy45MDUsMy45MDUsOS4wMjQsNS44NTcsMTQuMTQzLDUuODU3czEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdjNy44MTEtNy44MTEsNy44MTEtMjAuNDc1LDAtMjguMjg1DQoJCQlMMjg0LjI4NiwyNTYuMDAyeiIvPg0KCTwvZz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K");width:15px;height:15px}.summary-template-holder{background:#fff;padding:20px;text-align:left;box-sizing:border-box;border-radius:"{{borderRadius}}";position:sticky;top:20px;border:"{{bordersContainers}}"}.summary-template-holder .summary-totalizers,.summary-template-holder .summary-coupon-wrap{width:100% !important}.summary-template-holder .cart-more-options{display:none !important}.summary-template-holder .summary-coupon{text-align:center;margin:0 auto !important;min-width:initial}.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data{display:none !important}.summary-template-holder .summary-coupon fieldset.coupon-fieldset p{margin:0;color:"{{muted2}}"}.summary-template-holder .summary-coupon fieldset.coupon-fieldset p label{cursor:initial;font-size:13px}.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data{margin:0;width:100%}.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a{width:100%;text-decoration:underline}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div{display:flex;justify-content:space-between;align-items:center}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div[style*=none]{display:block !important}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div[style*=none] p.coupon-label{display:none}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div[style*=flex] p.coupon-label{display:none}.summary-template-holder .summary-coupon fieldset.coupon-fieldset>div[style*=flex] p.coupon-fields{width:100%}.summary-template-holder .summary-coupon p.coupon-fields span{display:flex;width:100%;position:relative}.summary-template-holder .summary-coupon p.coupon-fields span.info{align-items:center;padding:0;color:"{{muted1}}"}.summary-template-holder .summary-coupon p.coupon-fields span.info>span{text-align:left;margin-right:10px;color:"{{actionPrimary}}"}.summary-template-holder .summary-coupon p.coupon-fields span input{width:100%;margin-right:10px}.summary-template-holder .summary-coupon p.coupon-fields .delete{width:auto}.summary-template-holder .summary-coupon p.coupon-fields .delete #cart-coupon-remove{color:"{{danger}}";font-size:0;display:flex;align-items:center}.summary-template-holder .summary-coupon p.coupon-fields .delete #cart-coupon-remove:before{content:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyLjAwMSA1MTIuMDAxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIuMDAxIDUxMi4wMDE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNMjg0LjI4NiwyNTYuMDAyTDUwNi4xNDMsMzQuMTQ0YzcuODExLTcuODExLDcuODExLTIwLjQ3NSwwLTI4LjI4NWMtNy44MTEtNy44MS0yMC40NzUtNy44MTEtMjguMjg1LDBMMjU2LDIyNy43MTcNCgkJCUwzNC4xNDMsNS44NTljLTcuODExLTcuODExLTIwLjQ3NS03LjgxMS0yOC4yODUsMGMtNy44MSw3LjgxMS03LjgxMSwyMC40NzUsMCwyOC4yODVsMjIxLjg1NywyMjEuODU3TDUuODU4LDQ3Ny44NTkNCgkJCWMtNy44MTEsNy44MTEtNy44MTEsMjAuNDc1LDAsMjguMjg1YzMuOTA1LDMuOTA1LDkuMDI0LDUuODU3LDE0LjE0Myw1Ljg1N2M1LjExOSwwLDEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdMMjU2LDI4NC4yODcNCgkJCWwyMjEuODU3LDIyMS44NTdjMy45MDUsMy45MDUsOS4wMjQsNS44NTcsMTQuMTQzLDUuODU3czEwLjIzNy0xLjk1MiwxNC4xNDMtNS44NTdjNy44MTEtNy44MTEsNy44MTEtMjAuNDc1LDAtMjguMjg1DQoJCQlMMjg0LjI4NiwyNTYuMDAyeiIvPg0KCTwvZz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K");width:11px;height:12px;display:block;line-height:10px}.summary-template-holder .summary-coupon i.icon-spin.loading-coupon{border:1px solid #666;border-top:none;border-radius:100%;font-size:0;width:20px;height:20px;padding:0;line-height:0;display:none;margin:0;position:absolute;top:25%;right:10px;z-index:-1}.summary-template-holder span.link-choose-more-products-wrapper{display:none}.summary-template-holder .cart-links-bottom{float:none;margin:10px 0 0 0}.summary-template-holder .cart-links-bottom .btn,.summary-template-holder .cart-links-bottom .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .summary-template-holder .cart-links-bottom a,.summary-template-holder .cart-links-bottom .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-links-bottom a{width:100%;box-sizing:border-box}.summary-template-holder .cart-links-bottom .btn-success{font-weight:bold}@media(max-width: 690px){.summary-template-holder .cart-links-bottom{position:fixed;bottom:0;width:100%;left:0;z-index:10000}.summary-template-holder .cart-links-bottom a{border-radius:0}}.summary-template-holder .summary-totalizers .table td.space,.summary-template-holder .summary-totalizers .table td.empty,.summary-template-holder .summary-totalizers tbody.shipping-calculate{display:none}.summary-template-holder .shipping-reset{display:none}.summary-template-holder .accordion-inner{margin-top:10px}.summary-template-holder tr:not(.Shipping){display:flex !important;justify-content:space-between;border:none !important}.summary-template-holder tr:not(.Shipping).CustomTax:not(.CustomTax--total){display:none !important}.summary-template-holder tbody{border-top:1px solid "{{muted4}}";border-bottom:1px solid "{{muted4}}";padding:15px 0;display:block}.summary-template-holder tbody td{display:inline-block;text-align:left !important;width:auto;color:"{{muted2}}";font-size:13px;padding:0 0 3px 0 !important}.summary-template-holder tbody td.monetary{text-align:right !important;margin-left:auto;float:right}.summary-template-holder tfoot tr td{padding:14px 0 !important;color:"{{muted1}}";font-size:14px;font-weight:bold}.summary-template-holder tfoot tr td.monetary{text-align:right !important;margin-left:auto;float:right;color:"{{actionPrimary}}"}.summary-coupon{width:100% !important}.cart-select-gift-placeholder{width:auto !important;display:none !important}.cart-more-options{width:100% !important;margin:0 !important;border:"{{bordersContainers}}";padding:0;min-height:0 !important;display:flex !important;flex-wrap:wrap}.cart-more-options .cart-select-gift-placeholder{display:block !important}.cart-more-options .vtex-shipping-preview-0-x-alert .shp-alert-content.vtex-shipping-preview-0-x-content{display:flex;align-items:center}.cart-more-options .srp-container{max-width:100% !important}.cart-more-options .srp-container span.error{display:none}.cart-more-options .srp-container .srp-toggle__wrapper label{background:#fff;padding:10px 0;border-radius:"{{borderRadius}}"}.cart-more-options .srp-container .srp-delivery-info .b--light-gray{background:#fff;border-radius:"{{borderRadius}}"}.cart-more-options .srp-container select,.cart-more-options .srp-container input[type=text]:not(.pac-target-input){outline:initial}.cart-more-options .srp-container form.srp-postal-code__form.dib.relative{width:100%}.cart-more-options .srp-container button.shp-open-options{border-color:"{{actionPrimaryDarken}}"}.cart-more-options .srp-container .onda-v1 .blue{color:"{{actionPrimary}}";outline:none}.cart-more-options .srp-container .onda-v1 .b--blue{border-color:"{{actionPrimary}}";outline:none}.cart-more-options .srp-container .onda-v1 .bg-blue{background:"{{actionPrimary}}";outline:initial}.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .ship-country{width:98%}.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .btn,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a,.cart-more-options .srp-container .vtex-shipping-preview-0-x-pc .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .srp-container .vtex-shipping-preview-0-x-pc a{height:"{{inputHeight}}";outline:initial;border-radius:"{{borderRadius}}"}.cart-more-options .srp-container .ship-postalCode{width:auto !important;max-width:190px}.cart-more-options .srp-container .ship-postalCode input#ship-postalCode{width:100%}.cart-more-options .cart-select-gift-placeholder,.cart-more-options #shipping-preview-container{margin:20px;width:100%}@media(min-width: 690px){.cart-more-options .cart-select-gift-placeholder{margin-bottom:0}}.cart-more-options .cart-select-gift-placeholder:empty{display:none}.cart-more-options #shipping-preview-container{width:100% !important}@media(max-width: 690px){.cart-more-options #shipping-preview-container{display:none !important}}.cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode .btn,.cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode .orderform-template-holder #payment-data .payment-discounts-list table td.action a,.orderform-template-holder #payment-data .payment-discounts-list table td.action .cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode a,.cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .cart-more-options .vtex-pickup-points-modal-3-x-pickupViewMode a{padding:13px 0}.cart-select-gift-placeholder .available-gift-item.active{background:"{{actionSecondary}}"}.cart-select-gift-placeholder .label-vertical-group:hover,.cart-select-gift-placeholder .icon-check-empty,.cart-select-gift-placeholder .icon-check-sign{color:"{{muted2}}"}.cart-select-gift-placeholder .label-vertical-group:hover .icon-check-empty,.cart-select-gift-placeholder .icon-check-sign{color:"{{actionPrimary}}"}.body-cart-vertical .cart-template-holder{width:calc(70% - 20px)}@media(max-width: 998px){.body-cart-vertical .cart-template-holder{width:100%}}.body-cart-vertical .summary-template-holder{width:30%}@media(max-width: 998px){.body-cart-vertical .summary-template-holder{width:100%;margin-top:20px}}.body-cart-vertical .cart-template.full-cart.active{display:flex;flex-flow:wrap;justify-content:space-between;align-items:flex-start}.body-cart-vertical .cart-template.full-cart.active .extensions-checkout-buttons-container{width:auto !important;margin:0}.body-cart-vertical .cart-template.full-cart.active .totalizers.summary-totalizers.cart-totalizers{width:100%;padding:0;margin:0}.client-pre-email{background:none;width:100%;border-top:none;position:relative;text-align:left}.client-pre-email fieldset.pre-email{box-sizing:border-box}.client-pre-email label{margin:0;line-height:20px}.client-pre-email label small{font-size:"{{fontSize}}";padding:0;margin:0;color:"{{muted1}}";font-weight:400;margin:0;vertical-align:top;display:block;margin-bottom:13px;margin-top:20px}.client-pre-email .link-cart{display:none}.client-pre-email h3.client-pre-email-h{margin:0}.client-pre-email h3.client-pre-email-h span{display:block;position:relative;font-size:0;padding:7px 0 !important}.client-pre-email h3.client-pre-email-h span:after{content:"Email";vertical-align:middle;display:inline-block;margin:0}.client-pre-email h3.client-pre-email-h span:after{padding:0 !important}.client-pre-email h3.client-pre-email-h .link-box-edit{display:none}.client-pre-email a#orderform-to-cart{color:"{{actionPrimary}}"}.client-pre-email .client-email.input.text{margin:0;width:100%;position:initial}.client-pre-email .client-email.input.text input[type=email]{width:100%;box-sizing:border-box}.client-pre-email .client-email.input.text .btn-success{width:20%;margin:0;height:initial;position:absolute;top:initial;bottom:15px;right:initial;left:50%;transform:translateX(-50%);min-width:55%}@media(max-width: 768px){.client-pre-email .client-email.input.text .btn-success{width:calc(100% - 60px)}}.client-pre-email .client-email.input.text .loading-inline{position:absolute;color:#fff;font-size:16px;bottom:35px;top:initial;right:50% !important;margin-right:-10px}.client-pre-email .client-email.input.text .loading-inline[style=""]+#btn-client-pre-email{font-size:0}.client-pre-email .emailInfo{margin-top:20px;width:80%;box-sizing:border-box}.client-pre-email .emailInfo .icon-ok,.client-pre-email .emailInfo h3{color:"{{actionPrimary}}"}@media(max-width: 690px){.client-pre-email .emailInfo{width:100%}}.client-pre-email .emailInfo .icon-lock{color:"{{muted5}}"}@media(max-width: 690px){.client-pre-email .link-cart{display:none !important}}.client-pre-email+.client-profile-data .accordion-body:before{content:"Waiting for more information";display:block}.client-pre-email+.client-profile-data .accordion-body .accordion-inner{display:none}.client-pre-email+.client-profile-data.filled .accordion-body:before{display:none}.client-pre-email[style*="display: none"]{padding-bottom:20px !important}.client-pre-email[style*="display: none"] .link-box-edit{display:block !important}.client-pre-email[style*="display: none"] label small{display:none !important}.client-pre-email[style*="display: none"] input#client-pre-email{padding:0 !important;border:none !important;box-shadow:none !important;font-size:12px;font-weight:400;pointer-events:none;cursor:text;background:none !important;color:"{{muted2}}"}.client-pre-email[style*="display: none"] .emailInfo,.client-pre-email[style*="display: none"] #btn-client-pre-email{display:none}.client-pre-email[style*="display: none"]+.client-profile-data .accordion-body:before{display:none}.client-pre-email[style*="display: none"]+.client-profile-data .accordion-inner{display:block}body:not(.v-custom-step-email) .client-pre-email span.help.error{display:none !important}.payment-group-item-cards .card-flag{width:32px !important;background-size:auto 20px;min-width:auto;height:20px}.payment-group-item-cards .card-flag.Visa{background-position:0 0}.payment-group-item-cards .card-flag.Mastercard{background-position:-32px 0}.payment-group-item-cards .card-flag.Diners{background-position:-64px 0}.payment-group-item-cards .card-flag.Amex,.payment-group-item-cards .card-flag.American{background-position:-96px 0}.payment-group-item-cards .card-flag.Hipercard{background-position:-128px 0}.payment-group-item-cards .card-flag.Discover{background-position:-160px 0}.payment-group-item-cards .card-flag.Aura{background-position:-192px 0}.payment-group-item-cards .card-flag.Banricompras{background-position:-224px 0}.payment-group-item-cards .card-flag.Elo{background-position:-256px 0}.payment-group-item-cards .card-flag.JCB{background-position:-288px 0}.payment-group-item-cards .card-flag.Cabal{background-position:-320px 0}.payment-group-item-cards .card-flag.Maestro{background-position:-352px 0}.payment-group-item-cards .card-flag.Credz{background-position:-384px 0}.vcustom--vtex-omnishipping-1-x-address label,.orderform-template-holder .step .input.text label{margin:10px 0 5px 0;display:block;color:"{{muted3}}"}@keyframes placeHolderShimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address:before,.js-v-custom-is-loadAddress #shipping-data .accordion-group.shipping-data:after,.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded) li.item:after{animation-duration:1.25s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:#a9a9a9;background:linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%);background-size:800px 104px}svg.pickup-marker-blue,svg.pickup-marker-blue path,svg.pkpmodal-pickup-point-marker-image,svg.pkpmodal-pickup-point-marker-image path,svg.vtex-omnishipping-1-x-svg,svg.vtex-omnishipping-1-x-svg path,svg.pkpmodal-pickup-point-best-marker-image path:not([fill=white]){fill:"{{actionPrimary}}"}@media(max-width: 768px){.container.container-main.container-order-form{width:calc(100% - 20px)}}.orderform-template-holder #client-profile-data{width:100%}.orderform-template-holder #client-profile-data form.client-pre-email,.orderform-template-holder #client-profile-data .step.client-profile-data,.orderform-template-holder #shipping-data,.orderform-template-holder #payment-data{width:100% !important;padding:0;margin:0;box-sizing:border-box;background:#fff;border-radius:"{{borderRadius}}";margin-bottom:20px !important;z-index:initial;border:"{{bordersContainers}}";padding:30px}@media(max-width: 768px){.orderform-template-holder #client-profile-data form.client-pre-email,.orderform-template-holder #client-profile-data .step.client-profile-data,.orderform-template-holder #shipping-data,.orderform-template-holder #payment-data{padding:20px}}.orderform-template-holder #client-profile-data form.client-pre-email.client-pre-email,.orderform-template-holder #client-profile-data .step.client-profile-data.client-pre-email,.orderform-template-holder #shipping-data.client-pre-email,.orderform-template-holder #payment-data.client-pre-email{display:block !important;padding-bottom:calc({{inputHeight}} + 14px + 30px)}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit,.orderform-template-holder #shipping-data .link-box-edit,.orderform-template-holder #payment-data .link-box-edit{background:none;box-shadow:none;border:none;color:"{{actionPrimary}}";outline:none;position:absolute;right:0;top:50%;padding:1px;font-size:14px;transform:translateY(-50%);opacity:.7;transition:all ease .2s}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit:hover,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit:hover,.orderform-template-holder #shipping-data .link-box-edit:hover,.orderform-template-holder #payment-data .link-box-edit:hover{opacity:1}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit i.icon-spinner,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit i.icon-spinner,.orderform-template-holder #shipping-data .link-box-edit i.icon-spinner,.orderform-template-holder #payment-data .link-box-edit i.icon-spinner{font-size:17px;position:absolute;right:0;display:none;top:-7px}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit.active i.icon-edit,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit.active i.icon-edit,.orderform-template-holder #shipping-data .link-box-edit.active i.icon-edit,.orderform-template-holder #payment-data .link-box-edit.active i.icon-edit{display:none}.orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit.active i.icon-spinner,.orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit.active i.icon-spinner,.orderform-template-holder #shipping-data .link-box-edit.active i.icon-spinner,.orderform-template-holder #payment-data .link-box-edit.active i.icon-spinner{display:block}.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle,.orderform-template-holder #shipping-data .accordion-toggle,.orderform-template-holder #payment-data .accordion-toggle{padding:0}.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle>i,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle>i,.orderform-template-holder #shipping-data .accordion-toggle>i,.orderform-template-holder #payment-data .accordion-toggle>i{display:none}.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle>span,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle>span,.orderform-template-holder #shipping-data .accordion-toggle>span,.orderform-template-holder #payment-data .accordion-toggle>span{line-height:20px;display:block;vertical-align:middle;line-height:initial}.orderform-template-holder #client-profile-data form.client-pre-email .accordion-toggle,.orderform-template-holder #client-profile-data form.client-pre-email .accordion-inner,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-toggle,.orderform-template-holder #client-profile-data .step.client-profile-data .accordion-inner,.orderform-template-holder #shipping-data .accordion-toggle,.orderform-template-holder #shipping-data .accordion-inner,.orderform-template-holder #payment-data .accordion-toggle,.orderform-template-holder #payment-data .accordion-inner{padding:0}.orderform-template-holder #client-profile-data form.client-pre-email input[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email input[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data form.client-pre-email select:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=text]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data input[type=email]:not(.pac-target-input),.orderform-template-holder #client-profile-data .step.client-profile-data select:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=text]:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #shipping-data input[type=email]:not(.pac-target-input),.orderform-template-holder #shipping-data select:not(.pac-target-input),.orderform-template-holder #payment-data input[type=text]:not(.pac-target-input),.orderform-template-holder #payment-data input[type=tel]:not(.pac-target-input),.orderform-template-holder #payment-data input[type=email]:not(.pac-target-input),.orderform-template-holder #payment-data select:not(.pac-target-input){width:100%;max-width:100%;outline:initial}.orderform-template-holder #payment-data p.link.link-gift-card,.orderform-template-holder #payment-data .payment-group-item{box-sizing:border-box;margin:0 6px 10px 0;border-radius:"{{borderRadius}}";border:1px solid "{{muted4}}";opacity:1;text-decoration:none;color:"{{muted1}}";transition:all ease .3s;padding:11px;text-align:center;display:flex;align-items:center;justify-content:center;background:"{{muted6}}";float:left;width:100%}.orderform-template-holder #payment-data p.link.link-gift-card.active,.orderform-template-holder #payment-data .payment-group-item.active{background:#fff}.orderform-template-holder #payment-data p.link.link-gift-card.active span,.orderform-template-holder #payment-data .payment-group-item.active span{color:"{{emphasis}}"}.orderform-template-holder #payment-data p.link.link-gift-card.active,.orderform-template-holder #payment-data p.link.link-gift-card:hover,.orderform-template-holder #payment-data .payment-group-item.active,.orderform-template-holder #payment-data .payment-group-item:hover{box-shadow:0 0 6px "{{muted4}}";border:1px solid "{{actionPrimary}}"}.orderform-template-holder #payment-data p.link.link-gift-card,.orderform-template-holder #payment-data fieldset.payment-group{width:100%;left:0;display:block;background:none;position:relative;margin:0}.orderform-template-holder #payment-data #iframe-placeholder-creditCardPaymentGroup{padding-top:32px}.orderform-template-holder #payment-data #iframe-placeholder-creditCardPaymentGroup>.payment-group-item-cards{display:block;overflow:hidden;position:absolute;right:0;top:0}.orderform-template-holder #payment-data #iframe-placeholder-creditCardPaymentGroup>.payment-group-item-cards .card-flag{opacity:1}.orderform-template-holder #payment-data p.link.link-gift-card{margin-bottom:10px;padding:0}.orderform-template-holder #payment-data p.link.link-gift-card a{padding:10px 10px;display:block;text-align:left}.orderform-template-holder #payment-data .payment-group-list-btn{width:100%}.orderform-template-holder #payment-data p.link.link-gift-card *,.orderform-template-holder #payment-data .payment-group-item *{font-size:12px !important;font-weight:bold}.orderform-template-holder #payment-data .payment-group-item{position:relative;height:40px}.orderform-template-holder #payment-data .payment-group-item span.payment-group-item-text{padding:0;line-height:17px;background:none !important}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+2),.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+2)~.payment-group-item{width:calc(50% - 3px)}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+3),.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+3)~.payment-group-item{width:calc(33.3% - 4px)}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+4),.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+4)~.payment-group-item{width:calc(25% - 4.8px)}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5),.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5)~.payment-group-item{width:100%;margin-right:0;height:auto}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5):after,.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5):before,.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5)~.payment-group-item:after,.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5)~.payment-group-item:before{display:none}.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5):hover,.orderform-template-holder #payment-data .payment-group-item:first-child:nth-last-child(n+5)~.payment-group-item:hover{top:0}.orderform-template-holder #payment-data .payment-group-item:last-child{margin-right:0}.orderform-template-holder #payment-data .payment-group-item:hover{position:relative;background:#fff;top:-2px}.orderform-template-holder #payment-data .payment-group-item.active:after,.orderform-template-holder #payment-data .payment-group-item.active:before{content:"";display:block;position:absolute;left:50%;transform:translateX(-50%);top:100%;width:0;height:0;border-style:solid}.orderform-template-holder #payment-data .payment-group-item.active:after{border-color:#fff rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:6px}.orderform-template-holder #payment-data .payment-group-item.active:before{border-color:"{{actionPrimary}}" rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-width:7px}.orderform-template-holder #payment-data .gift-card-section.form-step.box-default{padding:0;margin:0;width:100%}.orderform-template-holder #payment-data .gift-card-section.form-step.box-default label{font-weight:bold;color:#000;font-size:12px}.orderform-template-holder #payment-data p.payment-discounts-options,.orderform-template-holder #payment-data p.gift-card-provider-options{display:flex;align-items:center;padding-bottom:10px}.orderform-template-holder #payment-data p.payment-discounts-options input,.orderform-template-holder #payment-data p.payment-discounts-options select,.orderform-template-holder #payment-data p.gift-card-provider-options input,.orderform-template-holder #payment-data p.gift-card-provider-options select{margin:0 10px}.orderform-template-holder #payment-data p.payment-discounts-options label,.orderform-template-holder #payment-data p.gift-card-provider-options label{line-height:12px;margin:0}.orderform-template-holder #payment-data .payment-discounts-list{margin-bottom:10px}.orderform-template-holder #payment-data .payment-discounts-list .gift-card-provider-group-loyalty-program{border-bottom:1px solid "{{muted5}}"}.orderform-template-holder #payment-data .payment-discounts-list table{width:100%}.orderform-template-holder #payment-data .payment-discounts-list table td{padding:0}.orderform-template-holder #payment-data .payment-discounts-list table tbody,.orderform-template-holder #payment-data .payment-discounts-list table tr{display:flex;width:100%;flex-wrap:wrap;align-items:center}.orderform-template-holder #payment-data .payment-discounts-list table td.code,.orderform-template-holder #payment-data .payment-discounts-list table td.number{margin-right:20px;flex-grow:1;padding:0}.orderform-template-holder #payment-data .payment-discounts-list table #remove-gift-card{text-decoration:underline;color:"{{danger}}"}.orderform-template-holder #payment-data input#payment-discounts-code{width:100% !important}.orderform-template-holder #payment-data #btn-add-gift-card{height:"{{inputHeight}}";border-radius:"{{borderRadius}}"}.orderform-template-holder #payment-data .steps-view{width:100% !important;padding:0;min-height:initial}.orderform-template-holder #payment-data .steps-view iframe{margin:0}.orderform-template-holder #payment-data p.notification{font-weight:bold;font-weight:400;color:"{{muted1}}"}.orderform-template-holder #payment-data p.notification:not([style="display: none;"])+.box-step{padding:0;border:none}@media(min-width: 769px){.orderform-template-holder #payment-data:last-child{margin-bottom:0px !important}}.orderform-template-holder #payment-data .v-custom-payment-item-wrap{box-sizing:border-box;border-radius:"{{borderRadius}}";background:#fff;border:1px solid "{{muted4}}";color:"{{muted1}}";transition:all ease .3s;overflow:hidden;margin-bottom:10px}.orderform-template-holder #payment-data .v-custom-payment-item-wrap.active,.orderform-template-holder #payment-data .v-custom-payment-item-wrap:hover{border-color:"{{actionPrimary}}";box-shadow:0 0 6px #ddd}.orderform-template-holder #payment-data .v-custom-payment-item-wrap #iframe-placeholder-creditCardPaymentGroup{padding-top:0}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item{border:none;border-bottom:1px solid rgba(0,0,0,0);box-shadow:none;margin:0;width:100% !important;height:auto;top:0}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text{margin-right:auto;text-align:left;line-height:27px !important;white-space:nowrap}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text:before{content:"";width:20px;height:20px;display:inline-block;border:1px solid "{{muted3}}";border-radius:100%;vertical-align:middle;margin:-3px 10px 0 0}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-cards{display:flex;justify-content:flex-end;flex-wrap:wrap}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-cards .card-flag:last-child{margin:0}@media(max-width: 360px){.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-cards{display:none}}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item.active{background:"{{actionSecondary}}";border-bottom:1px solid "{{actionPrimary}}"}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item.active .payment-group-item-text:before{background:"{{actionPrimary}}";border-color:"{{actionPrimary}}";box-shadow:inset 0 0 0 3px #fff}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item.active .payment-group-item-cards span{opacity:1}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item:hover .payment-group-item-text:before{border-color:"{{actionPrimary}}"}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item:before,.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item:after{display:none}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-payPalPaymentGroup{position:relative}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-payPalPaymentGroup:after{content:"";width:50px;height:20px;display:block;background:url("https://io.vtex.com.br/checkout-ui/v6.18.19/img/payment-paypal-landscape.png") center no-repeat;background-size:contain;position:absolute;top:50%;transform:translateY(-50%);right:12px;left:initial;border:none}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-AffirmPaymentGroup:after{content:"";width:65px;height:25px;display:block;background:url(https://cdn-assets.affirm.com/images/black_logo-transparent_bg.png) center no-repeat;background-size:contain;position:absolute;top:49%;transform:translateY(-50%);right:3px;left:initial;border:none}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item.active+div,.orderform-template-holder #payment-data .v-custom-payment-item-wrap.active>div{padding:20px;overflow:hidden;box-sizing:border-box}.orderform-template-holder #payment-data .v-custom-payment-item-wrap .SecurityEnvironmentIcon{display:none}.orderform-template-holder .step{border:none;padding:0;background:none;margin-bottom:0}@media(max-width: 868px){.orderform-template-holder .step{width:100%}}.orderform-template-holder .step .box-info{color:"{{muted1}}"}.orderform-template-holder .step .box-info[style*="display: block"]{margin-top:10px}.orderform-template-holder .step .form-step fieldset{width:100%;float:none}.orderform-template-holder .step .form-step fieldset p{position:relative}@media(max-width: 690px){.orderform-template-holder .step .form-step fieldset p{float:none !important}}.orderform-template-holder .step .form-step fieldset p.client-last-name,.orderform-template-holder .step .form-step fieldset p.client-first-name{width:calc(50% - 5px);position:relative}@media(max-width: 690px){.orderform-template-holder .step .form-step fieldset p.client-last-name,.orderform-template-holder .step .form-step fieldset p.client-first-name{width:100%}.orderform-template-holder .step .form-step fieldset p.client-last-name input[type=text],.orderform-template-holder .step .form-step fieldset p.client-first-name input[type=text]{width:100% !important}}.orderform-template-holder .step .form-step fieldset p span.help.error{position:absolute;font-size:11px;margin-top:0}.orderform-template-holder .step .form-step fieldset.box-client-info-pj{padding-top:15px}.orderform-template-holder .step .form-step fieldset.box-payment-option h3{display:none}.orderform-template-holder .step .form-step #is-corporate-client{color:"{{actionPrimary}}"}.orderform-template-holder .step.client-profile-data .client-notice.notice{margin:0 0 10px 0}.orderform-template-holder .step.client-profile-data .box-client-info{margin-bottom:20px}.orderform-template-holder .step.client-profile-data .client-document,.orderform-template-holder .step.client-profile-data .client-phone{width:calc(50% - 5px)}@media(max-width: 690px){.orderform-template-holder .step.client-profile-data .client-document,.orderform-template-holder .step.client-profile-data .client-phone{width:100%}}.orderform-template-holder .step.shipping-data .box-step{display:flex;flex-wrap:wrap}.orderform-template-holder .step.shipping-data .box-step>*{width:100%;order:1}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-addressFormPart1{order:1}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-addressForm{order:2}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-addressInfo{order:3}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-deliveryGroup{order:4}.orderform-template-holder .step.shipping-data .box-step>*.vtex-omnishipping-1-x-submitPaymentButton{order:100}.orderform-template-holder .step.shipping-data .box-step>*.btn-link.vtex-omnishipping-1-x-btnDelivery,.orderform-template-holder .step.shipping-data .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .box-step>a.vtex-omnishipping-1-x-btnDelivery,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .orderform-template-holder .step.shipping-data .box-step>a.vtex-omnishipping-1-x-btnDelivery{order:5;margin-top:20px;background:"{{actionPrimary}}"}.orderform-template-holder .step.shipping-data .box-step>*#postalCode-finished-loading,.orderform-template-holder .step.shipping-data .box-step>*:last-child{margin:0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-address{margin:0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressSummaryActive .address-summary{background:url("data:image/svg+xml;utf8, ") no-repeat;background-position:12px 9px;border:1px solid "{{muted4}}"}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-content{align-items:center}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsOption{background:#fff}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-pickupButton,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionActive,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionActive:hover,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionActive:active,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionActive:focus,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsTogglePickup,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsOption.vtex-omnishipping-1-x-deliveryOptionActive{background:"{{actionPrimary}}";border-color:"{{actionPrimary}}";border-radius:"{{borderRadius}}"}.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-pickupViewOptionInctive{color:"{{actionPrimary}}";border-color:"{{actionPrimary}}";border-radius:"{{borderRadius}}"}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-addressItemOption:hover,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-active{background-color:"{{actionSecondary}}"}.orderform-template-holder .step.shipping-data .shipping-method-toggle{border-color:"{{actionPrimary}}"}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-alert{border-color:"{{warning}}";display:flex;align-items:center}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-linkEdit{text-decoration:underline}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsWrapper,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsToggle{border-radius:"{{borderRadius}}"}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-deliveryChannelsWrapper{border:1px solid "{{muted4}}";width:100%;overflow:hidden;margin:0 0 20px 0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-summaryChange{background:"{{actionSecondary}}";border-color:"{{muted4}}";color:"{{actionPrimary}}"}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-leanShippingGroupList{border-color:"{{muted5}}";margin:0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-option:hover,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-leanShippingOptionActive,.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-leanShippingOption{background:#fff !important}.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-modalDetailsBackLnk svg path,.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-modalDetailsBackLnk{color:"{{muted2}}";fill:"{{muted2}}"}.orderform-template-holder .step.shipping-data .vtex-pickup-points-modal-3-x-primary{outline:none;background:"{{actionPrimary}}";border-color:"{{actionPrimary}}"}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-pickupPointChange{border-color:"{{actionPrimary}}"}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-address p{clear:both;float:none;margin:0}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-address p.input.ship-checkboxNumberLabel.text{width:auto;align-self:flex-end;display:flex;align-items:center;margin-left:10px !important;height:"{{inputHeight}}"}.orderform-template-holder .step.shipping-data input#ship-addressQuery{width:100%}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-container.shp-pickup-receiver{display:block}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-container.shp-pickup-receiver svg.person-blue path{fill:"{{actionPrimary}}"}.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-container.shp-pickup-receiver .vtex-omnishipping-1-x-btn{color:"{{actionPrimary}}"}@media(max-width: 490px){.orderform-template-holder .step.shipping-data .vtex-omnishipping-1-x-dateLink{width:100%}}.orderform-template-holder .step .submit.btn.btn-success,.orderform-template-holder .step .summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data a.submit.btn-success,.summary-template-holder .summary-coupon fieldset.coupon-fieldset .coupon-data .orderform-template-holder .step a.submit.btn-success,.orderform-template-holder .step #payment-data .payment-discounts-list table td.action a.submit.btn-success,.orderform-template-holder #payment-data .payment-discounts-list table td.action .step a.submit.btn-success{display:block;margin:20px auto 0 auto;min-width:55%}.orderform-template{display:flex !important;padding-top:0px;min-height:400px !important;align-items:flex-start}@media(max-width: 768px){.orderform-template{flex-wrap:wrap}}.orderform-template .orderform-template-holder{width:100%}@media(min-width: 769px){.orderform-template .orderform-template-holder{width:61% !important;padding-right:20px;max-width:calc(100% - 271px);float:left;box-sizing:border-box}}@media(max-width: 690px){.orderform-template{width:100%;padding-top:0px}}.orderform-template .cart-template.mini-cart{width:39%;min-width:255px;position:-webkit-sticky;position:-moz-sticky;position:-o-sticky;position:-ms-sticky;position:sticky;bottom:0px;top:20px;right:0;float:right;margin:0}@media(max-width: 768px){.orderform-template .cart-template.mini-cart{width:100%;position:relative;top:0}}.orderform-template .cart-template.mini-cart .cart-items>.v-custom-indexed-item{display:none !important}.orderform-template .cart-template.mini-cart .cart-fixed{height:auto !important;position:relative !important;max-width:100%;width:100% !important;top:0;min-height:initial}@media(min-width: 769px){.orderform-template .cart-template.mini-cart .cart-fixed.affix-top{position:relative !important}}.orderform-template .cart-template.mini-cart h2{text-align:left;border-top:none;background:none !important;margin-bottom:15px}.orderform-template .cart-template.mini-cart .quantity{min-width:10px;width:auto;height:10px;display:inline-block;background:"{{actionSecondary}}";color:"{{actionPrimary}}"}.orderform-template .cart-template.mini-cart .summary-template-holder{width:100%;background:none;border:none;padding:0}.orderform-template .cart-template.mini-cart .summary-template-holder .accordion-inner{margin-top:0px}.orderform-template .cart-template.mini-cart .summary-template-holder .summary>.summary-coupon-wrap,.orderform-template .cart-template.mini-cart .summary-template-holder .summary-coupon-wrap>.summary-coupon{display:block !important}.orderform-template .cart-template.mini-cart .summary-template-holder .summary-coupon p{margin:0}.orderform-template .cart-template.mini-cart .summary-template-holder .summary>.summary-coupon-wrap{border-top:1px solid "{{muted4}}";padding:8px 0}.orderform-template .cart-template.mini-cart .summary-template-holder input[type=text],.orderform-template .cart-template.mini-cart .summary-template-holder button[type=submit],.orderform-template .cart-template.mini-cart .summary-template-holder p.coupon-fields span.info>span{line-height:30px !important;height:30px !important}.orderform-template .cart-template.mini-cart .item{padding:10px 0;margin:0;border:none;border-bottom:1px solid "{{muted5}}"}.orderform-template .cart-template.mini-cart .item:last-child{border:none}.orderform-template .cart-template.mini-cart .item ul.service-list.unstyled{margin:0;float:none;width:100%;background:none;display:inline-block;clear:both}.orderform-template .cart-template.mini-cart .item .service-item,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item{background:"{{actionSecondary}}";border:1px dashed "{{muted4}}";border-radius:"{{borderRadius}}";width:100%;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:5px 10px;margin:10px 0 0 0}.orderform-template .cart-template.mini-cart .item .service-item .description,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .description{margin-top:0}.orderform-template .cart-template.mini-cart .item .service-item>a,.orderform-template .cart-template.mini-cart .item .service-item .quantity,.orderform-template .cart-template.mini-cart .item .service-item .shipping-date,.orderform-template .cart-template.mini-cart .item .service-item .item-subscription,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item>a,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .quantity,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .shipping-date,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .item-subscription{display:none}.orderform-template .cart-template.mini-cart .item .service-item .price,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .price{margin:0}.orderform-template .cart-template.mini-cart .item .service-item:last-child,.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item:last-child{margin-bottom:0}.orderform-template .cart-template.mini-cart .item.v-custom-indexed-item .item-unavailable{display:none}.orderform-template .cart-template.mini-cart .item .fn{width:calc(82% - 20px)}.orderform-template .cart-template.mini-cart .item .description{display:flex;justify-content:space-between}.orderform-template .cart-template.mini-cart .item .price,.orderform-template .cart-template.mini-cart .item span.shipping-date{white-space:nowrap}.orderform-template .cart-template.mini-cart .item .url{border-radius:"{{borderRadius}}";overflow:hidden}.orderform-template .cart-template.mini-cart .summary-totalizers{margin-bottom:0}.orderform-template .cart-template.mini-cart #go-to-cart-button{position:absolute;top:0px;right:7px;color:"{{actionPrimary}}";text-decoration:underline}@media(max-width: 690px){.orderform-template .cart-template.mini-cart #go-to-cart-button{display:none}}.orderform-template .cart-template.mini-cart .summary-totalizers tbody{border-top:1px solid "{{muted4}}";border-bottom:1px solid "{{muted4}}";padding:14px 0;display:block}.orderform-template .cart-template.mini-cart .summary-totalizers tbody tr.CustomTax:not(.CustomTax--total){display:none !important}.orderform-template .cart-template.mini-cart .summary-totalizers tbody td{display:inline-block;text-align:left !important;width:auto;color:#666;font-size:13px;padding:0 0 3px 0 !important}.orderform-template .cart-template.mini-cart .summary-totalizers tbody td.monetary{text-align:right !important;margin-left:auto;float:right}.orderform-template .cart-template.mini-cart .summary-totalizers tbody+tbody{border-top:none}.orderform-template .cart-template.mini-cart .summary-totalizers tbody.shipping-reset,.orderform-template .cart-template.mini-cart .summary-totalizers tbody.shipping-calculate{display:none !important}.orderform-template .cart-template.mini-cart .summary-totalizers tfoot tr td{padding:14px 0 !important;color:#000;font-size:14px;font-weight:bold;text-align:left}.orderform-template .cart-template.mini-cart .summary-totalizers tfoot tr td.monetary{text-align:right !important;margin-left:auto;float:right;color:"{{actionPrimary}}"}.orderform-template .cart-template.mini-cart .cart{margin-bottom:0;max-height:calc(100vh - 355px);overflow:auto}.orderform-template .cart-template.mini-cart .cart::-webkit-scrollbar{width:6px}.orderform-template .cart-template.mini-cart .cart::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:"{{borderRadius}}"}.orderform-template .cart-template.mini-cart .cart::-webkit-scrollbar-thumb{background:"{{muted4}}";border-radius:30px}.orderform-template .cart-template.mini-cart .cart:hover::-webkit-scrollbar-thumb{background:"{{muted5}}"}.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded){max-height:100px;overflow:hidden}.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded) li.item{overflow:hidden;position:relative;border:none !important}.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded) li.item>*{opacity:0}.orderform-template .cart-template.mini-cart .cart .cart-items:not(.v-loaded) li.item:after{content:"";width:100%;height:100%;display:block;top:0px;left:0;position:absolute}.orderform-template .payment-confirmation-wrap{border:none;padding:0}.orderform-template .payment-confirmation-wrap .payment-submit-wrap{margin:10px 0 0 0}@media(max-width: 768px){.orderform-template .payment-confirmation-wrap .payment-submit-wrap{z-index:9999;position:fixed;bottom:0;width:100%;left:0;padding:0;background:#fff;margin:0 !important}.orderform-template .payment-confirmation-wrap .payment-submit-wrap button{border-radius:0 !important}}@media(max-width: 768px){.orderform-template .payment-confirmation-wrap{border:none !important}.orderform-template .payment-confirmation-wrap .payment-submit-wrap,.orderform-template .payment-confirmation-wrap button{margin:0 !important}}.orderform-template .payment-confirmation-wrap #payment-data-submit:disabled span{display:none}.orderform-template .summary-note{display:none !important}.orderform-template .summary-note p.note-data{display:none !important}.orderform-template .summary-note>div{display:block !important}.orderform-template .summary-note .note-textarea{height:50px;line-height:20px;max-width:100%;width:100%;font-family:"{{fontFamily}}";max-height:100px}.orderform-template .custom-cart-template-wrap{position:relative;background:#fff;padding:17px 20px;text-align:left;box-sizing:border-box;border-radius:"{{borderRadius}}";border:"{{bordersContainers}}"}.orderform-template .custom-cart-template-wrap .summary-cart-template-holder{height:auto !important}.orderform-template .custom-cart-template-wrap .summary-template-holder{margin-top:0}.step.client-profile-data.active .box-step .form-step[style*="display: block"],.step.shipping-data.active .accordion-inner.shipping-container,#payment-data .box-step form.form-step{padding-top:20px !important}.orderform-template-holder #shipping-data .shipping-summary-info,.orderform-template-holder .step .accordion-body p.notification,.client-pre-email+.client-profile-data .accordion-body:before{display:none}body.v-custom-step-shipping #shipping-data .shipping-summary-info,body.v-custom-step-payment #shipping-data .shipping-summary-info{display:block}.steps-view,.gift-card-section,.App.iframe-credit-card-payment-group{background:#fff}#app-container{min-height:100vh;background:#fff}#app-container input[type=text],#app-container input[type=tel],#app-container input[type=email],#app-container select{width:100%}#app-container span.help.error{margin:0 !important;display:none}#app-container .SecurityEnvironmentIcon{margin-bottom:20px;display:none}#app-container .CardForm>div{position:relative;clear:both}#app-container .CardForm .PaymentValue{display:none}#app-container .CardForm input#creditCardpayment-card-0Number[value=""]{background:#fff;position:relative;z-index:1}#app-container .CardForm .SavedCardsList{width:calc(100% - 1px)}#app-container .CardForm .SavedCard .link-delete{right:8px;top:50%;margin-top:-10px;border:1px solid #ccc;background:#fff;width:20px;height:20px;line-height:17px}#app-container .FormFieldLabel{line-height:30px}#app-container .PaymentCardFlags{position:absolute;top:calc(30px + ({{inputHeight}} - 25px)/2);right:16px;padding:0}#app-container .PaymentCardFlags .card-flag-label input{display:none}#app-container .PaymentCardFlags .card-flag-label{width:auto}#app-container .PaymentCardFlags .card-flag{opacity:.7;display:none}#app-container .PaymentCardFlags .card-flag.card-selected{opacity:1;display:block}#app-container input#creditCardpayment-card-0Code,#app-container input#creditCardpayment-card-1Code{width:100px !important}#app-container .label-vertical-group{padding:9px}#app-container .label-vertical-group:hover{color:"{{actionPrimary}}"}#app-container .label-vertical-group.active{color:"{{actionPrimary}}";background:"{{actionSecondary}}"}#app-container .label-vertical-group:not(.SavedCard) .card-flag{position:absolute;left:5px;top:8px}#app-container .label-vertical-group .icon-ok-circle,#app-container .label-vertical-group .icon-circle-blank{top:9px}#app-container .label-vertical-group.UseAnotherCard{background-color:"{{muted5}}";padding:4px;font-size:11px;text-decoration:underline}#app-container .label-vertical-group.UseAnotherCard #use-another-card{color:"{{muted2}}"}#app-container .label-vertical-group.UseAnotherCard:hover #use-another-card{text-decoration:underline;color:"{{muted3}}"}#app-container label.FormFieldLabel{display:block;clear:both;width:auto;margin-right:10px}#app-container .AddressForm{display:flex;flex-wrap:wrap}#app-container .AddressForm>*{width:100%;order:10}#app-container .AddressForm input{max-width:100%}#app-container .AddressForm .payment-billing-address-street{order:1}#app-container .AddressForm .payment-billing-address-complement{order:2}#app-container .AddressForm .payment-billing-address-city{order:3}#app-container .AddressForm .payment-billing-address-state{order:4}#app-container .AddressForm .PostalCode{order:5}.orderform-template .summary-note.js-active{display:block !important}body.js-vcustom-showNoteField .orderform-template .payment-confirmation-wrap{display:block !important}body.js-vcustom-showNoteField .orderform-template .payment-confirmation-wrap .payment-submit-wrap{display:none}body.js-vcustom-showNoteField .orderform-template .summary-note{display:block !important}body.js-vcustom-showNoteField.v-custom-step-payment .orderform-template .payment-confirmation-wrap .payment-submit-wrap{display:block !important}.summary-coupon fieldset.coupon-fieldset .vcustom-showCustomMsgCoupon{border:1px dashed "{{warning}}";padding:1px;font-size:11px;background:"{{warningFaded}}";border-radius:"{{borderRadius}}";margin-top:4px !important;clear:both}.vcustom-customTax-tot{display:inline-block;position:relative;margin-left:5px}.vcustom-customTax-tot>span{background:"{{muted5}}";width:15px;height:15px;line-height:15px;display:inline-block;border-radius:100%;text-align:center;cursor:pointer}.vcustom-customTax-tot:hover .vcustom-customTax-resume{display:block}.vcustom-customTax-resume{position:absolute;left:calc(100% + 10px);width:128px;background:"{{muted5}}";top:50%;font-size:11px;padding:10px;transform:translateY(-50%);display:none}.vcustom-customTax-resume__i{display:flex;justify-content:space-between;margin:0}.vcustom-customTax-resume:before{content:"";display:block;position:absolute;left:-4px;top:calc(50% - 4px);width:0;height:0;border:0 solid rgba(0,0,0,0);border-top-width:4px;border-bottom-width:4px;border-right:4px solid "{{muted5}}"}.v-custom-addLabels-active-flag{background:#fff;color:"{{muted1}}";padding:1px 4px;border-radius:"{{borderRadius}}";display:inline-block;align-items:center;font-size:11px;border:1px solid "{{muted4}}"}.v-custom-addLabels-active-flag:before{content:"";display:inline-block;width:14px;height:14px;background:url("//io.vtex.com.br/front-libs/bootstrap/2.3.2/img/glyphicons-halflings.png");background-repeat:no-repeat;background-position:0 -48px;margin-right:4px;opacity:.9;vertical-align:middle}.v-custom-assemblies{margin:10px 0 3px 0;overflow:hidden;border-top:1px solid "{{muted4}}";padding-top:7px}@media(max-width: 690px){.v-custom-assemblies{width:100%;left:0;margin-bottom:2px}}.v-custom-assemblies p{display:none}.v-custom-assemblies__values{list-style:none;padding:0;margin:0}.v-custom-assemblies__values__item strong:after{content:":"}.v-custom-assemblies__values__item span,.v-custom-assemblies__values__item strong{line-height:14px}body.v-custom-paymentBuilder-accordion .steps-view{display:none}body.v-custom-changeShippingTimeInfo .orderform-template .cart-template.mini-cart .item span.shipping-date{display:none}#shipping-data .accordion-group.shipping-data:after{opacity:0;transition:all ease .3s}.js-v-custom-is-loadAddress .vtex-omnishipping-1-x-warning{display:none !important}.js-v-custom-is-loadAddress #shipping-data .accordion-group.shipping-data:after{content:"";display:block;opacity:1;left:0;top:0;width:100%;height:20px;z-index:2;margin:0 0 20px 0;border-radius:3px}.js-v-custom-is-loadAddress #postalCode-finished-loading+.mb5{display:none !important}.vcustom--vtex-omnishipping-1-x-address{display:none}body.v-custom-addressForm-on.v-custom-step-shipping .vcustom--vtex-omnishipping-1-x-address{display:block}body.v-custom-addressForm-on.v-custom-step-shipping .v-custom-ship-info{display:flex}body.v-custom-addressForm-on.v-custom-step-shipping .v-custom-ship-info .ship-number{margin-right:10px}body.v-custom-addressForm-on.v-custom-step-shipping .vtex-omnishipping-1-x-addressForm,body.v-custom-addressForm-on.v-custom-step-shipping .vtex-omnishipping-1-x-deliveryGroup,body.v-custom-addressForm-on.v-custom-step-shipping .vtex-omnishipping-1-x-submitPaymentButton{display:none}.vtex-omnishipping-1-x-submitShippingStepButton{margin:20px 0 0 0}body.v-custom-googleForm-on .vtex-omnishipping-1-x-deliveryGroup,body.v-custom-googleForm-on .vtex-omnishipping-1-x-addressForm,body.v-custom-googleForm-on .vtex-omnishipping-1-x-submitPaymentButton,body.v-custom-googleForm-on .vtex-omnishipping-1-x-btnDelivery{display:none}body.v-custom-googleForm-on .alert-noStreet{display:none}.v-custom-googleFormScript-added.v-custom-googleForm-on .accordion-inner.shipping-container>*{display:none}body.v-custom-fnsCustomAddressForm .accordion-inner.shipping-container{padding-top:0 !important}body.v-custom-fnsCustomAddressForm .accordion-inner.shipping-container{transition:all ease .3s}body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-selectDeliveryText+div{margin:0 !important}body.v-custom-fnsCustomAddressForm .orderform-template-holder p.vtex-omnishipping-1-x-submitPaymentButton.btn-submit-wrapper.btn-go-to-payment-wrapper{margin-bottom:0 !important}body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-addressFormPart1 .input.ship-country,body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-addressFormPart1 .input.ship-addressQuery,body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-addressFormPart1 .input.ship-postalCode{display:none}body.v-custom-fnsCustomAddressForm.returningUser .vtex-omnishipping-1-x-addressFormPart1 .input.ship-postalCode{display:block}body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-container.shp-pickup-receiver+.vtex-omnishipping-1-x-shippingSectionTitle+#back-to-address-list+.vtex-omnishipping-1-x-addressFormPart1 p.input.ship-postalCode,body.v-custom-fnsCustomAddressForm .vtex-omnishipping-1-x-container.shp-pickup-receiver+.vtex-omnishipping-1-x-shippingSectionTitle+.vtex-omnishipping-1-x-addressFormPart1 p.input.ship-postalCode{display:block}body.v-custom-fnsCustomAddressForm .orderform-template-holder .step.shipping-data .box-step .vtex-omnishipping-1-x-addressFormPart1{order:1}body.v-custom-fnsCustomAddressForm .pac-logo[style*=none]{border:0}body.v-custom-fnsCustomAddressForm .pac-logo[style*=none]:after{display:none}body.v-custom-fnsCustomAddressForm #shipping-data .accordion-inner+.vcustom--vtex-omnishipping-1-x-address{display:none}body.v-custom-fnsCustomAddressForm div#shipping-data{display:flex;flex-wrap:wrap}body.v-custom-fnsCustomAddressForm div#shipping-data>*{width:100%}body.v-custom-fnsCustomAddressForm div#shipping-data .step.accordion-group.shipping-data{order:1}body.v-custom-fnsCustomAddressForm div#shipping-data .vcustom--vtex-omnishipping-1-x-address{order:3}.js-v-custom-is-loading .accordion-inner.shipping-container,.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address{overflow:hidden}.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address{height:120px;position:relative}.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address:before{content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%;z-index:2}.js-v-custom-is-loading .accordion-inner.shipping-container>*,.js-v-custom-is-loading .vcustom--vtex-omnishipping-1-x-address>*{opacity:.5}.vcustom--vtex-omnishipping-1-x-address{transition:all ease .3s}.vcustom--vtex-omnishipping-1-x-address p.input{float:none;width:100%;margin:0}.vcustom--vtex-omnishipping-1-x-address span.help.error{display:none}.vcustom--vtex-omnishipping-1-x-address input{max-width:initial;width:100%}.vcustom--vtex-omnishipping-1-x-address input.error+span.help.error,.vcustom--vtex-omnishipping-1-x-address select.error+span.help.error{display:block}.vcustom--vtex-omnishipping-1-x-address__state{display:flex;margin:0 -5px}.vcustom--vtex-omnishipping-1-x-address__state p.input{margin:0 5px}@media(max-width: 768px){.vcustom--vtex-omnishipping-1-x-address__state{flex-wrap:wrap;margin:0}.vcustom--vtex-omnishipping-1-x-address__state p.input.ship-state{margin:0}}.pac-container.pac-logo{border:1px solid "{{muted4}}";border-radius:"{{borderRadius}}"}.pac-logo:after{background:#fbfbfb url(https://developers.google.com/maps/documentation/images/powered_by_google_on_white.png) no-repeat 10px center;padding:14px;background-size:110px}.address-list.vtex-omnishipping-1-x-addressList+p.input.ship-addressQuery.text{display:none}.alert-noStreet{margin:30px auto 0 auto;text-align:center}body.js-vcustom-hideEmailStep .orderform-template-holder #client-profile-data form.client-pre-email.client-pre-email{display:none !important}body.js-vcustom-hideEmailStep .client-profile-data .accordion-toggle>span:before{content:"1"}body.js-vcustom-hideEmailStep .shipping-data .accordion-toggle:before{content:"2"}body.js-vcustom-hideEmailStep .payment-data .accordion-toggle>span:not(.payment-edit-link):before{content:"3"}body.js-vcustom-hideEmailStep .client-pre-email+.client-profile-data .accordion-body .accordion-inner{display:block}.RTL-checkout select{direction:rtl}.RTL-checkout .cart-template-holder{order:2}.RTL-checkout body .main-header .header-link{left:initial;right:0}.RTL-checkout body .main-header .checkout-steps{margin-left:initial;margin-right:auto}.RTL-checkout .main-header .logo{order:2}.RTL-checkout .summary-template-holder tr .info{order:2;text-align:right !important}.RTL-checkout .orderform-template-holder #client-profile-data form.client-pre-email .link-box-edit,.RTL-checkout .orderform-template-holder #client-profile-data .step.client-profile-data .link-box-edit,.RTL-checkout .orderform-template-holder #shipping-data .link-box-edit,.RTL-checkout .orderform-template-holder #payment-data .link-box-edit{right:initial;left:0}.RTL-checkout .summary-template-holder tbody td.monetary,.RTL-checkout .summary-template-holder tfoot tr td.monetary{margin-right:auto;margin-left:initial !important;text-align:left !important}.RTL-checkout .summary-template-holder .summary-coupon p.coupon-fields span{flex-direction:row-reverse}.RTL-checkout .summary-template-holder .summary-coupon p.coupon-fields span input{margin:0 0 0 10px}.RTL-checkout .table.cart-items tbody tr .v-custom-product-item-wrap,.RTL-checkout .table.cart-items tbody tr,.RTL-checkout .table.cart-items thead tr,.RTL-checkout .table.cart-items thead tr th.product{flex-direction:row-reverse;text-align:right}.RTL-checkout .table.cart-items tbody tr td.product-name{text-align:right}.RTL-checkout .orderform-template .orderform-template-holder{order:2;padding:0 0 0 20px}.RTL-checkout .orderform-template .cart-template.mini-cart .summary-totalizers tfoot tr td.monetary{text-align:left !important}.RTL-checkout br{width:100%;height:1px;content:" " !important;display:block !important;clear:both}.RTL-checkout .table.cart-items td.quantity{direction:rtl}.RTL-checkout .checkout-steps_items{direction:rtl}.RTL-checkout .checkout-steps_items .text:before{margin:0 0 0 7px}.RTL-checkout .srp-toggle__wrapper{direction:rtl}.RTL-checkout .srp-toggle__wrapper .vtex-shipping-preview-0-x-framePickup{left:0}.RTL-checkout .srp-toggle__wrapper .vtex-shipping-preview-0-x-frameDelivery{left:50%}.RTL-checkout .srp-delivery-header.mb3{direction:rtl;display:flex}.RTL-checkout .srp-delivery-current-many .flex{direction:rtl;text-align:right}.RTL-checkout .step{direction:rtl}.RTL-checkout .step .accordion-toggle>span:before,.RTL-checkout .step .accordion-toggle:before{margin-right:0 !important;margin-left:10px !important}.RTL-checkout fieldset.box-client-info-pf{display:flex;flex-wrap:wrap}.RTL-checkout .orderform-template-holder .step .form-step fieldset p,.RTL-checkout .orderform-template-holder .step .form-step fieldset div{width:100%}.RTL-checkout p.client-first-name,.RTL-checkout p.client-different-document,.RTL-checkout p.client-document,.RTL-checkout p.client-company-ie,.RTL-checkout p.client-company-postal-code,.RTL-checkout p.client-document-type,.RTL-checkout p.payment-card-due-date{margin-left:10px;margin-right:0}.RTL-checkout p.client-document,.RTL-checkout p.client-phone,.RTL-checkout p.client-company-document,.RTL-checkout p.client-company-ie,.RTL-checkout p.client-company-postal-code,.RTL-checkout p.client-company-phone,.RTL-checkout p.payment-card-due-month,.RTL-checkout p.payment-card-lash,.RTL-checkout p.payment-card-due-year{float:right}.RTL-checkout input.success:not([invalid=true]){background-position:left top}.RTL-checkout .vtexIdUI .vtexIdUI-page{direction:rtl}.RTL-checkout .vtexIdUI .modal-header .close{left:-1px;right:initial}.RTL-checkout .vtexIdUI .pull-left{float:right}.RTL-checkout .orderform-template-holder .step .box-info p{display:flex;flex-wrap:wrap;width:100%}.RTL-checkout .vtex-omnishipping-1-x-leanShippingIcon.shp-option-icon,.RTL-checkout .vtex-omnishipping-1-x-addressItemIcon{margin:0 0 0 10px}.RTL-checkout .vtex-omnishipping-1-x-leanShippingText{padding-right:10px}.RTL-checkout .address-summary{display:flex;flex-wrap:wrap}.RTL-checkout br.line1-delimiter{width:100%;height:1px;content:" " !important;display:block !important;clear:both}.RTL-checkout .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-AffirmPaymentGroup:after,.RTL-checkout .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item#payment-group-payPalPaymentGroup:after{right:initial;left:10px}.RTL-checkout .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text{margin-left:auto;margin-right:inherit}.RTL-checkout .orderform-template-holder #payment-data .v-custom-payment-item-wrap .payment-group-item-text:before{margin-right:initial;margin-left:10px}.RTL-checkout .orderform-template-holder #payment-data p.link.link-gift-card a{text-align:right}.RTL-checkout .orderform-template .custom-cart-template-wrap .summary-cart-template-holder{direction:rtl}.RTL-checkout .pull-right{float:left !important}.RTL-checkout .orderform-template .cart-template.mini-cart .item .price{margin-right:auto;direction:initial}.RTL-checkout .orderform-template .cart-template.mini-cart .item .url{float:right;margin:0 0 0 6px}.RTL-checkout .orderform-template .cart-template.mini-cart .item .fn{text-align:right;float:right}.RTL-checkout .orderform-template .cart-template.mini-cart h2{text-align:right}.RTL-checkout .orderform-template .cart-template.mini-cart #go-to-cart-button{left:7px;right:initial}.RTL-checkout .vtex-omnishipping-1-x-SummaryItemInfo{border:none;border-left:1px solid #eee;padding:0 0 0 6px}.RTL-checkout .vtexIdUI .vtexIdUI-page{direction:rtl}.RTL-checkout .vtexIdUI .modal-header .close{left:-1px;right:initial}.RTL-checkout .vtexIdUI .pull-left{float:right}.RTL-checkout #app-container{direction:rtl}.RTL-checkout #app-container .PaymentCardDueDate.clearfix{display:flex}.RTL-checkout #app-container label.FormFieldLabel{margin:0 0 0 10px}.RTL-checkout #app-container .PaymentCardCVV{display:flex}.RTL-checkout #app-container p.AddressToggle{display:flex}.RTL-checkout #app-container .AddressToggle input{margin:3px 0 0 5px}@media(max-width: 998px){.RTL-checkout.body-cart-vertical .summary-template-holder{order:2}}@media(max-width: 768px){.RTL-checkout .orderform-template .cart-template.mini-cart{order:2}}@media(max-width: 690px){.RTL-checkout .table.cart-items td.product-image a{margin-right:0;margin-left:20px}.RTL-checkout .full-cart .cart table tbody tr td.product-image,.RTL-checkout .full-cart .cart table tbody tr td.bundle-item-image{left:initial;right:0}.RTL-checkout .table.cart-items td.product-name,.RTL-checkout .table.cart-items td.quantity{margin-left:0 !important;margin-right:90px !important}.RTL-checkout .table.cart-items td.quantity{float:right}.RTL-checkout .full-cart .cart table tbody tr td.product-name a,.RTL-checkout .full-cart .cart table tbody tr td.bundle-item-name span{padding:0 0 0 20px}.RTL-checkout .full-cart .cart table tbody tr td.product-price{float:left}.RTL-checkout .full-cart .cart table tbody tr td.item-remove{left:0;right:initial}}body.debug-on>*:not(.container-main,.main-header,.main-footer,#vtexIdContainer,.vtex-front-messages-placeholder,.pac-container){display:none} \ No newline at end of file diff --git a/checkout-ui-settings/node/templates/checkout6-custom.js b/checkout-ui-settings/node/templates/checkout6-custom.js new file mode 100644 index 00000000..85f6eb24 --- /dev/null +++ b/checkout-ui-settings/node/templates/checkout6-custom.js @@ -0,0 +1 @@ +(()=>{var e={928:(e,o,a)=>{e.exports=a.p+"checkout6-custom.css"},540:e=>{e.exports._countriesrules={ITA:{state:{valueIn:"short_name",types:["administrative_area_level_2"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0},GBR:{state:{valueIn:"short_name",types:["postal_town"]},city:{valueIn:"long_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0},SMR:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},number:!0,city:{valueIn:"long_name",types:["locality"]},postalCode:!0},USA:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0},CAN:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0},ESP:{state:{valueIn:"short_name",types:["administrative_area_level_2"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0},NLD:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0,postalCodeLength:6},BEL:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0},AUT:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"long_name",types:["locality"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!0,postalCode:!0},HRV:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},CYP:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},DNK:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},EST:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},FIN:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},DEU:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},complement:{valueIn:"long_name",types:["subpremise"]},neighborhood:{valueIn:"long_name",types:["administrative_area_level_3"]},number:!0,postalCode:!0,postalCodeLength:5},GRC:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"long_name",types:["administrative_area_level_3"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},CZE:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["sublocality_level_1"]},neighborhood:!1,number:!1,postalCode:!0,postalCodeLength:5},CHE:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0,postalCodeLength:4},ROU:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0,postalCodeLength:6},HUN:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},IRL:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"short_name",types:["postal_town"]},number:!1,postalCode:!0,postalCodeLength:7},LVA:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},LTU:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0,postalCodeLength:5},LUX:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:4},MLT:{state:!1,number:!1,street:{valueIn:"long_name",types:["route"]},neighborhood:{valueIn:"long_name",types:["neighborhood","sublocality_level_1","sublocality_level_2","sublocality_level_3","sublocality_level_4","sublocality_level_5"]},city:{valueIn:"long_name",types:["administrative_area_level_2","locality"]},receiverName:{required:!0},postalCode:!0},PRT:{state:!1,city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:7},SVK:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},SVN:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["sublocality_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0,postalCodeLength:5},SWE:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},neighborhood:{valueIn:"short_name",types:["postal_town"]},city:{valueIn:"short_name",types:["sublocality_level_1"]},number:!0,postalCode:!0},ARG:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:["administrative_area_level_2"]},number:!1,postalCode:!0,postalCodeLength:4},VAT:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0},BRA:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0},ARE:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"short_name",types:[{valueIn:"long_name",types:["locality"]}]},number:!0,postalCode:!1},RUS:{number:!1,city:{valueIn:"long_name",types:["locality","administrative_area_level_2"]},state:!1,neighborhood:{valueIn:"long_name",types:["administrative_area_level_3"]},postalCode:!0},WWD:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!1,postalCode:!0},ZAF:{state:{valueIn:"short_name",types:["administrative_area_level_1"]},city:{valueIn:"long_name",types:["locality"]},number:!0,postalCode:!0},PAN:{state:"administrative_area_level_1",city:"administrative_are_level_2",neighborhood:"locality",number:!1,postalCode:!0},PRI:{state:"administrative_area_level_1",city:"administrative_are_level_2",neighborhood:"locality",number:!1,postalCode:!0}},e.exports._countries=[["AF","AFG"],["AX","ALA"],["AL","ALB"],["DZ","DZA"],["AS","ASM"],["AD","AND"],["AO","AGO"],["AI","AIA"],["AQ","ATA"],["AG","ATG"],["AR","ARG"],["AM","ARM"],["AW","ABW"],["AU","AUS"],["AT","AUT"],["AZ","AZE"],["BS","BHS"],["BH","BHR"],["BD","BGD"],["BB","BRB"],["BY","BLR"],["BE","BEL"],["BZ","BLZ"],["BJ","BEN"],["BM","BMU"],["BT","BTN"],["BO","BOL"],["BQ","BES"],["BA","BIH"],["BW","BWA"],["BV","BVT"],["BR","BRA"],["IO","IOT"],["BN","BRN"],["BG","BGR"],["BF","BFA"],["BI","BDI"],["KH","KHM"],["CM","CMR"],["CA","CAN"],["CV","CPV"],["KY","CYM"],["CF","CAF"],["TD","TCD"],["CL","CHL"],["CN","CHN"],["CX","CXR"],["CC","CCK"],["CO","COL"],["KM","COM"],["CG","COG"],["CD","COD"],["CK","COK"],["CR","CRI"],["CI","CIV"],["HR","HRV"],["CU","CUB"],["CW","CUW"],["CY","CYP"],["CZ","CZE"],["DK","DNK"],["DJ","DJI"],["DM","DMA"],["DO","DOM"],["EC","ECU"],["EG","EGY"],["SV","SLV"],["GQ","GNQ"],["ER","ERI"],["EE","EST"],["ET","ETH"],["FK","FLK"],["FO","FRO"],["FJ","FJI"],["FI","FIN"],["FR","FRA"],["GF","GUF"],["PF","PYF"],["TF","ATF"],["GA","GAB"],["GM","GMB"],["GE","GEO"],["DE","DEU"],["GH","GHA"],["GI","GIB"],["GR","GRC"],["GL","GRL"],["GD","GRD"],["GP","GLP"],["GU","GUM"],["GT","GTM"],["GG","GGY"],["GN","GIN"],["GW","GNB"],["GY","GUY"],["HT","HTI"],["HM","HMD"],["VA","VAT"],["HN","HND"],["HK","HKG"],["HU","HUN"],["IS","ISL"],["IN","IND"],["ID","IDN"],["IR","IRN"],["IQ","IRQ"],["IE","IRL"],["IM","IMN"],["IL","ISR"],["IT","ITA"],["JM","JAM"],["JP","JPN"],["JE","JEY"],["JO","JOR"],["KZ","KAZ"],["KE","KEN"],["KI","KIR"],["KP","PRK"],["KR","KOR"],["KW","KWT"],["KG","KGZ"],["LA","LAO"],["LV","LVA"],["LB","LBN"],["LS","LSO"],["LR","LBR"],["LY","LBY"],["LI","LIE"],["LT","LTU"],["LU","LUX"],["MO","MAC"],["MK","MKD"],["MG","MDG"],["MW","MWI"],["MY","MYS"],["MV","MDV"],["ML","MLI"],["MT","MLT"],["MH","MHL"],["MQ","MTQ"],["MR","MRT"],["MU","MUS"],["YT","MYT"],["MX","MEX"],["FM","FSM"],["MD","MDA"],["MC","MCO"],["MN","MNG"],["ME","MNE"],["MS","MSR"],["MA","MAR"],["MZ","MOZ"],["MM","MMR"],["NA","NAM"],["NR","NRU"],["NP","NPL"],["NL","NLD"],["NC","NCL"],["NZ","NZL"],["NI","NIC"],["NE","NER"],["NG","NGA"],["NU","NIU"],["NF","NFK"],["MP","MNP"],["NO","NOR"],["OM","OMN"],["PK","PAK"],["PW","PLW"],["PS","PSE"],["PA","PAN"],["PG","PNG"],["PY","PRY"],["PE","PER"],["PH","PHL"],["PN","PCN"],["PL","POL"],["PT","PRT"],["PR","PRI"],["QA","QAT"],["RE","REU"],["RO","ROU"],["RU","RUS"],["RW","RWA"],["BL","BLM"],["SH","SHN"],["KN","KNA"],["LC","LCA"],["MF","MAF"],["PM","SPM"],["VC","VCT"],["WS","WSM"],["SM","SMR"],["ST","STP"],["SA","SAU"],["SN","SEN"],["RS","SRB"],["SC","SYC"],["SL","SLE"],["SG","SGP"],["SX","SXM"],["SK","SVK"],["SI","SVN"],["SB","SLB"],["SO","SOM"],["ZA","ZAF"],["GS","SGS"],["SS","SSD"],["ES","ESP"],["LK","LKA"],["SD","SDN"],["SR","SUR"],["SJ","SJM"],["SZ","SWZ"],["SE","SWE"],["CH","CHE"],["SY","SYR"],["TW","TWN"],["TJ","TJK"],["TZ","TZA"],["TH","THA"],["TL","TLS"],["TG","TGO"],["TK","TKL"],["TO","TON"],["TT","TTO"],["TN","TUN"],["TR","TUR"],["TM","TKM"],["TC","TCA"],["TV","TUV"],["UG","UGA"],["UA","UKR"],["AE","ARE"],["GB","GBR"],["US","USA"],["UM","UMI"],["UY","URY"],["UZ","UZB"],["VU","VUT"],["VE","VEN"],["VN","VNM"],["VG","VGB"],["VI","VIR"],["WF","WLF"],["EH","ESH"],["YE","YEM"],["ZM","ZMB"],["ZW","ZWE"],["XK","XKX"]],e.exports._cities=[{countryName:"Albania",countryShortCode:"AL",regions:[{name:"Berat",shortCode:"01"},{name:"Dibër",shortCode:"09"},{name:"Durrës",shortCode:"02"},{name:"Elbasan",shortCode:"03"},{name:"Fier",shortCode:"04"},{name:"Gjirokastër",shortCode:"05"},{name:"Korçë",shortCode:"06"},{name:"Kukës",shortCode:"07"},{name:"Lezhë",shortCode:"08"},{name:"Shkodër",shortCode:"10"},{name:"Tirana",shortCode:"11"},{name:"Vlorë",shortCode:"12"}]},{countryName:"Algeria",countryShortCode:"DZ",regions:[{name:"Adrar",shortCode:"01"},{name:"Aïn Defla",shortCode:"44"},{name:"Aïn Témouchent",shortCode:"46"},{name:"Algiers",shortCode:"16"},{name:"Annaba",shortCode:"23"},{name:"Batna",shortCode:"05"},{name:"Béchar",shortCode:"08"},{name:"Béjaïa",shortCode:"06"},{name:"Biskra",shortCode:"07"},{name:"Blida",shortCode:"09"},{name:"Bordj Bou Arréridj",shortCode:"34"},{name:"Bouïra",shortCode:"10"},{name:"Boumerdès",shortCode:"35"},{name:"Chlef",shortCode:"02"},{name:"Constantine",shortCode:"25"},{name:"Djelfa",shortCode:"17"},{name:"El Bayadh",shortCode:"32"},{name:"El Oued",shortCode:"39"},{name:"El Tarf",shortCode:"36"},{name:"Ghardaïa",shortCode:"47"},{name:"Guelma",shortCode:"24"},{name:"Illizi",shortCode:"33"},{name:"Jijel",shortCode:"18"},{name:"Khenchela",shortCode:"40"},{name:"Laghouat",shortCode:"03"},{name:"Mascara",shortCode:"29"},{name:"Médéa",shortCode:"26"},{name:"Mila",shortCode:"43"},{name:"Mostaganem",shortCode:"27"},{name:"Msila",shortCode:"28"},{name:"Naâma",shortCode:"45"},{name:"Oran",shortCode:"31"},{name:"Ouargla",shortCode:"30"},{name:"Oum el Bouaghi",shortCode:"04"},{name:"Relizane",shortCode:"48"},{name:"Saïda",shortCode:"20"},{name:"Sétif",shortCode:"19"},{name:"Sidi Bel Abbès",shortCode:"22"},{name:"Skikda",shortCode:"21"},{name:"Souk Ahras",shortCode:"41"},{name:"Tamanghasset",shortCode:"11"},{name:"Tébessa",shortCode:"12"},{name:"Tiaret",shortCode:"14"},{name:"Tindouf",shortCode:"37"},{name:"Tipaza",shortCode:"42"},{name:"Tissemsilt",shortCode:"38"},{name:"Tizi Ouzou",shortCode:"15"},{name:"Tlemcen",shortCode:"13"}]},{countryName:"Andorra",countryShortCode:"AD",regions:[{name:"Andorra la Vella",shortCode:"07"},{name:"Canillo",shortCode:"02"},{name:"Encamp",shortCode:"03"},{name:"Escaldes-Engordany",shortCode:"08"},{name:"La Massana",shortCode:"04"},{name:"Ordino",shortCode:"05"},{name:"Sant Julià de Lòria",shortCode:"06"}]},{countryName:"Angola",countryShortCode:"AO",regions:[{name:"Bengo",shortCode:"BGO"},{name:"Benguela",shortCode:"BGU"},{name:"Bié",shortCode:"BIE"},{name:"Cabinda",shortCode:"CAB"},{name:"Cuando Cubango",shortCode:"CCU"},{name:"Cuanza Norte",shortCode:"CNO"},{name:"Cuanza Sul",shortCode:"CUS"},{name:"Cunene",shortCode:"CNN"},{name:"Huambo",shortCode:"HUA"},{name:"Huíla",shortCode:"HUI"},{name:"Luanda",shortCode:"LUA"},{name:"Lunda Norte",shortCode:"LNO"},{name:"Lunda Sul",shortCode:"LSU"},{name:"Malanje",shortCode:"MAL"},{name:"Moxico",shortCode:"MOX"},{name:"Namibe",shortCode:"NAM"},{name:"Uíge",shortCode:"UIG"},{name:"Zaire",shortCode:"ZAI"}]},{countryName:"Anguilla",countryShortCode:"AI",regions:[{name:"Anguilla",shortCode:"01"},{name:"Anguillita Island",shortCode:"02"},{name:"Blowing Rock",shortCode:"03"},{name:"Cove Cay",shortCode:"04"},{name:"Crocus Cay",shortCode:"05"},{name:"Deadman's Cay",shortCode:"06"},{name:"Dog Island",shortCode:"07"},{name:"East Cay",shortCode:"08"},{name:"Little Island",shortCode:"09"},{name:"Little Scrub Island",shortCode:"10"},{name:"Mid Cay",shortCode:"11"},{name:"North Cay",shortCode:"12"},{name:"Prickly Pear Cays",shortCode:"13"},{name:"Rabbit Island",shortCode:"14"},{name:"Sandy Island/Sand Island",shortCode:"15"},{name:"Scilly Cay",shortCode:"16"},{name:"Scrub Island",shortCode:"17"},{name:"Seal Island",shortCode:"18"},{name:"Sombrero/Hat Island",shortCode:"19"},{name:"South Cay",shortCode:"20"},{name:"South Wager Island",shortCode:"21"},{name:"West Cay",shortCode:"22"}]},{countryName:"Antigua and Barbuda",countryShortCode:"AG",regions:[{name:"Antigua Island",shortCode:"01"},{name:"Barbuda Island",shortCode:"02"},{name:"Bird Island",shortCode:"04"},{name:"Bishop Island",shortCode:"05"},{name:"Blake Island",shortCode:"06"},{name:"Crump Island",shortCode:"09"},{name:"Dulcina Island",shortCode:"10"},{name:"Exchange Island",shortCode:"11"},{name:"Five Islands",shortCode:"12"},{name:"Great Bird Island",shortCode:"13"},{name:"Green Island",shortCode:"14"},{name:"Guiana Island",shortCode:"15"},{name:"Hawes Island",shortCode:"17"},{name:"Hells Gate Island",shortCode:"16"},{name:"Henry Island",shortCode:"18"},{name:"Johnson Island",shortCode:"19"},{name:"Kid Island",shortCode:"20"},{name:"Lobster Island",shortCode:"22"},{name:"Maiden Island",shortCode:"24"},{name:"Moor Island",shortCode:"25"},{name:"Nanny Island",shortCode:"26"},{name:"Pelican Island",shortCode:"27"},{name:"Prickly Pear Island",shortCode:"28"},{name:"Rabbit Island",shortCode:"29"},{name:"Red Head Island",shortCode:"31"},{name:"Redonda Island",shortCode:"03"},{name:"Sandy Island",shortCode:"32"},{name:"Smith Island",shortCode:"33"},{name:"The Sisters",shortCode:"34"},{name:"Vernon Island",shortCode:"35"},{name:"Wicked Will Island",shortCode:"36"},{name:"York Island",shortCode:"37"}]},{countryName:"Argentina",countryShortCode:"AR",regions:[{name:"Ciudad Autónoma de Buenos Aires",shortCode:"Ciudad Autónoma de Buenos Aires"},{name:"Buenos Aires",shortCode:"Buenos Aires"},{name:"Catamarca",shortCode:"Catamarca"},{name:"Chaco",shortCode:"Chaco"},{name:"Chubut",shortCode:"Chubut"},{name:"Córdoba",shortCode:"Córdoba"},{name:"Corrientes",shortCode:"Corrientes"},{name:"Entre Ríos",shortCode:"Entre Ríos"},{name:"Formosa",shortCode:"Formosa"},{name:"Jujuy",shortCode:"Jujuy"},{name:"La Pampa",shortCode:"La Pampa"},{name:"La Rioja",shortCode:"La Rioja"},{name:"Mendoza",shortCode:"Mendoza"},{name:"Misiones",shortCode:"Misiones"},{name:"Neuquén",shortCode:"Neuquén"},{name:"Río Negro",shortCode:"Río Negro"},{name:"Salta",shortCode:"Salta"},{name:"San Juan",shortCode:"San Juan"},{name:"San Luis",shortCode:"San Luis"},{name:"Santa Cruz",shortCode:"Santa Cruz"},{name:"Santa Fe",shortCode:"Santa Fe"},{name:"Santiago del Estero",shortCode:"Santiago del Estero"},{name:"Tierra del Fuego",shortCode:"Tierra del Fuego"},{name:"Tucumán",shortCode:"Tucumán"}]},{countryName:"Armenia",countryShortCode:"AM",regions:[{name:"Aragatsotn",shortCode:"AG"},{name:"Ararat",shortCode:"AR"},{name:"Armavir",shortCode:"AV"},{name:"Gegharkunik",shortCode:"GR"},{name:"Kotayk",shortCode:"KT"},{name:"Lori",shortCode:"LO"},{name:"Shirak",shortCode:"SH"},{name:"Syunik",shortCode:"SU"},{name:"Tavush",shortCode:"TV"},{name:"Vayots Dzor",shortCode:"VD"},{name:"Yerevan",shortCode:"ER"}]},{countryName:"Australia",countryShortCode:"AU",regions:[{name:"Australian Capital Territory",shortCode:"ACT"},{name:"New South Wales",shortCode:"NSW"},{name:"Northern Territory",shortCode:"NT"},{name:"Queensland",shortCode:"QLD"},{name:"South Australia",shortCode:"SA"},{name:"Tasmania",shortCode:"TAS"},{name:"Victoria",shortCode:"VIC"},{name:"Western Australia",shortCode:"WA"}]},{countryName:"Austria",countryShortCode:"AT",regions:[{name:"Burgenland",shortCode:"Burgenland"},{name:"Kärnten",shortCode:"Kärnten"},{name:"Niederösterreich",shortCode:"Niederösterreich"},{name:"Oberösterreich",shortCode:"Oberösterreich"},{name:"Salzburg",shortCode:"Salzburg"},{name:"Steiermark",shortCode:"Steiermark"},{name:"Tirol",shortCode:"Tirol"},{name:"Vorarlberg",shortCode:"Vorarlberg"},{name:"Wien",shortCode:"Wien"}]},{countryName:"Bahamas",countryShortCode:"BS",regions:[{name:"Acklins Island",shortCode:"01"},{name:"Berry Islands",shortCode:"22"},{name:"Bimini",shortCode:"02"},{name:"Black Point",shortCode:"23"},{name:"Cat Island",shortCode:"03"},{name:"Central Abaco",shortCode:"24"},{name:"Crooked Island and Long Cay",shortCode:"28"},{name:"East Grand Bahama",shortCode:"29"},{name:"Exuma",shortCode:"04"},{name:"Freeport",shortCode:"05"},{name:"Fresh Creek",shortCode:"06"},{name:"Governor's Harbour",shortCode:"07"},{name:"Green Turtle Cay",shortCode:"08"},{name:"Harbour Island",shortCode:"09"},{name:"High Rock",shortCode:"10"},{name:"Inagua",shortCode:"11"},{name:"Kemps Bay",shortCode:"12"},{name:"Long Island",shortCode:"13"},{name:"Marsh Harbour",shortCode:"14"},{name:"Mayaguana",shortCode:"15"},{name:"Moore’s Island",shortCode:"40"},{name:"New Providence",shortCode:"16"},{name:"Nichollstown and Berry Islands",shortCode:"17"},{name:"North Abaco",shortCode:"42"},{name:"North Andros",shortCode:"41"},{name:"North Eleuthera",shortCode:"33"},{name:"Ragged Island",shortCode:"18"},{name:"Rock Sound",shortCode:"19"},{name:"San Salvador and Rum Cay",shortCode:"20"},{name:"Sandy Point",shortCode:"21"},{name:"South Abaco",shortCode:"35"},{name:"South Andros",shortCode:"36"},{name:"South Eleuthera",shortCode:"37"},{name:"West Grand Bahama",shortCode:"39"}]},{countryName:"Bahrain",countryShortCode:"BH",regions:[{name:"Al Janūbīyah",shortCode:"14"},{name:"Al Manāmah",shortCode:"13"},{name:"Al Muḩarraq",shortCode:"15"},{name:"Al Wusţá",shortCode:"16"},{name:"Ash Shamālīyah",shortCode:"17"}]},{countryName:"Barbados",countryShortCode:"BB",regions:[{name:"Christ Church",shortCode:"01"},{name:"Saint Andrew",shortCode:"02"},{name:"Saint George",shortCode:"03"},{name:"Saint James",shortCode:"04"},{name:"Saint John",shortCode:"05"},{name:"Saint Joseph",shortCode:"06"},{name:"Saint Lucy",shortCode:"07"},{name:"Saint Michael",shortCode:"08"},{name:"Saint Peter",shortCode:"09"},{name:"Saint Philip",shortCode:"10"},{name:"Saint Thomas",shortCode:"11"}]},{countryName:"Belarus",countryShortCode:"BY",regions:[{name:"Brest voblast",shortCode:"BR"},{name:"Gorod Minsk",shortCode:"HM"},{name:"Homiel voblast",shortCode:"HO"},{name:"Hrodna voblast",shortCode:"HR"},{name:"Mahilyow voblast",shortCode:"MA"},{name:"Minsk voblast",shortCode:"MI"},{name:"Vitsebsk voblast",shortCode:"VI"}]},{countryName:"Belgium",countryShortCode:"BE",regions:[{name:"Brussels",shortCode:"BRU"},{name:"Flanders",shortCode:"VLG"},{name:"Wallonia",shortCode:"WAL"}]},{countryName:"Belize",countryShortCode:"BZ",regions:[{name:"Belize District",shortCode:"BZ"},{name:"Cayo District",shortCode:"CY"},{name:"Corozal District",shortCode:"CZL"},{name:"Orange Walk District",shortCode:"OW"},{name:"Stann Creek District",shortCode:"SC"},{name:"Toledo District",shortCode:"TOL"}]},{countryName:"Benin",countryShortCode:"BJ",regions:[{name:"Alibori",shortCode:"AL"},{name:"Atakora",shortCode:"AK"},{name:"Atlantique",shortCode:"AQ"},{name:"Borgou",shortCode:"BO"},{name:"Collines Department",shortCode:"CO"},{name:"Donga",shortCode:"DO"},{name:"Kouffo",shortCode:"KO"},{name:"Littoral Department",shortCode:"LI"},{name:"Mono Department",shortCode:"MO"},{name:"Ouémé",shortCode:"OU"},{name:"Plateau",shortCode:"PL"},{name:"Zou",shortCode:"ZO"}]},{countryName:"Bermuda",countryShortCode:"BM",regions:[{name:"City of Hamilton",shortCode:"03"},{name:"Devonshire Parish",shortCode:"01"},{name:"Hamilton Parish",shortCode:"02"},{name:"Paget Parish",shortCode:"04"},{name:"Pembroke Parish",shortCode:"05"},{name:"Sandys Parish",shortCode:"08"},{name:"Smith's Parish",shortCode:"09"},{name:"Southampton Parish",shortCode:"10"},{name:"St. George's Parish",shortCode:"07"},{name:"Town of St. George",shortCode:"06"},{name:"Warwick Parish",shortCode:"11"}],countryName:"Bhutan",countryShortCode:"BT",regions:[{name:"Bumthang",shortCode:"33"},{name:"Chhukha",shortCode:"12"},{name:"Dagana",shortCode:"22"},{name:"Gasa",shortCode:"GA"},{name:"Haa",shortCode:"13"},{name:"Lhuntse",shortCode:"44"},{name:"Mongar",shortCode:"42"},{name:"Paro",shortCode:"11"},{name:"Pemagatshel",shortCode:"43"},{name:"Punakha",shortCode:"23"},{name:"Samdrup Jongkhar",shortCode:"45"},{name:"Samtse",shortCode:"14"},{name:"Sarpang",shortCode:"31"},{name:"Thimphu",shortCode:"15"},{name:"Trashigang",shortCode:"41"},{name:"Trashiyangtse",shortCode:"TY"},{name:"Trongsa",shortCode:"32"},{name:"Tsirang",shortCode:"21"},{name:"Wangdue Phodrang",shortCode:"24"},{name:"Zhemgang",shortCode:"34"}]},{countryName:"Bolivia",countryShortCode:"BO",regions:[{name:"Beni",shortCode:"B"},{name:"Chuquisaca",shortCode:"H"},{name:"Cochabamba",shortCode:"C"},{name:"La Paz",shortCode:"L"},{name:"Oruro",shortCode:"O"},{name:"Pando",shortCode:"N"},{name:"Potosí",shortCode:"P"},{name:"Santa Cruz",shortCode:"S"},{name:"Tarija",shortCode:"T"}]},{countryName:"Bosnia and Herzegovina",countryShortCode:"BA",regions:[{name:"Brčko Distrikt",shortCode:"BRC"},{name:"Federacija Bosne i Hercegovine",shortCode:"BIH"},{name:"Republika Srpska",shortCode:"SRP"}]},{countryName:"Brazil",countryShortCode:"BR",regions:[{name:"Acre",shortCode:"AC"},{name:"Alagoas",shortCode:"AL"},{name:"Amapá",shortCode:"AP"},{name:"Amazonas",shortCode:"AM"},{name:"Bahia",shortCode:"BA"},{name:"Ceará",shortCode:"CE"},{name:"Distrito Federal",shortCode:"DF"},{name:"Espírito Santo",shortCode:"ES"},{name:"Goiás",shortCode:"GO"},{name:"Maranhão",shortCode:"MA"},{name:"Mato Grosso",shortCode:"MT"},{name:"Mato Grosso do Sul",shortCode:"MS"},{name:"Minas Gerais",shortCode:"MG"},{name:"Pará",shortCode:"PA"},{name:"Paraíba",shortCode:"PB"},{name:"Paraná",shortCode:"PR"},{name:"Pernambuco",shortCode:"PE"},{name:"Piauí",shortCode:"PI"},{name:"Rio de Janeiro",shortCode:"RJ"},{name:"Rio Grande do Norte",shortCode:"RN"},{name:"Rio Grande do Sul",shortCode:"RS"},{name:"Rondônia",shortCode:"RO"},{name:"Roraima",shortCode:"RR"},{name:"Santa Catarina",shortCode:"SC"},{name:"São Paulo",shortCode:"SP"},{name:"Sergipe",shortCode:"SE"},{name:"Tocantins",shortCode:"TO"}]},{countryName:"British Indian Ocean Territory",countryShortCode:"IO",regions:[{name:"British Indian Ocean Territory",shortCode:"IO"}]},{countryName:"Brunei Darussalam",countryShortCode:"BN",regions:[{name:"Belait",shortCode:"BE"},{name:"Brunei Muara",shortCode:"BM"},{name:"Temburong",shortCode:"TE"},{name:"Tutong",shortCode:"TU"}]},{countryName:"Bulgaria",countryShortCode:"BG",regions:[{name:"Blagoevgrad",shortCode:"01"},{name:"Burgas",shortCode:"02"},{name:"Dobrich",shortCode:"08"},{name:"Gabrovo",shortCode:"07"},{name:"Jambol",shortCode:"28"},{name:"Khaskovo",shortCode:"26"},{name:"Kjustendil",shortCode:"10"},{name:"Kurdzhali",shortCode:"09"},{name:"Lovech",shortCode:"11"},{name:"Montana",shortCode:"12"},{name:"Pazardzhik",shortCode:"13"},{name:"Pernik",shortCode:"14"},{name:"Pleven",shortCode:"15"},{name:"Plovdiv",shortCode:"16"},{name:"Razgrad",shortCode:"17"},{name:"Ruse",shortCode:"18"},{name:"Shumen",shortCode:"27"},{name:"Silistra",shortCode:"19"},{name:"Sliven",shortCode:"20"},{name:"Smoljan",shortCode:"21"},{name:"Sofija",shortCode:"23"},{name:"Sofija-Grad",shortCode:"22"},{name:"Stara Zagora",shortCode:"24"},{name:"Turgovishhe",shortCode:"25"},{name:"Varna",shortCode:"03"},{name:"Veliko Turnovo",shortCode:"04"},{name:"Vidin",shortCode:"05"},{name:"Vraca",shortCode:"06"}]},{countryName:"Cambodia",countryShortCode:"KH",regions:[{name:"Baat Dambang",shortCode:"2"},{name:"Banteay Mean Chey",shortCode:"1"},{name:"Kampong Chaam",shortCode:"3"},{name:"Kampong Chhnang",shortCode:"4"},{name:"Kampong Spueu",shortCode:"5"},{name:"Kampong Thum",shortCode:"6"},{name:"Kampot",shortCode:"7"},{name:"Kandaal",shortCode:"8"},{name:"Kaoh Kong",shortCode:"9"},{name:"Kracheh",shortCode:"10"},{name:"Krong Kaeb",shortCode:"23"},{name:"Krong Pailin",shortCode:"24"},{name:"Krong Preah Sihanouk",shortCode:"18"},{name:"Mondol Kiri",shortCode:"11"},{name:"Otdar Mean Chey",shortCode:"22"},{name:"Phnom Penh",shortCode:"12"},{name:"Pousaat",shortCode:"15"},{name:"Preah Vihear",shortCode:"13"},{name:"Prey Veaeng",shortCode:"14"},{name:"Rotanah Kiri",shortCode:"16"},{name:"Siem Reab",shortCode:"17"},{name:"Stueng Treng",shortCode:"19"},{name:"Svaay Rieng",shortCode:"20"},{name:"Taakaev",shortCode:"21"},{name:"Tbong Khmum",shortCode:"25"}]},{countryName:"Canada",countryShortCode:"CA",regions:[{name:"Alberta",shortCode:"AB"},{name:"British Columbia",shortCode:"BC"},{name:"Manitoba",shortCode:"MB"},{name:"New Brunswick",shortCode:"NB"},{name:"Newfoundland and Labrador",shortCode:"NL"},{name:"Northwest Territories",shortCode:"NT"},{name:"Nova Scotia",shortCode:"NS"},{name:"Nunavut",shortCode:"NU"},{name:"Ontario",shortCode:"ON"},{name:"Prince Edward Island",shortCode:"PE"},{name:"Quebec",shortCode:"QC"},{name:"Saskatchewan",shortCode:"SK"},{name:"Yukon",shortCode:"YT"}]},{countryName:"Cape Verde",countryShortCode:"CV",regions:[{name:"Boa Vista",shortCode:"BV"},{name:"Brava",shortCode:"BR"},{name:"Calheta de São Miguel",shortCode:"CS"},{name:"Maio",shortCode:"MA"},{name:"Mosteiros",shortCode:"MO"},{name:"Paúl",shortCode:"PA"},{name:"Porto Novo",shortCode:"PN"},{name:"Praia",shortCode:"PR"},{name:"Ribeira Brava",shortCode:"RB"},{name:"Ribeira Grande",shortCode:"RG"},{name:"Sal",shortCode:"SL"},{name:"Santa Catarina",shortCode:"CA"},{name:"Santa Cruz",shortCode:"CR"},{name:"São Domingos",shortCode:"SD"},{name:"São Filipe",shortCode:"SF"},{name:"São Nicolau",shortCode:"SN"},{name:"São Vicente",shortCode:"SV"},{name:"Tarrafal",shortCode:"TA"},{name:"Tarrafal de São Nicolau",shortCode:"TS"}]},{countryName:"Cayman Islands",countryShortCode:"KY",regions:[{name:"Creek"},{name:"Eastern"},{name:"Midland"},{name:"South Town"},{name:"Spot Bay"},{name:"Stake Bay"},{name:"West End"},{name:"Western"}]},{countryName:"Central African Republic",countryShortCode:"CF",regions:[{name:"Bamingui-Bangoran",shortCode:"BB"},{name:"Bangui",shortCode:"BGF"},{name:"Basse-Kotto",shortCode:"BK"},{name:"Haute-Kotto",shortCode:"HK"},{name:"Haut-Mbomou",shortCode:"HM"},{name:"Kémo",shortCode:"KG"},{name:"Lobaye",shortCode:"LB"},{name:"Mambéré-Kadéï",shortCode:"HS"},{name:"Mbomou",shortCode:"MB"},{name:"Nana-Grebizi",shortCode:"10"},{name:"Nana-Mambéré",shortCode:"NM"},{name:"Ombella-M'Poko",shortCode:"MP"},{name:"Ouaka",shortCode:"UK"},{name:"Ouham",shortCode:"AC"},{name:"Ouham Péndé",shortCode:"OP"},{name:"Sangha-Mbaéré",shortCode:"SE"},{name:"Vakaga",shortCode:"VK"}]},{countryName:"Chad",countryShortCode:"TD",regions:[{name:"Bahr el Ghazal",shortCode:"BG"},{name:"Batha",shortCode:"BA"},{name:"Borkou",shortCode:"BO"},{name:"Chari-Baguirmi",shortCode:"CB"},{name:"Ennedi-Est",shortCode:"EE"},{name:"Ennedi-Ouest",shortCode:"EO"},{name:"Guéra",shortCode:"GR"},{name:"Hadjer Lamis",shortCode:"HL"},{name:"Kanem",shortCode:"KA"},{name:"Lac",shortCode:"LC"},{name:"Logone Occidental",shortCode:"LO"},{name:"Logone Oriental",shortCode:"LR"},{name:"Mondoul",shortCode:"MA"},{name:"Mayo-Kébbi-Est",shortCode:"ME"},{name:"Moyen-Chari",shortCode:"MC"},{name:"Ouaddai",shortCode:"OD"},{name:"Salamat",shortCode:"SA"},{name:"Sila",shortCode:"SI"},{name:"Tandjilé",shortCode:"TA"},{name:"Tibesti",shortCode:"TI"},{name:"Ville de Ndjamena",shortCode:"ND"},{name:"Wadi Fira",shortCode:"WF"}]},{countryName:"Chile",countryShortCode:"CL",regions:[{name:"Aisén del General Carlos Ibáñez del Campo",shortCode:"AI"},{name:"Antofagasta",shortCode:"AN"},{name:"Araucanía",shortCode:"AR"},{name:"Arica y Parinacota",shortCode:"AP"},{name:"Atacama",shortCode:"AT"},{name:"Bío-Bío",shortCode:"BI"},{name:"Coquimbo",shortCode:"CO"},{name:"Libertador General Bernardo O'Higgins",shortCode:"LI"},{name:"Los Lagos",shortCode:"LL"},{name:"Los Ríos",shortCode:"LR"},{name:"Magallanes y Antartica Chilena",shortCode:"MA"},{name:"Marga-Marga",shortCode:""},{name:"Maule",shortCode:"ML"},{name:"Ñuble",shortCode:"NB"},{name:"Región Metropolitana de Santiago",shortCode:"RM"},{name:"Tarapacá",shortCode:"TA"},{name:"Valparaíso",shortCode:"VS"}]},{countryName:"China",countryShortCode:"CN",regions:[{name:"Anhui",shortCode:"34"},{name:"Beijing",shortCode:"11"},{name:"Chongqing",shortCode:"50"},{name:"Fujian",shortCode:"35"},{name:"Gansu",shortCode:"62"},{name:"Guangdong",shortCode:"44"},{name:"Guangxi",shortCode:"45"},{name:"Guizhou",shortCode:"52"},{name:"Hainan",shortCode:"46"},{name:"Hebei",shortCode:"13"},{name:"Heilongjiang",shortCode:"23"},{name:"Henan",shortCode:"41"},{name:"Hong Kong",shortCode:"91"},{name:"Hubei",shortCode:"42"},{name:"Hunan",shortCode:"43"},{name:"Inner Mongolia",shortCode:"15"},{name:"Jiangsu",shortCode:"32"},{name:"Jiangxi",shortCode:"36"},{name:"Jilin",shortCode:"22"},{name:"Liaoning",shortCode:"21"},{name:"Macau",shortCode:"92"},{name:"Ningxia",shortCode:"64"},{name:"Qinghai",shortCode:"63"},{name:"Shaanxi",shortCode:"61"},{name:"Shandong",shortCode:"37"},{name:"Shanghai",shortCode:"31"},{name:"Shanxi",shortCode:"14"},{name:"Sichuan",shortCode:"51"},{name:"Tianjin",shortCode:"12"},{name:"Tibet",shortCode:"54"},{name:"Xinjiang",shortCode:"65"},{name:"Yunnan",shortCode:"53"},{name:"Zhejiang",shortCode:"33"}]},{countryName:"Christmas Island",countryShortCode:"CX",regions:[{name:"Christmas Island",shortCode:"CX"}]},{countryName:"Colombia",countryShortCode:"CO",regions:[{name:"Amazonas",shortCode:"AMA"},{name:"Antioquia",shortCode:"ANT"},{name:"Arauca",shortCode:"ARA"},{name:"Archipiélago de San Andrés",shortCode:"SAP"},{name:"Atlántico",shortCode:"ATL"},{name:"Bogotá D.C.",shortCode:"DC"},{name:"Bolívar",shortCode:"BOL"},{name:"Boyacá",shortCode:"BOY"},{name:"Caldas",shortCode:"CAL"},{name:"Caquetá",shortCode:"CAQ"},{name:"Casanare",shortCode:"CAS"},{name:"Cauca",shortCode:"CAU"},{name:"Cesar",shortCode:"CES"},{name:"Chocó",shortCode:"CHO"},{name:"Córdoba",shortCode:"COR"},{name:"Cundinamarca",shortCode:"CUN"},{name:"Guainía",shortCode:"GUA"},{name:"Guaviare",shortCode:"GUV"},{name:"Huila",shortCode:"HUI"},{name:"La Guajira",shortCode:"LAG"},{name:"Magdalena",shortCode:"MAG"},{name:"Meta",shortCode:"MET"},{name:"Nariño",shortCode:"NAR"},{name:"Norte de Santander",shortCode:"NSA"},{name:"Putumayo",shortCode:"PUT"},{name:"Quindío",shortCode:"QUI"},{name:"Risaralda",shortCode:"RIS"},{name:"Santander",shortCode:"SAN"},{name:"Sucre",shortCode:"SUC"},{name:"Tolima",shortCode:"TOL"},{name:"Valle del Cauca",shortCode:"VAC"},{name:"Vaupés",shortCode:"VAU"},{name:"Vichada",shortCode:"VID"}]},{countryName:"Comoros",countryShortCode:"KM",regions:[{name:"Andjazîdja",shortCode:"G"},{name:"Andjouân",shortCode:"A"},{name:"Moûhîlî",shortCode:"M"}]},{countryName:"Congo, Republic of the (Brazzaville)",countryShortCode:"CG",regions:[{name:"Bouenza",shortCode:"11"},{name:"Brazzaville",shortCode:"BZV"},{name:"Cuvette",shortCode:"8"},{name:"Cuvette-Ouest",shortCode:"15"},{name:"Kouilou",shortCode:"5"},{name:"Lékoumou",shortCode:"2"},{name:"Likouala",shortCode:"7"},{name:"Niari",shortCode:"9"},{name:"Plateaux",shortCode:"14"},{name:"Pointe-Noire",shortCode:"16"},{name:"Pool",shortCode:"12"},{name:"Sangha",shortCode:"13"}]},{countryName:"Congo, the Democratic Republic of the (Kinshasa)",countryShortCode:"CD",regions:[{name:"Bandundu",shortCode:"BN"},{name:"Bas-Congo",shortCode:"BC"},{name:"Équateur",shortCode:"EQ"},{name:"Kasaï-Occidental",shortCode:"KE"},{name:"Kasaï-Oriental",shortCode:"KW"},{name:"Katanga",shortCode:"KA"},{name:"Kinshasa",shortCode:"KN"},{name:"Maniema",shortCode:"MA"},{name:"Nord-Kivu",shortCode:"NK"},{name:"Orientale",shortCode:"OR"},{name:"Sud-Kivu",shortCode:"SK"}]},{countryName:"Cook Islands",countryShortCode:"CK",regions:[{name:"Aitutaki"},{name:"Atiu"},{name:"Avarua"},{name:"Mangaia"},{name:"Manihiki"},{name:"Ma'uke"},{name:"Mitiaro"},{name:"Nassau"},{name:"Palmerston"},{name:"Penrhyn"},{name:"Pukapuka"},{name:"Rakahanga"}]},{countryName:"Costa Rica",countryShortCode:"CR",regions:[{name:"Alajuela",shortCode:"2"},{name:"Cartago",shortCode:"3"},{name:"Guanacaste",shortCode:"5"},{name:"Heredia",shortCode:"4"},{name:"Limón",shortCode:"7"},{name:"Puntarenas",shortCode:"6"},{name:"San José",shortCode:"1"}]},{countryName:"Côte d'Ivoire, Republic of",countryShortCode:"CI",regions:[{name:"Agnéby",shortCode:"16"},{name:"Bafing",shortCode:"17"},{name:"Bas-Sassandra",shortCode:"09"},{name:"Denguélé",shortCode:"10"},{name:"Dix-Huit Montagnes",shortCode:"06"},{name:"Fromager",shortCode:"18"},{name:"Haut-Sassandra",shortCode:"02"},{name:"Lacs",shortCode:"07"},{name:"Lagunes",shortCode:"01"},{name:"Marahoué",shortCode:"12"},{name:"Moyen-Cavally",shortCode:"19"},{name:"Moyen-Comoé",shortCode:"05"},{name:"N'zi-Comoé",shortCode:"11"},{name:"Savanes",shortCode:"03"},{name:"Sud-Bandama",shortCode:"15"},{name:"Sud-Comoé",shortCode:"13"},{name:"Vallée du Bandama",shortCode:"04"},{name:"Worodougou",shortCode:"14"},{name:"Zanzan",shortCode:"08"}]},{countryName:"Croatia",countryShortCode:"HR",regions:[{name:"Bjelovarsko-bilogorska županija",shortCode:"Bjelovarsko-bilogorska županija"},{name:"Brodsko-posavska županija",shortCode:"Brodsko-posavska županija"},{name:"Dubrovačko-neretvanska županija",shortCode:"Dubrovačko-neretvanska županija"},{name:"Grad Zagreb",shortCode:"Grad Zagreb"},{name:"Istarska županija",shortCode:"Istarska županija"},{name:"Karlovačka županija",shortCode:"Karlovačka županija"},{name:"Koprivničko-križevačka županija",shortCode:"Koprivničko-križevačka županija"},{name:"Krapinsko-zagorska županija",shortCode:"Krapinsko-zagorska županija"},{name:"Ličko-senjska županija",shortCode:"Ličko-senjska županija"},{name:"Međimurska županija",shortCode:"Međimurska županija"},{name:"Osječko-baranjska županija",shortCode:"Osijek-Baranja County"},{name:"Požeško-slavonska županija",shortCode:"Požeško-slavonska županija"},{name:"Primorsko-goranska županija",shortCode:"Primorsko-goranska županija"},{name:"Sisačko-moslavačka županija",shortCode:"Sisačko-moslavačka županija"},{name:"Splitsko-dalmatinska županija",shortCode:"Splitsko-dalmatinska županija"},{name:"Šibensko-kninska županija",shortCode:"Šibensko-kninska županija"},{name:"Varaždinska županija",shortCode:"Varaždinska županija"},{name:"Virovitičko-podravska županija",shortCode:"Virovitičko-podravska županija"},{name:"Vukovarsko-srijemska županija",shortCode:"Vukovarsko-srijemska županija"},{name:"Zadarska županija",shortCode:"Zadarska županija"},{name:"Zagrebačka županija",shortCode:"Zagrebačka županija"}]},{countryName:"Cuba",countryShortCode:"CU",regions:[{name:"Artemisa",shortCode:"15"},{name:"Camagüey",shortCode:"09"},{name:"Ciego de Ávila",shortCode:"08"},{name:"Cienfuegos",shortCode:"06"},{name:"Granma",shortCode:"12"},{name:"Guantánamo",shortCode:"14"},{name:"Holguín",shortCode:"11"},{name:"Isla de la Juventud",shortCode:"99"},{name:"La Habana",shortCode:"03"},{name:"Las Tunas",shortCode:"10"},{name:"Matanzas",shortCode:"04"},{name:"Mayabeque",shortCode:"16"},{name:"Pinar del Río",shortCode:"01"},{name:"Sancti Spíritus",shortCode:"07"},{name:"Santiago de Cuba",shortCode:"13"},{name:"Villa Clara",shortCode:"05"}]},{countryName:"Curaçao",countryShortCode:"CW",regions:[{name:"Curaçao",shortCode:"CW"}]},{countryName:"Cyprus",countryShortCode:"CY",regions:[{name:"Ammochostos",shortCode:"Famagusta"},{name:"Keryneia",shortCode:"05"},{name:"Larnaka",shortCode:"Larnaca"},{name:"Lefkosia",shortCode:"Nicosia"},{name:"Lemesos",shortCode:"Limassol"},{name:"Pafos",shortCode:"Paphos"}]},{countryName:"Czech Republic",countryShortCode:"CZ",regions:[{name:"Hlavní město Praha",shortCode:"Hlavní město Praha"},{name:"Jihočeský kraj",shortCode:"Jihočeský kraj"},{name:"Jihomoravský kraj",shortCode:"Jihomoravský kraj"},{name:"Karlovarský kraj",shortCode:"Karlovarský kraj"},{name:"Královéhradecký kraj",shortCode:"Královéhradecký kraj"},{name:"Liberecký kraj",shortCode:"Liberecký kraj"},{name:"Moravskoslezský kraj",shortCode:"Moravskoslezský kraj"},{name:"Olomoucký kraj",shortCode:"Olomoucký kraj"},{name:"Pardubický kraj",shortCode:"Pardubický kraj"},{name:"Plzeňský kraj",shortCode:"Plzeňský kraj"},{name:"Středočeský kraj",shortCode:"Středočeský kraj"},{name:"Ústecký kraj",shortCode:"Ústecký kraj"},{name:"Vysočina",shortCode:"Kraj Vysočina"},{name:"Zlínský kraj",shortCode:"Zlínský kraj"}]},{countryName:"Denmark",countryShortCode:"DK",regions:[{name:"Hovedstaden",shortCode:"84"},{name:"Kujalleq",shortCode:"GL-KU"},{name:"Midtjylland",shortCode:"82"},{name:"Norderøerne",shortCode:"FO-01"},{name:"Nordjylland",shortCode:"81"},{name:"Østerø",shortCode:"FO-06"},{name:"Qaasuitsup",shortCode:"GL-QA"},{name:"Qeqqata",shortCode:"GL-QE"},{name:"Sandø",shortCode:"FO-02"},{name:"Sermersooq",shortCode:"GL-SM"},{name:"Sjælland",shortCode:"85"},{name:"Strømø",shortCode:"FO-03"},{name:"Suderø",shortCode:"FO-04"},{name:"Syddanmark",shortCode:"83"},{name:"Vågø",shortCode:"FO-05"}]},{countryName:"Djibouti",countryShortCode:"DJ",regions:[{name:"Ali Sabieh",shortCode:"AS"},{name:"Arta",shortCode:"AR"},{name:"Dikhil",shortCode:"DI"},{name:"Obock",shortCode:"OB"},{name:"Tadjourah",shortCode:"TA"}]},{countryName:"Dominica",countryShortCode:"DM",regions:[{name:"Saint Andrew Parish",shortCode:"02"},{name:"Saint David Parish",shortCode:"03"},{name:"Saint George Parish",shortCode:"04"},{name:"Saint John Parish",shortCode:"05"},{name:"Saint Joseph Parish",shortCode:"06"},{name:"Saint Luke Parish",shortCode:"07"},{name:"Saint Mark Parish",shortCode:"08"},{name:"Saint Patrick Parish",shortCode:"09"},{name:"Saint Paul Parish",shortCode:"10"},{name:"Saint Peter Parish",shortCode:"11"}]},{countryName:"Dominican Republic",countryShortCode:"DO",regions:[{name:"Cibao Central",shortCode:"02"},{name:"Del Valle",shortCode:"37"},{name:"Distrito Nacional",shortCode:"01"},{name:"Enriquillo",shortCode:"38"},{name:"Norcentral",shortCode:"04"},{name:"Nordeste",shortCode:"34"},{name:"Noroeste",shortCode:"34"},{name:"Norte",shortCode:"35"},{name:"Valdesia",shortCode:"42"}]},{countryName:"Ecuador",countryShortCode:"EC",regions:[{name:"Azuay",shortCode:"A"},{name:"Bolívar",shortCode:"B"},{name:"Cañar",shortCode:"F"},{name:"Carchi",shortCode:"C"},{name:"Chimborazo",shortCode:"H"},{name:"Cotopaxi",shortCode:"X"},{name:"El Oro",shortCode:"O"},{name:"Esmeraldas",shortCode:"E"},{name:"Galápagos",shortCode:"W"},{name:"Guayas",shortCode:"G"},{name:"Imbabura",shortCode:"I"},{name:"Loja",shortCode:"L"},{name:"Los Ríos",shortCode:"R"},{name:"Manabí",shortCode:"M"},{name:"Morona-Santiago",shortCode:"S"},{name:"Napo",shortCode:"N"},{name:"Orellana",shortCode:"D"},{name:"Pastaza",shortCode:"Y"},{name:"Pichincha",shortCode:"P"},{name:"Santa Elena",shortCode:"SE"},{name:"Santo Domingo de los Tsáchilas",shortCode:"SD"},{name:"Sucumbíos",shortCode:"U"},{name:"Tungurahua",shortCode:"T"},{name:"Zamora-Chinchipe",shortCode:"Z"}]},{countryName:"Egypt",countryShortCode:"EG",regions:[{name:"Alexandria",shortCode:"ALX"},{name:"Aswan",shortCode:"ASN"},{name:"Asyout",shortCode:"AST"},{name:"Bani Sueif",shortCode:"BNS"},{name:"Beheira",shortCode:"BH"},{name:"Cairo",shortCode:"C"},{name:"Daqahlia",shortCode:"DK"},{name:"Dumiat",shortCode:"DT"},{name:"El Bahr El Ahmar",shortCode:"BA"},{name:"El Ismailia",shortCode:"IS"},{name:"El Suez",shortCode:"SUZ"},{name:"El Wadi El Gedeed",shortCode:"WAD"},{name:"Fayoum",shortCode:"FYM"},{name:"Gharbia",shortCode:"GH"},{name:"Giza",shortCode:"SUZ"},{name:"Helwan",shortCode:"HU"},{name:"Kafr El Sheikh",shortCode:"KFS"},{name:"Luxor",shortCode:"LX"},{name:"Matrouh",shortCode:"MT"},{name:"Menia",shortCode:"MN"},{name:"Menofia",shortCode:"MNF"},{name:"North Sinai",shortCode:"SIN"},{name:"Port Said",shortCode:"PTS"},{name:"Qalubia",shortCode:"KB"},{name:"Qena",shortCode:"KN"},{name:"Sharqia",shortCode:"SHR"},{name:"Sixth of October",shortCode:"SU"},{name:"Sohag",shortCode:"SHG"},{name:"South Sinai",shortCode:"JS"}]},{countryName:"El Salvador",countryShortCode:"SV",regions:[{name:"Ahuachapán",shortCode:"AH"},{name:"Cabañas",shortCode:"CA"},{name:"Cuscatlán",shortCode:"CU"},{name:"Chalatenango",shortCode:"CH"},{name:"La Libertad",shortCode:"LI"},{name:"La Paz",shortCode:"PA"},{name:"La Unión",shortCode:"UN"},{name:"Morazán",shortCode:"MO"},{name:"San Miguel",shortCode:"SM"},{name:"San Salvador",shortCode:"SS"},{name:"Santa Ana",shortCode:"SA"},{name:"San Vicente",shortCode:"SV"},{name:"Sonsonate",shortCode:"SO"},{name:"Usulután",shortCode:"US"}]},{countryName:"Equatorial Guinea",countryShortCode:"GQ",regions:[{name:"Annobón",shortCode:"AN"},{name:"Bioko Norte",shortCode:"BN"},{name:"Bioko Sur",shortCode:"BS"},{name:"Centro Sur",shortCode:"CS"},{name:"Kié-Ntem",shortCode:"KN"},{name:"Litoral",shortCode:"LI"},{name:"Wele-Nzas",shortCode:"WN"}]},{countryName:"Eritrea",countryShortCode:"ER",regions:[{name:"Anseba",shortCode:"AN"},{name:"Debub",shortCode:"DU"},{name:"Debub-Keih-Bahri",shortCode:"DK"},{name:"Gash-Barka",shortCode:"GB"},{name:"Maekel",shortCode:"MA"},{name:"Semien-Keih-Bahri",shortCode:"SK"}]},{countryName:"Estonia",countryShortCode:"EE",regions:[{name:"Harjumaa (Tallinn)",shortCode:"Harju County"},{name:"Hiiumaa (Kardla)",shortCode:"Hiiu County"},{name:"Ida-Virumaa (Johvi)",shortCode:"Ida-Viru County"},{name:"Järvamaa (Paide)",shortCode:"Järva County"},{name:"Jõgevamaa (Jogeva)",shortCode:"Jõgeva County"},{name:"Läänemaa",shortCode:"Lääne County"},{name:"Lääne-Virumaa (Rakvere)",shortCode:"Lääne-Viru County"},{name:"Pärnumaa (Parnu)",shortCode:"Pärnu County"},{name:"Põlvamaa (Polva)",shortCode:"Põlva County"},{name:"Raplamaa (Rapla)",shortCode:"Rapla County"},{name:"Saaremaa (Kuessaare)",shortCode:"Saare County"},{name:"Tartumaa (Tartu)",shortCode:"Tartu County"},{name:"Valgamaa (Valga)",shortCode:"Valga County"},{name:"Viljandimaa (Viljandi)",shortCode:"Viljandi County"},{name:"Võrumaa (Voru)",shortCode:"Võru County"}]},{countryName:"Ethiopia",countryShortCode:"ET",regions:[{name:"Addis Ababa",shortCode:"AA"},{name:"Afar",shortCode:"AF"},{name:"Amhara",shortCode:"AM"},{name:"Benshangul-Gumaz",shortCode:"BE"},{name:"Dire Dawa",shortCode:"DD"},{name:"Gambela",shortCode:"GA"},{name:"Harari",shortCode:"HA"},{name:"Oromia",shortCode:"OR"},{name:"Somali",shortCode:"SO"},{name:"Southern Nations Nationalities and People's Region",shortCode:"SN"},{name:"Tigray",shortCode:"TI"}]},{countryName:"Falkland Islands (Islas Malvinas)",countryShortCode:"FK",regions:[{name:"Falkland Islands (Islas Malvinas)"}]},{countryName:"Faroe Islands",countryShortCode:"FO",regions:[{name:"Bordoy"},{name:"Eysturoy"},{name:"Mykines"},{name:"Sandoy"},{name:"Skuvoy"},{name:"Streymoy"},{name:"Suduroy"},{name:"Tvoroyri"},{name:"Vagar"}]},{countryName:"Fiji",countryShortCode:"FJ",regions:[{name:"Ba",shortCode:"01"},{name:"Bua",shortCode:"01"},{name:"Cakaudrove",shortCode:"03"},{name:"Kadavu",shortCode:"04"},{name:"Lau",shortCode:"05"},{name:"Lomaiviti",shortCode:"06"},{name:"Macuata",shortCode:"07"},{name:"Nadroga and Navosa",shortCode:"08"},{name:"Naitasiri",shortCode:"09"},{name:"Namosi",shortCode:"10"},{name:"Ra",shortCode:"011"},{name:"Rewa",shortCode:"12"},{name:"Rotuma",shortCode:"R"},{name:"Serua",shortCode:"12"},{name:"Tailevu",shortCode:"14"}]},{countryName:"Finland",countryShortCode:"FI",regions:[{name:"Ahvenanmaan maakunta",shortCode:"FI-01"},{name:"Etelä-Karjala",shortCode:"FI-02"},{name:"Etelä-Pohjanmaa",shortCode:"FI-03"},{name:"Etelä-Savo",shortCode:"FI-04"},{name:"Kainuu",shortCode:"FI-05"},{name:"Kanta-Häme",shortCode:"FI-06"},{name:"Keski-Pohjanmaa",shortCode:"FI-07"},{name:"Keski-Suomi",shortCode:"FI-08"},{name:"Kymenlaakso",shortCode:"FI-09"},{name:"Lappi",shortCode:"FI-10"},{name:"Pirkanmaa",shortCode:"FI-11"},{name:"Pohjanmaa",shortCode:"FI-12"},{name:"Pohjois-Karjala",shortCode:"FI-13"},{name:"Pohjois-Pohjanmaa",shortCode:"FI-14"},{name:"Pohjois-Savo",shortCode:"FI-15"},{name:"Päijät-Häme",shortCode:"FI-16"},{name:"Satakunta",shortCode:"FI-17"},{name:"Uusimaa",shortCode:"FI-18"},{name:"Varsinais-Suomi",shortCode:"FI-19"}]},{countryName:"France",countryShortCode:"FR",regions:[{name:"Auvergne-Rhône-Alpes",shortCode:"ARA"},{name:"Bourgogne-Franche-Comté",shortCode:"BFC"},{name:"Bretagne",shortCode:"BRE"},{name:"Centre-Val de Loire",shortCode:"CVL"},{name:"Corse",shortCode:"COR"},{name:"Grand Est",shortCode:"GES"},{name:"Hauts-de-France",shortCode:"HDF"},{name:"Île-de-France",shortCode:"IDF"},{name:"Normandie",shortCode:"NOR"},{name:"Nouvelle-Aquitaine",shortCode:"NAQ"},{name:"Occitanie",shortCode:"OCC"},{name:"Pays de la Loire",shortCode:"PDL"},{name:"Provence-Alpes-Côte d'Azur",shortCode:"PAC"},{name:"Clipperton",shortCode:"CP"},{name:"Guadeloupe",shortCode:"GP"},{name:"Guyane",shortCode:"GF"},{name:"Martinique",shortCode:"MQ"},{name:"Mayotte",shortCode:"YT"},{name:"Novelle-Calédonie",shortCode:"NC"},{name:"Polynésie",shortCode:"PF"},{name:"Saint-Pierre-et-Miquelon",shortCode:"PM"},{name:"Saint Barthélemy",shortCode:"BL"},{name:"Saint Martin",shortCode:"MF"},{name:"Réunion",shortCode:"RE"},{name:"Terres Australes Françaises",shortCode:"TF"},{name:"Wallis-et-Futuna",shortCode:"WF"}]},{countryName:"French Guiana",countryShortCode:"GF",regions:[{name:"French Guiana"}]},{countryName:"French Polynesia",countryShortCode:"PF",regions:[{name:"Archipel des Marquises"},{name:"Archipel des Tuamotu"},{name:"Archipel des Tubuai"},{name:"Iles du Vent"},{name:"Iles Sous-le-Vent"}]},{countryName:"French Southern and Antarctic Lands",countryShortCode:"TF",regions:[{name:"Adelie Land"},{name:"Ile Crozet"},{name:"Iles Kerguelen"},{name:"Iles Saint-Paul et Amsterdam"}]},{countryName:"Gabon",countryShortCode:"GA",regions:[{name:"Estuaire",shortCode:"1"},{name:"Haut-Ogooué",shortCode:"2"},{name:"Moyen-Ogooué",shortCode:"3"},{name:"Ngounié",shortCode:"4"},{name:"Nyanga",shortCode:"5"},{name:"Ogooué-Ivindo",shortCode:"6"},{name:"Ogooué-Lolo",shortCode:"7"},{name:"Ogooué-Maritime",shortCode:"8"},{name:"Woleu-Ntem",shortCode:"9"}]},{countryName:"Gambia, The",countryShortCode:"GM",regions:[{name:"Banjul",shortCode:"B"},{name:"Central River",shortCode:"M"},{name:"Lower River",shortCode:"L"},{name:"North Bank",shortCode:"N"},{name:"Upper River",shortCode:"U"},{name:"Western",shortCode:"W"}]},{countryName:"Georgia",countryShortCode:"GE",regions:[{name:"Abkhazia (Sokhumi)",shortCode:"AB"},{name:"Ajaria (Bat'umi)",shortCode:"AJ"},{name:"Guria",shortCode:"GU"},{name:"Imereti",shortCode:"IM"},{name:"K'akheti",shortCode:"KA"},{name:"Kvemo Kartli",shortCode:"KK"},{name:"Mtshkheta-Mtianeti",shortCode:"MM"},{name:"Rach'a-Lexhkumi-KvemoSvaneti",shortCode:"RL"},{name:"Samegrelo-Zemo Svaneti",shortCode:"SZ"},{name:"Samtskhe-Javakheti",shortCode:"SJ"},{name:"Shida Kartli",shortCode:"SK"},{name:"Tbilisi",shortCode:"TB"}]},{countryName:"Germany",countryShortCode:"DE",regions:[{name:"Baden-Württemberg",shortCode:"Baden-Württemberg"},{name:"Bayern",shortCode:"Bayern"},{name:"Berlin",shortCode:"Berlin"},{name:"Brandenburg",shortCode:"Brandenburg"},{name:"Bremen",shortCode:"Brandenburg"},{name:"Hamburg",shortCode:"Hamburg"},{name:"Hessen",shortCode:"Hessen"},{name:"Mecklenburg-Vorpommern",shortCode:"Mecklenburg-Vorpommern"},{name:"Niedersachsen",shortCode:"Niedersachsen"},{name:"Nordrhein-Westfalen",shortCode:"Nordrhein-Westfalen"},{name:"Rheinland-Pfalz",shortCode:"Rheinland-Pfalz"},{name:"Saarland",shortCode:"Saarland"},{name:"Sachsen",shortCode:"Sachsen"},{name:"Sachsen-Anhalt",shortCode:"Sachsen-Anhalt"},{name:"Schleswig-Holstein",shortCode:"Schleswig-Holstein"},{name:"Thüringen",shortCode:"Thüringen"}]},{countryName:"Ghana",countryShortCode:"GH",regions:[{name:"Ahafo"},{name:"Ashanti",shortCode:"AH"},{name:"Bono"},{name:"Bono East"},{name:"Central",shortCode:"CP"},{name:"Eastern",shortCode:"EP"},{name:"Greater Accra",shortCode:"AA"},{name:"Northern",shortCode:"NP"},{name:"North East"},{name:"Oti"},{name:"Savannah"},{name:"Upper East",shortCode:"UE"},{name:"Upper West",shortCode:"UW"},{name:"Volta",shortCode:"TV"},{name:"Western",shortCode:"WP"},{name:"Western North"}]},{countryName:"Gibraltar",countryShortCode:"GI",regions:[{name:"Gibraltar"}]},{countryName:"Greece",countryShortCode:"GR",regions:[{name:"Anatolikí Makedonía kai Thráki",shortCode:"A"},{name:"Attikḯ",shortCode:"I"},{name:"Dytikí Elláda",shortCode:"G"},{name:"Dytikí Makedonía",shortCode:"C"},{name:"Ionía Nísia",shortCode:"F"},{name:"Kentrikí Makedonía",shortCode:"B"},{name:"Krítí",shortCode:"M"},{name:"Notío Aigaío",shortCode:"L"},{name:"Peloponnísos",shortCode:"J"},{name:"Stereá Elláda",shortCode:"H"},{name:"Thessalía",shortCode:"E"},{name:"Voreío Aigaío",shortCode:"K"},{name:"Ípeiros",shortCode:"D"},{name:"Ágion Óros",shortCode:"69"}]},{countryName:"Greenland",countryShortCode:"GL",regions:[{name:"Kommune Kujalleq",shortCode:"KU"},{name:"Kommuneqarfik Sermersooq",shortCode:"SM"},{name:"Qaasuitsup Kommunia",shortCode:"QA"},{name:"Qeqqata Kommunia",shortCode:"QE"}]},{countryName:"Grenada",countryShortCode:"GD",regions:[{name:"Saint Andrew",shortCode:"01"},{name:"Saint David",shortCode:"02"},{name:"Saint George",shortCode:"03"},{name:"Saint John",shortCode:"04"},{name:"Saint Mark",shortCode:"05"},{name:"Saint Patrick",shortCode:"06"},{name:"Southern Grenadine Islands",shortCode:"10"}]},{countryName:"Guadeloupe",countryShortCode:"GP",regions:[{name:"Guadeloupe"}]},{countryName:"Guam",countryShortCode:"GU",regions:[{name:"Guam"}]},{countryName:"Guatemala",countryShortCode:"GT",regions:[{name:"Alta Verapaz",shortCode:"AV"},{name:"Baja Verapaz",shortCode:"BV"},{name:"Chimaltenango",shortCode:"CM"},{name:"Chiquimula",shortCode:"CQ"},{name:"El Progreso",shortCode:"PR"},{name:"Escuintla",shortCode:"ES"},{name:"Guatemala",shortCode:"GU"},{name:"Huehuetenango",shortCode:"HU"},{name:"Izabal",shortCode:"IZ"},{name:"Jalapa",shortCode:"JA"},{name:"Jutiapa",shortCode:"JU"},{name:"Petén",shortCode:"PE"},{name:"Quetzaltenango",shortCode:"QZ"},{name:"Quiché",shortCode:"QC"},{name:"Retalhuleu",shortCode:"Re"},{name:"Sacatepéquez",shortCode:"SA"},{name:"San Marcos",shortCode:"SM"},{name:"Santa Rosa",shortCode:"SR"},{name:"Sololá",shortCode:"SO"},{name:"Suchitepéquez",shortCode:"SU"},{name:"Totonicapán",shortCode:"TO"},{name:"Zacapa",shortCode:"ZA"}]},{countryName:"Guernsey",countryShortCode:"GG",regions:[{name:"Castel"},{name:"Forest"},{name:"St. Andrew"},{name:"St. Martin"},{name:"St. Peter Port"},{name:"St. Pierre du Bois"},{name:"St. Sampson"},{name:"St. Saviour"},{name:"Torteval"},{name:"Vale"}]},{countryName:"Guinea",countryShortCode:"GN",regions:[{name:"Boké",shortCode:"B"},{name:"Conakry",shortCode:"C"},{name:"Faranah",shortCode:"F"},{name:"Kankan",shortCode:"K"},{name:"Kindia",shortCode:"D"},{name:"Labé",shortCode:"L"},{name:"Mamou",shortCode:"M"},{name:"Nzérékoré",shortCode:"N"}]},{countryName:"Guinea-Bissau",countryShortCode:"GW",regions:[{name:"Bafatá",shortCode:"BA"},{name:"Biombo",shortCode:"BM"},{name:"Bissau",shortCode:"BS"},{name:"Bolama-Bijagos",shortCode:"BL"},{name:"Cacheu",shortCode:"CA"},{name:"Gabú",shortCode:"GA"},{name:"Oio",shortCode:"OI"},{name:"Quinara",shortCode:"QU"},{name:"Tombali",shortCode:"TO"}]},{countryName:"Guyana",countryShortCode:"GY",regions:[{name:"Barima-Waini",shortCode:"BA"},{name:"Cuyuni-Mazaruni",shortCode:"CU"},{name:"Demerara-Mahaica",shortCode:"DE"},{name:"East Berbice-Corentyne",shortCode:"EB"},{name:"Essequibo Islands-West Demerara",shortCode:"ES"},{name:"Mahaica-Berbice",shortCode:"MA"},{name:"Pomeroon-Supenaam",shortCode:"PM"},{name:"Potaro-Siparuni",shortCode:"PT"},{name:"Upper Demerara-Berbice",shortCode:"UD"},{name:"Upper Takutu-Upper Essequibo",shortCode:"UT"}]},{countryName:"Haiti",countryShortCode:"HT",regions:[{name:"Artibonite",shortCode:"AR"},{name:"Centre",shortCode:"CE"},{name:"Grand'Anse",shortCode:"GA"},{name:"Nippes",shortCode:"NI"},{name:"Nord",shortCode:"ND"},{name:"Nord-Est",shortCode:"NE"},{name:"Nord-Ouest",shortCode:"NO"},{name:"Ouest",shortCode:"OU"},{name:"Sud",shortCode:"SD"},{name:"Sud-Est",shortCode:"SE"}]},{countryName:"Heard Island and McDonald Islands",countryShortCode:"HM",regions:[{name:"Heard Island and McDonald Islands"}]},{countryName:"Holy See (Vatican City)",countryShortCode:"VA",regions:[{name:"Holy See (Vatican City)",shortCode:"VA"}]},{countryName:"Honduras",countryShortCode:"HN",regions:[{name:"Atlántida",shortCode:"AT"},{name:"Choluteca",shortCode:"CH"},{name:"Colón",shortCode:"CL"},{name:"Comayagua",shortCode:"CM"},{name:"Copán",shortCode:"CP"},{name:"Cortés",shortCode:"CR"},{name:"El Paraíso",shortCode:"EP"},{name:"Francisco Morazan",shortCode:"FM"},{name:"Gracias a Dios",shortCode:"GD"},{name:"Intibucá",shortCode:"IN"},{name:"Islas de la Bahía",shortCode:"IB"},{name:"La Paz",shortCode:"LP"},{name:"Lempira",shortCode:"LE"},{name:"Ocotepeque",shortCode:"OC"},{name:"Olancho",shortCode:"OL"},{name:"Santa Bárbara",shortCode:"SB"},{name:"Valle",shortCode:"VA"},{name:"Yoro",shortCode:"YO"}]},{countryName:"Hong Kong",countryShortCode:"HK",regions:[{name:"Hong Kong",shortCode:"HK"}]},{countryName:"Hungary",countryShortCode:"HU",regions:[{name:"Bács-Kiskun",shortCode:"BK"},{name:"Baranya",shortCode:"BA"},{name:"Békés",shortCode:"BE"},{name:"Békéscsaba",shortCode:"BC"},{name:"Borsod-Abauj-Zemplen",shortCode:"BZ"},{name:"Budapest",shortCode:"BU"},{name:"Csongrád",shortCode:"CS"},{name:"Debrecen",shortCode:"DE"},{name:"Dunaújváros",shortCode:"DU"},{name:"Eger",shortCode:"EG"},{name:"Érd",shortCode:"ER"},{name:"Fejér",shortCode:"FE"},{name:"Győr",shortCode:"GY"},{name:"Győr-Moson-Sopron",shortCode:"GS"},{name:"Hajdú-Bihar",shortCode:"HB"},{name:"Heves",shortCode:"HE"},{name:"Hódmezővásárhely",shortCode:"HV"},{name:"Jász-Nagykun-Szolnok",shortCode:"N"},{name:"Kaposvár",shortCode:"KV"},{name:"Kecskemét",shortCode:"KM"},{name:"Komárom-Esztergom",shortCode:"KE"},{name:"Miskolc",shortCode:"MI"},{name:"Nagykanizsa",shortCode:"NK"},{name:"Nógrád",shortCode:"NO"},{name:"Nyíregyháza",shortCode:"NY"},{name:"Pécs",shortCode:"PS"},{name:"Pest",shortCode:"PE"},{name:"Salgótarján",shortCode:"ST"},{name:"Somogy",shortCode:"SO"},{name:"Sopron",shortCode:"SN"},{name:"Szabolcs-á-Bereg",shortCode:"SZ"},{name:"Szeged",shortCode:"SD"},{name:"Székesfehérvár",shortCode:"SF"},{name:"Szekszárd",shortCode:"SS"},{name:"Szolnok",shortCode:"SK"},{name:"Szombathely",shortCode:"SH"},{name:"Tatabánya",shortCode:"TB"},{name:"Tolna",shortCode:"TO"},{name:"Vas",shortCode:"VA"},{name:"Veszprém",shortCode:"VE"},{name:"Veszprém (City)",shortCode:"VM"},{name:"Zala",shortCode:"ZA"},{name:"Zalaegerszeg",shortCode:"ZE"}]},{countryName:"Iceland",countryShortCode:"IS",regions:[{name:"Austurland",shortCode:"7"},{name:"Höfuðborgarsvæði utan Reykjavíkur",shortCode:"1"},{name:"Norðurland eystra",shortCode:"6"},{name:"Norðurland vestra",shortCode:"5"},{name:"Suðurland",shortCode:"8"},{name:"Suðurnes",shortCode:"2"},{name:"Vestfirðir",shortCode:"4"},{name:"Vesturland",shortCode:"3"}]},{countryName:"India",countryShortCode:"IN",regions:[{name:"Andaman and Nicobar Islands",shortCode:"AN"},{name:"Andhra Pradesh",shortCode:"AP"},{name:"Arunachal Pradesh",shortCode:"AR"},{name:"Assam",shortCode:"AS"},{name:"Bihar",shortCode:"BR"},{name:"Chandigarh",shortCode:"CH"},{name:"Chhattisgarh",shortCode:"CT"},{name:"Dadra and Nagar Haveli",shortCode:"DN"},{name:"Daman and Diu",shortCode:"DD"},{name:"Delhi",shortCode:"DL"},{name:"Goa",shortCode:"GA"},{name:"Gujarat",shortCode:"GJ"},{name:"Haryana",shortCode:"HR"},{name:"Himachal Pradesh",shortCode:"HP"},{name:"Jammu and Kashmir",shortCode:"JK"},{name:"Jharkhand",shortCode:"JH"},{name:"Karnataka",shortCode:"KA"},{name:"Kerala",shortCode:"KL"},{name:"Lakshadweep",shortCode:"LD"},{name:"Madhya Pradesh",shortCode:"MP"},{name:"Maharashtra",shortCode:"MH"},{name:"Manipur",shortCode:"MN"},{name:"Meghalaya",shortCode:"ML"},{name:"Mizoram",shortCode:"MZ"},{name:"Nagaland",shortCode:"NL"},{name:"Odisha",shortCode:"OR"},{name:"Puducherry",shortCode:"PY"},{name:"Punjab",shortCode:"PB"},{name:"Rajasthan",shortCode:"RJ"},{name:"Sikkim",shortCode:"WK"},{name:"Tamil Nadu",shortCode:"TN"},{name:"Telangana",shortCode:"TG"},{name:"Tripura",shortCode:"TR"},{name:"Uttarakhand",shortCode:"UT"},{name:"Uttar Pradesh",shortCode:"UP"},{name:"West Bengal",shortCode:"WB"}]},{countryName:"Indonesia",countryShortCode:"ID",regions:[{name:"Aceh",shortCode:"AC"},{name:"Bali",shortCode:"BA"},{name:"Bangka Belitung",shortCode:"BB"},{name:"Banten",shortCode:"BT"},{name:"Bengkulu",shortCode:"BE"},{name:"Gorontalo",shortCode:"GO"},{name:"Jakarta Raya",shortCode:"JK"},{name:"Jambi",shortCode:"JA"},{name:"Jawa Barat",shortCode:"JB"},{name:"Jawa Tengah",shortCode:"JT"},{name:"Jawa Timur",shortCode:"JI"},{name:"Kalimantan Barat",shortCode:"KB"},{name:"Kalimantan Selatan",shortCode:"KS"},{name:"Kalimantan Tengah",shortCode:"KT"},{name:"Kalimantan Timur",shortCode:"KI"},{name:"Kalimantan Utara",shortCode:"KU"},{name:"Kepulauan Riau",shortCode:"KR"},{name:"Lampung",shortCode:"LA"},{name:"Maluku",shortCode:"MA"},{name:"Maluku Utara",shortCode:"MU"},{name:"Nusa Tenggara Barat",shortCode:"NB"},{name:"Nusa Tenggara Timur",shortCode:"NT"},{name:"Papua",shortCode:"PA"},{name:"Papua Barat",shortCode:"PB"},{name:"Riau",shortCode:"RI"},{name:"Sulawesi Selatan",shortCode:"SR"},{name:"Sulawesi Tengah",shortCode:"ST"},{name:"Sulawesi Tenggara",shortCode:"SG"},{name:"Sulawesi Utara",shortCode:"SA"},{name:"Sumatera Barat",shortCode:"SB"},{name:"Sumatera Selatan",shortCode:"SS"},{name:"Sumatera Utara",shortCode:"SU"},{name:"Yogyakarta",shortCode:"YO"}]},{countryName:"Iran, Islamic Republic of",countryShortCode:"IR",regions:[{name:"Alborz",shortCode:"32"},{name:"Ardabīl",shortCode:"03"},{name:"Āz̄arbāyjān-e Gharbī",shortCode:"02"},{name:"Āz̄arbāyjān-e Sharqī",shortCode:"01"},{name:"Būshehr",shortCode:"06"},{name:"Chahār Maḩāl va Bakhtīārī",shortCode:"08"},{name:"Eşfahān",shortCode:"04"},{name:"Fārs",shortCode:"14"},{name:"Gīlān",shortCode:"19"},{name:"Golestān",shortCode:"27"},{name:"Hamadān",shortCode:"24"},{name:"Hormozgān",shortCode:"23"},{name:"Īlām",shortCode:"05"},{name:"Kermān",shortCode:"15"},{name:"Kermānshāh",shortCode:"17"},{name:"Khorāsān-e Jonūbī",shortCode:"29"},{name:"Khorāsān-e Raẕavī",shortCode:"30"},{name:"Khorāsān-e Shomālī",shortCode:"61"},{name:"Khūzestān",shortCode:"10"},{name:"Kohgīlūyeh va Bowyer Aḩmad",shortCode:"18"},{name:"Kordestān",shortCode:"16"},{name:"Lorestān",shortCode:"20"},{name:"Markazi",shortCode:"22"},{name:"Māzandarān",shortCode:"21"},{name:"Qazvīn",shortCode:"28"},{name:"Qom",shortCode:"26"},{name:"Semnān",shortCode:"12"},{name:"Sīstān va Balūchestān",shortCode:"13"},{name:"Tehrān",shortCode:"07"},{name:"Yazd",shortCode:"25"},{name:"Zanjān",shortCode:"11"}]},{countryName:"Iraq",countryShortCode:"IQ",regions:[{name:"Al Anbār",shortCode:"AN"},{name:"Al Başrah",shortCode:"BA"},{name:"Al Muthanná",shortCode:"MU"},{name:"Al Qādisīyah",shortCode:"QA"},{name:"An Najaf",shortCode:"NA"},{name:"Arbīl",shortCode:"AR"},{name:"As Sulaymānīyah",shortCode:"SU"},{name:"Bābil",shortCode:"BB"},{name:"Baghdād",shortCode:"BG"},{name:"Dohuk",shortCode:"DA"},{name:"Dhī Qār",shortCode:"DQ"},{name:"Diyālá",shortCode:"DI"},{name:"Karbalā'",shortCode:"KA"},{name:"Kirkuk",shortCode:"KI"},{name:"Maysān",shortCode:"MA"},{name:"Nīnawá",shortCode:"NI"},{name:"Şalāḩ ad Dīn",shortCode:"SD"},{name:"Wāsiţ",shortCode:"WA"}]},{countryName:"Ireland",countryShortCode:"IE",regions:[{name:"Carlow",shortCode:"CW"},{name:"Cavan",shortCode:"CN"},{name:"Clare",shortCode:"CE"},{name:"Cork",shortCode:"CO"},{name:"Donegal",shortCode:"DL"},{name:"Dublin",shortCode:"D"},{name:"Galway",shortCode:"G"},{name:"Kerry",shortCode:"KY"},{name:"Kildare",shortCode:"KE"},{name:"Kilkenny",shortCode:"KK"},{name:"Laois",shortCode:"LS"},{name:"Leitrim",shortCode:"LM"},{name:"Limerick",shortCode:"LK"},{name:"Longford",shortCode:"LD"},{name:"Louth",shortCode:"LH"},{name:"Mayo",shortCode:"MO"},{name:"Meath",shortCode:"MH"},{name:"Monaghan",shortCode:"MN"},{name:"Offaly",shortCode:"OY"},{name:"Roscommon",shortCode:"RN"},{name:"Sligo",shortCode:"SO"},{name:"Tipperary",shortCode:"TA"},{name:"Waterford",shortCode:"WD"},{name:"Westmeath",shortCode:"WH"},{name:"Wexford",shortCode:"WX"},{name:"Wicklow",shortCode:"WW"}]},{countryName:"Isle of Man",countryShortCode:"IM",regions:[{name:"Isle of Man"}]},{countryName:"Israel",countryShortCode:"IL",regions:[{name:"HaDarom",shortCode:"D"},{name:"HaMerkaz",shortCode:"M"},{name:"HaTsafon",shortCode:"Z"},{name:"H̱efa",shortCode:"HA"},{name:"Tel-Aviv",shortCode:"TA"},{name:"Yerushalayim",shortCode:"JM"}]},{countryName:"Italy",countryShortCode:"IT",regions:[{name:"Agrigento",shortCode:"AG"},{name:"Alessandria",shortCode:"AL"},{name:"Ancona",shortCode:"AN"},{name:"Aosta",shortCode:"AO"},{name:"Arezzo",shortCode:"AR"},{name:"Ascoli Piceno",shortCode:"AP"},{name:"Asti",shortCode:"AT"},{name:"Avellino",shortCode:"AV"},{name:"Bari",shortCode:"BA"},{name:"Barletta-Andria-Trani",shortCode:"BT"},{name:"Belluno",shortCode:"BL"},{name:"Benevento",shortCode:"BN"},{name:"Bergamo",shortCode:"BG"},{name:"Biella",shortCode:"BI"},{name:"Bologna",shortCode:"BO"},{name:"Bolzano",shortCode:"BZ"},{name:"Brescia",shortCode:"BS"},{name:"Brindisi",shortCode:"BR"},{name:"Cagliari",shortCode:"CA"},{name:"Caltanissetta",shortCode:"CL"},{name:"Campobasso",shortCode:"CB"},{name:"Carbonia-Iglesias",shortCode:"CI"},{name:"Caserta",shortCode:"CE"},{name:"Catania",shortCode:"CT"},{name:"Catanzaro",shortCode:"CZ"},{name:"Chieti",shortCode:"CH"},{name:"Como",shortCode:"CO"},{name:"Cosenza",shortCode:"CS"},{name:"Cremona",shortCode:"CR"},{name:"Crotone",shortCode:"KR"},{name:"Cuneo",shortCode:"CN"},{name:"Enna",shortCode:"EN"},{name:"Fermo",shortCode:"FM"},{name:"Ferrara",shortCode:"FE"},{name:"Firenze",shortCode:"FI"},{name:"Foggia",shortCode:"FG"},{name:"Forlì-Cesena",shortCode:"FC"},{name:"Frosinone",shortCode:"FR"},{name:"Genova",shortCode:"GE"},{name:"Gorizia",shortCode:"GO"},{name:"Grosseto",shortCode:"GR"},{name:"Imperia",shortCode:"IM"},{name:"Isernia",shortCode:"IS"},{name:"L'Aquila",shortCode:"AQ"},{name:"La Spezia",shortCode:"SP"},{name:"Latina",shortCode:"LT"},{name:"Lecce",shortCode:"LE"},{name:"Lecco",shortCode:"LC"},{name:"Livorno",shortCode:"LI"},{name:"Lodi",shortCode:"LO"},{name:"Lucca",shortCode:"LU"},{name:"Macerata",shortCode:"MC"},{name:"Mantova",shortCode:"MN"},{name:"Massa-Carrara",shortCode:"MS"},{name:"Matera",shortCode:"MT"},{name:"Medio Campidano",shortCode:"VS"},{name:"Messina",shortCode:"ME"},{name:"Milano",shortCode:"MI"},{name:"Modena",shortCode:"MO"},{name:"Monza e Brianza",shortCode:"MB"},{name:"Napoli",shortCode:"NA"},{name:"Novara",shortCode:"NO"},{name:"Nuoro",shortCode:"NU"},{name:"Ogliastra",shortCode:"OG"},{name:"Olbia-Tempio",shortCode:"OT"},{name:"Oristano",shortCode:"OR"},{name:"Padova",shortCode:"PD"},{name:"Palermo",shortCode:"PA"},{name:"Parma",shortCode:"PR"},{name:"Pavia",shortCode:"PV"},{name:"Perugia",shortCode:"PG"},{name:"Pesaro e Urbino",shortCode:"PU"},{name:"Pescara",shortCode:"PE"},{name:"Piacenza",shortCode:"PC"},{name:"Pisa",shortCode:"PI"},{name:"Pistoia",shortCode:"PT"},{name:"Pordenone",shortCode:"PN"},{name:"Potenza",shortCode:"PZ"},{name:"Prato",shortCode:"PO"},{name:"Ragusa",shortCode:"RG"},{name:"Ravenna",shortCode:"RA"},{name:"Reggio Calabria",shortCode:"RC"},{name:"Reggio Emilia",shortCode:"RE"},{name:"Rieti",shortCode:"RI"},{name:"Rimini",shortCode:"RN"},{name:"Roma",shortCode:"RM"},{name:"Rovigo",shortCode:"RO"},{name:"Salerno",shortCode:"SA"},{name:"Sassari",shortCode:"SS"},{name:"Savona",shortCode:"SV"},{name:"Siena",shortCode:"SI"},{name:"Siracusa",shortCode:"SR"},{name:"Sondrio",shortCode:"SO"},{name:"Taranto",shortCode:"TA"},{name:"Teramo",shortCode:"TE"},{name:"Terni",shortCode:"TR"},{name:"Torino",shortCode:"TO"},{name:"Trapani",shortCode:"TP"},{name:"Trento",shortCode:"TN"},{name:"Treviso",shortCode:"TV"},{name:"Trieste",shortCode:"TS"},{name:"Udine",shortCode:"UD"},{name:"Varese",shortCode:"VA"},{name:"Venezia",shortCode:"VE"},{name:"Verbano-Cusio-Ossola",shortCode:"VB"},{name:"Vercelli",shortCode:"VC"},{name:"Verona",shortCode:"VR"},{name:"Vibo Valentia",shortCode:"VV"},{name:"Vicenza",shortCode:"VI"},{name:"Viterbo",shortCode:"VT"}]},{countryName:"Jamaica",countryShortCode:"JM",regions:[{name:"Clarendon",shortCode:"13"},{name:"Hanover",shortCode:"09"},{name:"Kingston",shortCode:"01"},{name:"Manchester",shortCode:"12"},{name:"Portland",shortCode:"04"},{name:"Saint Andrew",shortCode:"02"},{name:"Saint Ann",shortCode:"06"},{name:"Saint Catherine",shortCode:"14"},{name:"Saint Elizabeth",shortCode:"11"},{name:"Saint James",shortCode:"08"},{name:"Saint Mary",shortCode:"05"},{name:"Saint Thomas",shortCode:"03"},{name:"Trelawny",shortCode:"07"},{name:"Westmoreland",shortCode:"10"}]},{countryName:"Japan",countryShortCode:"JP",regions:[{name:"Aichi",shortCode:"23"},{name:"Akita",shortCode:"05"},{name:"Aomori",shortCode:"02"},{name:"Chiba",shortCode:"12"},{name:"Ehime",shortCode:"38"},{name:"Fukui",shortCode:"18"},{name:"Fukuoka",shortCode:"40"},{name:"Fukushima",shortCode:"07"},{name:"Gifu",shortCode:"21"},{name:"Gunma",shortCode:"10"},{name:"Hiroshima",shortCode:"34"},{name:"Hokkaido",shortCode:"01"},{name:"Hyogo",shortCode:"28"},{name:"Ibaraki",shortCode:"08"},{name:"Ishikawa",shortCode:"17"},{name:"Iwate",shortCode:"03"},{name:"Kagawa",shortCode:"37"},{name:"Kagoshima",shortCode:"46"},{name:"Kanagawa",shortCode:"14"},{name:"Kochi",shortCode:"39"},{name:"Kumamoto",shortCode:"43"},{name:"Kyoto",shortCode:"26"},{name:"Mie",shortCode:"24"},{name:"Miyagi",shortCode:"04"},{name:"Miyazaki",shortCode:"45"},{name:"Nagano",shortCode:"20"},{name:"Nagasaki",shortCode:"42"},{name:"Nara",shortCode:"29"},{name:"Niigata",shortCode:"15"},{name:"Oita",shortCode:"44"},{name:"Okayama",shortCode:"33"},{name:"Okinawa",shortCode:"47"},{name:"Osaka",shortCode:"27"},{name:"Saga",shortCode:"41"},{name:"Saitama",shortCode:"11"},{name:"Shiga",shortCode:"25"},{name:"Shimane",shortCode:"32"},{name:"Shizuoka",shortCode:"22"},{name:"Tochigi",shortCode:"09"},{name:"Tokushima",shortCode:"36"},{name:"Tokyo",shortCode:"13"},{name:"Tottori",shortCode:"31"},{name:"Toyama",shortCode:"16"},{name:"Wakayama",shortCode:"30"},{name:"Yamagata",shortCode:"06"},{name:"Yamaguchi",shortCode:"35"},{name:"Yamanashi",shortCode:"19"}]},{countryName:"Jersey",countryShortCode:"JE",regions:[{name:"Jersey"}]},{countryName:"Jordan",countryShortCode:"JO",regions:[{name:"‘Ajlūn",shortCode:"AJ"},{name:"Al 'Aqabah",shortCode:"AQ"},{name:"Al Balqā’",shortCode:"BA"},{name:"Al Karak",shortCode:"KA"},{name:"Al Mafraq",shortCode:"MA"},{name:"Al ‘A̅şimah",shortCode:"AM"},{name:"Aţ Ţafīlah",shortCode:"AT"},{name:"Az Zarqā’",shortCode:"AZ"},{name:"Irbid",shortCode:"IR"},{name:"Jarash",shortCode:"JA"},{name:"Ma‘ān",shortCode:"MN"},{name:"Mādabā",shortCode:"MD"}]},{countryName:"Kazakhstan",countryShortCode:"KZ",regions:[{name:"Almaty",shortCode:"ALA"},{name:"Aqmola",shortCode:"AKM"},{name:"Aqtobe",shortCode:"AKT"},{name:"Astana",shortCode:"AST"},{name:"Atyrau",shortCode:"ATY"},{name:"Batys Qazaqstan",shortCode:"ZAP"},{name:"Bayqongyr"},{name:"Mangghystau",shortCode:"MAN"},{name:"Ongtustik Qazaqstan",shortCode:"YUZ"},{name:"Pavlodar",shortCode:"PAV"},{name:"Qaraghandy",shortCode:"KAR"},{name:"Qostanay",shortCode:"KUS"},{name:"Qyzylorda",shortCode:"KZY"},{name:"Shyghys Qazaqstan",shortCode:"VOS"},{name:"Soltustik Qazaqstan",shortCode:"SEV"},{name:"Zhambyl",shortCode:"ZHA"}]},{countryName:"Kenya",countryShortCode:"KE",regions:[{name:"Baringo",shortCode:"01"},{name:"Bomet",shortCode:"02"},{name:"Bungoma",shortCode:"03"},{name:"Busia",shortCode:"04"},{name:"Eleyo/Marakwet",shortCode:"05"},{name:"Embu",shortCode:"06"},{name:"Garissa",shortCode:"07"},{name:"Homa Bay",shortCode:"08"},{name:"Isiolo",shortCode:"09"},{name:"Kajiado",shortCode:"10"},{name:"Kakamega",shortCode:"11"},{name:"Kericho",shortCode:"12"},{name:"Kiambu",shortCode:"13"},{name:"Kilifi",shortCode:"14"},{name:"Kirinyaga",shortCode:"15"},{name:"Kisii",shortCode:"16"},{name:"Kisumu",shortCode:"17"},{name:"Kitui",shortCode:"18"},{name:"Kwale",shortCode:"19"},{name:"Laikipia",shortCode:"20"},{name:"Lamu",shortCode:"21"},{name:"Machakos",shortCode:"22"},{name:"Makueni",shortCode:"23"},{name:"Mandera",shortCode:"24"},{name:"Marsabit",shortCode:"25"},{name:"Meru",shortCode:"26"},{name:"Migori",shortCode:"27"},{name:"Mombasa",shortCode:"28"},{name:"Murang'a",shortCode:"29"},{name:"Nairobi City",shortCode:"30"},{name:"Nakuru",shortCode:"31"},{name:"Nandi",shortCode:"32"},{name:"Narok",shortCode:"33"},{name:"Nyamira",shortCode:"34"},{name:"Nyandarua",shortCode:"35"},{name:"Nyeri",shortCode:"36"},{name:"Samburu",shortCode:"37"},{name:"Siaya",shortCode:"38"},{name:"Taita/Taveta",shortCode:"39"},{name:"Tana River",shortCode:"40"},{name:"Tharaka-Nithi",shortCode:"41"},{name:"Trans Nzoia",shortCode:"42"},{name:"Turkana",shortCode:"43"},{name:"Uasin Gishu",shortCode:"44"},{name:"Vihiga",shortCode:"45"},{name:"Wajir",shortCode:"46"},{name:"West Pokot",shortCode:"47"}]},{countryName:"Kiribati",countryShortCode:"KI",regions:[{name:"Abaiang"},{name:"Abemama"},{name:"Aranuka"},{name:"Arorae"},{name:"Banaba"},{name:"Beru"},{name:"Butaritari"},{name:"Central Gilberts"},{name:"Gilbert Islands",shortCode:"G"},{name:"Kanton"},{name:"Kiritimati"},{name:"Kuria"},{name:"Line Islands",shortCode:"L"},{name:"Maiana"},{name:"Makin"},{name:"Marakei"},{name:"Nikunau"},{name:"Nonouti"},{name:"Northern Gilberts"},{name:"Onotoa"},{name:"Phoenix Islands",shortCode:"P"},{name:"Southern Gilberts"},{name:"Tabiteuea"},{name:"Tabuaeran"},{name:"Tamana"},{name:"Tarawa"},{name:"Teraina"}]},{countryName:"Korea, Democratic People's Republic of",countryShortCode:"KP",regions:[{name:"Chagang-do (Chagang Province)",shortCode:"04"},{name:"Hamgyong-bukto (North Hamgyong Province)",shortCode:"09"},{name:"Hamgyong-namdo (South Hamgyong Province)",shortCode:"08"},{name:"Hwanghae-bukto (North Hwanghae Province)",shortCode:"06"},{name:"Hwanghae-namdo (South Hwanghae Province)",shortCode:"05"},{name:"Kangwon-do (Kangwon Province)",shortCode:"07"},{name:"Nasŏn (Najin-Sŏnbong)",shortCode:"13"},{name:"P'yongan-bukto (North P'yongan Province)",shortCode:"03"},{name:"P'yongan-namdo (South P'yongan Province)",shortCode:"02"},{name:"P'yongyang-si (P'yongyang City)",shortCode:"01"},{name:"Yanggang-do (Yanggang Province)",shortCode:"10"}]},{countryName:"Korea, Republic of",countryShortCode:"KR",regions:[{name:"Ch'ungch'ongbuk-do",shortCode:"43"},{name:"Ch'ungch'ongnam-do",shortCode:"44"},{name:"Cheju-do",shortCode:"49"},{name:"Chollabuk-do",shortCode:"45"},{name:"Chollanam-do",shortCode:"46"},{name:"Inch'on-Kwangyokhi",shortCode:"28"},{name:"Kang-won-do",shortCode:"42"},{name:"Kwangju-Kwangyokshi",shortCode:"28"},{name:"Kyonggi-do",shortCode:"41"},{name:"Kyongsangbuk-do",shortCode:"47"},{name:"Kyongsangnam-do",shortCode:"48"},{name:"Pusan-Kwangyokshi",shortCode:"26"},{name:"Seoul-T'ukpyolshi",shortCode:"11"},{name:"Sejong",shortCode:"50"},{name:"Taegu-Kwangyokshi",shortCode:"27"},{name:"Taejon-Kwangyokshi",shortCode:"30"},{name:"Ulsan-Kwangyokshi",shortCode:"31"}]},{countryName:"Kuwait",countryShortCode:"KW",regions:[{name:"Al Aḩmadi",shortCode:"AH"},{name:"Al Farwānīyah",shortCode:"FA"},{name:"Al Jahrā’",shortCode:"JA"},{name:"Al ‘Āşimah",shortCode:"KU"},{name:"Ḩawallī",shortCode:"HA"},{name:"Mubārak al Kabir",shortCode:"MU"}]},{countryName:"Kyrgyzstan",countryShortCode:"KG",regions:[{name:"Batken Oblasty",shortCode:"B"},{name:"Bishkek Shaary",shortCode:"GB"},{name:"Chuy Oblasty (Bishkek)",shortCode:"C"},{name:"Jalal-Abad Oblasty",shortCode:"J"},{name:"Naryn Oblasty",shortCode:"N"},{name:"Osh Oblasty",shortCode:"O"},{name:"Talas Oblasty",shortCode:"T"},{name:"Ysyk-Kol Oblasty (Karakol)",shortCode:"Y"}]},{countryName:"Laos",countryShortCode:"LA",regions:[{name:"Attapu",shortCode:"AT"},{name:"Bokèo",shortCode:"BK"},{name:"Bolikhamxai",shortCode:"BL"},{name:"Champasak",shortCode:"CH"},{name:"Houaphan",shortCode:"HO"},{name:"Khammouan",shortCode:"KH"},{name:"Louang Namtha",shortCode:"LM"},{name:"Louangphabang",shortCode:"LP"},{name:"Oudômxai",shortCode:"OU"},{name:"Phôngsali",shortCode:"PH"},{name:"Salavan",shortCode:"SL"},{name:"Savannakhét",shortCode:"SV"},{name:"Vientiane",shortCode:"VI"},{name:"Xaignabouli",shortCode:"XA"},{name:"Xékong",shortCode:"XE"},{name:"Xaisomboun",shortCode:"XS"},{name:"Xiangkhouang",shortCode:"XI"}]},{countryName:"Latvia",countryShortCode:"LV",regions:[{name:"Aglona",shortCode:"001"},{name:"Aizkraukle",shortCode:"002"},{name:"Aizpute",shortCode:"003"},{name:"Aknīste",shortCode:"004"},{name:"Aloja",shortCode:"005"},{name:"Alsunga",shortCode:"06"},{name:"Alūksne",shortCode:"007"},{name:"Amata",shortCode:"008"},{name:"Ape",shortCode:"009"},{name:"Auce",shortCode:"010"},{name:"Ādaži",shortCode:"011"},{name:"Babīte",shortCode:"012"},{name:"Baldone",shortCode:"013"},{name:"Baltinava",shortCode:"014"},{name:"Balvi",shortCode:"015"},{name:"Bauska",shortCode:"016"},{name:"Beverīna",shortCode:"017"},{name:"Brocēni",shortCode:"018"},{name:"Burtnieki",shortCode:"019"},{name:"Carnikava",shortCode:"020"},{name:"Cesvaine",shortCode:"021"},{name:"Cēsis",shortCode:"022"},{name:"Cibla",shortCode:"023"},{name:"Dagda",shortCode:"024"},{name:"Daugavpils",shortCode:"025"},{name:"Daugavpils (City)",shortCode:"DGV"},{name:"Dobele",shortCode:"026"},{name:"Dundaga",shortCode:"027"},{name:"Durbe",shortCode:"028"},{name:"Engure",shortCode:"029"},{name:"Ērgļi",shortCode:"030"},{name:"Garkalne",shortCode:"031"},{name:"Grobiņa",shortCode:"032"},{name:"Gulbene",shortCode:"033"},{name:"Iecava",shortCode:"034"},{name:"Ikšķile",shortCode:"035"},{name:"Ilūkste",shortCode:"036"},{name:"Inčukalns",shortCode:"037"},{name:"Jaunjelgava",shortCode:"038"},{name:"Jaunpiebalga",shortCode:"039"},{name:"Jaunpils",shortCode:"040"},{name:"Jelgava",shortCode:"041"},{name:"Jelgava (City)",shortCode:"JEL"},{name:"Jēkabpils",shortCode:"042"},{name:"Jēkabpils (City)",shortCode:"JKB"},{name:"Jūrmala (City)",shortCode:"JUR"},{name:"Kandava",shortCode:"043"},{name:"Kārsava",shortCode:"044"},{name:"Kocēni",shortCode:"045"},{name:"Koknese",shortCode:"046"},{name:"Krāslava",shortCode:"047"},{name:"Krimulda",shortCode:"048"},{name:"Krustpils",shortCode:"049"},{name:"Kuldīga",shortCode:"050"},{name:"Ķegums",shortCode:"051"},{name:"Ķekava",shortCode:"052"},{name:"Lielvārde",shortCode:"053"},{name:"Liepāja",shortCode:"LPX"},{name:"Limbaži",shortCode:"054"},{name:"Līgatne",shortCode:"055"},{name:"Līvāni",shortCode:"056"},{name:"Lubāna",shortCode:"057"},{name:"Ludza",shortCode:"058"},{name:"Madona",shortCode:"059"},{name:"Mazsalaca",shortCode:"060"},{name:"Mālpils",shortCode:"061"},{name:"Mārupe",shortCode:"062"},{name:"Mērsrags",shortCode:"063"},{name:"Naukšēni",shortCode:"064"},{name:"Nereta",shortCode:"065"},{name:"Nīca",shortCode:"066"},{name:"Ogre",shortCode:"067"},{name:"Olaine",shortCode:"068"},{name:"Ozolnieki",shortCode:"069"},{name:"Pārgauja",shortCode:"070"},{name:"Pāvilosta",shortCode:"071"},{name:"Pļaviņas",shortCode:"072"},{name:"Preiļi",shortCode:"073"},{name:"Priekule",shortCode:"074"},{name:"Priekuļi",shortCode:"075"},{name:"Rauna",shortCode:"076"},{name:"Rēzekne",shortCode:"077"},{name:"Rēzekne (City)",shortCode:"REZ"},{name:"Riebiņi",shortCode:"078"},{name:"Rīga",shortCode:"RIX"},{name:"Roja",shortCode:"079"},{name:"Ropaži",shortCode:"080"},{name:"Rucava",shortCode:"081"},{name:"Rugāji",shortCode:"082"},{name:"Rundāle",shortCode:"083"},{name:"Rūjiena",shortCode:"084"},{name:"Sala",shortCode:"085"},{name:"Salacgrīva",shortCode:"086"},{name:"Salaspils",shortCode:"087"},{name:"Saldus",shortCode:"088"},{name:"Saulkrasti",shortCode:"089"},{name:"Sēja",shortCode:"090"},{name:"Sigulda",shortCode:"091"},{name:"Skrīveri",shortCode:"092"},{name:"Skrunda",shortCode:"093"},{name:"Smiltene",shortCode:"094"},{name:"Stopiņi",shortCode:"095"},{name:"Strenči",shortCode:"096"},{name:"Talsi",shortCode:"097"},{name:"Tērvete",shortCode:"098"},{name:"Tukums",shortCode:"099"},{name:"Vaiņode",shortCode:"100"},{name:"Valka",shortCode:"101"},{name:"Valmiera",shortCode:"VMR"},{name:"Varakļāni",shortCode:"102"},{name:"Vārkava",shortCode:"103"},{name:"Vecpiebalga",shortCode:"104"},{name:"Vecumnieki",shortCode:"105"},{name:"Ventspils",shortCode:"106"},{name:"Ventspils (City)",shortCode:"VEN"},{name:"Viesīte",shortCode:"107"},{name:"Viļaka",shortCode:"108"},{name:"Viļāni",shortCode:"109"},{name:"Zilupe",shortCode:"110"}]},{countryName:"Lebanon",countryShortCode:"LB",regions:[{name:"Aakkâr",shortCode:"AK"},{name:"Baalbelk-Hermel",shortCode:"BH"},{name:"Béqaa",shortCode:"BI"},{name:"Beyrouth",shortCode:"BA"},{name:"Liban-Nord",shortCode:"AS"},{name:"Liban-Sud",shortCode:"JA"},{name:"Mont-Liban",shortCode:"JL"},{name:"Nabatîyé",shortCode:"NA"}]},{countryName:"Lesotho",countryShortCode:"LS",regions:[{name:"Berea",shortCode:"D"},{name:"Butha-Buthe",shortCode:"B"},{name:"Leribe",shortCode:"C"},{name:"Mafeteng",shortCode:"E"},{name:"Maseru",shortCode:"A"},{name:"Mohales Hoek",shortCode:"F"},{name:"Mokhotlong",shortCode:"J"},{name:"Qacha's Nek",shortCode:"H"},{name:"Quthing",shortCode:"G"},{name:"Thaba-Tseka",shortCode:"K"}]},{countryName:"Liberia",countryShortCode:"LR",regions:[{name:"Bomi",shortCode:"BM"},{name:"Bong",shortCode:"BG"},{name:"Gbarpolu",shortCode:"GP"},{name:"Grand Bassa",shortCode:"GB"},{name:"Grand Cape Mount",shortCode:"CM"},{name:"Grand Gedeh",shortCode:"GG"},{name:"Grand Kru",shortCode:"GK"},{name:"Lofa",shortCode:"LO"},{name:"Margibi",shortCode:"MG"},{name:"Maryland",shortCode:"MY"},{name:"Montserrado",shortCode:"MO"},{name:"Nimba",shortCode:"NI"},{name:"River Cess",shortCode:"RI"},{name:"River Geee",shortCode:"RG"},{name:"Sinoe",shortCode:"SI"}]},{countryName:"Libya",countryShortCode:"LY",regions:[{name:"Al Buţnān",shortCode:"BU"},{name:"Al Jabal al Akhḑar",shortCode:"JA"},{name:"Al Jabal al Gharbī",shortCode:"JG"},{name:"Al Jafārah",shortCode:"JA"},{name:"Al Jufrah",shortCode:"JU"},{name:"Al Kufrah",shortCode:"FK"},{name:"Al Marj",shortCode:"MJ"},{name:"Al Marquab",shortCode:"MB"},{name:"Al Wāḩāt",shortCode:"WA"},{name:"An Nuqaţ al Khams",shortCode:"NQ"},{name:"Az Zāwiyah",shortCode:"ZA"},{name:"Banghāzī",shortCode:"BA"},{name:"Darnah",shortCode:"DR"},{name:"Ghāt",shortCode:"GH"},{name:"Mişrātah",shortCode:"MI"},{name:"Murzuq",shortCode:"MQ"},{name:"Nālūt",shortCode:"NL"},{name:"Sabhā",shortCode:"SB"},{name:"Surt",shortCode:"SR"},{name:"Ţarābulus",shortCode:"TB"},{name:"Yafran",shortCode:"WD"},{name:"Wādī ash Shāţiʾ",shortCode:"WS"}]},{countryName:"Liechtenstein",countryShortCode:"LI",regions:[{name:"Balzers",shortCode:"01"},{name:"Eschen",shortCode:"02"},{name:"Gamprin",shortCode:"03"},{name:"Mauren",shortCode:"04"},{name:"Planken",shortCode:"05"},{name:"Ruggell",shortCode:"06"},{name:"Schaan",shortCode:"07"},{name:"Schellenberg",shortCode:"08"},{name:"Triesen",shortCode:"09"},{name:"Triesenberg",shortCode:"10"},{name:"Vaduz",shortCode:"11"}]},{countryName:"Lithuania",countryShortCode:"LT",regions:[{name:"Alytaus",shortCode:"AL"},{name:"Kauno",shortCode:"KU"},{name:"Klaipėdos",shortCode:"KL"},{name:"Marijampolės",shortCode:"MR"},{name:"Panevėžio",shortCode:"PN"},{name:"Šiaulių",shortCode:"SA"},{name:"Tauragės",shortCode:"TA"},{name:"Telšių",shortCode:"TE"},{name:"Utenos",shortCode:"UT"},{name:"Vilniaus",shortCode:"VL"}]},{countryName:"Luxembourg",countryShortCode:"LU",regions:[{name:"Capellen",shortCode:"CA"},{name:"Clevaux",shortCode:"CL"},{name:"Diekirch",shortCode:"DI"},{name:"Echternach",shortCode:"EC"},{name:"Esch-sur-Alzette",shortCode:"ES"},{name:"Grevenmacher",shortCode:"GR"},{name:"Luxembourg",shortCode:"LU"},{name:"Mersch",shortCode:"ME"},{name:"Redange",shortCode:"RD"},{name:"Remich",shortCode:"RM"},{name:"Vianden",shortCode:"VD"},{name:"Wiltz",shortCode:"WI"}]},{countryName:"Macao",countryShortCode:"MO",regions:[{name:"Macao"}]},{countryName:"Macedonia, Republic of",countryShortCode:"MK",regions:[{name:"Aračinovo",shortCode:"02"},{name:"Berovo",shortCode:"03"},{name:"Bitola",shortCode:"04"},{name:"Bogdanci",shortCode:"05"},{name:"Bogovinje",shortCode:"06"},{name:"Bosilovo",shortCode:"07"},{name:"Brvenica",shortCode:"08"},{name:"Centar Župa",shortCode:"78"},{name:"Čaška",shortCode:"08"},{name:"Češinovo-Obleševo",shortCode:"81"},{name:"Čučer Sandevo",shortCode:"82"},{name:"Debar",shortCode:"21"},{name:"Debarca",shortCode:"22"},{name:"Delčevo",shortCode:"23"},{name:"Demir Hisar",shortCode:"25"},{name:"Demir Kapija",shortCode:"24"},{name:"Doran",shortCode:"26"},{name:"Dolneni",shortCode:"27"},{name:"Gevgelija",shortCode:"18"},{name:"Gostivar",shortCode:"19"},{name:"Gradsko",shortCode:"20"},{name:"Ilinden",shortCode:"34"},{name:"Jegunovce",shortCode:"35"},{name:"Karbinci",shortCode:"37"},{name:"Kavadarci",shortCode:"36"},{name:"Kičevo",shortCode:"40"},{name:"Kočani",shortCode:"42"},{name:"Konče",shortCode:"41"},{name:"Kratovo",shortCode:"43"},{name:"Kriva Palanka",shortCode:"44"},{name:"Krivogaštani",shortCode:"45"},{name:"Kruševo",shortCode:"46"},{name:"Kumanovo",shortCode:"47"},{name:"Lipkovo",shortCode:"48"},{name:"Lozovo",shortCode:"49"},{name:"Makedonska Kamenica",shortCode:"51"},{name:"Makedonski Brod",shortCode:"52"},{name:"Mavrovo i Rostuša",shortCode:"50"},{name:"Mogila",shortCode:"53"},{name:"Negotino",shortCode:"54"},{name:"Novaci",shortCode:"55"},{name:"Novo Selo",shortCode:"56"},{name:"Ohrid",shortCode:"58"},{name:"Pehčevo",shortCode:"60"},{name:"Petrovec",shortCode:"59"},{name:"Plasnica",shortCode:"61"},{name:"Prilep",shortCode:"62"},{name:"Probištip",shortCode:"63"},{name:"Radoviš",shortCode:""},{name:"Rankovce",shortCode:"65"},{name:"Resen",shortCode:"66"},{name:"Rosoman",shortCode:"67"},{name:"Skopje",shortCode:"85"},{name:"Sopište",shortCode:"70"},{name:"Staro Nagoričane",shortCode:"71"},{name:"Struga",shortCode:"72"},{name:"Strumica",shortCode:"73"},{name:"Studeničani",shortCode:"74"},{name:"Sveti Nikole",shortCode:"69"},{name:"Štip",shortCode:"83"},{name:"Tearce",shortCode:"75"},{name:"Tetovo",shortCode:"76"},{name:"Valandovo",shortCode:"10"},{name:"Vasilevo",shortCode:"11"},{name:"Veles",shortCode:"13"},{name:"Vevčani",shortCode:"12"},{name:"Vinica",shortCode:"14"},{name:"Vrapčište",shortCode:"16"},{name:"Zelenikovo",shortCode:"32"},{name:"Zrnovci",shortCode:"33"},{name:"Želino",shortCode:"30"}]},{countryName:"Madagascar",countryShortCode:"MG",regions:[{name:"Antananarivo",shortCode:"T"},{name:"Antsiranana",shortCode:"D"},{name:"Fianarantsoa",shortCode:"F"},{name:"Mahajanga",shortCode:"M"},{name:"Toamasina",shortCode:"A"},{name:"Toliara",shortCode:"U"}]},{countryName:"Malawi",countryShortCode:"MW",regions:[{name:"Balaka",shortCode:"BA"},{name:"Blantyre",shortCode:"BL"},{name:"Chikwawa",shortCode:"CK"},{name:"Chiradzulu",shortCode:"CR"},{name:"Chitipa",shortCode:"CT"},{name:"Dedza",shortCode:"DE"},{name:"Dowa",shortCode:"DO"},{name:"Karonga",shortCode:"KR"},{name:"Kasungu",shortCode:"KS"},{name:"Likoma",shortCode:"LK"},{name:"Lilongwe",shortCode:"LI"},{name:"Machinga",shortCode:"MH"},{name:"Mangochi",shortCode:"MG"},{name:"Mchinji",shortCode:"MC"},{name:"Mulanje",shortCode:"MU"},{name:"Mwanza",shortCode:"MW"},{name:"Mzimba",shortCode:"MZ"},{name:"Nkhata Bay",shortCode:"NE"},{name:"Nkhotakota",shortCode:"NB"},{name:"Nsanje",shortCode:"NS"},{name:"Ntcheu",shortCode:"NU"},{name:"Ntchisi",shortCode:"NI"},{name:"Phalombe",shortCode:"PH"},{name:"Rumphi",shortCode:"RU"},{name:"Salima",shortCode:"SA"},{name:"Thyolo",shortCode:"TH"},{name:"Zomba",shortCode:"ZO"}]},{countryName:"Malaysia",countryShortCode:"MY",regions:[{name:"Johor",shortCode:"01"},{name:"Kedah",shortCode:"02"},{name:"Kelantan",shortCode:"03"},{name:"Melaka",shortCode:"04"},{name:"Negeri Sembilan",shortCode:"05"},{name:"Pahang",shortCode:"06"},{name:"Perak",shortCode:"08"},{name:"Perlis",shortCode:"09"},{name:"Pulau Pinang",shortCode:"07"},{name:"Sabah",shortCode:"12"},{name:"Sarawak",shortCode:"13"},{name:"Selangor",shortCode:"10"},{name:"Terengganu",shortCode:"11"},{name:"Wilayah Persekutuan (Kuala Lumpur)",shortCode:"14"},{name:"Wilayah Persekutuan (Labuan)",shortCode:"15"},{name:"Wilayah Persekutuan (Putrajaya)",shortCode:"16"}]},{countryName:"Maldives",countryShortCode:"MV",regions:[{name:"Alifu Alifu",shortCode:"02"},{name:"Alifu Dhaalu",shortCode:"00"},{name:"Baa",shortCode:"20"},{name:"Dhaalu",shortCode:"17"},{name:"Faafu",shortCode:"14"},{name:"Gaafu Alifu",shortCode:"27"},{name:"Gaafu Dhaalu",shortCode:"28"},{name:"Gnaviyani",shortCode:"29"},{name:"Haa Alifu",shortCode:"07"},{name:"Haa Dhaalu",shortCode:"23"},{name:"Kaafu",shortCode:"29"},{name:"Laamu",shortCode:"05"},{name:"Lhaviyani",shortCode:"03"},{name:"Malé",shortCode:"MLE"},{name:"Meemu",shortCode:"12"},{name:"Noonu",shortCode:"25"},{name:"Raa",shortCode:"13"},{name:"Seenu",shortCode:"01"},{name:"Shaviyani",shortCode:"24"},{name:"Thaa",shortCode:"08"},{name:"Vaavu",shortCode:"04"}]},{countryName:"Mali",countryShortCode:"ML",regions:[{name:"Bamako",shortCode:"BKO"},{name:"Gao",shortCode:"7"},{name:"Kayes",shortCode:"1"},{name:"Kidal",shortCode:"8"},{name:"Koulikoro",shortCode:"2"},{name:"Mopti",shortCode:"5"},{name:"Segou",shortCode:"4"},{name:"Sikasso",shortCode:"3"},{name:"Tombouctou",shortCode:"6"}]},{countryName:"Malta",countryShortCode:"MT",regions:[{name:"Attard",shortCode:"Attard (Attard)"},{name:"Balzan",shortCode:"Balzan (Balzan)"},{name:"Birkirkara",shortCode:"Birkirkara (Birkirkara)"},{name:"Birżebbuġa",shortCode:"Birżebbuġa (Birzebbuga)"},{name:"Cospicua",shortCode:"Cospicua (Cospicua)"},{name:"Dingli",shortCode:"Dingli (Dingli)"},{name:"Fgura",shortCode:"Fgura (Fgura)"},{name:"Floriana",shortCode:"Floriana (Floriana)"},{name:"Fontana",shortCode:"Fontana (Fontana)"},{name:"Għajnsielem",shortCode:"Għajnsielem (Ghajnsielem)"},{name:"Għarb",shortCode:"Għarb (Gharb)"},{name:"Għargħur",shortCode:"Għargħur (Gharghur)"},{name:"Għasri",shortCode:"Għasri (Ghasri)"},{name:"Għaxaq",shortCode:"Għaxaq (Ghaxaq)"},{name:"Gudja",shortCode:"Gudja (Gudja)"},{name:"Gżira",shortCode:"Gżira (Gzira)"},{name:"Ħamrun",shortCode:"Ħamrun (Hamrun)"},{name:"Iklin",shortCode:"Iklin (Iklin)"},{name:"Kalkara",shortCode:"Kalkara (Kalkara)"},{name:"Kercem",shortCode:"Kercem (Kercem)"},{name:"Kirkop",shortCode:"Kirkop (Kirkop)"},{name:"Lija",shortCode:"Lija (Lija)"},{name:"Luqa",shortCode:"Luqa (Luqa)"},{name:"Marsa",shortCode:"Marsa (Marsa)"},{name:"Marsaskala",shortCode:"Marsaskala (Marsaskala)"},{name:"Marsaxlokk",shortCode:"Marsaxlokk (Marsaxlokk)"},{name:"Mdina",shortCode:"Mdina (Mdina)"},{name:"Mellieha",shortCode:"Mellieha (Mellieha)"},{name:"Mgarr",shortCode:"Mgarr (Mgarr)"},{name:"Mosta",shortCode:"Mosta (Mosta)"},{name:"Mqabba",shortCode:"Mqabba (Mqabba)"},{name:"Msida",shortCode:"Msida (Msida)"},{name:"Mtarfa",shortCode:"Mtarfa (Imtarfa)"},{name:"Munxar",shortCode:"Munxar (Munxar)"},{name:"Nadur",shortCode:"Nadur (Nadur)"},{name:"Naxxar",shortCode:"Naxxar (Naxxar)"},{name:"Paola",shortCode:"Paola (Paola)"},{name:"Pembroke",shortCode:"Pembroke (Pembroke)"},{name:"Pietà",shortCode:"Pietà (Pietà)"},{name:"Qala",shortCode:"Qala (Qala)"},{name:"Qormi",shortCode:"Qormi (Qormi)"},{name:"Qrendi",shortCode:"Qrendi (Qrendi)"},{name:"Rabat",shortCode:"Rabat (Rabat)"},{name:"Safi",shortCode:"Safi (Safi)"},{name:"St. Julian's",shortCode:"St. Julian’s (St. Julian's)"},{name:"San Gwann ",shortCode:"San Gwann (San gwann)"},{name:"San Lawrenz ",shortCode:"San Lawrenz (San Lawrenz)"},{name:"Senglea",shortCode:"Senglea (Senglea)"},{name:"St. Paul's Bay",shortCode:"St. Paul’s Bay (St. Paul's Bay)"},{name:"Sannat",shortCode:"Sannat (Sannat)"},{name:"Santa Lucija ",shortCode:"Santa Lucija (Santa Lucija)"},{name:"Santa Venera ",shortCode:"Santa Venera (Santa Venera)"},{name:"Siggiewi",shortCode:"Siggiewi (Siggiewi)"},{name:"Sliema",shortCode:"Sliema (Sliema)"},{name:"Swieqi",shortCode:"Swieqi (Swieqi)"},{name:"Tarxien",shortCode:"Tarxien (Tarxien)"},{name:"Ta' Xbiex",shortCode:"Ta' Xbiex (Ta' Xbiex)"},{name:"Valletta",shortCode:"Valletta (Valletta)"},{name:"Victoria",shortCode:"Victoria (Victoria-Gozo)"},{name:"Vittoriosa",shortCode:"Vittoriosa (Birgu)"},{name:"Xaghra",shortCode:"Xaghra (Xaghra)"},{name:"Xewkija",shortCode:"Xewkija (Xewkija)"},{name:"Xghajra",shortCode:"Xghajra (Xaghjra)"},{name:"Zabbar",shortCode:"Zabbar (Zabbar)"},{name:"Żebbuġ",shortCode:"Żebbuġ (Zebbug)"},{name:"Zebbug",shortCode:"Zebbug (Zebbug-Gozo)"},{name:"Zejtun",shortCode:"Zejtun (Zejtun)"},{name:"Zurrieq",shortCode:"Zurrieq (Zurrieq)"}]},{countryName:"Marshall Islands",countryShortCode:"MH",regions:[{name:"Ailinglaplap",shortCode:"ALL"},{name:"Ailuk",shortCode:"ALK"},{name:"Arno",shortCode:"ARN"},{name:"Aur",shortCode:"AUR"},{name:"Bikini and Kili",shortCode:"KIL"},{name:"Ebon",shortCode:"EBO"},{name:"Jabat",shortCode:"JAB"},{name:"Jaluit",shortCode:"JAL"},{name:"Kwajalein",shortCode:"KWA"},{name:"Lae",shortCode:"LAE"},{name:"Lib",shortCode:"LIB"},{name:"Likiep",shortCode:"LIK"},{name:"Majuro",shortCode:"MAJ"},{name:"Maloelap",shortCode:"MAL"},{name:"Mejit",shortCode:"MEJ"},{name:"Namdrik",shortCode:"NMK"},{name:"Namu",shortCode:"NMU"},{name:"Rongelap",shortCode:"RON"},{name:"Ujae",shortCode:"UJA"},{name:"Utrik",shortCode:"UTI"},{name:"Wotho",shortCode:"WTH"},{name:"Wotje",shortCode:"WTJ"}]},{countryName:"Martinique",countryShortCode:"MQ",regions:[{name:"Martinique"}]},{countryName:"Mauritania",countryShortCode:"MR",regions:[{name:"Adrar",shortCode:"07"},{name:"Assaba",shortCode:"03"},{name:"Brakna",shortCode:"05"},{name:"Dakhlet Nouadhibou",shortCode:"08"},{name:"Gorgol",shortCode:"04"},{name:"Guidimaka",shortCode:"10"},{name:"Hodh Ech Chargui",shortCode:"01"},{name:"Hodh El Gharbi",shortCode:"02"},{name:"Inchiri",shortCode:"12"},{name:"Nouakchott Nord",shortCode:"14"},{name:"Nouakchott Ouest",shortCode:"13"},{name:"Nouakchott Sud",shortCode:"15"},{name:"Tagant",shortCode:"09"},{name:"Tiris Zemmour",shortCode:"11"},{name:"Trarza",shortCode:"06"}]},{countryName:"Mauritius",countryShortCode:"MU",regions:[{name:"Agalega Islands",shortCode:"AG"},{name:"Beau Bassin-Rose Hill",shortCode:"BR"},{name:"Black River",shortCode:"BL"},{name:"Cargados Carajos Shoals",shortCode:"CC"},{name:"Curepipe",shortCode:"CU"},{name:"Flacq",shortCode:"FL"},{name:"Grand Port",shortCode:"GP"},{name:"Moka",shortCode:"MO"},{name:"Pamplemousses",shortCode:"PA"},{name:"Plaines Wilhems",shortCode:"PW"},{name:"Port Louis (City)",shortCode:"PU"},{name:"Port Louis",shortCode:"PL"},{name:"Riviere du Rempart",shortCode:"RR"},{name:"Rodrigues Island",shortCode:"RO"},{name:"Savanne",shortCode:"SA"},{name:"Vacoas-Phoenix",shortCode:"CP"}]},{countryName:"Mayotte",countryShortCode:"YT",regions:[{name:"Dzaoudzi",shortCode:"01"},{name:"Pamandzi",shortCode:"02"},{name:"Mamoudzou",shortCode:"03"},{name:"Dembeni",shortCode:"04"},{name:"Bandrélé",shortCode:"05"},{name:"Kani-Kéli",shortCode:"06"},{name:"Bouéni",shortCode:"07"},{name:"Chirongui",shortCode:"08"},{name:"Sada",shortCode:"09"},{name:"Ouangani",shortCode:"10"},{name:"Chiconi",shortCode:"11"},{name:"Tsingoni",shortCode:"12"},{name:"M'Tsangamouji",shortCode:"13"},{name:"Acoua",shortCode:"14"},{name:"Mtsamboro",shortCode:"15"},{name:"Bandraboua",shortCode:"16"},{name:"Koungou",shortCode:"17"}]},{countryName:"Mexico",countryShortCode:"MX",regions:[{name:"Aguascalientes",shortCode:"Aguascalientes"},{name:"Baja California",shortCode:"Baja California"},{name:"Baja California Sur",shortCode:"Baja California Sur"},{name:"Campeche",shortCode:"Campeche"},{name:"Ciudad de México",shortCode:"Ciudad de México"},{name:"Chiapas",shortCode:"Chiapas"},{name:"Chihuahua",shortCode:"Chihuahua"},{name:"Coahuila de Zaragoza",shortCode:"Coahuila de Zaragoza"},{name:"Colima",shortCode:"Colima"},{name:"Durango",shortCode:"Durango"},{name:"Estado de México",shortCode:"Estado de México"},{name:"Guanajuato",shortCode:"Guanajuato"},{name:"Guerrero",shortCode:"Guerrero"},{name:"Hidalgo",shortCode:"Hidalgo"},{name:"Jalisco",shortCode:"Jalisco"},{name:"Michoacán de Ocampo",shortCode:"Michoacán de Ocampo"},{name:"Morelos",shortCode:"Morelos"},{name:"Nayarit",shortCode:"Nayarit"},{name:"Nuevo León",shortCode:"Nuevo León"},{name:"Oaxaca",shortCode:"Oaxaca"},{name:"Puebla",shortCode:"Puebla"},{name:"Querétaro de Arteaga",shortCode:"Querétaro de Arteaga"},{name:"Quintana Roo",shortCode:"Quintana Roo"},{name:"San Luis Potosí",shortCode:"San Luis Potosí"},{name:"Sinaloa",shortCode:"Sinaloa"},{name:"Sonora",shortCode:"Sonora"},{name:"Tabasco",shortCode:"Tabasco"},{name:"Tamaulipas",shortCode:"Tamaulipas"},{name:"Tlaxcala",shortCode:"Tlaxcala"},{name:"Veracruz",shortCode:"Veracruz"},{name:"Yucatán",shortCode:"Yucatán"},{name:"Zacatecas",shortCode:"Zacatecas"}]},{countryName:"Micronesia, Federated States of",countryShortCode:"FM",regions:[{name:"Chuuk (Truk)",shortCode:"TRK"},{name:"Kosrae",shortCode:"KSA"},{name:"Pohnpei",shortCode:"PNI"},{name:"Yap",shortCode:"YAP"}]},{countryName:"Moldova",countryShortCode:"MD",regions:[{name:"Aenii Noi",shortCode:"AN"},{name:"Basarabeasca",shortCode:"BS"},{name:"Bălți",shortCode:"BA"},{name:"Bender",shortCode:"BD"},{name:"Briceni",shortCode:"BR"},{name:"Cahul",shortCode:"CA"},{name:"Cantemir",shortCode:"CT"},{name:"Călărași",shortCode:"CL"},{name:"Căușeni",shortCode:"CS"},{name:"Chișinău",shortCode:"CU"},{name:"Cimișlia",shortCode:"CM"},{name:"Criuleni",shortCode:"CR"},{name:"Dondușeni",shortCode:"DO"},{name:"Drochia",shortCode:"DR"},{name:"Dubăsari",shortCode:"DU"},{name:"Edineț",shortCode:"ED"},{name:"Fălești",shortCode:"FA"},{name:"Florești",shortCode:"FL"},{name:"Găgăuzia",shortCode:"GA"},{name:"Glodeni",shortCode:"GL"},{name:"Hîncești",shortCode:"HI"},{name:"Ialoveni",shortCode:"IA"},{name:"Leova",shortCode:"LE"},{name:"Nisporeni",shortCode:"NI"},{name:"Ocnița",shortCode:"OC"},{name:"Orhei",shortCode:"OR"},{name:"Rezina",shortCode:"RE"},{name:"Rîșcani",shortCode:"RI"},{name:"Sîngerei",shortCode:"SI"},{name:"Soroca",shortCode:"SO"},{name:"Stînga Nistrului",shortCode:"SN"},{name:"Strășeni",shortCode:"ST"},{name:"Șoldănești",shortCode:"SD"},{name:"Ștefan Vodă",shortCode:"SV"},{name:"Taraclia",shortCode:"TA"},{name:"Telenești",shortCode:"TE"},{name:"Ungheni",shortCode:"UN"}]},{countryName:"Monaco",countryShortCode:"MC",regions:[{name:"Colle",shortCode:"CL"},{name:"Condamine",shortCode:"CO"},{name:"Fontvieille",shortCode:"FO"},{name:"Gare",shortCode:"GA"},{name:"Jardin Exotique",shortCode:"JE"},{name:"Larvotto",shortCode:"LA"},{name:"Malbousquet",shortCode:"MA"},{name:"Monaco-Ville",shortCode:"MO"},{name:"Moneghetti",shortCode:"MG"},{name:"Monte-Carlo",shortCode:"MC"},{name:"Moulins",shortCode:"MU"},{name:"Port-Hercule",shortCode:"PH"},{name:"Saint-Roman",shortCode:"SR"},{name:"Sainte-Dévote",shortCode:"SD"},{name:"Source",shortCode:"SO"},{name:"Spélugues",shortCode:"SP"},{name:"Vallon de la Rousse",shortCode:"VR"}]},{countryName:"Mongolia",countryShortCode:"MN",regions:[{name:"Arhangay",shortCode:"073"},{name:"Bayan-Olgiy",shortCode:"071"},{name:"Bayanhongor",shortCode:"069"},{name:"Bulgan",shortCode:"067"},{name:"Darhan",shortCode:"037"},{name:"Dornod",shortCode:"061"},{name:"Dornogovi",shortCode:"063"},{name:"Dundgovi",shortCode:"059"},{name:"Dzavhan",shortCode:"065"},{name:"Govi-Altay",shortCode:"065"},{name:"Govi-Sumber",shortCode:"064"},{name:"Hovd",shortCode:"043"},{name:"Hovsgol",shortCode:"041"},{name:"Omnogovi",shortCode:"053"},{name:"Ovorhangay",shortCode:"055"},{name:"Selenge",shortCode:"049"},{name:"Suhbaatar",shortCode:"051"},{name:"Tov",shortCode:"047"},{name:"Ulaanbaatar",shortCode:"1"},{name:"Uvs",shortCode:"046"}]},{countryName:"Montenegro",countryShortCode:"ME",regions:[{name:"Andrijevica",shortCode:"01"},{name:"Bar",shortCode:"02"},{name:"Berane",shortCode:"03"},{name:"Bijelo Polje",shortCode:"04"},{name:"Budva",shortCode:"05"},{name:"Cetinje",shortCode:"06"},{name:"Danilovgrad",shortCode:"07"},{name:"Gusinje",shortCode:"22"},{name:"Herceg Novi",shortCode:"08"},{name:"Kolašin",shortCode:"09"},{name:"Kotor",shortCode:"10"},{name:"Mojkovac",shortCode:"11"},{name:"Nikšić",shortCode:"12"},{name:"Petnica",shortCode:"23"},{name:"Plav",shortCode:"13"},{name:"Plužine",shortCode:"14"},{name:"Pljevlja",shortCode:"15"},{name:"Podgorica",shortCode:"16"},{name:"Rožaje",shortCode:"17"},{name:"Šavnik",shortCode:"18"},{name:"Tivat",shortCode:"19"},{name:"Ulcinj",shortCode:"20"},{name:"Žabljak",shortCode:"21"}]},{countryName:"Montserrat",countryShortCode:"MS",regions:[{name:"Saint Anthony"},{name:"Saint Georges"},{name:"Saint Peter's"}]},{countryName:"Morocco",countryShortCode:"MA",regions:[{name:"Chaouia-Ouardigha",shortCode:"09"},{name:"Doukhala-Abda",shortCode:"10"},{name:"Fès-Boulemane",shortCode:"05"},{name:"Gharb-Chrarda-Beni Hssen",shortCode:"02"},{name:"Grand Casablanca",shortCode:"08"},{name:"Guelmim-Es Semara",shortCode:"14"},{name:"Laâyoune-Boujdour-Sakia el Hamra",shortCode:"15"},{name:"Marrakech-Tensift-Al Haouz",shortCode:"11"},{name:"Meknès-Tafilalet",shortCode:"06"},{name:"Oriental",shortCode:"04"},{name:"Oued ed Dahab-Lagouira",shortCode:"16"},{name:"Souss-Massa-Drâa",shortCode:"13"},{name:"Tadla-Azilal",shortCode:"12"},{name:"Tanger-Tétouan",shortCode:"01"},{name:"Taza-Al Hoceima-Taounate",shortCode:"03"}]},{countryName:"Mozambique",countryShortCode:"MZ",regions:[{name:"Cabo Delgado",shortCode:"P"},{name:"Gaza",shortCode:"G"},{name:"Inhambane",shortCode:"I"},{name:"Manica",shortCode:"B"},{name:"Maputo",shortCode:"L"},{name:"Maputo (City)",shortCode:"MPM"},{name:"Nampula",shortCode:"N"},{name:"Niassa",shortCode:"A"},{name:"Sofala",shortCode:"S"},{name:"Tete",shortCode:"T"},{name:"Zambezia",shortCode:"Q"}]},{countryName:"Myanmar",countryShortCode:"MM",regions:[{name:"Ayeyarwady",shortCode:"07"},{name:"Bago",shortCode:"02"},{name:"Chin",shortCode:"14"},{name:"Kachin",shortCode:"11"},{name:"Kayah",shortCode:"12"},{name:"Kayin",shortCode:"13"},{name:"Magway",shortCode:"03"},{name:"Mandalay",shortCode:"04"},{name:"Mon",shortCode:"15"},{name:"Nay Pyi Taw",shortCode:"18"},{name:"Rakhine",shortCode:"16"},{name:"Sagaing",shortCode:"01"},{name:"Shan",shortCode:"17"},{name:"Tanintharyi",shortCode:"05"},{name:"Yangon",shortCode:"06"}]},{countryName:"Namibia",countryShortCode:"NA",regions:[{name:"Erongo",shortCode:"ER"},{name:"Hardap",shortCode:"HA"},{name:"Kavango East",shortCode:"KE"},{name:"Kavango West",shortCode:"KW"},{name:"Karas",shortCode:"KA"},{name:"Khomas",shortCode:"KH"},{name:"Kunene",shortCode:"KU"},{name:"Ohangwena",shortCode:"OW"},{name:"Omaheke",shortCode:"OH"},{name:"Omusati",shortCode:"OS"},{name:"Oshana",shortCode:"ON"},{name:"Oshikoto",shortCode:"OT"},{name:"Otjozondjupa",shortCode:"OD"},{name:"Zambezi",shortCode:"CA"}]},{countryName:"Nauru",countryShortCode:"NR",regions:[{name:"Aiwo",shortCode:"01"},{name:"Anabar",shortCode:"02"},{name:"Anetan",shortCode:"03"},{name:"Anibare",shortCode:"04"},{name:"Baiti",shortCode:"05"},{name:"Boe",shortCode:"06"},{name:"Buada",shortCode:"07"},{name:"Denigomodu",shortCode:"08"},{name:"Ewa",shortCode:"09"},{name:"Ijuw",shortCode:"10"},{name:"Meneng",shortCode:"11"},{name:"Nibok",shortCode:"12"},{name:"Uaboe",shortCode:"13"},{name:"Yaren",shortCode:"14"}]},{countryName:"Nepal",countryShortCode:"NP",regions:[{name:"Bagmati",shortCode:"BA"},{name:"Bheri",shortCode:"BH"},{name:"Dhawalagiri",shortCode:"DH"},{name:"Gandaki",shortCode:"GA"},{name:"Janakpur",shortCode:"JA"},{name:"Karnali",shortCode:"KA"},{name:"Kosi",shortCode:"KO"},{name:"Lumbini",shortCode:"LU"},{name:"Mahakali",shortCode:"MA"},{name:"Mechi",shortCode:"ME"},{name:"Narayani",shortCode:"NA"},{name:"Rapti",shortCode:"RA"},{name:"Sagarmatha",shortCode:"SA"},{name:"Seti",shortCode:"SE"}]},{countryName:"Netherlands",countryShortCode:"NL",regions:[{name:"Drenthe",shortCode:"DR"},{name:"Flevoland",shortCode:"FL"},{name:"Friesland",shortCode:"FR"},{name:"Gelderland",shortCode:"GE"},{name:"Groningen",shortCode:"GR"},{name:"Limburg",shortCode:"LI"},{name:"Noord-Brabant",shortCode:"NB"},{name:"Noord-Holland",shortCode:"NH"},{name:"Overijssel",shortCode:"OV"},{name:"Utrecht",shortCode:"UT"},{name:"Zeeland",shortCode:"ZE"},{name:"Zuid-Holland",shortCode:"ZH"}]},{countryName:"New Caledonia",countryShortCode:"NC",regions:[{name:"Iles Loyaute"},{name:"Nord"},{name:"Sud"}]},{countryName:"New Zealand",countryShortCode:"NZ",regions:[{name:"Auckland",shortCode:"AUK"},{name:"Bay of Plenty",shortCode:"BOP"},{name:"Canterbury",shortCode:"CAN"},{name:"Gisborne",shortCode:"GIS"},{name:"Hawke's Bay",shortCode:"HKB"},{name:"Marlborough",shortCode:"MBH"},{name:"Manawatu-Wanganui",shortCode:"MWT"},{name:"Northland",shortCode:"NTL"},{name:"Nelson",shortCode:"NSN"},{name:"Otago",shortCode:"OTA"},{name:"Southland",shortCode:"STL"},{name:"Taranaki",shortCode:"TKI"},{name:"Tasman",shortCode:"TAS"},{name:"Waikato",shortCode:"WKO"},{name:"Wellington",shortCode:"WGN"},{name:"West Coast",shortCode:"WTC"},{name:"Chatham Islands Territory",shortCode:"CIT"}]},{countryName:"Nicaragua",countryShortCode:"NI",regions:[{name:"Boaco",shortCode:"BO"},{name:"Carazo",shortCode:"CA"},{name:"Chinandega",shortCode:"CI"},{name:"Chontales",shortCode:"CO"},{name:"Estelí",shortCode:"ES"},{name:"Granada",shortCode:"GR"},{name:"Jinotega",shortCode:"JI"},{name:"León",shortCode:"LE"},{name:"Madriz",shortCode:"MD"},{name:"Managua",shortCode:"MN"},{name:"Masaya",shortCode:"MS"},{name:"Matagalpa",shortCode:"MT"},{name:"Nueva Segovia",shortCode:"NS"},{name:"Río San Juan",shortCode:"SJ"},{name:"Rivas",shortCode:"RI"},{name:"Atlántico Norte",shortCode:"AN"},{name:"Atlántico Sur",shortCode:"AS"}]},{countryName:"Niger",countryShortCode:"NE",regions:[{name:"Agadez",shortCode:"1"},{name:"Diffa",shortCode:"2"},{name:"Dosso",shortCode:"3"},{name:"Maradi",shortCode:"4"},{name:"Niamey",shortCode:"8"},{name:"Tahoua",shortCode:"5"},{name:"Tillabéri",shortCode:"6"},{name:"Zinder",shortCode:"7"}]},{countryName:"Nigeria",countryShortCode:"NG",regions:[{name:"Abia",shortCode:"AB"},{name:"Abuja Federal Capital Territory",shortCode:"FC"},{name:"Adamawa",shortCode:"AD"},{name:"Akwa Ibom",shortCode:"AK"},{name:"Anambra",shortCode:"AN"},{name:"Bauchi",shortCode:"BA"},{name:"Bayelsa",shortCode:"BY"},{name:"Benue",shortCode:"BE"},{name:"Borno",shortCode:"BO"},{name:"Cross River",shortCode:"CR"},{name:"Delta",shortCode:"DE"},{name:"Ebonyi",shortCode:"EB"},{name:"Edo",shortCode:"ED"},{name:"Ekiti",shortCode:"EK"},{name:"Enugu",shortCode:"EN"},{name:"Gombe",shortCode:"GO"},{name:"Imo",shortCode:"IM"},{name:"Jigawa",shortCode:"JI"},{name:"Kaduna",shortCode:"KD"},{name:"Kano",shortCode:"KN"},{name:"Katsina",shortCode:"KT"},{name:"Kebbi",shortCode:"KE"},{name:"Kogi",shortCode:"KO"},{name:"Kwara",shortCode:"KW"},{name:"Lagos",shortCode:"LA"},{name:"Nassarawa",shortCode:"NA"},{name:"Niger",shortCode:"NI"},{name:"Ogun",shortCode:"OG"},{name:"Ondo",shortCode:"ON"},{name:"Osun",shortCode:"OS"},{name:"Oyo",shortCode:"OY"},{name:"Plateau",shortCode:"PL"},{name:"Rivers",shortCode:"RI"},{name:"Sokoto",shortCode:"SO"},{name:"Taraba",shortCode:"TA"},{name:"Yobe",shortCode:"YO"},{name:"Zamfara",shortCode:"ZA"}]},{countryName:"Niue",countryShortCode:"NU",regions:[{name:"Niue"}]},{countryName:"Norfolk Island",countryShortCode:"NF",regions:[{name:"Norfolk Island"}]},{countryName:"Northern Mariana Islands",countryShortCode:"MP",regions:[{name:"Northern Islands"},{name:"Rota"},{name:"Saipan"},{name:"Tinian"}]},{countryName:"Norway",countryShortCode:"NO",regions:[{name:"Akershus",shortCode:"02"},{name:"Aust-Agder",shortCode:"09"},{name:"Buskerud",shortCode:"06"},{name:"Finnmark",shortCode:"20"},{name:"Hedmark",shortCode:"04"},{name:"Hordaland",shortCode:"12"},{name:"Møre og Romsdal",shortCode:"15"},{name:"Nordland",shortCode:"18"},{name:"Nord-Trøndelag",shortCode:"17"},{name:"Oppland",shortCode:"05"},{name:"Oslo",shortCode:"03"},{name:"Rogaland",shortCode:"11"},{name:"Sogn og Fjordane",shortCode:"14"},{name:"Sør-Trøndelag",shortCode:"16"},{name:"Telemark",shortCode:"08"},{name:"Troms",shortCode:"19"},{name:"Vest-Agder",shortCode:"10"},{name:"Vestfold",shortCode:"07"},{name:"Østfold",shortCode:"01"},{name:"Jan Mayen",shortCode:"22"},{name:"Svalbard",shortCode:"21"}]},{countryName:"Oman",countryShortCode:"OM",regions:[{name:"Ad Dakhiliyah",shortCode:"DA"},{name:"Al Buraymi",shortCode:"BU"},{name:"Al Wusta",shortCode:"WU"},{name:"Az Zahirah",shortCode:"ZA"},{name:"Janub al Batinah",shortCode:"BS"},{name:"Janub ash Sharqiyah",shortCode:"SS"},{name:"Masqat",shortCode:"MA"},{name:"Musandam",shortCode:"MU"},{name:"Shamal al Batinah",shortCode:"BJ"},{name:"Shamal ash Sharqiyah",shortCode:"SJ"},{name:"Zufar",shortCode:"ZU"}]},{countryName:"Pakistan",countryShortCode:"PK",regions:[{name:"Āzād Kashmīr",shortCode:"JK"},{name:"Balōchistān",shortCode:"BA"},{name:"Gilgit-Baltistān",shortCode:"GB"},{name:"Islāmābād",shortCode:"IS"},{name:"Khaībar Pakhtūnkhwās",shortCode:"KP"},{name:"Punjāb",shortCode:"PB"},{name:"Sindh",shortCode:"SD"},{name:"Federally Administered Tribal Areas",shortCode:"TA"}]},{countryName:"Palau",countryShortCode:"PW",regions:[{name:"Aimeliik",shortCode:"002"},{name:"Airai",shortCode:"004"},{name:"Angaur",shortCode:"010"},{name:"Hatobohei",shortCode:"050"},{name:"Kayangel",shortCode:"100"},{name:"Koror",shortCode:"150"},{name:"Melekeok",shortCode:"212"},{name:"Ngaraard",shortCode:"214"},{name:"Ngarchelong",shortCode:"218"},{name:"Ngardmau",shortCode:"222"},{name:"Ngatpang",shortCode:"224"},{name:"Ngchesar",shortCode:"226"},{name:"Ngeremlengui",shortCode:"227"},{name:"Ngiwal",shortCode:"228"},{name:"Peleliu",shortCode:"350"},{name:"Sonsoral",shortCode:"350"}]},{countryName:"Palestine, State of",countryShortCode:"PS",regions:[{name:"Ak Khalīl",shortCode:"HBN"},{name:"Al Quds",shortCode:"JEM"},{name:"Arīḩā wal Aghwār",shortCode:"JRH"},{name:"Bayt Laḩm",shortCode:"BTH"},{name:"Dayr al Balaḩ",shortCode:"DEB"},{name:"Ghazzah",shortCode:"GZA"},{name:"Janīn",shortCode:"JEN"},{name:"Khān Yūnis",shortCode:"KYS"},{name:"Nāblus",shortCode:"NBS"},{name:"Qalqīyah",shortCode:"QQA"},{name:"Rafaḩ",shortCode:"RFH"},{name:"Rām Allāh wal Bīrah",shortCode:"RBH"},{name:"Salfīt",shortCode:"SLT"},{name:"Shamāl Ghazzah",shortCode:"NGZ"},{name:"Ţūbās",shortCode:"TBS"},{name:"Ţūlkarm",shortCode:"TKM"}]},{countryName:"Panama",countryShortCode:"PA",regions:[{name:"Bocas del Toro",shortCode:"1"},{name:"Chiriquí",shortCode:"4"},{name:"Coclé",shortCode:"2"},{name:"Colón",shortCode:"3"},{name:"Darién",shortCode:"5"},{name:"Emberá",shortCode:"EM"},{name:"Herrera",shortCode:"6"},{name:"Kuna Yala",shortCode:"KY"},{name:"Los Santos",shortCode:"7"},{name:"Ngäbe-Buglé",shortCode:"NB"},{name:"Panamá",shortCode:"8"},{name:"Panamá Oeste",shortCode:"10"},{name:"Veraguas",shortCode:"9"}]},{countryName:"Papua New Guinea",countryShortCode:"PG",regions:[{name:"Bougainville",shortCode:"NSB"},{name:"Central",shortCode:"CPM"},{name:"Chimbu",shortCode:"CPK"},{name:"East New Britain",shortCode:"EBR"},{name:"East Sepik",shortCode:"ESW"},{name:"Eastern Highlands",shortCode:"EHG"},{name:"Enga",shortCode:"EPW"},{name:"Gulf",shortCode:"GPK"},{name:"Hela",shortCode:"HLA"},{name:"Jiwaka",shortCode:"JWK"},{name:"Madang",shortCode:"MOM"},{name:"Manus",shortCode:"MRL"},{name:"Milne Bay",shortCode:"MBA"},{name:"Morobe",shortCode:"MPL"},{name:"Port Moresby",shortCode:"NCD"},{name:"New Ireland",shortCode:"NIK"},{name:"Northern",shortCode:"NPP"},{name:"Southern Highlands",shortCode:"SHM"},{name:"West New Britain",shortCode:"WBK"},{name:"West Sepik",shortCode:"SAN"},{name:"Western",shortCode:"WPD"},{name:"Western Highlands",shortCode:"WHM"}]},{countryName:"Paraguay",countryShortCode:"PY",regions:[{name:"Alto Paraguay",shortCode:"16"},{name:"Alto Parana",shortCode:"10"},{name:"Amambay",shortCode:"13"},{name:"Asuncion",shortCode:"ASU"},{name:"Caaguazu",shortCode:"5"},{name:"Caazapa",shortCode:"6"},{name:"Canindeyu",shortCode:"14"},{name:"Central",shortCode:"11"},{name:"Concepcion",shortCode:"1"},{name:"Cordillera",shortCode:"3"},{name:"Boqueron",shortCode:"17"},{name:"Guaira",shortCode:"4"},{name:"Itapua",shortCode:"7"},{name:"Misiones",shortCode:"8"},{name:"Neembucu",shortCode:"12"},{name:"Paraguari",shortCode:"9"},{name:"Presidente Hayes",shortCode:"15"},{name:"San Pedro",shortCode:"2"}]},{countryName:"Peru",countryShortCode:"PE",regions:[{name:"Amazonas",shortCode:"AMA"},{name:"Ancash",shortCode:"ANC"},{name:"Apurimac",shortCode:"APU"},{name:"Arequipa",shortCode:"ARE"},{name:"Ayacucho",shortCode:"AYA"},{name:"Cajamarca",shortCode:"CAJ"},{name:"Callao",shortCode:"CAL"},{name:"Cusco",shortCode:"CUS"},{name:"Huancavelica",shortCode:"HUV"},{name:"Huanuco",shortCode:"HUC"},{name:"Ica",shortCode:"ICA"},{name:"Junin",shortCode:"JUN"},{name:"La Libertad",shortCode:"LAL"},{name:"Lambayeque",shortCode:"LAM"},{name:"Lima",shortCode:"LIM"},{name:"Loreto",shortCode:"LOR"},{name:"Madre de Dios",shortCode:"MDD"},{name:"Moquegua",shortCode:"MOQ"},{name:"Municipalidad Metropolitana de Lima",shortCode:"LMA"},{name:"Pasco",shortCode:"PAS"},{name:"Piura",shortCode:"PIU"},{name:"Puno",shortCode:"PUN"},{name:"San Martin",shortCode:"SAM"},{name:"Tacna",shortCode:"TAC"},{name:"Tumbes",shortCode:"TUM"},{name:"Ucayali",shortCode:"UCA"}]},{countryName:"Philippines",countryShortCode:"PH",regions:[{name:"Abra",shortCode:"ABR"},{name:"Agusan del Norte",shortCode:"AGN"},{name:"Agusan del Sur",shortCode:"AGS"},{name:"Aklan",shortCode:"AKL"},{name:"Albay",shortCode:"ALB"},{name:"Antique",shortCode:"ANT"},{name:"Apayao",shortCode:"APA"},{name:"Aurora",shortCode:"AUR"},{name:"Basilan",shortCode:"BAS"},{name:"Bataan",shortCode:"BAN"},{name:"Batanes",shortCode:"BTN"},{name:"Batangas",shortCode:"BTG"},{name:"Benguet",shortCode:"BEN"},{name:"Biliran",shortCode:"BIL"},{name:"Bohol",shortCode:"BOH"},{name:"Bukidnon",shortCode:"BUK"},{name:"Bulacan",shortCode:"BUL"},{name:"Cagayan",shortCode:"CAG"},{name:"Camarines Norte",shortCode:"CAN"},{name:"Camarines Sur",shortCode:"CAS"},{name:"Camiguin",shortCode:"CAM"},{name:"Capiz",shortCode:"CAP"},{name:"Catanduanes",shortCode:"CAT"},{name:"Cavite",shortCode:"CAV"},{name:"Cebu",shortCode:"CEB"},{name:"Compostela",shortCode:"COM"},{name:"Cotabato",shortCode:"NCO"},{name:"Davao del Norte",shortCode:"DAV"},{name:"Davao del Sur",shortCode:"DAS"},{name:"Davao Occidental",shortCode:"DVO"},{name:"Davao Oriental",shortCode:"DAO"},{name:"Dinagat Islands",shortCode:"DIN"},{name:"Eastern Samar",shortCode:"EAS"},{name:"Guimaras",shortCode:"GUI"},{name:"Ifugao",shortCode:"IFU"},{name:"Ilocos Norte",shortCode:"ILN"},{name:"Ilocos Sur",shortCode:"ILS"},{name:"Iloilo",shortCode:"ILI"},{name:"Isabela",shortCode:"ISA"},{name:"Kalinga",shortCode:"KAL"},{name:"La Union",shortCode:"LUN"},{name:"Laguna",shortCode:"LAG"},{name:"Lanao del Norte",shortCode:"LAN"},{name:"Lanao del Sur",shortCode:"LAS"},{name:"Leyte",shortCode:"LEY"},{name:"Maguindanao",shortCode:"MAG"},{name:"Masbate",shortCode:"MAS"},{name:"Metro Manila",shortCode:"00"},{name:"Mindoro Occidental",shortCode:"MDC"},{name:"Mindoro Oriental",shortCode:"MDR"},{name:"Misamis Occidental",shortCode:"MSC"},{name:"Misamis Oriental",shortCode:"MSR"},{name:"Mountain Province",shortCode:"MOU"},{name:"Negros Occidental",shortCode:"NEC"},{name:"Negros Oriental",shortCode:"NER"},{name:"Northern Samar",shortCode:"NSA"},{name:"Nueva Ecija",shortCode:"NUE"},{name:"Nueva Vizcaya",shortCode:"NUV"},{name:"Palawan",shortCode:"PLW"},{name:"Pampanga",shortCode:"PAM"},{name:"Pangasinan",shortCode:"PAN"},{name:"Quezon",shortCode:"QUE"},{name:"Quirino",shortCode:"QUI"},{name:"Rizal",shortCode:"RIZ"},{name:"Romblon",shortCode:"ROM"},{name:"Samar",shortCode:"WSA"},{name:"Sarangani",shortCode:"SAR"},{name:"Siquijor",shortCode:"SIG"},{name:"Sorsogon",shortCode:"SOR"},{name:"Southern Leyte",shortCode:"SLE"},{name:"Sultan Kudarat",shortCode:"AUK"},{name:"Sulu",shortCode:"SLU"},{name:"Surigao del Norte",shortCode:"SUN"},{name:"Surigao del Sur",shortCode:"SUR"},{name:"Tarlac",shortCode:"TAR"},{name:"Tawi-Tawi",shortCode:"TAW"},{name:"Zambales",shortCode:"ZMB"},{name:"Zamboanga del Norte",shortCode:"ZAN"},{name:"Zamboanga del Sur",shortCode:"ZAS"},{name:"Zamboanga Sibugay",shortCode:"ZSI"}]},{countryName:"Pitcairn",countryShortCode:"PN",regions:[{name:"Pitcairn Islands"}]},{countryName:"Poland",countryShortCode:"PL",regions:[{name:"Dolnośląskie",shortCode:"DS"},{name:"Kujawsko-pomorskie",shortCode:"KP"},{name:"Łódzkie",shortCode:"LD"},{name:"Lubelskie",shortCode:"LU"},{name:"Lubuskie",shortCode:"LB"},{name:"Małopolskie",shortCode:"MA"},{name:"Mazowieckie",shortCode:"MZ"},{name:"Opolskie",shortCode:"OP"},{name:"Podkarpackie",shortCode:"PK"},{name:"Podlaskie",shortCode:"PD"},{name:"Pomorskie",shortCode:"PM"},{name:"Śląskie",shortCode:"SL"},{name:"Świętokrzyskie",shortCode:"SK"},{name:"Warmińsko-mazurskie",shortCode:"WN"},{name:"Wielkopolskie",shortCode:"WP"},{name:"Zachodniopomorskie",shortCode:"ZP"}]},{countryName:"Portugal",countryShortCode:"PT",regions:[{name:"Açores",shortCode:"Aveiro District"},{name:"Aveiro",shortCode:"Aveiro District"},{name:"Beja",shortCode:"Beja District"},{name:"Braga",shortCode:"Braga"},{name:"Bragança",shortCode:"Bragança District"},{name:"Castelo Branco",shortCode:"Castelo Branco District"},{name:"Coimbra",shortCode:"Coimbra District"},{name:"Évora",shortCode:"Évora District"},{name:"Faro",shortCode:"Faro District"},{name:"Guarda",shortCode:"Guarda District"},{name:"Leiria",shortCode:"Leiria District"},{name:"Lisboa",shortCode:"Lisbon"},{name:"Madeira",shortCode:"Castelo Branco"},{name:"Portalegre",shortCode:"Portalegre District"},{name:"Porto",shortCode:"Porto District"},{name:"Santarém",shortCode:"Santarém District"},{name:"Setúbal",shortCode:"Setubal"},{name:"Viana do Castelo",shortCode:"Viana do Castelo District"},{name:"Vila Real",shortCode:"Vila Real District"},{name:"Viseu",shortCode:"Viseu District"}]},{countryName:"Puerto Rico",countryShortCode:"PR",regions:[{name:"Adjuntas",shortCode:"Adjuntas"},{name:"Aguada",shortCode:"Aguada"},{name:"Aguadilla",shortCode:"Aguadilla"},{name:"Aguas Buenas",shortCode:"Aguas Buenas"},{name:"Aibonito",shortCode:"Aibonito"},{name:"Anasco",shortCode:"Anasco"},{name:"Arecibo",shortCode:"Arecibo"},{name:"Arroyo",shortCode:"Arroyo"},{name:"Barceloneta",shortCode:"Barceloneta"},{name:"Barranquitas",shortCode:"Barranquitas"},{name:"Bayamon",shortCode:"Bayamon"},{name:"Cabo Rojo",shortCode:"Cabo Rojo"},{name:"Caguas",shortCode:"Caguas"},{name:"Camuy",shortCode:"Camuy"},{name:"Canovanas",shortCode:"Canovanas"},{name:"Carolina",shortCode:"Carolina"},{name:"Cat",shortCode:"Cat"},{name:"Ceiba",shortCode:"Ceiba"},{name:"Ciales",shortCode:"Ciales"},{name:"Cidra",shortCode:"Cidra"},{name:"Coamo",shortCode:"Coamo"},{name:"Comerio",shortCode:"Comerio"},{name:"Corozal",shortCode:"Corozal"},{name:"Culebra",shortCode:"Culebra"},{name:"Dorado",shortCode:"Dorado"},{name:"Fajardo",shortCode:"Fajardo"},{name:"Florida",shortCode:"Florida"},{name:"Guanica",shortCode:"Guanica"},{name:"Guayama",shortCode:"Guayama"},{name:"Guayanilla",shortCode:"Guayanilla"},{name:"Guaynabo",shortCode:"Guaynabo"},{name:"Gurabo",shortCode:"Gurabo"},{name:"Hatillo",shortCode:"Hatillo"},{name:"Hormigueros",shortCode:"Hormigueros"},{name:"Humacao",shortCode:"Humacao"},{name:"Isabe",shortCode:"Isabe"},{name:"Juana Diaz",shortCode:"Juana Diaz"},{name:"Juncos",shortCode:"Juncos"},{name:"Lajas",shortCode:"Lajas"},{name:"Lares",shortCode:"Lares"},{name:"Las Marias",shortCode:"Las Marias"},{name:"Las oiza",shortCode:"Las oiza"},{name:"Luquillo",shortCode:"Luquillo"},{name:"Manati",shortCode:"Manati"},{name:"Maricao",shortCode:"Maricao"},{name:"Maunabo",shortCode:"Maunabo"},{name:"Mayaguez",shortCode:"Mayaguez"},{name:"Moca",shortCode:"Moca"},{name:"Morovis",shortCode:"Morovis"},{name:"Naguabo",shortCode:"Naguabo"},{name:"Naranjito",shortCode:"Naranjito"},{name:"Orocovis",shortCode:"Orocovis"},{name:"Patillas",shortCode:"Patillas"},{name:"Penuelas",shortCode:"Penuelas"},{name:"Ponce",shortCode:"Ponce"},{name:"Quebradillas",shortCode:"Quebradillas"},{name:"Rincon",shortCode:"Rincon"},{name:"Rio Grande",shortCode:"Rio Grande"},{name:"Sabana linas",shortCode:"Sabana linas"},{name:"San German",shortCode:"San German"},{name:"San Juan",shortCode:"San Juan"},{name:"San Lorenzo",shortCode:"San Lorenzo"},{name:"San Sebastian",shortCode:"San Sebastian"},{name:"Santa Isabel",shortCode:"Santa Isabel"},{name:"Toa Alta",shortCode:"Toa Alta"},{name:"Toa Baja",shortCode:"Toa Baja"},{name:"Trujillo Alto",shortCode:"Trujillo Alto"},{name:"Utuado",shortCode:"Utuado"},{name:"Vega Alta",shortCode:"Vega Alta"},{name:"Vega ues",shortCode:"Vega ues"},{name:"Villalba",shortCode:"Villalba"},{name:"Yabucoa",shortCode:"Yabucoa"},{name:"Yauco",shortCode:"Yauco"}]},{countryName:"Qatar",countryShortCode:"QA",regions:[{name:"Ad Dawḩah",shortCode:"DA"},{name:"Al Khawr wa adh Dhakhīrah",shortCode:"KH"},{name:"Al Wakrah",shortCode:"WA"},{name:"Ar Rayyān",shortCode:"RA"},{name:"Ash Shamāl",shortCode:"MS"},{name:"Az̧ Za̧`āyin",shortCode:"ZA"},{name:"Umm Şalāl",shortCode:"US"}]},{countryName:"Réunion",countryShortCode:"RE",regions:[{name:"Réunion"}]},{countryName:"Romania",countryShortCode:"RO",regions:[{name:"Alba",shortCode:"AB"},{name:"Arad",shortCode:"AR"},{name:"Arges",shortCode:"AG"},{name:"Bacau",shortCode:"BC"},{name:"Bihor",shortCode:"BH"},{name:"Bistrita-Nasaud",shortCode:"BN"},{name:"Botosani",shortCode:"BT"},{name:"Braila",shortCode:"BR"},{name:"Brasov",shortCode:"BV"},{name:"Bucuresti",shortCode:"B"},{name:"Buzau",shortCode:"BZ"},{name:"Calarasi",shortCode:"CL"},{name:"Caras-Severin",shortCode:"CS"},{name:"Cluj",shortCode:"CJ"},{name:"Constanta",shortCode:"CT"},{name:"Covasna",shortCode:"CV"},{name:"Dambovita",shortCode:"DB"},{name:"Dolj",shortCode:"DJ"},{name:"Galati",shortCode:"GL"},{name:"Giurgiu",shortCode:"GR"},{name:"Gorj",shortCode:"GJ"},{name:"Harghita",shortCode:"HR"},{name:"Hunedoara",shortCode:"HD"},{name:"Ialomita",shortCode:"IL"},{name:"Iasi",shortCode:"IS"},{name:"Maramures",shortCode:"MM"},{name:"Mehedinti",shortCode:"MH"},{name:"Mures",shortCode:"MS"},{name:"Neamt",shortCode:"NT"},{name:"Olt",shortCode:"OT"},{name:"Prahova",shortCode:"PH"},{name:"Salaj",shortCode:"SJ"},{name:"Satu Mare",shortCode:"SM"},{name:"Sibiu",shortCode:"SB"},{name:"Suceava",shortCode:"SV"},{name:"Teleorman",shortCode:"TR"},{name:"Timis",shortCode:"TM"},{name:"Tulcea",shortCode:"TL"},{name:"Valcea",shortCode:"VL"},{name:"Vaslui",shortCode:"VS"},{name:"Vrancea",shortCode:"VN"}]},{countryName:"Russian Federation",countryShortCode:"RU",regions:[{name:"Admiralteyskiy",shortCode:"Admiralteyskiy"},{name:"Moskva",shortCode:"Moskva"},{name:"Republic of Adygea",shortCode:"AD"},{name:"Republic of Altai (Gorno-Altaysk)",shortCode:"AL"},{name:"Altai Krai",shortCode:"ALT"},{name:"Amur Oblast",shortCode:"AMU"},{name:"Arkhangelsk Oblast",shortCode:"ARK"},{name:"Astrakhan Oblast",shortCode:"AST"},{name:"Republic of Bashkortostan",shortCode:"BA"},{name:"Belgorod Oblast",shortCode:"BEL"},{name:"Bryansk Oblast",shortCode:"BRY"},{name:"Republic of Buryatia",shortCode:"BU"},{name:"Chechen Republic",shortCode:"CE"},{name:"Chelyabinsk Oblast",shortCode:"CHE"},{name:"Chukotka Autonomous Okrug",shortCode:"CHU"},{name:"Chuvash Republic",shortCode:"CU"},{name:"Republic of Dagestan",shortCode:"DA"},{name:"Republic of Ingushetia",shortCode:"IN"},{name:"Irkutsk Oblast",shortCode:"IRK"},{name:"Ivanovo Oblast",shortCode:"IVA"},{name:"Jewish Autonomous Oblast",shortCode:"JEW"},{name:"Kabardino-Balkar Republic",shortCode:"KB"},{name:"Kaliningrad Oblast",shortCode:"KLN"},{name:"Republic of Kalmykia",shortCode:"KL"},{name:"Kaluga Oblast",shortCode:"KLU"},{name:"Kamchatka Krai",shortCode:"KAM"},{name:"Karachay-Cherkess Republic",shortCode:"KC"},{name:"Republic of Karelia",shortCode:"KR"},{name:"Khabarovsk Krai",shortCode:"KHA"},{name:"Republic of Khakassia",shortCode:"KK"},{name:"Khanty-Mansi Autonomous Okrug - Yugra",shortCode:"KHM"},{name:"Kemerovo Oblast",shortCode:"KEM"},{name:"Kirov Oblast",shortCode:"KIR"},{name:"Komi Republic",shortCode:"KO"},{name:"Kostroma Oblast",shortCode:"KOS"},{name:"Krasnodar Krai",shortCode:"KDA"},{name:"Krasnoyarsk Krai",shortCode:"KYA"},{name:"Kurgan Oblast",shortCode:"KGN"},{name:"Kursk Oblast",shortCode:"KRS"},{name:"Leningrad Oblast",shortCode:"LEN"},{name:"Lipetsk Oblast",shortCode:"LIP"},{name:"Magadan Oblast",shortCode:"MAG"},{name:"Mari El Republic",shortCode:"ME"},{name:"Republic of Mordovia",shortCode:"MO"},{name:"Moscow Oblast",shortCode:"MOS"},{name:"Moscow",shortCode:"MOW"},{name:"Murmansk Oblast",shortCode:"MU"},{name:"Nenets Autonomous Okrug",shortCode:"NEN"},{name:"Nizhny Novgorod Oblast",shortCode:"NIZ"},{name:"Novgorod Oblast",shortCode:"NGR"},{name:"Novosibirsk Oblast",shortCode:"NVS"},{name:"Omsk Oblast",shortCode:"OMS"},{name:"Orenburg Oblast",shortCode:"ORE"},{name:"Oryol Oblast",shortCode:"ORL"},{name:"Penza Oblast",shortCode:"PNZ"},{name:"Perm Krai",shortCode:"PER"},{name:"Primorsky Krai",shortCode:"PRI"},{name:"Pskov Oblast",shortCode:"PSK"},{name:"Rostov Oblast",shortCode:"ROS"},{name:"Ryazan Oblast",shortCode:"RYA"},{name:"Saint Petersburg",shortCode:"SPE"},{name:"Sakha (Yakutia) Republic",shortCode:"SA"},{name:"Sakhalin Oblast",shortCode:"SAK"},{name:"Samara Oblast",shortCode:"SAM"},{name:"Saratov Oblast",shortCode:"SAR"},{name:"Republic of North Ossetia-Alania",shortCode:"NOA"},{name:"Smolensk Oblast",shortCode:"SMO"},{name:"Stavropol Krai",shortCode:"STA"},{name:"Sverdlovsk Oblast",shortCode:"SVE"},{name:"Tambov Oblast",shortCode:"TAM"},{name:"Republic of Tatarstan",shortCode:"TA"},{name:"Tomsk Oblast",shortCode:"TOM"},{name:"Tuva Republic",shortCode:"TU"},{name:"Tula Oblast",shortCode:"TUL"},{name:"Tver Oblast",shortCode:"TVE"},{name:"Tyumen Oblast",shortCode:"TYU"},{name:"Udmurt Republic",shortCode:"UD"},{name:"Ulyanovsk Oblast",shortCode:"ULY"},{name:"Vladimir Oblast",shortCode:"VLA"},{name:"Volgograd Oblast",shortCode:"VGG"},{name:"Vologda Oblast",shortCode:"VLG"},{name:"Voronezh Oblast",shortCode:"VOR"},{name:"Yamalo-Nenets Autonomous Okrug",shortCode:"YAN"},{name:"Yaroslavl Oblast",shortCode:"YAR"},{name:"Zabaykalsky Krai",shortCode:"ZAB"}]},{countryName:"Rwanda",countryShortCode:"RW",regions:[{name:"Kigali",shortCode:"01"},{name:"Eastern",shortCode:"02"},{name:"Northern",shortCode:"03"},{name:"Western",shortCode:"04"},{name:"Southern",shortCode:"05"}]},{countryName:"Saint Barthélemy",countryShortCode:"BL",regions:[{name:"Au Vent",shortCode:"02"},{name:"Sous le Vent",shortCode:"01"}]},{countryName:"Saint Helena, Ascension and Tristan da Cunha",countryShortCode:"SH",regions:[{name:"Ascension",shortCode:"AC"},{name:"Saint Helena",shortCode:"HL"},{name:"Tristan da Cunha",shortCode:"TA"}]},{countryName:"Saint Kitts and Nevis",countryShortCode:"KN",regions:[{name:"Saint Kitts",shortCode:"K"},{name:"Nevis",shortCode:"N"}]},{countryName:"Saint Lucia",countryShortCode:"LC",regions:[{name:"Anse-la-Raye",shortCode:"01"},{name:"Canaries",shortCode:"12"},{name:"Castries",shortCode:"02"},{name:"Choiseul",shortCode:"03"},{name:"Dennery",shortCode:"05"},{name:"Gros Islet",shortCode:"06"},{name:"Laborie",shortCode:"07"},{name:"Micoud",shortCode:"08"},{name:"Soufriere",shortCode:"10"},{name:"Vieux Fort",shortCode:"11"}]},{countryName:"Saint Martin",countryShortCode:"MF",regions:[{name:"Saint Martin"}]},{countryName:"Saint Pierre and Miquelon",countryShortCode:"PM",regions:[{name:"Miquelon"},{name:"Saint Pierre"}]},{countryName:"Saint Vincent and the Grenadines",countryShortCode:"VC",regions:[{name:"Charlotte",shortCode:"01"},{name:"Grenadines",shortCode:"06"},{name:"Saint Andrew",shortCode:"02"},{name:"Saint David",shortCode:"03"},{name:"Saint George",shortCode:"04"},{name:"Saint Patrick",shortCode:"05"}]},{countryName:"Samoa",countryShortCode:"WS",regions:[{name:"A'ana",shortCode:"AA"},{name:"Aiga-i-le-Tai",shortCode:"AL"},{name:"Atua",shortCode:"AT"},{name:"Fa'asaleleaga",shortCode:"FA"},{name:"Gaga'emauga",shortCode:"GE"},{name:"Gagaifomauga",shortCode:"GI"},{name:"Palauli",shortCode:"PA"},{name:"Satupa'itea",shortCode:"SA"},{name:"Tuamasaga",shortCode:"TU"},{name:"Va'a-o-Fonoti",shortCode:"VF"},{name:"Vaisigano",shortCode:"VS"}]},{countryName:"San Marino",countryShortCode:"SM",regions:[{name:"San Marino",shortCode:"SM"}]},{countryName:"Sao Tome and Principe",countryShortCode:"ST",regions:[{name:"Principe",shortCode:"P"},{name:"Sao Tome",shortCode:"S"}]},{countryName:"Saudi Arabia",countryShortCode:"SA",regions:[{name:"'Asir",shortCode:"14"},{name:"Al Bahah",shortCode:"11"},{name:"Al Hudud ash Shamaliyah",shortCode:"08"},{name:"Al Jawf",shortCode:"12"},{name:"Al Madinah al Munawwarah",shortCode:"03"},{name:"Al Qasim",shortCode:"05"},{name:"Ar Riyad",shortCode:"01"},{name:"Ash Sharqiyah",shortCode:"04"},{name:"Ha'il",shortCode:"06"},{name:"Jazan",shortCode:"09"},{name:"Makkah al Mukarramah",shortCode:"02"},{name:"Najran",shortCode:"10"},{name:"Tabuk",shortCode:"07"}]},{countryName:"Senegal",countryShortCode:"SN",regions:[{name:"Dakar",shortCode:"DK"},{name:"Diourbel",shortCode:"DB"},{name:"Fatick",shortCode:"FK"},{name:"Kaffrine",shortCode:"KA"},{name:"Kaolack",shortCode:"KL"},{name:"Kedougou",shortCode:"KE"},{name:"Kolda",shortCode:"KD"},{name:"Louga",shortCode:"LG"},{name:"Matam",shortCode:"MT"},{name:"Saint-Louis",shortCode:"SL"},{name:"Sedhiou",shortCode:"SE"},{name:"Tambacounda",shortCode:"TC"},{name:"Thies",shortCode:"TH"},{name:"Ziguinchor",shortCode:"ZG"}]},{countryName:"Serbia",countryShortCode:"RS",regions:[{name:"Beograd (Belgrade)",shortCode:"00"},{name:"Borski",shortCode:"14"},{name:"Braničevski",shortCode:"11"},{name:"Jablanički",shortCode:"23"},{name:"Južnobački",shortCode:"06"},{name:"Južnobanatski",shortCode:"04"},{name:"Kolubarski",shortCode:"09"},{name:"Kosovski",shortCode:"25"},{name:"Kosovsko-Mitrovački",shortCode:"28"},{name:"Kosovsko-Pomoravski",shortCode:"29"},{name:"Mačvanski",shortCode:"08"},{name:"Moravički",shortCode:"17"},{name:"Nišavski",shortCode:"20"},{name:"Pčinjski",shortCode:"24"},{name:"Pećki",shortCode:"26"},{name:"Pirotski",shortCode:"22"},{name:"Podunavski",shortCode:"10"},{name:"Pomoravski",shortCode:"13"},{name:"Prizrenski",shortCode:"27"},{name:"Rasinski",shortCode:"19"},{name:"Raški",shortCode:"18"},{name:"Severnobački",shortCode:"01"},{name:"Severnobanatski",shortCode:"03"},{name:"Srednjebanatski",shortCode:"02"},{name:"Sremski",shortCode:"07"},{name:"Šumadijski",shortCode:"12"},{name:"Toplički",shortCode:"21"},{name:"Zaječarski",shortCode:"15"},{name:"Zapadnobački",shortCode:"05"},{name:"Zlatiborski",shortCode:"16"}]},{countryName:"Seychelles",countryShortCode:"SC",regions:[{name:"Anse aux Pins",shortCode:"01"},{name:"Anse Boileau",shortCode:"02"},{name:"Anse Etoile",shortCode:"03"},{name:"Anse Royale",shortCode:"05"},{name:"Anu Cap",shortCode:"04"},{name:"Baie Lazare",shortCode:"06"},{name:"Baie Sainte Anne",shortCode:"07"},{name:"Beau Vallon",shortCode:"08"},{name:"Bel Air",shortCode:"09"},{name:"Bel Ombre",shortCode:"10"},{name:"Cascade",shortCode:"11"},{name:"Glacis",shortCode:"12"},{name:"Grand'Anse Mahe",shortCode:"13"},{name:"Grand'Anse Praslin",shortCode:"14"},{name:"La Digue",shortCode:"15"},{name:"La Riviere Anglaise",shortCode:"16"},{name:"Les Mamelles",shortCode:"24"},{name:"Mont Buxton",shortCode:"17"},{name:"Mont Fleuri",shortCode:"18"},{name:"Plaisance",shortCode:"19"},{name:"Pointe La Rue",shortCode:"20"},{name:"Port Glaud",shortCode:"21"},{name:"Roche Caiman",shortCode:"25"},{name:"Saint Louis",shortCode:"22"},{name:"Takamaka",shortCode:"23"}]},{countryName:"Sierra Leone",countryShortCode:"SL",regions:[{name:"Eastern",shortCode:"E"},{name:"Northern",shortCode:"N"},{name:"Southern",shortCode:"S"},{name:"Western",shortCode:"W"}]},{countryName:"Singapore",countryShortCode:"SG",regions:[{name:"Central Singapore",shortCode:"01"},{name:"North East",shortCode:"02"},{name:"North West",shortCode:"03"},{name:"South East",shortCode:"04"},{name:"South West",shortCode:"05"}]},{countryName:"Sint Maarten (Dutch part)",countryShortCode:"SX",regions:[{name:"Sint Maarten"}]},{countryName:"Slovakia",countryShortCode:"SK",regions:[{name:"Banskobystricky",shortCode:"BC"},{name:"Bratislavsky",shortCode:"BL"},{name:"Kosicky",shortCode:"KI"},{name:"Nitriansky",shortCode:"NI"},{name:"Presovsky",shortCode:"PV"},{name:"Trenciansky",shortCode:"TC"},{name:"Trnavsky",shortCode:"TA"},{name:"Zilinsky",shortCode:"ZI"}]},{countryName:"Slovenia",countryShortCode:"SI",regions:[{name:"Ajdovscina",shortCode:"Ajdovščina"},{name:"Apace",shortCode:"Gornja Radgona"},{name:"Beltinci",shortCode:"Murska Sobota"},{name:"Benedikt",shortCode:"Lenart"},{name:"Bistrica ob Sotli",shortCode:"Šmarje pri Jelšah"},{name:"Bled",shortCode:"Radovljica"},{name:"Bloke",shortCode:"Cerknica"},{name:"Bohinj",shortCode:"Radovljica"},{name:"Borovnica",shortCode:"Vrhnika"},{name:"Bovec",shortCode:"Tolmin"},{name:"Braslovce",shortCode:"Žalec"},{name:"Brda",shortCode:"Radovljica"},{name:"Brezice",shortCode:"Brežice"},{name:"Brezovica",shortCode:"Radovljica"},{name:"Cankova",shortCode:"Murska Sobota"},{name:"Celje",shortCode:"Celje"},{name:"Cerklje na Gorenjskem",shortCode:"Kranj"},{name:"Cerknica",shortCode:"Cerknica"},{name:"Cerkno",shortCode:"Idrija"},{name:"Cerkvenjak",shortCode:"Lenart"},{name:"Cirkulane",shortCode:"Ptuj"},{name:"Crensovci",shortCode:"Lendava"},{name:"Crna na Koroskem",shortCode:"Ravne na Koroškem"},{name:"Crnomelj",shortCode:"Črnomelj"},{name:"Destrnik",shortCode:"Ptuj"},{name:"Divaca",shortCode:"Sežana"},{name:"Dobje",shortCode:"Litija"},{name:"Dobrepolje",shortCode:"Grosuplje"},{name:"Dobrna",shortCode:"Celje"},{name:"Dobrova-Polhov Gradec",shortCode:"Ljubljana"},{name:"Dobrovnik",shortCode:"Lendava"},{name:"Dol pri Ljubljani",shortCode:"Ljubljana"},{name:"Dolenjske Toplice",shortCode:"Novo Mesto"},{name:"Domzale",shortCode:"Domžale"},{name:"Dornava",shortCode:"Ptuj"},{name:"Dravograd",shortCode:"Dravograd"},{name:"Duplek",shortCode:"Administrative unit Maribor"},{name:"Gorenja Vas-Poljane",shortCode:"Škofja Loka"},{name:"Gorisnica",shortCode:"Ptuj"},{name:"Gorje",shortCode:"Idrija"},{name:"Gornja Radgona",shortCode:"Gornja Radgona"},{name:"Gornji Grad",shortCode:"Mozirje"},{name:"Gornji Petrovci",shortCode:"Murska Sobota"},{name:"Grad",shortCode:"Murska Sobota"},{name:"Grosuplje",shortCode:"Grosuplje"},{name:"Hajdina",shortCode:"Ptuj"},{name:"Hoce-Slivnica",shortCode:"Administrative unit Maribor"},{name:"Hodos",shortCode:"Murska Sobota"},{name:"Horjul",shortCode:"Ljubljana"},{name:"Hrastnik",shortCode:"Municipality of Hrastnik"},{name:"Hrpelje-Kozina",shortCode:"Sežana"},{name:"Idrija",shortCode:"Idrija"},{name:"Ig",shortCode:"Ljubljana"},{name:"Ilirska Bistrica",shortCode:"Ilirska Bistrica"},{name:"Ivancna Gorica",shortCode:"Grosuplje"},{name:"Izola",shortCode:"Izola"},{name:"Jesenice",shortCode:"Jesenice"},{name:"Jursinci",shortCode:"Ptuj"},{name:"Kamnik",shortCode:"Kamnik"},{name:"Kanal",shortCode:"Nova Gorica"},{name:"Kidricevo",shortCode:"Ptuj"},{name:"Kobarid",shortCode:"Tolmin"},{name:"Kobilje",shortCode:"Lendava"},{name:"Kocevje",shortCode:"Kočevje"},{name:"Komen",shortCode:"Sežana"},{name:"Komenda",shortCode:"Kamnik"},{name:"Koper",shortCode:"Koper"},{name:"Kodanjevica na Krki",shortCode:"Krško"},{name:"Kostel",shortCode:"Kočevje"},{name:"Kozje",shortCode:"Šmarje pri Jelšah"},{name:"Kranj",shortCode:"Kranj"},{name:"Kranjska Gora",shortCode:"Jesenice"},{name:"Krizevci",shortCode:"Murska Sobota"},{name:"Krsko",shortCode:"Krško"},{name:"Kungota",shortCode:"Pesnica"},{name:"Kuzma",shortCode:"Murska Sobota"},{name:"Lasko",shortCode:"Laško"},{name:"Lenart",shortCode:"Lenart"},{name:"Lendava",shortCode:"Lendava"},{name:"Litija",shortCode:"Litija"},{name:"Ljubljana",shortCode:"Ljubljana"},{name:"Ljubno",shortCode:"Radovljica"},{name:"Ljutomer",shortCode:"Ljutomer"},{name:"Log-Dragomer",shortCode:"Vrhnika"},{name:"Logatec",shortCode:"Logatec"},{name:"Loska Dolina",shortCode:"Cerknica"},{name:"Loski Potok",shortCode:"Ribnica"},{name:"Lovrenc na Pohorju",shortCode:"Ruše"},{name:"Lukovica",shortCode:"Domžale"},{name:"Luce",shortCode:"Mozirje"},{name:"Majsperk",shortCode:"Ptuj"},{name:"Makole",shortCode:"Slovenska Bistrica"},{name:"Maribor",shortCode:"Administrative unit Maribor"},{name:"Markovci",shortCode:"Ptuj"},{name:"Medvode",shortCode:"Ljubljana"},{name:"Menges",shortCode:"Domžale"},{name:"Metlika",shortCode:"Metlika"},{name:"Mezica",shortCode:"Ravne na Koroškem"},{name:"Miklavz na Dravskem Polju",shortCode:"Administrative unit Maribor"},{name:"Miren-Kostanjevica",shortCode:"Nova Gorica"},{name:"Mirna",shortCode:"Trebnje"},{name:"Mirna Pec",shortCode:"Novo Mesto"},{name:"Mislinja",shortCode:"Slovenj Gradec"},{name:"Mokronog-Trebelno",shortCode:"Trebnje"},{name:"Moravce",shortCode:"Domžale"},{name:"Moravske Toplice",shortCode:"Murska Sobota"},{name:"Mozirje",shortCode:"Mozirje"},{name:"Murska Sobota",shortCode:"Murska Sobota"},{name:"Naklo",shortCode:"Kranj"},{name:"Nazarje",shortCode:"Mozirje"},{name:"Nova Gorica",shortCode:"Nova Gorica"},{name:"Novo Mesto",shortCode:"Novo Mesto"},{name:"Odranci",shortCode:"Lendava"},{name:"Ormoz",shortCode:"Ormož"},{name:"Osilnica",shortCode:"Kočevje"},{name:"Pesnica",shortCode:"Pesnica"},{name:"Piran",shortCode:"Piran"},{name:"Pivka",shortCode:"Postojna"},{name:"Podcetrtek",shortCode:"Šmarje pri Jelšah"},{name:"Podlehnik",shortCode:"Ptuj"},{name:"Podvelka",shortCode:"Radlje ob DraviRadlje ob Dravi"},{name:"Poljcane",shortCode:"Slovenska Bistrica"},{name:"Postojna",shortCode:"Slovenska Bistrica"},{name:"Prebold",shortCode:"Žalec"},{name:"Preddvor",shortCode:"Kranj"},{name:"Prevalje",shortCode:"Ravne na Koroškem"},{name:"Ptuj",shortCode:"Ptuj"},{name:"Race-Fram",shortCode:"Administrative unit Maribor"},{name:"Radece",shortCode:"Laško"},{name:"Radenci",shortCode:"Gornja Radgona"},{name:"Radlje ob Dravi",shortCode:"Radlje ob Dravi"},{name:"Radovljica",shortCode:"Radovljica"},{name:"Ravne na Koroskem",shortCode:"Ravne na Koroškem"},{name:"Razkrizje",shortCode:"Ljutomer"},{name:"Recica ob Savinji",shortCode:"Mozirje"},{name:"Rence-Vogrsko",shortCode:"Nova Gorica"},{name:"Ribnica",shortCode:"Ribnica"},{name:"Ribnica na Pohorju",shortCode:"Radlje ob Dravi"},{name:"Rogaska Slatina",shortCode:"Šmarje pri JelšahŠmarje pri Jelšah"},{name:"Rogasovci",shortCode:"Murska Sobota"},{name:"Rogatec",shortCode:"Šmarje pri Jelšah"},{name:"Ruse",shortCode:"Ruše"},{name:"Salovci",shortCode:"Murska Sobota"},{name:"Selnica ob Dravi",shortCode:"Ruše"},{name:"Semic",shortCode:"Črnomelj"},{name:"Sempeter-Vrtojba",shortCode:"Nova Gorica"},{name:"Sencur",shortCode:"Nova Gorica"},{name:"Sentilj",shortCode:"Pesnica"},{name:"Sentjernej",shortCode:"Novo Mesto"},{name:"Sentjur",shortCode:"Šentjur"},{name:"Sentrupert",shortCode:"Trebnje"},{name:"Sevnica",shortCode:"Sevnica"},{name:"Sezana",shortCode:"Sežana"},{name:"Skocjan",shortCode:"Novo Mesto"},{name:"Skofja Loka",shortCode:"Škofja Loka"},{name:"Skofljica",shortCode:"Ljubljana"},{name:"Slovenj Gradec",shortCode:"Slovenj Gradec"},{name:"Slovenska Bistrica",shortCode:"Slovenska Bistrica"},{name:"Slovenske Konjice",shortCode:"Slovenske Konjice"},{name:"Smarje pri elsah",shortCode:"Šmarje pri Jelšah"},{name:"Smarjeske Toplice",shortCode:"Novo Mesto"},{name:"Smartno ob Paki",shortCode:"Velenje"},{name:"Smartno pri Litiji",shortCode:"Litija"},{name:"Sodrazica",shortCode:"Ribnica"},{name:"Solcava",shortCode:"Mozirje"},{name:"Sostanj",shortCode:"Velenje"},{name:"Sredisce ob Dravi",shortCode:"Ormož"},{name:"Starse",shortCode:"Administrative unit Maribor"},{name:"Store",shortCode:"Celje"},{name:"Straza",shortCode:"Celje"},{name:"Sveta Ana",shortCode:"Lenart"},{name:"Sveta Trojica v Slovenskih Goricah",shortCode:"Lenart"},{name:"Sveta Andraz v Slovenskih Goricah",shortCode:"Lenart"},{name:"Sveti Jurij",shortCode:"Murska Sobota"},{name:"Sveti Jurij v Slovenskih Goricah",shortCode:"Lenart"},{name:"Sveti Tomaz",shortCode:"Ormož"},{name:"Tabor",shortCode:"Žalec"},{name:"Tisina",shortCode:"Murska Sobota"},{name:"Tolmin",shortCode:"Tolmin"},{name:"Trbovlje",shortCode:"Tolmin"},{name:"Trebnje",shortCode:"Trebnje"},{name:"Trnovska Vas",shortCode:"Ptuj"},{name:"Trzin",shortCode:"Domžale"},{name:"Trzic",shortCode:"Tržič"},{name:"Turnisce",shortCode:"Lendava"},{name:"Velenje",shortCode:"Lendava"},{name:"Velika Polana",shortCode:"Lendava"},{name:"Velike Lasce",shortCode:"Ljubljana"},{name:"Verzej",shortCode:"Ljutomer"},{name:"Videm",shortCode:"Grosuplje"},{name:"Vipava",shortCode:"Ajdovščina"},{name:"Vitanje",shortCode:"Slovenske Konjice"},{name:"Vodice",shortCode:"Slovenske Konjice"},{name:"Vojnik",shortCode:"Celje"},{name:"Vransko",shortCode:"Žalec"},{name:"Vrhnika",shortCode:"Vrhnika"},{name:"Vuzenica",shortCode:"Radlje ob Dravi"},{name:"Zagorje ob Savi",shortCode:"Zagorje ob Savi"},{name:"Zavrc",shortCode:"Ptuj"},{name:"Zrece",shortCode:"Slovenske Konjice"},{name:"Zalec",shortCode:"Žalec"},{name:"Zelezniki",shortCode:"Škofja Loka"},{name:"Zetale",shortCode:"Ptuj"},{name:"Ziri",shortCode:"Škofja Loka"},{name:"Zirovnica",shortCode:"Jesenice"},{name:"Zuzemberk",shortCode:"Novo Mesto"}]},{countryName:"Solomon Islands",countryShortCode:"SB",regions:[{name:"Central",shortCode:"CE"},{name:"Choiseul",shortCode:"CH"},{name:"Guadalcanal",shortCode:"GU"},{name:"Honiara",shortCode:"CT"},{name:"Isabel",shortCode:"IS"},{name:"Makira-Ulawa",shortCode:"MK"},{name:"Malaita",shortCode:"ML"},{name:"Rennell and Bellona",shortCode:"RB"},{name:"Temotu",shortCode:"TE"},{name:"Western",shortCode:"WE"}]},{countryName:"Somalia",countryShortCode:"SO",regions:[{name:"Awdal",shortCode:"AW"},{name:"Bakool",shortCode:"BK"},{name:"Banaadir",shortCode:"BN"},{name:"Bari",shortCode:"BR"},{name:"Bay",shortCode:"BY"},{name:"Galguduud",shortCode:"GA"},{name:"Gedo",shortCode:"GE"},{name:"Hiiraan",shortCode:"HI"},{name:"Jubbada Dhexe",shortCode:"JD"},{name:"Jubbada Hoose",shortCode:"JH"},{name:"Mudug",shortCode:"MU"},{name:"Nugaal",shortCode:"NU"},{name:"Sanaag",shortCode:"SA"},{name:"Shabeellaha Dhexe",shortCode:"SD"},{name:"Shabeellaha Hoose",shortCode:"SH"},{name:"Sool",shortCode:"SO"},{name:"Togdheer",shortCode:"TO"},{name:"Woqooyi Galbeed",shortCode:"WO"}]},{countryName:"South Africa",countryShortCode:"ZA",regions:[{name:"Eastern Cape",shortCode:"EC"},{name:"Free State",shortCode:"FS"},{name:"Gauteng",shortCode:"GP"},{name:"KwaZulu-Natal",shortCode:"KZN"},{name:"Limpopo",shortCode:"LP"},{name:"Mpumalanga",shortCode:"MP"},{name:"Northern Cape",shortCode:"NC"},{name:"North West",shortCode:"NW"},{name:"Western Cape",shortCode:"WC"}]},{countryName:"South Georgia and South Sandwich Islands",countryShortCode:"GS",regions:[{name:"Bird Island"},{name:"Bristol Island"},{name:"Clerke Rocks"},{name:"Montagu Island"},{name:"Saunders Island"},{name:"South Georgia"},{name:"Southern Thule"},{name:"Traversay Islands"}]},{countryName:"South Sudan",countryShortCode:"SS",regions:[{name:"Central Equatoria",shortCode:"CE"},{name:"Eastern Equatoria",shortCode:"EE"},{name:"Jonglei",shortCode:"JG"},{name:"Lakes",shortCode:"LK"},{name:"Northern Bahr el Ghazal",shortCode:"BN"},{name:"Unity",shortCode:"UY"},{name:"Upper Nile",shortCode:"NU"},{name:"Warrap",shortCode:"WR"},{name:"Western Bahr el Ghazal",shortCode:"BW"},{name:"Western Equatoria",shortCode:"EW"}]},{countryName:"Spain",countryShortCode:"ES",regions:[{name:"Albacete",shortCode:"Albacete"},{name:"Alicante",shortCode:"Alicante"},{name:"Almería",shortCode:"Almería"},{name:"Araba/Álava",shortCode:"Álava"},{name:"Asturias",shortCode:"Asturias"},{name:"Ávila",shortCode:"Avila"},{name:"Badajoz",shortCode:"Badajoz"},{name:"Barcelona",shortCode:"Barcelona"},{name:"Bizkaia",shortCode:"Vizcaya"},{name:"Burgos",shortCode:"Burgos"},{name:"Cáceres",shortCode:"Cáceres"},{name:"Cádiz",shortCode:"Cádiz"},{name:"Cantabria",shortCode:"Cantabria"},{name:"Castellón/Castelló",shortCode:"Castellón"},{name:"Ceuta",shortCode:"Ceuta"},{name:"Ciudad Real",shortCode:"Ciudad Real"},{name:"Córdoba",shortCode:"Córdoba"},{name:"LA Coruña",shortCode:"La Coruña"},{name:"Cuenca",shortCode:"Cuenca"},{name:"Gipuzkoa",shortCode:"Guipúzcoa"},{name:"Girona",shortCode:"Gerona"},{name:"Granada",shortCode:"Granada"},{name:"Guadalajara",shortCode:"Guadalajara"},{name:"Huelva",shortCode:"Huelva"},{name:"Huesca",shortCode:"Huesca"},{name:"Illes Balears",shortCode:"Islas Baleares"},{name:"Jaén",shortCode:"Jaen"},{name:"León",shortCode:"León"},{name:"Lleida",shortCode:"Lérida"},{name:"Lugo",shortCode:"Lugo"},{name:"Madrid",shortCode:"Madrid"},{name:"Málaga",shortCode:"Málaga"},{name:"Melilla",shortCode:"Melilla"},{name:"Murcia",shortCode:"Murcia"},{name:"Navarra/Nafarroa",shortCode:"Navarra"},{name:"Ourense",shortCode:"Orense"},{name:"Palencia",shortCode:"Palencia"},{name:"Las Palmas",shortCode:"Las Palmas"},{name:"Pontevedra",shortCode:"Pontevedra"},{name:"La Rioja",shortCode:"La Rioja"},{name:"Salamanca",shortCode:"Salamanca"},{name:"Santa Cruz de Tenerife",shortCode:"S.C.Tenerife"},{name:"Segovia",shortCode:"Segovia"},{name:"Sevilla",shortCode:"Sevilla"},{name:"Soria",shortCode:"Soria"},{name:"Tarragona",shortCode:"Tarragona"},{name:"Teruel",shortCode:"Teruel"},{name:"Toledo",shortCode:"Toledo"},{name:"Valencia/València",shortCode:"Valencia"},{name:"Valladolid",shortCode:"Valladolid"},{name:"Zamora",shortCode:"Zamora"},{name:"Zaragoza",shortCode:"Zaragoza"}]},{countryName:"Sri Lanka",countryShortCode:"LK",regions:[{name:"Basnahira",shortCode:"1"},{name:"Dakunu",shortCode:"3"},{name:"Madhyama",shortCode:"2"},{name:"Naegenahira",shortCode:"5"},{name:"Sabaragamuwa",shortCode:"9"},{name:"Uturu",shortCode:"4"},{name:"Uturumaeda",shortCode:"7"},{name:"Vayamba",shortCode:"6"},{name:"Uva",shortCode:"8"}]},{countryName:"Sudan",countryShortCode:"SD",regions:[{name:"Al Bahr al Ahmar",shortCode:"RS"},{name:"Al Jazirah",shortCode:"GZ"},{name:"Al Khartum",shortCode:"KH"},{name:"Al Qadarif",shortCode:"GD"},{name:"An Nil al Abyad",shortCode:"NW"},{name:"An Nil al Azraq",shortCode:"NB"},{name:"Ash Shamaliyah",shortCode:"NO"},{name:"Gharb Darfur",shortCode:"DW"},{name:"Gharb Kurdufan",shortCode:"GK"},{name:"Janub Darfur",shortCode:"DS"},{name:"Janub Kurdufan",shortCode:"KS"},{name:"Kassala",shortCode:"KA"},{name:"Nahr an Nil",shortCode:"NR"},{name:"Shamal Darfur",shortCode:"DN"},{name:"Sharq Darfur",shortCode:"DE"},{name:"Shiamal Kurdufan",shortCode:"KN"},{name:"Sinnar",shortCode:"SI"},{name:"Wasat Darfur Zalinjay",shortCode:"DC"}]},{countryName:"Suriname",countryShortCode:"SR",regions:[{name:"Brokopondo",shortCode:"BR"},{name:"Commewijne",shortCode:"CM"},{name:"Coronie",shortCode:"CR"},{name:"Marowijne",shortCode:"MA"},{name:"Nickerie",shortCode:"NI"},{name:"Para",shortCode:"PR"},{name:"Paramaribo",shortCode:"PM"},{name:"Saramacca",shortCode:"SA"},{name:"Sipaliwini",shortCode:"SI"},{name:"Wanica",shortCode:"WA"}]},{countryName:"Swaziland",countryShortCode:"SZ",regions:[{name:"Hhohho",shortCode:"HH"},{name:"Lubombo",shortCode:"LU"},{name:"Manzini",shortCode:"MA"},{name:"Shiselweni",shortCode:"SH"}]},{countryName:"Sweden",countryShortCode:"SE",regions:[{name:"Blekinge",shortCode:"K"},{name:"Dalarna",shortCode:"W"},{name:"Gävleborg",shortCode:"X"},{name:"Gotland",shortCode:"I"},{name:"Halland",shortCode:"N"},{name:"Jämtland",shortCode:"Z"},{name:"Jönköping",shortCode:"F"},{name:"Kalmar",shortCode:"H"},{name:"Kronoberg",shortCode:"G"},{name:"Norrbotten",shortCode:"BD"},{name:"Örebro",shortCode:"T"},{name:"Östergötland",shortCode:"E"},{name:"Skåne",shortCode:"M"},{name:"Södermanland",shortCode:"D"},{name:"Stockholm",shortCode:"AB"},{name:"Uppsala",shortCode:"C"},{name:"Värmland",shortCode:"S"},{name:"Västerbotten",shortCode:"AC"},{name:"Västernorrland",shortCode:"Y"},{name:"Västmanland",shortCode:"U"},{name:"Västra Götaland",shortCode:"O"}]},{countryName:"Switzerland",countryShortCode:"CH",regions:[{name:"Aargau",shortCode:"AG"},{name:"Appenzell Ausserrhoden",shortCode:"AR"},{name:"Appenzell Innerhoden",shortCode:"AI"},{name:"Basel-Landschaft",shortCode:"BL"},{name:"Basel-Stadt",shortCode:"BS"},{name:"Bern",shortCode:"BE"},{name:"Fribourg",shortCode:"FR"},{name:"Genève",shortCode:"GE"},{name:"Glarus",shortCode:"GL"},{name:"Graubünden",shortCode:"GR"},{name:"Jura",shortCode:"JU"},{name:"Luzern",shortCode:"LU"},{name:"Neuchâtel",shortCode:"NE"},{name:"Nidwalden",shortCode:"NW"},{name:"Obwalden",shortCode:"OW"},{name:"Sankt Gallen",shortCode:"SG"},{name:"Schaffhausen",shortCode:"SH"},{name:"Schwyz",shortCode:"SZ"},{name:"Solothurn",shortCode:"SO"},{name:"Thurgau",shortCode:"TG"},{name:"Ticino",shortCode:"TI"},{name:"Uri",shortCode:"UR"},{name:"Valais",shortCode:"VS"},{name:"Vaud",shortCode:"VD"},{name:"Zug",shortCode:"ZG"},{name:"Zürich",shortCode:"ZH"}]},{countryName:"Syrian Arab Republic",countryShortCode:"SY",regions:[{name:"Al Hasakah",shortCode:"HA"},{name:"Al Ladhiqiyah",shortCode:"LA"},{name:"Al Qunaytirah",shortCode:"QU"},{name:"Ar Raqqah",shortCode:"RA"},{name:"As Suwayda'",shortCode:"SU"},{name:"Dar'a",shortCode:"DR"},{name:"Dayr az Zawr",shortCode:"DY"},{name:"Dimashq",shortCode:"DI"},{name:"Halab",shortCode:"HL"},{name:"Hamah",shortCode:"HM"},{name:"Hims",shortCode:"HI"},{name:"Idlib",shortCode:"ID"},{name:"Rif Dimashq",shortCode:"RD"},{name:"Tartus",shortCode:"TA"}]},{countryName:"Taiwan",countryShortCode:"TW",regions:[{name:"Chang-hua",shortCode:"CHA"},{name:"Chia-i",shortCode:"CYQ"},{name:"Hsin-chu",shortCode:"HSQ"},{name:"Hua-lien",shortCode:"HUA"},{name:"Kao-hsiung",shortCode:"KHH"},{name:"Keelung",shortCode:"KEE"},{name:"Kinmen",shortCode:"KIN"},{name:"Lienchiang",shortCode:"LIE"},{name:"Miao-li",shortCode:"MIA"},{name:"Nan-t'ou",shortCode:"NAN"},{name:"P'eng-hu",shortCode:"PEN"},{name:"New Taipei",shortCode:"NWT"},{name:"P'ing-tung",shortCode:"PING"},{name:"T'ai-chung",shortCode:"TXG"},{name:"T'ai-nan",shortCode:"TNN"},{name:"T'ai-pei",shortCode:"TPE"},{name:"T'ai-tung",shortCode:"TTT"},{name:"T'ao-yuan",shortCode:"TAO"},{name:"Yi-lan",shortCode:"ILA"},{name:"Yun-lin",shortCode:"YUN"}]},{countryName:"Tajikistan",countryShortCode:"TJ",regions:[{name:"Dushanbe",shortCode:"DU"},{name:"Kŭhistoni Badakhshon",shortCode:"GB"},{name:"Khatlon",shortCode:"KT"},{name:"Sughd",shortCode:"SU"}]},{countryName:"Tanzania, United Republic of",countryShortCode:"TZ",regions:[{name:"Arusha",shortCode:"01"},{name:"Coast",shortCode:"19"},{name:"Dar es Salaam",shortCode:"02"},{name:"Dodoma",shortCode:"03"},{name:"Iringa",shortCode:"04"},{name:"Kagera",shortCode:"05"},{name:"Kigoma",shortCode:"08"},{name:"Kilimanjaro",shortCode:"09"},{name:"Lindi",shortCode:"12"},{name:"Manyara",shortCode:"26"},{name:"Mara",shortCode:"13"},{name:"Mbeya",shortCode:"14"},{name:"Morogoro",shortCode:"16"},{name:"Mtwara",shortCode:"17"},{name:"Mwanza",shortCode:"18"},{name:"Pemba North",shortCode:"06"},{name:"Pemba South",shortCode:"10"},{name:"Rukwa",shortCode:"20"},{name:"Ruvuma",shortCode:"21"},{name:"Shinyanga",shortCode:"22"},{name:"Singida",shortCode:"23"},{name:"Tabora",shortCode:"24"},{name:"Tanga",shortCode:"25"},{name:"Zanzibar North",shortCode:"07"},{name:"Zanzibar Central/South",shortCode:"11"},{name:"Zanzibar Urban/West",shortCode:"15"}]},{countryName:"Thailand",countryShortCode:"TH",regions:[{name:"Amnat Charoen",shortCode:"37"},{name:"Ang Thong",shortCode:"15"},{name:"Bueng Kan",shortCode:"38"},{name:"Buri Ram",shortCode:"31"},{name:"Chachoengsao",shortCode:"24"},{name:"Chai Nat",shortCode:"18"},{name:"Chaiyaphum",shortCode:"36"},{name:"Chanthaburi",shortCode:"22"},{name:"Chiang Mai",shortCode:"50"},{name:"Chiang Rai",shortCode:"57"},{name:"Chon Buri",shortCode:"20"},{name:"Chumphon",shortCode:"86"},{name:"Kalasin",shortCode:"46"},{name:"Kamphaeng Phet",shortCode:"62"},{name:"Kanchanaburi",shortCode:"71"},{name:"Khon Kaen",shortCode:"40"},{name:"Krabi",shortCode:"81"},{name:"Krung Thep Mahanakhon (Bangkok)",shortCode:"10"},{name:"Lampang",shortCode:"52"},{name:"Lamphun",shortCode:"51"},{name:"Loei",shortCode:"42"},{name:"Lop Buri",shortCode:"16"},{name:"Mae Hong Son",shortCode:"58"},{name:"Maha Sarakham",shortCode:"44"},{name:"Mukdahan",shortCode:"49"},{name:"Nakhon Nayok",shortCode:"26"},{name:"Nakhon Phathom",shortCode:"73"},{name:"Nakhon Phanom",shortCode:"48"},{name:"Nakhon Ratchasima",shortCode:"30"},{name:"Nakhon Sawan",shortCode:"60"},{name:"Nakhon Si Thammarat",shortCode:"80"},{name:"Nan",shortCode:"55"},{name:"Narathiwat",shortCode:"96"},{name:"Nong Bua Lam Phu",shortCode:"39"},{name:"Nong Khai",shortCode:"43"},{name:"Nonthaburi",shortCode:"12"},{name:"Pathum Thani",shortCode:"13"},{name:"Pattani",shortCode:"94"},{name:"Phangnga",shortCode:"82"},{name:"Phatthalung",shortCode:"93"},{name:"Phayao",shortCode:"56"},{name:"Phetchabun",shortCode:"76"},{name:"Phetchaburi",shortCode:"76"},{name:"Phichit",shortCode:"66"},{name:"Phitsanulok",shortCode:"65"},{name:"Phra Nakhon Si Ayutthaya",shortCode:"14"},{name:"Phrae",shortCode:"54"},{name:"Phuket",shortCode:"83"},{name:"Prachin Buri",shortCode:"25"},{name:"Prachuap Khiri Khan",shortCode:"77"},{name:"Ranong",shortCode:"85"},{name:"Ratchaburi",shortCode:"70"},{name:"Rayong",shortCode:"21"},{name:"Roi Et",shortCode:"45"},{name:"Sa Kaeo",shortCode:"27"},{name:"Sakon Nakhon",shortCode:"47"},{name:"Samut Prakan",shortCode:"11"},{name:"Samut Sakhon",shortCode:"74"},{name:"Samut Songkhram",shortCode:"75"},{name:"Saraburi",shortCode:"19"},{name:"Satun",shortCode:"91"},{name:"Sing Buri",shortCode:"17"},{name:"Si Sa ket",shortCode:"33"},{name:"Songkhla",shortCode:"90"},{name:"Sukhothai",shortCode:"64"},{name:"Suphan Buri",shortCode:"72"},{name:"Surat Thani",shortCode:"84"},{name:"Surin",shortCode:"32"},{name:"Tak",shortCode:"63"},{name:"Trang",shortCode:"92"},{name:"Trat",shortCode:"23"},{name:"Ubon Ratchathani",shortCode:"34"},{name:"Udon Thani",shortCode:"41"},{name:"Uthai Thani",shortCode:"61"},{name:"Uttaradit",shortCode:"53"},{name:"Yala",shortCode:"95"},{name:"Yasothon",shortCode:"35"}]},{countryName:"Timor-Leste",countryShortCode:"TL",regions:[{name:"Aileu",shortCode:"AL"},{name:"Ainaro",shortCode:"AN"},{name:"Baucau",shortCode:"BA"},{name:"Bobonaro",shortCode:"BO"},{name:"Cova Lima",shortCode:"CO"},{name:"Dili",shortCode:"DI"},{name:"Ermera",shortCode:"ER"},{name:"Lautem",shortCode:"LA"},{name:"Liquica",shortCode:"LI"},{name:"Manatuto",shortCode:"MT"},{name:"Manufahi",shortCode:"MF"},{name:"Oecussi",shortCode:"OE"},{name:"Viqueque",shortCode:"VI"}]},{countryName:"Togo",countryShortCode:"TG",regions:[{name:"Centre",shortCode:"C"},{name:"Kara",shortCode:"K"},{name:"Maritime",shortCode:"M"},{name:"Plateaux",shortCode:"P"},{name:"Savannes",shortCode:"S"}]},{countryName:"Tokelau",countryShortCode:"TK",regions:[{name:"Atafu"},{name:"Fakaofo"},{name:"Nukunonu"}]},{countryName:"Tonga",countryShortCode:"TO",regions:[{name:"'Eua",shortCode:"01"},{name:"Ha'apai",shortCode:"02"},{name:"Niuas",shortCode:"03"},{name:"Tongatapu",shortCode:"04"},{name:"Vava'u",shortCode:"05"}]},{countryName:"Trinidad and Tobago",countryShortCode:"TT",regions:[{name:"Arima",shortCode:"ARI"},{name:"Chaguanas",shortCode:"CHA"},{name:"Couva-Tabaquite-Talparo",shortCode:"CTT"},{name:"Diefo Martin",shortCode:"DMN"},{name:"Mayaro-Rio Claro",shortCode:"MRC"},{name:"Penal-Debe",shortCode:"PED"},{name:"Point Fortin",shortCode:"PTF"},{name:"Port-of-Spain",shortCode:"POS"},{name:"Princes Town",shortCode:"PRT"},{name:"San Fernando",shortCode:"SFO"},{name:"San Juan-Laventille",shortCode:"SJL"},{name:"Sangre Grande",shortCode:"SGE"},{name:"Siparia",shortCode:"SIP"},{name:"Tobago",shortCode:"TOB"},{name:"Tunapuna-Piarco",shortCode:"TUP"}]},{countryName:"Tunisia",countryShortCode:"TN",regions:[{name:"Ariana",shortCode:"12"},{name:"Beja",shortCode:"31"},{name:"Ben Arous",shortCode:"13"},{name:"Bizerte",shortCode:"23"},{name:"Gabes",shortCode:"81"},{name:"Gafsa",shortCode:"71"},{name:"Jendouba",shortCode:"32"},{name:"Kairouan",shortCode:"41"},{name:"Kasserine",shortCode:"42"},{name:"Kebili",shortCode:"73"},{name:"Kef",shortCode:"33"},{name:"Mahdia",shortCode:"53"},{name:"Medenine",shortCode:"82"},{name:"Monastir",shortCode:"52"},{name:"Nabeul",shortCode:"21"},{name:"Sfax",shortCode:"61"},{name:"Sidi Bouzid",shortCode:"43"},{name:"Siliana",shortCode:"34"},{name:"Sousse",shortCode:"51"},{name:"Tataouine",shortCode:"83"},{name:"Tozeur",shortCode:"72"},{name:"Tunis",shortCode:"11"},{name:"Zaghouan",shortCode:"22"}]},{countryName:"Turkey",countryShortCode:"TR",regions:[{name:"Adana",shortCode:"01"},{name:"Adiyaman",shortCode:"02"},{name:"Afyonkarahisar",shortCode:"03"},{name:"Agri",shortCode:"04"},{name:"Aksaray",shortCode:"68"},{name:"Amasya",shortCode:"05"},{name:"Ankara",shortCode:"06"},{name:"Antalya",shortCode:"07"},{name:"Ardahan",shortCode:"75"},{name:"Artvin",shortCode:"08"},{name:"Aydin",shortCode:"09"},{name:"Balikesir",shortCode:"10"},{name:"Bartin",shortCode:"74"},{name:"Batman",shortCode:"72"},{name:"Bayburt",shortCode:"69"},{name:"Bilecik",shortCode:"11"},{name:"Bingol",shortCode:"12"},{name:"Bitlis",shortCode:"13"},{name:"Bolu",shortCode:"14"},{name:"Burdur",shortCode:"15"},{name:"Bursa",shortCode:"16"},{name:"Canakkale",shortCode:"17"},{name:"Cankiri",shortCode:"18"},{name:"Corum",shortCode:"19"},{name:"Denizli",shortCode:"20"},{name:"Diyarbakir",shortCode:"21"},{name:"Duzce",shortCode:"81"},{name:"Edirne",shortCode:"22"},{name:"Elazig",shortCode:"23"},{name:"Erzincan",shortCode:"24"},{name:"Erzurum",shortCode:"25"},{name:"Eskisehir",shortCode:"26"},{name:"Gaziantep",shortCode:"27"},{name:"Giresun",shortCode:"28"},{name:"Gumushane",shortCode:"29"},{name:"Hakkari",shortCode:"30"},{name:"Hatay",shortCode:"31"},{name:"Igdir",shortCode:"76"},{name:"Isparta",shortCode:"32"},{name:"Istanbul",shortCode:"34"},{name:"Izmir",shortCode:"35"},{name:"Kahramanmaras",shortCode:"46"},{name:"Karabuk",shortCode:"78"},{name:"Karaman",shortCode:"70"},{name:"Kars",shortCode:"36"},{name:"Kastamonu",shortCode:"37"},{name:"Kayseri",shortCode:"38"},{name:"Kilis",shortCode:"79"},{name:"Kirikkale",shortCode:"71"},{name:"Kirklareli",shortCode:"39"},{name:"Kirsehir",shortCode:"40"},{name:"Kocaeli",shortCode:"41"},{name:"Konya",shortCode:"42"},{name:"Kutahya",shortCode:"43"},{name:"Malatya",shortCode:"44"},{name:"Manisa",shortCode:"45"},{name:"Mardin",shortCode:"47"},{name:"Mersin",shortCode:"33"},{name:"Mugla",shortCode:"48"},{name:"Mus",shortCode:"49"},{name:"Nevsehir",shortCode:"50"},{name:"Nigde",shortCode:"51"},{name:"Ordu",shortCode:"52"},{name:"Osmaniye",shortCode:"80"},{name:"Rize",shortCode:"53"},{name:"Sakarya",shortCode:"54"},{name:"Samsun",shortCode:"55"},{name:"Sanliurfa",shortCode:"63"},{name:"Siirt",shortCode:"56"},{name:"Sinop",shortCode:"57"},{name:"Sirnak",shortCode:"73"},{name:"Sivas",shortCode:"58"},{name:"Tekirdag",shortCode:"59"},{name:"Tokat",shortCode:"60"},{name:"Trabzon",shortCode:"61"},{name:"Tunceli",shortCode:"62"},{name:"Usak",shortCode:"64"},{name:"Van",shortCode:"65"},{name:"Yalova",shortCode:"77"},{name:"Yozgat",shortCode:"66"},{name:"Zonguldak",shortCode:"67"}]},{countryName:"Turkmenistan",countryShortCode:"TM",regions:[{name:"Ahal",shortCode:"A"},{name:"Asgabat",shortCode:"S"},{name:"Balkan",shortCode:"B"},{name:"Dashoguz",shortCode:"D"},{name:"Lebap",shortCode:"L"},{name:"Mary",shortCode:"M"}]},{countryName:"Turks and Caicos Islands",countryShortCode:"TC",regions:[{name:"Turks and Caicos Islands"}]},{countryName:"Tuvalu",countryShortCode:"TV",regions:[{name:"Funafuti",shortCode:"FUN"},{name:"Nanumanga",shortCode:"NMG"},{name:"Nanumea",shortCode:"NMA"},{name:"Niutao",shortCode:"NIT"},{name:"Nui",shortCode:"NUI"},{name:"Nukufetau",shortCode:"NKF"},{name:"Nukulaelae",shortCode:"NKL"},{name:"Vaitupu",shortCode:"VAU"}]},{countryName:"Uganda",countryShortCode:"UG",regions:[{name:"Abim",shortCode:"317"},{name:"Adjumani",shortCode:"301"},{name:"Amolatar",shortCode:"314"},{name:"Amuria",shortCode:"216"},{name:"Amuru",shortCode:"319"},{name:"Apac",shortCode:"302"},{name:"Arua",shortCode:"303"},{name:"Budaka",shortCode:"217"},{name:"Bududa",shortCode:"223"},{name:"Bugiri",shortCode:"201"},{name:"Bukedea",shortCode:"224"},{name:"Bukwa",shortCode:"218"},{name:"Buliisa",shortCode:"419"},{name:"Bundibugyo",shortCode:"401"},{name:"Bushenyi",shortCode:"402"},{name:"Busia",shortCode:"202"},{name:"Butaleja",shortCode:"219"},{name:"Dokolo",shortCode:"318"},{name:"Gulu",shortCode:"304"},{name:"Hoima",shortCode:"403"},{name:"Ibanda",shortCode:"416"},{name:"Iganga",shortCode:"203"},{name:"Isingiro",shortCode:"417"},{name:"Jinja",shortCode:"204"},{name:"Kaabong",shortCode:"315"},{name:"Kabale",shortCode:"404"},{name:"Kabarole",shortCode:"405"},{name:"Kaberamaido",shortCode:"213"},{name:"Kalangala",shortCode:"101"},{name:"Kaliro",shortCode:"220"},{name:"Kampala",shortCode:"102"},{name:"Kamuli",shortCode:"205"},{name:"Kamwenge",shortCode:"413"},{name:"Kanungu",shortCode:"414"},{name:"Kapchorwa",shortCode:"206"},{name:"Kasese",shortCode:"406"},{name:"Katakwi",shortCode:"207"},{name:"Kayunga",shortCode:"112"},{name:"Kibaale",shortCode:"407"},{name:"Kiboga",shortCode:"103"},{name:"Kiruhura",shortCode:"418"},{name:"Kisoro",shortCode:"408"},{name:"Kitgum",shortCode:"305"},{name:"Koboko",shortCode:"316"},{name:"Kotido",shortCode:"306"},{name:"Kumi",shortCode:"208"},{name:"Kyenjojo",shortCode:"415"},{name:"Lira",shortCode:"307"},{name:"Luwero",shortCode:"104"},{name:"Lyantonde",shortCode:"116"},{name:"Manafwa",shortCode:"221"},{name:"Maracha",shortCode:"320"},{name:"Masaka",shortCode:"105"},{name:"Masindi",shortCode:"409"},{name:"Mayuge",shortCode:"214"},{name:"Mbale",shortCode:"209"},{name:"Mbarara",shortCode:"410"},{name:"Mityana",shortCode:"114"},{name:"Moroto",shortCode:"308"},{name:"Moyo",shortCode:"309"},{name:"Mpigi",shortCode:"106"},{name:"Mubende",shortCode:"107"},{name:"Mukono",shortCode:"108"},{name:"Nakapiripirit",shortCode:"311"},{name:"Nakaseke",shortCode:"115"},{name:"Nakasongola",shortCode:"109"},{name:"Namutumba",shortCode:"222"},{name:"Nebbi",shortCode:"310"},{name:"Ntungamo",shortCode:"411"},{name:"Oyam",shortCode:"321"},{name:"Pader",shortCode:"312"},{name:"Pallisa",shortCode:"210"},{name:"Rakai",shortCode:"110"},{name:"Rukungiri",shortCode:"412"},{name:"Sembabule",shortCode:"111"},{name:"Sironko",shortCode:"215"},{name:"Soroti",shortCode:"211"},{name:"Tororo",shortCode:"212"},{name:"Wakiso",shortCode:"113"},{name:"Yumbe",shortCode:"313"}]},{countryName:"Ukraine",countryShortCode:"UA",regions:[{name:"Cherkasy",shortCode:"71"},{name:"Chernihiv",shortCode:"74"},{name:"Chernivtsi",shortCode:"77"},{name:"Dnipropetrovsk",shortCode:"12"},{name:"Donetsk",shortCode:"14"},{name:"Ivano-Frankivsk",shortCode:"26"},{name:"Kharkiv",shortCode:"63"},{name:"Kherson",shortCode:"65"},{name:"Khmelnytskyi",shortCode:"68"},{name:"Kiev",shortCode:"32"},{name:"Kirovohrad",shortCode:"35"},{name:"Luhansk",shortCode:"09"},{name:"Lviv",shortCode:"46"},{name:"Mykolaiv",shortCode:"48"},{name:"Odessa",shortCode:"51"},{name:"Poltava",shortCode:"53"},{name:"Rivne",shortCode:"56"},{name:"Sumy",shortCode:"59"},{name:"Ternopil",shortCode:"61"},{name:"Vinnytsia",shortCode:"05"},{name:"Volyn",shortCode:"07"},{name:"Zakarpattia",shortCode:"21"},{name:"Zaporizhia",shortCode:"23"},{name:"Zhytomyr",shortCode:"18"},{name:"Avtonomna Respublika Krym",shortCode:"43"},{name:"Kyïv",shortCode:"30"},{name:"Sevastopol",shortCode:"40"}]},{countryName:"United Arab Emirates",countryShortCode:"AE",regions:[{name:"Abu Dhabi",shortCode:"AZ"},{name:"Ajman",shortCode:"AJ"},{name:"Dubai",shortCode:"DU"},{name:"Fujairah",shortCode:"FU"},{name:"Ras al Khaimah",shortCode:"RK"},{name:"Sharjah",shortCode:"SH"},{name:"Umm Al Quwain",shortCode:"UQ"}]},{countryName:"United Kingdom",countryShortCode:"GB",regions:[{name:"Aberdeen City",shortCode:"Aberdeen City"},{name:"Aberdeenshire",shortCode:"Aberdeenshire"},{name:"Angus",shortCode:"Angus"},{name:"Antrim and Newtownabbey",shortCode:"Antrim and Newtownabbey"},{name:"Ards and North Down",shortCode:"Ards and North Down"},{name:"Argyll and Bute",shortCode:"Argyll and Bute"},{name:"Armagh, Banbridge and Craigavon",shortCode:"Armagh, Banbridge and Craigavon"},{name:"Barking and Dagenham",shortCode:"Barking and Dagenham"},{name:"Barnet",shortCode:"Barnet"},{name:"Barnsley",shortCode:"Barnsley"},{name:"Bath and North East Somerset",shortCode:"Bath and North East Somerset"},{name:"Bedford",shortCode:"Bedford"},{name:"Belfast",shortCode:"Belfast"},{name:"Bexley",shortCode:"Bexley"},{name:"Birmingham",shortCode:"Birmingham"},{name:"Blackburn with Darwen",shortCode:"Blackburn with Darwen"},{name:"Blackpool",shortCode:"Blackpool"},{name:"Blaenau Gwent",shortCode:"Blaenau Gwent"},{name:"Bolton",shortCode:"Bolton"},{name:"Bournemouth",shortCode:"Bournemouth"},{name:"Bracknell Forest",shortCode:"Bracknell Forest"},{name:"Bradford",shortCode:"Bradford"},{name:"Brent",shortCode:"Brent"},{name:"Bridgend",shortCode:"Bridgend"},{name:"Brighton and Hove",shortCode:"Brighton and Hove"},{name:"Bristol, City of",shortCode:"Bristol, City of"},{name:"Bromley",shortCode:"Bromley"},{name:"Buckinghamshire",shortCode:"Buckinghamshire"},{name:"Bury",shortCode:"Bury"},{name:"Caerphilly",shortCode:"Caerphilly"},{name:"Calderdale",shortCode:"Calderdale"},{name:"Cambridgeshire",shortCode:"Cambridgeshire"},{name:"Camden",shortCode:"Camden"},{name:"Cardiff",shortCode:"Cardiff"},{name:"Carmarthenshire",shortCode:"Carmarthenshire"},{name:"Causeway Coast and Glens",shortCode:"Causeway Coast and Glens"},{name:"Central Bedfordshire",shortCode:"Central Bedfordshire"},{name:"Ceredigion",shortCode:"Ceredigion"},{name:"Cheshire East",shortCode:"Cheshire East"},{name:"Cheshire West and Chester",shortCode:"Cheshire West and Chester"},{name:"Clackmannanshire",shortCode:"Clackmannanshire"},{name:"Conwy",shortCode:"Conwy"},{name:"Cornwall",shortCode:"Cornwall"},{name:"Coventry",shortCode:"Coventry"},{name:"Croydon",shortCode:"Croydon"},{name:"Cumbria",shortCode:"Cumbria"},{name:"Darlington",shortCode:"Darlington"},{name:"Denbighshire",shortCode:"Denbighshire"},{name:"Derby",shortCode:"Derby"},{name:"Derbyshire",shortCode:"Derbyshire"},{name:"Derry and Strabane",shortCode:"Derry and Strabane"},{name:"Devon",shortCode:"Devon"},{name:"Doncaster",shortCode:"Doncaster"},{name:"Dorset",shortCode:"Dorset"},{name:"Dudley",shortCode:"Dudley"},{name:"Dumfries and Galloway",shortCode:"Dumfries and Galloway"},{name:"Dundee City",shortCode:"Dundee City"},{name:"Durham County",shortCode:"Durham County"},{name:"Ealing",shortCode:"Ealing"},{name:"East Ayrshire",shortCode:"East Ayrshire"},{name:"East Dunbartonshire",shortCode:"East Dunbartonshire"},{name:"East Lothian",shortCode:"East Lothian"},{name:"East Renfrewshire",shortCode:"East Renfrewshire"},{name:"East Riding of Yorkshire",shortCode:"East Riding of Yorkshire"},{name:"East Sussex",shortCode:"East Sussex"},{name:"Edinburgh, City of",shortCode:"Edinburgh, City of"},{name:"Eilean Siar",shortCode:"Eilean Siar"},{name:"Enfield",shortCode:"Enfield"},{name:"Essex",shortCode:"Essex"},{name:"Falkirk",shortCode:"Falkirk"},{name:"Fermanagh and Omagh",shortCode:"Fermanagh and Omagh"},{name:"Fife",shortCode:"Fife"},{name:"Flintshire",shortCode:"Flintshire"},{name:"Gateshead",shortCode:"Gateshead"},{name:"Glasgow City",shortCode:"Glasgow City"},{name:"Gloucestershire",shortCode:"Gloucestershire"},{name:"Greenwich",shortCode:"Greenwich"},{name:"Gwynedd",shortCode:"Gwynedd"},{name:"Hackney",shortCode:"Hackney"},{name:"Halton",shortCode:"Halton"},{name:"Hammersmith and Fulham",shortCode:"Hammersmith and Fulham"},{name:"Hampshire",shortCode:"Hampshire"},{name:"Haringey",shortCode:"Haringey"},{name:"Harrow",shortCode:"Harrow"},{name:"Hartlepool",shortCode:"Hartlepool"},{name:"Havering",shortCode:"Havering"},{name:"Herefordshire",shortCode:"Herefordshire"},{name:"Hertfordshire",shortCode:"Hertfordshire"},{name:"Highland",shortCode:"Highland"},{name:"Hillingdon",shortCode:"Hillingdon"},{name:"Hounslow",shortCode:"Hounslow"},{name:"Inverclyde",shortCode:"Inverclyde"},{name:"Isle of Anglesey",shortCode:"Isle of Anglesey"},{name:"Isle of Wight",shortCode:"Isle of Wight"},{name:"Isles of Scilly",shortCode:"Isles of Scilly"},{name:"Islington",shortCode:"Islington"},{name:"Kensington and Chelsea",shortCode:"Kensington and Chelsea"},{name:"Kent",shortCode:"Kent"},{name:"Kingston upon Hull",shortCode:"Kingston upon Hull"},{name:"Kingston upon Thames",shortCode:"Kingston upon Thames"},{name:"Kirklees",shortCode:"Kirklees"},{name:"Knowsley",shortCode:"Knowsley"},{name:"Lambeth",shortCode:"Lambeth"},{name:"Lancashire",shortCode:"Lancashire"},{name:"Leeds",shortCode:"Leeds"},{name:"Leicester",shortCode:"Leicester"},{name:"Leicestershire",shortCode:"Leicestershire"},{name:"Lewisham",shortCode:"Lewisham"},{name:"Lincolnshire",shortCode:"Lincolnshire"},{name:"Lisburn and Castlereagh",shortCode:"Lisburn and Castlereagh"},{name:"Liverpool",shortCode:"Liverpool"},{name:"London",shortCode:"London"},{name:"Luton",shortCode:"Luton"},{name:"Manchester",shortCode:"Manchester"},{name:"Medway",shortCode:"Medway"},{name:"Merthyr Tydfil",shortCode:"Merthyr Tydfil"},{name:"Merton",shortCode:"Merton"},{name:"Mid and East Antrim",shortCode:"Mid and East Antrim"},{name:"Mid Ulster",shortCode:"Mid Ulster"},{name:"Middlesbrough",shortCode:"Middlesbrough"},{name:"Midlothian",shortCode:"Midlothian"},{name:"Milton Keynes",shortCode:"Milton Keynes"},{name:"Monmouthshire",shortCode:"Monmouthshire"},{name:"Moray",shortCode:"Moray"},{name:"Neath Port Talbot",shortCode:"Neath Port Talbot"},{name:"Newcastle upon Tyne",shortCode:"Newcastle upon Tyne"},{name:"Newham",shortCode:"Newham"},{name:"Newport",shortCode:"Newport"},{name:"Newry, Mourne and Down",shortCode:"Newry, Mourne and Down"},{name:"Norfolk",shortCode:"Norfolk"},{name:"North Ayrshire",shortCode:"North Ayrshire"},{name:"North East Lincolnshire",shortCode:"North East Lincolnshire"},{name:"North Lanarkshire",shortCode:"North Lanarkshire"},{name:"North Lincolnshire",shortCode:"North Lincolnshire"},{name:"North Somerset",shortCode:"North Somerset"},{name:"North Tyneside",shortCode:"North Tyneside"},{name:"North Yorkshire",shortCode:"North Yorkshire"},{name:"Northamptonshire",shortCode:"Northamptonshire"},{name:"Northumberland",shortCode:"Northumberland"},{name:"Nottingham",shortCode:"Nottingham"},{name:"Nottinghamshire",shortCode:"Nottinghamshire"},{name:"Oldham",shortCode:"Oldham"},{name:"Orkney Islands",shortCode:"Orkney Islands"},{name:"Oxfordshire",shortCode:"Oxfordshire"},{name:"Pembrokeshire",shortCode:"Pembrokeshire"},{name:"Perth and Kinross",shortCode:"Perth and Kinross"},{name:"Peterborough",shortCode:"Peterborough"},{name:"Plymouth",shortCode:"Plymouth"},{name:"Poole",shortCode:"Poole"},{name:"Portsmouth",shortCode:"Portsmouth"},{name:"Powys",shortCode:"Powys"},{name:"Reading",shortCode:"Reading"},{name:"Redbridge",shortCode:"Redbridge"},{name:"Redcar and Cleveland",shortCode:"Redcar and Cleveland"},{name:"Renfrewshire",shortCode:"Renfrewshire"},{name:"Rhondda, Cynon, Taff",shortCode:"Rhondda, Cynon, Taff"},{name:"Richmond upon Thames",shortCode:"Richmond upon Thames"},{name:"Rochdale",shortCode:"Rochdale"},{name:"Rotherham",shortCode:"Rotherham"},{name:"Rutland",shortCode:"Rutland"},{name:"St. Helens",shortCode:"St. Helens"},{name:"Salford",shortCode:"Salford"},{name:"Sandwell",shortCode:"Sandwell"},{name:"Scottish Borders, The",shortCode:"Scottish Borders, The"},{name:"Sefton",shortCode:"Sefton"},{name:"Sheffield",shortCode:"Sheffield"},{name:"Shetland Islands",shortCode:"Shetland Islands"},{name:"Shropshire",shortCode:"Shropshire"},{name:"Slough",shortCode:"Slough"},{name:"Solihull",shortCode:"Solihull"},{name:"Somerset",shortCode:"Somerset"},{name:"South Ayrshire",shortCode:"South Ayrshire"},{name:"South Gloucestershire",shortCode:"South Gloucestershire"},{name:"South Lanarkshire",shortCode:"South Lanarkshire"},{name:"South Tyneside",shortCode:"South Tyneside"},{name:"Southampton",shortCode:"Southampton"},{name:"Southend-on-Sea",shortCode:"Southend-on-Sea"},{name:"Southwark",shortCode:"Southwark"},{name:"Staffordshire",shortCode:"Staffordshire"},{name:"Stirling",shortCode:"Stirling"},{name:"Stockport",shortCode:"Stockport"},{name:"Stockton-on-Tees",shortCode:"Stockton-on-Tees"},{name:"Stoke-on-Trent",shortCode:"Stoke-on-Trent"},{name:"Suffolk",shortCode:"Suffolk"},{name:"Sunderland",shortCode:"Sunderland"},{name:"Surrey",shortCode:"Surrey"},{name:"Sutton",shortCode:"Sutton"},{name:"Swansea",shortCode:"Swansea"},{name:"Swindon",shortCode:"Swindon"},{name:"Tameside",shortCode:"Tameside"},{name:"Telford and Wrekin",shortCode:"Telford and Wrekin"},{name:"Thurrock",shortCode:"Thurrock"},{name:"Torbay",shortCode:"Torbay"},{name:"Torfaen",shortCode:"Torfaen"},{name:"Tower Hamlets",shortCode:"Tower Hamlets"},{name:"Trafford",shortCode:"Trafford"},{name:"Vale of Glamorgan, The",shortCode:"Vale of Glamorgan, The"},{name:"Wakefield",shortCode:"Wakefield"},{name:"Walsall",shortCode:"Walsall"},{name:"Waltham Forest",shortCode:"Waltham Forest"},{name:"Wandsworth",shortCode:"Wandsworth"},{name:"Warrington",shortCode:"Warrington"},{name:"Warwickshire",shortCode:"Warwickshire"},{name:"West Berkshire",shortCode:"West Berkshire"},{name:"West Dunbartonshire",shortCode:"West Dunbartonshire"},{name:"West Lothian",shortCode:"West Lothian"},{name:"West Sussex",shortCode:"West Sussex"},{name:"Westminster",shortCode:"Westminster"},{name:"Wigan",shortCode:"Wigan"},{name:"Wiltshire",shortCode:"Wiltshire"},{name:"Windsor and Maidenhead",shortCode:"Windsor and Maidenhead"},{name:"Wirral",shortCode:"Wirral"},{name:"Wokingham",shortCode:"Wokingham"},{name:"Wolverhampton",shortCode:"Wolverhampton"},{name:"Worcestershire",shortCode:"Worcestershire"},{name:"Wrexham",shortCode:"Wrexham"},{name:"York",shortCode:"York"}]},{countryName:"United States",countryShortCode:"US",regions:[{name:"Alabama",shortCode:"AL"},{name:"Alaska",shortCode:"AK"},{name:"American Samoa",shortCode:"AS"},{name:"Arizona",shortCode:"AZ"},{name:"Arkansas",shortCode:"AR"},{name:"California",shortCode:"CA"},{name:"Colorado",shortCode:"CO"},{name:"Connecticut",shortCode:"CT"},{name:"Delaware",shortCode:"DE"},{name:"District of Columbia",shortCode:"DC"},{name:"Micronesia",shortCode:"FM"},{name:"Florida",shortCode:"FL"},{name:"Georgia",shortCode:"GA"},{name:"Guam",shortCode:"GU"},{name:"Hawaii",shortCode:"HI"},{name:"Idaho",shortCode:"ID"},{name:"Illinois",shortCode:"IL"},{name:"Indiana",shortCode:"IN"},{name:"Iowa",shortCode:"IA"},{name:"Kansas",shortCode:"KS"},{name:"Kentucky",shortCode:"KY"},{name:"Louisiana",shortCode:"LA"},{name:"Maine",shortCode:"ME"},{name:"Marshall Islands",shortCode:"MH"},{name:"Maryland",shortCode:"MD"},{name:"Massachusetts",shortCode:"MA"},{name:"Michigan",shortCode:"MI"},{name:"Minnesota",shortCode:"MN"},{name:"Mississippi",shortCode:"MS"},{name:"Missouri",shortCode:"MO"},{name:"Montana",shortCode:"MT"},{name:"Nebraska",shortCode:"NE"},{name:"Nevada",shortCode:"NV"},{name:"New Hampshire",shortCode:"NH"},{name:"New Jersey",shortCode:"NJ"},{name:"New Mexico",shortCode:"NM"},{name:"New York",shortCode:"NY"},{name:"North Carolina",shortCode:"NC"},{name:"North Dakota",shortCode:"ND"},{name:"Northern Mariana Islands",shortCode:"MP"},{name:"Ohio",shortCode:"OH"},{name:"Oklahoma",shortCode:"OK"},{name:"Oregon",shortCode:"OR"},{name:"Palau",shortCode:"PW"},{name:"Pennsylvania",shortCode:"PA"},{name:"Puerto Rico",shortCode:"PR"},{name:"Rhode Island",shortCode:"RI"},{name:"South Carolina",shortCode:"SC"},{name:"South Dakota",shortCode:"SD"},{name:"Tennessee",shortCode:"TN"},{name:"Texas",shortCode:"TX"},{name:"Utah",shortCode:"UT"},{name:"Vermont",shortCode:"VT"},{name:"Virgin Islands",shortCode:"VI"},{name:"Virginia",shortCode:"VA"},{name:"Washington",shortCode:"WA"},{name:"West Virginia",shortCode:"WV"},{name:"Wisconsin",shortCode:"WI"},{name:"Wyoming",shortCode:"WY"},{name:"Armed Forces Americas",shortCode:"AA"},{name:"Armed Forces Europe, Canada, Africa and Middle East",shortCode:"AE"},{name:"Armed Forces Pacific",shortCode:"AP"}]},{countryName:"Vietnam",countryShortCode:"VN",regions:[{name:"Đồng Nai",shortCode:"39"},{name:"Đồng Tháp",shortCode:"45"},{name:"Gia Lai",shortCode:"30"},{name:"Hà Giang",shortCode:"03"},{name:"Hà Nam",shortCode:"63"},{name:"Hà Tây",shortCode:"15"},{name:"Hà Tĩnh",shortCode:"23"},{name:"Hải Dương",shortCode:"61"},{name:"Hậu Giang",shortCode:"73"},{name:"Hòa Bình",shortCode:"14"},{name:"Hưng Yên",shortCode:"66"},{name:"Khánh Hòa",shortCode:"34"},{name:"Kiên Giang",shortCode:"47"},{name:"Kon Tum",shortCode:"28"},{name:"Lai Châu",shortCode:"01"},{name:"Lâm Đồng",shortCode:"35"},{name:"Lạng Sơn",shortCode:"09"},{name:"Lào Cai",shortCode:"02"},{name:"Long An",shortCode:"41"},{name:"Nam Định",shortCode:"67"},{name:"Nghệ An",shortCode:"22"},{name:"Ninh Bình",shortCode:"18"},{name:"Ninh Thuận",shortCode:"36"},{name:"Phú Thọ",shortCode:"68"},{name:"Phú Yên",shortCode:"32"},{name:"Quảng Bình",shortCode:"24"},{name:"Quảng Nam",shortCode:"27"},{name:"Quảng Ngãi",shortCode:"29"},{name:"Quảng Ninh",shortCode:"13"},{name:"Quảng Trị",shortCode:"25"},{name:"Sóc Trăng",shortCode:"52"},{name:"Sơn La",shortCode:"05"},{name:"Tây Ninh",shortCode:"37"},{name:"Thái Bình",shortCode:"20"},{name:"Thái Nguyên",shortCode:"69"},{name:"Thanh Hóa",shortCode:"21"},{name:"Thừa Thiên–Huế",shortCode:"26"},{name:"Tiền Giang",shortCode:"46"},{name:"Trà Vinh",shortCode:"51"},{name:"Tuyên Quang",shortCode:"07"},{name:"Vĩnh Long",shortCode:"49"},{name:"Vĩnh Phúc",shortCode:"70"},{name:"Yên Bái",shortCode:"06"},{name:"Cần Thơ",shortCode:"CT"},{name:"Đà Nẵng",shortCode:"DN"},{name:"Hà Nội",shortCode:"HN"},{name:"Hải Phòng",shortCode:"HP"},{name:"Hồ Chí Minh (Sài Gòn)",shortCode:"SG"}]},{countryName:"Virgin Islands, British",countryShortCode:"VG",regions:[{name:"Anegada",shortCode:"ANG"},{name:"Jost Van Dyke",shortCode:"JVD"},{name:"Tortola",shortCode:"TTA"},{name:"Virgin Gorda",shortCode:"VGD"}]},{countryName:"Virgin Islands, U.S.",countryShortCode:"VI",regions:[{name:"St. Thomas",shortCode:"STH"},{name:"St. John",shortCode:"SJO"},{name:"St. Croix",shortCode:"SCR"}]}],e.exports._addressPlaceholder={ARG:"Eg: Av. del Libertador 1473, Buenos Aires",BOL:"Eg: Av Arce, 2556, La Paz",BRA:"Ex: Av Paulista, 1578, São Paulo",CAN:"Eg: 450 Wilbrod St, Ottawa",CHL:"Eg: Los Militares, 6191, Santiago",COL:"Eg: Calle 93 # 14-20, Bogotá",ECU:"Eg: Av Rio Amazonas, N 37-61, Quito",ESP:"Eg: Calle Fernando el Santo, 6, Madrid",GTM:"Eg: 6A Calle 6, Guatemala",MEX:"Eg: Calle de Tacuba 8, Ciudad de México",PER:"Eg: Av. José Pardo, 850, Miraflores, Lima",PRT:"Eg: Av. da França 20, Porto",PRY:"Eg: Avenida Eusebio Ayala, 100, Assunção",UNI:"Eg: 225 East 41st Street, New York",URY:"Eg: Bulevar Artigas, 1394, Montevidéu",USA:"Eg: 225 East 41st Street, New York",VEN:"Eg: Avenida Mohedano, Caracas",ROU:"Eg: Bulevardul Ion Mihalache, București 011192, Romania",BGR:"Eg: улица Елин Пелин 13, София",DEU:"Eg: Rheinalleee 95, Düsseldorf",FRA:"Eg: 7 Rue Hautefeuille, Paris",GBR:"Eg: 29 High Street Poole BH15 1AB",ITA:"Eg: Corso Vittorio Emanuele 69, Milano",NLD:"Eg: Surinamestraat 27, Amsterdam",POL:"Eg: Ulica Twarda 3, Szczecin",ZAF:"Eg: 234 Brickfield Rd, Salt River, Cape Town, 7501, South Africa",PAN:"Eg: C. Enrique Linares 4502",RUS:"Eg: Arbat St, 3 Moscow, Russia"}},117:(e,o,a)=>{const{_locale:t}=a(146),{_countries:n,_countriesrules:r,_cities:s,_addressPlaceholder:d}=a(540),{getShipStateValue:i}=a(255);window.callbackMap=()=>{window.vtexjs.checkout.getOrderForm((e=>{window.vcustom&&window.vcustom.checkout&&window.vcustom.customAddressFormInit&&window.vcustom.checkout.customAddressFormInit(e)}))},e.exports=class{constructor({active:e=!1}={}){this.BodyFormClasses=["v-custom-addressForm-on","v-custom-googleForm-on"],this.active=e,this.googleMapsApiKey=window.vtex.googleMapsApiKey,this.orderForm="",this.classOn="v-custom-fnsCustomAddressForm",this.deliveryCountries="",this.mainCountry="",this.lang="",this.isPickupPoint=!1,this.locale="",this.address={country:"",postalCode:"",city:"",state:"",street:"",complement:"",addressQuery:"",addressId:"",geoCoordinates:[]},this.validate=!0,this.gPlacesAutocomplete="",this.firstAttempt=!1}loadScript(){$("body").append(``\n )\n }\n\n messageTrigger(_message) {\n const message = {\n content: {\n title: '',\n detail: _message,\n },\n type: 'warning',\n }\n\n $(window).trigger('addMessage', message)\n }\n\n updateAddress(\n country = '',\n postalCode = '',\n city = '',\n state = '',\n street = '',\n number = null,\n complement = '',\n addressQuery = '',\n addressId = '',\n geoCoordinates = ''\n ) {\n this.address = {\n country,\n postalCode,\n addressId,\n city,\n state,\n geoCoordinates,\n street,\n number,\n complement,\n addressQuery,\n }\n\n if (country === '') {\n this.setForm('')\n }\n }\n\n setForm(\n country = '',\n street = '',\n formattedStreet = '',\n number = '',\n postalCode = '',\n city = '',\n state = '',\n complement = '',\n neighborhood = '',\n geoCoordinates = ''\n ) {\n const _this = this\n\n $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').val(\n 'number' in _this.addressrules &&\n _this.addressrules.number &&\n _this.addressrules.number.required\n ? street\n : formattedStreet || street\n )\n\n $('.vcustom--vtex-omnishipping-1-x-address #ship-complement').val(\n complement\n )\n $('.vcustom--vtex-omnishipping-1-x-address #ship-number').val(number)\n $('.vcustom--vtex-omnishipping-1-x-address #ship-city').val(city)\n $('.vcustom--vtex-omnishipping-1-x-address #ship-postalCode').val(\n postalCode\n )\n $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').attr(\n 'data-street',\n 'number' in _this.addressrules &&\n _this.addressrules.number &&\n _this.addressrules.number.required\n ? street\n : formattedStreet || street\n )\n $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').attr(\n 'data-number',\n 'number' in _this.addressrules &&\n _this.addressrules.number &&\n _this.addressrules.number.required\n ? number\n : null\n )\n $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').attr(\n 'data-neighborhood',\n neighborhood\n )\n $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street').attr(\n 'data-geocoordinates',\n geoCoordinates\n )\n\n $('.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-country').attr(\n 'data-country',\n country\n )\n\n $('.vcustom--vtex-omnishipping-1-x-address #ship-state').val(\n getShipStateValue(state) || ''\n )\n }\n\n updateGoogleForm(countryCode = 'usa') {\n const _this = this\n const labels = [\n {\n default: 'Street address',\n prop: 'address1Placeholder',\n element: $('label#address1-label'),\n },\n { default: 'Number', prop: 'number', element: $('label#number-label') },\n {\n default: 'Complements',\n prop: 'address2Placeholder',\n element: $('label#address2-label'),\n },\n { default: 'City', prop: 'city', element: $('label#city-label') },\n { default: 'State', prop: 'state', element: $('label#state-label') },\n {\n default: 'Country',\n prop: 'country',\n element: $('label#country-label'),\n },\n {\n default: 'Postal Code',\n prop: 'postalCode',\n element: $('label#postalCode-label'),\n },\n ]\n\n _this._locale = _locale[countryCode.toUpperCase()] || _locale.USA\n\n for (let i = 0; i < labels.length; i++) {\n const label = labels[i]\n\n label.element.text(_this._locale[label.prop] || label.default)\n }\n\n $('input#v-custom-ship-street').attr(\n 'placeholder',\n _addressPlaceholder[countryCode.toUpperCase()]\n ? _addressPlaceholder[countryCode.toUpperCase()]\n : ''\n )\n this.gPlacesAutocomplete.setComponentRestrictions({\n country: [countryCode],\n })\n }\n\n returnAddressFRules(components, attrs) {\n if (!attrs) return ''\n const { valueIn = 'short_name', types } = attrs\n\n for (let i = 0; i < types.length; i++) {\n const ruleComponent = types[i]\n\n if (\n components.find(component =>\n component.types.some(v => v === ruleComponent)\n )\n ) {\n return components.find(component =>\n component.types.some(v => v === ruleComponent)\n )[valueIn]\n }\n }\n\n return ''\n }\n\n googleForm() {\n const _this = this\n const input = document.getElementById('v-custom-ship-street')\n const geocodeClient = new window.google.maps.Geocoder()\n\n _this.gPlacesAutocomplete = new window.google.maps.places.Autocomplete(\n input\n )\n\n _this.gPlacesAutocomplete.addListener('place_changed', function () {\n const place = _this.gPlacesAutocomplete.getPlace()\n\n geocodeClient.geocode({ address: place.formatted_address })\n\n if (~window.location.host.indexOf('myvtex')) {\n console.log(place)\n }\n\n const [, country] = _countries.find(\n c =>\n c[0] ===\n place.address_components.filter(\n item => item.types[0] === 'country'\n )[0].short_name\n )\n\n const street = place.address_components.find(\n item => item.types[0] === 'route'\n )\n ? place.address_components.find(item => item.types[0] === 'route')\n .long_name\n : place.vicinity\n\n let state = _this.returnAddressFRules(\n place.address_components,\n _this.addressrules.state\n )\n\n const neighborhood = _this.addressrules.neighborhood\n ? _this.returnAddressFRules(\n place.address_components,\n _this.addressrules.neighborhood\n )\n : ''\n\n if (\n 'number' in _this.addressrules &&\n _this.addressrules.number &&\n _this.addressrules.number.required\n ) {\n $('.vcustom--vtex-omnishipping-1-x-address #ship-number').val(\n _this.returnAddressFRules(place.address_components, {\n types: ['street_number'],\n })\n )\n }\n\n const number =\n 'number' in _this.addressrules &&\n _this.addressrules.number &&\n _this.addressrules.number.required\n ? $('.vcustom--vtex-omnishipping-1-x-address #ship-number').val()\n : _this.returnAddressFRules(place.address_components, {\n types: ['street_number'],\n })\n\n const complement = _this.addressrules.complement\n ? _this.returnAddressFRules(place.address_components, {\n types: ['subpremise'],\n })\n : $('.vcustom--vtex-omnishipping-1-x-address #ship-complement').val()\n\n const geoCoordinates = [\n place.geometry.location.lng(),\n place.geometry.location.lat(),\n ]\n\n const formattedAddress = $('
    ')\n\n formattedAddress.html(place.adr_address)\n let formattedStreet = $('.street-address', formattedAddress).text()\n\n let city =\n _this.returnAddressFRules(\n place.address_components,\n _this.addressrules.city\n ) || $('.locality', formattedAddress).text()\n\n let postalCode = _this.addressrules.postalCode\n ? _this.returnAddressFRules(place.address_components, {\n types: ['postal_code'],\n })\n : '00000'\n\n // temporaly workaround for ARG\n\n if (country === 'ARG') {\n formattedStreet = street\n postalCode = postalCode.replace(/\\D/gi, '')\n if (state === 'Provincia de Buenos Aires') state = 'Buenos Aires'\n if (state.toUpperCase() === 'CABA') {\n state = 'Ciudad Autónoma de Buenos Aires'\n city = 'Ciudad Autónoma de Buenos Aires'\n }\n }\n\n _this.setForm(\n country,\n street,\n formattedStreet,\n number,\n postalCode,\n city,\n state,\n complement,\n neighborhood,\n geoCoordinates\n )\n _this.validateAllFields()\n _this.updateAddress(\n country,\n postalCode,\n city,\n state,\n street,\n number,\n complement,\n place.formatted_address,\n _this.address.addressId,\n geoCoordinates\n )\n })\n\n $('body').on('keyup', '#v-custom-ship-street', function () {\n $(this).attr('autocomplete', 'none')\n $(this).attr('data-number', '')\n $(this).attr('data-street', $(this).context.value)\n })\n\n $('body').on('focus', '#v-custom-ship-street', function () {\n $(this).attr('autocomplete', 'none')\n })\n }\n\n triggerAddressValidation() {\n window.store.dispatch({\n type: 'DISABLE_CALCULATE_BUTTON',\n isCalculateBttnEnabled: false,\n })\n }\n\n receiverNameF() {\n const _this = this\n\n if (\n _this.orderForm.clientProfileData &&\n _this.orderForm.clientProfileData.firstName &&\n _this.orderForm.clientProfileData.lastName &&\n !~window.vtexjs.checkout.orderForm.clientProfileData.firstName.indexOf(\n '*'\n )\n ) {\n return `${_this.orderForm.clientProfileData.firstName} ${\n _this.orderForm.clientProfileData.lastName\n ? _this.orderForm.clientProfileData.lastName\n : ''\n }`\n }\n\n return ''\n }\n\n geti18n() {\n const _this = this\n\n const { locale } = _this.orderForm.clientPreferencesData\n const _lang = window.vtex.i18n[locale]\n\n const lang = _lang || window.vtex.i18n[locale.split(`-`)[0]]\n\n if (!lang) window.vtex.i18n.en\n\n return lang\n }\n\n sendAddress(\n _country,\n _street,\n _number,\n _state,\n _postalCode,\n _city,\n _complement,\n _addressQuery,\n _addressId,\n _neighborhood,\n geoCoordinates\n ) {\n const _this = this\n\n if (~geoCoordinates.indexOf(',')) {\n const [lat, lng] = geoCoordinates.split(',')\n\n geoCoordinates = [parseFloat(lat), parseFloat(lng)]\n\n // temporaly workaround for ARG_country === 'MLT'\n if (_country === 'ARG' && _city.toUpperCase() === 'CABA') {\n _city = 'Ciudad Autónoma de Buenos Aires'\n }\n // end temporaly workaround for ARG\n\n // temporaly workaround for MLT\n if (_country === 'MLT') {\n _state = null\n _postalCode = null\n }\n // end temporaly workaround for MLT\n\n // temporaly workaround for USA and CAN\n if (\n _country === 'USA' ||\n _country === 'ITA' ||\n _country === 'CAN'\n ) {\n _number = null\n }\n // end temporaly workaround for USA\n\n // if (!_this.addressrules.state) {\n // _state = ''\n // }\n } else {\n geoCoordinates = []\n }\n\n $('body').addClass('js-v-custom-is-loading')\n\n const shippingInfo = {\n selectedAddresses: [\n {\n addressType: 'residential',\n receiverName: _this.receiverNameF(),\n isDisposable: false,\n postalCode: _postalCode,\n city: _city,\n state: _state,\n country: _country,\n street: _street,\n number: _number || '',\n neighborhood: _neighborhood,\n complement: _complement,\n reference: null,\n geoCoordinates: geoCoordinates || [],\n addressQuery: _addressQuery,\n },\n ],\n clearAddressIfPostalCodeNotFound: false,\n }\n\n window.vtexjs.checkout\n .sendAttachment('shippingData', {})\n .done(function () {\n $(window).trigger('VCUSTOM__ADDRESSFORM__CLEARED')\n\n $('button.vtex-front-messages-close-all.close').trigger('click')\n $('.vtex-omnishipping-1-x-warning').hide()\n $('.alert-noStreet').hide()\n $(\n '.shp-alert.vtex-omnishipping-1-x-alert.shp-alert-shipping-unavailable.vtex-omnishipping-1-x-alertPickup, .button-unavailable-delivery-pickup-wrapper'\n ).hide()\n _this.firstAttempt = true\n\n window.vtexjs.checkout\n .sendAttachment('shippingData', shippingInfo)\n .done(function (orderForm) {\n if (\n orderForm.error ||\n !orderForm.shippingData.address ||\n orderForm.items.filter(\n item => item.availability == 'cannotBeDelivered'\n ).length == orderForm.items.length\n ) {\n // eslint-disable-next-line no-alert\n $(\n '.vtex-omnishipping-1-x-warning, .step.shipping-data .box-step'\n ).show()\n $('body')\n .addClass(_this.BodyFormClasses.join(' '))\n .removeClass(\n 'js-v-custom-is-loading js-v-custom-is-loadAddress'\n )\n if (orderForm.error && orderForm.error.message)\n // eslint-disable-next-line no-alert\n alert(\n `Something went wrong: ${\n orderForm.error ? orderForm.error.message : 'null address'\n }`\n )\n\n if (\n orderForm.items.filter(\n item => item.availability == 'cannotBeDelivered'\n ).length == orderForm.items.length\n ) {\n _this.messageTrigger(\n _this.geti18n().cart.unavailableForDelivery\n )\n }\n } else {\n _this.updateAddress(\n _country,\n _postalCode,\n _city,\n _state,\n _street,\n _number,\n _complement,\n '',\n _addressQuery || '',\n _addressId || '',\n geoCoordinates || []\n )\n $('body')\n .removeClass(_this.BodyFormClasses.join(' '))\n .removeClass('js-v-custom-is-loading')\n _this.orderForm = orderForm\n _this.triggerAddressValidation()\n $(window).trigger('VCUSTOM__ADDRESSFORM__UPDATED')\n }\n })\n .fail(function (error) {\n _this.orderForm = window.vtexjs.checkout.orderForm\n $('body').removeClass(\n 'js-v-custom-is-loading js-v-custom-is-loadAddress'\n )\n console.error(\n `Something went wrong: Custom Address Form (sendAddress) --> ${error}`\n )\n })\n })\n .fail(function (error) {\n _this.orderForm = window.vtexjs.checkout.orderForm\n $('body').removeClass(\n 'js-v-custom-is-loading js-v-custom-is-loadAddress'\n )\n console.error(\n `Something went wrong: Custom Address Form (sendAddress) --> ${error}`\n )\n })\n }\n\n getRegions(country) {\n const countryRegions = _cities.find(\n city => city.countryShortCode === country\n )\n\n return countryRegions.regions.map(i => {\n return ``\n })\n }\n\n getCountries() {\n const _this = this\n\n /* eslint eqeqeq: 0 */\n if (\n _this.deliveryCountries == ['BRA'] ||\n _this.deliveryCountries == 'BRA'\n ) {\n _this.deliveryCountries =\n window.vtexjs.checkout.orderForm.shippingData.logisticsInfo[0].shipsTo\n }\n\n return _this.deliveryCountries.map(countryCode => {\n const _i18n = window.vtex.i18n[_this.lang]\n ? window.vtex.i18n[_this.lang]\n : window.vtex.i18n[window.vtex.i18n.locale]\n\n let ret = ''\n\n if (_i18n.countries[countryCode]) {\n ret = ``\n }\n\n return ret\n })\n }\n\n updateFormFieldByCountry(addressrules) {\n const number = $('.vcustom--vtex-omnishipping-1-x-address p.ship-number')\n const state = $('.vcustom--vtex-omnishipping-1-x-address p.ship-state')\n\n if (\n 'number' in addressrules &&\n addressrules.number &&\n addressrules.number.required\n ) {\n number.show()\n number.find('input').attr('required', 'required')\n } else {\n number.hide()\n number.find('input').removeAttr('required')\n }\n\n if (addressrules.state) {\n state.show()\n state.find('select').attr('required', 'required')\n } else {\n state.hide()\n state.find('select').removeAttr('required')\n }\n }\n\n form(orderForm) {\n const _this = this\n\n const { shippingData } = orderForm\n\n const country = _countries.find(c => c[1] === _this.mainCountry)\n\n const { isPickupPoint } = this\n\n const form = `\n
    \n
    \n
    \n

    ${\n _this.locale.requiredField\n ? _this.locale.requiredField\n : 'This field is required.'\n }

    \n
    \n

    ${\n _this.locale ? _this.locale.requiredField : 'This field is required.'\n }

    \n

    \n
    \n
    \n

    \n

    ${\n _this.locale.requiredField\n ? _this.locale.requiredField\n : 'This field is required.'\n }

    \n

    \n \n ${\n _this.locale.requiredField\n ? _this.locale.requiredField\n : 'This field is required.'\n }\n

    \n

    ${\n _this.locale.requiredField\n ? _this.locale.requiredField\n : 'This field is required.'\n }

    \n
    \n

    \n
    \n
    \n
    \n `\n\n if (shippingData.address && !isPickupPoint) {\n $('.vcustom--vtex-omnishipping-1-x-address #ship-state').val(\n getShipStateValue(shippingData.address.state)\n )\n }\n\n if (\n $('.vcustom--vtex-omnishipping-1-x-address.step').length == 0 &&\n shippingData.logisticsInfo[0].selectedDeliveryChannel !==\n 'pickup-in-point' &&\n window.location.href.indexOf('shipping') !== -1\n ) {\n $('.orderform-template-holder #shipping-data').append(form)\n }\n\n if (\n $('#shipping-option-pickup-in-point').hasClass(\n 'vtex-omnishipping-1-x-deliveryOptionActive'\n )\n ) {\n $('body').removeClass('v-custom-addressForm-on')\n }\n\n this.googleForm()\n this.updateGoogleForm(country[1].toLowerCase())\n\n // sort countries\n const sel = $('.vcustom--vtex-omnishipping-1-x-address #ship-country')\n const selected = sel.val() // cache selected value, before reordering\n const optsList = sel.find('option')\n\n optsList.sort(function (a, b) {\n return $(a).text() > $(b).text() ? 1 : -1\n })\n sel.html('').append(optsList)\n sel.val(selected) // set cached selected value\n\n shippingData.address && shippingData.address.addressType === 'search'\n ? (this.isPickupPoint = true)\n : (this.isPickupPoint = false)\n }\n\n validateAllFields() {\n const _this = this\n\n _this.validate = true\n $(\n '.vcustom--vtex-omnishipping-1-x-address input:required, .vcustom--vtex-omnishipping-1-x-address select:required'\n ).each(function () {\n if (this.value === '') {\n $(this).addClass('error')\n _this.validate = false\n } else {\n $(this).removeClass('error')\n }\n })\n }\n\n scrollToAddress() {\n const doc = document.documentElement\n const scrollTop =\n (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)\n\n const posSPtop = $('#shipping-data').offset().top\n\n if (scrollTop > posSPtop) window.scrollTo(0, posSPtop)\n }\n\n submitAddressForm() {\n const _this = this\n\n _this.validateAllFields()\n\n if (!_this.validate) return\n\n const _st = $(\n '.vcustom--vtex-omnishipping-1-x-address #v-custom-ship-street'\n )\n\n const country = $(\n '.vcustom--vtex-omnishipping-1-x-address #ship-country'\n ).val()\n\n const street = _st.attr('data-street') || ''\n const number = $(\n '.vcustom--vtex-omnishipping-1-x-address #ship-number'\n ).val()\n ? $('.vcustom--vtex-omnishipping-1-x-address #ship-number').val()\n : _st.attr('data-number') || ''\n\n const geoCoordinates = _st.attr('data-geocoordinates') || []\n const neighborhood = _st.attr('data-neighborhood') || null\n const complement = $(\n '.vcustom--vtex-omnishipping-1-x-address #ship-complement'\n ).val()\n\n const city = $('.vcustom--vtex-omnishipping-1-x-address #ship-city').val()\n const [stateShortCode, stateName] = $(\n '.vcustom--vtex-omnishipping-1-x-address #ship-state'\n )\n .val()\n .split(',')\n\n const state = stateShortCode || stateName\n\n const postalCode = $(\n '.vcustom--vtex-omnishipping-1-x-address #ship-postalCode'\n ).val()\n\n _this.sendAddress(\n country,\n street,\n number,\n state,\n postalCode,\n city,\n complement,\n _this.address.addressQuery,\n _this.address.addressId,\n neighborhood,\n geoCoordinates\n )\n }\n\n updateFormByCountry(countryCode) {\n if (~window.location.host.indexOf('myvtex')) {\n console.log('countryCode:', countryCode)\n }\n\n const _this = this\n const country = _countries.find(c => c[1] === countryCode)\n const state = _this.address.state || null\n\n _this.getCountryRule(country[1]).then(rules => {\n _this.addressrules = rules\n _this.updateFormFieldByCountry(_this.addressrules)\n $(\"select[name='v-custom-state']\").html(\n `${_this.getRegions(country[0]).join('')}`\n )\n if (state && getShipStateValue(state)) {\n $('.vcustom--vtex-omnishipping-1-x-address #ship-state').val(\n getShipStateValue(state)\n )\n }\n\n _this.updateGoogleForm(countryCode.toLowerCase())\n })\n }\n\n bind() {\n const _this = this\n\n $('body').on(\n 'click',\n '.step.shipping-data .vtex-omnishipping-1-x-buttonEditAddress, .step.shipping-data .vtex-omnishipping-1-x-linkEdit',\n function () {\n if (\n !$('#shipping-option-pickup-in-point').hasClass(\n 'vtex-omnishipping-1-x-deliveryOptionActive'\n )\n ) {\n const indexAddress = $(\n '.vtex-omnishipping-1-x-addressItemOption.vtex-omnishipping-1-x-active'\n ).index()\n\n let addressClicked = _this.orderForm.shippingData.availableAddresses.find(\n address => {\n return (\n address.addressId ==\n _this.orderForm.shippingData.address.addressId\n )\n }\n )\n\n if (!addressClicked) {\n if (indexAddress < 0) {\n addressClicked = addressClicked.selectedAddresses[0]\n } else {\n addressClicked = addressClicked.availableAddresses[indexAddress]\n }\n }\n\n if (\n addressClicked &&\n addressClicked.city &&\n addressClicked.city.indexOf('*') < 0\n ) {\n try {\n $('body').addClass(_this.BodyFormClasses.join(' '))\n if (\n addressClicked.isDisposable ||\n ~window.location.origin.indexOf('myvtex')\n ) {\n setTimeout(() => {\n let countryClicked = _this.deliveryCountries.filter(\n country => country == addressClicked.country\n )\n\n countryClicked = countryClicked.length\n ? countryClicked[0]\n : _this.deliveryCountries[0]\n\n addressClicked.street = addressClicked.street || ''\n _this.updateAddress(\n countryClicked,\n addressClicked.postalCode,\n addressClicked.city,\n addressClicked.state,\n addressClicked.number,\n addressClicked.street,\n addressClicked.complement,\n '',\n addressClicked.addressId,\n addressClicked.geoCoordinates\n )\n\n $(\n '.vcustom--vtex-omnishipping-1-x-address #ship-country'\n ).val(countryClicked)\n _this.updateFormByCountry(countryClicked)\n _this.setForm(\n countryClicked,\n addressClicked.street,\n addressClicked.addressQuery,\n addressClicked.number,\n addressClicked.postalCode,\n addressClicked.city,\n addressClicked.state,\n addressClicked.complement,\n addressClicked.neighborhood,\n addressClicked.geoCoordinates\n )\n\n _this.triggerAddressValidation()\n }, 100)\n }\n } catch (e) {\n $('body').removeClass(_this.BodyFormClasses.join(' '))\n }\n } else {\n $('body').removeClass(_this.BodyFormClasses.join(' '))\n }\n }\n }\n )\n\n $('body').on(\n 'click',\n '.vtex-omnishipping-1-x-buttonCreateAddress, .vtex-omnishipping-1-x-disclaimer a#remove-unavailable-items',\n function () {\n if (\n !$('#shipping-option-pickup-in-point').hasClass(\n 'vtex-omnishipping-1-x-deliveryOptionActive'\n )\n ) {\n $('body').addClass(_this.BodyFormClasses.join(' '))\n _this.address.addressId = ''\n _this.updateAddress('')\n }\n }\n )\n\n $('body').on('click', '#shipping-option-pickup-in-point', function () {\n $('body').removeClass(_this.BodyFormClasses.join(' '))\n })\n\n $('body').on(\n 'click',\n '.vtex-omnishipping-1-x-backToAddressList',\n function () {\n $('body').removeClass(_this.BodyFormClasses.join(' '))\n _this.address.addressId = ''\n }\n )\n\n $('body').on(\n 'click',\n '.vtex-omnishipping-1-x-addressItemOption',\n function () {\n _this.address.addressId = _this.orderForm.shippingData\n .availableAddresses[$(this).index()]\n ? _this.orderForm.shippingData.availableAddresses[$(this).index()]\n .addressId\n : ''\n }\n )\n\n $('body').on('change', \"select[name='v-custom-country']\", function (e) {\n e.stopImmediatePropagation()\n try {\n _this.updateFormByCountry(this.value)\n _this.updateAddress('')\n } catch (err) {\n console.error(`updateFormByCountry ${this.value} error:`, err)\n }\n })\n\n $('body').on('click', '#btn-go-to-shippping-method', function (e) {\n e.preventDefault()\n e.stopImmediatePropagation()\n _this.submitAddressForm()\n _this.scrollToAddress()\n })\n\n $('body').on(\n 'keyup',\n '.vcustom--vtex-omnishipping-1-x-address input',\n function () {\n if (this.value !== '') {\n $(this).removeClass('error')\n }\n }\n )\n }\n\n checkFirstLogin(orderForm) {\n const _this = this\n\n if (orderForm && orderForm.shippingData) {\n if (\n (orderForm.shippingData.address === null ||\n orderForm.shippingData.address.addressType === 'search') &&\n !_this.firstAttempt &&\n $('.vtex-omnishipping-1-x-deliveryOptionActive').attr('id') ===\n 'shipping-option-delivery'\n ) {\n $('body').addClass(_this.BodyFormClasses[0])\n }\n }\n }\n\n getCountryRule(country) {\n const _this = this\n\n return fetch(`/rules/${country}`)\n .then(res => res.json())\n .then(jsonRes => {\n const { data: rules, success } = jsonRes\n\n if(country==\"MLT\") {\n return _countriesrules.MLT\n }\n\n return success ? rules.geolocation : _this.getCountryRule('default')\n })\n .catch(error => {\n throw new Error(error)\n })\n }\n\n loadingAddress() {\n $(window).on('VCUSTOM__ADDRESSFORM__CLEARED', function () {\n console.log('VCUSTOM__ADDRESSFORM__CLEARED')\n $('body').addClass('js-v-custom-is-loadAddress')\n })\n\n $(window).on('VCUSTOM__ADDRESSFORM__UPDATED', function () {\n console.log('VCUSTOM__ADDRESSFORM__UPDATED')\n $('body').removeClass('js-v-custom-is-loadAddress')\n })\n }\n\n events() {\n const _this = this\n\n _this.loadingAddress()\n $(window).on('orderFormUpdated.vtex', function (evt, orderForm) {\n _this.orderForm = orderForm\n _this.checkFirstLogin(orderForm)\n })\n }\n\n init(orderForm) {\n const _this = this\n\n try {\n if (!window.google) _this.loadScript()\n } catch (e) {\n console.warn(\n `Error in customFormInit while loading \"loadScript\" function`\n )\n }\n\n if (\n orderForm &&\n window.google &&\n $('.vcustom--vtex-omnishipping-1-x-address').length < 1 &&\n orderForm.items.length\n ) {\n\n const lastCountry = _this.orderForm.shippingData?.address?.country || _this.orderForm.storePreferencesData.countryCode\n\n $('body').addClass(`${this.classOn}`)\n _this.orderForm = orderForm\n _this\n .getCountryRule(lastCountry)\n .then(rules => {\n _this.addressrules = rules\n _this.bind()\n _this.deliveryCountries = window.checkout.deliveryCountries()\n _this.mainCountry = window.checkout.countryCode()\n _this.lang = _this.orderForm.clientPreferencesData.locale\n\n _this.locale =\n _locale[_this.orderForm.storePreferencesData.countryCode] ||\n _locale.GBR\n\n if (_this.lang === 'es-AR') _this.lang = 'es'\n\n if (_this.orderForm && _this.orderForm.shippingData) {\n const shippingData = _this.orderForm.shippingData.address\n\n if (shippingData) {\n _this.updateAddress(\n shippingData.country,\n shippingData.postalCode,\n shippingData.city,\n shippingData.state,\n shippingData.street,\n shippingData.number,\n shippingData.complement,\n '',\n shippingData.addressId,\n shippingData.geoCoordinates\n )\n } else {\n _this.updateAddress('')\n }\n }\n\n _this.form(orderForm)\n })\n }\n }\n}\n\nmodule.exports = fnsCustomAddressForm\n\n\n//# sourceURL=webpack://us-checkout-builder/./src/_js/_customAddressForm.js?"); + +/***/ }), + +/***/ "./src/_js/_debug.js": +/*!***************************!*\ + !*** ./src/_js/_debug.js ***! + \***************************/ +/***/ ((module) => { + +eval("/* eslint-disable no-console */\nclass debug {\n constructor({\n logo = '',\n } = {}) {\n this.classOn = 'debug-on'\n\n this.logo = logo\n this.headerHTML = `
    `\n this.footerHTML = `
    `\n }\n\n headernFooter() {\n $('body').prepend(this.headerHTML)\n $('body').append(this.footerHTML)\n }\n\n start() {\n $('body').addClass(this.classOn)\n this.headernFooter()\n console.log(\n \"%c >>>>> YOU ARE CURRENTLY DEBUGING THE HEADER, IT'S A BETA! ISSUES CAN HAPPEN... Use `vcustom.debug.stop()` to stop! \",\n 'background: #111; color: #bada55'\n )\n }\n\n stop() {\n $('body').removeClass(this.classOn)\n $('.debug-elem').remove()\n }\n}\n\nmodule.exports = debug\n\n\n//# sourceURL=webpack://us-checkout-builder/./src/_js/_debug.js?"); + +/***/ }), + +/***/ "./src/_js/_locale-infos.js": +/*!**********************************!*\ + !*** ./src/_js/_locale-infos.js ***! + \**********************************/ +/***/ ((module) => { + +eval("module.exports._locale = {\n BRA: {\n couponInactive: 'Nenhum desconto aplicado. Confira as regras.',\n editLabel: 'Editar',\n deliveryDateText: 'Entrega até',\n PickupDateText: 'Pronto até',\n eachLabel: 'cada',\n tomorrowLabel: 'Amanhã',\n cartSubmitButton: 'Continuar pagamento',\n checkoutStepsLabelCart: 'Carrinho',\n checkoutStepsLabelIdentification: 'Identificação',\n checkoutStepsLabelShipping: 'Entrega',\n checkoutStepsLabelPayment: 'Pagamento',\n checkoutStepsLabelConfirmation: 'Confirmação',\n city: 'Cidade',\n state: 'Estado',\n number: 'Número',\n postalCode: 'Código postal',\n address1Placeholder: 'Endereço',\n address2Placeholder: 'Complemento',\n requiredField: 'Este campo é obrigatório.',\n locale: 'pt-BR',\n },\n CAN: {\n couponInactive: 'No discounts available. Check the conditions.',\n editLabel: 'Edit',\n paypalImg: '',\n paypalPhone: '1 (888) 221-1161',\n cartSubmitButton: 'Proceed to Payment',\n deliveryDateText: 'Arrives by',\n PickupDateText: 'Ready by',\n eachLabel: 'each',\n tomorrowLabel: 'Tomorrow',\n cartNoteLabel: 'Gift Message or Comments',\n identifiedUserMessage: `Thanks for coming back!\\nTo expedite your transaction, we have securely populated your information for you.`,\n address1Placeholder: 'Street address',\n address2Placeholder: 'Apartment, suite, building, floor, etc (optional)',\n checkoutStepsLabelCart: 'Cart',\n checkoutStepsLabelIdentification: 'Identification',\n checkoutStepsLabelShipping: 'Shipping',\n checkoutStepsLabelPayment: 'Payment',\n checkoutStepsLabelConfirmation: 'Confirmation',\n googleAddressLabel: 'Street Address',\n requiredField: 'This field is required.',\n city: 'City',\n state: 'State',\n locale: 'en-CA',\n },\n USA: {\n country: 'Country',\n postalCode: 'Postal Code',\n couponInactive: 'No discounts available. Check the conditions.',\n editLabel: 'Edit',\n paypalImg: '',\n paypalPhone: '1 (888) 221-1161',\n cartSubmitButton: 'Proceed to Payment',\n deliveryDateText: 'Arrives by',\n PickupDateText: 'Ready by',\n eachLabel: 'each',\n tomorrowLabel: 'Tomorrow',\n cartNoteLabel: 'Gift Message or Comments',\n identifiedUserMessage: `Thanks for coming back!\\nTo expedite your transaction, we have securely populated your information for you.`,\n address1Placeholder: 'Street address or P.O. Box',\n address2Placeholder: 'Apartment, suite, building, floor, etc (optional)',\n checkoutStepsLabelCart: 'Cart',\n checkoutStepsLabelIdentification: 'Identification',\n checkoutStepsLabelShipping: 'Shipping',\n checkoutStepsLabelPayment: 'Payment',\n checkoutStepsLabelConfirmation: 'Confirmation',\n googleAddressLabel: 'Street Address',\n requiredField: 'This field is required.',\n city: 'City',\n state: 'State',\n locale: 'en-US',\n noStreetAddress:\n 'Your shipping information is missing a required field, please include a street or P.O. Box',\n },\n GBR: {\n couponInactive: 'No discounts available. Check the conditions.',\n editLabel: 'Edit',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Proceed to Payment',\n deliveryDateText: 'Arrives by',\n PickupDateText: 'Ready by',\n eachLabel: 'each',\n tomorrowLabel: 'Tomorrow',\n cartNoteLabel: 'Gift Message or Comments',\n identifiedUserMessage: `Thanks for coming back!\\nTo expedite your transaction, we have securely populated your information for you.`,\n address1Placeholder: 'Street address',\n address2Placeholder: 'Apartment, suite, building, floor, etc (optional)',\n checkoutStepsLabelCart: 'Cart',\n checkoutStepsLabelIdentification: 'Identification',\n checkoutStepsLabelShipping: 'Shipping',\n checkoutStepsLabelPayment: 'Payment',\n checkoutStepsLabelConfirmation: 'Confirmation',\n requiredField: 'This field is required.',\n city: 'Town',\n state: 'County',\n number: 'Number',\n postalCode: 'Postal Code',\n locale: 'en-GB',\n },\n IRL: {\n couponInactive: 'No discounts available. Check the conditions.',\n editLabel: 'Edit',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Proceed to Payment',\n deliveryDateText: 'Arrives by',\n PickupDateText: 'Ready by',\n eachLabel: 'each',\n tomorrowLabel: 'Tomorrow',\n cartNoteLabel: 'Gift Message or Comments',\n identifiedUserMessage: `Thanks for coming back!\\nTo expedite your transaction, we have securely populated your information for you.`,\n address1Placeholder: 'Street address',\n address2Placeholder: 'Apartment, suite, building, floor, etc (optional)',\n checkoutStepsLabelCart: 'Cart',\n checkoutStepsLabelIdentification: 'Identification',\n checkoutStepsLabelShipping: 'Shipping',\n checkoutStepsLabelPayment: 'Payment',\n checkoutStepsLabelConfirmation: 'Confirmation',\n requiredField: 'This field is required.',\n city: 'Town',\n state: 'County',\n number: 'Number',\n postalCode: 'Postal Code',\n locale: 'en-IE',\n },\n POR: {\n couponInactive: 'Nenhum desconto aplicado. Confira as regras.',\n editLabel: 'Editar',\n paypalImg: '',\n paypalPhone: '',\n deliveryDateText: 'Entrega até',\n PickupDateText: 'Pronto até',\n eachLabel: 'cada',\n tomorrowLabel: 'Amanhã',\n checkoutStepsLabelCart: 'Carrinho',\n checkoutStepsLabelIdentification: 'Identificação',\n checkoutStepsLabelShipping: 'Entrega',\n checkoutStepsLabelPayment: 'Pagamento',\n checkoutStepsLabelConfirmation: 'Confirmação',\n requiredField: 'Este campo é obrigatório',\n locale: 'pt-BR',\n },\n ESP: {\n couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.',\n editLabel: 'Editar',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Proceder al pago',\n deliveryDateText: 'Llega por',\n PickupDateText: 'Disponible',\n eachLabel: 'cada',\n tomorrowLabel: 'Mañana',\n cartNoteLabel: 'Mensaje de regalo o comentarios',\n address1Placeholder: 'Dirección',\n address2Placeholder: 'Dirección Complementaria',\n checkoutStepsLabelCart: 'Carrito',\n checkoutStepsLabelIdentification: 'Identificación',\n checkoutStepsLabelShipping: 'Entrega',\n checkoutStepsLabelPayment: 'Pago',\n checkoutStepsLabelConfirmation: 'Confirmación',\n city: 'Ciudad',\n postalCode: 'Código Postal',\n goToShipping: 'Ir para la Entrega',\n state: 'Provincia',\n requiredField: 'Este campo es obligatorio.',\n number: 'Número',\n locale: 'es',\n },\n ARG: {\n couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.',\n editLabel: 'Editar',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Proceder al pago',\n deliveryDateText: 'Llega por',\n PickupDateText: 'Disponible',\n eachLabel: 'cada',\n tomorrowLabel: 'Mañana',\n cartNoteLabel: 'Mensaje de regalo o comentarios',\n address1Placeholder: 'Dirección',\n address2Placeholder: 'Dirección Complementaria',\n checkoutStepsLabelCart: 'Carrito',\n checkoutStepsLabelIdentification: 'Identificación',\n checkoutStepsLabelShipping: 'Entrega',\n checkoutStepsLabelPayment: 'Pago',\n checkoutStepsLabelConfirmation: 'Confirmación',\n requiredField: 'Este campo es obligatorio.',\n city: 'Ciudad',\n state: 'Província',\n locale: 'ar',\n },\n COL: {\n couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.',\n editLabel: 'Editar',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Proceder al pago',\n deliveryDateText: 'Llega por',\n PickupDateText: 'Disponible',\n eachLabel: 'cada',\n tomorrowLabel: 'Mañana',\n cartNoteLabel: 'Mensaje de regalo o comentarios',\n address1Placeholder: 'Dirección',\n address2Placeholder: 'Dirección Complementaria',\n checkoutStepsLabelCart: 'Carrito',\n checkoutStepsLabelIdentification: 'Identificación',\n checkoutStepsLabelShipping: 'Entrega',\n checkoutStepsLabelPayment: 'Pago',\n checkoutStepsLabelConfirmation: 'Confirmación',\n requiredField: 'Este campo es obligatorio.',\n locale: 'es-CO',\n },\n PAN: {\n couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.',\n editLabel: 'Editar',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Proceder al pago',\n deliveryDateText: 'Llega por',\n PickupDateText: 'Disponible',\n eachLabel: 'cada',\n tomorrowLabel: 'Mañana',\n cartNoteLabel: 'Mensaje de regalo o comentarios',\n address1Placeholder: 'Dirección',\n address2Placeholder: 'Dirección Complementaria',\n checkoutStepsLabelCart: 'Carrito',\n checkoutStepsLabelIdentification: 'Identificación',\n checkoutStepsLabelShipping: 'Entrega',\n checkoutStepsLabelPayment: 'Pago',\n checkoutStepsLabelConfirmation: 'Confirmación',\n requiredField: 'Este campo es obligatorio.',\n city: 'Ciudad',\n state: 'Estado',\n locale: 'es-PA',\n },\n MEX: {\n couponInactive: 'No hay descuentos disponibles. Consulta las condiciones.',\n editLabel: 'Editar',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Proceder al pago',\n deliveryDateText: 'Llega por',\n PickupDateText: 'Disponible',\n eachLabel: 'cada',\n tomorrowLabel: 'Mañana',\n cartNoteLabel: 'Mensaje de regalo o comentarios',\n address1Placeholder: 'Dirección',\n address2Placeholder: 'Dirección Complementaria',\n checkoutStepsLabelCart: 'Carrito',\n checkoutStepsLabelIdentification: 'Identificación',\n checkoutStepsLabelShipping: 'Entrega',\n checkoutStepsLabelPayment: 'Pago',\n checkoutStepsLabelConfirmation: 'Confirmación',\n requiredField: 'Este campo es obligatorio.',\n locale: 'es-MX',\n },\n ITA: {\n couponInactive: 'Nessuno sconto disponibile. Controlla le condizioni.',\n editLabel: 'Modifica',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Procedi al pagamento',\n deliveryDateText: 'In consegna entro',\n PickupDateText: 'Pronto entro',\n eachLabel: 'ciascuno',\n tomorrowLabel: 'Domani',\n country: 'Paese',\n cartNoteLabel: \"Messaggio d'auguri o note\",\n address1Placeholder: 'Indirizzo',\n address2Placeholder: 'Complementi',\n checkoutStepsLabelCart: 'Carrello',\n checkoutStepsLabelIdentification: 'Identificazione',\n checkoutStepsLabelShipping: 'Spedizione',\n checkoutStepsLabelPayment: 'Pagamento',\n checkoutStepsLabelConfirmation: 'Conferma',\n city: 'Città',\n state: 'Provincia',\n number: 'Numero',\n postalCode: 'Codice Postale',\n requiredField: 'Questo campo è obbligatorio.',\n numberPlaceholder: ' ',\n locale: 'it',\n goToShipping: 'Vai alla spedizione',\n },\n FRA: {\n couponInactive: 'Aucune réduction disponible. Vérifiez les conditions.',\n editLabel: 'Modifier',\n paypalImg: '',\n paypalPhone: '+33 0186995653',\n cartSubmitButton: 'Procéder au paiement',\n deliveryDateText: 'Arrive le',\n PickupDateText: 'Prêt le',\n eachLabel: 'chaque',\n tomorrowLabel: 'Demain',\n address1Placeholder: 'Adresse ou Boîte postale',\n address2Placeholder:\n 'Appartement, suite, bâtiment, étage, etc (facultatif)',\n checkoutStepsLabelCart: 'Panier',\n checkoutStepsLabelIdentification: 'Identification',\n checkoutStepsLabelShipping: 'Expédition',\n checkoutStepsLabelPayment: 'Paiement',\n checkoutStepsLabelConfirmation: 'Confirmation',\n requiredField: 'Ce champ est obligatoire.',\n city: 'Ville',\n state: 'État',\n number: 'Numéro',\n postalCode: 'Code Postal',\n locale: 'fr',\n },\n FIN: {\n couponInactive: 'Alennuksia ei saatavilla. Tarkasta ehdot.',\n editLabel: 'Muokkaa',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Jatka maksuun',\n deliveryDateText: 'Saapumisarvio',\n PickupDateText: 'Valmiusarvio',\n eachLabel: 'kappale',\n tomorrowLabel: 'Huomenna',\n checkoutStepsLabelCart: 'Ostoskori',\n checkoutStepsLabelIdentification: 'Tunniste',\n checkoutStepsLabelShipping: 'Toimitus',\n checkoutStepsLabelPayment: 'Maksu',\n checkoutStepsLabelConfirmation: 'Vahvistus',\n locale: 'fi',\n },\n SWE: {\n couponInactive: 'Inga rabatter tillgängliga, kontrollera villkoren.',\n editLabel: 'Redigera',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Fortsätt till betalning',\n deliveryDateText: 'Ankommer den',\n PickupDateText: 'Redo den',\n eachLabel: 'var',\n tomorrowLabel: 'Imorgon',\n checkoutStepsLabelCart: 'Kundvagn',\n checkoutStepsLabelIdentification: 'Identifikation',\n checkoutStepsLabelShipping: 'Leverans',\n checkoutStepsLabelPayment: 'Betalning',\n checkoutStepsLabelConfirmation: 'Bekräftelse',\n locale: 'sv',\n },\n AUT: {\n couponInactive: 'Kein Rabatt verfügbar. Überprüfen Sie die Bedingungen.',\n editLabel: 'Anpassen',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Weiter zur Zahlung',\n deliveryDateText: 'Lieferung bis',\n PickupDateText: 'Abholbereit bis',\n eachLabel: 'jedes/jeder',\n tomorrowLabel: 'Morgen',\n address1Placeholder: 'Straße',\n address2Placeholder: 'Straße (weiter)',\n postalCode: 'Postleitzahl',\n country: 'Land',\n city: 'Stadt',\n state: 'Bundesland',\n number: 'Hausnummer',\n checkoutStepsLabelCart: 'Warenkorb',\n checkoutStepsLabelIdentification: 'Anmeldung',\n checkoutStepsLabelShipping: 'Versand',\n checkoutStepsLabelPayment: 'Zahlung',\n checkoutStepsLabelConfirmation: 'Bestätigung',\n googleAddressLabel: 'Adresse',\n locale: 'de-DE',\n cartNoteLabel: 'Bestellhinweis',\n identifiedUserMessage:\n 'Willkommen zurück!\\nUm Ihren Einkauf zu vereinfachen haben wir Ihre sicher gespeicherten Informationen eingetragen.',\n requiredField: 'Pflichftfeld.',\n },\n DEU: {\n couponInactive: 'Kein Rabatt verfügbar. Überprüfen Sie die Bedingungen.',\n editLabel: 'Anpassen',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Weiter zur Zahlung',\n deliveryDateText: 'Lieferung bis',\n PickupDateText: 'Abholbereit bis',\n eachLabel: 'jedes/jeder',\n tomorrowLabel: 'Morgen',\n address1Placeholder: 'Straße',\n address2Placeholder: 'Straße (weiter)',\n postalCode: 'Postleitzahl',\n country: 'Land',\n city: 'Stadt',\n state: 'Bundesland',\n number: 'Hausnummer',\n checkoutStepsLabelCart: 'Warenkorb',\n checkoutStepsLabelIdentification: 'Anmeldung',\n checkoutStepsLabelShipping: 'Versand',\n checkoutStepsLabelPayment: 'Zahlung',\n checkoutStepsLabelConfirmation: 'Bestätigung',\n googleAddressLabel: 'Adresse',\n locale: 'de-DE',\n cartNoteLabel: 'Bestellhinweis',\n identifiedUserMessage:\n 'Willkommen zurück!\\nUm Ihren Einkauf zu vereinfachen haben wir Ihre sicher gespeicherten Informationen eingetragen.',\n },\n ARA: {\n couponInactive: 'لا توجد خصومات متاحة. تحقق من الشروط.',\n editLabel: 'تعديل',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'انتقل إلى الدفع',\n deliveryDateText: 'تصل قبل',\n PickupDateText: 'جاهزة قبل',\n eachLabel: 'كل',\n tomorrowLabel: 'غدًا',\n cartNoteLabel: 'رسالة هدية أو تعليقات',\n identifiedUserMessage: `شكرًا على عودتك!\\nTلتسريع معاملتك، قمنا بتعبئة معلوماتك بشكل آمن.`,\n address1Placeholder: 'عنوان الشارع',\n address2Placeholder: 'شقة، جناح، مبنى، طابق، إلخ (اختياري)',\n checkoutStepsLabelCart: 'عربة التسوق',\n checkoutStepsLabelIdentification: 'الهوية',\n checkoutStepsLabelShipping: 'التسوق',\n checkoutStepsLabelPayment: 'الدفع',\n checkoutStepsLabelConfirmation: 'تأكيد',\n requiredField: 'هذا الحقل مطلوب.',\n locale: 'ar-TN',\n },\n RUS: {\n couponInactive: 'Скидки недоступны. Проверьте условия.',\n editLabel: 'Редактировать',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Перейте к оплате',\n deliveryDateText: 'Дата прибытия',\n PickupDateText: 'Дата готовности',\n eachLabel: 'каждый',\n tomorrowLabel: 'Завтра',\n cartNoteLabel: 'Сообщение о подарке или комментарии',\n identifiedUserMessage: `Спасибо, что вернулись!\\nДля ускорения вашей транзакции мы заполнили вашу информацию. Не волнуйтесь, ваши данные надёжно защищены.`,\n address1Placeholder: 'Адрес проживания/улица или адрес почтового ящика',\n address2Placeholder: 'Квартира, номер дома, этаж (дополнительно)',\n checkoutStepsLabelCart: 'Корзина',\n checkoutStepsLabelIdentification: 'Идентификация',\n checkoutStepsLabelShipping: 'Доставка',\n checkoutStepsLabelPayment: 'Оплата',\n checkoutStepsLabelConfirmation: 'Подтверждение',\n googleAddressLabel: 'Улица и номер дома',\n requiredField: 'Это обязательное поле.',\n city: 'Город',\n state: 'Область',\n locale: 'ru',\n },\n POL: {\n couponInactive: 'Brak dostępnych upustów. Sprawdź warunki.',\n editLabel: 'Edytuj',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Przejdź do płatności',\n deliveryDateText: 'Dotrze do',\n PickupDateText: 'Gotowe do',\n eachLabel: 'sztuka',\n tomorrowLabel: 'Jutro',\n cartNoteLabel: 'Wiadomość o podarunku lub komentarze',\n identifiedUserMessage:\n 'Dziękujemy, że do nas wróciłeś!\\nAby usprawnić Twoją transakcję, w bezpieczny sposób wypełniliśmy za Ciebie Twoje dane.',\n address1Placeholder: 'Adres domowy lub skrzynka pocztowa',\n address2Placeholder:\n 'Mieszkanie, apartament, budynek, piętro itd. (opcjonalnie)',\n checkoutStepsLabelCart: 'Koszyk',\n checkoutStepsLabelIdentification: 'Identyfikacja',\n checkoutStepsLabelShipping: 'Wysyłka',\n checkoutStepsLabelPayment: 'Płatność',\n checkoutStepsLabelConfirmation: 'Potwierdzenie',\n googleAddressLabel: 'Adres domowy',\n requiredField: 'To pole jest wymagane.',\n city: 'Miejscowość',\n state: 'Stan (województwo)',\n locale: 'pl',\n },\n ZAF: {\n couponInactive: 'No discounts available. Check the conditions.',\n editLabel: 'Edit',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Proceed to Payment',\n deliveryDateText: 'Arrives by',\n PickupDateText: 'Ready by',\n eachLabel: 'each',\n tomorrowLabel: 'Tomorrow',\n cartNoteLabel: 'Gift Message or Comments',\n identifiedUserMessage: `Thanks for coming back!\\nTo expedite your transaction, we have securely populated your information for you.`,\n address1Placeholder: 'Street address or P.O. Box',\n address2Placeholder: 'Apartment number, unit, floor, etc.',\n checkoutStepsLabelCart: 'Cart',\n checkoutStepsLabelIdentification: 'Identification',\n checkoutStepsLabelShipping: 'Shipping',\n checkoutStepsLabelPayment: 'Payment',\n checkoutStepsLabelConfirmation: 'Confirmation',\n googleAddressLabel: 'Street Address',\n requiredField: 'This field is required.',\n city: 'City',\n state: 'State',\n locale: 'en-ZA',\n },\n GRC: {\n couponInactive: 'Δεν υπάρχουν διαθέσιμες εκπτώσεις. Ελέγξτε τους όρους.',\n editLabel: 'Επεξεργασία',\n paypallmg: '',\n paypalPhone: '',\n cartSubmitButton: 'Μετάβαση στην Πληρωμή',\n deliveryDateText: 'Άφιξη έως',\n PickupDateText: 'Έτοιμο έως',\n eachLabel: 'καθεμία',\n tomorrowLabel: 'Αύριο',\n cartNoteLabel: 'Μήνυμα δώρου ή Σχόλια',\n identifiedUserMessage:\n 'Ευχαριστούμε που επανήλθατε!\\n Για να επισπεύσουμε τη συναλλαγή σας, έχουμε συμπληρώσει με ασφάλεια τις πληροφορίες για εσάς.',\n address1Placeholder: 'Διεύθυνση οδού ή Ταχυδρομική Θυρίδα',\n address2Placeholder: 'Διαμέρισμα, σουίτα, κτήριο, όροφος κλπ (προαιρετικό)',\n checkoutStepsLabelCart: 'Καρότσι',\n checkoutStepsLabelIdentification: 'Αναγνώριση',\n checkoutStepsLabelShipping: 'Αποστολή',\n checkoutStepsLabelPayment: 'Πληρωμή',\n checkoutStepsLabelConfirmation: 'Επιβεβαίωση',\n googleAddressLabel: 'Διεύθυνση οδού',\n requiredField: 'Αυτό το πεδίο είναι υποχρεωτικό.',\n city: 'Πόλη',\n state: 'Χώρα',\n locale: 'gr',\n },\n CHE: {\n couponInactive: 'Keine Rabatte verfügbar. Prüfen Sie die Bedingungen.',\n editLabel: 'Bearbeiten',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Zur Zahlung übergehen',\n deliveryDateText: 'Kommt an bis',\n PickupDateText: 'Bereit bis',\n eachLabel: 'jeder',\n tomorrowLabel: 'Morgen',\n cartNoteLabel: 'Geschenknachricht oder Kommentare',\n identifiedUserMessage:\n 'Danke, dass Sie zurückgekommen sind!\\nUm Ihre Transaktion zu beschleunigen, haben wir Ihre Daten für Sie sicher ausgefüllt.',\n address1Placeholder: 'Straße oder Anschrift Box',\n address2Placeholder:\n 'Wohnung, Appartement, Gebäude, Stockwerk, usw. (optional)',\n checkoutStepsLabelCart: 'Warenkorb',\n checkoutStepsLabelIdentification: 'Kennzeichnung',\n checkoutStepsLabelShipping: 'Versand',\n checkoutStepsLabelPayment: 'Zahlung',\n checkoutStepsLabelConfirmation: 'Bestätigung',\n googleAddressLabel: 'Straße und Hausnummer',\n requiredField: 'Dieses Feld ist erforderlich.',\n city: 'Stadt',\n state: 'Staat',\n locale: 'fr-CH',\n },\n HRV: {\n couponInactive: 'Popusti niso na voljo. Preverite pogoje.',\n editLabel: 'Uredi',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Nadaljujte na plačilom',\n deliveryDateText: 'Prispe do',\n PickupDateText: 'Pripravljeno do',\n eachLabel: 'posamezen',\n tomorrowLabel: 'Jutri',\n cartNoteLabel: 'Darilno sporočilo ali komentarji',\n identifiedUserMessage:\n 'Hvala, ker ste se vrnili! Da bi pospešili vašo transakcijo, smo za vas varno izpolnili vaše podatke.',\n address1Placeholder: 'Ulični naslov ali poštna št',\n address2Placeholder:\n 'Apartma, apartma, stavba, nadstropje itd. (neobvezno)',\n checkoutStepsLabelCart: 'Košarica',\n checkoutStepsLabelIdentification: 'Identifikacija',\n checkoutStepsLabelShipping: 'Odpošiljanje',\n checkoutStepsLabelPayment: 'Plačilo',\n checkoutStepsLabelConfirmation: 'Potrditev',\n googleAddressLabel: 'Naslov ulice',\n requiredField: 'To polje je obvezno.',\n city: 'Mesto',\n state: 'Država',\n locale: 'hr',\n },\n ROU: {\n couponInactive:\n 'Nu sunt disponibile reduceri. Este necesară verificarea condițiilor.',\n editLabel: 'Editează',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Mergi la plată',\n deliveryDateText: 'Sosește până la',\n PickupDateText: 'Este pregătit până la',\n eachLabel: 'fiecare',\n tomorrowLabel: 'Mâine',\n cartNoteLabel: 'Mesaj cadou sau observații',\n identifiedUserMessage:\n 'Îți mulțumim că ai revenit!\\nPentru a-ți accelera tranzacția, am populat în condiții de siguranță informațiile tale',\n address1Placeholder: 'Strada sau cutia poștală',\n address2Placeholder: 'Apartament, clădire, etaj etc. (opțional)',\n checkoutStepsLabelCart: 'Coș de cumpărături',\n checkoutStepsLabelIdentification: 'Identificare',\n checkoutStepsLabelShipping: 'Expediere',\n checkoutStepsLabelPayment: 'Plată',\n checkoutStepsLabelConfirmation: 'Confirmare',\n googleAddressLabel: 'Adresa',\n requiredField: 'Acest câmp este obligatoriu.',\n city: 'Oraș',\n state: 'Stat',\n locale: 'ro-MD',\n },\n NLD: {\n couponInactive: 'Geen kortingen beschikbaar. Controleer de voorwaarden.',\n editLabel: 'Bewerken',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Ga naar betaling',\n deliveryDateText: 'Word geleverd op',\n PickupDateText: 'Klaar op',\n eachLabel: 'elk',\n tomorrowLabel: 'Morgen',\n cartNoteLabel: 'Geschenkboodschap of commentaar',\n identifiedUserMessage:\n 'Bedankt dat u terugkwam!\\nOm uw transactie te bespoedigen, hebben wij uw gegevens veilig voor u ingevuld.',\n address1Placeholder: 'Adres of postbus ',\n address2Placeholder:\n 'Appartement, suite, gebouw, verdieping, enz (facultatief)',\n checkoutStepsLabelCart: 'Winkelwagen',\n checkoutStepsLabelIdentification: 'Identificatie',\n checkoutStepsLabelShipping: 'Verzending',\n checkoutStepsLabelPayment: 'Betaling',\n checkoutStepsLabelConfirmation: 'Bevestiging',\n googleAddressLabel: 'Adres',\n requiredField: 'Dit veld is verplicht.',\n city: 'Stad',\n state: 'Staat',\n locale: 'nl',\n },\n BEL: {\n couponInactive: 'Geen kortingen beschikbaar. Controleer de voorwaarden.',\n editLabel: 'Bewerken',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Ga naar betaling',\n deliveryDateText: 'Word geleverd op',\n PickupDateText: 'Klaar op',\n eachLabel: 'elk',\n tomorrowLabel: 'Morgen',\n cartNoteLabel: 'Geschenkboodschap of commentaar',\n identifiedUserMessage:\n 'Bedankt dat u terugkwam!\\nOm uw transactie te bespoedigen, hebben wij uw gegevens veilig voor u ingevuld.',\n address1Placeholder: 'Adres of postbus ',\n address2Placeholder:\n 'Appartement, suite, gebouw, verdieping, enz (facultatief)',\n checkoutStepsLabelCart: 'Winkelwagen',\n checkoutStepsLabelIdentification: 'Identificatie',\n checkoutStepsLabelShipping: 'Verzending',\n checkoutStepsLabelPayment: 'Betaling',\n checkoutStepsLabelConfirmation: 'Bevestiging',\n googleAddressLabel: 'Adres',\n requiredField: 'Dit veld is verplicht.',\n city: 'Stad',\n state: 'Staat',\n locale: 'nl-BE',\n },\n CZE: {\n couponInactive: 'Nie sú dostupné žiadne zľavy. Pozrite si podmienky.',\n editLabel: 'Upraviť',\n paypalImg: '',\n paypalPhone: '',\n cartSubmitButton: 'Pokračovať k platbe',\n deliveryDateText: 'Bude doručené do',\n PickupDateText: 'Pripravené na vyzdvihnutie',\n eachLabel: 'každé',\n tomorrowLabel: 'zajtra',\n cartNoteLabel: 'Odkaz k darčeku alebo komentáre',\n identifiedUserMessage:\n 'Ďakujeme, že ste tu znova!\\nNa urýchlenie vašej transakcie sme za vás bezpečne vyplnili vaše informácie.',\n address1Placeholder: 'Ulica alebo P.O. box',\n address2Placeholder: 'Byt, apartmán, budova, poschodie atď. (voliteľné)',\n checkoutStepsLabelCart: 'Košík',\n checkoutStepsLabelIdentification: 'Identifikácia',\n checkoutStepsLabelShipping: 'Dodanie',\n checkoutStepsLabelPayment: 'Platba',\n checkoutStepsLabelConfirmation: 'Potvrdenie',\n googleAddressLabel: 'Ulica',\n requiredField: 'Toto pole je povinné.',\n city: 'Mesto',\n state: 'Štát',\n locale: 'cs',\n },\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./src/_js/_locale-infos.js?"); + +/***/ }), + +/***/ "./src/_js/_utils.js": +/*!***************************!*\ + !*** ./src/_js/_utils.js ***! + \***************************/ +/***/ ((module) => { + +eval("module.exports.debounce = (func, wait) => {\n let timeout\n\n return function executedFunction(...args) {\n const later = () => {\n clearTimeout(timeout)\n func(...args)\n }\n\n clearTimeout(timeout)\n timeout = setTimeout(later, wait)\n }\n}\n\nmodule.exports.formatCurrency = (_locale, _currency, _value) => {\n const price = _value / 100\n\n new Intl.NumberFormat(_locale, {\n style: 'currency',\n currency: _currency,\n }).format(price)\n\n return price\n}\n\nmodule.exports.findClosestLang = (clientLocale, locales) => {\n const [clientLang] = clientLocale.split('-')\n\n return Object.values(locales).find(country => {\n const [countryLang] = country.locale.split('-')\n\n return clientLang === countryLang\n })\n}\n\nmodule.exports.getShipStateValue = state => {\n const stateValue =\n $(\n `.vcustom--vtex-omnishipping-1-x-address #ship-state option[value^='${state}']`\n ).val() ||\n $(\n `.vcustom--vtex-omnishipping-1-x-address #ship-state option[value$='${state}']`\n ).val()\n\n return stateValue\n}\n\nmodule.exports.parseDateBd = input => {\n const parts = input.match(/(\\d+)/g)\n\n return new Date(parts[0], parts[1] - 1, parts[2]) // months are 0-based\n}\n\nmodule.exports.getVtexAddress = async postalCode => {\n try {\n const response = await fetch(\n `/api/checkout/pub/postal-code/BRA/${postalCode}`\n )\n\n if (!response.ok) throw new Error('Erro ao buscar endereço na VTEX')\n\n const address = await response.json()\n\n if (address.city === '') {\n throw new Error('Endereço não encontrado')\n }\n\n return address\n } catch (error) {\n console.error('Error getting VTEX address', error)\n\n return null\n }\n}\n\nmodule.exports.getAddressByViaCep = async postalCode => {\n try {\n const response = await fetch(\n `https://viacep.com.br/ws/${postalCode.replace('-', '')}/json/`\n )\n\n if (!response.ok) throw new Error('Erro ao buscar endereço no ViaCep')\n\n return await response.json()\n } catch (error) {\n console.error('Error getting ViaCep address', error)\n\n return { erro: true }\n }\n}\n\nmodule.exports.validateRangePostalCode = async postalCode => {\n try {\n const response = await fetch(\n `/api/dataentities/CR/search?isActive=true&_fields=FinalRange,initialRange`\n )\n\n if (!response.ok)\n throw new Error('Erro ao buscar intervalos de CEP na VTEX')\n const addressRanges = await response.json()\n\n const isWithinRange = addressRanges.some(range => {\n const initialRange = parseInt(range.initialRange, 10)\n const finalRange = parseInt(range.FinalRange, 10)\n const code = parseInt(postalCode.replace('-', ''), 10)\n\n return code >= initialRange && code <= finalRange\n })\n\n return isWithinRange\n } catch (error) {\n console.error('Error getting VTEX address', error)\n\n return false\n }\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./src/_js/_utils.js?"); + +/***/ }), + +/***/ "./src/_js/_v.custom.checkout.ui.js": +/*!******************************************!*\ + !*** ./src/_js/_v.custom.checkout.ui.js ***! + \******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("/* eslint-disable no-console */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable no-inner-declarations */\n/* eslint-disable no-prototype-builtins */\n/* eslint-disable vtex/prefer-early-return */\n/* eslint-disable func-names */\nconst { _locale } = __webpack_require__(/*! ./_locale-infos.js */ \"./src/_js/_locale-infos.js\")\nconst {\n debounce,\n formatCurrency,\n findClosestLang,\n parseDateBd,\n getVtexAddress,\n getAddressByViaCep,\n validateRangePostalCode,\n} = __webpack_require__(/*! ./_utils.js */ \"./src/_js/_utils.js\")\nconst {\n _countriesrules,\n _countries,\n _cities,\n _addressPlaceholder,\n} = __webpack_require__(/*! ./_countries.js */ \"./src/_js/_countries.js\")\nconst FnsCustomAddressForm = __webpack_require__(/*! ./_customAddressForm.js */ \"./src/_js/_customAddressForm.js\");\nconst { set } = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/index.js\");\n\nclass checkoutCustom {\n constructor({\n type = 'vertical',\n accordionPayments = true,\n deliveryDateFormat = false,\n quantityPriceCart = false,\n showNoteField = false,\n customAddressForm = false,\n hideEmailStep = true,\n } = {}) {\n this.type = type // [\"vertical\"]\n this.orderForm = ''\n this.orderId = this.orderForm ? this.orderForm.orderFormId : ''\n this.lang = ''\n this.checkoutButton = null\n\n this.accordionPayments = accordionPayments\n this.deliveryDateFormat = deliveryDateFormat\n this.quantityPriceCart = quantityPriceCart\n this.showNoteField = showNoteField\n this.customAddressForm = customAddressForm\n this.hideEmailStep = hideEmailStep\n\n this._holidays = null\n this.countriesRules = _countriesrules\n this.countries = _countries\n this.cities = _cities\n this.addressPlaceholder = _addressPlaceholder\n }\n\n general() {\n if (!$('.custom-cart-template-wrap').length) {\n $('.cart-template.mini-cart .cart-fixed > *').wrapAll(\n '
    '\n )\n }\n\n $('.table.cart-items tbody tr.product-item').each(function () {\n if (!$(this).find('.v-custom-product-item-wrap').length) {\n $(this).find('> *').wrapAll(`
    `)\n }\n })\n\n $('body').addClass('v-custom-loaded')\n }\n\n onDomMutation({ targetNode, callback, disconnectCondition = true }) {\n const observeDOM = (function () {\n const MutationObserver =\n window.MutationObserver || window.WebKitMutationObserver\n\n return function (obj, callback1) {\n if (!obj || obj.nodeType !== 1) return\n\n if (MutationObserver) {\n // define a new observer\n const mutationObserver = new MutationObserver(callback1)\n\n // have the observer observe foo for changes in children\n mutationObserver.observe(obj, {\n childList: true,\n subtree: true,\n })\n\n return mutationObserver\n }\n\n // browser support fallback\n if (window.addEventListener) {\n obj.addEventListener('DOMNodeInserted', callback1, false)\n obj.addEventListener('DOMNodeRemoved', callback1, false)\n }\n }\n })()\n\n const observer = new MutationObserver(function () {\n if (targetNode && disconnectCondition) {\n observer.disconnect()\n\n observeDOM(targetNode, () => callback())\n }\n })\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n })\n }\n\n buildVertical() {\n $('body').addClass('body-cart-vertical')\n if ($('.cart-template .cart-links-bottom:eq(0)').length) {\n this.checkoutButton = $('.cart-template .cart-links-bottom:eq(0)')\n }\n\n if (this.checkoutButton) {\n this.checkoutButton.appendTo('.cart-template > .summary-template-holder')\n }\n }\n\n buildHorizontal() {}\n\n showDeliveryOptions() {\n const { hash } = window.location\n if (hash !== '#/cart') return\n const _this = this\n\n const observer = new MutationObserver((mutations, obs) => {\n const shippingCalculator = $('.cart-template .cart-more-options').eq(0)\n const alreadyAppended = !!document.querySelector(\n '.cart-template.active .summary-totalizers .cart-more-options'\n )\n\n if (shippingCalculator.length && !alreadyAppended) {\n shippingCalculator.appendTo('.summary-totalizers')\n console.log('appended')\n _this.buildShippingBar()\n _this.buildShippingOptions()\n obs.disconnect()\n }\n })\n\n const config = {\n childList: true,\n subtree: true,\n }\n\n observer.observe(document.body, config)\n }\n\n builder() {\n const _this = this\n\n if (_this.type === 'vertical') {\n _this.buildVertical()\n } else if (_this.type === 'horizontal') {\n _this.buildHorizontal()\n } else {\n console.error('No `type` identified, check your code')\n }\n\n if (_this.showNoteField) {\n $('body').addClass('js-vcustom-showNoteField')\n }\n\n if (_this.hideEmailStep) {\n $('body').addClass('js-vcustom-hideEmailStep')\n }\n\n _this.showDeliveryOptions()\n }\n\n checkEmpty(items) {\n if (items?.length === 0) {\n $('body').addClass('v-custom-cart-empty')\n } else {\n $('body').removeClass('v-custom-cart-empty')\n }\n }\n\n addEditButtoninLogin() {\n $('#v-custom-edit-login-data').remove()\n $('.client-pre-email h3.client-pre-email-h span').append(`\n \n \n \n \n `)\n }\n\n addStepsHeader() {\n if ($('.checkout-steps').length > 0 || !this.lang) return false\n\n const addStepsHeaderHtml = `\n
    \n
    \n \n \n \n \n
    \n \n ${\n this.lang.checkoutStepsLabelCart || 'Cart'\n }\n \n \n ${\n this.lang.checkoutStepsLabelIdentification || 'Identification'\n }\n \n \n ${\n this.lang.checkoutStepsLabelShipping || 'Shipping'\n }\n \n \n ${\n this.lang.checkoutStepsLabelPayment || 'Payment'\n }\n \n \n ${\n this.lang.checkoutStepsLabelConfirmation || 'Confirmation'\n }\n \n
    \n
    \n
    \n `\n\n if ($('header.main-header').length) {\n $('header.main-header .container').append(addStepsHeaderHtml)\n }\n }\n\n addAssemblies(orderForm) {\n try {\n $.each(orderForm.items, function (i) {\n const _item = this\n\n if (_item.assemblies.length > 0) {\n let _assembliesHtml = `
    `\n\n $.each(_item.assemblies, function () {\n const _assemblies = this\n\n const inptValues = _assemblies.inputValues\n\n _assembliesHtml += `

    ${_assemblies.id}

    `\n _assembliesHtml += `
      `\n Object.entries(inptValues).forEach(([key, val]) => {\n _assembliesHtml += `
    • \n ${key}\n ${val.trim()}\n
    • `\n })\n _assembliesHtml += `
    `\n })\n _assembliesHtml += `
    `\n if (\n !$(`.table.cart-items tbody > tr.product-item:eq(${i})`).hasClass(\n 'v-custom-assemblies-in'\n )\n ) {\n $(`.table.cart-items tbody > tr.product-item:eq(${i})`)\n .addClass('v-custom-assemblies-in')\n .find('td.product-name')\n .append(_assembliesHtml)\n }\n }\n })\n } catch (e) {\n console.error('addAssemblies error:', e)\n }\n }\n\n bundleItems(orderForm) {\n try {\n $.each(orderForm.items, function (i) {\n if (this.bundleItems.length > 0) {\n $(`.table.cart-items tbody > tr.product-item:eq(${i})`)\n .addClass('v-custom-bundles-in')\n .find('td.product-name')\n } else {\n $(`.table.cart-items tbody > tr.product-item:eq(${i})`).removeClass(\n 'v-custom-bundles-in'\n )\n }\n })\n $('.table.cart-items tbody tr.item-service').each(function () {\n if ($(this).find('.v-custom-trservice-wrap').length > 0) return false\n $(this).find('> *').wrapAll(`
    `)\n })\n } catch (e) {\n console.error('bundleItems error:', e)\n }\n }\n\n showCustomMsgCoupon(orderForm) {\n const _this = this\n const _coupon = orderForm.marketingData.coupon\n\n const couponItemsCount = orderForm.items.reduce(function (\n accumulator,\n item\n ) {\n return (\n accumulator +\n (item.priceTags.length\n ? item.priceTags.filter(_pricetag => {\n return _pricetag.ratesAndBenefitsIdentifier\n ? _pricetag.ratesAndBenefitsIdentifier.matchedParameters[\n 'couponCode@Marketing'\n ] === _coupon\n : 0\n }).length\n : 0)\n )\n },\n 0)\n\n // Match coupon with rateAndBenefitsIdentifiers\n let couponMatch = null\n\n if (\n orderForm.ratesAndBenefitsData &&\n orderForm.ratesAndBenefitsData.rateAndBenefitsIdentifiers.length\n ) {\n couponMatch = orderForm.ratesAndBenefitsData.rateAndBenefitsIdentifiers.find(\n item => item.name === _coupon\n )\n }\n\n if (!_coupon || couponItemsCount > 0 || couponMatch) {\n $('fieldset.coupon-fieldset').removeClass(\n 'js-vcustom-showCustomMsgCoupon'\n )\n $('.vcustom-showCustomMsgCoupon').remove()\n\n return false\n }\n\n if ($('.vcustom-showCustomMsgCoupon').length === 0) {\n $('fieldset.coupon-fieldset')\n .addClass('js-vcustom-showCustomMsgCoupon')\n .append(\n `

    ${_this.lang.couponInactive}

    `\n )\n }\n }\n\n addLabels(orderForm) {\n const _coupon = orderForm.marketingData.coupon\n const _couponItems = []\n\n if (!_coupon) return false\n\n try {\n $(\n `.table.cart-items tbody tr.product-item, .mini-cart .cart-items li`\n ).removeClass('v-custom-addLabels-active js-vcustom-addLabels')\n $(`.v-custom-addLabels-active-flag`).remove()\n $.each(orderForm.items, function (i) {\n if (this.priceTags.length > 0) {\n if (\n this.priceTags.filter(_pricetag => {\n return _pricetag.ratesAndBenefitsIdentifier\n ? _pricetag.ratesAndBenefitsIdentifier.matchedParameters[\n 'couponCode@Marketing'\n ] === _coupon\n : false\n }).length > 0\n ) {\n _couponItems.push(this)\n $(`.table.cart-items tbody tr.product-item:eq(${i})`)\n .addClass('v-custom-addLabels-active js-vcustom-addLabels')\n .find('.product-name')\n .append(\n `${_coupon}`\n )\n }\n }\n })\n } catch (e) {\n console.error(e)\n }\n }\n\n buildMiniCart(orderForm) {\n /* overide refresh from vtex */\n if (\n orderForm.items.filter(item => {\n return item.parentItemIndex !== null\n }).length === 0\n ) {\n return false\n }\n\n const _items = orderForm.items\n\n if ($('.mini-cart .cart-items > li').length === _items.length) {\n $(`.mini-cart .cart-items`).html(`${$(`.mini-cart .cart-items`).html()}`)\n $.each(orderForm.items, function (i) {\n if (this.availability === 'available') {\n $(`.mini-cart .cart-items > li:eq(${i})`)\n .find('.item-unavailable')\n .remove()\n }\n })\n }\n }\n\n setParentIndex(orderForm) {\n const _orderForm = orderForm.items.filter(item => !item.isGift) // remove gift\n\n $.each(_orderForm, function (i) {\n if (this.parentItemIndex !== null) {\n $(`.table.cart-items tbody > tr.product-item:eq(${i})`).attr(\n 'data-parentItemIndex',\n this.parentItemIndex\n )\n }\n })\n }\n\n handleBreakpointChange() {\n if (window.innerWidth <= 767) {\n $('body').on('click', '#edit-address-button', () => {\n setTimeout(() => {\n const shippingDataElement = document.getElementById('shipping-data')\n const offset = shippingDataElement.offsetTop - 200\n\n window.scrollTo({\n top: offset,\n behavior: 'smooth',\n })\n }, 500)\n })\n }\n }\n\n removeMCLoader() {\n $(`.mini-cart .cart-items`).addClass('v-loaded')\n }\n\n removeCILoader() {\n $(`.cart-items`).addClass('v-loaded')\n }\n\n enchanceSummary(key, obj) {\n const _this = this\n\n if (\n _this.orderForm &&\n $('.mini-cart .cart-items > li').length === _this.orderForm.items.length\n ) {\n $(`.mini-cart .cart-items > li:eq(${key})`)\n .find(`.v-custom-bundles`)\n .remove()\n $(`.mini-cart .cart-items > li:eq(${key})`)\n .append(`
    `)\n .addClass('v-custom-indexedItems-in')\n if (\n $(`.mini-cart .cart-items > li:eq(${key})`)\n .find(' > .v-custom-bundles')\n .html() === ''\n ) {\n for (const prop in obj) {\n if (!obj.hasOwnProperty(prop)) continue\n const iiItem = obj[prop]\n\n $(`.mini-cart .cart-items > li:eq(${key}) > .v-custom-bundles`)\n .append(`\n
    \n \n \"${iiItem.name}\"\n \n ${iiItem.name}\n ${iiItem.quantity}\n
    \n \n ${\n iiItem.sellingPrice\n ? `${\n _this.orderForm.storePreferencesData.currencySymbol\n } ${formatCurrency(\n _this.orderForm.clientPreferencesData.locale,\n _this.orderForm.storePreferencesData.currencyCode,\n iiItem.sellingPrice\n ).toFixed(2)}`\n : `Free`\n } \n
    \n
    \n `)\n $(`.mini-cart .cart-items > li[data-sku='${iiItem.id}']`).addClass(\n 'v-custom-indexed-item'\n )\n }\n }\n }\n }\n\n indexedInItems(orderForm) {\n const _this = this\n\n try {\n if (\n orderForm.items.filter(item => {\n return item.parentItemIndex !== null\n }).length === 0\n ) {\n _this.removeMCLoader()\n\n return false\n }\n\n const _orderForm = orderForm.items.filter(item => !item.isGift) // remove gift\n\n if (_orderForm.length) {\n const indexedInItems = _orderForm.reduce((c, v) => {\n if (v.parentItemIndex !== null) {\n const index = v.parentItemIndex\n\n c[index] = c[index] || []\n c[index].push(v)\n }\n\n return c\n }, {})\n\n for (const key in indexedInItems) {\n const obj = indexedInItems[key]\n\n if (\n !$(`.table.cart-items tbody > tr.product-item:eq(${key})`).find(\n '.v-custom-bundles'\n ).length\n ) {\n $(`.table.cart-items tbody > tr.product-item:eq(${key})`)\n .append(`
    `)\n .addClass('v-custom-indexedItems-in')\n if (\n $(`.table.cart-items tbody > tr.product-item:eq(${key})`)\n .find('.v-custom-bundles')\n .html() === ''\n ) {\n for (const prop in obj) {\n if (!obj.hasOwnProperty(prop)) continue\n const iiItem = obj[prop]\n\n $(\n `.table.cart-items tbody > tr.product-item[data-sku='${iiItem.id}'][data-parentitemindex='${iiItem.parentItemIndex}'], .table.cart-items tbody > tr.product-item[data-sku='${iiItem.id}'][data-parentitemindex='${iiItem.parentItemIndex}'] + .item-unavailable`\n )\n .addClass('v-custom-indexed-item')\n .clone()\n .appendTo(\n `.table.cart-items tbody > tr.product-item:eq(${key}) > .v-custom-bundles`\n )\n }\n }\n }\n\n _this.enchanceSummary(key, obj)\n setTimeout(function () {\n _this.enchanceSummary(key, obj)\n }, 150)\n }\n\n _this.removeMCLoader()\n }\n } catch (e) {\n _this.removeMCLoader()\n }\n }\n\n holidaysBetweenDates(d0, d1, _holidays) {\n /* Two working days and an sunday (not working day) */\n const holidays = _holidays\n\n let holidaysCount = 0\n\n holidays.forEach(day => {\n if (new Date(day) >= d0 && new Date(day) <= d1) {\n /* If it is not saturday (6) or sunday (0), substract it */\n if (parseDateBd(day).getDay() % 6 !== 0) {\n holidaysCount++\n }\n }\n })\n\n return holidaysCount\n }\n\n addBusinessDays(n, days, lang = window.i18n.options.lng) {\n const _this = this\n\n const typeDays = days.replace(/[0-9]/g, '')\n\n try {\n let d = new Date()\n\n d = new Date(d.getTime())\n const day = d.getDay()\n\n if (typeDays === 'd') {\n d.setDate(d.getDate() + n)\n } else {\n d.setDate(\n d.getDate() +\n n +\n (day === 6 ? 2 : +!day) +\n Math.floor((n - 1 + (day % 6 || 1)) / 5) * 2\n )\n }\n\n let bdHolidays = 0\n\n if (_this._holidays) {\n bdHolidays = _this.holidaysBetweenDates(\n new Date(),\n d,\n _this._holidays.map(hd => hd.startDate.split('T')[0])\n )\n }\n\n if (_this._holidays && _this._holidays.name === 'Error') bdHolidays = 0\n\n let dhd = new Date()\n\n if (bdHolidays) {\n dhd = new Date(dhd.getTime())\n const dhdDay = dhd.getDay()\n\n dhd.setDate(\n dhd.getDate() +\n (n + bdHolidays) +\n (dhdDay === 6 ? 2 : +!dhdDay) +\n Math.floor((n + bdHolidays - 1 + (dhdDay % 6 || 1)) / 5) * 2\n )\n }\n\n let newDate = bdHolidays ? dhd : d\n\n let doptions = { weekday: 'long', month: 'short', day: 'numeric' }\n\n if (lang === 'pt') {\n doptions = { weekday: 'short', month: 'short', day: 'numeric' }\n }\n\n if (d.getDate() - new Date().getDate() === 1) {\n return _this.lang.tomorrowLabel || 'Tomorrow'\n }\n\n newDate = newDate.toLocaleDateString(lang, doptions)\n\n return newDate\n } catch (e) {\n console.error(`Error at \"addBusinessDays\":`, e)\n }\n }\n\n buildShippingOptions() {\n const observer = new MutationObserver((mutations, obs) => {\n const deliverySelect = document.querySelector('.srp-delivery-select')\n\n if (deliverySelect) {\n if (document.querySelector('.radio-options-container')) {\n obs.disconnect()\n\n return\n }\n\n const options = deliverySelect.querySelectorAll('option')\n\n const radioContainer = document.createElement('div')\n\n radioContainer.classList.add('radio-options-container')\n\n function updateSelect(value) {\n deliverySelect\n .querySelector(`option[value=\"${value}\"]`)\n .parentNode.click()\n\n deliverySelect.value = value\n deliverySelect.dispatchEvent(\n new CustomEvent('change', { bubbles: true })\n )\n }\n\n function extractText(optionText) {\n const parts = optionText.split(' - ')\n const text = parts[0]\n const price = parts[1] || ''\n\n return { text, price }\n }\n\n options.forEach(option => {\n const { text, price } = extractText(option.textContent)\n\n const labelHtml = `\n \n `\n\n radioContainer.innerHTML += labelHtml\n })\n\n radioContainer\n .querySelectorAll('input[type=\"radio\"]')\n .forEach(radio => {\n radio.addEventListener('change', function (evt) {\n updateSelect(radio.value)\n\n document\n .querySelectorAll('.vtex-omnishipping-1-x-leanShippingOption')\n .forEach(label =>\n label.classList.remove('shp-lean-option-active')\n )\n\n radio\n .closest('.vtex-omnishipping-1-x-leanShippingOption')\n .classList.add('shp-lean-option-active')\n })\n\n if (radio.value === deliverySelect.value) {\n radio.checked = true\n radio\n .closest('.vtex-omnishipping-1-x-leanShippingOption')\n .classList.add('shp-lean-option-active')\n }\n })\n\n deliverySelect.parentNode.insertBefore(radioContainer, deliverySelect)\n\n obs.disconnect()\n }\n })\n\n const config = {\n childList: true,\n subtree: true,\n }\n\n observer.observe(document.body, config)\n }\n\n updateBreadcrumb() {\n const currentURL = window.location.href\n const { items } = this.orderForm\n\n if (items.length === 0) {\n const stepElement = document.querySelector('.checkout-steps')\n if (stepElement) {\n stepElement.style.display = 'none'\n }\n return\n }\n\n const updateClasses = (selectors, addClasses = [], removeClasses = []) => {\n selectors.forEach(selector => {\n const elements = document.querySelectorAll(selector)\n elements.forEach(element => {\n addClasses.forEach(cls => element.classList.add(cls))\n removeClasses.forEach(cls => element.classList.remove(cls))\n })\n })\n }\n\n const step = currentURL.split('/').pop()\n\n const stepsConfig = {\n cart: {\n active: ['.checkout-steps__item[step=\"cart\"]'],\n inactive: [\n '.checkout-steps__item[step=\"profile\"]',\n '.checkout-steps__item[step=\"shipping\"]',\n '.checkout-steps__item[step=\"payment\"]',\n ],\n },\n email: {\n active: ['.checkout-steps__item[step=\"profile\"]'],\n completed: ['.checkout-steps__item[step=\"cart\"]'],\n uncompleted: [\n '.checkout-steps__item[step=\"shipping\"]',\n '.checkout-steps__item[step=\"payment\"]',\n ],\n inactive: [\n '.checkout-steps__item[step=\"shipping\"]',\n '.checkout-steps__item[step=\"payment\"]',\n '.checkout-steps__item[step=\"cart\"]',\n ],\n },\n profile: {\n active: ['.checkout-steps__item[step=\"profile\"]'],\n completed: ['.checkout-steps__item[step=\"cart\"]'],\n uncompleted: [\n '.checkout-steps__item[step=\"shipping\"]',\n '.checkout-steps__item[step=\"payment\"]',\n ],\n inactive: [\n '.checkout-steps__item[step=\"shipping\"]',\n '.checkout-steps__item[step=\"payment\"]',\n '.checkout-steps__item[step=\"cart\"]',\n ],\n },\n shipping: {\n active: [\n '.checkout-steps__item[step=\"profile\"]',\n '.checkout-steps__item[step=\"shipping\"]',\n ],\n completed: [\n '.checkout-steps__item[step=\"cart\"]',\n '.checkout-steps__item[step=\"profile\"]',\n ],\n inactive: ['.checkout-steps__item[step=\"payment\"]'],\n },\n payment: {\n active: [\n '.checkout-steps__item[step=\"profile\"]',\n '.checkout-steps__item[step=\"shipping\"]',\n '.checkout-steps__item[step=\"payment\"]',\n ],\n completed: [\n '.checkout-steps__item[step=\"cart\"]',\n '.checkout-steps__item[step=\"profile\"]',\n '.checkout-steps__item[step=\"shipping\"]',\n ],\n },\n confirmation: {\n active: [\n '.checkout-steps__item[step=\"profile\"]',\n '.checkout-steps__item[step=\"shipping\"]',\n '.checkout-steps__item[step=\"payment\"]',\n ],\n completed: [\n '.checkout-steps__item[step=\"cart\"]',\n '.checkout-steps__item[step=\"profile\"]',\n '.checkout-steps__item[step=\"shipping\"]',\n '.checkout-steps__item[step=\"payment\"]',\n ],\n },\n }\n\n const config = stepsConfig[step] || {}\n\n updateClasses(config.active || [], ['active'], ['completed'])\n updateClasses(config.completed || [], ['completed'])\n updateClasses(config.uncompleted || [], [], ['completed'])\n updateClasses(config.inactive || [], [], ['active'])\n }\n\n updateShippingBar() {\n const minValue = 200\n const itemsValue =\n this.orderForm.totalizers.find(({ id }) => id === 'Items')?.value || 0\n const differenceToMinValue = (itemsValue - minValue * 100) / 100\n const progressPercentage = Math.min(\n 100,\n (itemsValue / (minValue * 100)) * 100\n )\n\n const textWrapperElement = document.querySelector(\n '.shipping-bar-wrapper .shipping-bar-text'\n )\n if (!textWrapperElement) return\n\n const textContentElement = textWrapperElement.querySelector('p')\n const valueElement = textContentElement?.querySelector('.value')\n const fullBarTextElement = textWrapperElement.querySelector(\n '.value-reached'\n )\n const progressBarElement = document.querySelector('.shipping-bar-progress')\n\n if (differenceToMinValue < 0) {\n if (valueElement)\n valueElement.textContent = `R$ ${Math.abs(differenceToMinValue).toFixed(\n 2\n )}`\n if (progressBarElement)\n progressBarElement.style.width = `${progressPercentage}%`\n fullBarTextElement.style.display = 'none'\n textContentElement.style.display = 'block'\n } else {\n fullBarTextElement.style.display = 'block'\n textContentElement.style.display = 'none'\n if (progressBarElement) progressBarElement.style.width = '100%'\n }\n }\n\n buildShippingBar() {\n const { hash } = window.location\n if (hash !== '#/cart') return null\n const _this = this\n const shippingBarElement = $('.shipping-bar-wrapper')\n\n shippingBarElement.appendTo(\n '.cart-template.active .summary-totalizers .cart-more-options'\n )\n\n _this.updateShippingBar()\n }\n\n changeShippingTimeInfo() {\n const _this = this\n\n $('body').addClass('v-custom-changeShippingTimeInfo')\n const mainSTIelems = [\n '.shp-summary-package-time > span',\n 'p.vtex-omnishipping-1-x-sla.sla',\n '.vtex-omnishipping-1-x-leanShippingTextLabelSingle > span',\n 'span.shipping-date',\n '.shp-option-text-time',\n '.pkpmodal-pickup-point-sla',\n '.shp-option-text-package',\n '.srp-delivery-current-many__sla',\n '.shipping-estimate-date:eq(0)',\n '.srp-shipping-current-single__sla',\n ]\n\n const [\n logisticsInfo,\n ] = window.vtexjs.checkout.orderForm.shippingData.logisticsInfo\n\n const availableSlas = logisticsInfo.slas\n\n const { selectedSla } = logisticsInfo\n\n const selectedSlaDays = availableSlas.find(e => e.name === selectedSla)\n ? availableSlas.find(e => e.name === selectedSla).shippingEstimate\n : false\n\n try {\n $(`\n .vtex-omnishipping-1-x-summaryPackage.shp-summary-package:not(.v-changeShippingTimeInfo-active),\n .vtex-omnishipping-1-x-leanShippingOption,\n .vtex-omnishipping-1-x-packageItem:not(.v-changeShippingTimeInfo-active),\n .orderform-template .cart-template.mini-cart .item,\n .vtex-pickup-points-modal-3-x-pickupPointSlaAvailability,\n .srp-delivery-current-many,\n td.shipping-date,\n .srp-shipping-current-single\n `).each(function () {\n const txtselectin = $(this)\n .find(\n mainSTIelems\n .map(elem => `${elem}:not(.v-changeShippingTimeInfo-elem-active)`)\n .join(', ')\n )\n .text()\n\n let days\n\n if (!$(this).hasClass('srp-delivery-current-many')) {\n if (\n txtselectin !== '' &&\n txtselectin.match(/(day)|(dia)|(día)|(tag)/gm)\n ) {\n days = parseInt(txtselectin.match(/\\d+/), 10)\n }\n } else if (selectedSlaDays) {\n days = parseInt(selectedSlaDays.match(/\\d+/), 10)\n }\n\n if (days) {\n let _delivtext = _this.lang.deliveryDateText\n\n if (\n $(this)\n .find(mainSTIelems.join(', '))\n .text()\n .toLowerCase()\n .match(\n /(ready in up)|(pronto)|(a partir de)|(hasta)|(fertig in)/gm\n )\n ) {\n _delivtext = _this.lang.PickupDateText\n } // check if is pickup. OBS: none of others solutions worked, needs constantly update\n\n $(this)\n .find(mainSTIelems.join(', '))\n .html(\n `${_delivtext} ${_this.addBusinessDays(\n days,\n selectedSlaDays\n )}`\n )\n .addClass('v-changeShippingTimeInfo-elem-active')\n }\n\n $(this).addClass('v-changeShippingTimeInfo-active')\n })\n\n // temporaly\n const shippingPreviewPackges = $(\n '.srp-delivery-info .srp-packages:not(.v-changeShippingTimeInfo-elem-active)'\n )\n\n $('.js-shippingPreviewPackges').remove()\n if (shippingPreviewPackges.length) {\n const a = shippingPreviewPackges\n .text()\n .split(':')[1]\n .split(/,| and | e | y /)\n\n const deliveryDates = []\n\n $.each(a, function (i) {\n const txtselectin = a[i]\n\n if (\n txtselectin !== '' &&\n txtselectin.match(/(day)|(dia)|(día)|(tag)/gm)\n ) {\n const days = parseInt(txtselectin.match(/\\d+/), 10)\n\n if (days) {\n let _delivtext = _this.lang.deliveryDateText\n\n if (\n txtselectin\n .toLowerCase()\n .match(\n /(ready in up)|(pronto)|(a partir de)|(hasta)|(fertig in)/gm\n )\n ) {\n _delivtext = _this.lang.PickupDateText\n } // check if is pickup. OBS: none of others solutions worked, needs constantly update\n\n deliveryDates.push(\n `${_delivtext} ${_this.addBusinessDays(\n days,\n selectedSlaDays\n )}`\n )\n }\n }\n })\n shippingPreviewPackges\n .hide()\n .after(\n `

    ${\n shippingPreviewPackges.text().split(':')[0]\n }: ${deliveryDates.join('; ')}

    `\n )\n .addClass('v-changeShippingTimeInfo-active')\n }\n } catch (e) {\n console.error('changeShippingTimeInfo Error:', e)\n }\n }\n\n fetchHolidays() {\n const _this = this\n const roothPath =\n window.__RUNTIME__.rootPath ||\n window.location.pathname.split(`/checkout`)[0]\n\n if (_this._holidays) return\n\n fetch(`${roothPath}/_v/holidays`, {\n method: 'GET',\n })\n .then(response => response.json())\n .then(function (data) {\n _this._holidays = data\n })\n }\n\n changeShippingTimeInfoInit() {\n const _this = this\n\n if (_this.lang && _this.deliveryDateFormat) {\n _this.fetchHolidays()\n _this.changeShippingTimeInfo()\n }\n }\n\n enchancementTotalPrice(orderForm) {\n const _this = this\n\n if (!_this.quantityPriceCart) return\n try {\n $.each(orderForm.items, function (i) {\n const _item = this\n const _trElem = $(`.table.cart-items tbody tr.product-item:eq(${i})`)\n\n if (\n _item.quantity === 1 ||\n _trElem.find('td.product-price').find('.best-price').length === 0\n ) {\n return\n }\n\n const totalValue = _trElem.find('.total-selling-price:eq(0)').text()\n const _eachprice = `\n
    \n \n ${\n _item.listPrice > _item.sellingPrice\n ? `${\n orderForm.storePreferencesData.currencySymbol\n } ${(_item.listPrice / 100).toFixed(2)}`\n : ''\n }\n \n
    \n `\n\n _trElem.find('td.product-price').find('.vqc-ldelem').remove()\n // _trElem.find(\"td.quantity-price\").prepend(_eachprice);\n _trElem\n .find('td.product-price')\n .addClass('v-custom-quantity-price-active')\n .prepend(_eachprice)\n .append(\n `
    ${totalValue}
    `\n )\n _trElem\n .find('td.product-price')\n .find('> .best-price')\n .wrap(`
    `)\n _trElem\n .find('td.product-price')\n .find('.v-custom-quantity-price__list--selling')\n .append(\n ` ${\n _this.lang ? _this.lang.eachLabel : 'each'\n }`\n )\n })\n } catch (e) {\n console.error('enchancementTotalPrice error:', e)\n }\n }\n\n condensedTaxes(orderForm) {\n const customtax = orderForm.totalizers.filter(val => val.id === 'CustomTax')\n\n if (customtax && customtax.length < 2) return false\n\n const tooltip = `\n
    \n ${customtax\n .map(\n i =>\n `

    ${\n i.name\n }${\n orderForm.storePreferencesData.currencySymbol\n } ${(i.value / 100).toFixed(2)}

    `\n )\n .join('')}\n
    \n `\n\n const customTaxElem = $('tr.CustomTax.CustomTax--total')\n\n if (customTaxElem.length) {\n customTaxElem.find('.vcustom-customTax-tot').remove()\n customTaxElem\n .find('.info')\n .append(\n `
    ? ${tooltip}
    `\n )\n }\n }\n\n update(orderForm) {\n const _this = this\n\n this.checkEmpty(orderForm.items)\n this.addAssemblies(orderForm)\n this.enchancementTotalPrice(orderForm)\n this.bundleItems(orderForm)\n this.buildMiniCart(orderForm)\n this.condensedTaxes(orderForm)\n this.setParentIndex(orderForm)\n this.indexedInItems(orderForm)\n\n // debounce to prevent append from default script\n const updateDebounce = debounce(function () {\n if (orderForm.marketingData) {\n _this.addLabels(orderForm)\n _this.showCustomMsgCoupon(orderForm)\n }\n }, 250)\n\n updateDebounce()\n }\n\n updateStep() {\n const prefixClass = 'v-custom-step-'\n const bClassStep = ['cart', 'email', 'profile', 'shipping', 'payment']\n\n $('body').removeClass(\n bClassStep\n .map(step => {\n return prefixClass + step\n })\n .join(' ')\n )\n if (window.location.hash) {\n const [, hashstep] = window.location.hash.split('/')\n\n const classStep = bClassStep.filter(st => {\n return ~hashstep.indexOf(st)\n })\n\n if (classStep.length) {\n $('body').addClass(prefixClass + classStep[0])\n }\n }\n }\n\n updateLang(orderForm) {\n const clientLocale = orderForm.clientPreferencesData.locale\n\n this.lang =\n Object.values(_locale).find(country => country.locale === clientLocale) ||\n _locale[orderForm.storePreferencesData.countryCode] ||\n findClosestLang(clientLocale, _locale) ||\n _locale.USA\n\n if (!this.lang) return false\n const _lang = this.lang\n\n if (_lang.editLabel) $('.link-box-edit').attr('title', _lang.editLabel)\n if (_lang.cartSubmitButton) {\n $('#cart-to-orderform').text(_lang.cartSubmitButton)\n }\n\n if (_lang.cartNoteLabel) $('p.note-label label').text(_lang.cartNoteLabel)\n\n if (_lang.identifiedUserMessage) {\n $('.identified-user-modal-body p.identified-user-message').html(\n _lang.identifiedUserMessage\n )\n }\n\n // paypal\n if (_lang.paypalPhone) {\n $('.payment-paypal-help-number').text(_lang.paypalPhone)\n }\n\n if (_lang.paypalImg) {\n $('.payment-paypal-title-short-logo').css(\n 'background-image',\n `url(${_lang.paypalImg})`\n )\n } else if (_lang.paypalImg === '') {\n $('.payment-paypal-title-short-logo').hide()\n }\n\n // shipping\n\n if (_lang.googleAddressLabel) {\n const geoElem = $('.vtex-omnishipping-1-x-geolocation')\n\n if (geoElem.length) {\n geoElem\n .find('.ship-addressQuery > label')\n .text(_lang.googleAddressLabel)\n }\n }\n\n // placeholders\n\n if (_lang.address1Placeholder) {\n $('.vtex-omnishipping-1-x-address input#ship-street').attr(\n 'placeholder',\n _lang.address1Placeholder\n )\n }\n\n if (_lang.address2Placeholder) {\n $('.vtex-omnishipping-1-x-address input#ship-complement').attr(\n 'placeholder',\n _lang.address2Placeholder\n )\n }\n\n if (_lang.numberPlaceholder) {\n $('.vtex-omnishipping-1-x-address input#ship-number').attr(\n 'placeholder',\n _lang.numberPlaceholder\n )\n }\n }\n\n paymentBuilder(orderForm) {\n const _this = this\n\n if (orderForm && $('.payment-group-item-cards').length === 0) {\n if (orderForm.paymentData) {\n const paymentGroups = [\n 'debitCardPaymentGroup',\n 'creditCardPaymentGroup',\n ]\n\n let paymentGroupCardsHtml = ``\n\n $.each(paymentGroups, function (p) {\n paymentGroupCardsHtml = ``\n $.each(\n orderForm.paymentData.paymentSystems.filter(\n item => item.groupName === paymentGroups[p]\n ),\n function () {\n paymentGroupCardsHtml += `${this.name}`\n }\n )\n paymentGroupCardsHtml += ``\n if (_this.accordionPayments) {\n $(`#payment-group-${paymentGroups[p]}`).append(\n paymentGroupCardsHtml\n )\n }\n })\n\n if (!_this.accordionPayments) {\n $('#iframe-placeholder-creditCardPaymentGroup').prepend(\n paymentGroupCardsHtml\n )\n }\n }\n }\n\n if (\n !this.accordionPayments ||\n $('.payment-group-list-btn').find('.v-custom-payment-item-wrap').length >\n 0\n ) {\n return false\n }\n\n $('body').addClass('v-custom-paymentBuilder-accordion')\n\n $('.payment-group-item').each(function () {\n $(this).wrap(\n `
    `\n )\n })\n\n $('.payment-group-item').each(function () {\n $(`#payment-data .steps-view > div:eq(${0})`).appendTo(\n $(this).closest('.v-custom-payment-item-wrap')\n )\n })\n }\n\n customAddressFormLoader() {\n const _this = this\n\n if (!window.vtex.googleMapsApiKey) {\n console.warn(\n 'You might need to add your Google Maps API Key in your admin'\n )\n _this.customAddressForm = false\n\n return false\n }\n\n if (_this.customAddressForm) {\n _this.customAddressForm = new FnsCustomAddressForm({})\n _this.customAddressForm.events()\n }\n }\n\n goToShippingStep() {\n window.location.hash = '#/shipping'\n }\n\n appendMessageEmptyStreet(orderForm) {\n const _this = this\n\n if (\n !(\n (orderForm &&\n orderForm.shippingData &&\n orderForm.shippingData.address &&\n orderForm.shippingData.address.street != null) ||\n (undefined && 0)\n )\n ) {\n if (\n !$('.alert-noStreet').length &&\n $('.accordion-inner.shipping-container').length\n )\n $('.orderform-template-holder #shipping-data .accordion-inner').append(\n `
    ${\n _this.locale\n ? _this.locale.noStreetAddress ||\n 'Your shipping information is missing a required field, please include a street'\n : 'Your shipping information is missing a required field, please include a street'\n }
    `\n )\n } else {\n $('.alert-noStreet').remove()\n }\n }\n\n URLHasIncludePayment(orderForm) {\n const _this = this\n\n let street = ''\n\n try {\n if (\n orderForm &&\n orderForm.shippingData &&\n orderForm.shippingData.address &&\n orderForm.shippingData.address.street\n ) {\n street = orderForm.shippingData.address.street\n }\n\n if (\n window.location.hash === '#/payment' &&\n orderForm &&\n orderForm.shippingData &&\n orderForm.shippingData.address &&\n orderForm.shippingData.address.addressType !== 'search' &&\n !street.trim() &&\n _this.customAddressForm\n ) {\n _this.goToShippingStep()\n _this.appendMessageEmptyStreet(orderForm)\n }\n } catch (error) {\n console.error('URLHasIncludePayment error:', error)\n }\n }\n\n customAddressFormInit(orderForm) {\n const _this = this\n const _orderForm = orderForm || window.vtexjs.checkout.orderForm\n\n if (_this.customAddressForm) {\n if (_orderForm.canEditData) {\n $('body').removeClass('returningUser')\n } else {\n $('body').addClass('returningUser')\n }\n\n try {\n _this.customAddressForm.init(_orderForm)\n } catch (e) {\n console.warn(`Error in \"customAddressFormInit\"`)\n }\n }\n }\n\n checkProfileFocus() {\n const _this = this\n\n if (_this.hideEmailStep) {\n if (\n ~window.location.hash.indexOf('#/email') &&\n $('#client-email').val() === ''\n ) {\n $('#client-email').focus()\n }\n }\n }\n\n rtlUI() {\n if (\n window.vtex.i18n.getLocale() === 'ar' ||\n window.vtex.i18n.getLocale() === 'ar-SA' ||\n window.vtex.i18n.getLocale() === 'ar-IQ'\n ) {\n $('body').addClass('RTL-checkout')\n }\n }\n\n validatePostalCode() {\n const _this = this\n const { hash } = window.location\n\n if (hash !== '#/shipping') return\n\n async function handlePostalCodeChange(postalCode) {\n try {\n if (await _this.isOnPostalCodeRange(postalCode)) {\n _this.removeExistingErrors()\n await _this.handleVtexAddress(postalCode)\n _this.showShippingStep()\n } else {\n _this.displayError()\n }\n } catch (error) {\n console.error('Erro ao validar o código postal:', error)\n }\n }\n\n async function initObserver(postalCodeInput) {\n const observer = new MutationObserver(async mutationsList => {\n for (const mutation of mutationsList) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'value' &&\n postalCodeInput.value.length >= 8\n ) {\n await handlePostalCodeChange(postalCodeInput.value)\n }\n }\n })\n\n observer.observe(postalCodeInput, {\n attributes: true,\n attributeFilter: ['value'],\n })\n\n console.log(\n 'Observando mudanças no código postal:',\n postalCodeInput.value\n )\n await handlePostalCodeChange(postalCodeInput.value)\n }\n\n function waitForPostalCodeInput() {\n const postalCodeInput = document.getElementById('ship-postalCode')\n if (postalCodeInput) {\n initObserver(postalCodeInput)\n } else {\n setTimeout(waitForPostalCodeInput, 500)\n }\n }\n\n waitForPostalCodeInput()\n }\n\n async isOnPostalCodeRange(postalCode) {\n return await validateRangePostalCode(postalCode)\n }\n\n async handleVtexAddress(postalCode) {\n const _this = this\n const existOnVtex = await getVtexAddress(postalCode)\n\n if (!existOnVtex) {\n const addressViaCep = await getAddressByViaCep(postalCode)\n if (!addressViaCep.erro) {\n _this.fillAddressForm(addressViaCep)\n } else {\n alert('CEP não encontrado')\n }\n }\n }\n\n fillAddressForm(address) {\n const { bairro, logradouro, localidade, uf } = address\n const streetInput = document.getElementById('ship-street')\n const neighborhoodInput = document.getElementById('ship-neighborhood')\n const cityInput = document.getElementById('ship-city')\n const stateSelect = document.getElementById('ship-state')\n\n if (streetInput && neighborhoodInput && cityInput && stateSelect) {\n streetInput.value = logradouro || ''\n neighborhoodInput.value = bairro || ''\n cityInput.value = localidade || ''\n stateSelect.value = uf || ''\n\n console.log('Formulário preenchido')\n }\n }\n\n displayError() {\n const _this = this\n _this.removeExistingErrors()\n const shippingContainer = document.getElementById('shipping-data')\n shippingContainer.classList.add('postal-code-error')\n shippingContainer.classList.remove('visible')\n }\n\n showShippingStep() {\n const shippingContainer = document.getElementById('shipping-data')\n shippingContainer.classList.remove('postal-code-error')\n shippingContainer.classList.add('visible')\n }\n\n removeExistingErrors() {\n const errorClass = document.querySelector('postal-code-error')\n if (errorClass) {\n errorClass.classList.remove('postal-code-error')\n }\n }\n\n handleCouponSuccess() {\n if (!window.vtexjs) return;\n\n const { vtexjs = {} } = window;\n const { checkout = {} } = vtexjs;\n const { orderForm = {} } = checkout;\n const { marketingData = {} } = orderForm;\n const { totalizers = [] } = orderForm;\n\n const cartTemplateGroup = document.querySelectorAll(\".cart-template\");\n\n const existDiscount = totalizers.find(\n (item) => item.id.toLowerCase() === \"discounts\"\n );\n\n if (marketingData && marketingData.coupon && existDiscount) {\n return cartTemplateGroup.forEach((el) => {\n el.classList.add(\"valid-coupon\");\n });\n }\n\n const vtexCustomMsgCouponEl = document.querySelector(\n \".vcustom-showCustomMsgCoupon\"\n );\n\n if (marketingData && marketingData.coupon && vtexCustomMsgCouponEl) {\n return cartTemplateGroup.forEach((el) => {\n el.classList.add(\"coupon-not-applicable\");\n });\n }\n\n return cartTemplateGroup.forEach((el) => {\n el.classList.remove(\"valid-coupon\");\n el.classList.remove(\"coupon-not-applicable\");\n });\n };\n\n bind() {\n const _this = this\n\n $('body').on('click', '#v-custom-edit-login-data', function (e) {\n e.preventDefault()\n\n $(this).addClass('active')\n\n const data = null\n const xhr = new XMLHttpRequest()\n\n xhr.addEventListener('readystatechange', function () {\n if (this.readyState === this.DONE) {\n window.location.reload()\n setTimeout(function () {\n $('#v-custom-edit-login-data').removeClass('active')\n }, 1000)\n }\n })\n\n xhr.open(\n 'GET',\n `/checkout/changeToAnonymousUser/${_this.orderForm.orderFormId}`\n )\n xhr.setRequestHeader('content-type', 'application/json')\n xhr.setRequestHeader('accept', 'application/json')\n\n xhr.send(data)\n })\n\n $('body').on('click', '.v-custom-payment-item-wrap', function () {\n $('.v-custom-payment-item-wrap').removeClass('active')\n $(this).addClass('active')\n })\n\n $('body').on(\n 'click',\n '.vtex-pickup-points-modal-3-x-pickupDetailsHeaderButton, #map-canvas img, .vtex-omnishipping-1-x-pickupPointChange, .pkpmodal-pickup-point, .vtex-pickup-points-modal-3-x-modalDetailsBackLnk',\n function () {\n setTimeout(() => {\n _this.changeShippingTimeInfoInit()\n }, 100)\n }\n )\n\n $('body').on('click', '.js-checkout-steps-item .text', function () {\n window.location = $(this).closest('.checkout-steps_item').attr('data-url')\n })\n\n window.addEventListener('resize', _this.handleBreakpointChange)\n\n _this.handleBreakpointChange()\n\n $('body').on(\n 'click',\n '.vtex-omnishipping-1-x-linkEdit.link-edit',\n function () {\n setTimeout(() => {\n _this.updateLang(_this.orderForm)\n }, 50)\n }\n )\n\n $('body').on('click', '#btn-client-pre-email', function () {\n setTimeout(function () {\n if (!$('input#client-pre-email').hasClass('error')) {\n $('input#client-email').focus()\n }\n }, 1000)\n })\n\n $('body').on('click', '#shipping-option-delivery', function () {\n _this.customAddressFormInit(_this.orderForm)\n })\n\n $('body').on('click', '.show-more-items-button', function () {\n _this.general()\n _this.setParentIndex(window.vtexjs.checkout.orderForm)\n window.vtexjs.checkout.getOrderForm()\n })\n }\n\n init() {\n const _this = this\n\n _this.orderForm =\n window.vtexjs.checkout && window.vtexjs.checkout.orderForm\n ? window.vtexjs.checkout.orderForm\n : false\n _this.general()\n _this.updateStep()\n _this.builder()\n _this.updateBreadcrumb()\n\n _this.changeShippingTimeInfoInit()\n if (_this.orderForm) {\n _this.updateLang(_this.orderForm)\n _this.update(_this.orderForm)\n _this.addStepsHeader()\n _this.paymentBuilder(_this.orderForm)\n }\n\n _this.addEditButtoninLogin()\n }\n\n start() {\n const _this = this\n\n try {\n $(function () {\n _this.bind()\n _this.customAddressFormLoader()\n _this.rtlUI()\n })\n\n $(document).ajaxComplete(function () {\n _this.init()\n })\n\n $(window).on('hashchange', function () {\n const cartItems = document.querySelector('.cart-items')\n\n _this.updateBreadcrumb()\n _this.updateStep()\n _this.changeShippingTimeInfoInit()\n _this.checkProfileFocus()\n\n if (_this.orderForm) {\n _this.buildMiniCart(_this.orderForm)\n _this.indexedInItems(_this.orderForm)\n _this.updateLang(_this.orderForm)\n _this.paymentBuilder(_this.orderForm)\n _this.customAddressFormInit(_this.orderForm)\n _this.removeCILoader()\n _this.URLHasIncludePayment(_this.orderForm)\n _this.validatePostalCode()\n\n _this.onDomMutation({\n targetNode: cartItems,\n callback: () => _this.removeCILoader(),\n })\n }\n })\n\n $(window).on('orderFormUpdated.vtex', function (evt, orderForm) {\n _this.update(orderForm)\n _this.customAddressFormInit(orderForm)\n _this.validatePostalCode()\n _this.handleCouponSuccess()\n })\n\n $(window).load(function () {\n $(window).one('componentValidated.vtex', () => _this.builder())\n _this.checkProfileFocus()\n _this.changeShippingTimeInfoInit()\n _this.indexedInItems(window.vtexjs.checkout.orderForm)\n _this.showDeliveryOptions()\n\n if (_this.customAddressForm && typeof store !== 'undefined') {\n window.store.dispatch({\n type: 'DISABLE_CALCULATE_BUTTON',\n isCalculateBttnEnabled: false,\n })\n }\n })\n\n // eslint-disable-next-line no-console\n } catch (e) {\n _this.general()\n }\n }\n}\n\nmodule.exports = checkoutCustom\n\n\n//# sourceURL=webpack://us-checkout-builder/./src/_js/_v.custom.checkout.ui.js?"); + +/***/ }), + +/***/ "./src/checkout6-custom.js": +/*!*********************************!*\ + !*** ./src/checkout6-custom.js ***! + \*********************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +eval("const Debug = __webpack_require__(/*! ./_js/_debug.js */ \"./src/_js/_debug.js\")\nconst CheckoutCustom = __webpack_require__(/*! ./_js/_v.custom.checkout.ui.js */ \"./src/_js/_v.custom.checkout.ui.js\")\n\nwindow.vcustom = {\n checkout: new CheckoutCustom({\n type: 'vertical', // [\"vertical\" , \"horizontal\"]\n accordionPayments: false,\n deliveryDateFormat: false,\n quantityPriceCart: false,\n showNoteField: false,\n customAddressForm: true,\n hideEmailStep: true,\n }),\n debug: new Debug({\n dbg: false,\n logo: '',\n }),\n}\n\nwindow.vcustom.checkout.start()\n\n// vcustom.debug.start();\n\n\n//# sourceURL=webpack://us-checkout-builder/./src/checkout6-custom.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayLikeToArray)\n/* harmony export */ });\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _assertThisInitialized)\n/* harmony export */ });\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _classCallCheck)\n/* harmony export */ });\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _createClass)\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/createClass.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _createForOfIteratorHelper)\n/* harmony export */ });\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var _n = 0,\n F = function F() {};\n return {\n s: F,\n n: function n() {\n return _n >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[_n++]\n };\n },\n e: function e(r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = !0,\n u = !1;\n return {\n s: function s() {\n t = t.call(r);\n },\n n: function n() {\n var r = t.next();\n return a = r.done, r;\n },\n e: function e(r) {\n u = !0, o = r;\n },\n f: function f() {\n try {\n a || null == t[\"return\"] || t[\"return\"]();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/createSuper.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/createSuper.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _createSuper)\n/* harmony export */ });\n/* harmony import */ var _getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPrototypeOf.js */ \"./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\");\n/* harmony import */ var _isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isNativeReflectConstruct.js */ \"./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js\");\n/* harmony import */ var _possibleConstructorReturn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./possibleConstructorReturn.js */ \"./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\");\n\n\n\nfunction _createSuper(t) {\n var r = (0,_isNativeReflectConstruct_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])();\n return function () {\n var e,\n o = (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t);\n if (r) {\n var s = (0,_getPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return (0,_possibleConstructorReturn_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, e);\n };\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/createSuper.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _defineProperty)\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperty(e, r, t) {\n return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/defineProperty.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _getPrototypeOf)\n/* harmony export */ });\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js": +/*!*************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***! + \*************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _inherits)\n/* harmony export */ });\n/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ \"./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\");\n\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t, e);\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/inherits.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _isNativeReflectConstruct)\n/* harmony export */ });\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _possibleConstructorReturn)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ \"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n\n\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t);\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _setPrototypeOf)\n/* harmony export */ });\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ toPrimitive)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\nfunction toPrimitive(t, r) {\n if (\"object\" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! + \******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ toPropertyKey)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ \"./node_modules/@babel/runtime/helpers/esm/toPrimitive.js\");\n\n\nfunction toPropertyKey(t) {\n var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t, \"string\");\n return \"symbol\" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i) ? i : i + \"\";\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": +/*!***********************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! + \***********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _typeof)\n/* harmony export */ });\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/typeof.js?"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _unsupportedIterableToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r, a) : void 0;\n }\n}\n\n\n//# sourceURL=webpack://us-checkout-builder/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + ""; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName("script"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ __webpack_require__("./src/checkout6-custom.js"); +/******/ var __webpack_exports__ = __webpack_require__("./src/checkout6-custom.scss"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_header.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_header.scss index 99c42b99..fa86e516 100644 --- a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_header.scss +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_header.scss @@ -56,6 +56,7 @@ body { @media screen and (max-width: 406px) { width: 45%; font-size: 12px; + line-height: 16px; } } } @@ -65,9 +66,7 @@ body { } @media screen and (max-width: 768px) { - padding: 20px 16px { - bottom: 68px - }; + padding: 20px 16px; position: relative; .store-logo svg { diff --git a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_steps.scss b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_steps.scss index 0a0a1286..faa796fb 100644 --- a/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_steps.scss +++ b/checkout-ui-settings/checkout-ui-custom/src/_scss/_components/_steps.scss @@ -258,17 +258,32 @@ } } - @media screen and (max-width: 768px) { - overflow: hidden; - max-width: 100vw; + &.mobile { + display: none; + } + + @media screen and (max-width: 924px) { + padding: 8px 16px; overflow-x: auto; - position: absolute; - bottom: 0; - overflow: hidden; - overflow-x: hidden; - overflow-x: scroll; - max-width: 100vw; - padding: 8px 0; + &.desktop { + display: none; + } + + &.mobile { + display: block; + + } + + + &__list { + justify-content: flex-start; + } + // position: absolute; + // bottom: 0; + // overflow-x: auto; + // max-width: 100vw; + // padding: 8px 0; + // left: 0; } } diff --git a/checkout-ui-settings/checkout-ui-custom/src/templates/checkout-header.html b/checkout-ui-settings/checkout-ui-custom/src/templates/checkout-header.html index b1811995..c0f9ac8e 100644 --- a/checkout-ui-settings/checkout-ui-custom/src/templates/checkout-header.html +++ b/checkout-ui-settings/checkout-ui-custom/src/templates/checkout-header.html @@ -18,7 +18,7 @@
    -
    Ambiente seguro
    + +
    +