From 3752cb3e56f5cc678017e977e61bbc4121898777 Mon Sep 17 00:00:00 2001 From: checktheroads Date: Thu, 29 Jul 2021 17:33:10 -0700 Subject: [PATCH] #6797: Implement new sidebar --- netbox/project-static/dist/config.js.map | Bin 409361 -> 410004 bytes netbox/project-static/dist/jobs.js | Bin 108257 -> 108257 bytes netbox/project-static/dist/jobs.js.map | Bin 411526 -> 412169 bytes netbox/project-static/dist/lldp.js.map | Bin 411875 -> 412518 bytes netbox/project-static/dist/netbox-dark.css | Bin 715917 -> 736464 bytes .../project-static/dist/netbox-external.css | Bin 283759 -> 286696 bytes netbox/project-static/dist/netbox-light.css | Bin 445645 -> 458285 bytes netbox/project-static/dist/netbox.js | Bin 309554 -> 312212 bytes netbox/project-static/dist/netbox.js.map | Bin 1106717 -> 1115529 bytes netbox/project-static/dist/status.js | Bin 127932 -> 127932 bytes netbox/project-static/dist/status.js.map | Bin 460128 -> 460771 bytes netbox/project-static/package.json | 26 + netbox/project-static/src/sidenav.ts | 252 +++- netbox/project-static/src/util.ts | 23 + netbox/project-static/styles/_external.scss | 1 + netbox/project-static/styles/netbox.scss | 166 +-- netbox/project-static/styles/sidenav.scss | 407 ++++++ netbox/project-static/styles/theme-base.scss | 11 + netbox/project-static/styles/theme-dark.scss | 4 +- netbox/project-static/yarn.lock | 1282 ++++++++++++++++- netbox/templates/base/layout.html | 62 +- netbox/templates/base/sidebar.html | 24 - netbox/templates/base/sidenav.html | 38 + .../templates/navigation/nav_items.html | 117 +- 24 files changed, 2128 insertions(+), 285 deletions(-) create mode 100644 netbox/project-static/styles/sidenav.scss delete mode 100644 netbox/templates/base/sidebar.html create mode 100644 netbox/templates/base/sidenav.html diff --git a/netbox/project-static/dist/config.js.map b/netbox/project-static/dist/config.js.map index 3279ff8366690324f401b4072904f9f9dbe2732f..446a0cc60a773f06ad70fc194e4b01a59343cb19 100644 GIT binary patch delta 503 zcmZ9IPfHs?7{<;NbaXfXR;Sc_bymgokYUyJ!4MG2F0)@`00LEA zFi^V@^7R%mk@CgHW=YFJf2b^e;9zjPEImQA&w zOmVg_XHr?cRz?A>HWU?Xzd9ffpJ$3p|F|RL{T0rn0;$g$2{Qy0Y#VK PI|lFqc1^d^JO;u9daD(i diff --git a/netbox/project-static/dist/jobs.js b/netbox/project-static/dist/jobs.js index cb5fc18766ec6e3fc88732452bb48450544e7322..de4f1aab1a48d37bc2686fd402a83d57c7c64a9f 100644 GIT binary patch delta 3828 zcmZWs4RBLc7M|Od@>2?h7TQ7!Nm|mE_7N%tMpGZ*C&gBl7J*VrEbvHP`obpfUGrW_ z(jTpY;D89_DnZw!Mc5rc#l?(f{M#8ss_w2LyR)LJ&f==fs`$U+I_mCzH*G;@r=9ce zJ@=lU``vTSJ$did?Dt;H&JhHMw6Lo~j#$*boQs6^ebq!%wuE#{q?*$wheCoWDh|6{ zWiOE$tb9+_fUeB=6QQg$vlHV3nNMe{jxJqLSxc5}WO#elrZK812si4Y%#M#)o}4#I z%gpAS6*PHt%+gGvCNJe!2^37ob%IK{mk3Q(PFO&)C^zSy_iomrYrq zVn_@-dibBH@lP%HPKihyp?aE}G_8P4f{_uwWlK=A(By*Y+sQN)(z2t=O1rxSQww!}}=UA@V_Y=0Nr1Hi;YS?H+9X%CMoQeU9)A;W=3Sq2+5{W z;}`f96wE3wOrw?t%uvjgx)C&kx`x9y%~}pcznV1@^x0Xp`8a-hm(MT+K&CrH%EsC) z_VoBlBn{n&Q`gpTQ)yjwn%@C+_61P1-QEcLSGxoBzjl7Yl8RDLSH(2Y<_gPX>I_8m z@K0^A9TlFuA&XZXU~gAAa^TW%h*CCDxEC6zvw$79=g+9662DYEV4;#^)1u)`O2p=- zRkpBUb5ZubP=n2d4)dmwQ|Ve7o3z7<<`*a;Fo0v|KVwUQsOB5OXV}C4lVk5VmW_s1 zt_SOjVpkIsS=m4Zg2+z9jTY8MrU zuEmtw+m(n%3CVFp&(~r%7o*OdP^||2ennet#zTr|>Nwf>IggBi9-cNbM3+=}GmtM+Fg@0K;&t*W#_ zHdXJ2HWY-Rv-$Lpk!Cu>a!gQ@yPLhd_I?NLL*5<;@+@DlZs1d@GGO^;KOYmVm#sz@4-sA=9A@e3U z@R@ltDOM%#O0l8M8PxnrtSKOb91ErD^cgpF)aS=sE5$k~Dj~GvHg~zJ0jc;*#{pc% z>Mf%);GH+_E~JWpf3s3|%+XPPtHrpBv)IY_T?K zI9$WI1Dfo&6d`#=YJ3vkLOdv5^!v6nxRKlTs{>F%YbpgUarc5C@-X-!}BP~PxJdg~rB8`mH8sw`(WUhkn{&F)j> zs-%p(EK8C6O3WMvuR{;|E!FNO)1|Vadl%s{TJIHzg%>U=ZqiLt54*NFhX%7dh6kv@ zhxSYdY|roE#qe)?df}sY?~8ET(#K!h-F@zv$miiQSH}Z*tq>HuXh`;@pEu8{t2#LBF zaR3Z#i1OY5UzOedKpnt8^FT4cPyYSEdNNv-Le6-t$?`f%*o_aZ!0LgAKH@2N=fQRG z=iP&IFwX5iG?7>CtI-FD`g!zy)i1)|nFBkl9z`-ouEKE2k%+!U+z^!FcDqM$Z!rZA zduaeIP4b#U+sG)MGDwn#E1}}UhkvMv1+SjM5=89t{O#_x*5l)DG(laBd`r)W2Nn-2 zICAHBk11#l^iYB!#n{6~PzsX&I1Q ziO-+YT7o?rMKu|J?O!B=8qD(fwQS(e+3c~`6WCpMZgVy+^LOV9 z0L7W}_vZpl?}wW?FoPE#$wZmgfZ(chhPj&!SF3@rQjd3Kg6 zEmV`Qe4Ue#iBV!vGnv9JeUk_0-uq`EE4Vxpqmv&Ou=>lq^z6M{I9YY;CT~$2G{clN zA39X_^ksEEq`Nd=rP}RS$Kw=|si8C=%_9Ni8~SG(UR(vOuhQLJZaPsrA-VS3r%Sk` z>hy(V!}vweFoAwp?@)vr6^E!M?#LxGk`4b}Iu_mGZbAz2`3)iXMUnc3kf)FtiAOVu zjd)ULGsz#vXL)2-EOjuCe1~5HsRIRM`zS(FGp7+BPMz91owOokQty_M<*0xOhlSK< zt2$6#o~WKi3R1f)gkd2yvy9v`H7BM^Hbd37*hEk2sq4tGOcG0Nlt>PYra}wJb)$$U z@!O>&h)yyz8P)Es67zzXQT zs1ekLIsOrjeq|E{i(l#R4s~dXo@$s827}`_G_{NE!}F2#4L%ep86hFw0Ho8wA;wZ? zcaxrsjF^%*mrJH4)V<`LQ8A8O;*PbXD1-Xg=igZpWA>8L#6Tah0HRZUq$~?tM0V;@ zLE?+OL`anHBa1S@N?h0j9sPUBXs)ogn^+RB*+_0GwU5;0Ky;Cf6pu5^h_1EU9JOk~ ta**Fa>V|`4E;2IJ*-!E~n!5(be4u%1fV_YXA+hZ+nT_cahsm7G{{h6@P1pbc delta 3827 zcmZWs4R91i7Ovh6;U@$F32Xuh>`uaFCK-lEfYOb_^0UE2js$@a!x~`NolP${JJasW zhTUYNQ4lN;A+)mSc_avT1*mwsrCa`86(UjZPLaDh(NpX2RO(dxKk+Q(?p|*a(7Hv9cATR9hRH9DOmv;f-zOS1Rp-WKbM662zMbmgoR0X%2 z(3epyto(r109|SO6T-C2-UZ_W_Gfa5&~5O9w&rjn!`pKQ6impMfXew75l&Z4Sb%acGZ&orL3aCQoL*6I7G;(F5{n^F zwm97}Ibk0SM#CYndZx}n|1+hak_dHC)rv*+9+fAe22RH$5;HLm3n3%QvqOetLg!Bn zgT4N#yMR_ZzM2GjhUA>FYHl`HP3Y`m4b~nkt{zLOxpqzvH^>w{HI;r?d@bS(8Z2oZ2a--hcXHL3zEI+puow{P>fP>oDX3Tqk3~(4 z2tDji)Y+$wd8bBYhEM}ePnuSQCV`O=zZGX#cjEMd>D$pX0@8}m?ZU|qf^f=JfE@I(88^i26I;D1{_0Ca!FEgY5uUhJ6-o8*XB@yu34&Wb9!sVSCP8|2v) z6wRt|WKqikW~$ao!wg$tLx;mR&sq+Oel=?*(C22=6~ghey8@=k17wCEVmj9CbZ5s` zB5CMGBtu`rOl5V|>p=n3xfg(ZzOtw58HH8B3w45&5Yt zx}(xpFl6zn1N5CrArD*{4pB@e^7n!UA{Ei&?!p;$SZ0@Mgq&EGIXxEHq((U}uI3^p z=fU&?z7{q+1nZ`eQyF>|o2~kklVlRkAS17mI=$NofM}-Wm@Uhpxp^ zIy%&-Pt}wJM9(*3l8F&%C#c5ZU{KXpTM11SEdx$Ae$FFfKo3hBg`r{d1Ke{uvjX+B zuVzUhmO8^`c$21Hl{$Q(1{IPk`4%3^w^mFit(rDRS6$VTe+ zHJ7BHpI12!j`86_G8xpj-1Ky|7%jmfVa159Sv8Li&aF&8zG}Y>@@`p++ePFRiiQ0f z+Myr}oh@K!W|k>MlsHe)yIcIM_I~M3iIHN^(_-fyDaN5O>?_>)lbs38)l3~KDsL81-dU(i+t(9&|3(_X+PdSD$a)m ziS7!EG!!lc-qvt0il=inJM8&CsidHWk4&<|iia$L5A89}19R#x&`xmP3Qr@X;&n_Em zo6y?_bfC8gPWe>t4L~pVvPbfAuOq$Zj?)aomaR>o>Bv?uj6dA^HjID2?Gn(Z?%D<% z&-T+OzHdhYhFv>&fbZ~*w^(c>cNUirC`RzGF)F|(8xC^Bf+z5?ou#nn4?7_$(ie7$ z2-FqcbA%(Z;azI+hTvhhTgP5YSN5WZ@`gpy+xLjMaQ!hqp?SOE^&T45?mk&TWOd|a zSqjOo#;sxSI*oA9S>tWCJcJhCy9h3$?Oq-^S>Yn$Cd0Cfh-Zs5G??8vJb)T}XwP(j z?S(z882)WfFZk%+`x3bA>|?L(?mq8K$miiQSI+`?Egu%UiKYay&l}|Yr+vaGEVPUD zwDf2Rox87a@>Pk1zrKBT0*XNEzVAR?GhGj6PSCS3?!AwP@v-}E1C#vyktt9B#Ko4p z#_}%nHhNZimO*6s=<)lX0MKvQ-w&Ywxc@dZ!KXu{4?E=d(Yp`4H;u?mIq9DMAoE4oka^eOX-adt$@`74}Hv1?#_ejz@PUH z&Vg}$|DlPja$k);fT*8E-`D*j_&al8hbyki*2qjLypyea$W!$+VLr2lawZnwpCdj8my^sPs)XTf~pSTXCLSWXRv1qcv&?$~lz zD?i>1vC)5g5H_Ymj~3X#qb(=IDk4Z0R&{>FAkUhaAoP6j3M~sqO{;}KkEF6D@U;`4 zgNo-LUtPEmZW`j(g{3Gw50)BSqeP+ef=A}(43`WoSr9s+4%jrb2igWqSDb>5g?5}O z2fFK2O)(T!zXop<&pvWDL_|n#VfXl#Q;!0ay)S*hZYns~4wDxLB{uo$$Tf;pYMUqau{x4+1CUt&sEgkrCE`98c6zr})yEzvw^LOWp z0E*M+?#~A_{U2>+zzkk^#13U%2LxATGtAp!dfH3~E0W&v$t&yyTzT;>K;g}cU*zTx zc_B%^`c0nA4x`kf7Bq!k{I&p`d;gyfT6Ae<>Q+Cn8ZNQQv-gr?GVvM~>rfkY(^B*R zG^q5MOL#sAck2KZal2t1-X={UrrHQu9t}adLHo?XgR4U4t0t2bmIS2}B-eiTOevEj zQb1Eo^A};$0`Mb7r^?@`3L;6}k&kAi8~?p@EHsC^5puxiHweKGip;kNJq?MGden|M z6wjQoqd$(%i7Oso=3oK(9)1jD4ius7qY%!_oQ48$=*-sXs0|_}^IjQR4h1kJI8j3` zF#zP{shVl1D6`9nC@f@VmZN*7=J^bnGqJIS6XThuuS3V|$d}nDqdYL0(H5fXMxl7> zw@XnNJ_SB>96Wo@hrFQo2OoOJfuX3XCM1KT8$orgqQz9m5t8|=9v!xgBeDrW!m3{i z^12#?1{;tYKA$xpNcv1|Bf6Xq(`#Ch;$V>e1Ro_BV+i8>YtZMl){5792DXkT*t*n5hE7(TeUYFLs3&vxZqAV1u5)Ic9{0z@bKP5QA6+GggTOP t9%Ofrx#1w13kjL&>PH0(&0Pa%KA?GW0KEteLTcM#G#jQ*9!7KQ{{tMHOCkUO diff --git a/netbox/project-static/dist/jobs.js.map b/netbox/project-static/dist/jobs.js.map index 92b309a3233bff6c3f997e79972510cd75d2b728..b410cb39d39826a3821cf6c0ab5b8311070440af 100644 GIT binary patch delta 440 zcmYk0-AV#M7>041B&Z;ee(VRng4{J?tFy3-3i>%II`g26R{gTIadw#*E0drDD~h0~ zU?LDb=?(((e!79~pk3Rb!|$2redoP?h~B;cS%(Sv+(-|rdNtIQTkti2HU*cXCkk1nXtrY}N0(YzG<5e&p9Woz2mW8FYjJ_= z)Ul-Dg@0c!{7R0p#M$rXH?10JwrZVI4K2Ug{7Q!3wa~h{TMj>HY`ZzK56Qk>NUT3y` NCR3m7^PJhT*#JC^5{3W( diff --git a/netbox/project-static/dist/lldp.js.map b/netbox/project-static/dist/lldp.js.map index d133a775e95b188e251930adf7eff9719c012f7b..dc2669457a901326ef1442ec1f594233bb89f8b7 100644 GIT binary patch delta 513 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 delta 2868 zcmb`JYitx%6vsn%XLs(bZFk#kc@*eEd9m1OdHsXJ_aN3MPKo=6BBd z-#hm_=5~%=FMaj&uw~6XnlqX$&DPz_?P=D~h~W}UJI}abV;5(G-qV>gjOHtcoimwt zS8SQVke`kG?0CxzHhV3c%R*i}EE`p3z}h2hk!CY+(uF1fac08ET=HjpHtLDz=b$MW zF!G442;X+2Ul@2a&T)8M0cy3t&OwNS4i926??D$VnAqnm;CYI3;6Mr5PX!3S#iLUe zI9i6Xp>ixLht3^4 z2PdKLs5c8wnMM#3K}X6_JKK!ioNMCCA&ND~h5OZ@wv={z#1xENfX-UhG?V8XszWDq zny|>AFP7-!#8aL}$MxtpD~#y$R}4C_+MuW3FsN;s=3@Ctj&z7>Gv}Cs-SbSG6E-nJ){wkEPQ1OA;5LF*-M&_D zhBh>rIDVOl9nB^tSDGliW+0IE2f(RvcHA$??Xtk?O{7T6fTX8m_Bw)?c*#3LWBfa2 zZ2xu>pV&e1L(YZI?jm*7wK6sZzwhI=7WNbuDs`&In~=j&RIG1mki%+?Q0`4$IhGIm z+gJx|y2aWd+(~Yh1?~1cF1U!7qhYC02*CG!(Gcip-pLQuhdKNs)*9SC)9-z zNr);@DVPYwl}MygjPvvf$(FKWy0ovkR1o+EsdB!o@}?F>%Z!i8+@{RqCCB6=a&&%E zatHSGu8SrlHK@kLXhK$HB`SoJh!Xes60m%qeKcJ>_+E>vlqh+UyhswfBP#-NsTP(G zVa8B>;lJzs$^MIbC8r7{R6OuLVsBZ1=pUon+U9RIE~^_?-%7rE6gQ9;PQO*=Z}HJJ|Fn#ICdMsbZxR zX;NZhNLCjLKC|JzV2vbK*QkQu=NlXh%ZXS-TqsmUq{d)O42R`twcsap491jHC&bEx z5~))qSbmdr=hTYvYB|bBq$-unmtJuc0;#g}{RaFpL4l!O>b%xDL zE_d~Z)sHw_$%C1$yRz@4Wj`kr5fh1Ln&>PEMgCBkSf1QmI*6(VrB{-dRjF2QRBAT0 z9bk;dp3nQqVa)oC8Wl8(>JL^bjeMd;3@Z(^Xda)Z4B#-QPy567dxAFosk4#X7T=vw z#RKf{w&ubPRm+B?){xhRrF12DK zA0ls`6jlGr6a~eITpi_QSb39u2)YUwCmft)=l;LZ(Z;$2#15`6Y`n#?5N~C3w1KIh zU8lJhYS|jSPFU@SFR_VZRZwKNwHa6 zkJpggAv$h+bzG^7LDvDh+Y!{Os+}G-Uu6rS{Rb`wc7DdO@Ort!OSdd}&@H{-JjND4 z=WcS{Yd3rM+wC9D0t+5z-S9#l(|8#g^u|BM~biUvW<=CDHPkDRMV69g`E pF`n?B}t9VPx8w~X|~*= zOjMdy8V|=x6R8uz*{a$-=-+%3eb&7^n_MAdq^7bJmsBpfxWWa?b6O==EY}5QRY4`w zNkQ4F(9>f{8npX@+1Y(5bW#$vZl_3&oSpvH2hmA4_gs@aXVnVFNlE02Rj}Z6so_tH z8h%ruwJ2dB2TZYrN;X>DhYSj-Ni`v!?Or2R<+Q=ENB5INV!2dQdw>pKU@jF6)aTmZ zvN;J3C50o3D^XFuYl8cvv&i=_9|#g%(R9r;a``|ilY(>OQj1Mic*xQfb*kQ!TZay^ zWB~Vnejj~!Cjj;OX>`(GoJL1o%0;$zg*}hshd~}8^RB?dNl@M4c|-t-%NNpCt*MXPYk%X}eBPi>XBb?HukTkSwv;rL0m@G9= z-%00mahl{z)tqdxCMl;OblA;kA$SfS%+oQ;)(FZZs$V>gJ}$i2Mui|lN+eQ6C5UdS z;X5g2wH4H9DvWhkH@zwDw;*DovEkiNMfYLdB#u~4;!X_cJlUtCfqt(WyUj{MUvRBp zY%qmn)fzN7Jf%c26>3V_Ua%W!yC30{?~#q7CK=OPuv-hoH0zrO(MQj%hFm1E=PKj? zcw4f{^`3JG(>zW&nFl?D^?Bk$4{NL?$=0nqJ0IFpfBa>1bma6qeE!|s=*xNk4mg}k zvVtbIS_FHRaBYA8F{rV75q;V}dl4OX|JTllw-yXqzeMyBD6KHzJd9})Ry(E?1_?Y`vA5cJp$?f1O;V{@ zMtD1pAWJV`TZrYhkHXSV<#6bXK@&VMtTST`*6*@e2+6LYeF2o2EdB+I|L|5g9kj{T ztL)){8vQqD2R*c7p-t~|#B;G*pPk`Fz(KeGcqs!Pg8?;HioYg3m6~6K0B)vfTQqW2Qb0t_EP9KqsbU>@V9h1qMA4ed$n@sDfQjM4O}=P1DpT= delta 19 acmaE{U-113!G;#b7N!>FEi8EHR diff --git a/netbox/project-static/dist/netbox-light.css b/netbox/project-static/dist/netbox-light.css index 734701442161a278b0e267a7c6708089ce841df8..551c9469223ef8599b93e230d13c3ed39681d80c 100644 GIT binary patch delta 11496 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 delta 2346 zcmbW1e{54#6vwmI-aD0%fo0>z0N?l#Hu2Thjcx3eh(bstqJWA4Ww6)wwteCCz4G2$ zw^HX|Zo#-P1{JR}B>d87R5C#EE-{)c_$wns2#JY?1T-NU6CpDsB!aS+IY6 zdfR*Nx#xV(_uiv7E6(&+Z0{=S61rSn?$6M%1WoKlUOKQBO=LgpM(YIJu2`n&(8`l| z7LD#j)r`+=7ucG8=!A=H?nixmydNDD*s}*vkH8*3jBJ73dJpXq*l!=8*9CU!Ba{?a z`Y5sl)_e?g3vAh^uyWq#$Pw7}LG+Hmu6zN!{1x!R5b*rhz~S$JL&LzqGr)nfhzjh; zdDJVg-XDRx3Uuo= z}35;04 zL<_LH4fs|Hc;q$Ui59Bk(&u~maW5{xljy}BT+F8RV(yXaeUR0aH1P7< zzzhAr^ZS9r2Y^F|frIY@2R_8#PnoJF%@#-W+FFPhY9iIDg`B9e$eUKha(Zw8KSXby z#uI3`6^V4mDpc0t-zI5Bh_oqnvMjg9RL$_}cf^olwqz!V71qsG$##-DQ4G@{emiKH zx*kw1DSHb1dDjSvBDIph7R`~ywxmLu9p?v4&Ve7>!PoqzU-NgkfOLA8FU|G7i zx^Pu)JfF7);)w;JX6J_T)>$OhUQmrkiGqH-RHw?T1|2Oys%g=ndkQ@}jB!CoNm0WN zu|_2-P-v{XqL;Ur_APQxEy+7`<1RE~z8WBU%8aW)%}FZqSes>klxUHtqxfWbzMuZG z8I_g$c-H>7d0S&OV4Hf2L+J5S*i-6{sa8ZYB%OpE?jySC9G*@u&2h~r^=H&>%|>gG z)3-W(%W7&u_Wwlr*7F(uPnU3Ey6R42#Vs_ELrLPi%<_i99adjL>sIwy``gzbGCs? zrHEy=#P`W)N{K(KaQ5PkC}>vZhEnM$eqgC&WiK_nKmQ{>UEPUhK5>6LQ*kvE(u_#< fY4Gud_%EkWz^%P%n diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 83a8adb7e418f0983df5fcd4dc00547bc5114107..aa10be4c337335d93b7bec58ce12c7a7a305ba5c 100644 GIT binary patch delta 41185 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%0Ax%^ChBTXd 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 delta 39021 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 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 0dc9f4517f7f207ca827d9a300b0bc6457c44da8..f6c6204d971c38789e95e258a3e260ae1402c5a4 100644 GIT binary patch delta 7852 zcmb_gU2GKB6&5krc)ZvS*v8NRmn3+1>9YIsUjZpqon7Yd++S* zVn|vAY0U22bI3$#8uj*0vSjZQj3MhcMQcF2(8ND{ zvA%VSXHC0vmNe!k(&@Bsm8?SGdVV+a1J8CQzxyzM|L0mKzx+LI?UtxOGRZEUb{PDF zE$B&FXiMrlxxg9L0AtCvuvX9csKBOpBa)22 z9AkX;a;$Axihus&#&!G`SGA_{F>`J>Fav~fkU5G<76&dYnXMjmTuTD2ixbPKbThU36< zo=urPGno&>0Ym)tk=R=P>J6;{!ctr~Z2AckBGDbj1oBYEi@*BY# z2XVoU{~Z*6KNf3it7Qj^k0XruFjO|i)rQoYGfT6U&$^fi*sM8d9jpY|U_t&qUDwpU zg5u9_jA(6bfjc=_g6;q;P$FPv^Xret)@)8ITS6pWX-ACFD}H>jZUg_zpJ# z2{M*csU@?Bu?g2>3DHcXL4NRY?fyiKjcwEJxLvaDWUAeD21%&OAlLui*uHMwc8cyi zWHuAeHmqr(Qc6!+0kkcU;WysVI+nwy1V8t7efv6lf+aQ+2TKXI z&pIfoJY$U78Naz-+rY2fSKr7#da<#-g|@rS3Cp)HScxRTdgNAEJpz_$@4zQkWh7-q z*Qyu`*D-Z)5j&Y!{!$36u7e+XPwU{%?a-P#6G^uJfUxH}S?pB_3K!r1p0Wpzz$D=`nT>+te$?4FIdCCozzlTO-XR}wKifE;0S5&b=yl9EJ%0DTs> zB~T+&h(HH?ano4Yc`($Wcnr^3Jo1R@rL-vgac({VE&BcDrsd@s&z{3Bk2EBp#m%{P zQAM>nW^^8@fQC!5L#c=YRywYPoU9&Y16OKnsG5~MMX9;18F}u3nJPGu>QqjKaR~dt z-n3e)Do^z?P3P!Q=rU?b5jLnfwH&vdXy#D#%T!Na${B!_uy5;@ilZDth+R>`zAARB z2y+Uag%xV~#l709yGO9BZ^b67{Wj=S*d(x8KEv?dTCG*BP;pm9cKX~bOc}p|1#?<1*|ch(Iky)@pY{ zpV@|5^U{JElUdFwSa9aRNFKJP1e`#M?_`aEk!tIBXrj27wnY%>Z5{ z(@P{pn%E5QDwCc&J98AEvGV>f;As&ZN!Pcj#1@7jUGO3X*j3EJdkkYZ4OFg-q1LE3 zjD@cw-4C)S5yv!XpMyb0wj?}Q{CPVlO!3$LUAJ~i0j8`lSl!A4l!_?jH%~US@&A0- z5PJkWSCujpQ~|CvUe()C5dX<&!Ci-Xbchl`@}IrX*mZ9uVZId5nnxmjq4p)9i0V-X zb&Y%t8YL^LO90x$pI^1Sk-xOLLF4&n;S#drT}_*y%r%{b%8UVbNx04Cr#x#SADzFa zO<)_l3|41h)}!*AF@q^M2civ1AqlF z&uZG*E!j!!QXE<>6%wT8$bHA#NhX%!kqggLoS$hjVE4XJYbI=F)Wn=e_9W+tyG4S9aiW4-e;SYD=#bkcU5;L91Z~QIK z!z&rT{)X1kAn#}V;kUK*W|&)oF9yHtiA!L(@KuuT4rFuoL~I>@bu8BWz;T$Ky5NUK z&{&lmAzWO5pF#o{2LQ6TWFzF2>VD0?nAXStyqe=m}I%$ zq-_wFUHG-2twUWZs&CT~^~djC(Xbv%Fiae}cB!i3*Xy;mWeHNtU%Rido`1f+DZxK= zVlDhnuGZ8b%b#EViFWT6`6U95e$EoVxh0h7wJWi8PhKm>;8_Jv^WwE~%Re65Gp6g) znN(KS?cS838yB*vL0!+Ka`S_uprG|PXNnE!SWE=Sis%JoFQBp z5t~5V)O8b0>XRARHMqw}6%ZfoDC3rI8EA17RSu>4bmL4WH5~4i8^is%oknUDr9+GG z;`ZC4#)-*(J-1y#1k?TF;oeciJs|wD0j-@$O=oligu&8KO1>g4fG;EjqzPxg-nYA# z&%e^TfggFfHCC=HTe@xmk$q>fDIGbc_yT$pY#F7Dun1-ck?nr)3wZ~^(nFp zduVw`&mI@rBrX6lf=UKc17!qe0w&@mhis9(K-werhIC^p)CKO1=mt@dQ;tRyN`1ft z*``0zEYMq!W>E?pnCUHl1+l>gDT-$)WzJ{9AW+T^AO-{A5@*t1zzCQpgl>u|gk=zM z%XgH903aw!zbZmw`halW#B_6_euK_&p_6DKuZQ%$8RF_zaiWP3Ma2y$ER}*|DXgjL zJTigoUQDB5zzcDrG#Juz019-CA*f1V!BJSJh9Q0`+_Q`=PEOTJVPocR(}^ zu=8LBU()i3ST^+R9K9s*F=S|%+Q&)k8}k{_Jz(qk-m0zHQ$Rtlp2|Z0j|iTrs044& zvwERgjl+m-M1aMf0#yzvaGr`>Mu&F6OF#j#1J$a)QBc^2nZAT7FmT=|-x_I5kcut} zKWKsQ59=en+hW!;jH z%7;PVYKUB|)?cpZ2URMy3GP={J*H=YS^`PU58%soK<{c5L)1yLN_OpL;cF8iHoERZA=lG|v`ofM}5#Mvdq5CQl+h|Mf}EMkM$?+5$+m`bYQLr0f~ z>Y(1=3+FVP9HFWU6;(!56+r_f(&t>LV^|+Jl7a}(iEcpMsz8lm!aR_H!C(#cB&t1N T4$fWU%<+?pAN;MgXZe2tb*;u3 delta 846 zcmZut&rcIU7!8ykvaC`=(qN)E{(xseZl|&*;h7b)mNS?GM&w3#F8O`u7@8v#zv@AvW z_E@XbqY6*L%(7cMU4JaDc(z3si#3C?x{`qWeE(RAB~foLvRtz+k|l+4(sXR#v$o}z zk^1+)N;)OJpOSAidu8_}0{ma=VGG*n+ZM_r>%(YIHr zk_fI>0+i|!VtanFyA`P>_-i>H?q;Vi0e7zlI2OG`|({PRu z15XfQVx8#D$$bLu`lNU{pBW_g5Elp;)Nqy%Z(MYi@8d^=%;G6=KxYBxp{NT%9vi}A zM!aOngsv!U&&W(73fKN?e?Ol8H~QZ5)iioT6Br6&8dz-YLvHvIvqS`R<~ diff --git a/netbox/project-static/dist/status.js b/netbox/project-static/dist/status.js index 5da6d0980be5766b0d081630b194c8e59b776c54..939548d0e06ec7ae2f6a3a51eeb46b4066ec3d0f 100644 GIT binary patch delta 664 zcmW+zT}V@580I~;?ZSR+r9=v`wPMPUXlap+DMox=2$AW9L@H++9?v)nH!D~|OQlGn z*#S=%L6Xg_i!xpFpjei{h&EgoLP#)LV9VCum3OP2{Cv;%J$#FK!(!eLKEbj6 zF;lrtaQkiI*cH>vz!VXSS8+{5V*FxBx}lUw4k=)@_6as7XAV`$XPxD{nP7652PBu< zBS>zS*~#Rx!>#eRPCZXde*fqxiSpISdL&Fwjv!C2i#Ra{B6iFtkt)c^$QtIvR0z`? z?ZUhf9oLCgp}JOj=rmj_a`wOgEQ+<7e+7WpmaI>OwrN#aAahnBfE> z<9&1OB>=DIo8aXZ+R&zB!LEaHd+7xS&bfRSAhUcQVe#JNgKco@QZe|RrOLF{OX)it zP;2I$CRMCn1CUo!8rSu)LtAreeod;$rT{jx7VT8!=Y3f6vD_Ib!CW1vnVdmW=D&>A zR4|{ToA(O5XbJkHK})d3H`r|x)y^HHhez$%Nzc(lHI`BGh@SO0jzY{f(qkjYp*AYw z~_0mIhQdWG_%!z&_(@zK0`b(7DgEPe;x(RJ$ zm;_jV57Q}FRog8RP8%8T=h154H`vD#atl#hkCg{0Sy*@ Q(0RbdpIcB({33(yKSv+=3IG5A delta 664 zcmW+zT}V@580I}|+lBquN{JL=YsHiy(b6Itn;3Dt5F&FI5;-~B@c7ADxLLsxS}H{n z%?^0F2$F2NF3NPxgJM|*Bie9X2qA%FV9VCum3OP2{Cv;%J$&G@lR&otQeDb0$TVKK?rxdo?xOwNB#aE>Qn6VTh zlU*~dI)K-+4e)YvEokGJbLgSmUUn@}Oai`VnNqFwLiP>^ z)SP>#N#)De0OaM2#86M1q$~xgk>f*3u7?h)b(bi;2WN`?bQ9X( z0Ew{v9-vdOs`gtXo;EST>FpGKKEGs*Si@WIn#j^$;&?%chG@U~W{FBTjtNREM;7(Z z2imol*vLA)M8vCga^vO7zpqrp1;sqI0=0ajJW%}xwc)yv4H`mA#Zn;rhkCg{VGS03 Q(0M@j&n>8?evwiCA8ZNv3IG5A diff --git a/netbox/project-static/dist/status.js.map b/netbox/project-static/dist/status.js.map index dc885d2455200858e26cc43917c0025105e56021..ff940de5dd54e6e1ab6382436773042f6ecd6362 100644 GIT binary patch delta 534 zcmZ8dy-UMD6eqD43U&|?6sh=hXp$n)xmpLoj^dy=Si!V?)yVZO++F=ZOC1V=gANYC z#X;~75R?r5Cr*O9AkKnk8j3hQ-h02V_uek^@7MYBp3yUVL%qxsxz9$=7AfR>2D_^i zTgcRIbTvgLx`9l4hu02DkT!4ztWBvdZPvhMz_8(#KqDZK1I%fa0SHuW!9bma$eRgb zrd;lm3x)q$l)lPAtRo^7C*!^fpk32lSr|yxR51~N(5|gdq>AO zYqq{sQ%>4zqE+mlvH0}4qRMBy@89*m8GGsiL?zV!4+K<+mF|m+NO0cF+_G=WE zR+qI6Yqx4B`jQkC9Q`t&3=7dCGiFJhGpTN_?k1!87c<*UEC7-zgaS2CsuPM{Leoh? z>etb+!()36Y`Y%`2BM)aBvvT*m7~dN;6MLORMMZZ`C?J8iXiKPQ@X(&7cQp9NIX4e dRbI`#mALs~J(xx%&V5?nhPl5P4}V#kqd%<8va diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json index b01f87cf8..580f0969e 100644 --- a/netbox/project-static/package.json +++ b/netbox/project-static/package.json @@ -41,6 +41,32 @@ "eslint-plugin-prettier": "^3.3.1", "prettier": "^2.2.1", "prettier-eslint": "^12.0.0", + "stylelint": "^13.13.1", + "stylelint-config-twbs-bootstrap": "^2.2.3", "typescript": "^4.2.3" + }, + "stylelint": { + "extends": "stylelint-config-twbs-bootstrap/scss", + "rules": { + "selector-max-class": 16, + "selector-max-compound-selectors": 16, + "selector-no-qualifying-type": [ + true, + { + "ignore": [ + "attribute", + "class" + ] + } + ], + "number-leading-zero": "always", + "string-quotes": "single", + "selector-pseudo-element-colon-notation": "single", + "declaration-property-value-disallowed-list": { + "border": "none", + "outline": "none" + }, + "scss/selector-no-union-class-name": true + } } } diff --git a/netbox/project-static/src/sidenav.ts b/netbox/project-static/src/sidenav.ts index 5cdd612ca..628b4f58d 100644 --- a/netbox/project-static/src/sidenav.ts +++ b/netbox/project-static/src/sidenav.ts @@ -1,22 +1,246 @@ -import { getElement, getElements } from './util'; +import { StateManager } from './state'; +import { getElements, isElement } from './util'; -const breakpoints = { - sm: 540, - md: 720, - lg: 960, - xl: 1140, -}; +type NavState = { pinned: boolean }; +type BodyAttr = 'show' | 'hide' | 'hidden' | 'pinned'; -function toggleBodyPosition(position: HTMLBodyElement['style']['position']): void { - for (const element of getElements('body')) { - element.style.position = position; +class SideNav { + /** + * Sidenav container element. + */ + private base: HTMLDivElement; + + /** + * SideNav internal state manager. + */ + private state: StateManager; + + constructor(base: HTMLDivElement) { + this.base = base; + this.state = new StateManager({ pinned: true }, { persist: true }); + + this.init(); + this.initLinks(); + } + + /** + * Determine if `document.body` has a sidenav attribute. + */ + private bodyHas(attr: BodyAttr): boolean { + return document.body.hasAttribute(`data-sidenav-${attr}`); + } + + /** + * Remove sidenav attributes from `document.body`. + */ + private bodyRemove(...attrs: BodyAttr[]): void { + for (const attr of attrs) { + document.body.removeAttribute(`data-sidenav-${attr}`); + } + } + + /** + * Add sidenav attributes to `document.body`. + */ + private bodyAdd(...attrs: BodyAttr[]): void { + for (const attr of attrs) { + document.body.setAttribute(`data-sidenav-${attr}`, ''); + } + } + + /** + * Set initial values & add event listeners. + */ + private init() { + for (const toggler of this.base.querySelectorAll('.sidenav-toggle')) { + toggler.addEventListener('click', event => this.onToggle(event)); + } + + for (const toggler of getElements('.sidenav-toggle-mobile')) { + toggler.addEventListener('click', event => this.onMobileToggle(event)); + } + + if (window.innerWidth > 1200) { + if (this.state.get('pinned')) { + this.pin(); + } + + if (!this.state.get('pinned')) { + this.unpin(); + } + window.addEventListener('resize', () => this.onResize()); + } + + if (window.innerWidth < 1200) { + this.bodyRemove('hide'); + this.bodyAdd('hidden'); + window.addEventListener('resize', () => this.onResize()); + } + + this.base.addEventListener('mouseenter', () => this.onEnter()); + this.base.addEventListener('mouseleave', () => this.onLeave()); + } + + /** + * If the sidenav is shown, expand active nav links. Otherwise, collapse them. + */ + private initLinks(): void { + for (const link of this.getActiveLinks()) { + if (this.bodyHas('show')) { + this.activateLink(link, 'expand'); + } else if (this.bodyHas('hidden')) { + this.activateLink(link, 'collapse'); + } + } + } + + private show(): void { + this.bodyAdd('show'); + this.bodyRemove('hidden', 'hide'); + } + + private hide(): void { + this.bodyAdd('hidden'); + this.bodyRemove('pinned', 'show'); + for (const collapse of this.base.querySelectorAll('.collapse')) { + collapse.classList.remove('show'); + } + } + + /** + * Pin the sidenav. + */ + private pin(): void { + this.bodyAdd('show', 'pinned'); + this.bodyRemove('hidden'); + this.state.set('pinned', true); + } + + /** + * Unpin the sidenav. + */ + private unpin(): void { + this.bodyRemove('pinned', 'show'); + this.bodyAdd('hidden'); + for (const collapse of this.base.querySelectorAll('.collapse')) { + collapse.classList.remove('show'); + } + this.state.set('pinned', false); + } + + /** + * Starting from the bottom-most active link in the element tree, work backwards to determine the + * link's containing `.collapse` element and the `.collapse` element's containing `.nav-link` + * element. Once found, expand (or collapse) the `.collapse` element and add (or remove) the + * `.active` class to the the parent `.nav-link` element. + * + * @param link Active nav link + * @param action Expand or Collapse + */ + private activateLink(link: HTMLAnchorElement, action: 'expand' | 'collapse'): void { + // Find the closest .collapse element, which should contain `link`. + const collapse = link.closest('.collapse') as Nullable; + if (isElement(collapse)) { + // Find the closest `.nav-link`, which should be adjacent to the `.collapse` element. + const groupLink = collapse.parentElement?.querySelector('.nav-link'); + if (isElement(groupLink)) { + groupLink.classList.add('active'); + switch (action) { + case 'expand': + groupLink.setAttribute('aria-expanded', 'true'); + collapse.classList.add('show'); + link.classList.add('active'); + break; + case 'collapse': + groupLink.setAttribute('aria-expanded', 'false'); + collapse.classList.remove('show'); + link.classList.remove('active'); + break; + } + } + } + } + + /** + * Find any nav links with `href` attributes matching the current path, to determine which nav + * link should be considered active. + */ + private *getActiveLinks(): Generator { + for (const link of this.base.querySelectorAll( + '.navbar-nav .nav .nav-item a.nav-link', + )) { + const href = new RegExp(link.href, 'gi'); + if (Boolean(window.location.href.match(href))) { + yield link; + } + } + } + + /** + * Show the sidenav and expand any active sections. + */ + private onEnter(): void { + if (!this.bodyHas('pinned')) { + this.bodyRemove('hide', 'hidden'); + this.bodyAdd('show'); + for (const link of this.getActiveLinks()) { + this.activateLink(link, 'expand'); + } + } + } + + /** + * Hide the sidenav and collapse any active sections. + */ + private onLeave(): void { + if (!this.bodyHas('pinned')) { + this.bodyRemove('show'); + this.bodyAdd('hide'); + for (const link of this.getActiveLinks()) { + this.activateLink(link, 'collapse'); + } + setTimeout(() => { + this.bodyRemove('hide'); + this.bodyAdd('hidden'); + }, 300); + } + } + + /** + * Close the (unpinned) sidenav when the window is resized. + */ + private onResize(): void { + if (this.bodyHas('show') && !this.bodyHas('pinned')) { + this.bodyRemove('show'); + this.bodyAdd('hidden'); + } + } + + /** + * Pin & unpin the sidenav when the pin button is toggled. + */ + private onToggle(event: Event): void { + event.preventDefault(); + + if (this.state.get('pinned')) { + this.unpin(); + } else { + this.pin(); + } + } + + private onMobileToggle(event: Event): void { + event.preventDefault(); + if (this.bodyHas('hidden')) { + this.show(); + } else { + this.hide(); + } } } export function initSideNav() { - const element = getElement('sidebarMenu'); - if (element !== null && document.body.clientWidth < breakpoints.lg) { - element.addEventListener('shown.bs.collapse', () => toggleBodyPosition('fixed')); - element.addEventListener('hidden.bs.collapse', () => toggleBodyPosition('relative')); + for (const sidenav of getElements('.sidenav')) { + new SideNav(sidenav); } } diff --git a/netbox/project-static/src/util.ts b/netbox/project-static/src/util.ts index f3140e168..190fe1a1f 100644 --- a/netbox/project-static/src/util.ts +++ b/netbox/project-static/src/util.ts @@ -56,6 +56,13 @@ export function isTruthy return false; } +/** + * Type guard to determine if a value is an `Element`. + */ +export function isElement(obj: Element | null | undefined): obj is Element { + return typeof obj !== null && typeof obj !== 'undefined'; +} + /** * Retrieve the CSRF token from cookie storage. */ @@ -152,6 +159,22 @@ export function getElement(id: string): Nullable { return document.getElementById(id) as Nullable; } +export function removeElements(...selectors: string[]): void { + for (const element of getElements(...selectors)) { + element.remove(); + } +} + +export function elementWidth(element: Nullable): number { + let width = 0; + if (element !== null) { + const style = getComputedStyle(element); + const pre = style.width.replace('px', ''); + width = parseFloat(pre); + } + return width; +} + /** * scrollTo() wrapper that calculates a Y offset relative to `element`, but also factors in an * offset relative to div#content-title. This ensures we scroll to the element, but leave enough diff --git a/netbox/project-static/styles/_external.scss b/netbox/project-static/styles/_external.scss index 0f13999cf..f22956812 100644 --- a/netbox/project-static/styles/_external.scss +++ b/netbox/project-static/styles/_external.scss @@ -2,3 +2,4 @@ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); @import '../node_modules/@mdi/font/css/materialdesignicons.min.css'; @import '../node_modules/flatpickr/dist/flatpickr.css'; +@import '../node_modules/simplebar/dist/simplebar.css'; diff --git a/netbox/project-static/styles/netbox.scss b/netbox/project-static/styles/netbox.scss index bf6842fe1..d588a1ba6 100644 --- a/netbox/project-static/styles/netbox.scss +++ b/netbox/project-static/styles/netbox.scss @@ -1,9 +1,11 @@ // Netbox-specific Styles and Overrides. @use 'sass:map'; +@import './sidenav.scss'; :root { --nbx-sidebar-bg: #{$gray-200}; + --nbx-sidebar-scroll: #{$gray-500}; --nbx-sidebar-link-color: #{$gray-800}; --nbx-sidebar-link-hover-bg: #{$blue-100}; --nbx-sidebar-title-color: #{$text-muted}; @@ -21,9 +23,11 @@ --nbx-cable-termination-border-color: #{$gray-300}; --nbx-search-filter-border-left-color: #{$gray-300}; --nbx-color-mode-toggle-color: #{$primary}; + --nbx-sidenav-pin-color: #{$orange}; &[data-netbox-color-mode='dark'] { --nbx-sidebar-bg: #{$gray-900}; + --nbx-sidebar-scroll: #{$gray-700}; --nbx-sidebar-link-color: #{$gray-100}; --nbx-sidebar-link-hover-bg: #{rgba($blue-300, 0.15)}; --nbx-sidebar-title-color: #{$gray-600}; @@ -41,6 +45,7 @@ --nbx-cable-termination-border-color: #{$gray-700}; --nbx-search-filter-border-left-color: #{$gray-600}; --nbx-color-mode-toggle-color: #{$yellow-300}; + --nbx-sidenav-pin-color: #{$yellow}; } } @@ -119,6 +124,13 @@ small { background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; } + .btn.btn-ghost-#{$color} { + color: $value; + &:hover { + background-color: rgba($value, 0.12); + } + } + // Use Bootstrap's method of coloring the .alert-link class automatically. // See: https://github.com/twbs/bootstrap/blob/2bdbb42dcf6bfb99b5e9e5444d9e64589eb8c08f/scss/_alert.scss#L50-L52 .toast.bg-#{$color}, @@ -384,147 +396,6 @@ main.layout { max-height: 100vh; overflow-x: auto; overflow-y: hidden; - - .sidenav { - width: 4.5rem; - background-color: var(--nbx-sidebar-bg); - border-right: 1px solid $border-color; - // TODO: Figure out how to make the menu vertically scroll properly. - // overflow-x: hidden; - // overflow-y: auto; - padding-bottom: 1.5rem; - z-index: 5000; - - & { - -ms-overflow-style: none; // Internet Explorer 10+ - scrollbar-width: none; // Firefox - } - - &::-webkit-scrollbar { - display: none; // Safari and Chrome - } - - .nav-link { - font-size: $font-size-lg; - border-radius: unset; - transition: color 0s; - - @include media-breakpoint-up(sm) { - font-size: $font-size-sm; - } - - @include media-breakpoint-up(md) { - font-size: $font-size-base; - } - - @include media-breakpoint-up(lg) { - font-size: $font-size-lg; - } - - @include media-breakpoint-up(xl) { - font-size: $h4-font-size; - } - - &:hover:not(.active) { - background-color: $accordion-button-active-bg; - } - - &:after { - display: none; - } - } - - .nav-item { - position: relative; - .nav-label { - opacity: 0; - z-index: 0; - height: 100%; - display: flex; - padding: $spacer; - position: absolute; - align-items: center; - margin-left: 4.5rem; - pointer-events: none; - justify-content: flex-start; - font-weight: $font-weight-bold; - transition: opacity 0.1s ease-in-out, transform 0.12s ease-in-out, z-index 0.12s ease-in-out; - transform: translateX(-50px); - background-color: $accordion-button-active-bg; - color: $nav-link-color; - border-top-right-radius: $border-radius; - border-bottom-right-radius: $border-radius; - - [data-netbox-color-mode='dark'] &[class] { - color: shade-color($primary, 75%); - } - } - &:hover .nav-label { - transform: translateX(-1px); - z-index: 99; - opacity: 1; - box-shadow: 1rem 0 2rem rgba($black, 0.15); - } - - &:hover .nav-link { - color: $nav-link-color; - - [data-netbox-color-mode='dark'] &[class] { - color: shade-color($primary, 50%); - } - } - } - - .sidenav-logo { - position: relative; - - & .sidenav-logo-reveal { - opacity: 0; - z-index: 0; - height: 100%; - width: max-content; - display: flex; - padding: $spacer; - position: absolute; - align-items: center; - justify-content: flex-start; - font-weight: $font-weight-bold; - transition: opacity 0.1s ease-in-out, transform 0.12s ease-in-out, z-index 0.12s ease-in-out; - transform: translateX(-100%); - background-color: var(--nbx-sidebar-bg); - border-bottom-right-radius: $border-radius; - } - &:hover .sidenav-logo-reveal { - transform: translateX(-1px); - z-index: 2000; - opacity: 1; - } - } - - .dropdown { - .dropdown-header { - font-weight: $font-weight-bold; - text-transform: uppercase; - color: var(--nbx-sidebar-title-color); - font-size: $font-size-sm; - } - .dropdown-item-group { - display: inline-flex; - width: 100%; - justify-content: space-between; - align-items: center; - padding-right: map.get($spacers, 3); - &.disabled { - cursor: not-allowed; - } - } - .dropdown-item { - padding-left: map.get($spacers, 4); - border-top-right-radius: $border-radius; - border-bottom-right-radius: $border-radius; - } - } - } } main.login-container { @@ -650,6 +521,7 @@ nav.nav.nav-pills { // Ensure the content container is full-height, and that the content block is also full height so // that the footer is always at the bottom. div.content-container { + position: relative; min-height: 100vh; display: flex; flex-direction: column; @@ -657,6 +529,10 @@ div.content-container { overflow-x: hidden; overflow-y: auto; + @include media-breakpoint-down(lg) { + width: 100%; + } + div.content { flex: 1; } @@ -1112,16 +988,12 @@ html { // Shade the home page content background-color. &[data-netbox-path='/'] { .content-container, - .search - // ,.sidenav-logo-reveal - { + .search { background-color: $gray-100 !important; } &[data-netbox-color-mode='dark'] { .content-container, - .search - // ,.sidenav-logo-reveal - { + .search { background-color: $darkest !important; } } diff --git a/netbox/project-static/styles/sidenav.scss b/netbox/project-static/styles/sidenav.scss new file mode 100644 index 000000000..0a8c14349 --- /dev/null +++ b/netbox/project-static/styles/sidenav.scss @@ -0,0 +1,407 @@ +@use 'sass:map'; + +@mixin parent-link { + .navbar-nav .nav-item .nav-link[data-bs-toggle] { + @content; + } +} + +@mixin child-link { + .collapse .nav .nav-item .nav-link { + @content; + } +} + +@mixin sidenav-open { + body[data-sidenav-show], + body[data-sidenav-pinned] { + .sidenav { + @content; + } + } +} + +@mixin sidenav-closed { + body[data-sidenav-hide], + body[data-sidenav-hidden] { + .sidenav { + @content; + } + } +} + +@mixin sidenav-pinned { + body[data-sidenav-pinned] { + .sidenav { + @content; + } + } +} + +@mixin sidenav-show { + body[data-sidenav-show] { + .sidenav { + @content; + } + } +} + +@mixin sidenav-hide { + body[data-sidenav-hide] { + .sidenav { + @content; + } + } +} + +@mixin sidenav-peek { + .g-sidenav-show:not(.g-sidenav-pinned) { + .sidenav { + @content; + } + } +} + +$transition-100ms-ease-in-out: all 0.1s ease-in-out; + +.sidenav { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: block; + width: 100%; + max-width: $sidenav-width-closed; + padding-top: 0; + padding-right: 0; + padding-left: 0; + background-color: var(--nbx-sidebar-bg); + border-right: 1px solid $border-color; + transition: $transition-100ms-ease-in-out; + + // Media fixes for iPhone 5 like resolutions + @include media-breakpoint-down(lg) { + transform: translateX(-$sidenav-width-closed); + + .content-container[class] { + margin-left: 0; + } + } + + + .content-container { + margin-left: $sidenav-width-closed; + transition: $transition-100ms-ease-in-out; + } + + // Navbar brand + .sidenav-brand { + margin-right: 0; + } + + .sidenav-inner { + padding-right: $sidenav-spacing-x; + padding-left: $sidenav-spacing-x; + @include media-breakpoint-up(md) { + padding-right: 0; + padding-left: 0; + } + } + + .sidenav-brand-img, + .sidenav-brand > img { + max-width: 100%; + max-height: calc(#{$sidenav-width-open} - 1rem); + } + + .navbar-heading { + padding-top: $nav-link-padding-y; + padding-bottom: $nav-link-padding-y; + font-size: $font-size-xs; + text-transform: uppercase; + letter-spacing: 0.04em; + } + + .sidenav-header { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + height: 78px; + padding: $spacer; + transition: $transition-100ms-ease-in-out; + } + + .sidenav-toggle { + display: none; + } + + .sidenav-collapse { + display: flex; + flex: 1; + flex-direction: column; + align-items: stretch; + padding-right: $sidenav-spacing-x; + padding-left: $sidenav-spacing-x; + margin-right: -$sidenav-spacing-x; + margin-left: -$sidenav-spacing-x; + + > * { + min-width: 100%; + } + + @include media-breakpoint-up(md) { + margin-right: 0; + margin-left: 0; + } + } + + // Child Link nav-item + .nav .nav-item { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + } + + @include child-link() { + width: 100%; + padding-top: $sidenav-link-spacing-y / 2.675; + padding-right: map.get($spacers, 1); + padding-bottom: $sidenav-link-spacing-y / 2.675; + /* stylelint-disable */ + padding-left: $sidenav-link-spacing-x + $sidenav-icon-width + $sidenav-link-spacing-x / 4; + /* stylelint-enable */ + margin-top: $sidenav-link-spacing-y / 3.3; + margin-bottom: $sidenav-link-spacing-y / 3.3; + font-size: $font-size-xs; + border-top-right-radius: $border-radius; + border-bottom-right-radius: $border-radius; + + .sidenav-normal { + color: $text-muted; + &:hover { + opacity: 0.8; + } + } + + .sidenav-mini-icon { + width: $sidenav-link-spacing-x; + text-align: center; + transition: $transition-100ms-ease-in-out; + } + } + + @include parent-link() { + width: unset; + height: 100%; + font-weight: $font-weight-bold; + + &.active { + color: $accordion-button-active-color; + background: $accordion-button-active-bg; + } + + &:after { + display: inline-block; + margin-left: auto; + /* stylelint-disable */ + font-family: 'Material Design Icons'; + /* stylelint-enable */ + font-style: normal; + font-weight: 700; + font-variant: normal; + color: $text-muted; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + content: '\f0142'; + transition: $transition-100ms-ease-in-out; + } + + // Expanded + &[aria-expanded='true'] { + &.active:after { + color: $accordion-button-active-color; + } + &:after { + color: $primary; + transform: rotate(90deg); + } + } + + .nav-link-text { + padding-left: 0.25rem; + transition: $transition-100ms-ease-in-out; + } + } + + .navbar-nav { + flex-direction: column; + margin-right: -$sidenav-spacing-x; + margin-left: -$sidenav-spacing-x; + + .nav-item { + margin-top: 2px; + + &.disabled { + cursor: not-allowed; + opacity: 0.8; + } + + // All Links + .nav-link { + display: flex; + align-items: center; + width: 100%; + padding: $sidenav-link-spacing-y $sidenav-link-spacing-x; + font-size: $font-size-sm; + white-space: nowrap; + transition: $transition-100ms-ease-in-out; + + // &.disabled { + // opacity: 0.8; + // } + + &.active { + position: relative; + color: var(--nbx-sidebar-link-hover-bg); + background-color: var(--nbx-sidebar-link-hover-bg); + } + + // Icon + > i { + min-width: $sidenav-icon-width; + font-size: calc(45px / 2); + text-align: center; + } + } + } + + .nav-group-label { + display: block; + font-size: $font-size-xs; + font-weight: $font-weight-bold; + color: $primary; + text-transform: uppercase; + white-space: nowrap; + } + } +} + +@include sidenav-pinned() { + .sidenav-toggle-icon { + color: var(--nbx-sidenav-pin-color); + transform: rotate(90deg); + } +} + +@include sidenav-peek() { + .sidenav-toggle-icon { + transform: rotate(0deg); + // transform: rotate(90deg); + } +} + +@include sidenav-open() { + max-width: $sidenav-width-open; + + .sidenav-brand, + .navbar-heading { + display: block; + } + + .sidenav-brand { + opacity: 1; + transform: translateX(0); + } + + .sidenav-brand-icon { + position: absolute; + opacity: 0; + } + @include media-breakpoint-down(lg) { + transform: translateX(0); + } + + @include media-breakpoint-up(xl) { + + .content-container { + margin-left: $sidenav-width-open; + } + } +} + +@include sidenav-closed() { + .sidenav-header { + padding: $spacer * 0.5; + } + .sidenav-brand { + position: absolute; + opacity: 0; + transform: translateX(-150%); + } + .sidenav-brand-icon { + opacity: 1; + } + .navbar-nav > .nav-item { + > .nav-link { + &:after { + content: ''; + } + } + } + + .nav-item .collapse { + display: none; + } + + .nav-link-text { + opacity: 0; + } + @include parent-link() { + &.active { + margin-right: 0; + margin-left: 0; + border-radius: unset; + } + } +} + +@include sidenav-show() { + .sidenav-brand { + display: block; + } + + .nav-item .collapse { + height: auto; + transition: $transition-100ms-ease-in-out; + } + + .nav-item .nav-link .nav-link-text { + opacity: 1; + } + + .nav-item .sidenav-mini-icon { + opacity: 0; + } + + @include media-breakpoint-up(lg) { + .sidenav-toggle { + display: inline-block; + } + } +} + +.simplebar-track.simplebar-vertical { + right: 0; + width: 6px; + background-color: transparent; + + .simplebar-scrollbar:before { + right: 0; + width: 3px; + background: var(--nbx-sidebar-scroll); + border-radius: $border-radius; + } + &.simplebar-hover .simplebar-scrollbar:before { + width: 5px; + } +} diff --git a/netbox/project-static/styles/theme-base.scss b/netbox/project-static/styles/theme-base.scss index d3f30bb36..3078eb112 100644 --- a/netbox/project-static/styles/theme-base.scss +++ b/netbox/project-static/styles/theme-base.scss @@ -122,11 +122,13 @@ $theme-color-addons: ( 'pink-900': $pink-900, ); +/* stylelint-disable */ $font-family-sans-serif: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; $font-family-monospace: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; +/* stylelint-enable */ // This is the same value as the default from Bootstrap, but it needs to be in scope prior to // importing _variables.scss from Bootstrap. @@ -137,3 +139,12 @@ $accordion-padding-x: 0.8125rem; $sidebar-width: 280px; $sidebar-bottom-height: 4rem; + +// Sidebar/Sidenav +$sidenav-width-closed: 4rem; +$sidenav-width-open: 16rem; +$sidenav-icon-width: 2rem; +$sidenav-link-px: 1rem; +$sidenav-spacing-x: 1.5rem; +$sidenav-link-spacing-x: 1rem; +$sidenav-link-spacing-y: 0.675rem; diff --git a/netbox/project-static/styles/theme-dark.scss b/netbox/project-static/styles/theme-dark.scss index 44142d13e..6122078ad 100644 --- a/netbox/project-static/styles/theme-dark.scss +++ b/netbox/project-static/styles/theme-dark.scss @@ -1,7 +1,7 @@ // Dark Mode Theme Variables and Overrides. @use 'sass:map'; -@import './theme-base.scss'; +@import './theme-base'; $primary: $blue-300; $secondary: $gray-500; @@ -176,7 +176,7 @@ $accordion-border-color: $border-color; $accordion-button-color: $accordion-color; $accordion-button-bg: $accordion-bg; $accordion-button-active-bg: shade-color($blue-300, 10%); -$accordion-button-active-color: shade-color($blue-500, 10%); +$accordion-button-active-color: color-contrast($accordion-button-active-bg); $accordion-button-focus-border-color: $input-focus-border-color; $accordion-icon-color: $accordion-color; $accordion-icon-active-color: $accordion-button-active-color; diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock index 238294a48..76c704895 100644 --- a/netbox/project-static/yarn.lock +++ b/netbox/project-static/yarn.lock @@ -9,6 +9,13 @@ dependencies: "@babel/highlight" "^7.10.4" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + dependencies: + "@babel/highlight" "^7.14.5" + "@babel/code-frame@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" @@ -16,6 +23,32 @@ dependencies: "@babel/highlight" "^7.12.13" +"@babel/compat-data@^7.14.5": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" + integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== + +"@babel/core@>=7.9.0": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.8.tgz#20cdf7c84b5d86d83fac8710a8bc605a7ba3f010" + integrity sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.8" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-module-transforms" "^7.14.8" + "@babel/helpers" "^7.14.8" + "@babel/parser" "^7.14.8" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.8" + "@babel/types" "^7.14.8" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + "@babel/generator@^7.13.0": version "7.13.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz#3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39" @@ -25,6 +58,25 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.8.tgz#bf86fd6af96cf3b74395a8ca409515f89423e070" + integrity sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== + dependencies: + "@babel/types" "^7.14.8" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-compilation-targets@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" + integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== + dependencies: + "@babel/compat-data" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" + "@babel/helper-function-name@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" @@ -34,6 +86,15 @@ "@babel/template" "^7.12.13" "@babel/types" "^7.12.13" +"@babel/helper-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" + integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== + dependencies: + "@babel/helper-get-function-arity" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/types" "^7.14.5" + "@babel/helper-get-function-arity@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" @@ -41,6 +102,72 @@ dependencies: "@babel/types" "^7.12.13" +"@babel/helper-get-function-arity@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" + integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-hoist-variables@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" + integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-member-expression-to-functions@^7.14.5": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970" + integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-module-imports@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" + integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-module-transforms@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz#d4279f7e3fd5f4d5d342d833af36d4dd87d7dc49" + integrity sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA== + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-simple-access" "^7.14.8" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.8" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.8" + "@babel/types" "^7.14.8" + +"@babel/helper-optimise-call-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" + integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-replace-supers@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" + integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-simple-access@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" + integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== + dependencies: + "@babel/types" "^7.14.8" + "@babel/helper-split-export-declaration@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" @@ -48,11 +175,37 @@ dependencies: "@babel/types" "^7.12.13" +"@babel/helper-split-export-declaration@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" + integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== + dependencies: + "@babel/types" "^7.14.5" + "@babel/helper-validator-identifier@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== +"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c" + integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helpers@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.8.tgz#839f88f463025886cff7f85a35297007e2da1b77" + integrity sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw== + dependencies: + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.8" + "@babel/types" "^7.14.8" + "@babel/highlight@^7.10.4": version "7.13.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" @@ -71,11 +224,25 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.12.13", "@babel/parser@^7.13.0": version "7.13.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== +"@babel/parser@^7.14.5", "@babel/parser@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.8.tgz#66fd41666b2d7b840bd5ace7f7416d5ac60208d4" + integrity sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA== + "@babel/parser@^7.3.1": version "7.13.10" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.10.tgz#8f8f9bf7b3afa3eabd061f7a5bcdf4fec3c48409" @@ -90,6 +257,30 @@ "@babel/parser" "^7.12.13" "@babel/types" "^7.12.13" +"@babel/template@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/traverse@^7.14.5", "@babel/traverse@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.8.tgz#c0253f02677c5de1a8ff9df6b0aacbec7da1a8ce" + integrity sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.8" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/parser" "^7.14.8" + "@babel/types" "^7.14.8" + debug "^4.1.0" + globals "^11.1.0" + "@babel/traverse@^7.2.3": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.0.tgz#6d95752475f86ee7ded06536de309a65fc8966cc" @@ -114,6 +305,14 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.14.5", "@babel/types@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.8.tgz#38109de8fcadc06415fbd9b74df0065d4d41c728" + integrity sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q== + dependencies: + "@babel/helper-validator-identifier" "^7.14.8" + to-fast-properties "^2.0.0" + "@eslint/eslintrc@^0.4.0": version "0.4.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" @@ -170,6 +369,21 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.2.tgz#adea7b6953cbb34651766b0548468e743c6a2353" integrity sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q== +"@stylelint/postcss-css-in-js@^0.37.2": + version "0.37.2" + resolved "https://registry.yarnpkg.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz#7e5a84ad181f4234a2480803422a47b8749af3d2" + integrity sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA== + dependencies: + "@babel/core" ">=7.9.0" + +"@stylelint/postcss-markdown@^0.36.2": + version "0.36.2" + resolved "https://registry.yarnpkg.com/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz#0a540c4692f8dcdfc13c8e352c17e7bfee2bb391" + integrity sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ== + dependencies: + remark "^13.0.0" + unist-util-find-all-after "^3.0.2" + "@types/bootstrap@^5.0.12": version "5.0.12" resolved "https://registry.yarnpkg.com/@types/bootstrap/-/bootstrap-5.0.12.tgz#d044b6404bf3c89fc90df2822a86dfcd349db522" @@ -217,11 +431,38 @@ dependencies: "@types/jquery" "*" +"@types/mdast@^3.0.0": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.7.tgz#cba63d0cc11eb1605cea5c0ad76e02684394166b" + integrity sha512-YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg== + dependencies: + "@types/unist" "*" + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "@types/sizzle@*": version "2.3.2" resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== +"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" + integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== + "@typescript-eslint/eslint-plugin@^4.17.0": version "4.17.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.17.0.tgz#6f856eca4e6a52ce9cf127dfd349096ad936aa2d" @@ -370,6 +611,16 @@ ajv@^7.0.2: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.6.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" + integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ansi-align@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" @@ -491,7 +742,7 @@ array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.18.0-next.1" -arrify@^1.0.0: +arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= @@ -501,6 +752,19 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +autoprefixer@^9.8.6: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + babel-runtime@^6.6.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -509,11 +773,21 @@ babel-runtime@^6.6.1: core-js "^2.4.0" regenerator-runtime "^0.11.0" +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= +balanced-match@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" + integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -552,6 +826,17 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" +browserslist@^4.12.0, browserslist@^4.16.6: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + builtin-modules@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" @@ -595,6 +880,15 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -605,7 +899,7 @@ camelcase@^4.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^5.0.0: +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== @@ -615,6 +909,11 @@ can-use-dom@^0.1.0: resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a" integrity sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo= +caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219: + version "1.0.30001247" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001247.tgz#105be7a8fb30cdd303275e769a9dfb87d4b3577a" + integrity sha512-4rS7co+7+AoOSPRPOPUt5/GdaqZc0EsUpWk66ofE3HJTAajUK2Ss2VwoNzVN69ghg8lYYlh0an0Iy4LIHHo9UQ== + capture-stack-trace@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" @@ -631,7 +930,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.0: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.0, 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== @@ -648,6 +947,29 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.0, chalk@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + "chokidar@>=2.0.0 <4.0.0": version "3.5.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" @@ -723,6 +1045,13 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +clone-regexp@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" + integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== + dependencies: + is-regexp "^2.0.0" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -762,6 +1091,11 @@ color2k@^1.2.4: resolved "https://registry.yarnpkg.com/color2k/-/color2k-1.2.4.tgz#af34950ac58e23cf224a01cb8dd0c9911a79605e" integrity sha512-DiwdBwc0BryPFFXoCrW8XQGXl2rEtMToODybxZjKnN5IJXt/tV/FsN02pCK/b7KcWvJEioz3c74lQSmayFvS4Q== +colorette@^1.2.1, colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + common-tags@^1.4.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -789,6 +1123,13 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= +convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + cookie@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" @@ -804,6 +1145,17 @@ core-js@^3.0.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.1.tgz#6c08ab88abdf56545045ccf5fd81f47f407e7f1a" integrity sha512-h8VbZYnc9pDzueiS2610IULDkpFFPunHwIpl8yRwFahAEEdSpHlTy3h3z3rKq5h11CaUdBEeRViu9AYvbxiMeg== +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + 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" + create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" @@ -842,6 +1194,11 @@ crypto-random-string@^1.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -866,6 +1223,13 @@ debug@^2.6.9: dependencies: ms "2.0.0" +debug@^4.0.0, debug@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" @@ -873,7 +1237,15 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" -decamelize@^1.1.2, decamelize@^1.2.0: +decamelize-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -968,6 +1340,39 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + dot-prop@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" @@ -980,6 +1385,11 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= +electron-to-chromium@^1.3.723: + version "1.3.787" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.787.tgz#0d814dcc374bb8a0ae7a17c0308c39fb18fcc7bb" + integrity sha512-zeM5AFwvTlSYvGpBaFZKVo7GQEWSk6hS3rQ7mdrr3qB7CiqVl84K6nIPznyKSu0b8ABiEeMEIqyBuzqMkxnjjg== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -997,7 +1407,17 @@ enquirer@^2.3.5: dependencies: ansi-colors "^4.1.1" -error-ex@^1.2.0: +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +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== @@ -1057,6 +1477,11 @@ esbuild@^0.12.15, esbuild@^0.12.9: resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.15.tgz#9d99cf39aeb2188265c5983e983e236829f08af0" integrity sha512-72V4JNd2+48eOVCXx49xoSWHgC3/cCy96e7mbXKY+WOWghN00cCmlGnwVLRhRHorvv0dgCyuMYBZlM2xDM5OQw== +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-string-regexp@^1.0.2, 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" @@ -1269,6 +1694,13 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" + integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== + dependencies: + clone-regexp "^2.1.0" + exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -1281,6 +1713,11 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^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== + 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" @@ -1303,6 +1740,17 @@ fast-glob@^3.1.1: micromatch "^4.0.2" picomatch "^2.2.1" +fast-glob@^3.2.5: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + 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" @@ -1313,6 +1761,11 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + fastq@^1.6.0: version "1.11.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" @@ -1374,6 +1827,14 @@ find-up@^3.0.0: dependencies: locate-path "^3.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" + fizzy-ui-utils@^2.0.0: version "2.0.7" resolved "https://registry.yarnpkg.com/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz#7df45dcc4eb374a08b65d39bb9a4beedf7330505" @@ -1419,6 +1880,11 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +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" @@ -1443,6 +1909,11 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= +get-stdin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -1453,7 +1924,7 @@ giturl@^1.0.0: resolved "https://registry.yarnpkg.com/giturl/-/giturl-1.0.1.tgz#926c69bda5c48a3d8f74254e99f826835e6a4aa0" integrity sha512-wQourBdI13n8tbjcZTDl6k+ZrCRMU6p9vfp9jknZq+zfWc8xXNztpZFM4XkPHVzHcMSUZxEMYYKZjIGkPlei6Q== -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.2: +glob-parent@^5.0.0, glob-parent@^5.1.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== @@ -1506,6 +1977,13 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.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" @@ -1517,6 +1995,15 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + 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.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -1548,6 +2035,18 @@ globby@^11.0.1: merge2 "^1.3.0" slash "^3.0.0" +globby@^11.0.3: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8" @@ -1560,6 +2059,18 @@ globby@^4.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globjoin@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" + integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= + +gonzales-pe@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3" + integrity sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== + dependencies: + minimist "^1.2.5" + good-listener@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" @@ -1589,6 +2100,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.5: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -1649,12 +2165,36 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== +hosted-git-info@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + dependencies: + lru-cache "^6.0.0" + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + +htmlparser2@^3.10.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + 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.4: +ignore@^5.1.4, ignore@^5.1.8: version "5.1.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== @@ -1672,6 +2212,11 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -1697,12 +2242,12 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@^2.0.1, 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@^1.3.4, ini@~1.3.0: +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -1726,6 +2271,19 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" +is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.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" @@ -1750,6 +2308,11 @@ is-boolean-object@^1.1.0: dependencies: call-bind "^1.0.0" +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.4, is-callable@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" @@ -1774,6 +2337,11 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + is-es2016-keyword@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-es2016-keyword/-/is-es2016-keyword-1.0.0.tgz#f6e54e110c5e4f8d265e69d2ed0eaf8cf5f47718" @@ -1813,6 +2381,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + is-installed-globally@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" @@ -1853,6 +2426,16 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" @@ -1866,6 +2449,11 @@ is-regex@^1.1.2: call-bind "^1.0.2" has-symbols "^1.0.1" +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" + integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== + is-retry-allowed@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" @@ -1888,6 +2476,16 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.1" +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +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: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -1931,6 +2529,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +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" @@ -1953,11 +2556,28 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + just-debounce-it@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/just-debounce-it/-/just-debounce-it-1.4.0.tgz#02c8c95a1bdb70697e72e37fa64ca8689c10e78c" integrity sha512-D6wp9toCJ77OAL8AvY+fgcNLlR9NC4HKnz6yx6r/IrOFcuDYdqk+P9asMg9nTLYT24Wpu1sT0lukDES6uvQvqA== +kind-of@^6.0.2, kind-of@^6.0.3: + 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== + +known-css-properties@^0.21.0: + version "0.21.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.21.0.tgz#15fbd0bbb83447f3ce09d8af247ed47c68ede80d" + integrity sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw== + latest-version@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" @@ -1973,6 +2593,11 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + 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" @@ -2020,6 +2645,18 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +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.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -2045,11 +2682,24 @@ lodash.toarray@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= -"lodash@4.6.1 || ^4.16.1", lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.3.0: +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +"lodash@4.6.1 || ^4.16.1", lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.3.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +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" + loglevel-colored-level-prefix@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz#6a40218fdc7ae15fc76c3d0f3e676c465388603e" @@ -2063,6 +2713,11 @@ loglevel@^1.4.1: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== +longest-streak@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" + integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -2103,6 +2758,11 @@ map-obj@^1.0.0, map-obj@^1.0.1: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= +map-obj@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" + integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== + masonry-layout@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/masonry-layout/-/masonry-layout-4.2.2.tgz#d57b44af13e601bfcdc423f1dd8348b5524de348" @@ -2111,6 +2771,39 @@ masonry-layout@^4.2.2: get-size "^2.0.2" outlayer "^2.1.0" +mathml-tag-names@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" + integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== + +mdast-util-from-markdown@^0.8.0: + version "0.8.5" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" + integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-string "^2.0.0" + micromark "~2.11.0" + parse-entities "^2.0.0" + unist-util-stringify-position "^2.0.0" + +mdast-util-to-markdown@^0.6.0: + version "0.6.5" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" + integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== + dependencies: + "@types/unist" "^2.0.0" + longest-streak "^2.0.0" + mdast-util-to-string "^2.0.0" + parse-entities "^2.0.0" + repeat-string "^1.0.0" + zwitch "^1.0.0" + +mdast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" + integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== + meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -2127,11 +2820,37 @@ meow@^3.7.0: redent "^1.0.0" trim-newlines "^1.0.0" +meow@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize "^1.2.0" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +micromark@~2.11.0: + version "2.11.4" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" + integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== + dependencies: + debug "^4.0.0" + parse-entities "^2.0.0" + micromatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" @@ -2140,6 +2859,19 @@ micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +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@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -2147,7 +2879,16 @@ micromatch@^4.0.2: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.3, minimist@^1.2.0: +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -2179,6 +2920,11 @@ node-emoji@^1.0.3: dependencies: lodash.toarray "^4.4.0" +node-releases@^1.1.71: + version "1.1.73" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" + integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== + node-sass-tilde-importer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz#1a15105c153f648323b4347693fdb0f331bad1ce" @@ -2186,7 +2932,7 @@ node-sass-tilde-importer@^1.0.2: dependencies: find-parent-dir "^0.3.0" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, 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== @@ -2196,11 +2942,31 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" + integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== + dependencies: + hosted-git-info "^4.0.1" + resolve "^1.20.0" + semver "^7.3.4" + validate-npm-package-license "^3.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== +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-selector@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" + integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= + npm-check@^5.9.2: version "5.9.2" resolved "https://registry.yarnpkg.com/npm-check/-/npm-check-5.9.2.tgz#3b8a6230a3f8c11db113a9735b19b1ceac157dbb" @@ -2247,6 +3013,11 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + 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" @@ -2342,7 +3113,7 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0: +p-limit@^2.0.0, 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== @@ -2363,6 +3134,13 @@ p-locate@^3.0.0: dependencies: p-limit "^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@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -2390,6 +3168,18 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -2397,6 +3187,16 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +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" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -2414,6 +3214,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +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" @@ -2470,7 +3275,7 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== -picomatch@^2.3.0: +picomatch@^2.2.3, picomatch@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== @@ -2518,6 +3323,87 @@ please-upgrade-node@^3.1.1: dependencies: semver-compare "^1.0.0" +postcss-html@^0.36.0: + version "0.36.0" + resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204" + integrity sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw== + dependencies: + htmlparser2 "^3.10.0" + +postcss-less@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" + integrity sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA== + dependencies: + postcss "^7.0.14" + +postcss-media-query-parser@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= + +postcss-resolve-nested-selector@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" + integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= + +postcss-safe-parser@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" + integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g== + dependencies: + postcss "^7.0.26" + +postcss-sass@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.4.4.tgz#91f0f3447b45ce373227a98b61f8d8f0785285a3" + integrity sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg== + dependencies: + gonzales-pe "^4.3.0" + postcss "^7.0.21" + +postcss-scss@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.1.1.tgz#ec3a75fa29a55e016b90bf3269026c53c1d2b383" + integrity sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA== + dependencies: + postcss "^7.0.6" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.5: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-sorting@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-5.0.1.tgz#10d5d0059eea8334dacc820c0121864035bc3f11" + integrity sha512-Y9fUFkIhfrm6i0Ta3n+89j56EFqaNRdUKqXyRp6kvTcSXnmgEjaVowCXH+JBe9+YKWqd4nc28r2sgwnzJalccA== + dependencies: + lodash "^4.17.14" + postcss "^7.0.17" + +postcss-syntax@^0.36.2: + version "0.36.2" + resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" + integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== + +postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6: + version "7.0.36" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" + integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + preferred-pm@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/preferred-pm/-/preferred-pm-1.0.1.tgz#539df37ce944b1b765ae944a8ba34a7e68694e8d" @@ -2604,6 +3490,11 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + rc@^1.0.1, rc@^1.1.6: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -2630,6 +3521,15 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" +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@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -2648,6 +3548,25 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +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" + +readable-stream@^3.1.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdirp@~3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" @@ -2679,6 +3598,14 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +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" + regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" @@ -2704,6 +3631,34 @@ registry-url@^3.0.3: dependencies: rc "^1.0.1" +remark-parse@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" + integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== + dependencies: + mdast-util-from-markdown "^0.8.0" + +remark-stringify@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" + integrity sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg== + dependencies: + mdast-util-to-markdown "^0.6.0" + +remark@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/remark/-/remark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" + integrity sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA== + dependencies: + remark-parse "^9.0.0" + remark-stringify "^9.0.0" + unified "^9.1.0" + +repeat-string@^1.0.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + repeating@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" @@ -2749,6 +3704,11 @@ resolve-from@^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@^1.10.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" @@ -2796,11 +3756,16 @@ rx-lite@^3.1.2: resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= -safe-buffer@^5.0.1: +safe-buffer@^5.0.1, 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.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== + sass@^1.32.8: version "1.32.8" resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.8.tgz#f16a9abd8dc530add8834e506878a2808c037bdc" @@ -2837,6 +3802,11 @@ semver-diff@^2.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + semver@^7.2.1, semver@^7.3.2: version "7.3.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" @@ -2844,6 +3814,13 @@ semver@^7.2.1, semver@^7.3.2: dependencies: lru-cache "^6.0.0" +semver@^7.3.4: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -2916,6 +3893,11 @@ source-map@^0.5.0: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= +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== + spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -2942,6 +3924,11 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== +specificity@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" + integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== + split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" @@ -2988,7 +3975,7 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.2.0: +string-width@^4.2.0, string-width@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== @@ -3013,6 +4000,13 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" +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" + strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -3065,6 +4059,13 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" +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" + 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" @@ -3075,6 +4076,121 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +style-search@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" + integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= + +stylelint-config-recommended-scss@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-4.3.0.tgz#717dc253b4cab246da654cee208e499c5c797ae4" + integrity sha512-/noGjXlO8pJTr/Z3qGMoaRFK8n1BFfOqmAbX1RjTIcl4Yalr+LUb1zb9iQ7pRx1GsEBXOAm4g2z5/jou/pfMPg== + dependencies: + stylelint-config-recommended "^5.0.0" + +stylelint-config-recommended@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz#fb5653f495a60b4938f2ad3e77712d9e1039ae78" + integrity sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA== + +stylelint-config-standard@^22.0.0: + version "22.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-22.0.0.tgz#c860be9a13ebbc1b084456fa10527bf13a44addf" + integrity sha512-uQVNi87SHjqTm8+4NIP5NMAyY/arXrBgimaaT7skvRfE9u3JKXRK9KBkbr4pVmeciuCcs64kAdjlxfq6Rur7Hw== + dependencies: + stylelint-config-recommended "^5.0.0" + +stylelint-config-twbs-bootstrap@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/stylelint-config-twbs-bootstrap/-/stylelint-config-twbs-bootstrap-2.2.3.tgz#e62ac651fd6b61ac660e0f5e67ed2f9e0ea17e08" + integrity sha512-E/tvUSYV4bz7a2mG29j56I/MRtUGaZRj5zi3nWC+BmeAz7ZIKbuI/dsNXQNYe7tQL72VZoj7de4z8Yv8vefojw== + dependencies: + stylelint-config-recommended-scss "^4.3.0" + stylelint-config-standard "^22.0.0" + stylelint-order "^4.1.0" + stylelint-scss "^3.20.1" + +stylelint-order@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-4.1.0.tgz#692d05b7d0c235ac66fcf5ea1d9e5f08a76747f6" + integrity sha512-sVTikaDvMqg2aJjh4r48jsdfmqLT+nqB1MOsaBnvM3OwLx4S+WXcsxsgk5w18h/OZoxZCxuyXMh61iBHcj9Qiw== + dependencies: + lodash "^4.17.15" + postcss "^7.0.31" + postcss-sorting "^5.0.1" + +stylelint-scss@^3.20.1: + version "3.20.1" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-3.20.1.tgz#88f175d9cfe1c81a72858bd0d3550cf61530e212" + integrity sha512-OTd55O1TTAC5nGKkVmUDLpz53LlK39R3MImv1CfuvsK7/qugktqiZAeQLuuC4UBhzxCnsc7fp9u/gfRZwFAIkA== + dependencies: + lodash "^4.17.15" + postcss-media-query-parser "^0.2.3" + postcss-resolve-nested-selector "^0.1.1" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +stylelint@^13.13.1: + version "13.13.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.13.1.tgz#fca9c9f5de7990ab26a00f167b8978f083a18f3c" + integrity sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ== + dependencies: + "@stylelint/postcss-css-in-js" "^0.37.2" + "@stylelint/postcss-markdown" "^0.36.2" + autoprefixer "^9.8.6" + balanced-match "^2.0.0" + chalk "^4.1.1" + cosmiconfig "^7.0.0" + debug "^4.3.1" + execall "^2.0.0" + fast-glob "^3.2.5" + fastest-levenshtein "^1.0.12" + file-entry-cache "^6.0.1" + get-stdin "^8.0.0" + global-modules "^2.0.0" + globby "^11.0.3" + globjoin "^0.1.4" + html-tags "^3.1.0" + ignore "^5.1.8" + import-lazy "^4.0.0" + imurmurhash "^0.1.4" + known-css-properties "^0.21.0" + lodash "^4.17.21" + log-symbols "^4.1.0" + mathml-tag-names "^2.1.3" + meow "^9.0.0" + micromatch "^4.0.4" + normalize-selector "^0.2.0" + postcss "^7.0.35" + postcss-html "^0.36.0" + postcss-less "^3.1.4" + postcss-media-query-parser "^0.2.3" + postcss-resolve-nested-selector "^0.1.1" + postcss-safe-parser "^4.0.2" + postcss-sass "^0.4.4" + postcss-scss "^2.1.1" + postcss-selector-parser "^6.0.5" + postcss-syntax "^0.36.2" + postcss-value-parser "^4.1.0" + resolve-from "^5.0.0" + slash "^3.0.0" + specificity "^0.4.1" + string-width "^4.2.2" + strip-ansi "^6.0.0" + style-search "^0.1.0" + sugarss "^2.0.0" + svg-tags "^1.0.0" + table "^6.6.0" + v8-compile-cache "^2.3.0" + write-file-atomic "^3.0.3" + +sugarss@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" + integrity sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ== + dependencies: + postcss "^7.0.2" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -3087,6 +4203,13 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + 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" @@ -3094,6 +4217,11 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + table@^6.0.4: version "6.0.7" resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" @@ -3104,6 +4232,18 @@ table@^6.0.4: slice-ansi "^4.0.0" string-width "^4.2.0" +table@^6.6.0: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + dependencies: + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -3153,6 +4293,16 @@ trim-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + tsconfig-paths@^3.9.0: version "3.9.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" @@ -3182,16 +4332,33 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + 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.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.3: version "3.9.9" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674" @@ -3212,6 +4379,18 @@ unbox-primitive@^1.0.0: has-symbols "^1.0.0" which-boxed-primitive "^1.0.1" +unified@^9.1.0: + version "9.2.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" + integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -3219,6 +4398,25 @@ unique-string@^1.0.0: dependencies: crypto-random-string "^1.0.0" +unist-util-find-all-after@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6" + integrity sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ== + dependencies: + unist-util-is "^4.0.0" + +unist-util-is@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== + dependencies: + "@types/unist" "^2.0.2" + unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" @@ -3254,7 +4452,12 @@ url-parse-lax@^1.0.0: dependencies: prepend-http "^1.0.1" -v8-compile-cache@^2.0.3: +util-deprecate@^1.0.1, util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -3267,6 +4470,24 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" + +vfile@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + vue-eslint-parser@~7.1.0: version "7.1.1" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.1.1.tgz#c43c1c715ff50778b9a7e9a4e16921185f3425d3" @@ -3316,7 +4537,7 @@ which-pm@^1.0.1: load-yaml-file "^0.1.0" path-exists "^3.0.0" -which@^1.2.14, which@^1.2.8, which@^1.2.9: +which@^1.2.14, which@^1.2.8, 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== @@ -3365,6 +4586,16 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" +write-file-atomic@^3.0.3: + 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" + xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" @@ -3390,6 +4621,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +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@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -3398,6 +4634,11 @@ yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + yargs@^13.2.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" @@ -3413,3 +4654,8 @@ yargs@^13.2.2: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^13.1.2" + +zwitch@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== diff --git a/netbox/templates/base/layout.html b/netbox/templates/base/layout.html index 8167739bf..dd0a982b3 100644 --- a/netbox/templates/base/layout.html +++ b/netbox/templates/base/layout.html @@ -6,32 +6,24 @@ {% load static %} {% block layout %} - + - + {% if settings.BANNER_TOP %} @@ -104,11 +96,51 @@ {# Page footer #}
-
-
+
+ + {# Docs & Community Links #} +
+ +
+ + {# System Info #} +
{% annotated_now %} {% now 'T' %} {{ settings.HOSTNAME }} (v{{ settings.VERSION }})
+
diff --git a/netbox/templates/base/sidebar.html b/netbox/templates/base/sidebar.html deleted file mode 100644 index a72f2a02b..000000000 --- a/netbox/templates/base/sidebar.html +++ /dev/null @@ -1,24 +0,0 @@ -{% load nav %} -{% load static %} - -
- - {# Logo Container #} - - - {# Navigation Items #} - {% nav %} - -
diff --git a/netbox/templates/base/sidenav.html b/netbox/templates/base/sidenav.html new file mode 100644 index 000000000..1b1b55381 --- /dev/null +++ b/netbox/templates/base/sidenav.html @@ -0,0 +1,38 @@ +{% load nav %} +{% load static %} + + diff --git a/netbox/utilities/templates/navigation/nav_items.html b/netbox/utilities/templates/navigation/nav_items.html index a6bac1b95..ec996ec7e 100644 --- a/netbox/utilities/templates/navigation/nav_items.html +++ b/netbox/utilities/templates/navigation/nav_items.html @@ -1,70 +1,57 @@ {% load helpers %} -